随机微分方程的MATLAB数值求解

news2024/11/24 17:11:05

在这里插入图片描述
在这里插入图片描述

dt=0.01;
tout=200; %总时间为2
x=zeros(1,tout);
x(1)=0.5; %初始位置
mu=0.2; sigma=1;
Wt=sqrt(dt)*randn(1,tout); %产生随机序列Wt
for t=1:tout-1
    x(t+1)=x(t)+mu*x(t)*dt+sigma*x(t)*Wt(t);
end
t1=1:10:tout; %对原时间序列进行抽样
xt=zeros(1,length(t1));
i=1;
for t=t1
    xt(i)=0.5*exp((mu-0.5*sigma^2).*dt*t+ ...
        sigma*sum(Wt(1:t))); %使用理论解对原序列进行抽样计算
    i=i+1;
end
plot(dt*(1:tout),x,LineWidth=1.5)
hold on
plot(dt*t1,xt,LineWidth=1.5)
hold off
xlabel("$t$",FontSize=20,Interpreter="latex")
dt=0.01;
tout=200;
n=10000;
tends=zeros(1,n);
x=zeros(1,tout);
x(1)=0.1;
mu=0.2; sigma=1;
for k=1:n
    Wt=sqrt(dt)*randn(1,tout); %产生随机序列Wt
    for t=1:tout-1
        x(t+1)=x(t)+mu*x(t)*dt+sigma*x(t)*Wt(t);
    end
    tends(k)=x(end);
end
histogram(tends,200)
dt=0.01;
tout=200;
x=zeros(1,tout);
x(1)=0; %初始位置
mu=5; sigma=2;
for i=1:5
    Wt=sqrt(dt)*randn(1,tout); %产生随机序列Wt
    for t=1:tout-1
        x(t+1)=x(t)-mu*x(t)*dt+sigma*Wt(t);
    end
    plot(dt*(1:tout),x,LineWidth=1.5)
    hold on
end
xlabel("$t$",FontSize=20,Interpreter="latex")
hold off
dt=0.01;
tout=200;
x=zeros(1,tout);
x(1)=0; %初始位置
mu=5; sigma=2;
tends=zeros(1,100000);
for i=1:100000
    Wt=sqrt(dt)*randn(1,tout); %产生随机序列Wt
    for t=1:tout-1
        x(t+1)=x(t)-mu*x(t)*dt+sigma*Wt(t); %Langevin方程
    end
    tends(i)=x(end);
end
s1=sqrt((1-exp(-2*mu*dt*tout))/(2*mu))*sigma;
histogram(tends,Normalization="pdf")
hold on 
plot(-3:0.1:3,1/sqrt(2*pi*s1^2)* ...
    exp(-(-3:0.1:3).^2/(2*s1^2)),LineWidth=1.5) %理论分布
hold off
dt=0.01;
tout=100;
x=zeros(1,tout); 
x(1)=0; %初始位置
y=x;

for i=1:20
    Wtx=sqrt(dt)*randn(1,tout); %产生随机序列Wtx
    Wty=sqrt(dt)*randn(1,tout); %产生随机序列Wty
    for t=1:tout-1
        x(t+1)=x(t)+Wtx(t); %布朗运动
        y(t+1)=y(t)+Wty(t);
    end
    
    patch([x,NaN],[y,NaN],[1:tout,NaN],LineWidth=1.5,EdgeColor='interp')
    colormap('jet')
end
xlabel("$x$",FontSize=20,Interpreter="latex")
ylabel("$y$",FontSize=20,Interpreter="latex")

^Sauer T. Computational solution of stochastic differential equations[J]. Wiley Interdisciplinary Reviews: Computational Statistics, 2013, 5(5): 362-371. https://wires.onlinelibrary.wiley.com/doi/full/10.1002/wics.1272

详见知乎:https://zhuanlan.zhihu.com/p/666480835?utm_campaign=&utm_medium=social&utm_oi=1315073218793488384&utm_psn=1710572578152996864&utm_source=qq

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1237060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单例设计模式是什么?什么是 Singleton 单例设计模式?Python 单例(单件)设计模式示例代码

什么是 Singleton 单例设计模式? 单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。 主要思想: 单例模式确保某个类只有一个实例,并提供了一个访问该实例的全局访问点。它…

Go 实现网络代理

使用 Go 语言开发网络代理服务可以通过以下步骤完成。这里,我们将使用 golang.org/x/net/proxy 包来创建一个简单的 SOCKS5 代理服务作为示例。 步骤 1. 安装 golang.org/x/net/proxy 包 使用以下命令安装 golang.org/x/net 包,该包包含 proxy 子包&am…

anaconda安装配置

创建分区 conda create -n cpu 安装Cpu版本 https://pytorch.org/ conda install pytorch torchvision torchaudio cpuonly -c pytorch 激活环境 conda activate cpu 验证 退出当前分区 conda deactivate 安装GPU版本 创建分区conda create -n gpu 激活环境 conda…

