matlab出错Error using ==> times Matrix dimensions must agree.a=[137.5 462;362 443;410 408.5;167 462;420 401;376 406;374 424;365 448;354 495;359 528;333 511;276 419;270 415;276 405;282 398.5;135 395;212 443;240 495;235 496;206 466;193.5 475];for i=1
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/02 15:19:16
matlab出错Error using ==> times Matrix dimensions must agree.a=[137.5 462;362 443;410 408.5;167 462;420 401;376 406;374 424;365 448;354 495;359 528;333 511;276 419;270 415;276 405;282 398.5;135 395;212 443;240 495;235 496;206 466;193.5 475];for i=1
matlab出错Error using ==> times Matrix dimensions must agree.
a=[137.5 462;362 443;410 408.5;167 462;420 401;376 406;374 424;365 448;354 495;359 528;333 511;276 419;270 415;276 405;282 398.5;135 395;212 443;240 495;235 496;206 466;193.5 475];
for i=1:21
for j=1:21
t=a(i,:)-a(j,:);
c(i,j)=sqrt(t(1)^2+t(2)^2);
end
end
a=[1,4;1,16;1,21;2,7;2,8;3,5;3,7;4,17;4,21;5,6;6,12;7,12;8,9;9,11;10,11;11,18;12,13;13,14;13,17;14,15;15,16;17,20;18,19;19,21;20,21];
b=zeros(21);
for i=1:25
b(a(i,1)+1,a(i,2)+1)=1;
b(a(i,2)+1,a(i,1)+1)=1;
end
>> a=b.*c;
matlab出错Error using ==> times Matrix dimensions must agree.a=[137.5 462;362 443;410 408.5;167 462;420 401;376 406;374 424;365 448;354 495;359 528;333 511;276 419;270 415;276 405;282 398.5;135 395;212 443;240 495;235 496;206 466;193.5 475];for i=1
b是22*22的矩阵,c是21*21的矩阵,故不能进行.*运算
问题就出在给b赋值的语句:
b(a(i,1)+1,a(i,2)+1)=1;
b(a(i,2)+1,a(i,1)+1)=1;
因为a矩阵的第2列中最大值为21,那么加1就是22,故b矩阵就是22*22了
a是25行2列的矩阵,b是21行21列的矩阵,这两个尺寸不一样,无法做“.*”运算。