【GAMES101】Lecture 16 蒙特卡洛积分

2024-02-05 01:36

本文主要是介绍【GAMES101】Lecture 16 蒙特卡洛积分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为了后面要讲的路径追踪,需要讲一下这个蒙特卡洛积分,同时需要回顾一下高等数学中的微积分和概率论与统计学的知识 

目录

微积分

概念论与统计

蒙特卡洛积分


微积分

定积分是微积分中的一种重要概念,用于计算函数在一个区间上的总体积、总面积或总量,对于一个实函数 f(x),定积分可以表示为∫[a, b] f(x) dx,其中 [a, b] 是积分区间,f(x) 是被积函数,dx 表示与自变量 x 相关的微小增量

不定积分是微积分中的一种概念,用于求解函数的原函数(或称为反导函数),可以理解为找到一个函数 F(x),使得 F'(x) = f(x),其中 F'(x) 表示函数 F(x) 的导数,这个函数 F(x) 就是函数 f(x) 的不定积分

不定积分可以用来求解定积分的值:如果在一个区间上求出了函数 f(x) 的一个原函数 F(x),那么在该区间上的定积分 ∫[a, b] f(x) dx 就等于 F(b) - F(a)

概念论与统计

对于一个连续的随机变量X,它的取某个值的概率由概率分布函数给出,也就是PDF

根据概率的特性,概率p是非负的,而且PDF的积分等于1,该随机变量的数学期望可以通过xp(x)dx的积分得到

如果Y = f(X),那么Y的数学期望可以这样算

蒙特卡洛积分

上面说过,定积分可以用来计算函数在某个区间的面积,可以通过函数的不定积分来计算,但是如果这个函数的不定积分的式子很难找到或者无法表示呢,那通过不定积分来计算定积分就比较困难

定积分本质思想是无穷累加,把区间[a,b]之间的宽为dx高为f(x)的长方形面积都加起来作为定积分的结果,而蒙特卡洛积分则是通过随机采样x,以f(x)为高、区间长度为宽计算面积,并通过多次采样取平均面积作为积分的结果

具体来说,从数学上定义蒙特卡洛积分,它的值就是随机采样x的函数值f(x)除以采样的概率p(x)再累加求平均

举个例子,假设采样是均匀采样,那么采样的概率都是1/(b-a)

那么蒙特卡洛积分的结果就是下面这个式子

这篇关于【GAMES101】Lecture 16 蒙特卡洛积分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/679400

相关文章

【JavaScript】LeetCode:16-20

文章目录 16 无重复字符的最长字串17 找到字符串中所有字母异位词18 和为K的子数组19 滑动窗口最大值20 最小覆盖字串 16 无重复字符的最长字串 滑动窗口 + 哈希表这里用哈希集合Set()实现。左指针i,右指针j,从头遍历数组,若j指针指向的元素不在set中,则加入该元素,否则更新结果res,删除集合中i指针指向的元素,进入下一轮循环。 /*** @param

微积分-积分应用5.4(功)

术语“功”在日常语言中用来表示完成一项任务所需的总努力量。在物理学中,它有一个依赖于“力”概念的技术含义。直观上,你可以将力理解为对物体的推或拉——例如,一个书本在桌面上的水平推动,或者地球对球的向下拉力。一般来说,如果一个物体沿着一条直线运动,位置函数为 s ( t ) s(t) s(t),那么物体上的力 F F F(与运动方向相同)由牛顿第二运动定律给出,等于物体的质量 m m m 与其

16 子组件和父组件之间传值

划重点 子组件 / 父组件 定义组件中:props 的使用组件中:data 的使用(有 return 返回值) ; 区别:Vue中的data (没有返回值);组件方法中 emit 的使用:emit:英文原意是:触发、发射 的意思components :直接在Vue的方法中声明和绑定要使用的组件 小炒肉:温馨可口 <!DOCTYPE html><html lang="en"><head><

react笔记 8-16 JSX语法 定义数据 数据绑定

1、jsx语法 和vue一样  只能有一个根标签 一行代码写法 return <div>hello world</div> 多行代码返回必须加括号 return (<div><div>hello world</div><div>aaaaaaa</div></div>) 2、定义数据 数据绑定 constructor(){super()this.state={na

打靶记录16——Momentum

靶机: https://download.vulnhub.com/momentum/Momentum.ova 下载后使用 VirtualBox 打开 难度:中 目标:取得 root 权限 + 2 Flag 攻击方法: 主机发现端口扫描信息收集Web 路径爆破XSS 漏洞JS 脚本分析AES 解密Redis 认证漏洞 主机发现 sudo arp-scan -l 端口扫描和服务发

应届生入职练手习题-蒙特卡洛算法(1.5H)

应届生入职练手习题 [编辑] 模拟射击,根据命中概率来求PI 要求:假设有一个半径为1000的圆形靶子(具体单位没有意义,不用写),我们随意对其进行射击,那么,统计所有落在圆形外接正方形中的弹着点,可以很容易得知:命中这个圆形靶子的概率是圆形的面积与外接方形面积的比 目的:检验编程风格和实现效率 要解这个题目就得有对蒙特卡洛算法的了解,原理如下 在数值积分法中,利用求单位圆的1/4的面积

变速积分PID控制算法

变速积分PID控制算法 变速积分PID控制算法:变速积分PID的基本思想:变速积分的PID积分项表达式: 注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者! 变速积分PID控制算法: 在普通的PID控制算法中,由于积分系数 k i k_i ki​是常数,所以在整个控制过程中,积分增量不变。而系统对积分项的要求是,系统偏差大

梯形积分PID控制算法

梯形积分PID控制算法 梯形积分PID控制算法: 注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者! 梯形积分PID控制算法: 在PID控制律中积分项的作用是消除余差,为了减小余差,应提高积分项的运算精度,为此,可将矩形积分改为梯形积分。梯形积分的计算公式: ∫ 0 t e ( t ) d t = ∑ i = 0 k e

抗积分饱和PID控制算法

抗积分饱和PID控制算法 抗积分饱和PID控制算法:1.积分饱和现象:2.抗积分饱和算法: 注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者! 抗积分饱和PID控制算法: 1.积分饱和现象: 所谓积分饱和现象是指若系统存在一个方向偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构到达极限位置 X m

积分分离PID控制算法

积分分离PID控制算法 积分分离PID控制:积分分离控制基本思路:积分分离控制算法表示:积分分离式PID控制算法程序流程图: 注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者! 积分分离PID控制: 在普通的PID控制中引入积分环节的目的,主要为了消除静差,提高控制精度。但在过程启动、结束或大幅度增减设定时,短时间内系统输出