matlab中去除数组中的0并生成新数组,怎么编程?

已举报 回答
matlab中去除数组中的0并生成新数组,怎么编程?
问在线客服
扫码问在线客服
  • 回答数

    7

  • 浏览数

    8,342

7个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
a=[1 2 3 4 5 6 7 0 7 9 0];
c=find(a==0);
a(c)=[];
b=a;
取消 评论
A = [1 1 2 2 2 2 3 3 3 3 4 4 5 5 5 5 5 6 6 6 6 7 7 8 9 9];
L = diff(A);
B = A(L==0);
R = unique(B)
R =
1 2 3 4 5 6 7 9
取消 评论
a=[1 2 3 4 5 6 7 0 7 9 0];

b = a(a~=0)
取消 评论
z=linspace(0,a,n)%将区间[0,a]等分为n份,等分后得到的数组z有n+1个数。
zz=z(1:15)%访问数组的第1到第15个元素,将其赋值给变量zz。

例如:
z=linspace(0,19,20)
得到结果如下
z=
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
zz=z(1:15)
达到结果为
zz=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
取消 评论
a=[1 2 3 4 5 6 7 0 7 9 0];
c=find(a==0);
a(c)=[];
b=a;
取消 评论
a=[1 1 2 2 2 2 3 3 3 3 4 4 5 5 5 5 5 6 6 6 6 7 7 8 9 9 ];
a=sort(a); %排序
b=unique(a(a(1:end-2)-a(3:end)==0)) %保留重复次数超过两次的数

b =

2 3 5 6
取消 评论
是固定的某列(比如现在的第4列),还是说只要出现0就删除该行?
取消 评论
ZOL问答 > matlab中去除数组中的0并生成新数组,怎么编程?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?