MATLAB 中我想提取一列数据中所有非零的数并组成新的矩阵

比如一列数据[0,0,0,1,75,13,12,0,0,124,0,0,1216,87,3,6,3,0,0];
想要非零元素构成新的矩阵[1,75,13,12;124;1216,87,3,6,3]

假设原来的矩阵叫做A

a=size(A,2);
for i=1:a
if A(i)==0
A(i)==[];
i=i-1;
b=size(A,2);
if i==b
break
end
end
end
A

我猜的,手边没电脑追问

我想要一个循环,这一列里面有几千个数据,怎么弄呢

追答

这边有一个问题。由于每一行的零元个数不一样。全部除掉的话,每一行剩下的的元素个数就各不相同了。。让后就不能组成一个矩阵了。。然后就报错了。。

追问

如果是是cell格式呢?我之前也是,但是后来我打算弄一个循环,就是继续到下一个不为0的数的时候列数+1,但是没有成功TAT

追答

恩。。感觉可以

细胞感觉好像很好用呢。我没怎么用过。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答