Оптимизация режимов движения судов с использованием MATLAB 5.0

11415
знаков
3
таблицы
8
изображений

Использование операторов polyfit и polyval для аппроксимации кривой

Цель работы.

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

Исходные данные.

x 0 400 800 1200 1600 2000 2400 2800 3200
f(x) 0 80 100 110 120 180 210 230 260

Программа.

%Исходные данные

x=[0 400 800 1200 1600 2000 2400 2800 3200];

f=[0 80 100 110 120 180 210 230 260];

%a - коэффициенты полинома

%S - квадратичная погрешность

[a,S]=polyfit(x,f,3)

z=polyval(a,x)

%Построение графиков

plot(x,f,x,z),grid

Результат.

a =


0.0000 -0.0000 0.1223 13.5354



S =


R: [4x4 double]

df: 5

normr: 43.1607


z =


Columns 1 through 7


13.5354 57.1717 91.9986 120.6926 145.9307 170.3896 196.7460


Columns 8 through 9


227.6768 265.8586

Командой plot произвели построение исходной функции (синий цвет) и функции аппроксимирующей её (зелёный цвет). Поскольку велико значение погрешности normr=43.1607 и недостаточно аппроксимирование, то следует повысить степень полинома. Пусть вместо 3 будет 6.

Программа.

%Исходные данные

x=[0 400 800 1200 1600 2000 2400 2800 3200];

f=[0 80 100 110 120 180 210 230 260];

%a - коэффициенты полинома

%S - квадратичная погрешность

[a,S]=polyfit(x,f,6)

z=polyval(a,x)

%Построение графиков

plot(x,f,x,z),grid

Результат.

a =


0.0000 -0.0000 0.0000 -0.0000 -0.0002 0.2770 0.0140



S =


R: [7x7 double]

df: 2

normr: 12.4672


z =


Columns 1 through 7


0.0140 79.7016 101.6970 105.3007 127.5058 172.6900 214.3077


Columns 8 through 9


228.5828 260.2005

Вывод.

В результате работы видно, что при увеличении степени полинома уменьшается погрешность и аппроксимированная кривая наиболее близка к исходной. В случае когда степень полинома равна количеству исходных точек, получаем: normr=0 и полное соответствие кривых в исходных точках.


Оптимальное распределение двух ресурсов

Цель работы.

Получение максимального значения прибыли при перевозке двух различных грузов.

Исходные данные.

x 0 400 800 1200 1600 2000 2400 2800 3200

f1(x)

0 80 100 110 120 180 210 230 260

f2(x)

0 60 90 110 130 150 190 230 250

f1(x)  доход от перевозки груза первого рода;

f2(x)  доход от перевозки груза второго рода;

x  количество груза.

Программа.

%Исходные данные

x=[0 400 800 1200 1600 2000 2400 2800 3200];

f1=[0 80 100 110 120 180 210 230 260];

f2=[0 60 90 110 130 150 190 230 250];

plot(x,f1,x,f2),grid

%Решение

F12=[];

for xR=1:9;

I=1:xR;

L12=f1(I)+f2(xR-I+1);

[Lopt,I]=max(L12);

x1=I*400-400;

x2=(xR-I)*400;

Pacn=[Lopt;x1;x2;x1+x2];

F12=[F12 Pacn];

end

F12

pause

plot(x,F12(1,:)),grid

Результат.

F12 =


Columns 1 through 6


0 80 140 170 190 210

0 400 400 400 400 400

0 0 400 800 1200 1600

0 400 800 1200 1600 2000


Columns 7 through 9


240 270 310

2000 400 400

400 2400 2800

2400 2800 3200


В результате получаем матрицу, в которой:

1 строка  суммарный доход от перевозки;

2 строка  количество первого груза;

3 строка  количество второго груза;

4 строка  суммарное количество грузов.


Вывод.

Таким образом получена оптимальная зависимость распределения груза с наибольшим доходом от перевозки. Для наглядности по полученным значениям построен график.


Оптимальное распределение шести ресурсов

Цель работы.

Получение максимального значения прибыли при перевозке шести различных грузов.

Исходные данные.

x 0 400 800 1200 1600 2000 2400 2800 3200

f1(x)

0 80 100 110 120 180 210 230 260

f2(x)

0 60 90 110 130 150 190 230 250

f3(x)

0 30 40 70 110 180 200 240 250

f4(x)

0 40 60 80 130 160 180 210 240

f5(x)

0 50 70 90 110 150 170 200 220

f6(x)

0 70 80 110 140 160 200 250 270

f1(x)  доход от перевозки груза первого рода;

f2(x)  доход от перевозки груза второго рода;

