Find the index of the last non-zero element in each row of a given matrix?

后端 未结 4 2244
执念已碎
执念已碎 2021-02-20 03:22

For an arbitrary sized matrix x, how do I find the index of the last non-zero element in each row of a given matrix?

For example, for the matrix

         


        
4条回答
  •  失恋的感觉
    2021-02-20 03:37

    My answer's a bit twisted but it should work too

    x = [ 0 9 7 0 0 0; 5 0 0 6 0 3; 0 0 0 0 0 0; 8 0 4 2 1 0 ];
    [~,pos] = max([fliplr(x~=0),ones(size(x,1))],[],2);
    v = size(x,2)-pos' +1;
    

提交回复
热议问题