Matlab关于矩阵维数报错,我不知道怎么修改程序了.

问题描述:

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在调用时出了问题,但是我不知道怎么改了,向大家求教.
1个回答 分类:综合 2014-12-10

问题解答:

我来补答
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;endzz=300.*Q.*(D)./(3.14.*R^3);mesh(xx, yy, zz)----------------------------------------------------结果如图:
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识