如何从 Matlab 中的元胞数组中删除零值

How to remove zero values from a cell array in Matlab

我在 MATLAB 中有一个元胞数组,如下所示,

arr=  4  5  8
     22 23  0

零值始终出现在最后一行的末尾。如果有两个零值,它将看起来像这样,

arr=  4  5  8
     22  0  0

没有一行的所有位置都为零。谁能帮我删除最后一行中存在的那些零值?我想要的是这样的

arr=  4   5   8
     22  23

如果元胞数组的每个索引处都有标量,则将 arr 转换为矩阵,找到存在零的索引,然后将其替换为 []

arr([arr{:}]==0)={[]};