[求助]如何去数组中的零值
如果数据头尾有若干零值,在重新写入时想将零值去掉,应该怎么作呢? find(data(i,:)=0) find太麻烦...<BR>a=round(rand(1,20));<BR>a(a==0)=[] 可是这样做得不到下标啊<BR>而且和这样有区别吗?探讨一下<BR>data(find(data)=0)=[]; >> a1=rand(1,6)<BR>a1 =<BR> 0.9501 0.2311 0.6068 0.4860 0.8913 0.7621<BR>>> a2=(a1<.7)<BR>a2 =<BR> 0 1 1 1 0 0<BR>>> a3=a1(a2)<BR>a3 =<BR> 0.2311 0.6068 0.4860<BR>>> a4=1:length(a1);<BR>>> a5=a4(a2==1)<BR>a5 =<BR> 2 3 4<BR>find的基本功能貌似相当于上述,内置命令中多了很多一般情况不用考虑的选项,计算速度受一定影响,况且中间多写一句意义不大的代码,逻辑运算是MATLAB一项基本功,推荐学习,应尽量不使用官方命令。 <P>谢谢指教,很是受用!!!</P>回复:(flyingbone)[求助]如何去数组中的零值
<P><FONT color=#ff0000>flyingbone、branch加威望1点,bainhome加威望2点</FONT></P><P>多情清秋<BR>06.6.6</P>
页:
[1]