Matlab模拟"行波"动画

    xiaoxiao2024-12-15  12

    在[0,4π]区间,根据 y ( t , x ) = e − 0.2 x s i n ( π t 24 − x ) y(t,x)=e^{-0.2x}sin(\frac{πt}{24}-x) y(t,x)=e0.2xsin(24πtx)表现“行波”

    matlab程序:

    t=pi*(0:0.01:20);%时间控制 l=length(t);%获取时间数组长度 x=pi*(0:0.01:4);%[0,4π]区间 y=exp(-0.2*x).*sin(pi/24*t(1)-x);%0时刻的轨迹曲线 h=line('xdata',x,'ydata',y,'color',[1,0,0]);%定义轨迹曲线图柄 hh=line('xdata',x(1),'ydata',y(1),'color',[1,0,0],'marker','p', ... 'markersize',10,'erasemode','background'); %定义活动对象,颜色、点形、大小和擦除方式 text(6.7,-0.65,'倒计数');%倒计数文字标注 htext=text(6.85,-0.75,int2str(l));%倒计数数字 for k=2:l y=exp(-0.2*x).*sin(pi/24*t(k)-x);%随时间变化的轨迹曲线 set(h,'xdata',x,'ydata',y)%轨迹曲线刷新 set(hh,'xdata',x(1),'ydata',y(1))%活动对象位置刷新 ylim([-1,1])%限定y坐标以防止抖动 axis off%坐标轴关闭 set(htext,'string',int2str(l-k))%倒计数数字更新 pause(0.0005)%速度控制 end
    最新回复(0)