1

我得到一个安全系数及其对应力的数据,我想让它像提示和询问''安全系数是多少?然后用户将输入安全系数的值,然后输出在数据表中显示相应的力

谢谢任何帮助。

4

2 回答 2

1

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

output_value=A(y+1);
于 2012-12-01T02:26:38.533 回答
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);

于 2012-12-01T03:13:40.467 回答