【发布时间】:2015-06-03 22:25:13
【问题描述】:
我可以有类似的东西
A=1:10;
A(1:2 && 5:6)=0;
意思是我想在一行中将向量索引表达式中的特定范围归零
这可能吗?
如果我想把其他的都归零怎么办
A(~[1:2]) = 0
向量索引中逻辑非的方式是什么?
谢谢
【问题讨论】:
-
如果我想像 A(~[1:2]) = 0 一样将所有其余部分归零怎么办?向量索引中逻辑非的方式是什么?
-
我编辑了我的答案,将您提供的索引的补码也归零。
-
谢谢,效果很好,但是没有逻辑表达式的东西吗?这样不应该更快吗?
-
~运算符只能作用于逻辑/布尔数组,不能作用于像[1:2,5:6]这样的数值数组。ismembc函数是将索引列表[1 2 5 6]转换为适当的逻辑数组[1 1 0 0 1 1 0 0 0 0]以便我们可以使用~对其进行操作。它应该很快。在我的计算机上执行此操作 10,000 次需要0.13秒。 -
嗨,我找到了一种新的单行方式来做到这一点,现在我看看它是否更快:)
标签: matlab vector range expression logical-operators