are the first 3 elements of a vector NaN?

1 Ansicht (letzte 30 Tage)
Sabbas
Sabbas am 11 Aug. 2012
Dear all,I have
A={
[NaN]
[NaN]
[NaN]
[3]
[3]
[6]
[4]}
I want to find a rule that will tell me if the first 3 elements of a vector A are NaN or not
thanks
  2 Kommentare
Yash
Yash am 11 Aug. 2012
you can apply condition on them
Sabbas
Sabbas am 11 Aug. 2012
coul;d you please be more specific?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt Fig
Matt Fig am 11 Aug. 2012
A is a cell.
all(cellfun(@isnan,A(1:3)))

Weitere Antworten (1)

Image Analyst
Image Analyst am 11 Aug. 2012
Bearbeitet: Image Analyst am 11 Aug. 2012
Method 1. Inspects the first three cells ONLY.
A = {
[NaN]
[NaN]
[NaN]
[3]
[3]
[6]
[4]}
if isnan(A{1}) && isnan(A{2}) && isnan(A{3})
uiwait(msgbox('The first three cells are nans'));
else
uiwait(msgbox('The are not nans.'));
end
Method 2. Somewhat more robust and flexible.
% Define starting and ending cell to inspect.
firstElementToCheck = 1;
lastElementToCheck = 3;
nanLocations = isnan([A{:}])
if sum(nanLocations(firstElementToCheck:lastElementToCheck)) == (lastElementToCheck - firstElementToCheck) + 1
message = sprintf('The cells between %d and %d are all NaNs', ...
firstElementToCheck, lastElementToCheck);
uiwait(msgbox(message));
else
message = sprintf('The cells between %d and %d are NOT ALL NaNs', ...
firstElementToCheck, lastElementToCheck);
uiwait(msgbox(message));
end

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by