How to generate random number from cumulative distribution function (CDF) in Matlab

12 vues (au cours des 30 derniers jours)
Hi everyone,
Similar to R program, I'm looking for a code in Matlab that I can generate a set of random number with a specific mean (M) and standard deviation (sd).
R code to generate random number with normal distribution from CDF:
> pnorm(1.96, mean=0, sd=1)
[1] 0.9750021

Réponse acceptée

Image Analyst
Image Analyst le 5 Juin 2015
For the more general case of an arbitrary CDF , you have to use inverse transform sampling. Attached is an example for generating a Rayleigh transform.

Plus de réponses (2)

Image Analyst
Image Analyst le 5 Juin 2015
Did you see the example in the help for randn()? Here it is:
Random Numbers from Normal Distribution with Specific Mean and Variance
This example shows how to create an array of
random floating-point numbers that are drawn
from a normal distribution having a mean of 500 and variance of 25.
The randn function returns a sample of random numbers from a normal distribution
with mean 0 and variance 1. The general theory of random variables
states that if x is a random variable whose mean is μ
x
and variance is σ
2
x
, then the random variable, y, defined by y=ax+b,
where a and b are constants, has mean μ
y
=aμ
x
+b and variance σ
2
y
=a
2
σ
2
x
. You can apply this concept to get a sample of
normally distributed random numbers with mean 500 and variance 25.
First, initialize the random number generator to make the results in this example repeatable.
rng(0,'twister');
Create a vector of 1000 random values
drawn from a normal distribution with a mean of 500
and a standard deviation of 5.
a = 5;
b = 500;
y = a.*randn(1000,1) + b;

Sean de Wolski
Sean de Wolski le 5 Juin 2015
doc slicesample
doc random
  1 commentaire
Moe
Moe le 5 Juin 2015
with this command:
rnd = slicesample(initial,nsamples,'pdf',pdf)
Can you give me a simple example of it?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by