蒙特卡罗法的概念及应用

蒙特卡洛法 (又称统计试验法)是描述装备运用过程中各种随机现象的基本方法,而且它特别适用于一些解析法难以求解甚至不可能求解的问题,因而在装备效能评估中具有重要地位。 用蒙特卡洛法来描述装备运用过程是1950年美国人约翰逊首先提出的。
这种方法能充分体现随机因素对装备运用过程的影响和作用。 更确切地反映运用活动的动态过程。 在装备 效能评估 中,常用蒙特卡洛法来确定含有随机因素的效率指标,如发现概率、 命中概率 、平均毁伤目标数等;模拟 随机服务系统 中的随机现象并计算其数字特征;对一些复杂的装备运用行动,通过合理的分解,将其简化成一系列前后相连的事件,再对每一事件用随机抽样方法进行模拟,最后达到模拟装备运用活动或运用过程的目的。

  **蒙特卡罗法的实质**蒙特卡罗法的实质:当无法求得精确解时,进行随机抽样,根据统计试验求近似解。

用蒙特卡洛法求非线性方程组的一组实根
代码如下

function root = Mont(f,B,x0,eps)
% f:方程表达式
% B:随机数区间
% x0:初始值
% eps:根的精度
format long
if(nargin == 3)eps = 1.0e-4;
end
Fx = subs(sym(f),findsym(sym(f)),x0);
while abs(Fx)>epsFx = subs(sym(f),findsym(sym(f)),x0);Fx1 = abs(Fx) + 10;while(abs(Fx1) >= abs(Fx))a = 2*B*rand() - B;x1 = x0 + a;Fx1 = subs(sym(f),findsym(sym(f)),x1);endx0 = x1;
end
root = x1;
function root = Erfen(f, a, b, epsilon)
%功能:蒙特卡罗法求非线性方程组f(x)=0的根
%输入参数:
%f是表示非线性函数f(x)的参数(变量),数据类型:函数句柄对象
%a--区间左端点, b--区间右端点, epsilon--控制精度的参数
%输出参数
%root--非线性方程f(x)= 0在[a, b]内的根
if f(a)*f(b)>0root=NaN;      %无解return
endwhile b-a>epsilonm=(a+b)/2;if f(a)*f(m)<=0b=m;elsea=m;end
endroot=(a+b)/2;end

输入以下代码
>>  f=@(x) x^3-2*x-5;
>> root=Erfen(f,2,3,1e-6)

蒙特卡洛法求非线性方程组相关推荐

  1. 求非线性方程组的最小二乘解的广义逆法C实现

    求非线性方程组的最小二乘解的广义逆法 #include "math.h"#include "stdlib.h"#include "6gmiv.c&qu ...

  2. Matlab 数值计算----二分法求非线性方程组

    bisect.m函数(二分法的实现算法) function[x_star,index,it]=bisect(fun,a,b) %求解非线性计算方程的二分法,其中,fun(x)为需要求根的函数; %a, ...

  3. 牛顿拉夫森法 matlab,【原创】牛顿-拉夫森迭代求非线性方程组

    function [xf,fval,iter]=newtmullt(e,x0,es,maxit,varargin) %     written by tubehu %     www.MATLABsk ...

  4. 二分法求非线性方程组Java_用C#编写二分法解一元非线性方程

    在计算方法里有一种求一元非线性方程的解法,叫做二分法. 简单介绍如下: 函数F(x)在区间[a,b] 上连续,假定在区间内有唯一实根,计为x* 二分法的思想为:首先确定有根区间,将区间二等分,通过判断 ...

  5. matlab求解不等式方程组解集,matlab求不等式方程组的可行解

    求高手用matlab解一个三元的方程组 我算的你这个解都是无穷大.具体过程如下:第一步:建立M文件函数myf.mfunctionf=myf(x)f(1)=600+x(1)*cos(10)+x(2)*s ...

  6. python牛顿法解非线性方程组_科学网—求解多元非线性方程组F(x)=0的Newton-Raphson方法及其MATLAB实现 - 王福昌的博文...

    科学网对公式支持不太好,在博客园有相同博文 牛顿迭代法可以推广到多元非线性方程组 $boldsymbol{F}(boldsymbol{x})=boldsymbol{0}$的情况,称为牛顿-- 拉夫逊方 ...

  7. matlab求解非线性常微分方程组,求一道用matlab编程解非线性方程组

    满意答案 a67211123t 2013.05.10 采纳率:53%    等级:12 已帮助:9981人 对于非线性方程组F(X)=0,用fsolve函数求其数值解.fsolve函数的调用格式为: ...

  8. 用matlab求解不等方程组,Matlab:求高人指点用matlab求解非线性方程组,解出来的值不收敛,提前结束...

    fsolve解非线性方程组,只迭代了8次就退出了,得到的结果进行复算不等于0,存在较大的误差.(是不是需要修改算法?) 运行程序得到的结果提示如下: x = 1.0e+003 * Columns 1 ...

  9. 用matlab求不动点迭代,科学网—数值分析--非线性方程组不动点迭代法matlab程序 - 殷春武的博文...

    %%%程序编写者  西北工业大学自动化学院    Email: yincwxa2013@mail.nwpu.edu.cn %%  All rights reserved clear clc x1=in ...

最新文章

  1. oss2模块和aliyun oss连接
  2. JSP获得客服端MAC地址
  3. 搭建 Verilog 仿真环境
  4. 云计算hcie贴吧_专业介绍|计算机网络技术
  5. c语言生成迷宫算法,[原创]递归随机迷宫生成算法详解
  6. Golang系列(三)之并发编程
  7. 王彪20162321 2017-2018程序设计与数据结构-第二学期-第一周学习总结
  8. 输入字符串按照单词逆序输出
  9. C语言实战项目:学生管理系统
  10. UC桌面 测试版本发布
  11. 在线JSON格式化-工具栈
  12. BUUCTF——CRYPTO(记录不熟悉的题)(4)
  13. Apache Pulsar PMC 成员翟佳:开源和 Apache 社区是个带有魔法的宝库
  14. 金海佳学C++primer9.45/9.46
  15. 关于Centos使用wget下载: 无法解析主机地址问题
  16. 推荐一个单干网赚好站!BUXJOB - 生活至上,美容至尚!
  17. 《The One !团队》:BETA Scrum metting2
  18. 手机ufs测试软件,UFS3.0效率有多快 一加7 Pro 500款APP测速挑战
  19. RabbitMQ中的死信及死信队列详解
  20. Java格式化日期 微秒

热门文章

  1. 用python产生4位随机数
  2. 女助理没有订到会议室,被领导训了一顿,冤不冤?
  3. php 往上取整,PHP取整,四舍五入取整、向上取整、向下取整、小数截取
  4. graph学习,GNN综述
  5. 换位思考:爱情要不要门当户对?
  6. hualinux dj3 2.1:jango REST framework(drf)的安装
  7. html语言 高亮代码,实现HTML网页代码高亮的几种选择
  8. 题目:运用指针知识,有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的那位是原来的第几号?
  9. java计算机毕业设计游戏论坛设计源码+数据库+系统+lw文档+部署
  10. 育儿品牌“亲宝宝”获数亿元C轮融资,好未来领投,顺为、复星跟投