1

安全率とそれに対応する力のデータを取得しました。「安全率とは何ですか?」次に、ユーザーが安全率の値を入力すると、出力に対応する力がデータテーブルに表示されます。

助けのためのthx。

4

2 に答える 2

1

単に値にインデックスを付けたいだけだと思います。Matlabインデックスは1から始まるので、それを参照として使用するか、追加する必要があります。正解は、目的のインデックスを括弧で囲むことです。

output_value=A(y+1);
于 2012-12-01T02:26:38.533 に答える
1

最初の列の値を検索し、2番目の列から対応する値を出力するため、次のように実行できます。

ri = find(A(:,1) == y);
z = A(ri,2);

yこれは、の最初の列に対応する値が常にあることを前提としていますA。そうでない場合は、コードを変更する必要があります。

ri = find(A(:,1) == y);
if isempty(ri)            % value not found
    % code to print error message 
    % or
    % code interpolate between given values 
else
    z = A(ri,2);
end

ステートメントtry-catchの代わりにブロックを使用することもできます。if-else

補間は、正しくモデル化する必要があるため、少し巧妙になる可能性があります。外挿するよりも内挿する方がはるかに簡単です。最初の列の値が昇順または降順で配置されていると仮定すると、interp11次補間には次のように使用できます。

z = interp1(A(:、1)、A(:、2)、y);

于 2012-12-01T03:13:40.467 に答える