如何在matlab中实现威布尔分布的模拟,急用,感谢!!!
1个回答
展开全部
用randn()可以生成高斯分布的随机数。
不过只有先生成随机数才有方差和均值,反过来可难了。
也只能使均值和方差近似等于0和6,
用下面方法:
x=randn(1,100)*sqrt(6);
while
abs(mean(x))>=0.01
|
abs(var(x)-6)>=0.01
x=randn(1,100)*sqrt(6);
end
这样生成的随机数列x,平均值约等于0,方差越等于6,误差不超过0.01。
当然你也可以把精度调得更高一些,但很可能很久都找不到合适的随机数。
mean()是求平均值,var()是求方差,
取随机数之后乘以sqrt(6)是因为randn()取出的随机数方差在1左右,所以要放大一下。
还有随机数的个数我这里是100个,你可以随意修改。
不过只有先生成随机数才有方差和均值,反过来可难了。
也只能使均值和方差近似等于0和6,
用下面方法:
x=randn(1,100)*sqrt(6);
while
abs(mean(x))>=0.01
|
abs(var(x)-6)>=0.01
x=randn(1,100)*sqrt(6);
end
这样生成的随机数列x,平均值约等于0,方差越等于6,误差不超过0.01。
当然你也可以把精度调得更高一些,但很可能很久都找不到合适的随机数。
mean()是求平均值,var()是求方差,
取随机数之后乘以sqrt(6)是因为randn()取出的随机数方差在1左右,所以要放大一下。
还有随机数的个数我这里是100个,你可以随意修改。
彩驰科技
2024-11-22 广告
2024-11-22 广告
互联网算法备案平台,专业代理代办,快速响应,高效办理!专业代理代办,快速办理,让您省时省力!专业团队为您提供优质服务,让您的互联网算法备案更顺利!咨询电话:13426378072,13436528688...
点击进入详情页
本回答由彩驰科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询