用MATLAB求一阶微分方程(组)数值解

这篇具有很好参考价值的文章主要介绍了用MATLAB求一阶微分方程(组)数值解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用MATLAB求一阶微分方程(组)数值解

标准形式

标准形式要先写成左边是y的导数右边是本身函数或者自变量,然后写成.m文件类似:

function dy = df1(x,y)
    dy=y-2*x;%标准形式
end
function dy=df2(x,y)
    dy=zeros(3,1);%一定要写成列向量
    dy(1)=y(2)*y(3);
    dy(2)=-y(1)*y(3);
    dy(3)=-0.51*y(1)*y(2);
end

如果有多个微分方程,dy=zeros(3,1);%一定要写成列向量

进行求解

[x,y]=ode45('df1',[0,3],3)
[x,y]=ode45('df2',[0,4*pi],[0,1,1])

3、[0,1,1]都是方程(组)的初始值,并且初始值的x=0;

就会得到一系列x,y值;

常用的求解函数

ode45(最常用)

  • **问题类型:**非刚性
  • **精准度:**中等

ode15s

  • **问题类型:**刚性
  • **精准度:**低到中
    用MATLAB求一阶微分方程(组)数值解

设定相对误差

和绝对误差

设定相对误差和绝对误差,这样可以提高微分方程数值解的精准度

options = odeset('reltol',1e-4,'abstol',1e-8);
[x,y] = ode45('df1',[0,2],3,options);

设置x的间隔

可以指定要求解的位置文章来源地址https://www.toymoban.com/news/detail-504408.html

[x,y] = ode45('df1',[0:0.001:2],3,options);

到了这里,关于用MATLAB求一阶微分方程(组)数值解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于MATLAB的微分方程的解析解与欧拉算法的数值解(附完整代码)

    正常的求解微分方程的MATLAB格式如下: 如果需要指明自变量,则如下: 格式中的 fi 既可以描述微分方程,又可以描述 初始条件 或 边界条件 。 描述微分方程的MATLAB格式为: D4y=7 ; 描述条件的MATLAB格式为: D2y(2)=3 ; 输入信号u(t)如下: 求解如下微分方程的通解 解: 此题需

    2023年04月09日
    浏览(35)
  • matlab解常微分方程常用数值解法1:前向欧拉法和改进的欧拉法

    总结和记录一下matlab求解常微分方程常用的数值解法,本文先从欧拉法和改进的欧拉法讲起。 d x d t = f ( x , t ) , x ( t 0 ) = x 0 frac{d x}{d t}=f(x, t), quad xleft(t_{0}right)=x_{0} d t d x ​ = f ( x , t ) , x ( t 0 ​ ) = x 0 ​ 前向欧拉法使用了泰勒展开的第一项线性项逼近。 x ( t 0 + h ) = x (

    2024年02月13日
    浏览(32)
  • (矩阵)一阶微分方程和伯努利方程

    伯努利方程的标准形式: 伯努利方程解法: 方程两边同时除以y的n次, 做变量替换y-z: 转换为线性微分方程: 最后换回原来的变量即可得到伯努利方程。 一阶线性微分方程的标准形式: 当Q(x)=0,为齐次方程;当Q(x)≠0,为非齐次方程。 已知如下矩阵,求解一阶线性微分方

    2024年02月05日
    浏览(41)
  • RC电路一阶线性微分方程

    电路中一阶线性微分方程 在高等数学中,一阶微分方程求解过程需要先算出齐次的通解,然后再根据初始条件算出特解,计算与推理过程很是复杂。在我们学习电路的时候再遇到这个东西时,会因为之前复杂的求解方式严重打击自信心,加之老师说数学在电路中应用是非常广

    2023年04月18日
    浏览(25)
  • 电容并联放电电阻的RC 电路时间常数计算,一阶线性常系数微分方程

    就是在谁都知道的RC 电路里的电容旁边并联一个放电电阻,计算它对时间常数的影响,参考下面的示意图: 电路的输入电压是电源电压V,在R0 和R1 之间连接着一个单片机引脚,所以想计算上电后单片机引脚上电压的变化,也就是输出电压Uo。电容C 通过R0 和R1 充电,R2 放电。

    2024年02月07日
    浏览(43)
  • Python小白的数学建模课-11.偏微分方程数值解法

    偏微分方程可以描述各种自然和工程现象, 是构建科学、工程学和其他领域的数学模型主要手段。 偏微分方程主要有三类:椭圆方程,抛物方程和双曲方程。 本文采用有限差分法求解偏微分方程,通过案例讲解一维平流方程、一维热传导方程、二维双曲方程、二维抛物方程

    2024年02月14日
    浏览(44)
  • matlab解微分方程

    f=@(变量) 表达式; x1为2 3 4 5;x2为3 4 5 6的情况下求解函数f的值 用“dsolve” step1: 申明自变量和因变量 syms y(x) step2:编程 得到: step1: 申明自变量和因变量 syms y(x) step2:编程 得到 step1.写函数文件 step2.主函数 相当于定义了一个新向量y,然后列 匿名函数 ,方程的 左边都是一阶

    2024年02月13日
    浏览(37)
  • MATLAB-常微分方程求解

    MATLAB中可以用来求解常微分方程(组)的函数有ode23、 ode23s、 ode23t、 ode23tb 、ode45、ode15s和odel13等,见下表。它们的具体调用方法类似,为了方便后面的描述, 在后面的介绍中将使用solver统一代替它们。 函数的具体调用方法如下。 [T,Y] =solver( odefun, tspan,y0) [T,Y] = solver( odefun,

    2024年02月02日
    浏览(35)
  • matlab解微分方程:方向场

    在微分方程中,常见的形式是: x ′ = f ( x , t ) x\\\'=f(x,t) x ′ = f ( x , t ) 方向场的每一个矢量可以形象地刻画一阶微分方程的解。在方向场中的每个点处,都会出现一条其斜率等于通过该点的微分方程解的矢量。给定一个初值,微分方程对应一条curve曲线,点上的方向矢量和相

    2024年02月13日
    浏览(25)
  • matlab使用教程(29)—微分方程实例

            此示例说明如何使用 MATLAB® 构造几种不同类型的微分方程并求解。MATLAB 提供了多种数值算法来求解各种微分方程:         vanderpoldemo 是用于定义 van der Pol 方程的函数 function dydt = vanderpoldemo(t,y,Mu) %VANDERPOLDEMO Defines the van der Pol equation for ODEDEMO. % Copyright 1984-2

    2024年02月10日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包