用四阶RungeKutta方程解二阶常微分方程,并计算船舶在规则波中的横摇角(附Matlab代码)

本文介绍了使用四阶RungeKutta方法求解船舶在规则波中横摇角的计算过程。通过自编Matlab代码,而非利用内置的Ode45函数,成功得到了横摇角的时间历程曲线,符合实际的船舶运动特征。
摘要由CSDN通过智能技术生成

前几天接到师姐分派的任务,让我求解一艘船模的横摇角的时间历程曲线,为后期的减摇控制准备。

1 首先冷静分析一下,原方程如下:

在这里插入图片描述
我们要求解的就是theta角和时间t之间的关系曲线,这是一道典型的二阶常微分方程的求解,用四阶龙格库塔方程可以求解。

2 古典龙格库塔算法公式:

节选自高等数值计算
高等数值计算课本(清华大学出版社,186页)

但是古典龙格库塔方法解决的是一阶常微分方程,也就是类似于这样的方程组

在这里插入图片描述
但是我们现在面对的是
在这里插入图片描述
查了一下书,没有教二阶常微分该怎么解,于是自己网上找答案:

3 网上的一道例题提供了解决办法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 现在可以开始编程了,我没有用Matlab自带的Ode45函数,我是自己编写的四阶Rungekutta方程,代码如下:

%横摇角时间历程曲线计算主程序
global a b c d h t y z D h_
a = 18.4;
b = 0.3;
c = 214.88;
d = 0;
h = 0.1;
y = 0;
z = 0;
D 
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值