Matlab, как отфильтровать числовой вектор по условию? - PullRequest
6 голосов
/ 30 декабря 2011

В Matlab у меня есть вектор X, который содержит N действительных значений:

  • 0,001
  • 0,003
  • 0,006
  • 0,009
  • 0,007
  • 0,006

Я хотел бы создать новый вектор, Xb, который содержит все значения M для X, которые меньше 0,005 (M <= N). Как я мог это сделать? </p>

Я пробовал с:

Xb = X <0,005 </p>

но он дает мне вектор из N значений 0 или 1.

Thanx

Ответы [ 2 ]

14 голосов
/ 30 декабря 2011
>> Xb = X(X < 0.005)

Xb =

    0.0010    0.0030
2 голосов
/ 30 декабря 2011

То, что вы сделали с кодом Xb=X<0.005, было для создания маски. Проще говоря, он сообщает, какие значения меньше 0,005, но без сортировки списка. Вам нужно отсортировать список по маске, что можно сделать, как предложил jlrcowan.

...