sum of rand matrix equal to zero

4 Ansichten (letzte 30 Tage)
Offroad Jeep
Offroad Jeep am 5 Mai 2015
Kommentiert: Offroad Jeep am 17 Mai 2016
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..........

Akzeptierte Antwort

Hooman Habibi
Hooman Habibi am 5 Mai 2015
Subtract the mean from the samples:
n=10; z=randn(n,n); z=z-sum(sum(z))/(n*n); sum(sum(z))

Weitere Antworten (2)

Bus141
Bus141 am 5 Mai 2015
Bearbeitet: Bus141 am 5 Mai 2015
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
Michael Haderlein am 5 Mai 2015
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.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by