📄 avrsimulation.m
字号:
function [tagetdata]=AVRsimulation(Num_sh,Num_T,T)
%功能:模拟船的径向运动参数
%输入参数:Num_sh船的个数
% Num_T扫频周期(采样点)个数
% T扫频周期
% 输出参数:a船的径向加速度
% v船的径向速度
% r船的径向距离
a=zeros(Num_T,Num_sh); %每条船的径向加速度在每个扫频周期之间满足[-1,1]均匀分布(m/s^2),一个扫频周期内加速度不变%
v=zeros(Num_T,Num_sh); %船的径向速度矩阵初始化
r=zeros(Num_T,Num_sh); %船的径向距离矩阵初始化
v0=16.6*(1-2*rand(Num_sh,1)); %每条船的初速度在[-16.6,16.6](m/s)之间随机取值%
r0=100e3*rand(Num_sh,1); %每条船的初始距离在[0,300](m)之间随机取值%
tagetdata=zeros(Num_T,4,Num_sh);
for L=1:Num_sh %对每一条船%
v(1,L)=v0(L); %将初速度赋予第一个时间点的速度%
r(1,L)=r0(L); %将初始距离赋予第一个时间点的距离%
for i=1:(Num_T-1) %对接下来的时间点%
v(i+1,L)=v(i,L)+a(i,L)*T; %进行速度迭代%
r(i+1,L)=r(i,L)-v(i,L)*T-0.5*a(i,L)*T^2; %进行距离迭代%
end
tagetdata(:,1,L)=r(:,L);
tagetdata(:,3,L)=v(:,L);
tagetdata(:,4,L)=a(:,L);
end
r0=r0./1000 %将船的径向距离以单位km表示
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -