我的值为ref
ref = [9.8 13 10.51 12.2 10.45 11.4]
和In
值为
In = [10.7 11 11.5 11.9 12]
我想做两件事:
In
值最接近ref
值,然后In
值是否低于或高于ref
值。如果它低于在array1中保存并且如果它高于在array2中保存的答案 0 :(得分:1)
请参阅以下代码段作为众多解决方案之一:
% it would be a much better style
% to initialize the result vectors here properly!
a1 = [];
a2 = [];
for i=1:length(P_in)
[value, ind] = min(abs(P_in(i) - P_ref));
if P_in(i) <= P_ref(ind)
a1 = [a1 P_in(i)];
else
a2 = [a2 P_in(i)];
end;
end;
使用给定的向量
P_ref = [9.8 13 10.51 12.2 10.45 11.4];
P_in = [10.5 11 11.5 11.9 12];
我得到以下结果:
array1 = [10.5000 11.0000 11.9000 12.0000]
array2 = [11.5000]
答案 1 :(得分:0)
如果您有一个允许值“关闭”的固定偏差,则可以使用ismemberf
File Exchange Submission解决问题的关键部分。
基本语法:
UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
可以通过定义允许的容差来扩展:
[tf, loc]=ismemberf(0.3, 0:0.1:1)