Matlab关于矩阵维数报错,我不知道怎么修改程序了.程序clear;clc;p=[0 0 0 20 20 20 40 40 40 60 60 60 80 80 80];q=[5 15 25 5 15 25 5 15 25 5 15 25 5 15 25];R=17.54;Q=3;x=linspace(0,80,81);y=linspace(0,30,31);[xx,yy]=meshgrid(x,y);for j

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 03:20:00

Matlab关于矩阵维数报错,我不知道怎么修改程序了.程序clear;clc;p=[0 0 0 20 20 20 40 40 40 60 60 60 80 80 80];q=[5 15 25 5 15 25 5 15 25 5 15 25 5 15 25];R=17.54;Q=3;x=linspace(0,80,81);y=linspace(0,30,31);[xx,yy]=meshgrid(x,y);for j
Matlab关于矩阵维数报错,我不知道怎么修改程序了.
程序
clear;
clc;
p=[0 0 0 20 20 20 40 40 40 60 60 60 80 80 80];
q=[5 15 25 5 15 25 5 15 25 5 15 25 5 15 25];
R=17.54;
Q=3;
x=linspace(0,80,81);
y=linspace(0,30,31);
[xx,yy]=meshgrid(x,y);
for j=1:15
d=R-sqrt((p(j)-x).^2+(q(j)-y).^2);
if d minus
Matrix dimensions must agree.
Error in ==> ks at 14
d=R-sqrt((p-x).^2+(q-y).^2);
应该是p、q在调用时出了问题,但是我不知道怎么改了,向大家求教.

Matlab关于矩阵维数报错,我不知道怎么修改程序了.程序clear;clc;p=[0 0 0 20 20 20 40 40 40 60 60 60 80 80 80];q=[5 15 25 5 15 25 5 15 25 5 15 25 5 15 25];R=17.54;Q=3;x=linspace(0,80,81);y=linspace(0,30,31);[xx,yy]=meshgrid(x,y);for j

LZ对mesh的理解还不够.

--------------------------------------------

p=[0 0 0 20 20 20 40 40 40 60 60 60 80 80 80];

q=[5 15 25 5 15 25 5 15 25 5 15 25 5 15 25];

R=17.54;

Q=3;

x=linspace(0,80,81);

y=linspace(0,30,31);

[xx,yy]=meshgrid(x,y);

D=zeros(31,81);

for j=1:15

     d=R-sqrt((p(j)-xx).^2+(q(j)-yy).^2);

     d(find(d<0))=0;

     D=D+d;

end

zz=300.*Q.*(D)./(3.14.*R^3);

mesh(xx, yy, zz)

----------------------------------------------------

结果如图: