-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 に答える