f3(x)  доход от перевозки груза третьего рода;

f4(x)  доход от перевозки груза четвёртого рода;

f5(x)  доход от перевозки груза пятого рода;

f6(x)  доход от перевозки груза шестого рода;

x  количество груза.

Программа.

%Исходные данные

x=[0 400 800 1200 1600 2000 2400 2800 3200];

f1=[0 80 100 110 120 180 210 230 260];

f2=[0 60 90 110 130 150 190 230 250];

f3=[0 30 40 70 110 180 200 240 250];

f4=[0 40 60 80 130 160 180 210 240];

f5=[0 50 70 90 110 150 170 200 220];

f6=[0 70 80 110 140 160 200 250 270];

F=[f1;f2;f3;f4;f5;f6];

plot(x,F),grid

%Решение

FF=[];

J=1;

for XR=1:9;

I=1:XR;

L=F(J,I)+F(J+1,XR-I+1);

[Lopt,I]=max(L);

x1=I*400-400;

x2=(XR-I)*400;

Pacn=[Lopt;x1;x2;x1+x2];

FF=[FF Pacn];

end

D=FF(1,:);

PP=[];

RRR=[];

for J=2:5;

DD=[];

RR=[];

for XR=1:9;

I=1:XR;

L=D(I)+F(J+1,XR-I+1);

[Lopt,I]=max(L);

x1=I*400-400;

x2=(XR-I)*400;

Pacn=[Lopt;x1;x2;x1+x2];

DD=[DD Pacn(1,:)];

RR=[RR Pacn];

end

PP=[PP;DD(1,:)];

RRR=[RRR RR];

D=DD;

end

RRR=[FF RRR]

pause

plot(x,RRR(1,37:45)),grid

Результат.

RRR =

Columns 1 through 6


0 80 140 170 190 210

0 400 400 400 400 400

0 0 400 800 1200 1600

0 400 800 1200 1600 2000


Columns 7 through 12


240 270 310 0 80 140

2000 400 400 0 400 800

400 2400 2800 0 0 0

2400 2800 3200 0 400 800


Columns 13 through 18


170 200 220 260 320 350

800 1200 1600 400 800 1200

400 400 400 2000 2000 2000

1200 1600 2000 2400 2800 3200


Columns 19 through 24


0 80 140 180 210 240

0 400 800 800 1200 1600

0 0 0 400 400 400

0 400 800 1200 1600 2000


Columns 25 through 30


270 320 360 0 80 140

800 2800 2800 0 400 800

1600 0 400 0 0 0

2400 2800 3200 0 400 800


Columns 31 through 36


190 230 260 290 320 370

800 1200 1600 2000 2400 2800

400 400 400 400 400 400

1200 1600 2000 2400 2800 3200


Columns 37 through 42


0 80 150 210 260 300

0 400 400 800 1200 1600

0 0 400 400 400 400

0 400 800 1200 1600 2000


Columns 43 through 45


330 360 390

2000 2400 2800

400 400 400

2400 2800 3200

В результате получаем матрицу, в которой:

1 строка  доход от перевозки i грузов;

2 строка  количества грузов;

3 строка  количество i-ого груза;

4 строка  суммарное количество грузов.


Вывод.

Таким образом получена оптимальная зависимость распределения груза с наибольшим доходом от перевозки. Для наглядности по полученным значениям построен график.


Оптимизация режима движения судна

Цель работы.

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

Программа.

%Подготовка исходных данных

delt=0.07;

tmin=[5.86 2.73 1.6 3.3967]; tmax=[7.47 3.71 2.37 4.5167];

t=[tmin; tmax]; tb=[tmax-tmin];

G1=[967.42 941.39 912 892.29 878.02 846.11 823.73 798.51 775.22 ...

764.2 741.28 719.36 706.85 678.15 673.74 659.91 645.65 ...

630.98 623 610.9 598.95 590.07 577.2 571.46];

G2=[521.73 491.12 463.51 437.33 415.2 392.7 377.45 358.23 346.86 ...

328.98 316.25 305.38 295.48 285.86 277.11];

G3=[281.47 255.5 231.07 210.41 192.31 177.55 166.97 157.77 ...

149.86 144.48 140.91 139.23];

G4=[590.60 561.90 535.10 510.20 487.06 465.67 445.94 427.82 ...

411.23 396.12 382.42 370.06 358.99 349.13 340.42 332.80 325.41];

%Формирование векторов t1, t2, t3, t4

t1=t(1,1):delt:t(2,1);

t2=t(1,2):delt:t(2,2);

t3=t(1,3):delt:t(2,3);

t4=t(1,4):delt:t(2,4);

%Пригонка данных

