1 min read

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