Determine if a value is an Empty Matrix: 0 x 1 and replace with NaN
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello. In my code I'm attempting to locate the max value of a variable. Unfortunately for doing max(variable) it gives an error if the matrix is a []. I was trying to figure out how to properly write my if else loop to put in NaN to a previously defined array if its a [] and if not, to calculate the value. My code is as follows:
if l == 1
fint=intersect(find(b(:,1)==k),find(b(:,2)==l))
if fint == []
high_maxT_mo(k - (minyear-1),1) = NaN
else
high_maxT_mo(k - (minyear-1),1) = nanmax(maxtemp(fint))
end
end
I get the following:
fint =
Empty matrix: 0-by-1
Error using == Matrix dimensions must agree.
Thanks!
Risposta accettata
Più risposte (2)
Jan
il 23 Lug 2013
A simplification for:
fint=intersect(find(b(:,1)==k),find(b(:,2)==l))
is:
fint = find(b(:,1)==k & b(:,2)==l)
the cyclist
il 23 Lug 2013
Rather than doing an equality comparison
if fint == [],
use the isempty function:
if isempty(fint)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!