MATLAB函数在零之前返回数组的一部分

Pep*_*413 2 arrays matlab

我正在尝试创建一个接收数组的函数,并在零之前返回数组的一部分.例如,[12, -4, 5, 32, 0, 4, 1, -8]将返回[12, -4, 5, 32],如果数组不包含零,则返回整个数组.

这是我到目前为止所拥有的:

function V = Notzero(V)
  V(V==0)=[];
end
Run Code Online (Sandbox Code Playgroud)

我是MATLAB的新手.我相信我写的东西会返回没有零的数组,但我不知道如何继续.

gno*_*ice 5

这是一个选项,它只清除从向量的第一个零到结尾的所有内容:

function V = Notzero(V)
  V(find(V == 0, 1):end) = [];
end
Run Code Online (Sandbox Code Playgroud)

有关更多信息,我建议阅读矩阵索引,特别是冒号运算符,end关键字和find函数.