Скачиваний:
17
Добавлен:
10.02.2022
Размер:
2.52 Кб
Скачать
clc;clear;
% параметры заданного судна
W=45; %водоизмещение в тоннах
N=2000; %мощность ГЭУ в лс
v=14.5; %скорость глиссирования в узлах
v1=17.5; %скорость выхода на крылья
v2=42; %максимальная скорость движения на крыльях
per=1852/3600;

% перевод в систему СИ
M=1000*W %масса катера
Nmax=735.5*N;
vk=per*v;
v1max=per*v1;
v2max=per*v2;
Fmax=Nmax/v2max; %максимальная сила тяги движителя
dFmax=0.1*Fmax; %допустимое изменение силы тяги

dt=2; %шаг интегрирования
dP=dt*(dFmax/Fmax)*100 %относительное допустимое изменение силы тяги за время равное 1с
A1=Fmax/(v1max^2)
A2=Fmax/(v2max^2)

% построение графиков
xi=0; x_pred=0; P=0; t=0;
global time; global x; global vv; global p;
x=[]; time=[]; vv=[]; p=[];

while P<100 % разгон + выход на максимальное значение силы тяги
x_sled=xi+(xi-x_pred)+(P*Fmax*(dt^2)/100-A1*(xi-x_pred)*abs(xi-x_pred))/M;
v_sled=(x_sled-xi)/dt;
vv=[vv,v_sled];
p=[p,P];
x_pred=xi; xi=x_sled;
P=P+dP;
time=[time,t];
x=[x,x_sled];
t=t+dt;
end;
while v_sled<0.9999*vk
x_sled=xi+(xi-x_pred)+(P*Fmax*(dt^2)/100-A1*(xi-x_pred)*abs(xi-x_pred))/M;
v_sled=(x_sled-xi)/dt;
vv=[vv,v_sled];
p=[p,P];x_pred=xi; xi=x_sled;
time=[time,t];
x=[x,x_sled];
t=t+dt;
end;

while v_sled<0.9999*v2max
x_sled=xi+(xi-x_pred)+(P*Fmax*(dt^2)/100-A2*(xi-x_pred)*abs(xi-x_pred))/M;
v_sled=(x_sled-xi)/dt;
vv=[vv,v_sled];
p=[p,P];x_pred=xi; xi=x_sled;
time=[time,t];
x=[x,x_sled];
t=t+dt;
end;

while P>-100 % торможение, выход на обратную силу тяги
x_sled=xi+(xi-x_pred)+(P*Fmax*(dt^2)/100-A2*(xi-x_pred)*abs(xi-x_pred))/M;
v_sled=(x_sled-xi)/dt;
vv=[vv,v_sled];
x_pred=xi; xi=x_sled;
p=[p,P];
P=P-dP;
time=[time,t];
x=[x,x_sled];
t=t+dt;
end;

while v_sled>=0.999*vk % торможение, до нуля
x_sled=xi+(xi-x_pred)+(P*Fmax*(dt^2)/100-A2*(xi-x_pred)*abs(xi-x_pred))/M;
v_sled=(x_sled-xi)/dt;
vv=[vv,v_sled];
p=[p,P];
x_pred=xi; xi=x_sled;
time=[time,t];
x=[x,x_sled];
t=t+dt;
end;

while v_sled>=0.01 % торможение, до нуля
x_sled=xi+(xi-x_pred)+(P*Fmax*(dt^2)/100-A1*(xi-x_pred)*abs(xi-x_pred))/M;
v_sled=(x_sled-xi)/dt;
vv=[vv,v_sled];
p=[p,P];
x_pred=xi; xi=x_sled;
time=[time,t];
x=[x,x_sled];
t=t+dt;
end;
tinv=time';
pinv=p';
vinv=vv';
xinv=x';
subplot(3,1,1)
plot(time,x);grid on; xlabel 't, c'; ylabel 'x, м'; title 'Расстояние';
subplot(3,1,2)
plot(time,vv);grid on; xlabel 't, c'; ylabel 'v, м/с'; title 'Скорость';
subplot(3,1,3)
plot(time,p);grid on; xlabel 't, c'; ylabel 'P, %'; title 'Относительная сила тяги';
Соседние файлы в предмете Математическое моделирование объектов и систем управления