• Регистрация
Просто Кот
Просто Кот 0.00
н/д

Необходимо сбить БПЛА

Не секрет, что БПЛА являются одним из основных средсв поражения живой силы и техники в зоне СВО! А по-сему, борьба с БПЛА есть острейшая задача современности,для чего нужно знать, как дробится болванка рядом с БПЛА. Подпрыгнуть туда мы не можем, значит надо считать и моделировать, прежде чем тупо тратить Государственные деньги на бредни.

Предлагается реализация математической модели дробление болванки 30 мм. на траектории от 500 до 2500 метров. Буду благодарен за советы , замечания и самую жесткую критику, как по математике, так и по коду. С уважением, Н.С.В.

Файлы

  • OskolkI_Radial_30_Size_O03_03_IN.m

Теги

    03.10.2024

    Комментарии

    • Vital85
      Vital850.00
      14.10.2024 16:00

      Хотелось бы более четко сформулированную цель данной проги.

      Видно, что довольно реалистично посчитан конус осколков. Но при чем здесь БПЛА ? 

      В строке 460 кода ошибка. 

      • Просто Кот
        Просто Кот0.00
        15.10.2024 20:31

        Не судите строго, первые пробы пера на публику в инете и темпаче, на столь уважаемом мной сайте. Прстараюсь быть доходчивым и представлю все нужные пояснения.

        Кратко по пунктам в общей постановке и решении задачи;

        1. Формируем 3D модель конуса осколочного поля на основе статического подрыва, теоретических рассчетов  и экспериментальных данных внешней баллистики на траектории и ограничив макс. дальности пробития D max. (чёрточки разноцветные на рис.)

        2. Формируем 3D модель объекта поражения (самолётик целиком или его "смертельные" узлы и блоки, как пожелаете).

        3."Бросаем" конус ОП в координаты цели на требуемую дальность с заданной ТТХ "рогатки" (эллипс рассеивания по траектории = сигмы Xc,Yc&Zc). Точностные характеристики рогатки.

        4. Задаем точность определения координат цели устройством обнаружения и сопровождения (сигмы Xs,Ys &Zs цели)

        4. Считаем количество элементов осколочного поля (ОП) Nоп. вн., которые попадут внутрь 3D модели  каждого узла 3В модели самолётика.

        5. Делим Nоп. вн./Nобщ., где Nобщ, - общее количество элементов ОП от одного разрыва. 

        РЕЗУЛЬТАТ:

        Вероятность поражения цели от 1 элемента и более.

        В проге сделано 4 варианта. не менее 1-го поражения и более, не менее 2 и более, не менее 3 и более, не менее 4-х и более, что расположены под if. Т количество объектов, выстренных из рогаткию N, а дальше  можете творить, что хотим.

        Количество повторения испытаний для достижения нужной точности определения вероятности задают nR = 1; nC = 1; Приняты  1, чтобы не ждать полтора часа результата. А так при  nR = 40; nC = 40. 1/1600 = точность  до третьего знака 0,6%, до четвёртого 6%.

         

        Благодарю за внимание. Отвечу на все вопрросы, как по проге, так по математике.

        * по 480 -коду ошибки чуть позже.

        С уважением, Просто Кот.

        • Просто Кот
          Просто Кот0.00
          15.10.2024 21:31

          Да, спасибо, поправил.Внешний эллипс=заденная точность рогатки по траектории Xs,Ys,Zs, а внутренний шарик = точность определения координат цели Xс,Yс,Zс, распределйнные по нормальному закону с заданными сигмами.
          clc
          clear

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % ПОСТАНОВКА ЗАДАЧИ РАССЧЕТА ПАРАМЕТРОВ %
          % РАЗЛЕТА ОСКОЛКОВ МКБ-30 ПРИ РАБОТЕ ПО МАЛЫМ БПЛА %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % %
          % ИЗМЕНЕНИЕ ТИПА ШРИФТА И ЕГО РАЗМЕРА НА РИСУНКАХ И ГРАФИКАХ %
          % %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          % Выбор шрифта, его размера и жирности
          set(0,'DefaultAxesFontName', 'Times New Roman')
          set(0,'DefaultAxesFontSize', 12)


          %-------------------------------------------------------------------------%
          % ИСХОДНЫЕ ДАННЫЕ %
          %-------------------------------------------------------------------------%

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % %
          % УГОЛ ПРИЦЕЛИВАНИЯ-ВОЗВЫШЕНИЯ СТВОЛА ОРУДИЯ %
          % %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          % Каждой дальности до цели и высоты полета БПЛА соответствует своя скорость
          % снаряда и половинное рассеивание по координатам X,Y Z. Следовательно,
          % скорость боеприпаса, и СКО по координатам необходимо задавать в
          % зависимости от наклонной дальности и высоты полета БПЛА. Для
          % приблизительного рассчета можно принять следующие данные
          tic

          %-------------------------------------------------------------------------%
          % ПЛОЩАДЬ ПОВЕРХНОСТИ ЦЕЛИ: БПЛА САМОЛЕТНОГО ТИПА %
          %-------------------------------------------------------------------------%
          Ns=48;
          % Size_O_04 = 0.9601; % Площадь цели = 7,0 кв. м.
          Size_O_04 = 1.461; % Площадь цели = 3,0 кв. м.
          % Size_O_04 = 2.539; % Площадь цели = 1,0 кв. м.

          %-------------------------------------------------------------------------%
          %ПРОЕКТ: ОБЛАСТЬ РАЗЛЕТА ОСКОЛКОВ ОТ ОФЗ-30 ДО ДАЛЬНОСТИ ПОРАЖЕНИЯ Lmax %
          %-------------------------------------------------------------------------%

          nDH = 1; % Параметры полеты цели (БПЛА)
          DZmax = 1.5; % Шаг разбиения дальности поражения
          nLz = 10.0; % Число разбиений траектории по оси Z в
          % обеспечениt точности расчетов
          DZMax=nLz*DZmax; % Максимальная дальность поражения цели
          % осколками в координатах цели
          Kz=1.0e-0; % Коэффициент пропорциональност СКО по
          % координате Z
          LD=[500 1000 1500 2000 2500]; % Наклонная дальность боеприпаса по
          % траектории полета до цели (БПЛА)
          SigmaXYo = 1.0e-0; % СКО орудия по ТТХ по азимуту X и
          % элевации Y
          SigmaXY=SigmaXYo.*(LD./LD(1)); % СКО отклонения согласно ТТХ МКБ-30
          % по азимуту и элевации на траектории
          nDz=[2 1.5 1.25 1.125 1]; % Коэффициент запаса по CKO
          % по высоте полета БПЛА
          SigmaZ=Kz.*nDz.*SigmaXY; % СКО отклонения по ТТХ по высоте
          % на разных дальностях
          VZ0 = [822 680 553 441 342]; % Скорость СКБ-30 на заданной дальности
          Fv = [1350 1300 1250 1200 1150]; % Частота вращения МКБ-30 по траектории

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          %-------------------------------------------------------------------------%
          MaxGamma=90; % Максимальный угол возвышения ствола пушки 2А42 %
          Ho=LD*sind(MaxGamma); % Предельная высота поражения цели на LDo (БПЛА) %
          Gamma=acosd(Ho/LD); % Угол возвышения-прицеливания по цели (БПЛА) %
          %-------------------------------------------------------------------------%
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          sigmaXo=SigmaXY(nDH); % СКО СКБ-30 по азимуту
          sigmaYo=SigmaXY(nDH); % СКО СКБ по углу места
          sigmaZo=SigmaZ(nDH); % СКО по углу места

          % Разбиваем область вычислений по количеству осколков, формируемых
          % осколочным полем при подрыве боеприпаса
          nAlfa=300;

          % Число точек скоростей выбираем раным разбиений по углам осколочного поля
          nSpeed=nAlfa;

          % Вспомогательная целочисленная переменная
          n=1:1:nAlfa;

          %-------------------------------------------------------------------------%
          % МАКСИМАЛЬНАЯ ДАЛЬНОСТЬ ПОЛЕТА ОСКОЛКОВ МКБ-30 ПО ТРАЕКТОРИИ ПОЛЁТА %
          %-------------------------------------------------------------------------%

          % Плоскость ЭКРАНА: координата в азимутальной плоскости - X, координата в
          % вертекальной плоскости - Y, траектории полёта по дальности - Z

          %-------------------------------------------------------------------------%
          % УГЛЫ РАЗЛЁТА ОСКОЛКОВ МКБ-30 НА ТРАЕКТОРИИ ПОЛЁТА %
          %-------------------------------------------------------------------------%

          MathAlfa = 90.00;
          SigmAlfa = 7.5e-0;

          % MathAlfa = 0.00;
          % SigmAlfa = 1.5e-0;

          randAlfa = normrnd(MathAlfa,SigmAlfa,nAlfa);
          RandAlfa = randAlfa(1,n);

          %-------------------------------------------------------------------------%
          % СКОРОСТНЫЕ ПАРАМЕТРЫ РАЗЛЁТА ОСКОЛКОВ МКБ-30 НА ТРАЕКТОРИИ ПОЛЁТА %
          %-------------------------------------------------------------------------%

          MathR=13.5e-3;
          SigmaR=0.75e-3;

          % MathR=7.5e-3;
          % SigmaR=2.5e-3;

          Kv=1.0e-1;

          VXmax=1250.0; % Максимальная Скорость разлета осколков
          VYmax=1150.0; % Максимальная Скорость разлета осколков

          % VXmax=Kv*VXmax; % Максимальная Скорость разлета осколков
          % VYmax=Kv*VYmax; % Максимальная Скорость разлета осколков


          MathVX=VXmax;
          SigmaVX=Kv*VXmax;
          RandVX = normrnd(MathVX,SigmaVX,nSpeed);

          VXRand=RandVX(1,n); % Случайная скорость разлета осколков

          MathVY=VYmax;
          SigmaVY=Kv*VYmax;
          RandVY = normrnd(MathVY,SigmaVY,nSpeed);

          VYRand=RandVY(1,n); % Случайная скорость разлета осколков

          VZ0o=80; % Добавка продольной скорости за счет
          % подрыва МКБ-30
          MathVZ=VZ0(nDH)+VZ0o; % Математическое ожидание скорости
          % MathVZ=1.0e-3; % Математическое ожидание статического
          % % осколочного поля по Х и У

          SigmaVZ=Kv*MathVZ;
          RandVZ = normrnd(MathVZ,SigmaVZ,nSpeed);
          VZRand=RandVZ(1,n); % Количество отсчетов Tmax/Lmax

          nL=0:1:nAlfa-1; % Текущие Отсчеты дальности до цели Lmax

          % Нормальное распределение скоростей осколоного поля в на траектории полета
          % ОФЗ - 30 потраектории Z: плоскости XZ и ZX

          MathVZo=VZ0(nDH)+VZ0o; % Математическое ожидание
          % осколочного поля по Х и У
          SigmaVZo=Kv*MathVZo; % Дисперсия скорочтей осколочного
          % поля по Х и У

          %-------------------------------------------------------------------------%
          % МОДЕЛЬ СЛУЧАЙНОГО УГЛА РАЗЛЕТА ОСКОЛКОВ ПО ОСЯМ X и Y %
          %-------------------------------------------------------------------------%

          AlfaMax=max(max(RandAlfa)); % Mаксимальный угол разлета
          % осколков в плоскости XY
          %-------------------------------------------------------------------------%
          % ВЫЧИСЛЕНИЕ ВРЕМЕННЫХ ПАРАМЕТРОВ МОДЕЛИ РАЗЛЕТА ОСКОЛКОВ %
          %-------------------------------------------------------------------------%

          %#########################################################################%
          %
          VDxy = sqrt((VYmax).^2+(VZ0(nDH).^2)); %
          %
          %#########################################################################%


          %************** - ВЕКТОР СКОРОСТИ элементов осколочного поля - **********%
          VVector = sqrt(VZ0(nDH).^2 + VXmax.^2);
          %*************************************************************************%

          % TZmax = DZmax./VZ0(nDH); % Время бокового разлёта
          % % осколков до цели
          % TZmax = DZmax./VDxy; % Время бокового разлёта
          % % осколков до цели

          TZmax = DZmax./VVector ; % Время бокового разлёта
          % осколков до целиdt = TZmax/(nAlfa-1);
          dt = TZmax/(nAlfa-1); % Интервал дискретизации по Tmax
          % Интервал дискретизации по Tmax
          tmax = TZmax; % Текущее время разлета осколков
          t = 0:dt:tmax; % Текущее время разлета осколков

          %-------------------------------------------------------------------------%
          % ВЫЧИСЛЕНИЕ КОНУСА РАЗЛЕТА ОСКОЛКОВ ПО ТРАЕКТОРИИ ПОЛЕТА %
          %-------------------------------------------------------------------------%

          k=TZmax.*Fv(nDH); % Число оборотов МКБ-30
          % до встречи с целью
          kn=nAlfa./k; % Число отсчетов в плоскости XY

          %-------------------------------------------------------------------------%
          % РАДИАЛЬНАЯ СКОРОСТЬ РАЗЛЕТА ОСКОЛКОВ %
          %-------------------------------------------------------------------------%
          %-------------------------------------------------------------------------%
          % РАЗГОН ОСКОЛКОВ МКБ ПОСЛЕ ВСКРЫТИЯ БОЕПРИПАСА %
          %-------------------------------------------------------------------------%

          % Радиальная составляющая за счет вращения

          R=normrnd(MathR,SigmaR,nAlfa); % Внешний радиус разлёта осколков
          VR=(2*pi.*R).*Fv(nDH); % Радиальная скорость вращения МКБ-30
          Gg1=(VR.^2)./R; % Центростремительное ускорение
          % разгона осколков МКБ-30 до V01
          Gg=Gg1(1,n); % Центростремительное ускорение
          AngleGg=atand(VR./VXRand); % Угол разлёта осколков тела МКБ-30

          %-------------------------------------------------------------------------%
          % ТОРМОЖЕНИЕ ОСКОЛКОВ МКБ-30 НА ТРАЕКТОРИИ ПОЛЕТА %
          %-------------------------------------------------------------------------%
          Lo=150;
          L0(nDH)=Lo.*VZ0(nDH)./VZ0(1); % Максимальная дальность полета осколка
          Ag=(VZ0(nDH).^2)./(2*L0(nDH)); % Ускорение торможения осколков МКБ-30
          GgT=1.0e-4; % Постоянная времении осколочного поля

          VXo=VXRand.*(1-exp(-t./GgT)); % Cкоростой профиль осколочного поля X
          % c учетом разгона осколков подрывом ВВ
          VYo=VYRand.*(1-exp(-t./GgT)); % Cкоростой профиль осколочного поля Y
          % c учетом разгона осколков подрывом ВB
          VZo=VZRand; % Cкоростой профиль осколочного поля Z
          % c учетом разгона осколков подрывом ВB
          % %-------------------------------------------------------------------------%
          % % ЛИНЕЙНОЕ ТОРМОЖЕНИЕ ЭЛЕМЕНТОВ ОСКОЛОЧНОГО ПОЛЯ %
          % %-------------------------------------------------------------------------%
          % VXrand=(VXo-Ag.*t); % Cкоростой профиль разлета осколков с
          % % учетом ускорений торможения Ag
          % VYrand=(VYo-Ag.*t); % Cкоростой профиль разлета осколков с
          % % учетом ускорений торможения Ag
          % VZrand=VZo-Ag.*t; % Cкоростой профиль разлета осколков с
          % % учетом ускорений торможения Ag
          %-------------------------------------------------------------------------%
          % ЭКСПОНЕНЦИАЛЬНОЕ ТОРМОЖЕНИЕ ЭЛЕМЕНТОВ ОСКОЛОЧНОГО ПОЛЯ %
          %-------------------------------------------------------------------------%
          Kexp=5.0e-4; % Коэффициент затухания скоростей
          % осколочного поля по координатам
          VXrand=VXo.*exp(-Kexp.*VXo.*t); % Торможение радиальной скорости ОП
          % по оси Х
          VYrand=VYo.*exp(-Kexp.*VYo.*t); % Торможение радиальной скорости ОП
          % по оси Y
          VZrand=VZo.*exp(-Kexp.*VZo.*t); % Торможение траекторной скорости ОП
          % по оси Z
          %-------------------------------------------------------------------------%
          % УГЛЫ ОКРУЖНОСТЕЙ КОНУСА РАЗЛЁТА ОСКОЛКОВ ПО ТРАЕКТОРИИ ПОЛЕТА %
          %-------------------------------------------------------------------------%

          BettaXYn=((2*180)./kn+AngleGg).*nL; % Угол,вызванный центробежной силой
          % скручивания осколков ОП за счет
          % вращения ОФЗ-30
          BettaXY=BettaXYn(1,n);

          %-------------------------------------------------------------------------%
          % СКОРОСТЬ МКБ-30 НА ТРАЕКТОРИИ ПОЛЕТА ДО ЦЕЛИ %
          %-------------------------------------------------------------------------%
          %-------------------------------------------------------------------------%
          % РАССЧЕТ ТРАЕКТОРИИ РАЗЛЕТА ОСКОЛКОВ В ПЛОСКОСТИ %
          % ПЕРПЕНДЕКУЛЯРНОЙ ВЕКТОРУ ТРАЕКТОРНОЙ СКОРОСТИ по осям X&Y %
          %-------------------------------------------------------------------------%

          T0 = t'; % Вектор текцщего времени
          T1 = tmax+t'; % Вектор текцщего времени
          T2 = 2*tmax+t'; % Вектор текцщего времени
          T3 = 3*tmax+t'; % Вектор текцщего времени
          T4 = 4*tmax+t'; % Вектор текцщего времени
          T5 = 5*tmax+t'; % Вектор текцщего времени
          T6 = 6*tmax+t'; % Вектор текцщего времени
          T7 = 7*tmax+t'; % Вектор текцщего времени
          T8 = 8*tmax+t'; % Вектор текцщего времени
          T9 = 9*tmax+t'; % Вектор текцщего времени

          % VX = (VXRand + VXrand.*cosd(RandAlfa)).*sind(RandAlfa); % Радиальная скорость осколков VX по оси Х
          % VY = (VYRand + VXrand.*cosd(RandAlfa)).*sind(RandAlfa); % Радиальная скорость осколков VX по оси У
          % VZ = VZrand+VXrand.*cosd(RandAlfa); % Продольная скорость осколков VX по оси Z
          %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % ПО ФОРМУЛЕ ДИАГОНАЛИ ПАРАЛЛЕЛОГРАММА %
          % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          VVx=sqrt(VXrand.^2 + VZrand.^2+2.*VXrand.*VZrand.*cosd(RandAlfa)); % Вектор скорости ОП по оси Х
          VVy=sqrt(VYrand.^2 + VZrand.^2+2.*VYrand.*VZrand.*cosd(RandAlfa)); % Вектор скорости ОП по оси У

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % ПО ТЕОРЕМЕ КОСИНУСОВ ПО ДВУМ СТОРОНАИ И УГЛУ МЕЖДУ НИМИ %
          % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          BettaX=acosd((VVx.^2+ VZrand.^2-VXrand.^2)./(2.*VVx.*VZrand)); % Распределение углов ОП по оси Х
          BettaY=acosd((VVy.^2+ VZrand.^2-VYrand.^2)./(2.*VVy.*VZrand)); % Распределение углов ОП по оси У

          % BettaX=atand((VXrand.*sind(RandAlfa))./(VZrand+VXrand.*cosd(RandAlfa))); % Распределение углов ОП по оси Х
          % BettaY=atand((VYrand.*sind(RandAlfa))./(VZrand+VYrand.*cosd(RandAlfa))); % Распределение углов ОП по оси У

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % СРЕДНЕКВАДРАТИЧЕСКОЕ ОТКЛОНЕНИЕ УЛОВ ОСКОЛОЧНОГО ПОЛЯ %
          % В ЗАВИСИМОСТИ ОТ ДАЛЬНОСТИ ПОЛЕТА МКБ-30 ПО ОСЯМ X и Y %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          Std_BettaX = std(BettaX,0,'all'); % СКО улов разлета элементов ОП по оси Х
          Std_BettaY = std(BettaY,0,'all'); % СКО улов разлета элементов ОП по оси Y

          Mean_BettaX = mean(BettaX,"all");
          Mean_BettaY = mean(BettaY,"all");

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % СОСТАВЛЯЮЩИЕ СКОРОСТЕЙ ОСКОЛОЧНОГО ПОЛЯ НАХОДЯТСЯ КАК %
          % ПРОЕКЦИИ НА СООТВЕТСТВУЮЩИЕ ОСИ X,Y и Z %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          VX=VVx.*sind(BettaX); % Радиальная скорость осколков VX по оси Х
          VY=VVy.*sind(BettaY); % Радиальная скорость осколков VX по оси У
          VZ=sqrt((VVx.^2+VVy.^2)./2).*cosd(BettaX); % Продольная скорость осколков VX по оси Z

          %-------------------------------------------------------------------------%
          % ФОРМИРОВАНИЕ КОНУСА РАЗЛЕТА ОСКОЛКОВ ПО ТРЕКТОРИИ мкб-30 %
          % В ПЛОСКОСТИ ПЕРПЕНДЕКУЛЯРНОЙ ВЕКТОРУ ТРАЕКТОРНОЙ СКОРОСТИ по осям X&Y %
          %-------------------------------------------------------------------------%
          %-------------------------------------------------------------------------%
          % ТРАЕКТОРИЯ ОСКОЛКОВ МКБ-30 ПО ОСИ Х ПРИ ПОЛЕТЕ ДО ЦЕЛИ %
          %-------------------------------------------------------------------------%

          LX0=VX.*T0; % Траектория по оси Х
          LX1=VX.*T1; % Траектория по оси Х
          LX2=VX.*T2; % Траектория по оси Х
          LX3=VX.*T3; % Траектория по оси Х
          LX4=VX.*T4; % Траектория по оси Х
          LX5=VX.*T5; % Траектория по оси Х
          LX6=VX.*T6; % Траектория по оси Х
          LX7=VX.*T7; % Траектория по оси Х
          LX8=VX.*T8; % Траектория по оси Х
          LX9=VX.*T9; % Траектория по оси Х

          LXx0=LX0.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx1=LX1.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx2=LX2.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx3=LX3.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx4=LX4.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx5=LX5.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx6=LX6.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx7=LX7.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx8=LX8.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х
          LXx9=LX9.*sind(BettaXY); % Траектория КОНУСА разлёта осколков по оси Х

          %-------------------------------------------------------------------------%
          % ТРАЕКТОРИЯ ОСКОЛКОВ МКБ-30 ПО ОСИ Y ПРИ ПОЛЕТЕ ДО ЦЕЛИ %
          %-------------------------------------------------------------------------%

          LY0=VY.*T0; % Траектория осколочного поля по оси Y
          LY1=VY.*T1; % Траектория осколочного поля по оси Y
          LY2=VY.*T2; % Траектория осколочного поля по оси Y
          LY3=VY.*T3; % Траектория осколочного поля по оси Y
          LY4=VY.*T4; % Траектория осколочного поля по оси Y
          LY5=VY.*T5; % Траектория осколочного поля по оси Y
          LY6=VY.*T6; % Траектория осколочного поля по оси Y
          LY7=VY.*T7; % Траектория осколочного поля по оси Y
          LY8=VY.*T8; % Траектория осколочного поля по оси Y
          LY9=VY.*T9; % Траектория осколочного поля по оси Y

          LYy0=LY0.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy1=LY1.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy2=LY2.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy3=LY3.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy4=LY4.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy5=LY5.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy6=LY6.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy7=LY7.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy8=LY8.*cosd(BettaXY); % Траектория осколочного поля по оси Y
          LYy9=LY9.*cosd(BettaXY); % Траектория осколочного поля по оси Y

          LZz0=VZ.*T0; % Траектория осколочного поля по оси Z
          LZz1=VZ.*T1; % Траектория осколочного поля по оси Z
          LZz2=VZ.*T2; % Траектория осколочного поля по оси Z
          LZz3=VZ.*T3; % Траектория осколочного поля по оси Z
          LZz4=VZ.*T4; % Траектория осколочного поля по оси Z
          LZz5=VZ.*T5; % Траектория осколочного поля по оси Z
          LZz6=VZ.*T6; % Траектория осколочного поля по оси Z
          LZz7=VZ.*T7; % Траектория осколочного поля по оси Z
          LZz8=VZ.*T8; % Траектория осколочного поля по оси Z
          LZz9=VZ.*T9; % Траектория осколочного поля по оси Z

          %######################### 15.0 метров ####################################
          L1Xx = [LXx0;LXx1;LXx2;LXx3;LXx4;LXx5;LXx6;LXx7;LXx8;LXx9]; %
          L1Yy = [LYy0;LYy1;LYy2;LYy3;LYy4;LYy5;LYy6;LYy7;LYy8;LYy9]; %
          L1Zz = [LZz0;LZz1;LZz2;LZz3;LZz4;LZz5;LZz6;LZz7;LZz8;LZz9]; %
          %#########################################################################%

          % %######################### 15.0 метров ####################################
          % L1Xx = [LXx0;LXx1;LXx2;LXx3;LXx4;LXx5]; %
          % L1Yy = [LYy0;LYy1;LYy2;LYy3;LYy4;LYy5]; %
          % L1Zz = [LZz0;LZz1;LZz2;LZz3;LZz4;LZz5]; %
          % %#########################################################################%

          % %%%######################### 10.0 метров #################################
          % L1Xx = [LXx0;LXx1;LXx2;LXx3]; %
          % L1Yy = [LYy0;LYy1;LYy2;LYy3]; %
          % L1Zz = [LZz0;LZz1;LZz2;LZz3]; %
          % %%%#######################################################################

          % %%######################### 7.5 метров ###################################
          % L1Xx = [LXx0;LXx1;LXx2]; %
          % L1Yy = [LYy0;LYy1;LYy2]; %
          % L1Zz = [LZz0;LZz1;LZz2]; %
          % %#########################################################################

          % %########################## 5.0 метров ###################################
          % L1Xx = [LXx0;LXx1]; %
          % L1Yy = [LYy0;LYy1]; %
          % L1Zz = [LZz0;LZz1]; %
          % %#########################################################################

          % %########################### 2.5 метров #################################
          % L1Xx = LXx0; %
          % L1Yy = LYy0; %
          % L1Zz = LZz0; %
          % % %########################################################################%


          %-------------------------------------------------------------------------%
          % ТРАЕКТОРИЯ ОСКОЛКОВ МКБ-30 ПО ОСИ Z ПРИ ПОЛЕТЕ ДО ЦЕЛИ %
          %-------------------------------------------------------------------------%

          figure(1)

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % %
          % ПОСТРОЕНИЕ КОНУСА РАССЕИВАНИЯ ОСКОЛОЧНОГО ПОЛЯ %
          % %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          plot3(L1Xx,L1Yy,L1Zz,'.');
          % axis equal;
          % hold off;
          title('Конус осколочного поля ОФЗ-30 ');
          xlabel('Дальность до цели X, м ');
          ylabel('Дальность до цели Y, м ');
          zlabel('Траекторные дальность Z, м');
          legend('- угол разлета -3 до +3 град.','Location','northwest');
          grid on

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % ПОСТАНОВКА ЗАДАЧИ РАССЧЕТА ПАРАМЕТРОВ %
          % РАЗЛЕТА ОСКОЛКОВ МКБ-30 ПРИ РАБОТЕ ПО МАЛЫМ БПЛА %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          %-------------------------------------------------------------------------%
          %ПРОЕКТ: ОБЛАСТЬ РАЗЛЕТА ОСКОЛКОВ ОТ мкб-30 ДО ДАЛЬНОСТИ ПОРАЖЕНИЯ Lmax %
          %-------------------------------------------------------------------------%

          %-------------------------------------------------------------------------%
          %ПРОЕКТ: ОБЛАСТЬ РАЗЛЕТА ОСКОЛКОВ ОТ мкб-30 ДО ДАЛЬНОСТИ ПОРАЖЕНИЯ Lmax %
          %-------------------------------------------------------------------------%
          % Технический отсек
          [X01,Y01,Z01] = ellipsoid(-0.48/Size_O_04,0,-0.01/Size_O_04,0.525/Size_O_04,0.17/Size_O_04,0.17/Size_O_04,Ns);
          [X02,Y02,Z02] = ellipsoid(-0.4/Size_O_04,0,-0.01/Size_O_04,0.21/Size_O_04,0.16/Size_O_04,0.16/Size_O_04,Ns);

          % Моторный отсек
          [X11,Y11,Z11] = ellipsoid(-0.78/Size_O_04,0,-0.01/Size_O_04,0.2/Size_O_04,0.115/Size_O_04,0.115/Size_O_04,Ns);

          % Крыло с механизацией
          [X21,Y21,Z21] = ellipsoid(-0.25/Size_O_04,0,0.135/Size_O_04,0.27/Size_O_04,1.5/Size_O_04,0.05/Size_O_04,Ns);

          % Фюзеляж
          [X31,Y31,Z31] = ellipsoid(0.25/Size_O_04,0.115/Size_O_04,0.0,0.75/Size_O_04,0.025/Size_O_04,0.1/Size_O_04,Ns);
          [X32,Y32,Z32] = ellipsoid(0.25/Size_O_04,-0.115/Size_O_04,0.0,0.75/Size_O_04,0.025/Size_O_04,0.1/Size_O_04,Ns);

          % Хвостовое оперение - Руль курса
          [X33,Y33,Z33] = ellipsoid(0.875/Size_O_04,0.115/Size_O_04,0.125/Size_O_04,0.125/Size_O_04,0.02/Size_O_04,0.2/Size_O_04,Ns);
          [X34,Y34,Z34] = ellipsoid(0.875/Size_O_04,-0.115/Size_O_04,0.125/Size_O_04,0.125/Size_O_04,0.02/Size_O_04,0.2/Size_O_04,Ns);

          % Хвостовое оперение - Руль высоты
          [X41,Y41,Z41] = ellipsoid(0.86/Size_O_04,0,0/Size_O_04,0.14/Size_O_04,0.45/Size_O_04,0.025/Size_O_04,Ns);

          % Пропеллер
          [X42,Y42,Z42] = ellipsoid(-1.0/Size_O_04,0,0,0.015/Size_O_04,0.03/Size_O_04,0.275/Size_O_04,Ns);


          figure(3)

          surf(X01,Y01,Z01); axis equal; hold on;
          surf(X02,Y02,Z02); axis equal; hold on;
          surf(X11,Y11,Z11); axis equal; hold on;
          surf(X21,Y21,Z21); axis equal; hold on;
          surf(X31,Y31,Z31); axis equal; hold on;
          surf(X32,Y32,Z32); axis equal; hold on;
          surf(X33,Y33,Z33); axis equal; hold on;
          surf(X34,Y34,Z34); axis equal; hold on;
          surf(X41,Y41,Z41); axis equal; hold on;
          surf(X42,Y42,Z42); axis equal; hold off;

          % alpha(.3);
          colormap( jet );

          title('Осколочное поле ОФЗ-30:Vофз=600 м/с,Vоск=1200 м/c ');
          xlabel('Дальность до цели X, м ');
          ylabel('Дальность до цели Y, м ');
          zlabel('Траекторная дальность Z, м');

          grid on

          % Технический отсек отсек
          X01=X01(:);Y01=Y01(:);Z01=Z01(:);
          shp01 = alphaShape(X01,Y01,Z01);

          X02=X02(:);Y02=Y02(:);Z02=Z02(:);
          shp02 = alphaShape(X02,Y02,Z02);

          % Моторный отсек
          X11=X11(:);Y11=Y11(:);Z11=Z11(:);
          shp11 = alphaShape(X11,Y11,Z11);

          % Крыло с механизацией
          X21=X21(:);Y21=Y21(:);Z21=Z21(:);
          shp21 = alphaShape(X21,Y21,Z21);

          % Фюзеляж
          X31=X31(:);Y31=Y31(:);Z31=Z31(:);
          shp31 = alphaShape(X31,Y31,Z31);

          X32=X32(:);Y32=Y32(:);Z32=Z32(:);
          shp32 = alphaShape(X32,Y32,Z32);

          % Хвостовое оперение - Руль курса
          X33=X33(:);Y33=Y33(:);Z33=Z33(:);
          shp33 = alphaShape(X33,Y33,Z33);

          X34=X34(:);Y34=Y34(:);Z34=Z34(:);
          shp34 = alphaShape(X34,Y34,Z34);

          % Хвостовое оперение - Руль высоты
          X41=X41(:);Y41=Y41(:);Z41=Z41(:);
          shp41 = alphaShape(X41,Y41,Z41);

          % Пропеллер
          X42=X42(:);Y42=Y42(:);Z42=Z42(:);
          shp42 = alphaShape(X42,Y42,Z42);

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % ВЫЧИСЛЕНИЕ ПЛОЩАДИ ПОВЕРХНОСТИ КВАДРОКОПТЕРА МОДЕЛИ Н-01 %
          % ПОСОЕДСТВОМ АЛЬФА ФОРМЫ И СУММИРОВАНИЕМ ВСЕХ ЭЛЕМЕНТОВ КОНСТРУКЦИИ %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          Surface_O_03 = surfaceArea(shp11)+surfaceArea(shp21)+surfaceArea(shp31) ...
          + surfaceArea(shp32)+surfaceArea(shp33)+surfaceArea(shp34) ...
          + surfaceArea(shp41)+surfaceArea(shp42)+surfaceArea(shp01) ...
          + surfaceArea(shp02);

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % ФОРМИРОВАНИЕ СЛУЧАЙНОГО ПОЛЯ РАЗЛЕТА ОФЗ-30 В ТОЧКЕ ПРИЦЕЛИВАНИЯ %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          % Формирование случайного разброса боеприпасов в области поражения цели в %
          % диапазоне точностных характеристик. Основными параметрами являются %
          % случайное нормальное распределение по координатам X,Y b Z. Причем %
          % задаётся случайным нормальным законом распределения, как ошибка по %
          % дальности F(Z), так и в плоскости экрана (F(X),F(Y)) заданием sigmaZ, %
          % sigmaX и sigmaН НЗР. %
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          Kmx=SigmaXYo*1.0e-3; % Коэффициент пропорциональности Мх

          Mx=0; nX=nAlfa;
          My=0; nY=nAlfa;
          Mz=0; nZ=nAlfa;

          SigmaMz=Kmx*LD(nDH);
          SigmaMx=Kmx*LD(nDH);
          SigmaMy=Kmx*LD(nDH);

          nR = 1; nC = 1;
          SizeArc = nR*nC;
          Arc_0=[nR,nC];
          Arc_1=[nR,nC];
          Arc_2=[nR,nC];
          Arc_3=[nR,nC];

          for c = 1:nC
          for r = 1:nR

          % КООРДИНАТА Х - Горизонтальная плоскость

          RandMx = normrnd(Mx,SigmaMx,nX);
          mX=RandMx(r,c);
          RandX = normrnd(mX,sigmaXo,nX);

          % КООРДИНАТА Y - Вертикальная плоскость

          RandMy = normrnd(My,SigmaMy,nY);
          mY=RandMy(c,r);
          RandY = normrnd(mY,sigmaYo,nY);

          % КООРДИНАТА Z - Вертикальная плоскость

          RandMz = normrnd(Mz,SigmaMz,nZ);
          mZ=RandMz(r,r);
          RandZ = -abs(normrnd(mZ,sigmaZo,nZ));
          % RandZ = normrnd(mZ,sigmaZ,nZ);

          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

          LXX=L1Xx+RandX(r,c);
          LYY=L1Yy+RandY(r,c);
          LZZ=L1Zz+RandZ(r,c);

          in01 = inShape(shp01,LXX,LYY,LZZ);
          in02 = inShape(shp02,LXX,LYY,LZZ);
          in11 = inShape(shp11,LXX,LYY,LZZ);
          in21 = inShape(shp21,LXX,LYY,LZZ);
          in31 = inShape(shp31,LXX,LYY,LZZ);
          in32 = inShape(shp32,LXX,LYY,LZZ);
          in33 = inShape(shp33,LXX,LYY,LZZ);
          in34 = inShape(shp34,LXX,LYY,LZZ);
          in41 = inShape(shp41,LXX,LYY,LZZ);
          in42 = inShape(shp42,LXX,LYY,LZZ);

          Nin1_42_0 = nnz(in01)+nnz(in02)+nnz(in11)+nnz(in21)+nnz(in31)+nnz(in32) ...
          + nnz(in33)+nnz(in34)+nnz(in41)+nnz(in42);

          Nin1_42_1=Nin1_42_0;
          Nin1_42_2=Nin1_42_0;
          Nin1_42_3=Nin1_42_0;

          if Nin1_42_0>0
          Arc_0(r,c) = 1;
          elseif Nin1_42_0==0
          Arc_0(r,c) = 0;
          end
          if Nin1_42_1>1
          Arc_1(r,c) = 1;
          elseif Nin1_42_1==0
          Arc_1(r,c) = 0;
          end
          if Nin1_42_2>2
          Arc_2(r,c) = 1;
          elseif Nin1_42_2==0
          Arc_2(r,c) = 0;
          end
          if Nin1_42_3>3
          Arc_3(r,c) = 1;
          elseif Nin1_42_3==0
          Arc_3(r,c) = 0;
          end

          end
          end

          NArc_0=nnz(Arc_0);
          PArc_0=NArc_0/SizeArc;

          NArc_1=nnz(Arc_1);
          PArc_1=NArc_1/SizeArc;

          NArc_2=nnz(Arc_2);
          PArc_2=NArc_2/SizeArc;

          NArc_3=nnz(Arc_3);
          PArc_3=NArc_3/SizeArc;

          P05_0=(1-(1-PArc_0)^16);
          P05_1=(1-(1-PArc_1)^16);
          P05_2=(1-(1-PArc_2)^16);
          P05_3=(1-(1-PArc_3)^16);

          % Эллипс разброса снарядов

          [Xc,Yc,Zc] = ellipsoid(0,0,0, 3*sigmaXo,3*sigmaYo,3*sigmaZo,Ns);
          [Xs,Ys,Zs] = ellipsoid(mX,mY,mZ, 3*SigmaMx,3*SigmaMy,3*SigmaMz,Ns);

          %-------------------------------------------------------------------------%
          %ПРОЕКТ: ОБЛАСТЬ РАЗЛЕТА ОСКОЛКОВ ОТ мкб-30 ДО ДАЛЬНОСТИ ПОРАЖЕНИЯ Lmax %
          %-------------------------------------------------------------------------%
          % Технический отсек
          [X01,Y01,Z01] = ellipsoid(-0.48/Size_O_04,0,-0.01/Size_O_04,0.525/Size_O_04,0.17/Size_O_04,0.17/Size_O_04,Ns);
          [X02,Y02,Z02] = ellipsoid(-0.4/Size_O_04,0,-0.01/Size_O_04,0.21/Size_O_04,0.16/Size_O_04,0.16/Size_O_04,Ns);

          % Моторный отсек
          [X11,Y11,Z11] = ellipsoid(-0.78/Size_O_04,0,-0.01/Size_O_04,0.2/Size_O_04,0.115/Size_O_04,0.115/Size_O_04,Ns);

          % Крыло с механизацией
          [X21,Y21,Z21] = ellipsoid(-0.25/Size_O_04,0,0.135/Size_O_04,0.27/Size_O_04,1.5/Size_O_04,0.05/Size_O_04,Ns);

          % Фюзеляж
          [X31,Y31,Z31] = ellipsoid(0.25/Size_O_04,0.115/Size_O_04,0.0,0.75/Size_O_04,0.025/Size_O_04,0.1/Size_O_04,Ns);
          [X32,Y32,Z32] = ellipsoid(0.25/Size_O_04,-0.115/Size_O_04,0.0,0.75/Size_O_04,0.025/Size_O_04,0.1/Size_O_04,Ns);

          % Хвостовое оперение - Руль курса
          [X33,Y33,Z33] = ellipsoid(0.875/Size_O_04,0.115/Size_O_04,0.125/Size_O_04,0.125/Size_O_04,0.02/Size_O_04,0.2/Size_O_04,Ns);
          [X34,Y34,Z34] = ellipsoid(0.875/Size_O_04,-0.115/Size_O_04,0.125/Size_O_04,0.125/Size_O_04,0.02/Size_O_04,0.2/Size_O_04,Ns);

          % Хвостовое оперение - Руль высоты
          [X41,Y41,Z41] = ellipsoid(0.86/Size_O_04,0,0/Size_O_04,0.14/Size_O_04,0.45/Size_O_04,0.025/Size_O_04,Ns);

          % Пропеллер
          [X42,Y42,Z42] = ellipsoid(-1.0/Size_O_04,0,0,0.015/Size_O_04,0.03/Size_O_04,0.275/Size_O_04,Ns);


          figure(4)
          surf(Xc,Yc,Zc); axis equal; hold on;
          surf(Xs,Ys,Zs); axis equal; hold on;
          surf(X01,Y01,Z01); axis equal; hold on;
          surf(X02,Y02,Z02); axis equal; hold on;
          surf(X11,Y11,Z11); axis equal; hold on;
          surf(X21,Y21,Z21); axis equal; hold on;
          surf(X31,Y31,Z31); axis equal; hold on;
          surf(X32,Y32,Z32); axis equal; hold on;
          surf(X33,Y33,Z33); axis equal; hold on;
          surf(X34,Y34,Z34); axis equal; hold on;
          surf(X41,Y41,Z41); axis equal; hold on;
          surf(X42,Y42,Z42); axis equal; hold off;

          alpha(.3);
          colormap( jet );

          title('Осколочное поле ОФЗ-30:Vофз=600 м/с,Vоск=1200 м/c ');
          xlabel('Дальность до цели X, м ');
          ylabel('Дальность до цели Y, м ');
          zlabel('Траекторная дальность Z, м');

          grid on

          toc