我得到一个安全系数及其对应力的数据,我想让它像提示和询问''安全系数是多少?然后用户将输入安全系数的值,然后输出在数据表中显示相应的力
谢谢任何帮助。
我认为您只是想索引该值。Matlab 索引从 1 开始,因此您需要使用它作为参考,或者添加一个。正确的是将所需的索引放在括号中,如下所示
output_value=A(y+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);