当前位置:首页>开发>正文

matlab随机变量为一般分布,如何搜索最优解 用matlab编一个小的搜索程序

2023-06-06 00:50:26 互联网 未知 开发

 matlab随机变量为一般分布,如何搜索最优解 用matlab编一个小的搜索程序

matlab随机变量为一般分布,如何搜索最优解

用randn()可以生成高斯分布的随机数。
不过只有先生百成随机数才有方差和均值,反过来可难了。

也只能使均值和方差近似等于0和6,
用下面方法:
x=randn(1,100)*sqrt(6)
while abs(mean(x))>=0.01 | abs(var(x)-6)>=0.0x=randn(1,100)*sqrt(6)
end

这样生成的随机数列x,平均值约度等于0,方差越等于6,误差不超过0.01。版
当然你也可以把精度调得更高一些,但很可能很久都找不到合适的随机数。

mean()是求平均值,var()是求方差,
取随机数之后乘以sqrt(6)是因为randn()取出的随机数方差在1左右,所以要放大权一下。

还有随机数的个数我这里是100个,你可以随意修改。
-

用matlab编一个小的搜索程序

假设你前面已经保存的(i,j)集合为数组A
当当前循环满足条件时,A=[A[i,j]]应该就可以了
A=[]
for i=1:dianshu
for j=1:dianshu
Rou0=1/(2*pi)/sigma1^2*exp(-(x(i)-mu1)^2 (y(j)-mu2)^2)/(2*sigma1^2)%如果
if Rou0==b %这是你的判断,是否满足条件(就随便写个b了)
A=[A[i,j]]%A就是满足条件的点的集合数组
end
end
end

matlab6.5有搜索功能吗

呵呵 tolx是优化工具箱的一个参数不是什么参数,你在MATLAB的帮助文档的搜索框中输入tolx就可以得到相关的东西你可以使用opitons=optimset(tolx,1e-6)修改tolx的值tolx就是x的绝对误差,因为MATLAB数值计算是,当x达到某个精度就认为是方程的根了

最新文章