how to identify number of values in a column vector that are not zero values and are not NaN values?
조회 수: 3 (최근 30일)
이전 댓글 표시
Hello,
Lets say I have a 2458 x 1 column vector in a cell array, A, that contains zeros, nonzeros, and NaN values. I would like to identify how many values are nonzero values and are not NaN values. This means that I have to filter out the zero values and NaN values. This is the current code I'm using but this portion, (A{1,1} ~= NaN), seems to not be working.
logical = (A{1,1} ~= 0) & (A{1,1} ~= NaN);
A{1,1}(~logical) = [];
length(A{1,1})
When I run the code, it has a 1 value at the row indices that contain NaN, meaning that the row index value is true...But it shouldn't be because it is a NaN value and I want to only determine the values that are nonzero and are not NaN values. I was wondering why this does not work and what I can do to fix this? I'm using 2015a btw and any help or advice would be appreciated.
댓글 수: 0
채택된 답변
Star Strider
2015년 8월 19일
I don’t have your cell array to experiment with, but this works for my synthesised one:
A = {1, 3, 5, NaN, 7, 11, 13, 0 17};
logc = @(x) (x ~= 0) & ~isnan(x);
Idx = cellfun(logc, A);
댓글 수: 4
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!