2011-12-30 28 views
6

Trong Matlab, tôi có một véc tơ, X, có chứa N giá trị thực:Matlab, cách lọc một vector số theo điều kiện?

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

Tôi muốn tạo một vectơ mới, Xb, chứa tất cả Giá trị M của X nhỏ hơn 0,005 (M < = N). Tôi có thể làm như thế nào?

Tôi đã thử với:

xB = X < 0,005

nhưng nó mang lại cho tôi một vector của N giá trị 0s hoặc 1s.

Thanx

Trả lời

14
>> Xb = X(X < 0.005) 

Xb = 

    0.0010 0.0030 
+1

Có cách nào để lấy chỉ mục không? – fersarr

+0

@fersarr Bạn có thể tìm thấy các chỉ mục bằng cách sử dụng 'find (X <0.005)' –

+0

Làm thế nào điều này sẽ làm việc cho một ma trận? –

2

gì bạn đã làm với mã Xb=X<0.005 là tạo ra một mặt nạ. Nói một cách đơn giản, nó cho bạn biết giá trị nào nhỏ hơn 0,005, nhưng không phân loại danh sách. Những gì bạn muốn là để sắp xếp danh sách bằng mặt nạ, có thể được thực hiện như jlrcowan đã gợi ý.

Các vấn đề liên quan