matlab 矩阵中若某一列中的数小于某个数就加上同一个数

17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
这样一个矩阵,如果第三列中某元素小于10,则把这个元素再加上100!
结果为
17 24 101 8 15
23 5 107 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
这样如果想快速运算不用循环怎么写?我的数据有几百万条,for循环太慢了!

如果矩阵为a,使用如下语句可实现。
a(:,a(:,3)<10)=a(:,a(:,3)<10)+100;
其中a(:,3)<10返回一个列向量,第三列小于10 的行值为1,否则为0追问

你这答案不对啊
a=magic(6
>> a(:,a(:,3)<10)=a(:,a(:,3)<10)+100
a =
135 101 106 26 19 24
103 132 107 21 23 25
131 109 102 22 27 20
108 128 133 17 10 15
130 105 134 12 14 16
104 136 129 13 18 11

温馨提示:答案为网友推荐,仅供参考
相似回答