are the first 3 elements of a vector NaN?

2 次查看(过去 30 天)
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

采纳的回答

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

更多回答(1 个)

Image Analyst
Image Analyst 2012-8-11
编辑:Image Analyst 2012-8-11
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

类别

Help CenterFile Exchange 中查找有关 NaNs 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by