matlab - 如何找出一个数字在矩阵中的位置并删除它以及添加它?
问题描述
我有一个矩阵是一堆行,例如:
x = [1; 2; 3; 4; 5]
我要做的是3.5
在保持顺序的同时添加矩阵。例如,上面的矩阵将是:
[1; 2; 3; 3.5; 4; 5]
我想弄清楚的另一件事是如何检查某个数字是否存在于某个区间内的矩阵中。例如,如果我想查看是否4.5
存在于某个.5
区间内,它会说它是在4
and找到的5
。
我可以通过循环看到这样做for
,但这感觉就像 MATLAB 应该内置的东西。我想要这样做的原因是让我的代码高效,因为我将处理一个巨大的数据集。对于区间问题,我正在考虑使用ismembertol
,但问题是 tol 始终是一个百分比,它不是像.5
.
解决方案
%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)
推荐阅读
- gitlab - 如何获得在 gitlab 上拥有任何项目成员资格的特定用户项目?
- python - 为什么我的代码不起作用将多个列表合并为一个
- python - Python中的钻石问题:从所有父类调用方法
- vhdl - 将泛型传递给泛型包以在 VHDL 中设置端口
- sql-server - SQL 服务器如何优化常量总和
- node.js - 如何让前端查看 .env 内容?
- bash - 带有 bash 完成的 Makefile:bash 完成无法通过选项卡展开 makefile 虚假目标
- python - 正则表达式:删除之前的特定字符和数字
- swift - 结合 2 个 PublishSubject 并使用 Observable.combineLatest 发射
- sql - 想要在 sql server 2008 中连续 IN 访问卡时间打卡时删除打卡时间