如何用matlab生成符合F=X^2分布的随机数

谢谢大神们,我想用matlab生成符合F=X^2这个分布的随机数(x在0到1),但是不知道code如何写,然后百度有人说可以用反函数,我就模仿写了下边这个code,不知道对不对,希望能够得到帮助,急求,谢谢啦
N=10000; %产生随机数的个数
a=3; %参数a
y=rand(1,N);  %生成N个0,1间均匀分布随机数
x=y^(1/a); %生成幂函数分布随机数

2个回答

这里是程序开发,matlab的问题可以去www.ilovematlab.com问问。

tuziyouyouyou
tuziyouyouyou 我就是从ilovematlab过来的,笑哭
4 天之前 回复

楼主你好:
matlab生成分布函数为F(x)=x^2,首先你需要选择一个适合的方法,在这里可以推荐你一个简单的方法,即反变换法。
首先你需要生成一个均匀分布的随机数,然后生成y=sqrt(rand)即可,在此给你附上代码如下。
clear
clc
y=sqrt(rand)

上述是按照你的要求生成单个的随机数。一下代码是对你的进行的调整,需要值得注意的是,你的代码生成的是10000个概率分布函数为F(x)=x^3的随机数,错误在最后一行:
N=10000; %产生随机数的个数
a=3; %参数a
y=rand(1,N); %生成N个0,1间均匀分布随机数
x=y.^(1/a); %生成幂函数分布随机数

注意最后一行的那个点,希望能对你有所帮助

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