首页

文章

关于matlab 的ode45用法

发布网友 发布时间:2022-03-24 18:54

我来回答

4个回答

懂视网 时间:2022-03-24 23:15

ode45的用法是:

  

  1、odefun是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名。

  

  2、tspan是区间[t0 tf]或者一系列散点[t0,t1,……,tf]。

  

  3、y0是初始值向量。

  

  4、T返回列向量的时间点。

  

  5、Y返回对应T的求解列向量。

  

  

热心网友 时间:2022-03-24 20:23

3.6.2
龙格-
库塔方法
改进的欧拉法比欧拉法精度高的原因在于,它在确定平均斜率时,多取了一个点的斜
率值。这样,如果我们在[Xi,X(i+1)]上多取几个点的斜率值,然后对它们作线性组合得到平均
斜率,则有可能构造出精度更高的计算方法。这就是龙格-库塔法的基本思想。龙格-库塔
法可看作是欧拉法思想的提高,属于精度较高的单步法。
龙格-库塔法是求解常微分方程初值问题的最重要的方法之一。MATLAB中提供了几
个采用龙格-库塔法来求解常微分方程的函数,即ode23,ode45,ode113
,ode23s
,ode15s
等,其中最常用的函数是
ode23(
二三阶龙格-库塔函数)和ode45(
四五阶龙格-库塔函数),
下面分别对它们进行介绍。
1
.二三阶龙格-
库塔函数(ode23)
函数
ode23
的调用格式如下:
(1)
[T,Y]=ODE23('F',TSPAN,Y0)
输入参数中的'F'
是一个字符串,表示微分方程的形
式,也可以是
f
(x
,
y
)的M
文件。TSPAN=[T0
TFINAL]表示积分区间,Y0表示初始条件。
函数
ode23
表示在初始条件
Y0下从
T0到TFINAL
对微分方程
'(,)
yFty
=
进行积分。函数
F(T,
Y)
必须返回一列向量,两个输出参数是列向量
T
与矩阵
Y,其中向量
T
包含估计响应
的积分点,而矩阵
Y
的行数与向量
T
的长度相等。向量
T
中的积分点不是等间距的,这是
为了保持所需的相对精度,而改变了积分算法的步长。为了获得在确定点T0,T1,
"的解,
TSPAN=[T0
T1
TFINAL]
。需要注意的是:TSPAN中的点必须是单调递增或单调递减的。
(2)
[T,Y]=ODE23('F',TSPAN,Y0,OPTIONS)
其中,参数
options
为积分参数,它可由函
数ODESET
来设置。Options参数最常用的是相对误差‘RelTol’(
默认值是
1e-3)和绝对误差
‘AbsTol’(默认值是
1e-6),其他参数同上。
(3)
[T,Y]=ODE23('F',TSPAN,Y0,OPTIONS,P1,P2,…)
参数P1,P2,
…可直接输入到函数
F
中去.如
F(T,Y,FLAG,P1,P2,…)。如果参数
OPTIONS为空,则输入
OPTIONS=[
]。也可
以在
ODE文件中(可参阅
ODEFILE函数)指明参数
TSPAN、Y0和OPTIONS的值。如果参
数TSPAN
或Y0
是空,则ODE23函数通过调用ODE文件[TSPAN,
Y0,
OPTIONS]
=
F([
],[
],
'init
')来获得
ODE23函数没有被提供的自变量值。如果获得的自变量表示空,则函
数ODE23会忽略,此时为
ODE23('F')。
(4)
[T,Y,TE,YE,IE]=ODE23('F',TSPAN,Y0,OPTIONS)
此时要求在参数
options
中的事
件属性设为'on'
,ODE文件必须被标记,以便
P(T,Y,'events')
能返回合适的信息,详细可参
阅函数
ODEFILE。输出参数中的
TE是一个列向量,矩阵
YE的行与列向量
TE中元素相
对应,向量
IE
表示解的索引。
2
.四五阶龙格-
库塔函数(ode45)
函数
ode45
的调用格式同
ode23
相同,其差别在于内部算法不同。如果'F'
为向量函数,
则ode23
和ode45
也可用来解微分方程组。
【例3.47

分别用二三阶龙格-库塔法和四五阶龙格-库塔法解常微分方程的初值问题:
解:先将微分方程写成自定义函数
exam2fun.m
function
f=exam2fun
(x,y)
f=-y-x*y.^2;
f=f(:);
然后在命令窗口输入以下语句:
>>
[x1,y1]=ode23('exam2fun',[0:0.1:1],1)
x1
=
0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000
y1
=
1.0000
0.9006
0.8046
0.7144
0.6314
0.5563
0.4892
0.4296
0.3772
0.3312
0.2910
>>
[x2,y2]=ode45('exam2fun',[0:0.1:1],1)
x2
=
0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000
y2
=
1.0000
0.9006
0.8046
0.7144
0.6315
0.5563
0.4892
0.4296
0.3772
0.3312
0.2910

热心网友 时间:2022-03-24 21:41

function dx=myfun(t,x)dx(1)=20/7*x(1)-x(2)*x(3);dx(2)=-10*x(2)+x(1)*x(3);dx(3)=-4*x(3)+x(1)*x(2);dx=dx(:); 这部分保存为m函数文件 命令行运行 >> x0=[3,-4,2]; t0=0.001:0.001:20; [t,x]=ode45('myfun',[0.001,20],x0); %ode45会自动调整步长 plot(t,x) legend('x','y','z') >> 结果

热心网友 时间:2022-03-24 23:16

matlab并没有*其初始值必须为0,起点可以是你定的任何数,matlab中一般以t_0表示
如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 miui11开发者选项在哪_小米miui11开发者选项在哪 查询考研成绩需要什么 考研查分前要做什么 考研查询需要什么证件 研究生什么专业好 什么专业的研究生最好 考研究生什么专业好 研究生学什么专业 宝石花的养殖方法介绍 宝石花怎么养才长得好 不想让老婆看到我电脑里的一些东西怎么办? 桥好路由器停电后在来电老是获取lp 勒索病毒加密的文件如何恢复? TPU贴合膜多少钱 华为手机如何将输入法改为简体 肉丝炒金针菇做法 仓储冷链信息怎么申报 什么是药品冷链物流 浙江食品冷链运输多少钱 生物冷链具备什么资质 投诉检测站最有效办法 冢君的解释 304C型钢厂 真诚推荐 永浩供 乌鲁木齐球墨铸铁厂家排名 2023年抖音618好物节招商规则 2023年抖音好物年货节好物直播间玩法说明 抖音2023好物年货节玩法攻略 互联网内容平台——小红书的优势与困境 ...女儿房间的空调洗一下滤网,问一下格力小金豆空调面罩怎么打开... 传真机和打印机有什么区别? 传真纸和打印纸哪个好 传真纸和复印纸哪个好 虚拟语气as though 的问题 We didn't know his telephone number, otherwise we would have teleph... 我想问一下 错综复杂条件句 那怎么不能使用在这里 if i can do this... 好可怕...好可怕的梦... 线束组装线束组装工艺要求 汽车线束英语翻译 带表卡尺怎么读数 带表卡尺的使用方法 压力变送器数显表 公主连结凯露表情包大全 臭鼬表情包图片一览[多图] 单眼皮怎么使用双眼皮贴? 咬人的那特小的虫子叫什么 Bose音响怎么连接蓝牙 博士音响蓝牙怎么连接 夹了一片菜叶,上面摆了七根鱼刺和在碗里放了七个汤勺,每个汤勺里放一根... 微信聊天记录怎么才能彻底删除?通过这几种操作可以确保隐私安全!_百度... IDM IDMShellExt64.dll无法删除 - 删除使用中的(进程相关或残留)文件... 写关于活动的句子100字 matlab ode45的用法 matlab ode45用法 荣耀20s怎么开启OTG模式? 华为手机开性能模式对手机有影响吗 荣耀8更新后性能模式怎么打开 王者荣耀怎样开启高性能模式 荣耀8x性能模式怎么开 荣耀20用着用着出现一个点是什么 华为荣耀8如何开启性能模式 荣耀magicbookpro性能模式怎么开 荣耀手机开性能模式打游戏和不开有什么区别? 荣耀magic2性能模式怎么打开 荣耀笔记本怎么开高性能模式 ODT是什么文件 色谱柱的XDB,BDS,ODS都代表什么 分别是什么意思 各侧重测什么 色谱柱XDB-C18 ODS-C18 TC-C18 柱子 有什么区别? 前面的字母什么意思 warframe龙门跟遗迹有什么关系啊?求详解。还有ods,akk什么意思 高效液相色谱柱 ODS 和 SB 代表什么 货代海运中ods+ens是什么意思 kromasilods色谱柱 ods是什么意思 ode45的语法 matlab程序ode45 matlab里ode45解决二阶常系数微分方程用法 Matlab软件中使用ode 45 解微分方程组? matlab中ODE45函数该如何使用? matlab中ode45函数的使用 matlab用ode45求解微分方程组 matlab中ode45 及odeset的使用。 MATLAB 用ode45解方程组? matlab用ode45求解问题并绘制二氧化碳浓度曲线 MATLAB中用ode45求解微分方程,如何设置最大步长? 我在编matlab程序的过程中,需要用ode45解一个一阶微分方程组,怎么做呢??? matlab中ode45括号的意思,导数? 怎么很好运用函数ode45() matlab中ode45使用怎么样控制步长? matlab ode45用法报错 您好,我在使用ode45时也出现了类似的警告,请问,您当时怎么解决这个问题的,谢谢啦 Mate 30 Pro泡到水里了 怎么处理? mate30Pro泡到水里了 怎么处理? 华为mate30pro掉水里了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com