欢迎光临散文网 会员登陆 & 注册

据所学内容编写一个程序,演示多个振动源(>2 个)的水波干涉现象

2022-07-03 15:06 作者:末凡的小号  | 我要投稿

%水波干涉的动画演示

a=4;w=4;A0=0.3;v=1;%水波源的位置及方程各参量

[x,y]=meshgrid([-4*pi:pi/20:4*pi],[-4*pi:pi/20:4*pi]);%产生网络坐标

r1=sqrt((x-a).^2+y.^2)+5;%空间点(x,y)到波源1(a,0)的距离

c1=1./r1;%波源1传播到各点的振幅

r2=sqrt((x+a).^2+y.^2)+5;%空间点(x,y)到波源2(-a,0)的距离

c2=1./r2;%波源2传播到各点的振幅

t=0:0.1:10;%设定运行时间

for j=1:41%此循环产生动画

    z=A0*c1.*cos(w*(t(j)-r1/v))+0.3*c2.*cos(w*(t(j)-r2/v));%波动叠加

surf(x,y,z)%绘制波动叠加曲面

colormap(gray);%创建线性灰阶色图给图形表面着色

axis equal;%使每个坐标轴的刻度增量相同

shading interp;%用细致添加描影法渲染图形

view([180 90])%在方位角180°,仰角90°观察图形

axis([-15 15 -15 15 -0.1 0.1])%设定x、y、z、轴的范围

axis off%去掉坐标轴

m(j)=getframe;%保存绘制好的图形到变量数组m(j)

end

movie(m,10)%放映储存在m矩阵中电影动画10遍








%水波干涉的动画演示

a=4;w=4;A0=0.3;v=1;%水波源的位置及方程各参量

[x,y]=meshgrid([-4*pi:pi/20:4*pi],[-4*pi:pi/20:4*pi]);%产生网络坐标

r1=sqrt((x-a).^2+(y-a).^2)+5;%空间点(x,y)到波源1(a,a)的距离

c1=1./r1;%波源1传播到各点的振幅

r2=sqrt((x-a).^2+(y+a).^2)+5;%空间点(x,y)到波源2(a,-a)的距离

c2=1./r2;%波源2传播到各点的振幅

r3=sqrt((x+a).^2+(y+a).^2)+5;%空间点(x,y)到波源3(-a,-a)的距离

c3=1./r3;%波源3传播到各点的振幅

r4=sqrt((x+a).^2+(y-a).^2)+5;%空间点(x,y)到波源3(-a,a)的距离

c4=1./r4;%波源4传播到各点的振幅

t=0:0.1:10;%设定运行时间

for j=1:41%此循环产生动画

    z=A0*c1.*cos(w*(t(j)-r1/v))+0.3*c2.*cos(w*(t(j)-r2/v))+0.3*c3.*cos(w*(t(j)-r3/v))+0.3*c4.*cos(w*(t(j)-r4/v));%波动叠加

surf(x,y,z)%绘制波动叠加曲面

colormap(gray);%创建线性灰阶色图给图形表面着色

axis equal;%使每个坐标轴的刻度增量相同

shading interp;%用细致添加描影法渲染图形

view([180 90])%在方位角180°,仰角90°观察图形

axis([-15 15 -15 15 -15 15])%设定x、y、z、轴的范围

axis off%去掉坐标轴

m(j)=getframe;%保存绘制好的图形到变量数组m(j)

end

movie(m,10)%放映储存在m矩阵中电影动画10遍


据所学内容编写一个程序,演示多个振动源(>2 个)的水波干涉现象的评论 (共 条)

分享到微博请遵守国家法律