⛄一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【运动学】基于matlab仿真CV、CA、CT三种运动模型轨迹【含Matlab源码 3037期】
点击上面蓝色字体,直接付费下载,即可。
获取代码方式2:
付费专栏Matlab物理应用(初级版)
备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码
⛄二、部分源代码
% 跟踪函数
function data = simutrack_cv(x0, y0, z0, v0, theta, phi, sigma_ax, sigma_ay, sigma_az, sigma_r, sigma_theta, sigma_phi, sigma_v, T, N)
%simutrack 仿真带加速度扰动的匀速直线运动目标的二维航迹.
%
% ‘x0’ 目标在x方向上的初始位置
% ‘y0’ 目标在y方向上的初始位置
% ‘z0’ 目标在z方向上的初始位置
% ‘v0’ 目标运动方向上的初始速度
% ‘theta’ 目标初始运动方向与x轴的夹角
% ‘phi’ 目标初始运动方向与xy平面的夹角
% ‘sigma_ax’ x轴方向的随机加速度(过程噪声)
% ‘sigma_ay’ y轴方向的随机加速度(过程噪声)
% ‘sigma_az’ z轴方向的随机加速度(过程噪声)
% ‘sigma_r’ 极坐标下距离的测量标准差
% ‘sigma_theta’ 极坐标下方位的测量标准差,单位度
% ‘sigma_phi’ 极坐标下俯仰的测量标准差,单位度
% ‘sigma_v’ 极坐标下径向速度的测量标准差
% ‘T’ 雷达扫描周期
% ‘N’ 采样点数
% ‘data’ 仿真得到的N点目标航迹[斜距 方位角 俯仰角 径向速度]
% 角度转变为弧度
theta = thetapi/180;
phi=phipi/180;
% xyz方向上的初始速度
vx0 = v0 * cos(theta)*cos(phi);
vy0 = v0 * sin(theta)*cos(phi);
vz0 = v0 * sin(phi);
% 状态转移矩阵
F = [1 T 0 0 0 0; 0 1 0 0 0 0; 0 0 1 T 0 0 ; 0 0 0 1 0 0;0 0 0 0 1 T;0 0 0 0 0 1];
% 过程噪声分布矩阵
Tao = [T^2/2 0 0;T 0 0;0 T^2/2 0 ; 0 T 0;0 0 T^2/2;0 0 T];
% 测量矩阵
% H = [1 0 0 0 0 0;0 0 1 0 0 0;0 0 0 0 0 1 ];
% 构造真实航迹
X(:,1) = [x0 vx0 y0 vy0 z0 vz0]‘;
for m = 2:N
X(:,m) = FX(:,m-1)+Tao[sigma_axrandn(1) sigma_ayrandn(1) sigma_az*randn(1)]’; %N个点迹的坐标
end
% 极坐标下的数值
r0 = sqrt(X(1,:).2+X(3,:).2+X(5,:).^2); %斜距
theta0 = atan(X(3,:)./X(1,:))*180/pi; %方位角
phi0 = atan(X(5,:)./sqrt(X(1,:).2+X(3,:).2))*180/pi; %俯仰角
vr0 = -(X(1,:).*X(2,:)+X(3,:).*X(4,:)+X(5,:).*X(6,:))./r0; %径向速度
for i=1:N
if(X(1,i)>=0&&X(3,i)>0)
theta0(i)=theta0(i);
else if(X(1,i)>=0&&X(3,i)<0)
theta0(i)=theta0(i)+360;
else
theta0(i)=theta0(i)+180;
end
end
end
% 加高斯观测噪声
r = r0 + sigma_rrandn(1,N);
theta = theta0 + sigma_thetarandn(1,N);
phi = phi0+sigma_phirandn(1,N);
vr = vr0+sigma_vrandn(1,N);
data = [r’, theta’,phi’,vr’];
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 门云阁.MATLAB物理计算与可视化[M].清华大学出版社,2013.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除