matlab画动态图

function[]=main()
N=50;t=0:0.0001;x=0:0.21:20;
w= Sum(N,t(1));
h=plot(x,w,'linewidth',5);
axis([0,20,0,1.5]);
for n=2:length(t)
w=Sum(N,t(n));
set(h,'ydata',w);
drawnow;
pause(0.1)
end
function u=Sum(N,t)
x=0:0.21:20;u=0;
for k=1:2*N
u=u+exp(-(k^2*pi^2*10^2/400*t))*2/k/pi*(cos(k*pi*10/20)-cos(k*pi*11/20))*sin(k*pi*x./20);
end
这个程序画出的应该是一个关于时间t的动态图,结果是一个静态图,求高手解答

第1个回答  2012-11-27
function[]=main()
N=50;t=0:0.0001;x=0:0.21:20; 这里t=0:0.0001:1

w= Sum(N,t(1));
h=plot(x,w,'linewidth',5);
axis([0,20,0,1.5]);
for n=2:length(t)
w=Sum(N,t(n));
set(h,'ydata',w);
drawnow;
pause(0.1)
end
function u=Sum(N,t)
x=0:0.21:20;u=0;
for k=1:2*N
u=u+exp(-(k^2*pi^2*10^2/400*t))*2/k/pi*(cos(k*pi*10/20)-cos(k*pi*11/20))*sin(k*pi*x./20);
end追问

请问这个动画如何保存

追答

function[]=main()
N=50;
t=0:0.0001:0.005; %这里改小了点 避免视频文件过大

x=0:0.21:20;

aviobj=avifile('test'); %定义一个视频文件用来存动画

aviobj.quality=60;
aviobj.Fps=5;

w= Sum(N,t(1));
h=plot(x,w,'linewidth',5);
axis([0,20,0,1.5]);
for n=2:length(t)
w=Sum(N,t(n));
set(h,'ydata',w);
drawnow;

frame=getframe(gca); %把图像存入视频文件中

im=frame2im(frame);
aviobj=addframe(aviobj,im);

pause(0.1)
end
aviobj=close(aviobj);

function u=Sum(N,t)
x=0:0.21:20;u=0;
for k=1:2*N
u=u+exp(-(k^2*pi^2*10^2/400*t))*2/k/pi*(cos(k*pi*10/20)-cos(k*pi*11/20))*sin(k*pi*x./20);
end

本回答被提问者采纳

matlab如何做出动态图
1当我们调用plot()函数时MATLAB会自动生成一个命名为Figure1的窗体,我们想修改它的名字。如下图 2在命令行中输入如下代码 figure('NumberTitle', 'off', 'Name', '晓博基于BP神经网络的xor测试程序');运行代码,结果如下图 3对于窗体中的坐标线和说明文字显示我们加入如下代码 hold on %刷新窗...

如何用matlab画一个动态图?
1、首先,这里举例代码如下:x=-8:0.5:8;[XX,YY]=meshgrid(x);r=sqrt(XX.^2+YY.^2)+eps;Z=sin(r).\/r;surf(Z);生成了一幅静态的surf图片,XX,YY由meshgrid生成。2、下面输入theAxes=axis;,右侧可以看到,theAxes=[0,40,0,40,-0.5,1],这是surf函数生成的,因为上面绘制的surf...

Matlab制作简单的爱心表白动图
在爱心内部添加文本,使用Matlab的text函数,实现动图内文字展示。此外,我们可以通过调整视角和光线效果,让爱心动图更加生动。通过view函数改变视角,生成动态图,如下所示。将爱心置于三维空间,通过调整颜色和透明度,实现立体效果。以下是生成立体爱心的代码:总结上述步骤,使用Matlab绘制爱心并制作动图,不...

matlab如何做出动态图?
zeta = 0 : 0.1 : 2;T = (0 : 0.1 : 10).';A = zeros(length(T), length(zeta));for i = 1 : length(zeta)sys = tf(1, [1 2*zeta(i) 1]);A(:, i) = step(sys, T);end T变化时,A的行向量变化动态图 h = plot(A(1, :));set(gcf,'DoubleBuffer','on')...

怎么在matlab上画出一个圈在平行于坐标轴的直线上的运动动态图啊
利用matlab上画出点的运动动态图,可以在循环语句中增加捕获坐标区或图窗作为影片帧函数getframe,再使用movie 函数播放。

如何MATLAB画柱坐标系的三维动态图
转换成直角坐标再画图。x = r .* cos(phi);y = r .* sin(phi);scatter3(x,y,z); %画3维散点图

matlab 一个figure图上能不能同时显示两个动态图
可以把colormap给freeze住。这样,只要之前画图的时候设置好colormap,再用freezeColors将colormapfreeze住,再hold on 继续画下一个图就可以另外设置colormap了!举个例子简单说一下: figure; surf(x,y,z); %第一幅图 colormap jet %设置好第一幅图的色图为jet freezeColors ...

MATLAB 画一个矩形随轨迹运动的动态图,并保留之前每个时刻的矩形框痕...
clear all close all x1=0:0.1:2;y2=1.5:-0.1:0;x3=2:-0.1:0;y4=0:0.1:1.5;y1=1.5*ones(1,length(x1));x2=2*ones(1,length(y2));y3=zeros(1,length(x3));x4=zeros(1,length(y4));traj_x = -10:0.5:10;traj_y = traj_x.^2;x=zeros(length(traj_x),...

matlab能否实现当函数参数连续变化时实时绘图
说明:程序首先画出y随a变化而变化的动态图。然后请你在command window里面输入任意a值,然后回车。clc;clear all;close all;maxa=30;a=0.1:0.1:maxa;max=length(a);x=-5:0.1:5;figure;for i=1:max drawnow ;y=a(i).*x.^2;subplot(2,1,1);hold on;grid on;bar(a(i),11);t...

用MATLAB中的comet函数出动态图时,怎样给动态图取名和给坐标轴取名...
comet采用擦写机制,会刷新figure窗口,所以写不上这些备注信息。可以用for循环+pause来代替它

相似回答