在matlab中使用条件/如果替换向量元素

克里斯托斯

我想使用条件或if函数替换向量的元素。

a = [10 20 60];

如果a <30 = 4否则a = 5

结果需要如下所示:

b = [4 4 5]

迪卡卡

解决方案使用logical indexing-

cond1 = a < 30
cond2 = a > 30
b = 4.*cond1 + 5.*(cond2) + a.*(~(cond1 | cond2))

简短说明: cond1cond2根据IF-ELSE条件形成逻辑数组,这些条件用于建立索引并形成的“标定”值的数字数组4 or 5,同时保持30

单线版:如果您喜欢单线版,则可能会满足您的需求-

b = 4.*(a < 30) + 5.*(a > 30) + a.*(~(a > 30 | a < 30))

例子1

a =
    10    20    60    30
b =
     4     4     5    30

另一个相关的有趣问题-Matlab:使用逻辑索引删除IF-ELSE条件语句

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Matlab中替换向量中的多个元素?

来自分类Dev

在Clojure中使用地图替换向量

来自分类Dev

在Matlab中转换向量中的元素

来自分类Dev

在MATLAB中以0到1和1到0的概率替换向量的元素

来自分类Dev

使用数据框中其他列的条件替换向量中的重复值

来自分类Dev

在MATLAB中用两个值替换向量值

来自分类Dev

r-替换向量中的元素组

来自分类Dev

R-替换向量列表中的元素

来自分类Dev

用数据框中的值替换向量的元素

来自分类Dev

识别并替换向量中的重复元素

来自分类Dev

R-替换向量列表中的元素

来自分类Dev

如何用单个值替换向量的所有元素?

来自分类Dev

用 R 中的数字替换向量中的字符元素

来自分类Dev

如何用字符串向量的元素替换向量的特定元素?

来自分类Dev

如何根据向量元素在列表中的位置替换向量元素?

来自分类Dev

如何用字符串向量的元素替换向量的特定元素?

来自分类Dev

使用对应表在R中转换向量元素

来自分类Dev

在 MATLAB 中使用逻辑向量替换 if-else 阶梯

来自分类Dev

在Matlab中使用向量

来自分类Dev

在Matlab中使用向量

来自分类Dev

我需要替换向量中的一系列元素

来自分类Dev

在某些情况下,八度替换向量中的元素

来自分类Dev

用一个值替换向量中的一系列元素

来自分类Dev

C ++替换向量中的动态对象

来自分类Dev

如何用链表替换向量c ++

来自分类Dev

用NA替换向量的某些值

来自分类Dev

如何替换向量中的值

来自分类Dev

用数字替换向量中的文本?

来自分类Dev

避免在R中使用lapply(),并找到向量B的所有元素,满足向量A的每个元素的条件