应对数据爆炸时代,揭秘向量数据库如何成为AI开发者的新宠,各数据库差异对比

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…

Python 跨文件夹导入自定义包

一、问题再现 有时我们自己编写一些模块时,跨文件夹调用会出现ModuleNotFoundError: No module named XXX 二、解决方案 只需要在下层文件夹中的__init__.py文件中,添加如下代码即可: import sys from os import path sys.path.append(pa…

NX二次开发UF_CAM_PREF_ask_integer_value 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_PREF_ask_integer_value Defined in: uf_cam_prefs.h int UF_CAM_PREF_ask_integer_value(UF_CAM_PREF_t pref, int * value ) overview 概述 This function provides the …

【2021集创赛】Diligent杯一等奖:基于Cortex-M3软核的智能识别称量平台

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。 杯赛题目:Diligent杯:基于FPGA开源软核的硬件加速智能平台 参赛组别:A组 设计任务: 利用业界主流软核处理器(仅限于Cortex-M系列及 RISC-V系…

DevExpress WinForms TreeMap组件,用嵌套矩形可视化复杂分层数据

DevExpress WinForms TreeMap控件允许用户使用嵌套的矩形来可视化复杂的平面或分层数据结构。 DevExpress WinForms有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。同时能完美构建流畅、美观且易于使用的应用程序,无论是Office风…

C语言实现堆栈和队列(动态)

行路难!行路难!多歧路,今安在?长风破浪会有时,直挂云帆济沧海。————李白 一 .堆栈 1 什么是堆栈 堆栈是一种特殊的线性表,堆栈中的元素以及元素之间的逻辑关系和线性表完全相同。在操作上的差别是线性…

Python 2.7 在 Debian 服务器上获取 URL 时的 SSL 验证失败问题与解决方案

在使用Python的requests库从Debian稳定服务器上获取简单URL时,遇到了SSL证书错误。 根据用户的问题描述,您遇到了SSL证书验证失败的问题。 要解决这个问题,您可以采取以下步骤: 1. 升级到Python 2.7的最新版本: 首…

《程序员考公指南》:零基础到上岸的完整攻略 | 开源日报 No.82

mastodon/mastodon Stars: 44.2k License: AGPL-3.0 Mastodon 是一个免费、开源的社交网络服务器,基于 ActivityPub。用户可以在 Mastodon 上关注朋友并发现新朋友,并且可以发布链接、图片、文字和视频等内容。所有的 Mastodon 服务器都能互操作成为联邦…

使用vue-cli搭建vue项目

1:安装vue-cli 命令:npm install -g vue/cli 2:查看安装的版本 vue --version 或者 vue -V 3:创建项目 vue create 项目名称 名称小写 4:vue2框架中根据自己的需求选择(我选择…

Rust语言特性探秘:宏的魔力

大家好!我是lincyang。 今天我们继续深入探讨Rust语言中的一个有趣而强大的特性——宏(Macros)。 宏在Rust中扮演着特殊的角色,不仅提高了代码的灵活性,还增强了代码的可重用性。接下来,我们会通过具体的…

java+springboot+bootstrap校园闲置物品拍卖交易平台_ngad7-

根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供校园闲置物品交易管理功能,方便校园闲置物品交易管理工作的展开,综合考虑,本套系统应该满足如下要求&#xff1…

springboot+jsp+bootstrap+java问卷调查系统

系统功能需求包含业务需求和功能需求,系统功能需求分析是在了解用户习惯、开发人员技术和实力等各个因素的前提下,对其进行深入分析,了解系统基本需求后,基本功能如下: 本课题要求实现优质的问卷调查系统,就…

如何录音?学会这几招,轻松搞定!

“有人知道怎么录音吗?学校举办了诗词朗诵比赛,老师要求我代表班级去参加,需要自己准备一首比赛主题相关的背景音乐,可是找到的音乐都不能下载,我也不会录音,真的很难办,大家有什么好方法吗&…

NX二次开发UF_CAM_opt_ask_post_names 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_opt_ask_post_names Defined in: uf_cam.h int UF_CAM_opt_ask_post_names(int * count, const char * * * names ) overview 概述 This function provides a list of avai…

vatee万腾科技先锋之选:vatee创新力驱动着未来发展

在科技潮流的浩荡前行中,Vatee万腾崭新的科技先锋之选正以强大的创新力引领着未来的发展。Vatee万腾凭借其前瞻性的技术理念和卓越的创新实践,成为业界的引领者,为整个科技行业树立了标杆。 Vatee万腾不仅仅是一家科技公司,更是一…

【云栖 2023】姜伟华:Hologres Serverless 之路——揭秘弹性计算组

云布道师 本文根据 2023 云栖大会演讲实录整理而成,演讲信息如下: 演讲人:姜伟华 | 阿里云计算平台事业部资深技术专家、阿里云实时数仓 Hologres 研发负责人 演讲主题:Hologres Serverless 之路——揭秘弹性计算组 实时化成为…