假设我有一个像这样的矩阵:
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值都消失了。 请帮助..
答案 0 :(得分:2)
你可以做到
A(A<8 & A>-5) = 0
还显示在文档Find array elements that meet a condition
中编辑: 如果,如评论中所指出的,以及如何描述您想要的结果,您希望所有小于或等于8且大于或等于-5的值为0,答案是
A(A<=8 & A>=-5) = 0
答案 1 :(得分:0)
Hy,尝试使用AND操作
A=[-3 -4 -5 -6 0 2 3 3 4 5 8 9 10];
A(A > -5 & A < 8) = 0;
这会给你想要的结果。
格尔茨