📄 bodiejia.m
字号:
% 波的叠加与反射
close all
line([-2,18],[0,0]);hold on
axis([-2,18,0,8])
L=-2:.1:18;
P=23;
s1=1;s2=-1;
K1=1:P;B=length(L);
K2=[201-P+1:201];
y1=zeros(1,B);y1(K1)=1;
H1=plot(L,y1,'r');
yy2=[0,0:.1:0.9,0.9,0.9:-0.1:0,0];
y2=zeros(1,B);y2(K2)=yy2;
H2=plot(L,y2,'g');
% Author's email:zjliu2001@163.com
H0=plot(L,zeros(1,B),'black');
HH=plot(L,zeros(1,B));
plot([-1,-1],[0,5],':');plot([17,17],[0,5],':');
set(gcf,'doublebuffer','on');
k=1;
xlabel('Please press "space" key and stop this program!',...
'fontsize',14,'color','r');
while k
pause(0.04);
K1=K1+s1;y1=zeros(1,B);y1(K1)=1;
if K1(1)==1 | K1(end)==B;
s1=-s1;
end
K2=K2+s2;y2=zeros(1,B);y2(K2)=yy2;
if K2(1)==1 | K2(end)==B;
s2=-s2;
end
s=get(gcf,'currentkey');
if strcmp(s,'space');
clc;k=0;
end
YY=y1+y2;
Y1=zeros(1,B);Y1(YY==1)=1;
Y2=zeros(1,B);Y2(0<YY & YY<1)=YY(0<YY & YY<1);
Y0=zeros(1,B);Y0(YY>1)=YY(YY>1);
set(H1,'ydata',Y1);
set(H2,'ydata',Y2);
set(H0,'ydata',Y0);
set(HH,'color','b');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -