随机游走问题的神奇应用(三)
二维变概率问题的Matlab GUI设计
- 一.方程的基本形式
- 二.基本框架的搭建
- 三.关键函数
一.方程的基本形式
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的数值解。
解法参考
二.基本框架的搭建
三.关键函数
随机游走函数:
function [uFinal,zeta,FirstPx,FirstPy,u] = possionRandomChangeGUI(xPoint,yPoint,a,b,c ,d ,e,q,f,Constrain,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仿真次数
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 Constrain(xValue,yValue)>0P = [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 == 1FirstPx = P(:,1);FirstPy = P(:,2);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
uFinal = u(N);
% xlabel('次数');
% ylabel('进化曲线');
% title('收敛过程');
end
两个按键的回调函数:
% --- Executes on button press in walk.
function walk_Callback(hObject, eventdata, handles)
% hObject handle to walk (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
af = str2func(get(handles.a,'String'));
bf = str2func(get(handles.b,'String'));
cf = str2func(get(handles.c,'String'));
df = str2func(get(handles.d,'String'));
ef = str2func(get(handles.e,'String'));
qf = str2func(get(handles.q,'String'));
hn = str2num(get(handles.h,'String'));
ff = str2func(get(handles.f,'String'));
Areaf = str2func(get(handles.Area,'String'));
xLP = str2num(get(handles.xL,'String'));
yLP = str2num(get(handles.yL,'String'));
N = str2num(get(handles.N,'String'));
[uFinal,zeta,FirstPx,FirstPy,u] = possionRandomChangeGUI(xLP,yLP,af,bf,cf ,df ,ef,qf,ff,Areaf,hn,N);
set(handles.uxy,'String',num2str(uFinal));
axes(handles.Imag1);
plot(FirstPx,FirstPy,'b.-');
xlabel('x');
ylabel('y');
title('第一次的轨迹');% --- Executes on button press in breakUp.
function breakUp_Callback(hObject, eventdata, handles)
% hObject handle to breakUp (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
af = str2func(get(handles.a,'String'));
bf = str2func(get(handles.b,'String'));
cf = str2func(get(handles.c,'String'));
df = str2func(get(handles.d,'String'));
ef = str2func(get(handles.e,'String'));
qf = str2func(get(handles.q,'String'));
hn = str2num(get(handles.h,'String'));
ff = str2func(get(handles.f,'String'));
Areaf = str2func(get(handles.Area,'String'));
xLP = str2num(get(handles.xL,'String'));
yLP = str2num(get(handles.yL,'String'));
N = str2num(get(handles.N,'String'));
[uFinal,zeta,FirstPx,FirstPy,u] = possionRandomChangeGUI(xLP,yLP,af,bf,cf ,df ,ef,qf,ff,Areaf,hn,N);
axes(handles.Imag1);
plot(1:N,u,'r-');
xlabel('次数');
ylabel('进化曲线');
title('收敛过程');
set(handles.uxy,'String',num2str(uFinal));
随机游走问题的神奇应用(三)相关推荐
- 随机游走问题的神奇应用(二)
变概率椭圆型方程的第一边值问题的随机游走求解 一.问题的提出 二.问题的分析 三.模型的推广 四.问题的求解 一.问题的提出 a(P)∂2u∂x2+b(P)∂2u∂y2+c(P)∂u∂x+d(P)∂u ...
- 随机游走问题的神奇应用(一)
泊松方程的随机游走求解 一.问题的提出 二.问题的求解 三.代码求解 可以用monteCarlo方法构建一个随机游走过程来求解偏微分方程. 一.问题的提出 求解二维泊松方程的第一边值问题如下: ∂ ...
- 时间序列举例--------协方差+相关系数+随机游走+平稳性
一. 时间序列的影响因素 (1) 长期趋势-------------这个是进行预测的三原则之一 (2) 循环变动或周期性----------------------预测的三原则之一 (3)季节性变动- ...
- KDD 2019 | 结合属性随机游走的图递归网络
今天给大家介绍德克萨斯A&M大学的Xiao Huang等人在KDD 2019发表的一篇文章"Graph Recurrent Networks with Attributed Rand ...
- 加速度随机游走_IMU Noise Model
1.参考资料 2.相关定义 高斯白噪声 概率上服从高斯分布,一阶矩(均值)是常数,二阶矩(方差)无关即时域上不同时刻的信号时不相关的噪声:或者说噪声的瞬时值服从高斯分布(高斯),功率谱密度又是均匀分布 ...
- 基于随机游走的图嵌入之快速指南
1. 背景 1.1 何为图嵌 图嵌入是利用节点属性.节点间拓扑关系将复杂.高维图数据进行向量化的一项技术. 图数据结构突破传统数据库按记录组织数据的限制,具备更灵活的现实数据建模能力.如何将图数据结构 ...
- 图机器学习 | 图信号处理、矩阵分解、随机游走和深度学习算法
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:专知 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 图是连 ...
- [转载] 随机游走和随机重启游走_网络动画API的随机游走
参考链接: 随机游走(Python实现) 随机游走和随机重启游走 I'm currently writing a demo that will use a small repeated random ...
- 随机系统(stochastic systems)——以随机游走为例
目录 文章目录 一杯咖啡是随机的吗? 随机游走与扩散 扩散定律是普适的 摩擦与扩散是一对双胞胎--爱因斯坦关系 爱因斯坦关系溯源--涨落耗散定理 一杯咖啡是随机的吗? 生活中有许多例子是牛顿力学基本能 ...
最新文章
- 11旋转编码器原理_科普小知识:八分钟了解电机编码器!
- Linux 搜索指令
- Addr、@运算符与Pointer类型
- matlab 获取系统时间now,date
- linux下的安装命令行工具下载,linux系统程序安装(二)yum工具2-yum源及包下载
- SCL定时 1500_iPhone12开售当天黄牛加价1500,哪里买最划算?
- duilib设置透明窗口_界面开发心得与Duilib | 学步园
- Angular6_PWA
- 旧调重弹-SetUnhandledExceptionFilter的使用问题
- 6-7Pytorch搭建cifar10训练脚本(下)
- 【Java】位运算符:左移右移
- CSS光标属性一览表
- MySQL不同数据类型如何表示_MySQL系列(二)--数据类型
- 想起“不能什么都是你来干”
- 魅蓝note3 android操作系统,魅族魅蓝Note3的内存容量是多少
- 100个Java实战项目视频+代码+笔记
- 20套莫兰迪灰色调LR预设/手机版APP滤镜合集 VEER 2020 Bundle 78in1
- 【转载】【常见缺陷分析技术】ODC缺陷分析法
- [每日100问][2011-10-06]iphone开发笔记,今天你肿了么
- 给手机安装sqlite3