【船舶运动仿真】基于matlab模拟风浪流模型下的水面船舶三度运动

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,

代码获取、论文复现及科研仿真合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab完整代码及仿真定制内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

🔥 内容介绍

在海洋工程领域,船舶的运动是一个非常重要的研究方向。在海洋中,船舶的运动受到各种因素的影响,如风浪、潮汐、海流等等。因此,为了更好地研究船舶的运动,我们需要建立一些数学模型来描述这些因素对船舶运动的影响。

其中,风浪流模型是一种常用的模型。该模型将海洋中的风浪和海流作为一个整体来考虑,可以更加准确地描述船舶在海洋中的运动。在风浪流模型下,船舶的运动可以分为六度自由度运动和三度自由度运动。其中,三度自由度运动是指船舶在横向、纵向和横摇方向上的运动。

在三度自由度运动中,横向运动是指船舶在水平方向上的运动,也称为“横荡”。当船舶受到侧向力时,会产生横向运动。纵向运动是指船舶在垂直方向上的运动,也称为“纵荡”。当船舶受到前后方向的力时,会产生纵向运动。横摇运动是指船舶在水平面内绕中心线旋转的运动。当船舶受到横向力矩时,会产生横摇运动。

在研究船舶的三度自由度运动时,我们需要考虑一些重要的因素,如船舶的结构特征、船舶的质量分布、风浪流的力学特性等等。通过建立数学模型,我们可以更加准确地描述船舶在海洋中的运动。

除了数学模型外,我们还可以通过实验来验证模型的准确性。在实验中,我们可以通过模拟海洋中的风浪流环境,对船舶的运动进行观测和记录。通过实验数据的分析,我们可以验证数学模型的准确性,并不断完善模型,使其更加符合实际情况。

总之,在海洋工程领域,船舶的运动是一个非常重要的研究方向。通过建立数学模型和实验验证,我们可以更加准确地描述船舶在海洋中的运动,为海洋工程的设计和建设提供更加可靠的数据和方法。

📣 部分代码

% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % wind disturbance of the surface vessel 201     ZKW     2013.3.10    %% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % function F_wind  = F_feng1(windspeed, angle_w,eta)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 无因次风系数cx,cy,cn 的计算使用 Isherwood (1972)经验公式% 输入量:% gamma_r = 相对风角(风弦角) (rad)% V_r     = 相对风速 (m/s)<假设风速远大于船速,V_r即约为实际风速%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L=185;                % 船全长 (m)B=39.2;               % 船宽 (m)A_L=320;              % 水线以上船舶正投影面积 (m^2)A_T=1480;             % 水线以上船舶侧投影面积 (m^2)A_SS=3129;            % 上层部分的正投影面积 (m^2)S=450;                % 除吃水线和船桅、通气设备等细长体外的船模型的正投影周长 (m)C=95;                 % 从船首到正投影面积的矩心的距离 (m)M=1;                  % 正投影面内可见的船桅或中柱的不同组数;不包括紧贴船桥前部的中柱。rho_a = 1.224;        % 20摄氏度时的空气密度%%%%%将风向绝对角转换为风向相对角%%%%%if (angle_w>=pi)    angle_w = 2*pi-angle_w;else     angle_w = -angle_w;end%%%%%算上艏向偏差%%%%%angle_w= angle_w/pi*180 + eta(3);%%%%%保证相对风向角的范围%%%%%if (angle_w>=180)    angle_w = angle_w-360;elseif (angle_w<=-180)        angle_w = angle_w+360;endif(angle_w<0)    gamma=angle_w+180;else    gamma=angle_w;endV_r = windspeed;%%%%%CX_data = [gamma_r   A0  A1  A2  A3  A4  A5  A6  ]%%%%%CX_data= [...  0  2.152  -5.00  0.243  -0.164  0      0       0  10  1.714  -3.33  0.145  -0.121  0       0      0  20  1.818  -3.97  0.211  -0.143  0      0      0.033  30  1.965  -4.81  0.243  -0.154  0      0     0.041  40  2.333  -5.99  0.247  -0.190  0      0      0.04250  1.726  -6.54  0.189  -0.173  0.348  0      0.048  60  0.913  -4.68  0      -0.104  0.482  0      0.052  70  0.457  -2.88  0      -0.068  0.346  0      0.043  80  0.341  -0.91  0      -0.031  0      0      0.032  90  0.355  0      0      0     -0.247  0      0.018  100  0.601  0      0      0      -0.372  0      -0.020110  0.651  1.29  0      0      -0.582  0      -0.031  120  0.564  2.54  0      0      -0.748  0      -0.024  130  -0.142  3.58  0      0.047  -0.700  0      -0.028  140  -0.677  3.64  0      0.069  -0.529  0      -0.032  150  -0.723  3.14  0      0.064  -0.475  0      -0.032  160  -2.148  2.56  0      0.081  0      1.27  -0.027  170  -2.707  3.97  -0.175  0.126  0      1.81  0  180  -2.529  3.76  -0.174  0.128  0      1.55  0        ];%%%%%CY_data = [gamma_r B0  B1  B2  B3  B4  B5  B6]%%%%%CY_data = [...0   0       0       0       0       0       0       0       10  0.096  0.22  0      0      0     0       0     20  0.176  0.71  0      0      0      0      0     30  0.225  1.38  0      0.023  0      -0.29  0     40  0.329  1.82  0      0.043   0     -0.59  0     50  1.164  1.26  0.121  0      -0.242  -0.95  0     60  1.163  0.96  0.101  0      -0.177  -0.88  0     70  0.916  0.53  0.069  0      0     -0.65  0     80  0.844  0.55  0.082  0      0     -0.54  0     90  0.889  0      0.138  0      0     -0.66  0   100  0.799  0      0.155  0      0      -0.55  0     110  0.797  0      0.151  0      0      -0.55  0     120  0.996  0      0.184  0      -0.212  -0.66  0.34  130  1.014  0      0.191  0      -0.280  -0.69  0.44  140  0.784  0      0.166  0      -0.209  -0.53  0.38  150  0.536  0      0.176  -0.029  -0.163  0      0.27  160  0.251  0      0.106  -0.022  0      0      0      170  0.125  0      0.046  -0.012  0      0      0      180 0       0       0       0       0       0       0     ];%%%%%CN_data = [gamma_r C0  C1  C2  C3  C4  C5]%%%%%CN_data = [...0       0       0           0           0           0           0       10      0.0596  0.061      0           0           0          -0.074  20      0.1106  0.204      0           0           0          -0.170  30      0.2258  0.245      0           0           0          -0.380  40      0.2017  0.457      0           0.0067      0          -0.472  50      0.1759  0.573      0           0.0118      0          -0.523  60      0.1925  0.480      0           0.0115      0          -0.546  70      0.2133  0.315      0           0.0081      0          -0.526  80      0.1827  0.254      0           0.0053      0          -0.443  90      0.2627  0           0           0           0          -0.508  100     0.2102  0           -0.0195     0           0.0335      -0.492  110     0.1567  0           -0.0258     0           0.0497      -0.457120     0.0801  0           -0.0311     0           0.0740      -0.396  130     -0.0189  0           -0.0488     0.0101      0.1128      -0.420  140     0.0256  0           -0.0422     0.0100      0.0889      -0.463150     0.0552  0           -0.0381     0.0109      0.0689      -0.476160     0.0881  0           -0.0306     0.0091      0.0366      -0.415170     0.0851  0           -0.0122     0.0025      0           -0.220  180     0       0           0          0             0            0       ];%%%%%对上表进行插值%%%%%    A0 = interp1(CX_data(:,1),CX_data(:,2),gamma);A1 = interp1(CX_data(:,1),CX_data(:,3),gamma);A2 = interp1(CX_data(:,1),CX_data(:,4),gamma);A3 = interp1(CX_data(:,1),CX_data(:,5),gamma);A4 = interp1(CX_data(:,1),CX_data(:,6),gamma);A5 = interp1(CX_data(:,1),CX_data(:,7),gamma);A6 = interp1(CX_data(:,1),CX_data(:,8),gamma);B0 = interp1(CY_data(:,1),CY_data(:,2),gamma);B1 = interp1(CY_data(:,1),CY_data(:,3),gamma);B2 = interp1(CY_data(:,1),CY_data(:,4),gamma);B3 = interp1(CY_data(:,1),CY_data(:,5),gamma);B4 = interp1(CY_data(:,1),CY_data(:,6),gamma);B5 = interp1(CY_data(:,1),CY_data(:,7),gamma);B6 = interp1(CY_data(:,1),CY_data(:,8),gamma);C0 = interp1(CN_data(:,1),CN_data(:,2),gamma);C1 = interp1(CN_data(:,1),CN_data(:,3),gamma);C2 = interp1(CN_data(:,1),CN_data(:,4),gamma);C3 = interp1(CN_data(:,1),CN_data(:,5),gamma);C4 = interp1(CN_data(:,1),CN_data(:,6),gamma);C5 = interp1(CN_data(:,1),CN_data(:,7),gamma);%%%%%风系数计算%%%%%cx = -(A0 + A1*2*A_L/L^2 + A2*2*A_T/B^2 + A3*(L/B) + A4*(S/L) + A5*(C/L) + A6*M);cy = (B0 + B1*2*A_L/L^2 + B2*2*A_T/B^2 + B3*(L/B) + B4*(S/L) + B5*(C/L) + B6*A_SS/A_L);cn = (C0 + C1*2*A_L/L^2 + C2*2*A_T/B^2 + C3*(L/B) + C4*(S/L) + C5*(C/L));%%%%%风力和风力矩计算%%%%%if(angle_w>0) F_wind(1,1) = 0.5*cx*rho_a*V_r^2*A_T; F_wind(2,1) = 0.5*cy*rho_a*V_r^2*A_L; F_wind(3,1) = 0.5*cn*rho_a*V_r^2*A_L*L;else F_wind(1,1) = -0.5*cx*rho_a*V_r^2*A_T; F_wind(2,1) = -0.5*cy*rho_a*V_r^2*A_L; F_wind(3,1) = -0.5*cn*rho_a*V_r^2*A_L*L;end    

⛳️ 运行结果

🔗 参考文献

本程序参考以下中文EI期刊,程序注释清晰,干货满满。

[1]田超.风浪流作用下船舶操纵运动的仿真计算[D].武汉理工大学,2003.DOI:10.7666/d.y519207.

🎈 部分理论引用网络文献,若有侵权联系博主删除
🎁  关注我领取海量matlab电子书和数学建模资料

👇  私信完整代码、论文复现、期刊合作、论文辅导及科研仿真定制

1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
4 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化
5 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
6 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
7 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
8 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
9 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合
  • 15
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值