[a1,H1]=polyfit(t1,G1,3);

[a2,H2]=polyfit(t2,G2,3);

[a3,H3]=polyfit(t3,G3,3);

[a4,H4]=polyfit(t4,G4,3);

a=[a1;a2;a3;a4];

%Апроксимация исходных зависимостей

N=25;

deltM=tb./(N-1);

%Моделирование

TM=[];Gm=[];

for i=1:4;

tm=t(1,i):deltM(i):t(2,i);

TM=[TM;tm];

gm=polyval(a(i,:),tm);

Gm=[Gm;gm];

end

deltt=deltM;

%Оптимизация распределения времени движения

GG=[];

F=Gm;

for xr=1:N;

I=1:xr;

L=Gm(1,I)+Gm(2,xr-I+1);

[Lopt,I]=min(L);

X1=5.86+I*deltt(1)-deltt(1);

X2=2.73+(xr-I)*deltt(2);

Pacn=[Lopt.*0.001;X1;X2;X1+X2];

GG=[GG Pacn];

end

D=GG(1,:);

C=GG(4,:);

PP=[];RRR=[];

for J=2:3;

DD=[];RR=[];CC=[];

for xr=1:N;

I=1:xr;

L=D(I)+0.001.*F(J+1,xr-I+1);

[Lopt,I]=min(L);

X1=C(I);

X2=TM(J+1,1)+(xr-I)*deltt(J+1);

Pacn=[Lopt;X1;X2;X1+X2];

DD=[DD Pacn(1,:)];

RR=[RR Pacn];

CC=[CC Pacn(4,:)];

end

PP=[PP;DD(1,:)];

RRR=[RRR RR];

D=DD;

C=CC;

end

RRR=[GG RRR];

R12=RRR(:,1:N)

R23=RRR(:,N+1:2*N)

R34=RRR(:,2*N+1:3*N)

plot(R34(1,:),R34(4,:)),grid

Результат.

R12 =


Columns 1 through 7


1.4899 1.4647 1.4402 1.4164 1.3934 1.3710 1.3494

5.8600 5.9271 5.9942 6.0613 6.1283 6.1954 6.2625

2.7300 2.7300 2.7300 2.7300 2.7300 2.7300 2.7300

8.5900 8.6571 8.7242 8.7912 8.8583 8.9254 8.9925


Columns 8 through 14


1.3285 1.3083 1.2889 1.2703 1.2522 1.2343 1.2172

6.3296 6.3967 6.4638 6.5308 6.5308 6.5979 6.5979

2.7300 2.7300 2.7300 2.7300 2.7708 2.7708 2.8117

9.0596 9.1267 9.1937 9.2608 9.3017 9.3688 9.4096


Columns 15 through 21


1.2001 1.1838 1.1675 1.1521 1.1367 1.1220 1.1075

6.6650 6.7321 6.7321 6.7992 6.7992 6.8663 6.8663

2.8117 2.8117 2.8525 2.8525 2.8933 2.8933 2.9342

9.4767 9.5437 9.5846 9.6517 9.6925 9.7596 9.8004


Columns 22 through 25


1.0936 1.0799 1.0668 1.0538

6.9333 6.9333 7.0004 7.0004

2.9342 2.9750 2.9750 3.0158

9.8675 9.9083 9.9754 10.0162


R23 =


Columns 1 through 7


1.7720 1.7468 1.7223 1.6985 1.6754 1.6530 1.6314

8.5900 8.6571 8.7242 8.7912 8.8583 8.9254 8.9925

1.6000 1.6000 1.6000 1.6000 1.6000 1.6000 1.6000

10.1900 10.2571 10.3242 10.3912 10.4583 10.5254 10.5925


Columns 8 through 14


1.6105 1.5904 1.5710 1.5523 1.5342 1.5164 1.4992

9.0596 9.1267 9.1937 9.2608 9.3017 9.3688 9.4096

1.6000 1.6000 1.6000 1.6000 1.6000 1.6000 1.6000

10.6596 10.7267 10.7937 10.8608 10.9017 10.9688 11.0096


Columns 15 through 21


1.4821 1.4658 1.4496 1.4341 1.4187 1.4040 1.3895

9.4767 9.5437 9.5846 9.6517 9.6925 9.7596 9.8004

1.6000 1.6000 1.6000 1.6000 1.6000 1.6000 1.6000

11.0767 11.1437 11.1846 11.2517 11.2925 11.3596 11.4004


Columns 22 through 25


1.3756 1.3619 1.3488 1.3358

9.8675 9.9083 9.9754 9.9754

1.6000 1.6000 1.6000 1.6321

