how to fill with the last non empty value across each column
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi all, how can I fill the cells in each row with the last non empty or non zero value please? For example : the matrix is [0 9 7 0 0 ; 0 0 0 6 0;0 2 0 0 0; 8 0 4 2 0]; The result shows b=[09700;09760;02760;82420]. Any help is welcomed. Thank you very much.
댓글 수: 0
채택된 답변
Stephen23
2015년 10월 30일
편집: Stephen23
2015년 10월 30일
A = [0 9 7 0 0 ; 0 0 0 6 0;0 2 0 0 0; 8 0 4 2 0]
B = A;
for k = 2:size(B,1)
idx = B(k,:)==0;
B(k,idx) = B(k-1,idx);
end
Produces this output:
>> A
A =
0 9 7 0 0
0 0 0 6 0
0 2 0 0 0
8 0 4 2 0
>> B
B =
0 9 7 0 0
0 9 7 6 0
0 2 7 6 0
8 2 4 2 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!