有没有一种方法可以基于Matlab中的用户输入比较两个数组

时间:2020-06-08 08:09:10

标签: arrays matlab

MATLAB软件

i=[0 1.264241 1.729329 1.900426 1.963369 1.986524 1.995042 1.998176 1.999329 1.999753 1.999909];
t=[0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2];

如果用户输入来自t数组,因为两个数组的位置相同,那么如何调用i的值?

例如,如果我调用值0.2,则程序将从数组i中调用值1.264341。

1 个答案:

答案 0 :(得分:1)

您可以使用input获取用户输入数字的权限,并使用ismembertolt中查找数字的索引。获得索引后,您可以在i中获得相应的值。如果在t中找不到输入的数字,您甚至可能引发错误。这是一个示例:

i=[0 1.264241 1.729329 1.900426 1.963369 1.986524 1.995042 1.998176 1.999329 1.999753 1.999909];
t=[0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2];
x = input('Enter number:\n');
[~,ind] = ismembertol(x,t);
if ind > 0
  fprintf('Corresponding number in i is %g\n', i(ind))
else
  error('Number not found in i')
end