MATLAB关于ode45变步长积分和自编龙格库塔函数对比

MATLAB关于ode45变步长积分和自编龙格库塔函数对比

ode45

ode45函数在MATLAB中用于求解非刚性微分方程,博主目前在做的毕业设计需要用matlab完成对柔性体的仿真。利用ode45函数进行迭代求解。

优点

ode45变步长求解,不必设定步长,得到的仿真图效果较好。自编龙格库塔函数可以设定步长,但是博主在应用过程中发现自编函数与ode45运行结果差别无法令人忍受。目前推测原因或许是对于柔性体不适用,采取较大步长误差很大,采取小步长,运算时间与ode45相差无几,性价比不高。
自编龙格库塔函数来源其他博主的博客,原理都是利用当前的状态推算下一时刻的状态。

缺点

运算速度慢,对于柔性体模型,改变材料参数会对运算速度造成很大影响。
例如研究绳网抛射展开问题,改变材料的体密度,阻尼系数,整个程序运行时间会从分钟级增长到小时级(除了修改参数不对其他部分进行调整)。
同时,ode45变步长也可从中看出,从0.01到0.00001,目前还不清楚自带积分器的变步长设置原理。

ode45调用格式

dynamic为微分方程函数,括号中第二项后为参数,在0~tspan时间段内,每一步迭代计算xx.

[t,xx]= ode45(@(t,xx) dynamic5(t,xx,n,N,j1,j2,j3,j4,m_,k,c,l_0,num_inside),[0 tspan],[r0;v0]);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值