Ўзбекистон республикаси ќишлоќ ва сув хўжалиги вазирлиги тошкент ирригация ва мелиорация институти


Теорема (прогонка усулининг турѓунлиги ҳаќида). Агар ; шартлар бажарилса прогонка усули турѓун бўлади. Мисол



Download 2,38 Mb.
bet9/14
Sana03.04.2022
Hajmi2,38 Mb.
#525722
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
Matematik modellashtirish

Теорема (прогонка усулининг турѓунлиги ҳаќида). Агар ; шартлар бажарилса прогонка усули турѓун бўлади.
Мисол.

дифференциал тенгламанинг

чегаравий шартни ќаноатлантирувчи ечимини берилган дастур ёрдамида аниќланг.
Текшириб кўриш мумкинки, берилган чегаравий масала аниќ ечимга эга. Ќуйидаги жадвалда масаланинг ни айрим тугун нуќталарига мос келувчи таќрибий ва аниќ ечимлари ќийматлари келтирилган.





0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

Таќ. ечим

0,986

1,089

1,193

1,302

1,417

1,540

1,673

1,819

1,978

2,153

2,345

Аниќ ечим

1,000

1,100

1,203

1,309

1,421

1,542

1,672

1,814

1,971

2,143

2,333

Паскаль тилида прогонка усулига тузилган дастур матни:


program progonka;
const a1=0; b1=1; m=10; h=(b1-a1)/m;
alfa0=0.5; alfa1=0.5; alfa2=1.0;
betta0=-3.0; betta1=2.0; betta2=-3.0;
type vektor=array[0..m] of real;
var
x,y,a,b,c,r,d,e:vektor;
i:integer;
q,s,g1,g2:real;
function fq(t:real):real;
begin
fq:=2-t { функциясининг берилиши}
end;
function fr(t:real):real;
begin
fr:=-sqr(sqr(t))/3+2*t*sqr(t)/3-sqr(t)+3*t+2 {r(x) функциясининг берилиши}
end;
begin
for i:=0 to m do begin
x[i]:=a1+i*h; a[i]:=1.0; b[i]:=1.0;
c[i]:=2-fq(x[i])*sqr(h); r[i]:=fr(x[i])*sqr(h)
end;
g1:=2*(alfa1-alfa0*h); e[1]:=alfa1*(2+fq(x[1])*sqr(h))/g1;
d[1]:=-h*(2*alfa2+alfa1*fr(x[1])*h)/g1;
for i:=1 to m-1 do begin
e[i+1]:=b[i]/(c[i]-a[i]*e[i]); d[i+1]:=(a[i]*d[i]-r[i])/(c[i]-a[i]*e[i]);
end;
g2:=2*(betta1+betta0*h); q:=betta1*(2+fq(x[m-1])*sqr(h))/g2;
s:=(2*h*betta2-betta1*fr(x[m-1])*sqr(h))/g2;
y[m]:=(q*d[m]+s)/(1-q*e[m]);
for i:=m-1 downto 0 do y[i]:=e[i+1]*y[i+1]+d[i+1];
for i:=0 to m do writeln('y[',i:1,']=',y[i]:6:4);
end.
Дифференциал прогонка усули. Дифференциал прогонка усули алгоритмини ќуйидаги берилган мисолда кўриб чиќамиз. Ушбу
(10)
дифференциал тенгламанинг
(11)
чегаравий шартларни ќаноатлантирувчи ечимини топиш талаб ќилинсин. Бу ерда –ўзгармаслар; – оралиќда берилган узлуксиз функциялар. – номаълум функция.
Дифференциал прогонка усулига кўра (10), (11) чегаравий масала ечимини
(12)
кўринишда тасвирлаймиз. Бу ердаги лар хозирча номаълум функциялар. (12) ни (10) га олиб бориб ќўямиз ва ларга нисбатан ќуйидаги
(13)
биринчи тартибли дифференциал тенгламалар системасини ҳосил ќиламиз.
ва
тенгликлардан
(14)
ни ҳосил ќиламиз.
(13), (14) Коши масаласини оралиќда ечиб, ларни аниќлаймиз. Одатда бу усул тўѓри прогонка усули деб ҳам аталади.
ва
тенгликлардан
, (15)
га эга бўламиз.
(10), (15) Коши масаласини оралиќда ечиб, функциясининг сонли ќийматларини ҳосил ќиламиз. Бу усул тескари прогонка усули дейилади.
Мисол: Ќуйидаги
(16)
дифференциал тенгламанинг
(17)
шартларни ќаноатлантирувчи ечимини дифференциал прогонка усулига тузилган дастур ёрдамида топинг.
Текшириб кўриш мумкинки, берилган чегаравий масала аниќ

