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)); %无半波损失反射波波动方程
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
以上程序运行后是一个动态波形,请各位帮帮忙修改一下.加一个循环,使显示的波形是动态运行的.我虽然知道原理但是在动态画图这点上比较贫乏
请会的仁兄多多指教