From plot to video
    5 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 Audio and Video Data 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!

