-2

我有这个错误:

    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

我被困在我应该如何解决它。你们能告诉我我该怎么做才能解决这个问题吗?您的帮助将不胜感激。

谢谢你。

4

1 回答 1

1

编码 :

[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。

于 2013-05-22T03:02:47.500 回答