Arrays 输入循环矩阵维度必须一致
我有一个错误:Arrays 输入循环矩阵维度必须一致,arrays,matlab,matrix,Arrays,Matlab,Matrix,我有一个错误: Error using - Matrix dimensions must agree. Error in DistMatrix3 (line 23) d=sqrt((I-L').^2+(J-M').^2+(K-N').^2); Error in coba (line 20) d=DistMatrix3(cobat,c); % calculate the distance 这是我的代码: 我认为这个错误不是因为Dis
Error using - Matrix dimensions must agree.
Error in DistMatrix3 (line 23)
d=sqrt((I-L').^2+(J-M').^2+(K-N').^2);
Error in coba (line 20)
d=DistMatrix3(cobat,c); % calculate the distance
这是我的代码:
我认为这个错误不是因为DistMatrix3本身。它是由循环输入的
c
输入引起的。我猜这些行应该是固定的,因为它不包含j
变量:
for i=1:k
f=find(g==i);
if f % calculate the new centroid
c(i,:)=mean(cobat(find(g==i),:),1);
end
end
我一直在想我该怎么修它。你们能告诉我该怎么解决这个问题吗?非常感谢你的帮助
谢谢。代码:
[maxRow, maxCol]=size(cobat);
for i=1:k
for j=1:maxCol
c=input('Enter a number: '); % sequential initialization
end
end
似乎不太可能是正确的
这应该是这样的:
[maxRow, maxCol]=size(cobat);
for i=1:k
for j=1:maxCol
c(i,j)=input('Enter a number: '); % sequential initialization
end
end
我还想知道用户输入k是否应该始终等于maxRow。正如错误消息所说,
I
&L'
或J
&m'
或k
&N'
的矩阵尺寸不一致。这会导致减法失败。因此,3。因此,您必须找出这些差异的来源。错误消息似乎表明错误被抛出到d=DistMatrix3(cobat,c);%计算距离
?特别是,这是因为用于计算d
的一个或多个矩阵(I
,L'
,J
,M'
,K
,N'
)的大小不同-1:整个问题似乎已经讨论过了-讨论的结果是什么?