Effacer les filtres
Effacer les filtres

Is var command works also for complex numbers?

12 vues (au cours des 30 derniers jours)
guy lasri
guy lasri le 10 Juin 2019
Commenté : Steven Lord le 10 Juin 2019
Hey,
I tried to calculate variance on a complex matrix using the built in function 'var' and compared the results to the equetion 'Var = mean(abs(x).^2)-(abs(mean(x)).^2)'.
I got different results. Any body know why?
This is the code:
x = [1, -1, 1+1i, 1-1i];
Var1 = var(x);
Var2 = mean(abs(x).^2)-(abs(mean(x)).^2);

Réponse acceptée

Alex Mcaulley
Alex Mcaulley le 10 Juin 2019
If you take a look at the var documentation https://es.mathworks.com/help/matlab/ref/var.html you can see that the definition is not the same than the one you are using:
x = [1, -1, 1+1i, 1-1i];
Var1 = var(x)
Var2 = sum(abs(x-mean(x)).^2)/(numel(x)-1) %Following the definition
Var1 =
1.6667
Var2 =
1.6667
To use your definition of the variance, you have to put:
Var1 = var(x,1)
Var2 = mean(abs(x).^2)-(abs(mean(x)).^2)
Var1 =
1.2500
Var2 =
1.2500
  2 commentaires
guy lasri
guy lasri le 10 Juin 2019
Thanks for the fast answer. How is the variance different? And which variance is better for MMSE estimation?
Steven Lord
Steven Lord le 10 Juin 2019
See the second and third paragraphs in the following section of the Wikipedia article on variance.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by