Azzera filtri
Azzera filtri

Is var command works also for complex numbers?

12 visualizzazioni (ultimi 30 giorni)
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);

Risposta accettata

Alex Mcaulley
Alex Mcaulley il 10 Giu 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 Commenti
guy lasri
guy lasri il 10 Giu 2019
Thanks for the fast answer. How is the variance different? And which variance is better for MMSE estimation?

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by