2016-08-17 17 views
0

私はMatlabを学んでいますが、 'if'を使って条件に従って特定の値を見つけるコードを書いています。値は簡単に見つけることができますが、この値が配列AとBのどの要素によって作成されたかを知りたいのですが、残念ながらこのコードを使用することはできません。私は本当にあなたの注意を感謝します。Matlabを使ってループ内の変数に値を代入する

A=[2,7,1,3,10]; 
B=[2,7,1,3,10]; 
c=1; 
k=0; 
f=0; 
L=length (A); 
for m=1:L-1 
    for n=m:L 
    if(A(m)./B(n)> 0.09 && A(m)./B(n)<c) 
     c=A(m)./B(n); 
     k=A(m); 
     f=B(n); 
     end 
    end 
end 

fprintf('the c value is %0.5f',c) 
fprintf('the A(m) value is %0.5f',k) 
fprintf('the B(n) value is %0.5f',f) 
the c value is 0.10000 
+1

を参照してください? –

答えて

0

だけで、nはkと位置を維持し、FとなぜあなたはMの値を格納するための2つの以上の変数を作成しないこと

for m=1:L-1 
    for n=m:L 
    if(A(m)./B(n)> 0.09 && A(m)./B(n)<c) 
     c=A(m)./B(n); 
     k=m; %keeping the position 
     f=n; %keeping the position 
     end 
    end 
end 

if (f==0 || k==0) %if f or k is zero 
    fprintf('No solution found\n')  
else 
    fprintf('the c value is %0.5f \n',c) 
    fprintf('the A(m) value is %0.5f at position %i \n',A(k),k) 
    fprintf('the B(n) value is %0.5f at position %i \n',A(f),f) 
end 
+0

スカラー分割に '。/'は必要なく、代わりに '/'を使います。 – NKN

+0

ポイントを獲得しました。私はちょうど[k、f]の部分を見ていた – Finn

+0

私はそれを試しましたが、エラーがあります: "添字のインデックスは、正の整数または論理のいずれかでなければなりません。 – Naz

関連する問題