11.4675 11.5083 11.5754 11.6075


R34 =


Columns 1 through 7


2.3626 2.3374 2.3129 2.2892 2.2661 2.2437 2.2221

10.1900 10.2571 10.3242 10.3912 10.4583 10.5254 10.5925

3.3967 3.3967 3.3967 3.3967 3.3967 3.3967 3.3967

13.5867 13.6538 13.7209 13.7879 13.8550 13.9221 13.9892


Columns 8 through 14


2.2012 2.1810 2.1616 2.1422 2.1236 2.1051 2.0870

10.6596 10.7267 10.7267 10.7937 10.8608 10.8608 10.9017

3.3967 3.3967 3.4434 3.4434 3.4434 3.4900 3.4900

14.0563 14.1234 14.1700 14.2371 14.3042 14.3509 14.3917


Columns 15 through 21


2.0691 2.0514 2.0343 2.0172 2.0004 1.9841 1.9678

10.9688 10.9688 11.0096 11.0767 11.0767 11.1437 11.1846

3.4900 3.5367 3.5367 3.5367 3.5834 3.5834 3.5834

14.4588 14.5055 14.5463 14.6134 14.6600 14.7271 14.7679


Columns 22 through 25


1.9518 1.9363 1.9209 1.9057

11.1846 11.2517 11.2925 11.2925

3.6300 3.6300 3.6300 3.6767

14.8146 14.8817 14.9225 14.9692

В результате получаем матрицы, в которых:

1 строка  расход топлива на участках;

2 строка  время движения по предыдущим участкам;

3 строка  время движения по i-тому участку;

4 строка  суммарное время движения по участкам.

R12  результаты для двух участков;

R23  результаты для трёх участков;

R34  результаты для четырёх участков;

Вывод.

В качестве вывода приведена графическая зависимость расхода топлива (ось абсцисс) от времени прохождения всех участков (ось ординат).


Оптимальные режимы работы судовых генераторных агрегатов

Цель работы.

Найти оптимальное распределение мощности между дизель-генераторами.

Программа.

%Исходные данные

delt=10;

P1=0:delt:50;

P2=0:delt:70;

P3=0:delt:80;

F1=(0.03*(P1.^2)+2*P1+80);

F2=(0.015*(P2.^2)+1.45*P2+100);

F3=(0.01*(P3.^2)+0.95*P3+120);

%Решение

for T=1:2;

r1=size(F1);

r2=size(F2);

if r1(2)


Информация о работе «Оптимизация режимов движения судов с использованием MATLAB 5.0»
Раздел: Информатика, программирование
Количество знаков с пробелами: 11415
Количество таблиц: 3
Количество изображений: 8

Похожие работы

Скачать
156154
27
11

... датчика, наличием нерассматриваемых источников тепла, особенностями конфигурации компонентов относительно потока воздуха от вентиляторов и др.). Это еще раз доказывает актуальность проведения экспериментальных исследований в изучении тепловых режимов устройств ЭВМ и, следовательно, создание для этих целей специализированного устройства (модуля). 7 РАЗРАБОТКА ТЕХНОЛОГИИ СБОРКИ МОДУЛЯ АЦП 7.1 ...

Скачать
39309
0
8

... —230 °С до влажности 2—5%. Готовые изделия имеют предел прочности при изгибе не менее 0,3 МПа, среднюю плотность не более 200 кг/м3, водопоглощение не выше 70% по массе и теплопроводность 0,051 Вт/(м • °С). Глава 4. ОЧИСТКА СТОЧНЫХ ВОД ЦЕЛЛЮЛОЗНО-БУМАЖНОГО ПРОИЗВОДСТВА МЕТОДОМ КОМПЛЕКСООБРАЗОВАНИЯ Проблема влияния целлюлозно-бумажного производства (ЦБП) на состояние водных экосистем носит ...

Скачать
47537
6
24

... при температуре 25 град.С, атмосферном давлении 80-106 кПА (от 630 до 800 мм рт.ст.) и может входить в состав оборудования для автоматизации (телемеханизации) водоподъёмных станций (организация диспетчеризации и централизованного управления несколькими удалёнными системами). 2. При разработке автоматизированной системы управления водозабором были предусмотрены следующие контролируемые параметры: ...

Скачать
222848
26
34

... своевременное распределение средств на развитие. Данными вопросами я и занимаюсь в настоящей дипломной работе. 4. Математическое моделирование Интернет - услуг 4.1 Математическое моделирование dial-up подключений Сначала рассмотрим моделирование услуги предоставления доступа в Интернет по dial-up, так как данная услуга является показателем потенциальных абонентов для монопольной услуги ...

0 комментариев


Наверх