matrix of random distribution

2 Ansichten (letzte 30 Tage)
Chantal Lewis
Chantal Lewis am 22 Jul. 2020
Kommentiert: Karlyn Jones am 31 Jul. 2020
Hello,
How to i create a nxn matrix where each column represents a normal distribution and the values in each colum sum to 100? Thankyou

Akzeptierte Antwort

Jeff Miller
Jeff Miller am 23 Jul. 2020
n = 8; % whatever n you want
sd = 1; % whatever you want for the standard deviation of the normal distribution in each column
total = 100; % the total you want
x = randn(n,n) * sd;
for i=1:n
x(:,i) = x(:,i) - mean(x(:,i)) + total/n;
end
  5 Kommentare
Bruno Luong
Bruno Luong am 30 Jul. 2020
Bearbeitet: Bruno Luong am 30 Jul. 2020
Those ztable is known as https://en.wikipedia.org/wiki/Normal_distribution#Cumulative_distribution_function can computed in MATLAB as following
ztab = @(z) (erf(z/sqrt(2))+1)/2;
z = (-1:0.1:1)'; % put here whatever the z values you want to compute
zt = ztab(z);
table(z,zt)
It produces this
z zt
____ _______
-1 0.15866
-0.9 0.18406
-0.8 0.21186
-0.7 0.24196
-0.6 0.27425
-0.5 0.30854
-0.4 0.34458
-0.3 0.38209
-0.2 0.42074
-0.1 0.46017
0 0.5
0.1 0.53983
0.2 0.57926
0.3 0.61791
0.4 0.65542
0.5 0.69146
0.6 0.72575
0.7 0.75804
0.8 0.78814
0.9 0.81594
1 0.84134
And here the value of ztab of 4 and 5
>> fprintf('z(4)=%1.16f\n', ztab(4))
z(4)=0.9999683287581669
>> fprintf('z(5)=%1.16f\n', ztab(5))
z(5)=0.9999997133484282
Karlyn Jones
Karlyn Jones am 31 Jul. 2020
@bruno luong Thank you so much!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by