Why am I getting an NaN value for my array?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
n5 = [-5:5];
y0 = abs(Dn2f(0))
ys = abs(Dn2f(n5))
function Dn = Dn2f(n)
if n == 0
Dn = 1/2;
else
Dn = (1-exp(-1j*pi*n/2))./(1j*pi*n);
end
end
I specifically defined the value of my function at 0 because of a division by 0, and it even returns the correct value at 0 when I call it for a single value, but in an array, the value at 0 is NaN?
0 Kommentare
Antworten (1)
Walter Roberson
am 18 Nov. 2021
In MATLAB if you test a non-scalar in an "if" statement, then the statement is considered true only if all of the outputs of the expression are non-zero. "if" does not act as a selector to only work on the elements that the test is true for.
You should learn how to use logical indexing.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!