★1-1.模拟追逐问题

在二维情况下,写出导弹A追逐导弹B时的位置、速度迭代计算公式(采用Euler算法)。设导弹A位置为(xA,yA),速度大小恒为vA,方向始终对准导弹B;导弹B的位置为(xB,yB),速度为(vxB,vyB),其加速度(axB,ayB)为常矢量。

 

★1-2.Euler算法的稳定性

给定一阶微分方程:(p是正的常数),写出其Euler算法数值解的迭代公式和稳定性条件。 Euler算法迭代公式:;稳定性条件:|1-p*Δt|<1,即Δt<2/p。

稳定性的推导过程:

 

★2-1.Runge-Kutta算法

给定一阶微分方程:(a、b是正的常数),写出其Runge-Kutta算法数值解的迭代公式,并分析其误差估算方法。

其中,Runge-Kutta算法迭代公式:

误差估算:Runge-Kutta算法具有四阶精度,即全局误差En正比于。设Δt=0.2时,t从0迭代到tmax时,y的估值为y1;而Δt=0.1时,t从0迭代到tmax时,y的估值为y2;设y的真实值为ya,则,可得,所以全局误差,由此也可以估算出真实值

★2-2.给定一阶微分方程:,初条件:t=0时,y=1。①写出Runge-Kutta算法迭代公式;②步长分别取Δt=4和Δt=2,计算t=4时y的估值y1和y2;③对于Δt=2,t=4时y的估值y2与真实值ya间的误差是多少? Runge-Kutta算法迭代公式:

取Δt=4,列表计算各值:

ntnynk1k2k3k4
001080801280
14    

取Δt=2,列表计算各值:

ntnynk1k2k3k4
00105580
12804054051280
24    

Δt=2,t=4时的误差

 

★3-1.梯形法一维数值积分

给定被积函数f(x),积分区间[a,b],写出其梯形法数值积分公式,并分析误差En与分割数n的关系。 梯形积分公式: 其中 误差En正比于 。设 时,积分估值为,而 时,积分估值为 ,设积分真实值为 ,则有 ,可得 ,即误差 ,估算真实为

梯形法一维数值积分的算法实现。

给定被积函数f(x)=exp(-x),用梯形法计算其在[0,1]区间的积分,输出结果和误差。

看上去很长,但核心的部分并没那么复杂,去掉无关紧要的部分,可以写成下面的样子。虽然和上面的写法不同,但思路是一样的。

给定被积函数,积分区间[0,4],采用梯形法,分别计算分割数n=2和4时的积分估值,进一步计算n=4时积分真实值与估值间的误差。 列表计算各点函数值:

f(0)f(1)f(2)f(3)f(4)
05804051280

n=2时,; n=4时,; n=4时的误差,也就是真实值

★3-2.辛普森法一维数值积分。

给定被积函数f(x),积分区间[a,b],写出其辛普森法数值积分公式,并分析误差En与分割数n的关系。 辛普森积分公式:

或,

其中, 误差正比于。设n=1024时,积分估值为,而n=2048时,积分估值为,设积分真实值为,则有,可得,即误差。对比梯形法、辛普森法积分公式可以发现,

辛普森法一维数值积分的算法实现

给定被积函数f(x)=exp(-x),用辛普森法计算其在[0,1]区间的积分,输出结果和误差。

就和梯形法一样,取出精化部分,就是下面的代码。

给定被积函数,积分区间[0,4],采用Simpson法,分别计算分割数n=2和4时的积分估值,进一步计算n=4时积分真实值与估值间的误差。 列表计算各点函数值:

f(0)f(1)f(2)f(3)f(4)
05804051280

n=2时,; n=4时,; n=4时的误差,也就是真实值

★4-1.二项分布随机数。

①概率分布函数:, ②生成方法(直接法):

③举例:投掷一个色子6次,出现4次1点朝上的概率是多少?最有可能出现几次1点朝上?其概率是多少?(设色子掷出以后各面朝上的概率均平等)这里,则。最有可能出现次,其概率

★4-2.泊松分布随机数。

①概率分布函数:,它是二项分布的极限分布(n很大、q很小,λ=n*q)。 ②生成方法(直接法):

上面的函数,每次运行都会生成一个整数字,这个数字的出现符合泊松分布。例如 lamda = 5时,并执行这个函数 100 次,会发现出现的数字 这有图

★4-3.均匀分布随机数。

①概率密度函数(已归一化∫(p(x),a:b)dx=1):, ②生成方法(反变换法):分布函数均匀分布随机数,得到抽样公式:

★4-4.指数分布随机数。

①概率密度函数(已归一化):, ②生成方法(反变换法):分布函数均匀分布随机数,所以

★4-5.正态分布随机数。

①概率密度函数:,其中u为期望值(平均值),σ为单次测量的标准偏差, ②生成方法(直接法):

★4-6.混合同余法(线性同余法)

产生[0,1)均匀分布的随机数:

★5-1.Monte-Carlo积分法之一:偶然命中法(hit or miss method)

描述算法步骤,约束条件。 约束条件:, 算法步骤:

★5-2.Monte-Carlo积分法之二:平均抽样法(sample mean method)

描述算法步骤,并做误差分析。 算法步骤:

误差分析:f(x)抽样结果的方差,积分估值与真实值之间的误差(平均值的标准偏差)。

★5-3.Monte-Carlo积分法之三:重要抽样法(importance sampling method)

对于定积分,引入概率密度函数p(x),它满足,且p(x)在积分域内的函数形状与f(x)接近,即使得的方差更小,这样定积分可改写为,它表示当x满足概率密度p(x)分布时,的平均值。 算法步骤: (1)根据概率密度函数p(x)产生随机点x,例如采用反变换法进行抽样。 (2)求出各抽样点x的函数值f(x)/p(x),并将所有点的该函数值叠加起来除以抽样点数n就得到积分结果。

应用举例:用重要抽样法计算定积分,其中,取概率密度函数。根据归一化条件,分析A的取值,写出相应的概率密度获取函数;采用反变换法推导x的抽样公式,写出相应的抽样函数。最后调用重要抽样算法估算积分值,并给出误差估算。

★5-4.Metropolis抽样算法产生满足某概率密度函数p(x)(不一定归一化)分布的随机数的方法步骤。

抽样算法步骤: (1)选择一个尝试位置xt=x[i]+δi,δi是[-δ,δ)均匀分布随机数; (2)计算w=p(xt)/p(x[i]); (3)如果w>=1或rnd()<w,则接受改变x[i+1]=xt;否则不接受改变,即x[i+1]=x[i]。

应用举例:用Metropolis抽样算法计算如下积分:【x是满足概率密度函数p(x)分布的随机数,p(x)可以不必归一化】,其中

★6-1.二维随机行走的算法步骤

设行走者向上、右、下、左等4个方向行走的概率分别为p1、p2、p3、p4(p1+p2+p3+p4=1),产生[0, 1)均匀随机数r,如果∑(pj,0≤j≤i-1) ≤ r < ∑(pj,0≤j≤i),则让行走者往第i个方向走。比如: p1+p2 ≤ r < p1+p2+p3 ,则往第3个方向行走,即向下走。

★6-2.二维随机行走的统计规律

设行走者向上、右、下、左各方向行走的概率分别为pt、pr、pb、pl(pt+pr+pb+pl=1),每次行走的步长均为L,则行走N步后行走者的位置统计结果为: x平均值: x方差: y平均值: y方差: 距离R方差: