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

 采纳的回答

Ramiro
Ramiro 2023-12-14
移动:Voss 2023-12-14
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

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Logical 的更多信息

产品

版本

R2023b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by