Помощь в написании студенческих работ
Антистрессовый сервис

Заключение. 
Идентификация равновесного положения надводного корабля в условиях реального волнения

РефератПомощь в написанииУзнать стоимостьмоей работы

Ришес К. Равновесие для выживания // Популярная механика, 2014. № 145. http://www.popmech.ru/weapon/50 840-kak-spasat-atomnye-podvodnye-lodki/. Благовещенский С. Н., Холодилин А. Н. Бортовая качка судна на волнении: Учебное пособие. Л.: Изд. ЛКИ, 1983. 6 с. Thomas P. Hettmansperger, Joseph W. McKean. Robust Nonparametric Statistical Methods: Second Edition. Chapman & Hall/CRC Monographs… Читать ещё >

Заключение. Идентификация равновесного положения надводного корабля в условиях реального волнения (реферат, курсовая, диплом, контрольная)

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

Целью данной работы ставилась качественная оценка методов и моделей, что было успешно выполнено.

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

Список литературы

равновесный надводный корабль моделирование.

  • 1. Ришес К. Равновесие для выживания // Популярная механика, 2014. № 145. http://www.popmech.ru/weapon/50 840-kak-spasat-atomnye-podvodnye-lodki/
  • 2. Колызаев Б. А., Косоруков А. И., Литвиненко В. А. Справочник по проектированию судов с динамическими принципами поддержания. Л.: Судостроение, 1980. 141 с.
  • 3. Благовещенский С. Н., Холодилин А. Н. Бортовая качка судна на волнении: Учебное пособие. Л.: Изд. ЛКИ, 1983. 6 с.
  • 4. Режим, диагноз и прогноз ветрового волнения в морях и океанах / Под ред. Е. С. Нестерова. М.: Изд-во РОСГИДРОМЕТ, 2013. 108 с.
  • 5. Давидан И. Н., Лопатухин Л. И., Рожков В. А. Ветровое волнение как вероятностный гидродинамический процесс. Л.: Гидрометеоиздат, 1978. 120 с.
  • 6. Нечаев Ю. И., Хейн Тун. Анализ и прогноз поведения судна в экстремальной ситуации на основе нечеткой системы знаний // Искусственный интеллект, 2009. № 3. 435 с.
  • 7. Нечаев Ю. И., Петров О. Н. Непотопляемость судов: подход на основе современной теории катастроф. Спб.: Арт-Экспресс, 2014. С. 209−212.
  • 8. Волков Н. Г., Кондрашов В. С., Мороз З. Д. Сравнение алгоритмов минимизации при реализации метода наименьших модулей. М.: ЦНИИатоминформ, 1987. 3 с.
  • 9. Айвазян С. А., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: исследование зависимостей: Справочное издание. М.: Финансы и статистика, 1985. 212 с.
  • 10. Louis A. Jaeckel. Estimating Regression Coefficients by Minimizing the Dispersion of the Residuals // The Annals of Mathematical Statistics, 1972. Vol. 43, Number 5 (1972). P. 1450. http://projecteuclid.org/euclid.aoms/1 177 692 377
  • 11. Хеттманспергер Т. Статистические выводы, основанные на рангах. М.: Финансы и статистика, 1987. 257 с.
  • 12. Thomas P. Hettmansperger, Joseph W. McKean. Robust Nonparametric Statistical Methods: Second Edition. Chapman & Hall/CRC Monographs on Statistics & Applied Probability, 2011. P. 183.

Приложения.

apprx.m.

function [A, B] = apprx (n, startotr, endotr, ap, cosn, pereklModel).

startotr = 0;

endotr = 2500;

n = (endotr — startotr)*5;

ap = 0.1;

cosn = 50;

A = 1;

B = 2;

idots = 0;

files = dir ('C:matlabShipsData');

schet = 0;

for j = 1: length (files).

if (files (j).isdir () == 0).

schet = schet + 1;

spisok{schet} = files (j).name;

spisok{schet} = strcat ('C:matlabShipsData', spisok{schet});

temparr = load (spisok{schet});

letemparr = length (temparr (, 1));

for i=1:letemparr.

data (schet, i, 1) = temparr (i, 1);

data (schet, i, 2) = temparr (i, 2);

if (temparr (i, 2) == 0).

zero (schet) = data (schet, i, 1);

end.

end.

end.

end.

kolv = length (spisok);

iter = 20;

for i = 1: iter.

[xsred (i:), xsr (i:), xssrm (i:), xssrp (i:)] = stab (n, ap, startotr, endotr, cosn, kolv, data, zero);

for j = 1: length (xsred (i:)).

if (abs ((xssrp (i, j) — xssrm (i, j))/(xssrp (i, j) + xssrm (i, j))) > 0.01).

omega (i, j) = (xssrp (i, j) — xssrm (i, j))/(xssrp (i, j) + xssrm (i, j));

idots = idots + 1;

xsred2(idots) = xsred (i, j);

xsr2(idots) = xsr (i, j);

xssrm2(idots) = xssrm (i, j);

xssrp2(idots) = xssrp (i, j);

omega2(idots) = omega (i, j);

