首页

文章

MATLAB中用ode45求解微分方程,如何设置最大步长?

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

我来回答

3个回答

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

如果你用过simulink里的ode45配置,我觉得你就会发现高赞就是在扯淡,你给的时间序列只是采样点,根本不是设置步长用的。我最近偷懒不想用simulink就研究了下ode45的函数配置项,在matlab帮助里搜一下“Summary of ODE Options”,里面详细罗列了各种ode函数有的参数,最大步长想必也猜的出来,就是“MaxStep”,用法也在ode45函数的帮助里写了,我简单举个例子:

tspan = 1:1e-3:30;
xini = [ 1 1 1]';
options = odeset('MaxStep', 1e-2, 'RelTol',1e-2,'AbsTol',1e-4);
[~, results] = ode45(@(t,x) myodefunc(t, x, user_args ), tspan, xini, options);

是的,就是通过odeset函数设置,options参数写入。设置的细节请参考Matlab帮助。

我看还有同学在纠结ode45的固定步长设置方法,提一句:首先,ode45 是一个变步长函数,不可能设置为定步长的。其次,需要定步长的ode函数可以在Matlab帮助里搜一下“Solvers for Real-Time Simulation”,里面详细介绍了一些定步长的ode函数。但要注意Matlab本身是没有这些函数的,需要用simulink仿真才能配置。

如果实在不想用simulink,那自己手写一个函数也行(虽然我没写过),定步长的ode函数里常用的是ode4,也就是四阶龙格库塔算法,可以参考这个博客:susanliuliu28-四阶龙格库塔

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

[t,y]=ode45('odefun',[t0:dt:tend],y0);
这里的dt就是最大步长,但是因为ode45是变步长的算法,如果需要计算的时间范围 [t0 tend] 不是很大的话,那么返回的时间矩阵 t 里面的时间间隔不一定全是 dt,会包含更小的时间步。

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

你ode45里给的步长就是最大步长
如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 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解方程组? matlab中ode45 及odeset的使用。 matlab用ode45求解微分方程组 matlab中ode45函数的使用 matlab中ODE45函数该如何使用? Matlab软件中使用ode 45 解微分方程组? matlab里ode45解决二阶常系数微分方程用法 matlab程序ode45 ode45的语法 关于matlab 的ode45用法 matlab ode45的用法 matlab ode45用法 荣耀20s怎么开启OTG模式? 华为手机开性能模式对手机有影响吗 荣耀8更新后性能模式怎么打开 王者荣耀怎样开启高性能模式 荣耀8x性能模式怎么开 荣耀20用着用着出现一个点是什么 华为荣耀8如何开启性能模式 我在编matlab程序的过程中,需要用ode45解一个一阶微分方程组,怎么做呢??? matlab中ode45括号的意思,导数? 怎么很好运用函数ode45() matlab中ode45使用怎么样控制步长? matlab ode45用法报错 您好,我在使用ode45时也出现了类似的警告,请问,您当时怎么解决这个问题的,谢谢啦 Mate 30 Pro泡到水里了 怎么处理? mate30Pro泡到水里了 怎么处理? 华为mate30pro掉水里了 Mate30Pro进水怎么办 要去售后吗? 我的Mate30Pro进水了,要怎么办啊? Mate 30 Pro下雨进水了,现在怎么办? mate30Pro进水怎么办 怎么修? mate30Pro掉水里了半小时了怎么办? Mate30Pro掉到水里。手续屏幕上都是。杠杠怎么办? Mate30Pro下雨进水了,现在怎么办? mate30Pro进水怎么办? 手机进水怎么办 mate30Pro? 如果华为Mate30Pro进水了开不了机怎么办啊? 手机突然移动数据不能用了,是怎么回事
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com