Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задача_на_торпеду

.docx
Скачиваний:
6
Добавлен:
27.01.2021
Размер:
689.55 Кб
Скачать

Содержание

Теория 2

Входные параметры 4

Модель Simulink 5

Схема 5

M-файл smod 5

Условие окончания расчетов 6

Диаграммы 7

Показания, снятые с диаграммы v(t) 8

Выводы 9

Теория

  • Simulink – среда динамического междисциплинарного моделирования сложных технических систем и основной инструмент для модельно-ориентированного проектирования. Его основным интерфейсом является графический инструмент для построения диаграмм и настраиваемый набор библиотек блоков.

Он предлагает тесную интеграцию с остальной средой MATLAB и может либо использовать MATLAB, либо создавать сценарии из него.

Simulink широко используется в автоматическом управлении и цифровой обработке сигналов для многодоменного моделирования и проектирования на основе моделей.

  • Б локи Simulink, используемые в лабораторной работе:

    • S -function - обеспечивает доступ к S-функциям из блок-схемы;

    • M ux (мультиплексор) - объединяет входные сигналы совпадающего типа данных и сложности в виртуальный вектор;

    • D emux (демультиплексор) - извлекает и выводит элементы виртуального векторного сигнала;

    • S cope (осциллограф) - отображает сигналы, сгенерированные в процессе моделирования;

    • M ATLAB Function - генерирует встраиваемый код С;

    • Stop Simulation - обеспечивает завершение расчета, если входной сигнал не равен 0.

  • М-файлы в MatLab бывают двух типов: 

  • файл-программы (Script M-Files), содержащие последовательность команд;

  • файл-функции (Function M-Files), в которых описываются функции, определяемые пользователем.

  • Ode – решатели ОДУ; реализация различных численных методов для решения систем ОДУ в MATLAB:

    • ode45 - одношаговые явные методы Рунге-Кутта 4-го и 5-го порядков в модификации Дорманда и Принца. Это классический метод, рекомендуемый для начальной пробы решения. Во многих случаях дает хорошие результаты, если система решаемых уравнений нежесткая.

    • ode23 - одношаговые явные методы Рунге-Кутта 2-го и 4-го порядков в модификации Богацки и Шампина. При умеренной жесткости системы ОДУ и низких требованиях к точности этот метод может дать выигрыш в скорости решения.

    • ode113 - многошаговый метод Адамса-Башворта-Мултона переменного порядка класса предиктор-корректор. Это адаптивный метод, который может обеспечить высокую точность решения.

Входные параметры

v=u(1); %скорость торпеды

x=u(2); %длина

Cx=0.35;%коэффициент сопротивления

p=1030; %плотность воды

r=0.127; %калибр торпеды

S=pi*(r/2)^2; %площадь поперечного сечения

m=30; %масса торпеды

F=2500;%сила тяги

R=Cx*((p*v^2)/2*S); %сила гидродинамического сопротивления

dv=1/m*(F-R);

dx=v;

Модель Simulink

Схема

M-файл smod

function [sys,x0,str,ts]=smod(t,x,u,flag)

switch flag,

case 0,

[sys,x0,str,ts]=mdlInitializeSizes;

case 1,

sys=mdlDerivatives(t,x,u);

case 2,

sys=mdlUpdate(t,x,u);

case 3,

sys=mdlOutputs(t,x,u);

case 4,

sys=mdlGetTimeOfNextVarHit(t,x,u);

case 9,

sys=mdlTerminate(t,x,u);

otherwise

error(['Unhandled flag=',num2str(flag)]);

end

function[sys,x0,str,ts]=mdlInitializeSizes

sizes=simsizes;

sizes.NumContStates=2;%длина вектора состояния

sizes.NumDiscStates=0;

sizes.NumOutputs=2;%количество выходов

sizes.NumInputs=2;%количество управляющих воздействий

sizes.DirFeedthrough=0;

sizes.NumSampleTimes=1;

sys=simsizes(sizes);

x0=[0 0];%начальное состояние изделия

str=[];

ts=[0 0];

function sys=mdlDerivatives(t,x,u)

[dv,dx]=systemdu(t,x,u);%система уравнений

sys(1)=dv;%выходные параметры

sys(2)=dx;

function sys=mdlUpdate(t,x,u)

sys=[];

function sys=mdlOutputs(t,x,u)

sys=x;

function sys=mdlGetTimeOfNextVarHit(t,x,u)

sampleTime=1;

sys=t+sampleTime;

function sys=mdlTerminate(t,x,u)

sys=[];

Условие окончания расчетов

function u=stop(x)

if x<150 %сантиметров

u=0;

else u=1;

end

Диаграммы

  • Вся диаграмма v(t), выводимая в осцилляторе;

  • Ч асть диаграммы v(t), на которой видны различия данных между решателями ОДУ (область 1):

  • Диаграмма зависимости x(t):

Показания, снятые с диаграммы v(t)

Ode45

Ode23

Ode113

t

υ

t

υ

t

υ

0,062

5

0,061

5

0,061

5

0,131

10

0,124

10

0,124

10

0,199

15

0,195

15

0,194

15

0,291

20

0,279

20

0,279

20

0,401

25

0,395

25

0,393

25

0,609

30

0,609

30

0,599

30

Выводы

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

  1. При выборе решателя ОДУ стоит обратить внимание на поставленную задачу. В расчетных задачах важнее всего точность вычислений, поэтому в лабораторной работе стоит обратить внимание на столбец №3;

  2. Для предоставления результатов удобнее всего использовать графические методы решения задач (графики, диаграммы);

Выводы, относящиеся к, непосредственно, самим расчетам пуска торпеды:

  1. Анализируя график зависимостb v(t) становится понятно, что для набора максимальной скорости υ = 33 см/с торпеде достаточно t ≈ 1.6 секунды;

  2. Для того чтобы торпеда вышла из торпедного аппарата понадобится t = 4,8 секунды;

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

Программа, написанная в MATLAB и наглядно показанная в Simulinke, значительно сокращает время расчетов для других моделей торпед: необходимо всего лишь изменить входные параметры и получить результаты. Если это необходимо, поменять решатель ОДУ (например, если в приоритете стоит не точность вычислений, а скорость их получения).

9