MATLAB-常微分方程求解

MATLAB中可以用来求解常微分方程(组)的函数有ode23、 ode23s、 ode23t、 ode23tb 、ode45、ode15s和odel13等,见下表。它们的具体调用方法类似,为了方便后面的描述,

在后面的介绍中将使用solver统一代替它们。

函数的具体调用方法如下。

[T,Y] =solver( odefun, tspan,y0)

[T,Y] = solver( odefun,tspan, y0,options)

[T,Y]=soIver( odefun, tspan,yO,options,pl ,p2,...)

在区间tspan=[t0,tf].上,使用初始条件y0,求解常微分方程y'=f(t,y)。其中解向量Y中的每行结果对应于时间向量T中的每个时间点。利用传递给函数odefun的p1, p2, .参数进行求解。solver 函数中涉及的参数见表。

odeset函数的用法与optimset函数类似,利用所设置的可选参数进行求解,solver 中options的参数见表。

MATLAB可以求解3种类型一阶常微分方程,即显式常微分方程、线性隐式常微分方程和完全隐式常微分方程。

显式常微分方程

显式常微分方程的形式为

例:显式常微分方程求解实例。

已知微分方程为y"-u(1-y^2)y'+y=0 (y(0)=0,y'(0)=2;t∈[0,30]),分别取μ=3和μ=5求解该方程。

首先对微分方程进行变换得到形式为

然后对方程组进行函数描述,并保存为myfun6. 9. m,其内容如下所示。

function output = myfun6.9(t,y ,mu)

output = zeros(2,1);

output(1)=y(2);

output(2)= mu*(1-y(1)^2) *y(2)-y(1);

对方程组进行求解,在命令行窗口中输入如下语句。

>>[t1,y1] =ode45( @ myfun6_ 9,[0 30],[0;2],[],3); %mu=3

[t2,y2]=ode45(@ myfun6 9,[0 30],[0;2],[],5); %mu=5

plot(t1,y1(:,1),'-',t2,y2(:,2),'--')

title( '显式常微分方程的解');

xlabel('t');

ylabel('y ');

legend( 'mu=3',' mu=5');

图形窗口中的输出结果如图所示。

线性隐式常微分方程

线性隐式常微分方程的形式为

例:线性隐式常微分方程求解实例。

已知微分方程(ty^2+1)y'=3y"+y+4(t∈[0,10];y(0)=2),求解该方程。

首先根据微分方程(ty^2+1)y'=3y^3 +y+4和通式4M(1,y)y'=f(t,y),得到:

然后对f(1,y)进行函数描述,并保存为myfun6_ 10f. m,其内容如下所示。

function output= myfun6_ 10f(t,y)

output=3* y. ^3+y+4;

对M(t,y)进行函数描述,并保存为myfun6_ 10M. m,其内容如下所示。

function output = myfun6_10M(t,y)

output=t*y. ^2+1;

最后对方程进行求解,在命令行窗口中输人如下语句。.

>>options = odeset( ' RelTol ',le-6, 'OutputFen ',' odeplot ',' Mass ' ,@ myfun6_ 10M);

[t,y] = ode45( @ myfun6_ 10f,[0 10] ,2 ,options);

xlabel('t');

ylabel('y ');

title( '线性隐式常微分方程的解')

图形窗口中的输出结果如图所示。

完全隐式常微分方程

完全隐式常微分方程的形式为:

例:完全隐式常微分方程求解实例。

已知方程如下求解该方程。

首先对方程进行函数描述,并保存为myfun6_ 11. m,其内容如下所示。

function output = myfun6_ 11(t,y ,dydt)

output=t*y. ^2*dydt. ^3-2* y.^3*dydt. ^2+3*t*(t^2+1) *dydt -t^2*y;

其次对方程进行求解,在命令行窗口中输人如下语句。

>>t0=1;

y0=sqrt(3/2);

yp0=0;

[y0,yp0] =decie( @ myfun6_ 11 ,t0,y0,1 ,yp0,0) ;

[t,y]=ode15i( @ myfun6 11,[1 20] ,y0,yp0);

plot(t,y);

xlabel('t');

ylabel('y');

