clc
clear all
close all
R2D=180/pi;
D2R=pi/180;
h=0.1; %步长:秒
m= 3000; %节拍
%力和舵角初始化
Fu = 0;
deltav = 0;
deltah = 0;
Force0 = [];
deltav0 = [];
deltah0 = [];
x = zeros(10,1); %临时状态变量
T = zeros(m,1); %时间
Y = zeros(m,10); %状态变量
u0 = 0; v0 = 0; w0 = 0; q0 = 0; r0 = 0; x0 = 0; y0 = 0; z0 = 0; theta0 = 0; psi0 = 0;
Initial = [u0; v0; w0; q0; r0; x0; y0; z0; theta0;psi0];
x = Initial;
for i=1:1:m
t = h*i;
T(i,1)=t;
Fu = 200;
deltav =10;
deltah =100;
%龙哥库塔法
k1=Infante_3d(t,x,[Fu deltav deltah]);
k2=Infante_3d(t + h/2, x+h/2.*k1,[Fu deltav deltah]);
k3=Infante_3d(t + h/2, x+h/2.*k2,[Fu deltav deltah]);
k4=Infante_3d(t + h, x+h.*k3,[Fu deltav deltah]);
x = x + h/6.*(k1 + 2.*k2 + 2.*k3 + k4);
x(1)=LimitMaxMin(x(1),6,0);
x(2)=LimitMaxMin(x(2),2,-2);
x(3)=LimitMaxMin(x(3),2,-2);
x(4)=LimitMaxMin(x(4),0.1,-0.1);
x(5)=LimitMaxMin(x(5),0.1,-0.1);
x(9)=LimitMaxMin(x(9),D2R*20,-D2R*20);
x(10)=AdjustAngle(x(10));
Y(i,1) = x(1);%u
Y(i,2) = x(2);%v
Y(i,3) = x(3);%w
Y(i,4) = x(4);%q
Y(i,5) = x(5);%r
Y(i,6) = x(6);%x
Y(i,7) = x(7);%y
Y(i,8) = x(8);%z
Y(i,9) = x(9);%theta
Y(i,10) = x(10);%psi
Force0 =[Force0 Fu];
deltav0=[deltav0 deltav];
deltah0=[deltah0 deltah];
end
U = Y(:,1);
V = Y(:,2);
W = Y(:,3);
Q = Y(:,4);
R = Y(:,5);
Xp = Y(:,6);
Yp = Y(:,7);
Zp = Y(:,8);
theta = Y(:,9);
psi = Y(:,10);
figure(1);
subplot(3,1,1);plot(T,U,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('纵向速度u[m/s]');grid on;hold on;
subplot(3,1,2);plot(T,V,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('横向速度w[m/s]');grid on;hold on;
subplot(3,1,3);plot(T,W,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('垂向速度w[m/s]');grid on;hold on;
figure(2);
subplot(3,1,1);plot(T,Xp,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('纵向位移[m]');grid on;hold on;
subplot(3,1,2);plot(T,Yp,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('横向位移[m]');grid on;hold on;
subplot(3,1,3);plot(T,Zp,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('垂向位移[m]');grid on;hold on;
figure(3);
plot3(Xp,Yp,Zp,'b--','LineWidth',2);xlabel('纵向位移[m]');ylabel('横向位移[m]');zlabel('垂向位移[m]');title('UUV航迹');grid on;hold on;%
figure(4);
subplot(2,1,1);plot(T,psi*180/pi,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('艏向角[角.deg]');grid on;hold on;%
subplot(2,1,2);plot(T,theta*180/pi,'b','LineWidth',2);xlabel('仿真时间[s]');ylabel('纵倾角[角.deg]');grid on;hold on;%%Delatv垂直舵
figure(5);
subplot(2,1,1);plot(Xp,Yp,'b--','LineWidth',2);xlabel('纵向位移[m]');ylabel('横向位移[m]');title('UUV航迹');grid on;hold on;
subplot(2,1,2);plot(Xp,Zp,'b--','LineWidth',2);xlabel('纵向位移[m]');ylabel('[垂向位移m]');title('UUV航迹');grid on;hold on;
没有合适的资源?快使用搜索试试~ 我知道了~
【六自由度】基于matlab六自由度模型自主式水下潜器AUV仿真【含Matlab源码 6824期】.zip
共9个文件
jpg:5个
m:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 8 浏览量
2024-08-08
19:54:34
上传
评论
收藏 164KB ZIP 举报
温馨提示
CSDN海神之光上传的全部代码均可运行,亲测可用,尽我所能,为你服务; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、物理应用 仿真:导航、地震、电磁、电路、电能、机械、工业控制、水位控制、直流电机、平面电磁波、管道瞬变流、刚度计算 光学:光栅、杨氏双缝、单缝、多缝、圆孔、矩孔衍射、夫琅禾费、干涉、拉盖尔高斯、光束、光波、涡旋 定位问题:chan、taylor、RSSI、music、卡尔曼滤波UWB 气动学:弹道、气体扩散、龙格库弹道 运动学:倒立摆、泊车 天体学:卫星轨道、姿态 船舶:控制、运动 电磁学:电场分布、电偶极子、永磁同步、变压器
资源推荐
资源详情
资源评论
收起资源包目录
【六自由度】基于matlab六自由度模型自主式水下潜器AUV仿真【含Matlab源码 6824期】.zip (9个子文件)
【六自由度】基于matlab六自由度模型自主式水下潜器AUV仿真【含Matlab源码 6824期】
运行结果1.jpg 33KB
运行结果5.jpg 47KB
AdjustAngle.m 212B
LimitMaxMin.m 129B
Infante_3d.m 2KB
main3.m 3KB
运行结果2.jpg 47KB
运行结果4.jpg 37KB
运行结果3.jpg 43KB
共 9 条
- 1
资源评论
海神之光
- 粉丝: 4w+
- 资源: 4592
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 听似看似药品-文本相似度计算软件
- 学习笔记-二分图染色法和匈牙利算法
- 06-Python数据类型-元组
- 2023-04-06-项目笔记 - 第二百五十七阶段 - 4.4.2.255全局变量的作用域-255 -2025.09.15
- 超级好用的数据恢复软件winfr2.0-功能强大的数据恢复软件,软件提供简单易用的图形界面,帮助用户快速恢复数据
- PeaZip 64 bit 9.9.1 free 解压缩工具 杜绝360垃圾
- notepad最新版本 windows 64位
- 笔记本电脑磁盘分区的操作方法-本文将介绍关于笔记本电脑磁盘分区的操作方法,希望能够帮助大家更好地掌握相关知识
- IT公司程序员工作满意度调查问卷表模板(完整版)
- 基于大数据中台新能源智能汽车应用解决方案
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功