matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程

matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程在MATLAB官网ode45函数介绍中有一下四种用法。[t,y]=ode45(odefun,tspan,y0)https://www.mathworks.com/help/releases/R2020b/matlab/ref/ode45.html?doclanguage=zh-CN&nocookie=true&prodfilter=ML%20SL%205G%20AE%20AT%20AA%20AU%20DR%20AS%20BI%20CM%20VP%20CT%20CF%20DA%…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

     在MATLAB官网ode45函数介绍中有一下四种用法。 [t,y] = ode45(odefun,tspan,y0)icon-default.png?t=L892https://www.mathworks.com/help/releases/R2020b/matlab/ref/ode45.html?doclanguage=zh-CN&nocookie=true&prodfilter=ML%20SL%205G%20AE%20AT%20AA%20AU%20DR%20AS%20BI%20CM%20VP%20CT%20CF%20DA%20DB%20DF%20DH%20NN%20DO%20DS%20ET%20EC%20FH%20IT%20FI%20PO%20FL%20GD%20GC%20HD%20ES%20IE%20IA%20IP%20IC%20LP%20LS%20MG%20ME%20CO%20MJ%20DW%20MR%20MW%20AM%20MP%20MB%20MT%20NV%20OT%20OP%20DM%20PD%20AR%20BD%20BS%20CD%20CS%20PW%20PM%20RA%20RL%20RB%20RF%20RK%20RO%20RC%20RR%20TF%20SX%20SG%20SB%20SE%20SS%20LD%20PS%20SH%20MS%20VR%20VV%20CI%20RT%20SK%20SD%20CV%20SO%20DV%20WT%20PL%20XP%20SR%20RQ%20SZ%20HW%20EL%20SF%20ST%20SM%20ZC%20ID%20TA%20TR%20UV%20VE%20VN%20VT%20WA%20LH%20WL&docviewer=helpbrowser&docrelease=R2020b&s_cid=pl_webdoc&loginurl=https%3A%2F%2Flocalhost%3A31515%2Ftoolbox%2Fmatlab%2Fmatlab_login_framework%2Fweb%2Findex.html%3Fsnc%3DOHKPVM&searchsource=mw&snc=MDGHZE&container=jshelpbrowser#d122e852982

在此处,t,y是最终要通过ode45函数得到的结果。odefun是要求解的函数,英文span是跨度的含义,time是时间的含义。因此,顾名思义,tspan 表示时间的跨度,即时间的范围。而y0则便是要求解y的初值。即计算给定初值的函数在给定时间范围内的值。

如果还不是很清楚,那么,可以看官网给的一个简单的例子。

y’=2t

t=[0 5]

y(0)=0

对于这样的一个一阶导的函数,程序和结果如下:

matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程

matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程

  但由于该方程简单,因此也可以直接将2t写入主程序中。即下图所示:

 matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程

 上述是求一阶导的,那么如果相求二阶导的呢。

接下来,这个例子就是二阶微分方程了。方程如下所示:

 y”-(1-y^2)y’+y=0

y(0)=2,y'(0)=0

t=[0 20]

对于该方程,采用ode45求解的思路为:让y=y(1),y’=dy(1)=y(2),y”=ddy(1)=dy(2),即y的自身为y(1),y的一阶导赋值为y(2),y的二阶导赋值为y(3),从而将y的二阶导转化为y(2)的一阶导。

因为龙格库塔法是用来求一阶导的。理论内容可以参考数值分析等的书籍。通过将二阶导降阶成为一阶导,再用龙格库塔法ode45实现求解。

回到例子,则上述方程可表示为

dy(1)=y(2)

dy(2)=(1-y(1)^2)y(2)-y(1)

其求解程序和结果如下图。

 matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程

matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程

 那么对于求解方程组即方程中存在分段函数,又该怎么处理呢。这将在后续进行记录。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234298.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java 控制台输入,输出语句

    Java 控制台输入,输出语句输入:Scannerscan=newScanner(System.in);Stringread=scan.nextLine();System.out.println(read);输出:System.out.println(“普通信息”);System.err.println(“错误信息”);

    2022年7月8日
    29
  • 微信小程序之某荟团JS逆向

    微信小程序之某荟团JS逆向声明:本文仅限交流学习使用,请勿使用在任何非法商业活动,禁止用于非法用途。否则后果自负。如有侵权,请告知删除,谢谢!文章目录 一、fiddler抓包分析请求参数 二、微信小程序反编译 三、逆向分析与测试结果 总结 也不能说简单吧,有手就行 前言提示:以下是本篇文章正文内容,下面案例可供参考,本文仅限交流学习使用,请勿使用在任何非法商业活动,禁止用于非法用途。否则后果自负。如有侵权,请告知删除,谢谢!详细请参考这位大佬-…

    2022年6月22日
    49
  • 瀑布式研发流程

    瀑布式研发流程

    2022年6月17日
    29
  • java输入语句怎么写_java输入语句应该怎样写?示例演示

    java输入语句怎么写_java输入语句应该怎样写?示例演示作为初步进入java开发学习的小白来说,就像是小时候刚刚学说话一样,这种经历既是必然的也是有趣的,学习java语言一开始的时候也是得一步步的学习,比如说,java输入语句应该这么去实现呢?一起跟小编来看看吧。第一步:导包。先将java.io.*;以及java.util.*;导入Java代码中。charc=(char)System.in.read();是输入单个字符;inta=cin.nextI…

    2022年7月9日
    35
  • dw自动滚动图片_DW图片无缝滚动代码

    dw自动滚动图片_DW图片无缝滚动代码DIV的图片无缝滚动,DIV图片上无缝滚动,DIV图片下无缝滚动,DIV图片左无缝滚动,DIV图片右无缝滚动1.先了解一下对象的几个的属性:innerHTML:设置或获取位于对象起始和结束标签内的HTMLscrollHeight:获取对象的滚动高度。scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶…

    2022年7月18日
    16
  • 树莓派串口调试助手_树莓派4b教程

    树莓派串口调试助手_树莓派4b教程原文链接:https://blog.csdn.net/itisyang/article/details/79968592最新的Raspbian串口连接没有数据输出使用ssh连接树莓派之后-sudoraspi-config-InterfacingOptions-Serial打开串口登录树莓派正常情况串口四根线连接:VCC-5VGND-GNDTX…

    2022年10月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号