From plot to video
4 views (last 30 days)
Show older comments
Hi all,
I have done this code and I obtain a plot of graphs where every graph represent the result at a different second. How can I translate this in a video where the graphs appear subsequently one by one? is it possible to obtain it in a video format?
clear
T0=293
s=1
alfa=0.005
for a=1:1:21
t=0:1:20
for b=1:1:21
x=0:0.05:1
for n=1:1:100
T=(2.*T0./pi).*((1-((-1).^n))./n).*exp(-((n.*pi./s).^2).*alfa.*t(:,a)).*(sin(pi.*n.*x(:,b)./s))
Tn1(:,n)=T
Tn=sum(Tn1)
end
Tb(:,b)=Tn
end
Tab(:,a)=Tb
end
plot(x,Tab)
0 Comments
Answers (2)
Walter Roberson
on 13 Jun 2021
See getframe() https://www.mathworks.com/help/matlab/ref/getframe.html and videowriter() https://www.mathworks.com/help/matlab/ref/videowriter.html
2 Comments
Walter Roberson
on 13 Jun 2021
Edited: Walter Roberson
on 13 Jun 2021
fig = figure();
ax = axes(fig);
T0 = 293;
s = 1;
alfa = 0.005;
t = 0:1:20;
x = 0:0.05:1;
for a = 1:1:21
for b = 1:1:21
for n = 1:1:100
T = (2.*T0./pi).*((1-((-1).^n))./n).*exp(-((n.*pi./s).^2).*alfa.*t(:,a)).*(sin(pi.*n.*x(:,b)./s));
Tn1(:,n) = T;
end
Tn = sum(Tn1);
Tb(:,b) = Tn;
end
Tab(:,a) = Tb;
end
plot(ax, x,Tab)
F = getframe(ax);
exportgraphics(ax, 'test_export.png');
figure();
imshow(F.cdata)
At the moment I do not know why only the inside of the axes is being captured.
figure();
imshow('test_export.png')
but exportgraphics() gets it all.
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!