随机游走问题的神奇应用(二)
变概率椭圆型方程的第一边值问题的随机游走求解
- 一.问题的提出
- 二.问题的分析
- 三.模型的推广
- 四.问题的求解
一.问题的提出
a(P)∂2u∂x2+b(P)∂2u∂y2+c(P)∂u∂x+d(P)∂u∂y+e(P)u(P)=q(P),p∈Du(Q)=f(Q),Q∈Γ=∂Da(P)\frac{\partial ^2u}{\partial x^2}+b(P)\frac{\partial ^2u}{\partial y^2}+c(P)\frac{\partial u}{\partial x}+d(P)\frac{\partial u}{\partial y}+e(P)u(P) = q(P),p\in D\\ u(Q) = f(Q),Q\in\Gamma = \partial D a(P)∂x2∂2u+b(P)∂y2∂2u+c(P)∂x∂u+d(P)∂y∂u+e(P)u(P)=q(P),p∈Du(Q)=f(Q),Q∈Γ=∂D
若a(P),b(P)>0,e(P)≤0a(P),b(P)>0,e(P)\leq 0a(P),b(P)>0,e(P)≤0求u(P),p∈Du(P),p\in Du(P),p∈D的数值解。
二.问题的分析
将上面的式子差分化之后得到的结果如下:
u=−h22WZ+W4(a+b)[(2a+hc)u11+(2a−hc)u12+(2b+hd)u13+(2b−hd)u14],P∈Du(Q)=f(Q)u = -\frac{h^2}{2}WZ+\frac{W}{4(a+b)}[(2a+hc)u_{11}+(2a-hc)u_{12}+(2b+hd)u_{13}+(2b-hd)u_{14}],P\in D\\ u(Q) = f(Q) u=−2h2WZ+4(a+b)W[(2a+hc)u11+(2a−hc)u12+(2b+hd)u13+(2b−hd)u14],P∈Du(Q)=f(Q)
其中u=u(P),a=a(P),b=b(P),c=c(P),d=d(P),e=e(P),q=q(P),u1j=u(P1j),Z=Z(P)=qa+b,W=W(P)=[1−h2e2(a+b)]−1u = u(P),a= a(P),b = b(P),c = c(P),d = d(P),e = e(P),q = q(P),u_{1j} = u(P_{1j}),Z = Z(P) = \frac{q}{a+b},W = W(P) = [1-\frac{h^2e}{2(a+b)}]^{-1}u=u(P),a=a(P),b=b(P),c=c(P),d=d(P),e=e(P),q=q(P),u1j=u(P1j),Z=Z(P)=a+bq,W=W(P)=[1−2(a+b)h2e]−1
且步长要满足如下条件:
h≤2minP∈Da(P)maxP∈D∣c(P)∣,h≤2minP∈Db(P)maxP∈D∣d(P)∣h\leq\frac{2min_{P\in D }a(P)}{max_{P \in D}|c(P)|},h\leq\frac{2min_{P\in D }b(P)}{max_{P \in D}|d(P)|} h≤maxP∈D∣c(P)∣2minP∈Da(P),h≤maxP∈D∣d(P)∣2minP∈Db(P)
那么需要构造的随机游动模型如下:
P(u→u11)=2a1j+hc1j4(a1j+b1j)P(u→u12)=2a1j−hc1j4(a1j+b1j)P(u→u13)=2b1j+hd1j4(a1j+b1j)P(u→u14)=2b1j−hd1j4(a1j+b1j)P(u \rightarrow u_{11}) = \frac{2a_{1j}+hc_{1j}}{4(a_{1j}+b_{1j})}\\ P(u \rightarrow u_{12}) = \frac{2a_{1j}-hc_{1j}}{4(a_{1j}+b_{1j})}\\ P(u \rightarrow u_{13}) = \frac{2b_{1j}+hd_{1j}}{4(a_{1j}+b_{1j})}\\ P(u \rightarrow u_{14}) = \frac{2b_{1j}-hd_{1j}}{4(a_{1j}+b_{1j})}\\ P(u→u11)=4(a1j+b1j)2a1j+hc1jP(u→u12)=4(a1j+b1j)2a1j−hc1jP(u→u13)=4(a1j+b1j)2b1j+hd1jP(u→u14)=4(a1j+b1j)2b1j−hd1j
一条随机游走的路线为:
ρP:P→P1→P2...→Pk−1→Q\rho_P :P\rightarrow P_1 \rightarrow P_2...\rightarrow P_{k - 1}\rightarrow Q ρP:P→P1→P2...→Pk−1→Q
这条路线映射的随机变量ζ\zetaζ为:
ζ=−h22∑m=0k−1(∏i=0mWi)Zm+(∏i=0k−1Wi)f(Q)\zeta = -\frac{h^2}{2}\sum_{m = 0}^{k- 1}(\prod_{i = 0}^mW_i)Z_m + (\prod_{i = 0}^{k - 1}W_i)f(Q) ζ=−2h2m=0∑k−1(i=0∏mWi)Zm+(i=0∏k−1Wi)f(Q)
由于Eζ=u(P)E\zeta = u(P)Eζ=u(P)在此处不证明,由大数定理:
u(P)∼1N∑j=1Nζju(P) \sim \frac{1}{N}\sum_{j = 1}^N\zeta_j u(P)∼N1j=1∑Nζj
三.模型的推广
若上面的模型能化成如下的推广形式:
u=Au11+Bu12+Cu13+Du14+F,P∈Du(Q)=f(Q),Q∈∂Du = Au_{11}+Bu_{12}+Cu_{13}+Du_{14}+F,P \in D\\ u(Q) = f(Q),Q \in \partial D u=Au11+Bu12+Cu13+Du14+F,P∈Du(Q)=f(Q),Q∈∂D
其中:
A=A(P)=k(ah2+c2h)B=B(P)=k(ah2−c2h)C=C(P)=k(bh2+d2h)D=D(P)=k(bh2−d2h)F=F(P)=−kqk=(2a+2bh2−e)−1A = A(P) = k(\frac{a}{h^2} +\frac{c}{2h})\\ B = B(P) = k(\frac{a}{h^2} - \frac{c}{2h})\\ C = C(P) = k(\frac{b}{h^2} + \frac{d}{2h})\\ D = D(P) = k(\frac{b}{h^2} - \frac{d}{2h})\\ F = F(P) = -kq\\ k = (\frac{2a+2b}{h^2}-e)^{-1} A=A(P)=k(h2a+2hc)B=B(P)=k(h2a−2hc)C=C(P)=k(h2b+2hd)D=D(P)=k(h2b−2hd)F=F(P)=−kqk=(h22a+2b−e)−1
如果我们要求a,b≥0,e≤0a,b \geq 0,e\leq0a,b≥0,e≤0,且A,B,C,D∈[0,1],∀P∈D,A+B+C+D≤1A,B,C,D\in [0,1],\forall P \in D,A+B+C+D\leq1A,B,C,D∈[0,1],∀P∈D,A+B+C+D≤1。我们就可以构造以下的随机游动模型:
P(u→u11)=AP(u→u12)=BP(u→u13)=CP(u→u14)=DP(u→u)=1−(A+B+C+D)P(u \rightarrow u_{11}) = A\\ P(u \rightarrow u_{12}) = B\\ P(u \rightarrow u_{13}) = C\\ P(u \rightarrow u_{14}) = D\\ P(u \rightarrow u) = 1-(A+B+C+D) P(u→u11)=AP(u→u12)=BP(u→u13)=CP(u→u14)=DP(u→u)=1−(A+B+C+D)
产生如下的游走路线:
ρP:P=P0→P1→P2...→Pk−1→Q\rho_P :P = P_0\rightarrow P_1 \rightarrow P_2...\rightarrow P_{k - 1}\rightarrow Q ρP:P=P0→P1→P2...→Pk−1→Q
取的随机变量如下:
ζ=∑i=0k−1F(Pi)+f(Q)\zeta = \sum_{i = 0}^{k-1}F(P_i)+f(Q) ζ=i=0∑k−1F(Pi)+f(Q)
由大数定律:
u(P)∼1N∑j=1Nζju(P) \sim \frac{1}{N}\sum_{j = 1}^N\zeta_j u(P)∼N1j=1∑Nζj
四.问题的求解
假设我们要求得方程为以下形式:
14∂2u∂x2+18∂2u∂y2+12∂u∂x+12∂u∂y=x+2y+1,P∈D:x2+2y2≤2\frac{1}{4}\frac{\partial^2u}{\partial x^2} +\frac{1}{8}\frac{\partial^2u}{\partial y^2}+\frac{1}{2}\frac{\partial u}{\partial x} +\frac{1}{2}\frac{\partial u}{\partial y} = x+2y+1,P \in D :x^2+2y^2 \leq2 41∂x2∂2u+81∂y2∂2u+21∂x∂u+21∂y∂u=x+2y+1,P∈D:x2+2y2≤2
且边界条件为:
u(Γ)=2,Γ=∂Du(\Gamma) = 2,\Gamma = \partial D u(Γ)=2,Γ=∂D
这个方程的解析解是:
u=x2+2y2u = x^2+2y^2 u=x2+2y2
现求该方程在u(0.1,0.1)u(0.1,0.1)u(0.1,0.1)处的数值计算的代码及值和第一次的随机游走过程。
现在我们求步长的要求值:h≤0.5h\leq 0.5h≤0.5,取h=0.05h = 0.05h=0.05。
function [uFinal,zeta] = possionRandomChange(xPoint,yPoint,h,N)
%UNTITLED 求a = 1/4;b = 1/8;c = 1/2;d = 1/2;e = 0;q = x+2y+1 在u(L) = 2边界条件
% [xPoint,yPoint]表示该点坐标,h仿真步长,N仿真次数
a = @(x,y)1/4; % 函数
b = @(x,y)(1/8);
c = @(x,y)1/2;
d = @(x,y)1/2;
e = @(x,y)0;
q = @(x,y)(x+2*y+1);
f = @(x,y)2;
u = zeros(1,N);
W = @(x,y)(1-h^2*e(x,y)/(2*(a(x,y)+b(x,y))))^(-1);
Z = @(x,y)(q(x,y)/(a(x,y)+b(x,y)));
for i = 1:NsumV = 0;xValue = xPoint;yValue = yPoint;P = [xValue ,yValue];Ws = 1;%以下是游走过程while(1)if (xValue)^2+2*(yValue)^2>=2P = [P;xValue,yValue];break;endA = (2*a(xValue,yValue)+h*c(xValue,yValue))/(4*(a(xValue,yValue)+b(xValue,yValue)));B = (2*a(xValue,yValue)-h*c(xValue,yValue))/(4*(a(xValue,yValue)+b(xValue,yValue)));C = (2*b(xValue,yValue)+h*d(xValue,yValue))/(4*(a(xValue,yValue)+b(xValue,yValue)));D = (2*b(xValue,yValue)-h*d(xValue,yValue))/(4*(a(xValue,yValue)+b(xValue,yValue)));randNumber = randsrc(1,1,[[0 1 2 3];[A C B D]]);switch (randNumber)case 0xValue = xValue + h;yValue = yValue;case 1xValue = xValue ;yValue = yValue + h;case 2xValue = xValue - h ;yValue = yValue ; case 3xValue = xValue;yValue = yValue - h;endP = [P;xValue,yValue];end%以下是画图过程if i == 1subplot(121);grid on;plot(P(:,1),P(:,2),'b.-');title('第一次轨迹');end%以下是计算过程[m,n] = size(P);for j = 1:m-1Ws = Ws*W(P(j,1),P(j,2));sumV = sumV + Ws*Z(P(j,1),P(j,2));endzeta(i) = -h^2/2*sumV + Ws*f(P(m,1),P(m,2));u(i) = sum(zeta(1:i))/i;
end
subplot(122);
grid on ;
uFinal = u(N);
plot(1:N,u,'r');
xlabel('次数');
ylabel('进化曲线');
title('收敛过程');
end
输入命令行指令:
[uFinal,zeta] = possionRandomChange(0.5,0.5,0.01,1000);
最后的理论结果是:
0.709698130666665;
画出来的结果是:
我只能说这个随机游走求解问题的手段效率有点太低了,收敛的时间过长了,而且和理论值的偏差也有点大,实际值为0.710.710.71,理论值为0.750.750.75。
随机游走问题的神奇应用(二)相关推荐
- 随机游走问题的神奇应用(三)
二维变概率问题的Matlab GUI设计 一.方程的基本形式 二.基本框架的搭建 三.关键函数 一.方程的基本形式 a(P)∂2u∂x2+b(P)∂2u∂y2+c(P)∂u∂x+d(P)∂u∂y+e( ...
- 随机游走问题的神奇应用(一)
泊松方程的随机游走求解 一.问题的提出 二.问题的求解 三.代码求解 可以用monteCarlo方法构建一个随机游走过程来求解偏微分方程. 一.问题的提出 求解二维泊松方程的第一边值问题如下: ∂ ...
- python二维随机游走_利用python进行时间序列分析——从随机游走到GARCH模型(二)...
Autoregressive Models - AR(p) 当因变量能由它的多个滞后项表示就叫做自回归性.公式如下: 当我们描述模型的阶数,比如,AR模型的阶数为怕p,p代表在这个模型里用的滞后数量. ...
- garch模型python步骤_利用python进行时间序列分析——从随机游走到GARCH模型(二)...
Autoregressive Models - AR(p) 当因变量能由它的多个滞后项表示就叫做自回归性.公式如下: 当我们描述模型的阶数,比如,AR模型的阶数为怕p,p代表在这个模型里用的滞后数量. ...
- 时间序列举例--------协方差+相关系数+随机游走+平稳性
一. 时间序列的影响因素 (1) 长期趋势-------------这个是进行预测的三原则之一 (2) 循环变动或周期性----------------------预测的三原则之一 (3)季节性变动- ...
- 重启随机游走算法(RWR:Random Walk with Restart)
重启随机游走算法(RWR:Random Walk with Restart) 1 pagerank算法的基本原理 Pagerank算法是Google的网页排名算法,由拉里佩奇发明.其基本思想是民主表决 ...
- 加速度随机游走_IMU Noise Model
1.参考资料 2.相关定义 高斯白噪声 概率上服从高斯分布,一阶矩(均值)是常数,二阶矩(方差)无关即时域上不同时刻的信号时不相关的噪声:或者说噪声的瞬时值服从高斯分布(高斯),功率谱密度又是均匀分布 ...
- 图机器学习 | 图信号处理、矩阵分解、随机游走和深度学习算法
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:专知 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 图是连 ...
- 随机系统(stochastic systems)——以随机游走为例
目录 文章目录 一杯咖啡是随机的吗? 随机游走与扩散 扩散定律是普适的 摩擦与扩散是一对双胞胎--爱因斯坦关系 爱因斯坦关系溯源--涨落耗散定理 一杯咖啡是随机的吗? 生活中有许多例子是牛顿力学基本能 ...
最新文章
- 适用于SharePoint 2013 的 CAML Desinger
- 17个提升iOS开发效率的神器
- 二值信号量和互斥锁到底有什么区别?
- 单独部署activemq-web-console (转载)
- go int 转切片_DW-Go语言编程-Task06-数组、切片
- LOJ - #116. 有源汇有上下界最大流(有源汇有上下界的最大流)
- Spring Boot(一)入门篇
- 数据分析 -- 流程
- ILSVRC2016
- 笔记本计算机运行程序,这几招让你的笔记本电脑运行速度变快 必学技巧
- 固态硬盘SSD格式化后,数据恢复的可能性有多大?
- 编程思维---排他思想
- 《操作系统真象还原》——0.25 指令集、体系结构、微架构、编程语言
- 用户输入一个整数,求出它的各个位数,并求各位数之和
- 74HC595 芯片详细介绍
- tortoise set autocrlf convert
- ssh登录极路由后台_使用小米路由3G,让普通打印机变成网络打印机
- 计算机术语中cae,厉害了 揭秘汽车设计中CAE仿真技术
- python网络数据采集 Tesseract
- 基于百度AI在ROS上实现人体检测功能