I have two matrix A and B I want to remove all row and columns with all NaNa in matrix A and accordingly delete the same row and column in B:
A( all( isnan( A ), 2 ), : ) = []; % removes all rows with all nans
A( :, all( isnan( A ), 1 ) ) = []; % and columns
this remove all row and column with all NaNs, But I want to remove the exact row and column from B, too, here is an example:
>> A=[1 2 3 NaN NaN 5 6 7];
>> B=[1 2 3 4 5 6 7 8]; I want the B as below:
B=[1 2 3 6 7 8];
Thanks in advances!

 채택된 답변

per isakson
per isakson 2012년 6월 7일

1 개 추천

rows_to_be_removed = all( isnan( A ), 2 ),
A(rows_to_be_removed,:)=[];
B(rows_to_be_removed,:)=[];
etc.
Given that A and B have the same size.

추가 답변 (2개)

Thomas
Thomas 2012년 6월 7일

1 개 추천

A=[1 2 3 NaN NaN 5 6 7];
B=[1 2 3 4 5 6 7 8];
check=find(isnan(A));
B(check)=[]
Andrea
Andrea 2012년 6월 7일

0 개 추천

actually it was an simple example. But I want to remove rows with all NaNa and then remove the same rows from another matrix accordingly.

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

질문:

2012년 6월 7일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by