ечимга эга. Ќуйидаги жадвалда (5.50), (5.51) чегаравий масаланинг аниќ ва дифференциал прогонка усулидан фойдаланиб топилган таќрибий ечимлари келтирилган. Жадвалдан кўриниб турибдики, дифференциал прогонка усули юќори аниќликга эга бўлиши билан бирга, у чегаравий шартларни аниќ ҳисобга олади.



Аниќ ечим

Таќрибий ечим

0.0

1.000000

1.000121

0.1

0.911000

0.911107

0.2

0.848000

0.848091

0.3

0.817000

0.817073

0.4

0.824000

0.824054

0.5

0.875000

0.875035

0.6

0.976000

0.976015

0.7

1.133000

1.132997

0.8

1.352000

1.351980

0.9

1.639000

1.638965

1.0

2.000000

2.000000

Чегаравий масалаларни дифференциал прогонка усулида ечишга Паскаль тилида тузилган дастур матни:
program difprogon; uses crt;
const a11=1; a12=1; a21=1; a22=-1; b1=0; b2=2;
ndx=11; dx=0.1;
type vek=array[1..ndx] of real;
type vek1=array[1..2] of real;
type vek2=array[1..3] of real;
var
y0,y,yt: vek1; alf0,alf: vek2; px: vek; zlx,h:real;
i,nx:integer;
function fa(z: real): real;
begin
fa:=z+1; { A(x) - функциясининг кўриниши }
end;
function fb(z: real): real;
begin
fb:=z+3; { B(x) - функциясининг кўриниши }
end;
function ff(z: real): real;
begin
ff:=z*z*z*z+7*z*z*z+7*z*z+5*z+4; { -функциясининг кўриниши }
end;
procedure pv(x: real; y: vek2; var dy: vek2);
begin
dy[1]:=fa(x)*y[1]-y[2];
dy[2]:=y[1]*fb(x);
dy[3]:=y[1]*ff(x)
end;


procedure rungikytta1(x: real; y0: vek2; var dy: vek2);
var v3,fc,fk1,fk2,fk3,fk4: vek2;
begin
pv(x,y0,fc);
for i:=1 to 3 do begin fk1[i]:=h*fc[i];
v3[i]:=y0[i]+0.5*fk1[i] end;
x:=x+0.5*h;
pv(x,v3,fc);
for i:=1 to 3 do begin fk2[i]:=h*fc[i];
v3[i]:=y0[i]+0.5*fk2[i] end;
pv(x,v3,fc);
for i:=1 to 3 do begin fk3[i]:=h*fc[i];
v3[i]:=y0[i]+fk3[i] end;
x:=x+0.5*h;
pv(x,v3,fc);
for i:=1 to 3 do begin fk4[i]:=h*fc[i];
dy[i]:=y0[i]+0.166666667*(fk1[i]+2*fk2[i]+2*fk3[i]+fk4[i]) end;
end;
procedure pv1(x: real; y: vek1; var dy: vek1);
begin
dy[1]:=y[2];
dy[2]:=-y[2]*fa(x)-y[1]*fb(x)+ff(x);
end;
procedure rungikytta2(x: real; y0: vek1; var dy: vek1);
var v3,fc,fk1,fk2,fk3,fk4: vek1;
begin
pv1(x,y0,fc);
for i:=1 to 2 do begin fk1[i]:=h*fc[i];
v3[i]:=y0[i]+0.5*fk1[i]
end;
x:=x+0.5*h; pv1(x,v3,fc);
for i:=1 to 2 do begin fk2[i]:=h*fc[i];
v3[i]:=y0[i]+0.5*fk2[i]
end;
pv1(x,v3,fc);
for i:=1 to 2 do begin fk3[i]:=h*fc[i];
v3[i]:=y0[i]+fk3[i]
end;
x:=x+0.5*h; pv1(x,v3,fc);
for i:=1 to 2 do begin fk4[i]:=h*fc[i];
dy[i]:=y0[i]+0.166666667*(fk1[i]+2*fk2[i]+2*fk3[i]+fk4[i])
end;
end;
begin clrscr;
for i:=1 to ndx do px[i]:=(i-1)*dx;
alf0[1]:=a11; alf0[2]:=a12; alf0[3]:=b1;
for nx:=2 to ndx do begin zlx:=px[nx-1]; h:=dx;
rungikytta1(zlx,alf0,alf);
for i:=1 to 3 do alf0[i]:=alf[i];
end;
y0[1]:=(b2*alf[1]-a21*alf[3])/(a22*alf[1]-a21*alf[2]);
y0[2]:=(b2*alf[2]-a22*alf[3])/(a21*alf[2]-a22*alf[1]);
writeln('x=',px[ndx]:4:2,' yy===',y0[1]:7:4);
for nx:=ndx downto 2 do begin zlx:=px[nx]; h:=-dx;
rungikytta2(zlx,y0,y);
writeln('x=',(zlx+h):4:2,' yy=',y[1]:7:4);
for i:=1 to 2 do y0[i]:=y[i];
end; end.
Ишни бажариш тартиби:

  1. Берилган масаланинг ечиш алгоритмини блок-схема кўринишда тасвирлаш.

  2. Турбо-Паскаль муҳитида дастурни киритиш.

  3. Дастурни компьютер хотирасида саќлаш ва дастурдаги мавжуд хатоларни топиш ва уларни тўѓрилаш.

  4. Дастурни ишга тушириш ва масаланинг бошланѓич маълумотларини киритиб натижалар олиш.

  5. Олинган натижалар таҳлили асосида хулосалар ќилиш.

  6. Лаборатория ишини расмийлаштириш.