title(完全隐式常微分方程的解');

图形窗口中的输出结果如图所示。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mathematica解一个精巧的差分方程

Mathematica解差分方程很方便,记住一个词就可以了RSolve或者RSolveValue就可以了。以下这个例子比较特殊,存在解析解,但是软件算不出。 问题: 已知: a [ 1 ] 1 2 a[1]\sqrt{1\over2} a[1]21​ ​ a [ n 1 ] ( 1 …

解方程C++

数学上经常需要解方程。现在有函数: f(x) 2x^57x^3100,求f(x)y解。 提示:下面是goc程序画出的函数图形,可以看出函数是单调上升的。 输入格式 第一行1个实数:y,范围在[-1000000000,1000000000]。 输出格式 一个实数x…

matlab 差分方程的解(解答qq网友)

1、问题见图 2、解题代码 clear x(1)0; ybuchang0.01; y0:ybuchang:10; for n1:length(y)x(n1)x(n)ybuchang^(1/0.23)0.01*ybuchang; end plot(x(1:(end-1)),y,r) 3 结果:

计算物理中matlab处理微分方程解析解和欧拉法数值解的算法演示

我先来看一个问题的引入: 我们根据题目给出的微分方程编写matlab求解代码如下: syms cd m g v(t); eqn diff(v,t) g - cd/m*v^2; vt dsolve(eqn,cond)求解结果如下: 在得知相关初始条件后,对代码进一步设置求解: …

chatgpt赋能python:Python解代数方程,让你轻松求解复杂方程!

Python解代数方程,让你轻松求解复杂方程! 代数方程一直都是数学领域一个非常关键的研究领域,而求解这些方程也是一个非常复杂而又繁琐的任务。Python作为一门高效且强大的编程语言,可以帮助我们快速、准确地解决代数方程问题。在…

matlab解方程

工具/材料 matlab 2016a 打开matlab,首先定义变量x: syms x; matlab中solve函数的格式是solve(f(x), x),求解的是f(x) 0的解。 第一个例子,求解最常见的一元二次方程x^2-3*x10: solve(x^2-3*x1,x),解出的结果用精确的…

欧拉法与梯形法求解微分方程【含matlab源代码】

本文介绍两种入门级求解微分方程的方法 —— 梯形法与欧拉法。 将上述方程组改写成matlab语言: function F fun(t,Y)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % 程序作…

【计算方法】python求解常微分方程|显式欧拉、改进欧拉、龙格库塔

显式欧拉 import numpy as np from scipy.integrate import odeintdef f(x,y):return y-2*x/y def f_ode(y,x):return y-2*x/ydef Explicit_Euler(f,a,b,y0,h):x_p np.linspace(a,b,int(1/h)1)n len(x_p)value np.zeros(n)value[0] y0for i in range(1,n):value[i] value…

【Matlab】求解微分方程{上}(通解和特解)

求解微分方程 desolve函数实例1实例2实例3实例4 求解有条件的微分方程微分方程显示隐式解未找到显式解决方案时查找隐式解决方案求微分方程级数解为具有不同单边限制的函数指定初始条件(特解)练习题 desolve函数 S dsolve(eqn)求解微分方程eqn&#xf…

常微分方程数值解——差商、欧拉公式详细推导及代码实现

引言 在自然科学的许多领域特别是科学与工程计算中,经常会遇到常微分方程的求解问题。然而只有非常少数且十分简单的微分方程可以用初值等方法求得它们的解,多数只能近似方法求解。 一、预备知识 (差商的推导) 二、 一阶常微分方…

PINN解偏微分方程实例3(Allen-Cahn方程)

PINN解偏微分方程实例3之Allen-Cahn方程 1. Allen-Cahn方程2. 损失函数如下定义3. 代码4. 实验细节及复现结果参考资料 1. Allen-Cahn方程 考虑偏微分方程如下: u t − 0.0001 u x x 5 u 3 − 5 u 0 u ( 0 , x ) x 2 c o s ( π x ) u ( t , − 1 ) u ( t , 1 …

chatgpt赋能python:用Python解方程

用Python解方程 介绍 解方程是数学中最基础的技能之一,也是很多实际问题中必须掌握的技能。Python是一种功能强大的编程语言,通过它,我们可以编写程序来解方程。在本篇文章中,我们将介绍如何使用Python来解方程。 Python中的方…

PINN解偏微分方程--程函方程

目录 前言 一、什么是程函方程? 二、配置环境及库的导入 三、构建训练数据集 四、用Pytorch搭建PINN网络 1.网络搭建 2.一些基本参数变量的确定以及数据格式的转换 五、用Pytorch搭建PINN网络 六、查看loss下降情况 七、导入网络模型,输入验证数据&#…

【免费下载】2023年1月份热门报告合集(附下载链接)

省时查报告-专业、及时、全面的报告库 省时查方案-专业、及时、全面的方案库 2023年1月份省时查报告平台十大热门报告新鲜出炉,本期的热门报告关键词有:2023、趋势、投资、房地产、展望、消费、短视频、抖音、直播电商、零售等;快来看看都谁上…

【免费下载】2023年2月份热门报告合集(附下载链接)

省时查报告-专业、及时、全面的报告库 省时查方案-专业、及时、全面的方案库 2023年2月份省时查报告平台十大热门报告新鲜出炉,本期的热门报告关键词有:ChatGPT、AIGC、人工智能、情人节、营销、直播电商、跨境电商、数字化等;快来看看都谁上…

【免费下载】2023年3月份热门报告合集(附下载链接)

省时查报告-专业、及时、全面的报告库 省时查方案-专业、及时、全面的方案库 【限时免费】无需翻墙,ChatGPT4直接使用 2023年2月十大热门报告盘点 2023年3月份省时查报告平台十大热门报告新鲜出炉,本期的热门报告关键词有:ChatGPT、GPT4、小红…

初学Python到月入过万最快的兼职途径(纯干货)

不错过任何一次干赚钱干货 1.兼职薪资,附行哥工资单 2.兼职门槛,附学习知识清单 3.兼职途径,附入职考核过程 4.行哥的兼职感受 答应行友的第一篇赚钱干货推文来啦,行哥第一个在读书期间通过兼职赚到的10w收入,这也…

AIGC|我让AI来写今年高考作文

作者:谢凯 | 神州数码云基地-需求分析师 目录 一、人工智能究竟强在哪 //以ChatGPT为例,人工智能其优势何在? 二、BingAI如何处理高考作文 三、总结 一、人工智能究竟强在哪 随着ChatGPT(Chat Generative Pre-trained Transfo…

ChatGPT|谷歌首席决策科学家Cassie Kozyrkov介绍 ChatGPT

文章目录 介绍 ChatGPT!对抗网络GANs使用 ChatGPT 编写代码 大揭秘一些自动生成的废话 介绍 ChatGPT! 原文:地址 作者:Cassie Kozyrkov 谷歌首席决策科学家。 ❤️ 统计、ML/AI、数据、双关语、艺术、戏剧、决策科学。 有句话介绍…

新媒体如何借势进行热点营销

互联网营销时代,眼花缭乱的信息在消费者眼中总是昙花一现,碎片化的信息分散着当代人的注意力。为了聚焦用户碎片化的注意力,吸引消费者眼球,“蹭热点”就成为了各大品牌方“借势”惯用的方法。“蹭热点”其实就是借势营销&#xf…