2016-02-19 67 views
0

在基質上的正和負性元件應用的閾值假設我有一個這樣的矩陣:在MATLAB

A = [ - 3 -4 -5 -6 0 2 3 3 4 5 8 9 10]

現在我想提取一個矩陣,其正值將大於8,而其他所有+ ve值小於8將爲零。其-ve值將小於-5,其他-ve值將爲零。這意味着這樣的事情:

A = [0 0 0 -6 0 0 0 0 0 0 0 9 10]

如何做呢?

我已經嘗試了以下事情

A(A < 8)= 0

它給 A = [0 0 0 0 0 0 0 0 0 0 8 9 10]

但我的負面價值觀消失了。

如果我嘗試

A(A> -5)= 0

然後我得到;

A = [0 0 -5 -6 0 0 0 0 0 0 0 0 0]

但這裏所有霧化+ ve值都沒有了。 PLZ幫助..

回答

2

你可以做

A(A<8 & A>-5) = 0 

文檔中還顯示Find array elements that meet a condition

編輯: 如果,如評論,你如何描述你想要的結果指出,您希望所有小於或等於8且大於或等於-5的值爲0,答案是

A(A<=8 & A>=-5) = 0 
+2

'A(A <=8 & A> = -5)= 0'產生什麼OP他想要的答案寫道。 – GameOfThrows

0

Hy,try使用AND操作

A=[-3 -4 -5 -6 0 2 3 3 4 5 8 9 10]; 
A(A > -5 & A < 8) = 0; 

這會給你想要的結果。

格爾茨