Назорат саволлари:

  1. Дифференциал тенглама учун чегаравий шартлар ќандай берилади?

  2. Оддий прогонка усули ва унинг алгоритми.

  3. Дифференциал прогонка усули ва унинг алгоритми.

  4. Дифференциал прогонка усулининг асосий моҳияти нимадан иборат?

6-ЛАБОРАТОРИЯ ИШИ


Мавзу: Интеграл ва интегро-дифференциал тенгламаларни таќрибий ечиш усуллари.
Керакли техник воситалар:
Шахсий компьютер.
Керакли дастурий воситалар:
Турбо Паскаль дастурлаш системаси ҳамда интеграл ва интегро-дифференциал тенгламаларни таќрибий ечиш учун тузилган дастурлар.
Ишнинг маќсади: Талабаларни интеграл ва интегро-дифференциал тенгламаларни таќрибий ечиш усуллари алгоритми билан таништириш ҳамда уларни Паскаль тилида тузилган дастурда ишлашга ўргатиш.


Топшириќ
1-масала. Ќуйида берилган 1-тур Вольтерра тенгламасини таќрибий ечинг.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
2-масала. Ќуйида берилган 2-тур Вольтерра тенгламасини таќрибий ечинг.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
3-масала. Ќуйида берилган 1-тур Фредгольм тенгламасини таќрибий ечинг.
1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
4-масала. Ќуйида берилган 1-тур Фредгольм тенгламасини таќрибий ечинг.
1. 2.
3. 4.
5. 6.
7.
8. 9. 10.


Назарий ќисм
1-тур Вольтера тенгламаси. Чизиќли 1-тур Вольтерра тенгламаси ќуйидаги
, (1)
кўринишга эга.
Теорема. Агар , бўлиб , функциялар оралиќда узлуксиз , ҳосилаларга эга ҳамда бўлса, (1) тенглама шу оралиќда узлуксиз ягона ечимга эга бўлади.
(1) тенгламани ечишда квадратура формуласидан фойдаланамиз. Дастлаб (1) тенгламанинг иккала томонини бўйича бир марта дифференциаллаб, ҳосил бўлган ифодада десак,
(2)
тенгликни ҳосил ќиламиз. (1) тенгламадаги интегрални ўзгармас ќадамли трапеция формуласи бўйича чекли йиѓиндига алмаштириб, ќуйидаги
, (3)
рекуррент формулага эга бўлиш мумкин. Бу ерда , , лар учун .
(2) ва (3) формулалар ёрдамида ларни кетма-кет аниќлаш мумкин.
Мисол. Тузилган дастурдан фойдаланиб берилган , , лар учун олинган (6.2) интеграл тенламанинг таќрибий ва аниќ ечимлари ҳар хил ларда ќуйидаги жадвалда келтирилган.



Таќрибий ечим

Аниќ ечим

0,0
0,2
0,4
0,6
0,8
1,0
1,2
1,4
1,6
1,8
2,0
2,2
2,4
2,6
2,8
3,0