zero2(idots) = zero (j);

dotsx (idots) = xsr (i, j);

if (pereklModel == 1).

dotsy (idots) = (zero (j)/xsred (i, j) — 1)/omega (i, j);

else.

dotsy (idots) = (zero (j) — xsred (i, j))/omega (i, j);

end.

end.

end.

end.

minx = min (dotsx);

maxx = max (dotsx);

polykoofMNK = MNK (dotsx, dotsy, 2);

polyxMNK = polyval (polykoofMNK, minx:0.1:maxx);

a = [10 10];

polykoofMNM = fminsearch (@(ax) MNM (dotsx, dotsy, 2, ax), a);

polykoofMNM = polykoofMNM (end:-1:1);

polykoofMNM (end + 1) = 0;

polyxMNM = polyval (polykoofMNM, minx:0.1:maxx);

a = [10 10];

polykoofMNMX = fminsearch (@(ax) minimax (dotsx, dotsy, 2, ax), a);

polykoofMNMX = polykoofMNMX (end:-1:1);

polykoofMNMX (end + 1) = 0;

polyxMNMX = polyval (polykoofMNMX, minx:0.1:maxx);

a = [10 10];

ast = fminsearch (@(ax) medianbounds (dotsx, dotsy, ax), a);

z0 = median (dotsy — dotsx.*ast (1) — (dotsx.^2).*ast (2));

polykoofRang = fmincon (@(ax)rangoc (dotsx, dotsy, ax), ast, [], [], [], [], [], [], @(ax)medianbound (dotsx, dotsy, ax));

polykoofRang = polykoofRang (end:-1:1).

polykoofRang (end + 1) = 0;

polyxRang = polyval (polykoofRang, minx:0.1:maxx);

a = [10 10];

polykoofMNQ4 = fminsearch (@(ax) MNQ4(dotsx, dotsy, 2, ax), a);

polykoofMNQ4 = polykoofMNQ4(end:-1:1);

polykoofMNQ4(end + 1) = 0;

polyxMNQ4 = polyval (polykoofMNQ4, minx:0.1:maxx);

a = [10 10];

polykoofMNQ3 = fminsearch (@(ax) MNQ3(dotsx, dotsy, 2, ax), a);

polykoofMNQ3 = polykoofMNQ3(end:-1:1);

polykoofMNQ3(end + 1) = 0;

polyxMNQ3 = polyval (polykoofMNQ3, minx:0.1:maxx);

hold on.

plot (dotsx, dotsy, 'ro');

plot (minx:0.1:maxx, polyxMNK, 'g');

plot (minx:0.1:maxx, polyxMNM, 'b');

plot (minx:0.1:maxx, polyxMNMX, 'k');

plot (minx:0.1:maxx, polyxRang, 'y');

plot (minx:0.1:maxx, polyxMNQ3, 'c');

plot (minx:0.1:maxx, polyxMNQ4, 'm');

epsilonMNKs = 0;

epsilonMNMs = 0;

epsilonMNMXs = 0;

epsilonRangs = 0;

epsilonMNQ3s = 0;

epsilonMNQ4s = 0;

for i = 1: idots.

if (pereklModel == 1).

