How to check an array for its content?

2 Ansichten (letzte 30 Tage)
Philipp Mueller
Philipp Mueller am 26 Mai 2020
Bearbeitet: Tommy am 26 Mai 2020
Hello,
I would like to query the contents of my array (the name is loadp - 40 * 1 double) if the value of each cell is not 0 or empty or NaN or whether the value has not already occurred in the previous runs by using the for loop. If this conditions are all true then set hello=1;
Thank you.
for i=1:numRows;
%tmp = regexp(my_strings(i),'(?<=_l)\d+','match','once');
loadp(i,1) = str2double(tmp)/100;%
if ~ismember(loadp(i),loadp(1:i-1)) ==1 && loadp(i)~=0 && (isnan(loadp(i,1))~=0 | isempty(loadp(i,1))~=0)
hello=1;
end
end

Antworten (1)

Tommy
Tommy am 26 Mai 2020
Bearbeitet: Tommy am 26 Mai 2020
It sounds like you want to make sure isnan and isempty do return 0. Also, there is no need to explicitly check if the result of each of these operations is equal to true or false, as true==1 is the same as true and false==1 is the same as false.
for i=1:10
%tmp = regexp(my_strings(i),'(?<=_l)\d+','match','once');
loadp(i) = randi(10);
if ~ismember(loadp(i),loadp(1:i-1)) && loadp(i) && ~isnan(loadp(i)) && ~isempty(loadp(i))
hello=1;
end
end

Kategorien

Mehr zu Loops and Conditional Statements 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