私は持っているdata = [1 1.2 1.3 1.5 1.8]
この時点のデータから前後で最も近い値を探したいのですが、b = 1.23
どうすればいいですか?
ここに別の方法があります。ベクトルdata
はソートする必要はなく、b
正または負にすることができます。
[~,I] = min(abs(data-b));
c = data(I);
データがソートされている場合は、find を使用できます。
i_lower = find(data <= b,1,'last');
i_higher = find(data >= b,1,'first');
lower_than_b = data(i_lower)
higher_than_b = data(i_higher)
どうmin(abs(data - b))
ですか?
data = [1 1.2 1.3 1.5 1.8]
b = 1.23
find(abs(data-b)==min(abs(data-b)))