我有一些原始数据存储在矩阵中,如下所示:
A = [1 2 0.05 5
0.01 0.02 1 1
0.09 1 1 1];
我希望A
更改,以便小于1的值自动变为零,如下所示:
A = [1 2 0 5
0 0 1 1
0 1 1 1];
有没有办法在MATLAB中做到这一点?
答案 0 :(得分:5)
如果数据在矩阵中......称之为A
,它就像:
A(A < 1) = 0;
作为证明,让我们声明该数据并将其存储到A
:
A = [1 2 0.05 5;
0.01 0.02 1 1;
0.09 1 1 1];
A(A < 1) = 0
A =
1 2 0 5
0 0 1 1
0 1 1 1
这个故事的寓意是逻辑索引是您在MATLAB世界中的朋友和盟友。有关它的更多信息可以在这里找到:http://blogs.mathworks.com/steve/2008/01/28/logical-indexing/ - 来自MathWorks的Steve Eddins就此做了一个很好的案例。