epsilonMNK (i) = abs (xsred2(i)*(1 + (polykoofMNK (2)*xsr2(i) + polykoofMNK (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNM (i) = abs (xsred2(i)*(1 + (polykoofMNM (2)*xsr2(i) + polykoofMNM (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNMX (i) = abs (xsred2(i)*(1 + (polykoofMNMX (2)*xsr2(i) + polykoofMNMX (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonRang (i) = abs (xsred2(i)*(1 + (polykoofRang (2)*xsr2(i) + polykoofRang (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNQ3(i) = abs (xsred2(i)*(1 + (polykoofMNQ3(2)*xsr2(i) + polykoofMNQ3(1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNQ4(i) = abs (xsred2(i)*(1 + (polykoofMNQ4(2)*xsr2(i) + polykoofMNQ4(1)*xsr2(i).^2)*omega2(i)) — zero2(i));

else.

epsilonMNK (i) = abs ((xsred2(i) + (polykoofMNK (2)*xsr2(i) + polykoofMNK (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNM (i) = abs ((xsred2(i) + (polykoofMNM (2)*xsr2(i) + polykoofMNM (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNMX (i) = abs ((xsred2(i) + (polykoofMNMX (2)*xsr2(i) + polykoofMNMX (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonRang (i) = abs ((xsred2(i) + (polykoofRang (2)*xsr2(i) + polykoofRang (1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNQ3(i) = abs ((xsred2(i) + (polykoofMNQ3(2)*xsr2(i) + polykoofMNQ3(1)*xsr2(i).^2)*omega2(i)) — zero2(i));

epsilonMNQ4(i) = abs ((xsred2(i) + (polykoofMNQ4(2)*xsr2(i) + polykoofMNQ4(1)*xsr2(i).^2)*omega2(i)) — zero2(i));

end.

epsilonMNKs = epsilonMNKs + epsilonMNK (i);

epsilonMNMs = epsilonMNMs + epsilonMNM (i);

epsilonMNMXs = epsilonMNMXs + epsilonMNMX (i);

epsilonRangs = epsilonRangs + epsilonRang (i);

epsilonMNQ3s = epsilonMNQ3s + epsilonMNQ3(i);

epsilonMNQ4s = epsilonMNQ4s + epsilonMNQ4(i);

end.

epsilonMNKs = epsilonMNKs/idots.

epsilonMNMs = epsilonMNMs/idots.

epsilonMNMXs = epsilonMNMXs/idots.

epsilonRangs = epsilonRangs/idots.

epsilonMNQ3s = epsilonMNQ3s/idots.

epsilonMNQ4s = epsilonMNQ4s/idots.

epsilonMNKm = max (epsilonMNK).

epsilonMNMm = max (epsilonMNM).

epsilonMNMXm = max (epsilonMNMX).

epsilonRangm = max (epsilonRang).

epsilonMNQ3m = max (epsilonMNQ3).

epsilonMNQ4m = max (epsilonMNQ4).

end.

stab.m.

function[xsred, xsr, xssrm, xssrp] = stab (n, ap, a, b, cosn, kolv, data).

h = (b — a)/n;

i = 1;

fi = waves (a, b, h, cosn);

xsi (i) = fi (1);

ti (i) = 0;

ti2(i) = 0;

ti2(i + 1) = h/2;

for kolvi = 1: kolv.

polyship = polyfit (data (kolvi, 1), data (kolvi, 2), 3);

i = 1;

xi (i, 1) = 0;

xi (i, 2) = 0;

xsred (kolvi) = 0;

xprsred (kolvi) = 0;

for t = a+h:h:(b-h).

i = i + 1;

ti (i) = t;

ti2(2*i) = t;

ti2(2*i — 1) = ti2(2*i) — h/2;

res = yamrk4(xi (i — 1, 1), xi (i — 1, 2), h, fi (i*2 — 1), fi (i*2), fi (i*2 + 1), ap, polyship, data (kolvi, 1), data (kolvi, 2));

xi (i, 1) = res (1);

xi (i, 2) = res (2);

xsred (kolvi) = xi (i, 1) + xsred (kolvi);

xsi (i) = fi (2*(i — 1)+1) — ap*xi (i, 2) — Ax (xi (i, 1), polyship, data (kolvi, 1), data (kolvi, 2));

xprsred (kolvi) = xsi (i) + xprsred (kolvi);

end.

xsred (kolvi) = xsred (kolvi)/n;

xprsred (kolvi) = xprsred (kolvi)/n;

xim = xi (, 1)';

[extret, extrex] = extrs (ti, xi (, 1), xsred (kolvi));

[extrets, extrexs] = extrs (ti, xsi, xprsred (kolvi));

xsr (kolvi) = xmid (extret, extrex);

[xssrm (kolvi), xssrp (kolvi)] = xsmid (extrets, extrexs, xprsred (kolvi));

ti2(2*i — 1) = b — h/2;

ti2(2*i) = b;

ti2(2*i + 1) = b+h/2;

% if kolvi == kolvi.

% hold on.

%polyx = polyval (polyship, -50:0.1:50);

%plot (-50:0.1:50, polyx);

%plot (data (kolvi, 1), data (kolvi, 2), 'ro');

%data (kolvi, 1).

%data (kolvi, 2).

%plot (ti, xi (, 1));

% plot (extret, extrex, 'ro');

%plot (ti, xsred (kolvi));

%plot (ti, xsi);

% plot (extrets, extrexs, 'ro');

% plot (ti, xprsred (kolvi));

% end.

end.

end.

waves.m.

function [zn] = waves (pr1, pr2, h, n).

random = rand (1, n);

i = 0;

phi = random.*(2*pi);

wstart = 0.3;

wend = 1.4;

dw = (wend — wstart)/n;

for j = 1: n.

w (j) = wstart + (j — 1)*dw + dw/2;

c (j) = quadl ('spectrplotn', (wstart + (j — 1)*dw), (wstart + j*dw), 10e-5);

c (j) = sqrt (2*c (j));

end.

for t = pr1:(h/2):pr2.

i = i + 1;

ti (i) = t;

zn (i) = 0;

for j = 1: n.

zn (i) = zn (i) + (0.33)*c (j)*cos (w (j)*t + phi (1, j));

end.

end.

%hold on.

%plot (ti, zn).

end.

spectrplotn.m.

function [y] = spectrplotn (x).

h = 4;

tau = 4.8*sqrt (h);

A = 0.28*(2*pi).^4*h.^2*tau.^(-4);

B = 0.44*(2*pi).^4*tau.^(-4);

h1 = 3;

tau1 = 4.8*sqrt (h1);

A1 = 0.28*(2*pi).^4*h1.^2*tau1.^(-4);

B1 = 0.44*(2*pi).^4*tau1.^(-4);

k = 5;

n = 4;

p = 9;

m = 8;

y = A.*x.^(-k).*exp (-B.*x.^(-n)) + A1.*x.^(-p).*exp (-B1.*x.^(-m));

end.

Показать весь текст
Заполнить форму текущей работой