matlab 怎样去掉矩阵中的零元素

问题描述:

matlab 怎样去掉矩阵中的零元素

这个问题问的有点问题.
如果是一维的,a(a==0) = [] 就能解决问题
如果是多维的,a(a==0) = [] 会把a变成一维的,然后结果类似于上面的结果.原因是每行每列中的0的个数不同,无法保持多维的样子,只能拉长了当成一维处理.
a =
4 4 4 2 2
4 0 3 2 2
2 1 2 4 3
3 0 5 4 4
1 0 0 1 4
>> a(a==0)=[]
a =
Columns 1 through 20
4 4 2 3 1 4 1 4 3 2 5 2 2 4 4 1 2 2 3 4
Column 21
4