0,000000
0,197000
0,370889
0,503031
0,582535
0,607539
0,584365
0,525031
0,444020
0,355225
0,269770
0,194969
0,134354
0,088411
0,055624
0,033494

0,000000
0,196040
0,369247
0,501162
0,580919
0,606531
0,584103
0,525436
0,444860
0,356218
0,270671
0,195628
0,134723
0,088523
0,055555
0,033327

Чизиќли 1-тур Вольтерра тенгламасини ечиш учун Паскаль тилида тузилган дастур матни:


program volter_1; uses crt;
const
a=0.0; { нинг бошланѓич ќиймати }
n=31; { бўйича нўќталар сони }
h=0.1; { бўйича ќадам }
type vek=array[1..n] of real;
var y,t,c:vek;
s:real;i,j:integer;
function f(x:real):real;
begin
f:=x*x { функция кўриниши }
end;
function f1(x:real):real;
begin
f1:=2*x { функция кўриниши }
end;
function r(x,y:real):real;
begin
r:=2+x*x-y*y { функция кўриниши }
end;
begin clrscr;
for i:=1 to n do begin t[i]:=a+(i-1)*h; c[i]:=1.0 end;
c[1]:=0.5;
y[1]:=f1(a)/r(a,a); toch[1]:=ftoch(a);
for i:=2 to n do
begin
s:=0;
for j:=1 to i-1 do s:=s+c[j]*r(t[i],t[j])*y[j];
y[i]:=2/r(t[i],t[i])*(f(t[i])/h-s);
end;
for i:=1 to n do writeln(t[i]:5:2,' ',y[i]:10:6);
end.
2-тур Вольтера тенгламаси.Чизиќли, бир жинсли бўлмаган 2-тур Вольтерра тенгламаси ќуйидаги
, (4)
кўринишга эга. Бу ерда - ядро функцияси, , , чизиќлар билан чегараланган учбурчак ичида ва унинг чегарасида узлуксиз. функция оралиќда узлуксиз. - номаълум функция.
(4) тенгламани ечишда квадратура формуласидан фойдаланамиз. (4) тенгламадаги интегрални ўзгармас ќадамли трапеция формуласи бўйича чекли йиѓиндига алмаштириб, ќуйидаги
, (5)
рекуррент формулага эга бўлиш мумкин. Бу ерда , , лар учун . Агар (4) тенгламада десак,
(6)
тенгликга эга бўламиз.
(5) ва (6) формулалар ёрдамида ларни кетма-кет аниќлаш мумкин.
Мисол. Тузилган дастурдан фойдаланиб, берилган , , , лар учун олинган (4) интеграл тенламанинг таќрибий ва аниќ ечимлари ҳар хил ларда ќуйидаги жадвалда келтирилган.





Таќрибий ечим

Аниќ ечим

0,0
0,2
0,4
0,6
0,8
1,0
1,2
1,4
1,6
1,8
2,0

-0,301169
-0,983602
-2,101015
-3,669153
-5,284334
-5,513842
-1,309168
10,545296
25,010640
14,346203
-45,527236

-0,301169
-0,983569
-2,100915
-3,668947
-5,284021
-5,513636
-1,309882
10,542137
25,006065
14,355014
-45,489898

Чизиќли 2-тур Вольтерра тенгламасини ечиш учун Паскаль тилида тузилган дастур матни:


program volter_2; uses crt;
const
a=0.0; { нинг бошланѓич ќиймати }
n=21; { бўйича нуќталар сони }
h=0.05; { бўйича ќадам }
type vek=array[1..n] of real;
var y,t,c:vek;
s:real;i,j:integer;
function f(x:real):real;
begin
f:=(1-x*exp(2*x))*cos(1)-exp(2*x)*sin(1) { функция кўриниши }
end;
function r(x,y:real):real;
begin
r:=1-(x-y)*exp(2*x) { функция кўриниши }
end;
begin clrscr;
for i:=1 to n do begin t[i]:=a+(i-1)*h; c[i]:=1.0 end;
c[1]:=0.5;
y[1]:=f(a);
for i:=2 to n do
begin
s:=0;
for j:=1 to i-1 do s:=s+c[j]*r(t[i],t[j])*y[j];
y[i]:=(f(t[i])+h*s)/(1-h*r(t[i],t[i])/2);
end;
for i:=1 to n do writeln(t[i]:5:2,' ',y[i]:10:6);
end.
Фредгольм типидаги тенгламалар. Умумий ҳолда чизиќли, бир жинсли бўлмаган Фредгольм типидаги интеграл тенгламалар
(7)
кўринишга эга. Бу ерда , - ядро функцияси квадратда аниќланган ва узлуксиз.
(7) да, агар ва бўлса, 1-турдаги; агар ва бўлса, 2-турдаги Фредгольм интеграл тенгламалари ҳосил бўлади.
лар учун, (7) даги интегрални ўзгармас ќадам билан трапеция формуласига алмаштирсак,
, (8)
тенгликга эга бўламиз. Бу ерда , , , , , лар учун .
(8) да Кронекер белгилашини киритсак, ихтиёрий лар учун
(9)
та номаълумларни ўз ичига олган та чизиќли алгебраик тенгламалар системасига эга бўламиз. (9) чизиќли алгебраик тенгламалар системасини Гаусс усулида ечиб ларни аниќлаймиз.
Мисол. Тузилган дастурдан фойдаланиб берилган , , , , , , лар учун олинган (7) интеграл тенламанинг таќрибий ва аниќ ечимлари ҳар хил ларда ќуйидаги жадвалда келтирилган.





