求matlab程序:从一数组中,按顺序取出位于a,b之间的数。

比如从M=[1,-5,8,29,-45,24];
取出a=-7,b=30, a到b之间的数,然后储存在N1中,再把N1输出。 像这个N1 就应该是[-5 8 29 24]

PS,如果是按照从大到小呢?后面这个我自己想的,就是怎么输出为[-5 8 24 29]
先把前面那个程序实现八,后面那个我自己想的,您有空就写把,谢谢了。

写错了,第一个应该是[1,-5,8,29,24]。。。

你这个根本就不需要排序,就是比大小而已,非常简单的代码

M=[1,-5,8,29,-45,24];
N1=[1,-5,8,29,-45,24];
N1(N1<a)=[];
N1(N1>b)=[];

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-09
排序就可以了,用sort函数,其第二个参数可指定升序\降序排列追问

求无脑把代码弄好。。。

追答

那看来没有解释的必要了~

第2个回答  2014-01-09
N1= sort(M(find(M>-7&M<30)),2, 'ascend')%升序
N2= sort(M(find(M>-7&M<30)),2, 'descend')%降序追问

http://zhidao.baidu.com/question/2138146206081322948.html
高手帮我再看个程序把

高手,N1 是乱序,按照原来的顺序,我都打算用for来搞了。。。