matlab程序,说矩阵维度不对应,哪里出错了for znum=1:length(z)wz(znum)=w0.*(1+(z0/z(znum))^2)^0.5;Rz(znum)=z(znum)*(1+(z0/z(znum))^2);Cz(znum)=1/tan(z(znum)/z0);for xnum=1:length(x)E(xnum,znum)=(E0*w0/wz)*exp(-(x(xnum)^2/wz^2))*exp(-1i*(k0
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/23 01:19:41
![matlab程序,说矩阵维度不对应,哪里出错了for znum=1:length(z)wz(znum)=w0.*(1+(z0/z(znum))^2)^0.5;Rz(znum)=z(znum)*(1+(z0/z(znum))^2);Cz(znum)=1/tan(z(znum)/z0);for xnum=1:length(x)E(xnum,znum)=(E0*w0/wz)*exp(-(x(xnum)^2/wz^2))*exp(-1i*(k0](/uploads/image/z/13290945-33-5.jpg?t=matlab%E7%A8%8B%E5%BA%8F%2C%E8%AF%B4%E7%9F%A9%E9%98%B5%E7%BB%B4%E5%BA%A6%E4%B8%8D%E5%AF%B9%E5%BA%94%2C%E5%93%AA%E9%87%8C%E5%87%BA%E9%94%99%E4%BA%86for+znum%3D1%3Alength%28z%29wz%28znum%29%3Dw0.%2A%281%2B%28z0%2Fz%28znum%29%29%5E2%29%5E0.5%3BRz%28znum%29%3Dz%28znum%29%2A%281%2B%28z0%2Fz%28znum%29%29%5E2%29%3BCz%28znum%29%3D1%2Ftan%28z%28znum%29%2Fz0%29%3Bfor+xnum%3D1%3Alength%28x%29E%28xnum%2Cznum%29%3D%28E0%2Aw0%2Fwz%29%2Aexp%28-%28x%28xnum%29%5E2%2Fwz%5E2%29%29%2Aexp%28-1i%2A%28k0)
matlab程序,说矩阵维度不对应,哪里出错了for znum=1:length(z)wz(znum)=w0.*(1+(z0/z(znum))^2)^0.5;Rz(znum)=z(znum)*(1+(z0/z(znum))^2);Cz(znum)=1/tan(z(znum)/z0);for xnum=1:length(x)E(xnum,znum)=(E0*w0/wz)*exp(-(x(xnum)^2/wz^2))*exp(-1i*(k0
matlab程序,说矩阵维度不对应,哪里出错了
for znum=1:length(z)
wz(znum)=w0.*(1+(z0/z(znum))^2)^0.5;
Rz(znum)=z(znum)*(1+(z0/z(znum))^2);
Cz(znum)=1/tan(z(znum)/z0);
for xnum=1:length(x)
E(xnum,znum)=(E0*w0/wz)*exp(-(x(xnum)^2/wz^2))*exp(-1i*(k0*z(znum)+k0*(x(xnum)^2)/(2*Rz)-Cz));
end
end
matlab程序,说矩阵维度不对应,哪里出错了for znum=1:length(z)wz(znum)=w0.*(1+(z0/z(znum))^2)^0.5;Rz(znum)=z(znum)*(1+(z0/z(znum))^2);Cz(znum)=1/tan(z(znum)/z0);for xnum=1:length(x)E(xnum,znum)=(E0*w0/wz)*exp(-(x(xnum)^2/wz^2))*exp(-1i*(k0
"E(xnum,znum)=(E0*w0/wz)*exp(-(x(xnum)^2/wz^2))*exp(-1i*(k0*z(znum)+k0*(x(xnum)^2)/(2*Rz)-Cz));"
在第一层循环中,当znum>=2时,wz、Rz、Cz已经变为向量,而不是一个数.而在第二层循环中,矩阵E(xnum,znum)是一个数,此时维度就不对应了.
所以将wz、Rz、Cz换成wz(znum)、Rz(znum)、Cz(znum)