Matlab 程序,请高手帮忙解释一下,最好每一句都有解释
发布网友
发布时间:2023-08-26 03:49
我来回答
共1个回答
热心网友
时间:2023-12-04 19:02
clear; W0=1; m=5.1;
alpha=0.1;v=0.0780092;k=62.8;v1=0.01;v2=0.02;
A2=1;A1=A2;
这里clear是清空内存,一般matlab都有这句,是个良好的代码习惯。后面几句是赋值,没什么可说的。
z=linspace(0,4*pi,256); x=linspace(-10,10,256);
[X,Z]=meshgrid(x,z);
这几句是建立一个网格,想想看坐标纸或者网球拍的那种网格好了。
之后用大写的X Z 就代表了网格上的那些点P(X,Z)
%Z=2*pi/2;
%开头的都是注释语句,不过,放在这里,估计是他反复修改代码,乱用变量呢。这种习惯不好。
Theta2=-1/2.*Z+1/4*(m/W0)^2.*sin(2*Z)-1/4*v.^2*W0.^2*k.^2*sin(2*Z)-1/2*k*m*v*cos(2*Z);
V1=-m/(W0)^2.*sin(Z);V2=-m/(W0)^2.*sin(Z)-v.*cos(Z); x01=m.*cos(Z);x02=m.*cos(Z)-v*(W0)^2.*k*sin(Z); W=W0;
E1=A1*exp(-(X-x01).^2/2).*exp(i*v1*X);
E2=A2*exp(-(X+x02).^2/2).*exp(i*v2*X);
E=abs(E1-E2).^2;
以上都是按照数学公式计算,其实没什么可说的。按照数学公式写就行了。
[C,h]=contour(Z,X,E,15);%给出数据
%contourf(X,Z,E,10); %不给出数据
%clabel(C,h)
n=4;
%subplot(3,1,1),
shading interp
colormap hot
colorbar
这以上几句是画图语句,你自己拿matlab试试看,哪句前面加个%后,图片成了什么样子,就明白了。比如,%shading interp后图片的样子,比如 %colormap hot后 图片的样子。不是太好形容,呵呵。colorbar是个彩条,告诉你colormap里彩色块的代表的意思的。