您好,欢迎访问三七文档
蒙特卡洛算法主要用在求解最优化模型(多约束非线性规划问题)上,图像采样的问题,是以一系列随机数来模拟过程,解决问题的算法,但是求解时间很长。以概率和统计理论方法为基础的一种计算方法。将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解。步骤:Step1,根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致。比如在多约束非线性规划问题问题中,采用的是unifrnd函数。Step2,根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,进行随机模拟试验。Step3,根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。比如在多约束非线性规划问题问题中,采用的是循环随机抽样。Step4,按照所建立的模型进行仿真试验、计算,求出问题的随机解。Step5,统计分析模拟试验结果,给出问题的概率解以及解的精度估计。(其精度检验需要手工来操作,因为涉及查表,但是需要在matlab里面加入计算概率的语句。)代码:《Matlab在数学建模中运用》Test1.m文件实现的是122/xxy;例题:随机数生成方式:更为详细的在:=CF2pgipej6-j1p8V8IfxM_XDs2gRSsNBjUxgztOmfPP4d89txs0M06Yy__O48tTfY549WGn26_cW8o5jLuHdalO42KgjERnD8ZalfowTnWO=N5b5_BfgHTlzlA5OeFooJsyMJPZPBgFddYfTo4X59iSy0JAgDw2riIHiivkxLmzsQS9BkxAxU9j4ABlGDQtcpEAgxPT6wYaX1Wc_2ytvJnaRand(n),,rand(n,m)Matlabbetarnd贝塔分布的随机数生成器binornd二项分布的随机数生成器chi2rnd卡方分布的随机数生成器exprnd指数分布的随机数生成器frndf分布的随机数生成器gamrnd伽玛分布的随机数生成器geornd几何分布的随机数生成器hygernd超几何分布的随机数生成器lognrnd对数正态分布的随机数生成器nbinrnd负二项分布的随机数生成器ncfrnd非中心f分布的随机数生成器nctrnd非中心t分布的随机数生成器ncx2rnd非中心卡方分布的随机数生成器normrnd正态(高斯)分布的随机数生成器poissrnd泊松分布的随机数生成器raylrnd瑞利分布的随机数生成器trnd学生氏t分布的随机数生成器unidrnd离散均匀分布的随机数生成器unifrnd连续均匀分布的随机数生成器weibrnd威布尔分布的随机数生成器Matlab自己产生的随机数:normrnd可以生成一定均值和标准差的正态分布gamrnd可以生成gamma分布的伪随机数矩阵chi2rnd可以生成卡方分布的伪随机数矩阵trnd可以生成t分布的伪随机数矩阵frnd可以生成f分布的伪随机数矩阵raylrnd可以生成rayleigh分布的伪随机数矩阵
本文标题:蒙特卡洛算法
链接地址:https://www.777doc.com/doc-2023905 .html