sun1993 发表于 2007-11-29 14:54

这组数据该如何才能快速读取?

由一程序运行得到一列数据,其中一部分数据小于1,剩余的都大于1,两部分数据个数不相同。
例如:   
            0.231
            0.236
            ......
            0.259
            0.268
            1.228
            1.290
            ......
            1.359
            1.366
从上至下单调增加。
现在想把两部分分开,并且读取小于1部分的最大值和大于1部分的最小值。
原先是写成:
         E=myfun(x,y);
         n=length(E);
         j=1;k=1;
         for i=1:n
                if E(i)<1
                  h(j)=E(i);
                  j=j+1;
                else
                  e(k)=E(i);
                  k=k+1;
                end
            end
然后再取h(j-1)和e(1)
感觉这样做比较的笨,不知更好的方法该如何,大家给点提示吧,谢谢

eight 发表于 2007-11-29 15:25

用 find(E>1) 把两组数据先分开,然后再用 max 、min 两个命令分别求对应部分的最大、最小

[ 本帖最后由 ChaChing 于 2010-6-14 21:50 编辑 ]

sun1993 发表于 2007-11-29 18:00

谢谢eight
页: [1]
查看完整版本: 这组数据该如何才能快速读取?