sum of rand matrix equal to zero
4 ビュー (過去 30 日間)
古いコメントを表示
Dear All,
I want to generate matrix A ,i.e. n by n random matrix but the sum(sum(A)) = zero. Help in this regard will be highly appreciated........
Regards..........
0 件のコメント
採用された回答
Hooman Habibi
2015 年 5 月 5 日
Subtract the mean from the samples:
n=10; z=randn(n,n); z=z-sum(sum(z))/(n*n); sum(sum(z))
その他の回答 (2 件)
Bus141
2015 年 5 月 5 日
編集済み: Bus141
2015 年 5 月 5 日
The command randn pulls from a normal distribution with distribution N(0,1), implying with a large enough sample the mean should be zero. The sum of all dimensions should also converge toward zero since the values above and below the mean will cancel each other out, as they have equal probability.
Michael Haderlein
2015 年 5 月 5 日
What kind of random distribution do you want? Here I use normal distribution, for other distributions just replace randn by the respective function:
n=100;
A=randn(100);
B=A-mean(A(:));
sum(B(:))
ans =
3.8913e-13
That's not exactly zero, but you'll not easily come close due to numerical precision.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!