2017-05-12 30 views
1

Octaveの行列Aに入れられるベクトルの最大真理値の距離を計算する必要があります。Matlab/Octaveの行列の2つの列間の最大ユークリッド距離

for i=1:n 
    for k=i:n+1 
     C=A(:,i)-A(:,k); 
     maxdiff=max(norm(C),maxdiff); 
    endfor 
endfor 

これが動作していないと私は理由を知りません。私がこれまで持っているもの

。どんな助けもありがとう!

+3

は "動作しない" を定義します。サンプル入力、受け取った出力、期待される出力を提供してください。 – beaker

+0

問題は以前のコードであり、私は間違いを見つけました!でも、ありがとう! – Jane

答えて

2

あなたはStatistics Toolboxの/パッケージからpdistを使用することができます。

A = rand(3,4); % example data 
maxdiff = max(pdist(A.')); 

または、手動:

d = sum(bsxfun(@minus, A, permute(A, [1 3 2])).^2, 1); 
maxdiff = sqrt(max(d(:))); 
+0

最初のものは私にエラーを与えます。 2番目のコード全体で間違った終了値:( – Jane

+1

あなたは入力と希望の出力の例を与える必要があります。あなたが望むものを推測するのは難しい –

関連する問題