Why my user-defined matlab function returns NaN?

I wrote a matlab function but when the input argument vector has only one element, it returns NaN. I checked my code and I think everything is OK.
The W argument is a n x 1 vector or a 1 x n vector of weights that sum 1. However, when W = 1, the function returns NaN.
I think it is a bug of my Matlab version (2023b for Mac Intel).
Thanks in advance for your help.
Ramiro
W = 1;
orn = Orness(W)
orn = 1
function orn = Orness(W)
nW = numel(W);
if nW >= 2
orn = zeros(nW,1);
for j = 1:nW
orn(j) = ((nW-j)/(nW-1))*W(j);
end
orn = sum(orn);
elseif nW == 1
orn = 1;
end
end

1 comentario

Torsten
Torsten el 14 de Dic. de 2023
I cannot reproduce the behaviour you describe (see above).

Iniciar sesión para comentar.

 Respuesta aceptada

Ramiro
Ramiro el 14 de Dic. de 2023
Movida: Voss el 14 de Dic. de 2023

0 votos

Hi, thank you for the command. My path have two Orness functions (one very old). The script is using that function instead of the new one.
So I made the mistake. I renamed the new function and the problem is fixed.
This solved my issue.
Regards
Ramiro

Más respuestas (0)

Productos

Versión

R2023b

Etiquetas

Preguntada:

el 14 de Dic. de 2023

Movida:

el 14 de Dic. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by