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 件のコメント

Torsten
Torsten 2023 年 12 月 14 日
I cannot reproduce the behaviour you describe (see above).

サインインしてコメントする。

 採用された回答

Ramiro
Ramiro 2023 年 12 月 14 日
移動済み: Voss 2023 年 12 月 14 日

0 投票

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 件)

製品

リリース

R2023b

タグ

質問済み:

2023 年 12 月 14 日

移動済み:

2023 年 12 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by