Использованиеоператоровpolyfitи polyvalдля аппроксимациикривой
Цель работы.
Получениеполинома,описывающегоаппроксимированнуюкривую наиболееблизкую к исходной,которая построенапо точкам.
Исходныеданные.
x | 0 | 400 | 800 | 1200 | 1600 | 2000 | 2400 | 2800 | 3200 |
f(x) | 0 | 80 | 100 | 110 | 120 | 180 | 210 | 230 | 260 |
Программа.
%Исходныеданные
x=[0400 800 1200 1600 2000 2400 2800 3200];
f=[080 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=
Columns1 through 7
13.5354 57.1717 91.9986 120.6926 145.9307 170.3896 196.7460
Columns8 through 9
227.6768 265.8586
Командойplotпроизвелипостроениеисходной функции(синий цвет) ифункции аппроксимирующейеё (зелёныйцвет). Посколькувелико значениепогрешностиnormr=43.1607и недостаточноаппроксимирование,то следуетповысить степеньполинома. Пустьвместо 3 будет6.
Программа.
%Исходныеданные
x=[0400 800 1200 1600 2000 2400 2800 3200];
f=[080 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 1through 7
0.0140 79.7016 101.6970 105.3007 127.5058 172.6900 214.3077
Columns 8through 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=[0400 800 1200 1600 2000 2400 2800 3200];
f1=[080 100 110 120 180 210 230 260];
f2=[060 90 110 130 150 190 230 250];
plot(x,f1,x,f2),grid
%Решение
F12=[];
forxR=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=[F12Pacn];
end
F12
pause
plot(x,F12(1,:)),grid
Результат.
F12=
Columns1 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
Columns7 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=[0400 800 1200 1600 2000 2400 2800 3200];
f1=[080 100 110 120 180 210 230 260];
f2=[060 90 110 130 150 190 230 250];
f3=[030 40 70 110 180 200 240 250];
f4=[040 60 80 130 160 180 210 240];
f5=[050 70 90 110 150 170 200 220];
f6=[070 80 110 140 160 200 250 270];
F=[f1;f2;f3;f4;f5;f6];
plot(x,F),grid
%Решение
FF=[];
J=1;
forXR=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=[FFPacn];
end
D=FF(1,:);
PP=[];
RRR=[];
forJ=2:5;
DD=[];
RR=[];
forXR=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=[DDPacn(1,:)];
RR=[RR Pacn];
end
PP=[PP;DD(1,:)];
RRR=[RRRRR];
D=DD;
end
RRR=[FFRRR]
pause
plot(x,RRR(1,37:45)),grid
Результат.
Columns1 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
Columns7 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
Columns13 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
Columns19 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
Columns25 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
Columns31 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
Columns37 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
Columns43 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.862.73 1.6 3.3967]; tmax=[7.47 3.71 2.37 4.5167];
t=[tmin;tmax]; tb=[tmax-tmin];
G1=[967.42941.39 912 892.29 878.02 846.11 823.73 798.51 775.22 ...
764.2741.28 719.36 706.85 678.15 673.74 659.91 645.65 ...
630.98623 610.9 598.95 590.07 577.2 571.46];
G2=[521.73491.12 463.51 437.33 415.2 392.7 377.45 358.23 346.86 ...
328.98316.25 305.38 295.48 285.86 277.11];
G3=[281.47255.5 231.07 210.41 192.31 177.55 166.97 157.77 ...
149.86144.48 140.91 139.23];
G4=[590.60561.90 535.10 510.20 487.06 465.67 445.94 427.82 ...
411.23396.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=[];
fori=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;
forxr=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=[GGPacn];
end
D=GG(1,:);
C=GG(4,:);
PP=[];RRR=[];
forJ=2:3;
DD=[];RR=[];CC=[];
forxr=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=[DDPacn(1,:)];
RR=[RRPacn];
CC=[CCPacn(4,:)];
end
PP=[PP;DD(1,:)];
RRR=[RRRRR];
D=DD;
C=CC;
end
RRR=[GGRRR];
R12=RRR(:,1:N)
R23=RRR(:,N+1:2*N)
R34=RRR(:,2*N+1:3*N)
plot(R34(1,:),R34(4,:)),grid
Результат.
R12=
Columns1 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
Columns8 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
Columns15 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
Columns22 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=
Columns1 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
Columns8 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
Columns15 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
Columns22 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=
Columns1 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
Columns8 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
Columns15 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
Columns22 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);
%Решение
forT=1:2;
r1=size(F1);
r2=size(F2);
ifr1(2)
N=r1(2);M=r2(2);
else
N=r2(2);M=r1(2);
end
[x,y]=meshgrid(F1,F2);
z=x+y;
M
N
X=rot90(z,3);
XX=[];IM=[];IM3=[];
forcc=-(N-1):(M-1);
[v,I]=min(diag(X,cc));
XX=[XX v];
ifcc
IM3=[IM3 abs(cc-I)];
else
IM=[IM I];
end
IMM=[IM3 IM];
end
X1=rot90(XX,2);
IM1=rot90(IMM,2);
Opt1=[X1;IM1.*delt-delt];
r=size(X1);
v1=1:r(2);
P=v1.*delt;
Opt2=[Opt1;P-delt];
Opt=[Opt2(1,:);Opt2(2,:);Opt2(3,:)-Opt2(2,:);Opt2(3,:)]
F2=Opt(1,:);
F1=F3;
end
Результат.
M=
8
N=
6
Opt=
180 196 215 237 260 285 313 342 373 407 442 483 530
0 0 0 0 10 10 10 20 20 20 30 40 50
0 10 20 30 30 40 50 50 60 70 70 70 70
0 10 20 30 40 50 60 70 80 90 100 110 120
M =
13
N =
9
Opt=
Columns1 through 7
300.0000 310.5000 323.0000 337.5000 353.5000 370.0000 388.5000
0 10.0000 20.0000 30.0000 30.0000 40.0000 50.0000
0 0 0 0 10.0000 10.0000 10.0000
0 10.0000 20.0000 30.0000 40.0000 50.0000 60.0000
Columns8 through 14
407.5000 428.0000 450.0000 472.5000 495.5000 520.0000 545.0000
50.0000 60.0000 60.0000 70.0000 70.0000 80.0000 80.0000
20.0000 20.0000 30.0000 30.0000 40.0000 40.0000 50.0000
70.0000 80.0000 90.0000 100.0000 110.0000 120.0000 130.0000
Columns15 through 21
573.0000 602.0000 633.0000 667.0000 702.0000 743.0000 790.0000
80.0000 80.0000 80.0000 80.0000 80.0000 80.0000 80.0000
60.0000 70.0000 80.0000 90.0000 100.0000 110.0000 120.0000
140.0000 150.0000 160.0000 170.0000 180.0000 190.0000 200.0000
Также существуетвторой методрешения этойзадачи, которыйпредставленв программениже.
Программа.
%Исходныеданные
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);
%Решение
FA=F1; FB=F2;
forj=1:2;
e1=size(FA); N=e1(2);
e2=size(FB); M=e2(2);
[x,y]=meshgrid(FA,FB);
z=x+y
Dmin=[]; D1min=[]; D2min=[];
Im=[];I1m=[]; I2m=[];
fork=1:M+N-1;
ifk
DD=[];
for i=k:-1:1;
g=z(i,k-i+1);
DD=[DD g];
end
[L,I]=min(DD);
Dmin=[Dmin L];
Im=[Im I];
elseif (N DD1=[]; for i1=k:-1:k-N+1; g1=z(i1,k-i1+1); DD1=[DD1 g1]; end [L1,I1]=min(DD1); D1min=[D1min L1]; I1m=[I1m I1]; elseif (M DD2=[]; for i2=M:-1:k-N+1; g2=z(i2,k-i2+1); DD2=[DD2 g2]; end [L2,I2]=min(DD2); D2min=[D2min L2]; I2m=[I2m k-M+I2]; end end F12=[Dmin D1min D2min] I11=[Im I1m I2m]; r=size(F12); v=1:r(2); P=v.*delt; Opt=[F12;I11.*delt-delt;P-delt]; Optim12=[Opt(1,:);Opt(2,:);Opt(3,:)-Opt(2,:);Opt(3,:)] FB=Optim12(1,:); FA=F3; end Результат. z= 180 203 232 267 308 355 196 219 248 283 324 371 215 238 267 302 343 390 237 260 289 324 365 412 262 285 314 349 390 437 290 313 342 377 418 465 321 344 373 408 449 496 355 378 407 442 483 530 F12= 180 196 215 237 260 285 313 342 373 407 442 483 530 Optim12= 180 196 215 237 260 285 313 342 373 407 442 483 530 0 0 0 0 10 10 10 20 20 20 30 40 50 0 10 20 30 30 40 50 50 60 70 70 70 70 0 10 20 30 40 50 60 70 80 90 100 110 120 z= Columns1 through 7 300.0000 310.5000 323.0000 337.5000 354.0000 372.5000 393.0000 316.0000 326.5000 339.0000 353.5000 370.0000 388.5000 409.0000 335.0000 345.5000 358.0000 372.5000 389.0000 407.5000 428.0000 357.0000 367.5000 380.0000 394.5000 411.0000 429.5000 450.0000 380.0000 390.5000 403.0000 417.5000 434.0000 452.5000 473.0000 405.0000 415.5000 428.0000 442.5000 459.0000 477.5000 498.0000 433.0000 443.5000 456.0000 470.5000 487.0000 505.5000 526.0000 462.0000 472.5000 485.0000 499.5000 516.0000 534.5000 555.0000 493.0000 503.5000 516.0000 530.5000 547.0000 565.5000 586.0000 527.0000 537.5000 550.0000 564.5000 581.0000 599.5000 620.0000 562.0000 572.5000 585.0000 599.5000 616.0000 634.5000 655.0000 603.0000 613.5000 626.0000 640.5000 657.0000 675.5000 696.0000 650.0000 660.5000 673.0000 687.5000 704.0000 722.5000 743.0000 Columns8 through 9 415.5000 440.0000 431.5000 456.0000 450.5000 475.0000 472.5000 497.0000 495.5000 520.0000 520.5000 545.0000 548.5000 573.0000 577.5000 602.0000 608.5000 633.0000 642.5000 667.0000 677.5000 702.0000 718.5000 743.0000 765.5000 790.0000 F12= Columns1 through 7 300.0000 310.5000 323.0000 337.5000 353.5000 370.0000 388.5000 Columns8 through 14 407.5000 428.0000 450.0000 472.5000 495.5000 520.0000 545.0000 Columns 15 through 21 573.0000 602.0000 633.0000 667.0000 702.0000 743.0000 790.0000 Optim12= Columns1 through 7 300.0000 310.5000 323.0000 337.5000 353.5000 370.0000 388.5000 0 10.0000 20.0000 30.0000 30.0000 40.0000 50.0000 0 0 0 0 10.0000 10.0000 10.0000 0 10.0000 20.0000 30.0000 40.0000 50.0000 60.0000 Columns8 through 14 407.5000 428.0000 450.0000 472.5000 495.5000 520.0000 545.0000 50.0000 60.0000 60.0000 70.0000 70.0000 80.0000 80.0000 20.0000 20.0000 30.0000 30.0000 40.0000 40.0000 50.0000 70.0000 80.0000 90.0000 100.0000 110.0000 120.0000 130.0000 Columns15 through 21 573.0000 602.0000 633.0000 667.0000 702.0000 743.0000 790.0000 80.0000 80.0000 80.0000 80.0000 80.0000 80.0000 80.0000 60.0000 70.0000 80.0000 90.0000 100.0000 110.0000 120.0000 140.0000 150.0000 160.0000 170.0000 180.0000 190.0000 200.0000 Вывод. В итоге работыполучены одинаковыерезультатырешения даннойзадачи припомощи двухметодов еёрешения. Цельработы выполнена. Цельработы. Разложитьимеющийсяпериодическийсигнал в рядФурье. Исходныеданные. Исходнымявляется сигналпредставленна рисунке. Программа. U1=[];U2=[];U3=[]; U4=[];U5=[];U6=[]; forWt=0:0.002*pi:2*pi; Um=50;a=pi/2; uu=Um+(4*Um/(a*pi))*(sin(a)*sin(Wt)+(1/9)*sin(3*a)*sin(3*Wt)+(1/25)*sin(5*a)*sin(5*Wt)+(1/49)*sin(7*a)*sin(7*Wt)); U6=[U6uu]; if0 u=50+(50/(pi/2))*Wt; U1=[U1u]; elseif(pi/2) u=50+50-(50/(pi/2))*(Wt-pi/2); U2=[U2u]; else u=50-50+(50/(pi/2))*(Wt-(3/2)*pi); U3=[U3u]; end U=[U1U2 U3]; U6; end Wt=0:0.002*pi:2*pi; plot(Wt,U,Wt,U6),grid Результат.Разложениепериодическойфункции в рядФурье
Вывод.
В работе выполненоразложениеисходногосигнала в суммугармоник, графиккоторой представленв результатах.
Цельработы.
Разложитьимеющийсяпериодическийсигнал в рядФурье.
Исходныеданные.
Исходнымявляется сигналпредставленна рисунке.
Программа.
F=[];
fork=1:2:21;
Im=60;
wt=0:0.02:7;
i=(4*Im/pi)*((1/k)*sin(k*(wt-pi/4)));
F=[Fi'];
end
F1=F';
d=size(F1);
d(1);
F2=sum(F1);
plot(wt,F2,'b'),grid
Р езультат.
Программа.
F=[];
fork=1:2:2001;
Im=60;
wt=0:0.02:7;
i=(4*Im/pi)*((1/k)*sin(k*(wt-pi/4)));
F=[Fi'];
end
F1=F';
d=size(F1);
d(1);
F2=sum(F1);
plot(wt,F2,'b'),grid
Р езультат.
Вывод.
В данной работевыполненоразложениеисходногосигнала насумму гармоник.В работе показано,что при увеличениичисла гармониких сумма гармоникнаиболее приближенак исходномусигналу.
В последнеевремя на фонеразвитиягрузопассажирскогофлота и созданиивысокопроизводительныхсудов наблюдаетсянепрерывноестремлениепо направлениюповышенияэффективностиэнергетическойустановки сцелью увеличенияэкономичности,надёжностии безопасностиперевозок.
Судоваяэнергетическаяустановкаявляется сложнымкомплексомразличныхмеханизмов,устройств исистем, обеспечивающимдвижение судна,работу механизмовмашинногоотделения ипалубных механизмов,выработкуэлектроэнергиии т.д.
В связис развитиемэлектронно-вычислительнойтехники возможнорешение задачэкономии топливныхресурсов, оптимизацииуправлениярежимами движениясудов при различныхусловиях(ветро-волновоесопротивление,перепады глубини т.п.) не толькотехнологическимсовершенствованиемсудовой энергетическойустановки, нои при помощикомпьютерныхпрограмм.
В данномотчёте приведеныпримеры программ,составленныев оболочкеMATLAB, решающиенекоторыевышеуказанныепроблемы.
САНКТ-ПЕТЕРБУРГСКИЙГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ
ВОДНЫХ КОММУНИКАЦИЙ
Выполнил:ЖдановД. А.
Проверил:СахаровВ. В.
Санкт-Петербург
2001