MATLAB Answers

How to retrieve the list of numbers from which the average of a normal simulation is derived?

29 views (last 30 days)
Angelavtc
Angelavtc on 25 Sep 2021 at 19:29
Commented: Angelavtc on 26 Sep 2021 at 17:10
Hello all!
I am currently using the following code to calculate the average of 5000 numbers simulated with a normal distribution with a changing mean and std deviation, from 75 to 125 and 1 to 40, respectively.
n = 5000; %Number of Simulations, sample size
x1 = 75:125; %Mean simulation range
y1 = 1:40; %Standard Deviation range
for i = 1:length(x1) % mean
for j = 1:length(y1) % sd
Exp_Pw(i,j) = mean(0.5*(normrnd(x1(i),y1(j),n,1)));
end
end
The problem is that I don't know precisely the 5000 numbers where the average comes from, and I would like to have that information in maybe a cell array? (if this is the name) that would allow me to use those different simulated numbers in other operations. Any idea how to do it?
Thank you very much!

Accepted Answer

David Hill
David Hill on 25 Sep 2021 at 20:09
n = 5000; %Number of Simulations, sample size
x1 = 75:125; %Mean simulation range
y1 = 1:40; %Standard Deviation range
N=zeros(n,length(y1),length(x1));
for i = 1:length(x1) % mean
for j = 1:length(y1) % sd
N(:,i,j)=normrnd(x1(i),y1(j),n,1);%this will contain all values
Exp_Pw(i,j) = mean(0.5*(N(n,i,j)));
end
end
  6 Comments
Angelavtc
Angelavtc on 26 Sep 2021 at 17:10
yes @Image Analyst you are right, there was a mistake in the way I wrote my question. "Save" is better than "retrieve". Thank you!

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 25 Sep 2021 at 21:16
I'm not sure what you're asking. If all you have is a mean, say 75, then there are an infinite number of data values that could have gone into getting that mean of 75. You can't know them if all you have is the mean and standard deviation, though you could create some similar ones with randn().

Community Treasure Hunt

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

Start Hunting!