matlab动画制作求教怎样把连续函数plot成动画效果,例如dx=0.1; x=1:dx:10; N=length(x); y(1:round(N/4))=ones(1,round(N/4)); y(round(N/4)+1:N)=-0.5*ones(1,round(3*N/4)); plot(x,y) axis([1,10,-2,3]) hold on怎样能制作成显示绘制

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 01:26:26

matlab动画制作求教怎样把连续函数plot成动画效果,例如dx=0.1; x=1:dx:10; N=length(x); y(1:round(N/4))=ones(1,round(N/4)); y(round(N/4)+1:N)=-0.5*ones(1,round(3*N/4)); plot(x,y) axis([1,10,-2,3]) hold on怎样能制作成显示绘制
matlab动画制作求教
怎样把连续函数plot成动画效果,例如
dx=0.1;
x=1:dx:10;
N=length(x);
y(1:round(N/4))=ones(1,round(N/4));
y(round(N/4)+1:N)=-0.5*ones(1,round(3*N/4));
plot(x,y)
axis([1,10,-2,3])
hold on
怎样能制作成显示绘制函数图象轨迹的动画呢,我想是制作擦除动画吧,然后选EarseMode,none.
折腾了好久折腾不出来,求高手给个代码
第二个问题就是想问一下subplot跟动画制作矛盾吗,可以在subplot的每个图中都显示动画效果吗?
最后一个问题是,如果subplot的第二个函数是第一个函数积分得来的,如果想把第二个函数也做成动画效果的话,应该怎么编写程序?
例如:
以下是编写的积分function script
function
[Iy]=integral(y,dx)
total=0;
for i=1:length(y)
total = total + y(i)*dx;
Iy(i) = total;
end
%然后就用这个function积分
dx=0.1;
x=1:dx:10;
N=length(x)
y(1:round(N/4))=ones(1,round(N/4));
y(round(N/4)+1:N)=-0.5*ones(1,round(3*N/4));
plot(x,y,'r.')
hold on
y1=integral(y,dx);
y2=integral(y1,dx);
subplot(1,2,1)
plot(x,y1,'k.')
subplot(1,2,2)
plot(x,y2,'b.')
hold off

matlab动画制作求教怎样把连续函数plot成动画效果,例如dx=0.1; x=1:dx:10; N=length(x); y(1:round(N/4))=ones(1,round(N/4)); y(round(N/4)+1:N)=-0.5*ones(1,round(3*N/4)); plot(x,y) axis([1,10,-2,3]) hold on怎样能制作成显示绘制

动画不是这样做的.

 

参照你的代码,做了一个简单的例子,供参考:

function zd
dx=0.1;
x=1:dx:10;
N=length(x);
y=ones(1,round(N/4));
y(round(N/4)+1:N)=-0.5*ones(1,round(3*N/4));
y1=integral(y,dx);
y2=integral(y1,dx);
subplot 311
h1=plot(x(1),y(1));
axis([1,10,-1,1.5])
subplot 312
h2=plot(x(1),y1(1),'k.');
axis([1,10,-1,3])
subplot 313
h3=plot(x(1),y2(1),'b.');
axis([1,10,0,10])
for ii=2:length(x)
    set(h1,'x',x(1:ii),'y',y(1:ii))
    set(h2,'x',x(1:ii),'y',y1(1:ii))
    set(h3,'x',x(1:ii),'y',y2(1:ii))
    drawnow
    pause(0.01)
end
function [Iy]=integral(y,dx)
total=0;
Iy = y*0;
for i=1:length(y)
    total = total + y(i)*dx;
    Iy(i) = total;
end

把所有代码复制保存成M文件运行即可.有问题再追问吧.