Таќрибий ечим

Аниќ ечим

-3,141593
-2,792527
-2,443461
-2,094395
-1,745329
-1,396263
-1,047198
-0,698132
-0,349066
-0,000000
0,349066
0,698132
1,047198
1,396263
1,745329
2,094395
2,443461
2,792527
3,141593

16,029411784
14,267864029
9,807468605
4,735294098
1,424667324
1,424667340
4,735294138
9,807468648
14,267864050
16,029411768
14,267864050
9,807468648
4,735294138
1,424667340
1,424667324
4,735294098
9,807468605
14,267864029
16,029411784

16,029411765
14,267864011
9,807468590
4,735294086
1,424667316
1,424667334
4,735294133
9,807468644
14,267864046
16,029411765
14,267864046
9,807468644
4,735294133
1,424667334
1,424667316
4,735294086
9,807468590
14,267864011
16,029411765

Фредгольм типидаги интеграл тенгламаларини ечиш учун Паскаль тилида тузилган дастур матни:


program fredgolm;
const alfa=1; { нинг ќиймати }
lambda=1; { нинг ќиймати }
n=37; { бўйича нуќталар сони }
a=-3.14159265; { нинг бошланѓич ќиймати }
b=-a; { нинг охирги ќиймати }
type
matrisa=array[1..n,1..n+1] of real;
vektor=array[1..n] of real;
var
aij:matrisa; t,y,c:vektor;
h:real;i,j:integer;
function f(x:real):real;
begin
f:=25-16*sqr(sin(x)) { функциянинг берилиши }
end;
function fk(x,s:real):real;
begin
fk:=0.3/(0.64*pi*sqr(cos((x+s)/2))-pi) { функциянинг берилиши }
end;
function d(l,m:integer):integer;
begin
if l=m then d:=1 else d:=0; { функциянинг берилиши }
end;
procedure gauss(b:matrisa; var y:vektor);
var max,c:real; k,m:integer;
begin
for i:=1 to n do
begin
max:=abs(b[i,i]); j:=i;
for k:=i+1 to n do if abs(b[k,i])>max then
begin
max:=abs(b[k,i]); j:=k;
end;
if j<>i then for k:=i to n+1 do
begin
c:=b[i,k]; b[i,k]:=b[j,k];
b[j,k]:=c;
end;
c:=b[i,i];
for k:=i to n+1 do b[i,k]:=b[i,k]/c;
for m:=i+1 to n do
begin
c:=b[m,i];
for k:=i+1 to n+1 do
b[m,k]:=b[m,k]-b[i,k]*c;
end;
end;
y[n]:=b[n,n+1];
for i:=n-1 downto 1 do
begin
y[i]:=b[i,n+1];
for k:=i+1 to n do
y[i]:=y[i]-b[i,k]*y[k]
end;
end;
begin
h:=(b-a)/(n-1);
for i:=1 to n do begin t[i]:=a+(i-1)*h; c[i]:=1 end;
c[1]:=0.5; c[n]:=0.5;
for i:=1 to n do for j:=1 to n do
aij[i,j]:=alfa*d(i,j)-h*lambda*c[j]*fk(t[i],t[j]);
for i:=1 to n do aij[i,n+1]:=f(t[i]);
gauss(aij,y);
for i:=1 to n do writeln('t=',t[i]:8:6,' ',y[i]:10:9);
end.

Download 2,38 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish