From plot to video
조회 수: 3 (최근 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!