Hello, I would like to convert this mathematical equation into MATLAB code.

3 vues (au cours des 30 derniers jours)
hisham mohammed
hisham mohammed le 21 Déc 2022
Commenté : John D'Errico le 21 Déc 2022
Hello, I would like to convert this mathematical equation into MATLAB code
  1 commentaire
John D'Errico
John D'Errico le 21 Déc 2022
You already got a valid answer. There is no reason to then post the same question a second time. I closed the other.

Connectez-vous pour commenter.

Réponses (1)

Bora Eryilmaz
Bora Eryilmaz le 21 Déc 2022
Modifié(e) : Bora Eryilmaz le 21 Déc 2022
x = rand(100,1);
N = numel(x);
num = (sum(x)/N)^2;
den = sum(abs(x.^2)) / N;
s = num / den
s = 0.7726
  1 commentaire
Walter Roberson
Walter Roberson le 21 Déc 2022
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
s = 0.7135
%a more compact version valid only for reals
num2 = mean(x_m).^2;
den2 = mean(x_m.^2);
s2 = num2/den2
s2 = 0.7135
%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
s3 = 0.7135
What you can get away with depends on whether there might be complex numbers involved.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by