我有一个矩阵A

A=

4.0000 120.0000 92.0000 0 0 37.6000 0.1910 30.0000

10.0000 168.0000 74.0000 0 0 38.0000 0.5370 34.0000

10.0000 139.0000 80.0000 0 0 27.1000 1.4410 57.0000

1.0000 139.0000 60.0000 23.0000 846.0000 30.1000 0.3980 59.0000

5.0000 136.0000 72.0000 19.0000 175.0000 25.8000 0.5870 51.0000

7.0000 121.0000 0 0 0 30.0000 0.4840 32.0000

我想做两件事:

>将第一列的值大于5替换为0.

>在第二列中,如果值在121-130范围内,则将其替换为0.如果它们在131-140范围内,则替换为1,141-150乘以2,151-160乘以3等.

所以期望的结果矩阵将是:

A=

4.0000 0.0000 92.0000 0 0 37.6000 0.1910 30.0000

0.0000 4.0000 74.0000 0 0 38.0000 0.5370 34.0000

0.0000 1.0000 80.0000 0 0 27.1000 1.4410 57.0000

1.0000 1.0000 60.0000 23.0000 846.0000 30.1000 0.3980 59.0000

5.0000 1.0000 72.0000 19.0000 175.0000 25.8000 0.5870 51.0000

0.0000 0.0000 0 0 0 30.0000 0.4840 32.0000

我怎么能做到这一点?

我正在尝试这样的事情:

counter=1;

for i = 1: rows

if A(i,1) > 5

A(i ,1) = 0;

end

if A(i,2) > 120 && A(i,2) < 130

A(i ,2) = 0;

end

counter = counter+1;

end

使用案例会有诀窍吗?

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