From plot to video

4 views (last 30 days)
SYML2nd
SYML2nd on 13 Jun 2021
Answered: Image Analyst on 13 Jun 2021
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)

Answers (2)

Walter Roberson
Walter Roberson on 13 Jun 2021
  2 Comments
SYML2nd
SYML2nd on 13 Jun 2021
Edited: SYML2nd on 13 Jun 2021
I tried to place this code at the end of my code, but nothing works.
F = getframe;
figure
imshow(F.cdata)
Walter Roberson
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.

Sign in to comment.


Image Analyst
Image Analyst on 13 Jun 2021
See attached demo and adapt as needed.

Categories

Find more on Printing and Saving in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!