Removing Nans, converting matrix to vector

조회 수: 6 (최근 30일)
MiauMiau
MiauMiau 2016년 6월 29일
댓글: KSSV 2016년 6월 29일
Hi
I have 50 x 60 x 45 double arrays, from which I want to remove the Nans, and, which I then want to convert into a (row or column) vector. I realized that the following line should do this (let C be my array):
C(isnan(C)) = [];
is this correct at all? How comes that with this line the matrix is also converted to a vector? Also, are the linear indices of the original matrix used to create the order of the elements in the row vector?
Many thanks

답변 (1개)

KSSV
KSSV 2016년 6월 29일
Let C be you matrix of 50X60X45 matrix
C = C(:) ; % convert to column vector
C(isnan(C)) = [] ; % remove NaNs
  댓글 수: 2
MiauMiau
MiauMiau 2016년 6월 29일
what is the difference to mine? I dont necessarily want a column vector
KSSV
KSSV 2016년 6월 29일
If you use K(isnan(K)) = []; to a matrix, the output will be always an array. If you want a matrix again, then using find, get the indices of NaN and replace them by your number. Then the output will be a matrix of original size.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by