matlab编程波形图,如何实现波形的动态演⽰如何实现波形的动态演⽰
clf reset;
L=20;
lambda=4;
n1=1;
n2=2;
k=2*pi/lambda;
A=1.5; % 设定振幅的⼤⼩
x=0:0.1:L; % 设定x的取值
t=20;
H=axes('unit','normalized','position',[0,0,1,1],'visible','off');
text(0.12,0.93,'\fontname{⾪书}驻波的软件仿真演⽰','fontsize',13); h_fig=get(H,'parent');
h_a1=axes('parent',h_fig,...
'unit','normalized','position',[0.1,0.5,0.55,0.4],...
'fontsize',8); %确定原波及反射波的坐标系
set(h_a1,'Xtick',[0:pi:L],'Ylim',[-2,2]);% 设计采⽤双坐标
%判断是否满⾜驻波形成的条件
m=mod(2*L,lambda);
if m==0
%判断是否有半波损失
w=pi/2;
E1=A*cos(w*t-k*x); % 原波的波动⽅程
if n1>n2
E2=A*cos(w*t-k*(2*L-x)); %⽆半波损失反射波波动⽅程
lambda编程E=2*A*sin(k*(L-x))*cos(w*t-k*L);
else
E2=A*cos(w*t+pi-k*(2*L-x)); %有半波损失时反射波波动⽅程
E=2*A*sin(k*(L-x))*cos(w*t+pi/2-k*L);
end
line(x,E1,'Color','k');
hold on;
line(x,E2,'Color','r','LineStyle',':');
%作出原波与反射波的波形图
h_a2=axes('parent',h_fig,...
'unit','normalized','position',[0.1,0.05,0.55,0.4],...
'fontsize',8);
set(h_a2,'Xtick',[0:pi:L],'Ytick',[-1:0.05:1]);
line(x,E,'Parent',h_a2);
%作出合成驻波的波形图
else
error('不能形成稳定的驻波,请重新输⼊腔长或波长');
end
以上程序运⾏后是⼀个动态波形,请各位帮帮忙修改⼀下.加⼀个循环,使显⽰的波形是动态运⾏的.我虽然知道原理但是在动态画图这点上⽐较贫乏
请会的仁兄多多指教
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论