2015-02-24 4 views
3

У меня есть некоторые исходные данные, хранящиеся в матрице, как так:Как отображать ноль, если ваша переменная меньше 1, используя Matlab

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?

ответ

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 замечательно разбирается в этом.

Смежные вопросы