数学建模--蒙特卡洛模型的Python实现

目录

1.算法思想简介

2.算法应用1:问题一阐述

3.算法应用1:问题一解决

4.算法应用2:问题二阐述

5.算法应用2:问题二解决


1.算法思想简介

复制代码
#蒙特卡洛算法思想
"""
蒙特卡洛方法的理论其实很类似于概率论中一个比较重要的定理---大数定律。
其基本原理简单描述是先大量模拟,然后计算一个事件发生的次数,再通过这个发生次数除以总模拟次数,得到想要的结果。
这个时候我们在样本足够大的情况下我们认为这个事件发生的概率等于实验所得到的结果
"""

2.算法应用1:问题一阐述

复制代码
"""
Question1:
计算圆周率pi(Π)值
实验原理:
在正方形内部有一个相切的圆,圆面积/正方形面积之比是(PixRxR)/(2Rx2R)= Pi/4。
在这个正方形内随机产生n个点,假设点落在圆内的概率为P,那么P=圆面积/正方形面积,P= Pi/4。
如何计算点落在圆内的概率P?
可以计算点与中心点的距离,判断是否落在圆的内部,若这些点均匀分布,用M表示落到圆内投点数,N表示总的投点数,则圆周率Pi=4P=4xM/N。
"""

3.算法应用1:问题一解决

python 复制代码
#第一题求解代码
#我们假设r=1,a=0,b=0
import numpy as np
def Qustion1(n):
    r=1.0
    a=0
    b=0
    x_min=a-r
    x_max=a+r
    y_min=b-r
    y_max=b+r
    m=0#m是计算落在圆内的点的个数
    for i in range(n+1):
        x=np.random.uniform(x_min,x_max)
        y=np.random.uniform(y_min,y_max)
        if x*x+y*y<=1:
            m=m+1
    print("第一题的答案是:",4*(m/float(n)))
ans=Qustion1(1000000)
#cout:第一问题的答案是: 3.141468

4.算法应用2:问题二阐述

python 复制代码
""""
Question2:
计算函数定积分值:
实验原理:
若要求函数f(x)从a到b的定积分,我们可以用一个比较容易算得面积的矩型包围在函数的积分区间上(假设其面积为Area),
定积分值其实就是求曲线下方的面积。随机地向这个矩形框里面投点,统计落在函数f(x)下方的点数量占所有点数量的比例为P,
那么就可以据此估算出函数f(x)从a到b的定积分为Area*P。
此处我们将a和b设为0和1,函数f(x)=x^2。
"""

5.算法应用2:问题二解决

python 复制代码
#第二题求解代码
#此处我们将a和b设为0和1,函数f(x)=x^2。
def Question2(n):
    x_min=0
    y_min=0
    x_max=1
    y_max=1
    m=0
    for i in range(n+1):
        x=np.random.uniform(x_min,x_max)
        y=np.random.uniform(y_min,y_max)
        if y-x*x<0:
            m=m+1
    print("第二题的答案是:",m/float(n))
ans2=Question2(1000000)
#第二题的答案是: 0.334016
相关推荐
XLYcmy25 分钟前
PDF 论文处理器 — 改进方向与建议文档
python·pdf·llm·agent·dify·rag·harness
青柠之夏cc35 分钟前
前端拖拽功能原生实现,不引入拖拽库完成业务
开发语言·前端·python
曾晓森42 分钟前
OpenAI 兼容 API 接入山猫云:先核对分组和价格,再发最小请求
网络·python
OKkankan1 小时前
Python 高阶语法(一):高阶函数、闭包、lambda 与 functools——从底层真正理解装饰器
开发语言·python
智鸟科技GemeOpen开发者智能设备1 小时前
平安校园 AI 智能实时告警系统 智鸟科技·GemeOpen + 谷华科技·融合创新方案白皮书
java·开发语言·python·物联网·智能家居
Martina_03211 小时前
AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接
人工智能·游戏·数学建模·3d·unity·自然语言处理·aigc
Sand(ContextGate)2 小时前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai
空心木偶☜2 小时前
LangChain 概述
python·ai·langchain·ai编程
lie..2 小时前
30天从零开始学AI应用开发(Day 19):项目二完结:RAG 知识库问答系统,把自己攒的资料变成私人顾问
开发语言·人工智能·python
考研保研资料分享2 小时前
电子信息保研经验合辑:复旦直博与北邮集成电路,夏令营、预推免和专业面试
数学建模·面试·职场和发展·信息与通信