Hello, I would like to convert this mathematical equation into MATLAB code.
2 次查看(过去 30 天)
显示 更早的评论
1 个评论
John D'Errico
2022-12-21
You already got a valid answer. There is no reason to then post the same question a second time. I closed the other.
回答(1 个)
Bora Eryilmaz
2022-12-21
编辑:Bora Eryilmaz
2022-12-21
x = rand(100,1);
N = numel(x);
num = (sum(x)/N)^2;
den = sum(abs(x.^2)) / N;
s = num / den
1 个评论
Walter Roberson
2022-12-21
x_m = rand(100,1);
%Bora's version, valid only for reals
N = numel(x_m);
num = (sum(x_m)/N)^2;
den = sum(abs(x_m.^2)) / N;
s = num / den
%a more compact version valid only for reals
num2 = mean(x_m).^2;
den2 = mean(x_m.^2);
s2 = num2/den2
%analog for compact version but valid for complex as well
num3 = abs(mean(x_m)).^2;
den3 = mean(abs(x_m).^2);
s3 = num3 / den3
What you can get away with depends on whether there might be complex numbers involved.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Function Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!