安全率とそれに対応する力のデータを取得しました。「安全率とは何ですか?」次に、ユーザーが安全率の値を入力すると、出力に対応する力がデータテーブルに表示されます。
助けのためのthx。
単に値にインデックスを付けたいだけだと思います。Matlabインデックスは1から始まるので、それを参照として使用するか、追加する必要があります。正解は、目的のインデックスを括弧で囲むことです。
output_value=A(y+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
補間は、正しくモデル化する必要があるため、少し巧妙になる可能性があります。外挿するよりも内挿する方がはるかに簡単です。最初の列の値が昇順または降順で配置されていると仮定すると、interp1
1次補間には次のように使用できます。
z = interp1(A(:、1)、A(:、2)、y);