我的矩阵是一排行,例如:
x = [1; 2; 3; 4; 5]
我想做的是在保持顺序的同时在矩阵中添加3.5
。例如,上面的矩阵将是:
[1; 2; 3; 3.5; 4; 5]
我想弄清楚的另一件事是如何检查一定间隔内矩阵中是否存在数字。例如,如果我想查看在4.5
间隔内是否存在.5
,它会说它位于4
和5
处。
我可以看到通过执行for
循环来执行此操作,但这感觉像是MATLAB应当内置的。我想要这样做的原因是使我的代码高效,因为我将处理大量数据集。对于间隔问题,我曾考虑使用ismembertol
,但问题是tol总是一个百分比,它不是像.5
这样的硬编码数字。
答案 0 :(得分:0)
%assume that it is in sorted order
insertind = find(x<3.5,1, 'last')
x = [x(1:insertind); 3.5; x(insertind+1:end)]; %inserted at that index
%exists within tolerance
find(abs(x-4.5)<=0.5)