?? straihtflight_2d.m
字號:
%直線二維航跡沖突檢測
function CP=StraihtFlight_2D(a,b,c,rate_h,rms_vp,Sc, delta_Vx,delta_Vy,delta_Px0,delta_Py0)
%飛機1的起始位置(x1,y1)
%飛機2的起始位置(x2,y2)
%v1,v2兩機地速
%a、b飛機1、2速度方向與x軸夾角
%c兩航線夾角
%rate_h(兩機相同) 飛機速度水平方向上的分量誤差的線性增長因子,沿航跡方向的均方根rms_along = rate_h*t----沿航跡方向
%rms_vp(兩機相同) 飛機在垂直方向上偏離航跡誤差的均方根------垂直方向
%Sc兩機安全距離
r =a*pi/180;
h =b*pi/180;
if r>pi
r=2*pi-r;
else ;
end
if h>pi
h=2*pi-h;
else ;
end
% 求預測時間t
t = -([delta_Px0,delta_Py0] * [delta_Vx;delta_Vy] / ([delta_Vx,delta_Vy] * [delta_Vx;delta_Vy]));
%坐標系轉換矩陣
R1 = [cos(r),-sin(r);sin(r),cos(r)];
R2 = [cos(h),-sin(h);sin(h),cos(h)];
%兩機互相獨立的位置隨機誤差變量的協(xié)方差陣Cov1,Cov2
Cov1 = [(rate_h*t)^2, 0;
0,rms_vp^2];
Cov2 = [(rate_h*t)^2, 0;
0,rms_vp^2];
% 對兩協(xié)方差陣進行坐標變換,轉換至地球參考坐標系下;并合并誤差協(xié)方差
Q1 = R1 * Cov1 * R1';
Q2 = R2 * Cov2 * R2';
M = Q1 + Q2;
% 坐標系變換,使橢圓概率空間域變換單位圓,求得變換矩陣R和T
% 對聯(lián)合協(xié)方差陣進行Cholesky分解,使得M = LL'
L = (chol(M))';
delta_gamma = inv(L) * [delta_Vx;delta_Vy];
delta_gammax = delta_gamma(1);
delta_gammay = delta_gamma(2);
R = (1/(delta_gammax^2 + delta_gammay^2 )^0.5) * [ delta_gammax, delta_gammay;
-delta_gammay, delta_gammax];
T = R * inv(L);
% 計算積分域(變換前為橢圓體積分域)邊界
W = inv(T);
Params = W'*W;
r = Params(1);
s = Params(2);
z = Params(4);
delta_yc = Sc*(a/(r*z-s*s))^0.5;
% 原地球參考坐標系中最近點處兩機的位置差(影響機一的聯(lián)合誤差區(qū) 和 機二的沖突區(qū)的 相對位置)
Delta_Pm = [delta_Px0;delta_Py0] + t * [delta_Vx;delta_Vy];
% 將位置差矢量進行T變換
Delta_Pm = T * Delta_Pm;
% 積分域上下限
y_min = -Delta_Pm(2) - delta_yc;
y_max = -Delta_Pm(2) + delta_yc;
% 計算沖突概率
CP = normcdf(y_max,0,1) - normcdf(y_min,0,1);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -