如何将输入值与矩阵形式数据相匹配?

时间:2012-12-01 02:06:08

标签: matlab matrix

我得到了安全系数及其相应力量的数据,我想让它像提示并询问“什么是安全系数?”然后用户将输入安全系数的值,我想输出在数据表中显示相应的力

这是任何帮助。

2 个答案:

答案 0 :(得分:1)

我认为你只想索引价值。 Matlab索引从1开始,因此您需要将其用作参考,或者添加一个。正确的是将所需的索引放在括号中,如此

output_value=A(y+1);

答案 1 :(得分:1)

由于您要在第一列中搜索值并从第二列打印相应的值,您可以执行以下操作:

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,如下所示,进行一阶插值,

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