2 matlab
假设我有四个区间:[0,82],[82,146],[146,180],[180,255].
给出一个数字,比方说110.我想快速检查哪个区间是110英寸,返回1或2或3或4.
我想知道MATLAB是否有现有的功能,而不是手动比较数字.
谢谢.
你可以使用这样的东西 -
intv = [
0 82;
82 146;
146 180;
180 255]
num = 110
index = find(num>=intv(:,1) & num<intv(:,2))
Run Code Online (Sandbox Code Playgroud)
如果interval数组是行向量:intv = [0 82 146 180 255],你可以使用 -
index = find(num >= intv(1:end-1) & num < intv(2:end))
Run Code Online (Sandbox Code Playgroud)
或使用histc-
index = find(histc(num,intv))
Run Code Online (Sandbox Code Playgroud)
正如@knedlsepp所建议的那样,对于多个输入数字num,您可以使用 -
[~,indices] = histc(num, intv)
Run Code Online (Sandbox Code Playgroud)