如何找出数字在矩阵中的位置,然后将其删除以及添加?

时间:2019-06-10 17:23:46

标签: matlab matrix

我的矩阵是一排行,例如:

x = [1; 2; 3; 4; 5]

我想做的是在保持顺序的同时在矩阵中添加3.5。例如,上面的矩阵将是:

[1; 2; 3; 3.5; 4; 5]

我想弄清楚的另一件事是如何检查一定间隔内矩阵中是否存在数字。例如,如果我想查看在4.5间隔内是否存在.5,它会说它位于45处。

我可以看到通过执行for循环来执行此操作,但这感觉像是MATLAB应当内置的。我想要这样做的原因是使我的代码高效,因为我将处理大量数据集。对于间隔问题,我曾考虑使用ismembertol,但问题是tol总是一个百分比,它不是像.5这样的硬编码数字。

1 个答案:

答案 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)