From plot to video
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Walter Roberson
2021-6-13
See getframe() https://www.mathworks.com/help/matlab/ref/getframe.html and videowriter() https://www.mathworks.com/help/matlab/ref/videowriter.html
2 个评论
Walter Roberson
2021-6-13
编辑:Walter Roberson
2021-6-13
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Printing and Saving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!