Is var command works also for complex numbers?

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

 採用された回答

Alex Sune
Alex Sune 2019 年 6 月 10 日

1 投票

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

guy lasri
guy lasri 2019 年 6 月 10 日
Thanks for the fast answer. How is the variance different? And which variance is better for MMSE estimation?
Steven Lord
Steven Lord 2019 年 6 月 10 日
See the second and third paragraphs in the following section of the Wikipedia article on variance.

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

その他の回答 (0 件)

質問済み:

2019 年 6 月 10 日

コメント済み:

2019 年 6 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by