28
Modeliranje računalom Ivica Koar 1 Uvod u modeliranje računalom U predmetu se uče osnovne matematičke metode koje se primjenjuju u modeliranjima u građevinarstvu. U tekstu se spominju problemi interpolacije i ekstrapolacije podataka raznim polinomima, rjeavanje linearnih i nelinearnih jednadbi i uvod u rjeavanje diferencijalnih jednadbi primjenom metode konačnih razlika. Svi su primjeri načinjeni u programskom okruenju MathCad.

Uvod u Modeliranje Racunalom

Embed Size (px)

Citation preview

Modeliranje računalom Ivica Ko�ar

1

Uvod u modeliranje računalom U predmetu se uče osnovne matematičke metode koje se primjenjuju u modeliranjima u građevinarstvu. U tekstu se spominju problemi interpolacije i ekstrapolacije podataka raznim polinomima, rje�avanje linearnih i nelinearnih jednad�bi i uvod u rje�avanje diferencijalnih jednad�bi primjenom metode konačnih razlika. Svi su primjeri načinjeni u programskom okru�enju MathCad.

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 1 I predavanje

1 Uvod u numeričku analizu i MKE

1.1 Matematičko modeliranje Matematičko modeliranje je aproksimiranje stvarnih pojava nekim matematičkim opisom, koji vi�e ili manje odgovara stvarnoj pojavi. Neki problemi se mogu vrlo točno modelirati; na pr. računanje volumena nekakve građevine, problemi malih brzina krutih tijela. No, neki su problemi slo�eniji; na pr. problemi tijela pri velikim brzinama (otpor zraka je vrlo slo�eno uzeti u obzir), međudjelovanje tijela i tekućine i mnogi drugi. Prilikom matematičkog modeliranja slu�imo se raznim terminima od kojih su neki definirani u nastavku.

1.2 Aproksimacije Pojam aproksimacije ima dvojako značenje. Mo�emo ga razmatrati na razini matematičkog modela ili na razini točnosti rje�avanja modela. Mi ćemo se zadr�ati na problemu matematičkog modela. Naime, mnoge pojave u prirodi su vrlo slo�ene i te�ko ih je matematički opisati. Razjasnimo to na primjeru savijanja grede. Matematički model koji ga opisuje je diferencijalna jednad�ba drugog reda dobivena dovođenjem u vezi zakrivljenosti grede i reznih sila:

d ydx

EI M22 * = −

Ako se prisjetimo izvoda, sjetit ćemo se da smo pri tome pojednostavnili izraz za zakrivljenost. Tako dobivena jednad�ba dobro opisuje problem savijanja grede iako ne odgovara onome �to se događa u stvarnosti. Procjenu valjanosti na�eg matematičkog modela dobivamo uspoređivanjem sa stvarno�ću, s eksperimentima! Tako mo�emo zaključiti da na�a jednad�ba vrlo dobro opisuje savijanje grede kad su progibi mali i kad je pona�anje materijala linearno elastično. Nelinearno pona�anje materijala mo�emo uključiti u gornju jednad�bu (tkz. materijalna nelinearnost), ali ako �elimo uzeti u obzir velike pomake na gredi (tkz. geometrijska nelinearnost), moramo promijeniti diferencijalnu jednad�bu. Ograničenja u području primjene pojedinih matematičkih modela moramo biti vrlo svjesni! Napomena: U praksi se ova jednad�ba često pi�e u obliku diferencijalne jednad�be četvrtog reda jer je tada uspostavljena veza između deformacione linije grede i vanjskog opterećenja.

1.3 Numerička analiza Analitičke funkcije u na�im modelima su često vrlo slo�ene i rje�ive samo za neke idealne slučajeve. Iz potrebe rje�avanja sve slo�enijih zadataka nastala je numerička analiza, a u uskoj svezi s razvojem računalne tehnike. Na� prethodni primjer je ponovo dobra ilustracija; linearna diferencijalna jednad�ba se lako rje�ava za jednostavne slučajeve opterećenja i rubnih uvjeta. Naravno, in�enjerska praksa je razvila mno�tvo metoda koje nam omogućuju rje�avanje problema bez rje�avanja diferencijalne jednad�be, no, za neke slučajeve je takvo rje�enje vrlo grubo. Takav je slučaj kod problema izvijanja gdje uzdu�na (tlačna) sila u �tapu mo�e imati znatan utjecaj na rje�enje. Razvijeni su numerički postupci koji rje�avaju diferencijalnu jednad�bu za proizvoljne rubne uvjete i opterećenje, no oni daju rje�enje samo za konkretnu situaciju. Za svaku, i najmanju promjenu, postupak rje�avanja se mora ponoviti. Kod analitičkih rje�enja to su uvijek rje�enja određene grupe problema i na sve probleme koji potpadaju u tu grupu mo�e se dotično rje�enje primjeniti.

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 2 I predavanje

Metoda konačnih elemenata je iz grupe numerička analiza.

1.4 Uvod u programiranje Programiranje se obrađuje u posebnom predmetu. Ukratko, mo�emo reći da se radi o uputama računalu čiji slijed (algoritam) definira problem koji opisujemo na�im matematičkim modelom. U postupcima numeričke analize moramo izvoditi veliku količinu matematičkih operacija i prisiljeni smo slu�iti se računalom. Najče�će nam trebaju matrične operacije koje mo�emo izvoditi u raznim programskim okru�enjima: • MathCAD, MATLAB, Mathematica - vi�i programski jezici unutar posebno

prilagođenih korisničkih okru�enja za rje�avanje općenitih matematičkih problema; • BASIC, FORTRAN i drugi programski jezici univerzalne namjene za rje�avanje

problema i programiranje korisničkih okru�enja (na razini pojedinog problema).

1.5 Linearni prostori N-dimezionalni prostori u kojima su definirane operacije nad vektorima tako da vrijedi zakon linearne zavisnosti vektora (vidi matematiku). Općenito, u tom prostoru su definirani tenzori.

1.6 Linearizacija Proces ra�članjivanja nelinearnih jednad�bi tako da se (pribli�no) rje�enje nalazi u linearnom vektorskom prostoru (spomeni postupak usmjerene derivacije). Na pr. pojednostavljivanje izraza za zakrivljenost kod savijanja grede je primjer linearizacije. Bez tog pojednostavljenja na�e bi diferencijalne jednad�be bile nelinearne i postupci rje�avanja bi bili daleko slo�eniji, ali bi područje u kojem vrijedi na� matematički model bilo mnogo �ire! Općenito su postupci linearizacije slo�eni i neće biti razmatrani u ovoj seriji predavanja.

1.7 Matrična algebra Za potrebe rje�avanja problema u linearnim prostorima definirane su operacije nad matricama. U na�em radu koristit ćemo samo osnovne matrične operacije: • transponiranje • mno�enje matrica • invertiranje • determinanta matrice Te se operacije u pravilu izvode na računalu i ovdje ih definiramo za razne sredine na računalu:

1.7.1 primjer za MathCAD:

A:=

4 3 2 13 3 2 12 2 2 11 1 1 1

B:=

20191610

Transponirana matrica se dobije kombinacijom tipki Alt !:

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 3 I predavanje

AT :=

4 3 2 13 3 2 12 2 2 11 1 1 1

Invertirana matrica se dobije ako za eksponent napi�emo -1:

A− =

−− −

− −−

1

1 1 0 01 2 1 0

0 1 2 10 0 1 2

:

a determinanta ako napi�emo znak | (na�alost, to je znak za malo slovo đ na novim hrvatskim tipkovnicama, tako da se korisnik ponekad mo�e zbuniti): A = 1

Rje�enje sistema jednad�bi se dobiva mno�enjem vektora desne strane inverznom matricom (naravno, pravilnom organizacijom nepoznanica tako je moguće dobiti vi�e stupaca rje�enja istovremeno):

X A B: *= −1 X =

1234

U MathCAD-u mo�emo razlikovati između skalarnog i vektorskog produkta dvaju vektora (u prvom slučaju rezultat je skalar, a u drugom vektor): 123

321

10

=* 123

321

484

×

=−

Znak za skalarni produkt je obično mno�enje, a za vektorski produkt to je kombinacija tipki Alt * (na CRO tipkovnicama Alt 8).

1.7.2 Primjer za MATLAB A=[4 3 2 1; 3 3 2 1; 2 2 2 1; 1 1 1 1] A = 4 3 2 1 3 3 2 1 2 2 2 1 1 1 1 1 B=[20;19;16;10] B = 20

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 4 I predavanje

19 16 10 % Transponirana matricaAt=A' At = 4 3 2 1 3 3 2 1 2 2 2 1 1 1 1 1 % Determinanta matrice det(A) ans = 1 % Inverzna matricaAinv=inv(A) Ainv = 1.0000 -1.0000 0 0 -1.0000 2.0000 -1.0000 0.0000 0.0000 -1.0000 2.0000 -1.0000 0 0 -1.0000 2.0000 % Rjesenje sistema jednadzbiX=Ainv*B X = 1.0000 2.0000 3.0000 4.0000 % Skalarni produkt vektoraa=[1;2;3] a = 1 2 3 b=[3;2;1] b = 3 2 1 a'*b ans = 10 % a*b' ne daje vektorski produkt dvaju vektora! % umjesto toga dobivamo tenzorski produkt % (vektorski produkt dvaju vektora se ne mo�e direktno dobiti u MATLABu)

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 5 I predavanje

a*b' ans = 3 2 1 6 4 2 9 6 3 % Vektorski produkt treba definirati kao vlastitu funkciju function v = vprod(a,b) %VPROD vektorski produkt dvaju vektora v = zeros(1,3); v(1)=det([ A(2:3); B(2:3) ]); v(2)=-det([A(1) A(3); B(1) B(3) ]); v(3)=det([ A(1:2); B(1:2) ]); a = 1 2 3 b = 3 2 1 c=vprod(a',b') c = -4 8 -4 c=vprod(a',b')' c = -4 8 -4 Vidimo da u vi�em jeziku kao �to je MathCAD matrične operacije izvodimo vrlo elegantno. U nekom programskom jeziku potrebno je vi�e truda; tu se matrične operacije najče�će definiraju kao subroutine (za programski jezik BASIC vidi članak: Ko�ar, Ivica: Matrice, časopis FRaK br.4, o�ujak 1983., str. 37-38). Notacija U na�im tekstovima matrice ćemo označavati masnim slovima kao A (najče�će kod pisanja na računalu) ili vitičastom podvlakom A (pri pisanju rukom).

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 1 II predavanje

2 Interpolacioni polinomi

2.1 Polinomi Polinomi su matematički izrazi oblika

P x a x a x a xn n nn( ) ...= + + +−

0 11 0

gdje n označava stupanj polinoma. Glavna im je karakteristika jednostavno deriviranje i integriranje pa se rado koriste u tehničkoj praksi. (Napomena: polinom n-tog stupnja je n-puta derivabilan). Često se slo�enije funkcije poku�ava pribli�no predstaviti jednim ili vi�e polinoma. Naročito česta primjena je kod interpolacija, odnosno, kad poku�avamo provući kontinuiranu funkciju kroz grupu zadanih podataka. Ti zadani podaci se često prikazuju kao diskretne točke na grafičkom prikazu, a polinom kao krivulja koja prolazi bli�e ili dalje od tih zadanim vrijednosti. Glavna vrijednost interpolacije je u tome �to mo�emo pretpostaviti vrijednosti funkcije i tamo gdje nemamo zadanih podataka. Na pr.: imamo podatke o broju stanovnika za proteklih 10 godina; interpolacionu krivulju mo�emo upotrijebiti za procjenu broja stanovnika u slijedećoj godini (vidi primjer kod metode najmanjih kvadrata).

2.2 Metoda najmanjih kvadrata Metoda najmanjih kvadrata definira postupak određivanja funkcije čije vrijednosti najmanje odstupaju od zadanih vrijednosti (u određenim točkama) u smislu da je suma kvadrata svih odstupanja najmanja moguća (kvadrati se koriste radi eliminacije uticaja negativnih vrijednosti). Neka su zadane vrijednosti neke nepoznate funkcije p(x) u točkama (ci, i=1,...,n), a koju �elimo aproksimirati nekom funkcijom f(x) na intervalu od a do b. Gre�ka koju pri tome činimo u nekoj točki intervala je

e = p(x) - f(x,c1,c2,...,cn) a ukupna gre�ka preko svih točaka intervala je

( )Γ1 1 1( , ..., ) ( ) ( , , ..., )c c p x f x c c dxn na

b

= −∫

Minimizacija ove funkcije ne bi dala očekivano rje�enje zbog već spomenutih negativnih vrijednosti, pa se uvodi pojam funkcije kvadrata razlike

( )Γ2 1 12( , ..., ) ( ) ( , , ..., )c c p x f x c c dxn n

a

b

= −∫

Kada je nepoznata funkcija p(x) poznata samo preko vrijednosti u diskretnim točkama, izraz se pojednostavljuje

( )Γ2 1 12

1( , ..., ) ( ) ( , , ..., )c c p x f x c cn n

k

m= −

=∑

Minimizacija ove funkcije kao rezultat daje očekivanu funkciju koja "najbolje" aproksimira nepoznatu funkciju čije vrijednosti znamo samo u diskretnim točkama. Parametre na�e interpolacione funkcije dobivamo rje�avanjem sistema jednad�bi koje proizilaze iz uvjeta minimizacije

∂∂ Γ2 0ci

= i n=1, ...,

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 2 II predavanje

Najče�će kao interpolacionu krivulju izabiremo polinom pri čemu polinom točno prolazi kroz zadane točke ako je stupnja m, gdje je m broj poznatih točaka. Polinom stupnja većeg od m nije moguće provući jer tada imamo vi�e nepoznanica nego jednad�bi iz uvjeta minimuma kvadrata razlike.

2.2.1 Primjer U ovom primjeru koristit ćemo program MATLAB za izračun. Zadan je broj stanovnika prema rezultatima popisa svakih 10 godina od 1900 do 1990. Ovako to izgleda u MATLAB-u % Vremenski interval t = (1900:10:1990)'; % Populacija p = [75.995 91.972 105.711 123.203 131.669 ... 150.697 179.323 203.212 226.505 249.633]'; %Naredbe za grafi čki prikaz figure(fig); plot(t,p,'go'); axis([1900 2010 0 400]); title('Broj stanovnika SAD od 1900-1990'); ylabel('Milioni'); Grafi čki prikaz izgleda ovako:

1900 1920 1940 1960 1980 20000

50

100

150

200

250

300

350

400

Milio

ni

Broj stanovnika SAD od 1900-1990

Poku�ajmo aproksimaciju zadanih podataka polinomom trećeg stupnja i uzmimo njegovu vrijednost u 2000.godini kao predviđeni broj stanovnika. U MATLAB-u se naredbe za to izdaju ovako: %Koeficijenti polinoma se dobivaju rješavanjem sistema % jednadžbi uz upotrebu Vandermondove matrice (10*10) čiji su % elementi potencije skaliranog vremena A(i,j) = s(i)^(n-j); n = length(t); s = (t-1900)/10; A(:,n) = ones(n,1); for j = n-1:-1:1 A(:,j) = s .* A(:,j+1); end

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 3 II predavanje

Matrica A izgleda ovako: Columns 1 through 6 0 0 0 0 0 0 1 1 1 1 1 1 512 256 128 64 32 16 19683 6561 2187 729 243 81 262144 65536 16384 4096 1024 256 1953125 390625 78125 15625 3125 625 10077696 1679616 279936 46656 7776 1296 40353607 5764801 823543 117649 16807 2401 134217728 16777216 2097152 262144 32768 4096 387420489 43046721 4782969 531441 59049 6561 Columns 7 through 10 0 0 0 1 1 1 1 1 8 4 2 1 27 9 3 1 64 16 4 1 125 25 5 1 216 36 6 1 343 49 7 1 512 64 8 1 729 81 9 1 % Koeficijenti polinoma stupnja d koji interpolira podatke p % dobiju se rješavanjem sistema jednadžbi zadnjih d+1 stupaca % Vandermondove matrice. Za kubni polinom d=3 pa imamo c = A(:,n-3:n)\p c = 0.0056 0.8517 11.1823 78.0666 % Sada ra čunamo vrijednosti polinoma za svaku dekadu od 1900 % do 2010 % i crtamo rezultate v = (1900:2010)'; x = (v-1900)/10; y = polyval(c,x); z = polyval(c,10); figure(fig); hold on yhandle = plot(v,y,'m-'); zhandle = plot(2000,z,'yx'); ztext = text(2000,z-10,num2str(z)); title('Aproksimacija polinomom, stupanj = 3') hold off

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 4 II predavanje

1900 1920 1940 1960 1980 20000

50

100

150

200

250

300

350

400

Mili

oni

Aproksimacija polinomom, stupanj = 3

280.6

Poku�ajmo jo� i aproksimacije polinomima 4. i 5. stupnja (trebamo rje�iti 4, odnosno 5 jednad�bi). Vidimo veliku razliku u broju predviđenih stanovnika iako su vrijednosti svih polinoma vrlo slične unutar zadanog intervala!

Primjetimo da polinom ne prolazi točno kroz zadane točke, nego im se manje ili vi�e pribli�ava. To su tkz. "tvrde interpolacione funkcije" koje nam daju "glatke" krivulje. U metodi konačnih elemenata se takvi polinomi sve rjeđe primjenjuju.

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 5 II predavanje

2.3 Lagrangeovi polinomi Lagrangeovi polinomi imaju to svojstvo da prolaze kroz sve zadane točke, odnosno, oni su "mekani". To ih čini nepogodnim za ekstrapolacije (predviđanja vrijednosti izvan zadanog intervala), ali su vrlo korisni kad moramo imati točno zadovoljenu vrijednost funkcije u nekoj točki (to je slučaj kod interpolacija unutar konačnih elemenata). Jednad�ba općeg Lagrangeovog polinoma glasi

N x x x x x x x x x x xx x x x x x x x x xi

i i m

i i i i i i i m( ) ( ) * ( )...( ) * ( )...( )

( ) * ( )...( ) * ( )...( )= − − − − −

− − − − −− +

− +

1 2 1 1

1 2 1 1

Odnosno, kraće pisano

N xx xx xi

j

i jjj i

m( )

( )( )

=−−=

∏1

Ako vrijednosti na�e nepoznate funkcije (u diskretnim točkama) predstavimo vektorom

p =

pp

pm

1

2

...

onda izraz za vrijednost funkcije koju interpoliramo mo�emo napisati u matričnoj formulaciji koja je uobičajena u metodi konačnih elemenata

[ ]f x N N N

pp

p

m

m

( ) ......

=

1 2

1

2 ,odnosno f x( ) = N pT

2.3.1 Primjer upotrebe Lagrangeovih polinoma

Interpolirajmo neku zadanu funkciju Lagrangeovim polinomima ako znamo vrijednost funkcije u 3 točke

Za m=3 i i=1 Lagrangeov polinom je: Nakon sređivanja dobijemo jednostavnije izraze za sva 3 Lagrangeova polinoma:

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 6 II predavanje

Interpolacijska funkcija glasi pa mo�emo usporediti zadanu i interpolacijsku funkciju unutar zadanog intervala

Izvan zadanog intervala aproksimacija nije tako dobra

Za poboljsanje aproksimacije izvan zadanog intervala treba dodati jos točaka, na pr.

i treba ponovo definirati sve Lagrangeove polinome:

Sada je interpolacija dobra u �irem rasponu vrijednosti

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

__________________________________________________________________________________ listopad 1996 7 II predavanje

2.4 Serendipity polinomi Serendipty polinomi su vrlo slični Lagrangeovim, ali s tom razlikom da nemaju unutra�njih točaka. To je kod konačnih elemenata vrlo praktično, jer nam omogućuje manji broj točaka unutar elementa �to daje manje matrice krutosti s u�im "bandom", pa se takvi sistemi, uz istu točnost, br�e rje�avaju na računalu.

2.5 Hermitovi polinomi Hermitovi polinomi, kao i Lagrangeovi, zadovoljavaju vrijednosti funkcije u točkama, ali istovremeno zadovoljavaju i vrijednost derivacije u točkama. Stupanj derivacije koji �elimo zadovoljiti se naziva C-kontinuitet elementa. Tako Hermitovi polinomi koji zadovoljavaju vrijednost 1. derivacije u točkama se nazivaju C1 polinomi. Lagrangeovi i Serendipity polinomi koji ne zadovoljavaju vrijednosti derivacije u točkama se nazivaju C0 polinomi. Opći izraz za Hermitov polinom je:

( )( )P z Bi Bi

z ai Bi kiz ai

ki

ki Qi zi

m( ) ! ... , ! ( )= +

−+ +

−−

−=∑

1 2 1

1

11

gdje su

Bi jPi z

Qi z

j

z ai

,( )

( )=

=

1, ( )Qi z z ai

ki

i i i

m( )

,= −

= ≠∏1

Za primjer vidi prilog iz MathCAD-a.

2.6 Kubični splin-ovi Splin-ovi su funkcije sastavljene iz dijelova koji na svojim krajevima zadovoljavaju prvu i drugu derivaciju. Na taj način se dobiva glatka krivulja koja se sastoji od dijelova koji su relativno jednostavni. Na pr. kubični splinovi spajaju po tri točke i dobivena funkcija je glatka i samo do 3 stupnja za proizvoljni broj točaka koje spaja. Hermitov polinom istih karakteristika bi imao vrlo visok stupanj (ovisno o broju točaka koje spaja). Primjena splinova je česta u područjima gdje treba provući glatke krivulje kroz veliki broj točaka, kao u geodeziji, cestogradnji, brodogradnji i drugdje. U konačnim elementima se manje koriste.

Ivica Ko�ar Građevinski fakultet Rijeka

Modeliranje računalom Rje�avanje jednad�bi

Rješavanje jednadžbi Jedan od najče�ćih zadataka u numeričkom modeliranje je rje�avanje raznih jednad�bi (jedne ili vi�e njih, linearnih ili nelinearnih). Pod jednad�bom podrazumijevamo funkciju jedne varijable (dakle f(x)=0), a rije�iti jednad�bu, u kontekstu ovih predavanja, znači naći barem jednu vrijednost x za koju vrijednost funkcije postaje 0 (x => f(x)=0). Bavit ćemo se samo onim funkcijama koje se mogu grafički predočiti u ravnini. Linearne jednadžbe Linearna jednad�ba se mo�e prikazati grafički dobro znanim pravcem:

10 5 0 5 1010

0

10

2013

7−

f x( )

1010− x Rje�avanje jedne linearne jednad�be se svodi na trivijalno izlučivanje �eljene nepoznanice iz jednad�be pravca. Nelinearne jednadžbe Nelinearne jednad�be mo�emo poku�ati definirati njihovim grafičkim prikazom: on nije pravac; na pr.:

3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 320

10

0

10

2016.032

10.968−

f z( )

33− z Ovakva definicija nije uobičajena, ali je prihvatljiva in�injerima. Uobičajenija podjela bi bila na eksponencijalne, logaritamske, trigonometrijske, polinomijalne i druge jednad�be

Ivica Ko�ar Građevinski fakultet Rijeka

Modeliranje računalom Rje�avanje jednad�bi

(ili njihove kombinacije). Svaka se od navedenih grupa u matematici zasebno proučava, ali mi ćemo ih tretirati sve zajedno i pokazati ćemo neke numeričke metode koje se mogu primijeniti na sve njih. Iterativne metode Iterativne metode se temelje na ideji postepenog pribli�avanja točnom rje�enju tijekom nekog iterativnog procesa. Očito je da postupak moramo započeti nekom početnom pretpostavkom za rje�enje na�e jednad�be, na pr. pretpostavimo da je x0 rje�enje. Nakon toga računamo x1, pa x2 itd. dok ne mislimo da je dobiveni broj dovoljno točno rje�enje zadane jednad�be. Točnost mo�emo kontrolirati uvr�tavanjem dobivenog broja xn u jednad�bu koja tada mora zadobiti vrijednost dovoljno blizu nuli (f(xn)=0). Če�će kontrolu vr�imo tako da promatramo razliku između nove xn i stare pretpostavke xn-1 pa kada je ta razlika dovoljno mala, smatramo da smo dostigli �eljeno rje�enje jednad�be (�to ne mora uvijek biti slučaj, jedino prva metoda garantira da smo na�li rje�enje). Pogledajmo na primjeru funkcije f(x)=ax3-bx �to se mo�e dogoditi kod iterativnog postupka rje�avanja (za a=1 i b=3 imamo tri rje�enja x=0, 3± ).

pocetna pretpostavka x0 1.7:= iterativni postupak xi 1+a xi( )3⋅

b:=

prikaz sukcesivnihvrijednosti tijekomiterativnog procesa x

1.7

1.638

1.464

1.046

0.382

0.019

2.114 10 6−×0

0

=

Drugačiji izbor iterativne sheme daje drugačiji rezultat

pocetna pretpostavka x0 1.7:= iterativni postupak xi 1+b xi⋅

a xi( )2⋅:=

prikaz sukcesivnihvrijednosti tijekomiterativnog procesa

x

1.7

1.765

1.7

1.765

1.7

1.765

1.7

1.765

1.7

=

Ivica Ko�ar Građevinski fakultet Rijeka

Modeliranje računalom Rje�avanje jednad�bi

Vidimo da ovaj put ne dobivamo točno rje�enje iako je početna pretpostavka x0=1.7 jako blizu točnom rje�enju (x=1.732). Mo�e se reći da je drugi postupak na prvi pogled slabiji od prvog, ali kod slo�enijih jednad�bi to nije tako lako uočljivo, te je to je razlog za�to se ovakav postupak ne mo�e preporučiti kao univerzalni numerički algoritam za dobivanje rje�enja nelinearne jednad�be. Daljnje metode (metoda sekante i Newton-ova metoda) su također iterativne metode, samo su matematički sistematski razrađene tako da garantiraju nala�enje jednog točnog rje�enja ako su zadovoljene određene pretpostavke (garantiraju tkz. konvergenciju). Metoda sekante Metoda sekante se temelji na ideji da se načini sekanta koja ima krajeve na dijelovima funkcije s različitim predznakom te tako nu�no siječe pravac f(x)=0 (os x) a nekim numeričkim postupkom se onda pribli�avamo točki x za koju je f(x)=0. Potupati mo�emo tako da desnu stranu sekante dr�imo nepomičnom i pribli�avamo lijevu točku (iteracija s lijeve strane) ili obratno (iteracija s desne strane) ili pak da naizmjence pribli�avamo lijevu pa desnu točku sekante (najbr�a konvergencija). Numerički postupak pribli�avanja temelji se na jednad�bi pravca kroz dvije točke (krajevi sekante) u koji onda uvrstimo uvjet f(x)=0 i izlučimo tra�eni x (to je onda nova vrijednost pretpostavljenog rje�enja xi+1). Pogledajmo primjer s funkcijom f(x)=ax2+b (za a=1 i b=-6 rje�enja su x=-4,+4)

6 5 4 3 2 1 0 1 2 3 4 5 620

10

0

10

2020

16−

f x( )

66− x Rije�imo jednad�bu metodom sekante S LIJEVE STRANE x0 0:= i 0 9..:=

xi 1+ xif xi( ) xi xa−( )⋅

f xi( ) f xa( )−−:=

z 6− 5.9−, 6..:=

6 4 2 0 2 4 620

0

20

f z( )

f xi( )

z xi,

x

0

01

2

3

4

5

6

7

8

9

10

0-2.6667

-3.6923

-3.9365

-3.9872

-3.9974

-3.9995

-3.9999

-4

-4

-4

=

Ivica Ko�ar Građevinski fakultet Rijeka

Modeliranje računalom Rje�avanje jednad�bi

Pogledajmo detaljnije postupak iteriranja

6 5 4 3 2 1 020

10

0

10

2020

16−

f z( )

f xi( )dioA y 0( )

x0xa z xi, dioA x 0( ), Rije�imo isti primjer iteracijom s desne strane

S DESNE STRANE i 0 9..:=

x0 1−:= xi 1+ xif xi( ) xb xi−( )⋅f xb( ) f xi( )−

−:=

x

0

01

2

34

5

67

8

910

-12

3.5

3.89473.9787

3.9957

3.99913.9998

4

44

=

6 4 2 0 2 4 620

0

20

f z( )

f xi( )

z xi, Vidimo da iako smo krenuli od x0=-1, dobili smo desno rje�enje x=4 jer je to rje�enje obuhvaćala sekanta koju smo formirali. Postupak sličan navedenoj metodi sekante provodi i Mathcad ugrađena funkcija root(f(x),x,a,b) gdje se a i b također moraju zadati tako da f(a) i f(b) imaju različite predznake.

Ivica Ko�ar Građevinski fakultet Rijeka

Modeliranje računalom Rje�avanje jednad�bi

Newton-ova metoda Newton-ova iterativna metoda rje�avanja nelinearnih jednad�bi mo�da je jedna od najpopularnijih zbog svoje jednostavnosti i brze konvergencije (tkz. kvadratična konvergencija za razliku od linearne konvergencije sekantne metode). Postupak se temelji na ideji da se u točki početne pretpostavke rje�enja x0 postavi tangenta čije presjeci�te s nulom (f(x)=0) daje novu pretpostavku rje�enja. Metoda zahtjeva izračun derivacije funkcije čije rje�enje tra�imo; to se mo�e načinit analitički ili, kao �to ćemo kasnije vidjeti, numerički. Pogledajmo na primjeru iste funkcije kako postupak radi

6 5 4 3 2 1 0 1 2 3 4 5 620

10

0

10

2020

16−

f x( )

g x( )

66− x x, g(x) označava analitičku derivaciju funkcije f(x). Za x0=-6 dobivamo

x0 6−:= i 0 5..:= xi 1+ xif xi( )g xi( )−:=

6 4 2 0 2 4 620

10

40

f z( )

f xi( )

z xi,

x

6−4.3333−4.0128−

4−4−4−4−

=

6 5.67 5.33 5 4.67 4.33 40

4

8

12

16

2020

0

f z( )

f xi( )dio y 0( )

4−xa z xi, dio x 0( ),

Ivica Ko�ar Građevinski fakultet Rijeka

Modeliranje računalom Rje�avanje jednad�bi

Uočimo brzinu kojom je iterativni postupak do�ao do rje�enja na 5 decimalnih mjesta! Pogledajmo jo� primjer kubne funkcije

a 1:= b 16−:= f x( ) a x3⋅ b x⋅+:=

xa 6−:= xb 6:= g x( ) 3 a⋅ x2⋅ b+:=

6 5 4 3 2 1 0 1 2 3 4 5 6200

100

0

100

200

f z( )

g z( )

z z, Postupak rje�avanja

x0 6−:= xi 1+ xif xi( )g xi( )−:= i 0 5..:=

6 4 2 0 2 4 640

0

40

f z( )

f xi( )

z xi,

x

6−4.696−4.129−4.006−

4−4−4−

=

Detaljniji uvid u tijek iteriranja

6 5.5 5 4.5 4120

90

60

30

00

120−

f z( )

f xi( )dio y 0( )

dio y 1( )

dio y 2( )

4−xa z xi, dio x 0( ), dio x 1( ), dio x 2( ),

Ivica Ko�ar Građevinski fakultet Rijeka

Modeliranje računalom Rje�avanje jednad�bi

Primijetimo da dobiveno rje�enje ovisi o izboru početne točke od koje iteracija kreće. Općenito, kod numeričkih metoda koje ćemo od mogućih rje�enja dobiti, jako ovisi o izboru početne pretpostavke.

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 1 III predavanje

3 Numeričko rje�avanje diferencijalnih jednad�bi

3.1 Diferencijalne jednad�be Razvoj in�enjerskih znanosti se temelji na postavljanju i rje�avanju diferencijalnih jednad�bi. Razlikujemo tkz. obične diferencijalne i parcijalne diferencijalne jednad�be. Primjer obične dif.jed. je na pr. jednad�ba savijanja grede

d ydx

EI M2

2 * = − .

Parcijalne diferencijalne jednad�be proizilaze iz problema koje opisujemo s vi�e od jedne nepoznanice. Opći oblik parcijalne diferencijalne jednad�be drugog reda je

A x y ux

B x y ux y

C x y uy

D x y ux

uy

( , ) ( , ) ( , ) ( , , , )∂∂

∂∂ ∂

∂∂

∂∂

∂∂

2

2

2 2

2 0+ + + =

Klasifikacija jednad�bi se provodi prema vrijednostima parametara A, B i C. Za uvjet

B AC2 4 0− < jednad�ba je eliptična. Za uvjet B AC2 4= jednad�ba je parabolična, a

za B AC2 4 0− > jednad�ba je hiperbolična. Parabolične i hiperbolične parcijalne diferencijalne jednad�be su mnogo te�e za rje�avanje jer nemaju zatvoreni rub, pa niti definirane rubne vrijednosti, nego samo početne vrijednosti na pojedinim djelovima ruba. Mi ćemo se baviti samo eliptičnim jednad�bama. Vrlo česti primjer eliptične parcijalne diferencijalne jednad�be drugog reda u tehničkim znanostima je Poissonova diferencijalna jednad�ba

− ≡ − +

=∆u u

xu

yf x y∂

∂∂∂

22

2 2 ( , )

koja ima primjenu u mnogim granama tehnike. U toj jednad�bi u je funkcija dvaju nepoznanica, x i y. Primjer su problemi potencijala, torzije, topline i drugi (samo se funkcija f(x,y) mijenja). Homogeni oblik te jednad�be (f(x,y)=0) je tkz. Laplaceova diferencijalna jednad�ba.

3.2 Rubni uvjeti Razlikujemo dvije grupe rubnih uvjeta: Dirichletove rubne uvjete gdje su zadane vrijednosti funkcije na rubu domene Γ

u u= 0 na Γ Neumannove rubne uvjete gdje su na rubu domene Γ zadane vrijednosti (usmjerene) derivacije

∂∂ un

g= na Γ

U na�im ćemo primjerima razmatrati samo tkz. linearne diferencijalne jednad�be, tj. one kod kojih je veza među nepoznanicama linearna. Također, pretpostavlja se da su početni uvjeti i rubni zadani tako da je moguće naći jedinstveno rje�enje. Rje�avanje diferencijalni jednad�bi će se provoditi numerički, ali gdje god je poznato analitičko rje�enje, savjetuje se da se ono pomno razmotri jer daje puno bolji uvid u pona�anje diferencijalne jednad�be nego jedno numeričko rje�enje problema.

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 2 III predavanje

3.3 Metoda konačnih razlika Metoda konačnih razlika pretvara rje�avanja diferencijalne jednad�be u formiranje i rje�avanje sistema običnih linearnih jednad�bi. Pri tom postupku derivacije se samo aproksimiraju i time se uvodi gre�ka koja direktno ovisi o broju jednad�bi koje formiramo; povećavanjem broja jednad�bi ta se gre�ka smanjuje. Za veliki broj problema posti�e se dovoljno točno rje�enj s malim broj jednad�bi.

3.3.1 Funkcije jedne nepoznanice Pogledajmo način na koji aproksimiramo derivacije

dydx

yx

f x x f xxx

= = + −→

lim ( ) ( )∆

∆∆

∆∆0

.

Na sličan način mo�emo prikazati i vi�e derivacije

d ydx

yx

x

f x x f xx

f x f x xx

xx

2

2 0=

=

+ −

− − −

→lim

( ) ( ) ( ) ( )

∆ ∆∆

∆∆

∆∆

Grafički prikaz će nam olak�ati razumijevanje aproksimacije derivacija:

Ukoliko ∆x dovoljno smanjimo, numerička aproksimacija derivacije će biti vrlo točna (granica ispod koje ne smijemo nikako ići je točnost računala na kojem radimo). Pogledajmo na primjeru kako je jednostavno numeričko deriviranje (MathCAD): < - MathCAD primjer 'UMKE3.MCD' - > Kada smo shvatili princip numeričkog deriviranja, mo�emo napisati tkz. jednad�be konačnih razlika za prvu, drugu i sve potrebne derivacije. Nakon toga te se jednad�be uvrste u diferencijalnu jednad�bu i dobivamo sistem linearnih jednad�bi čija su rje�enja u zadanim točkama vrijednosti funkcije koja zadovoljava zadanu diferencijalnu jednad�bu. Na taj smo način dif.jed. rje�ili numerički!

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 3 III predavanje

Jednad�be konačnih razlika mogu biti definirane preko slijedeće (forward differences), sredi�nje (central differences) ili prethodne (backward differences) točke na domeni (vidi sliku). Treba napomenuti da formulacija preko sredi�nje točke daje najmanju gre�ku (to se mo�e lako matematički dokazati preko razvoja u Taylorov red), te ju stoga valja najče�će koristiti. Prva derivacija 1) preko slijedeće točke

dydx

y yhi

i i

≈ −+1

2) preko sredi�nje točke dydx

y yhi

i i

≈ −+ −1 12

3) preko prethodne točke dydx

y yhi

i i

≈ − −1

Za rje�avanje diferencijalne jednad�be drugog reda treba nam i druga derivacija 1) preko slijedeće točke

d ydx

y y yhi

i i i2

21 2

22

≈ − ++ +

2) preko sredi�nje točke

d ydx

y y yhi

i i i2

21 1

22

≈ − +− +

3) preko prethodne točke

d ydx

y y yhi

i i i2

22 1

22

≈ − +− −

Na sličan način mo�emo definirati treću derivaciju, četvrtu itd., prem potrebi, ovisno kakvu diferencijalnu jednad�bu rje�avamo. Na primjeru određivanja progiba proste grede prikazat ćemo postupak konačnih razlika (vidi MathCAD primjer 'UMKE32.MCD' u prilogu).

3.3.1.1 Primjer Neka je prosta greda linearno promjenjivog presjeka (za takav slučaj vrlo je te�ko naći točno rje�enje diferencijalne jednad�be) i opterećena jednolikim opterećenjem. Jednad�ba momenta bilo gdje na gredi je

M q L x q x= −* * *2 2

2

gdje je q intenzitet opterećenja, a L raspon grede. Napi�imo sada diferencijalnu jednad�bu koristeći centralnu formulaciju jednad�be konačnih razlika

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 4 III predavanje

( )q x L x EIh

y y yii

ii i i* * ( ) *

222 1 1− = − +− +

Jednad�bu postavljamo za svaki i (i=1,...,5) na na�oj gredi i dobivamo sistem jednad�bi u kojem su yi nepoznanice (malo smo ispremije�ali koeficijente):

( )

( )

( )

. . . . . . .... .

. .

. ...

. . . . . . .

...

...

*

...

...

0 1 2 1 00 1 2 1 0

0 1 2 1 02

1

1

2

0

1 10

1

0

1 10

1

−−

=

+

− −−

+ ++

yy

yq h

EI

x L x II

x L x II

x L x II

i

i

i

i ii

i ii

i ii

odnosno, matrično AY = X .

U na�em primjeru odmah znamo rje�enja za točke 1 i 5 jer je tu zbog rubnih uvjeta progib jednak nuli (y=0), pa nam ostaje sistem sa samo 3 jednad�be čije je rje�enje:

y qLEI

=−−−

0 00585940 00781250 0058594

4

0

.

.

.*

Za jedinične ulazne podatke (q=1.0, L=1.0 i EI0=1.0) to je i numeričko rje�enje. U na�em primjeru greda je podijeljena na mali broj točaka i točnost rje�enja nije velika, ali se ni�ta principjelno ne mijenja s većim brojem točaka, osim �to raste točnost rje�enja (ali i vrijeme potrebno računalu da rije�i sistem jednad�bi). Također, u na�em primjeru je uticaj rubnih uvjeta sakriven u jednad�bama (sjetimo se, uveli smo da je y1=0 i y5=0). Općenito se uticaj rubnih uvjeta uzima u obzir modifikacijama matrice A prema nekim pravilima koja se mogu formirati za razne rubne uvjete (vidi Ko�ar, I. Kompleksno opterećeni �tapovi, FRaK 18/19, 1987, str. 32-36).

3.3.2 Funkcije više nepoznanica Problemi koji sadr�e vi�e od jedne nepoznanice opisuju se parcijalnim diferencijalnim jednad�bama od kojih ćemo mi razmotriti samo Poissonovu; ostale se parcijalne diferencijalne jednad�be metodom konačnih razlika rje�avaju na sličan način. Kao primjer će nam poslu�iti problem savijanja tanke ploče po Kirchhoffovoj teoriji. Problem je opisan biharmonijskom parc.dif.jed.

∂∂

∂∂ ∂

∂∂

4

4

4

2 2

4

42wx

wx y

wy

qD

+ + = −

koju mo�emo svesti na dvije Poissonove. Prvo uspostavimo vezu između momenata savijanja i vanjskog opterećenja

∂∂

∂∂

2

2

2

2Mx

My

q+ = − .

Nakon rje�avanja te jednad�be poznati su nam momenti M, pa mo�emo uspostaviti vezu između progiba ploče w i momenata savijanja

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 5 III predavanje

∂∂

∂∂

2

2

2

2w

xw

yMD

+ = − .

U jednad�bama su

MM Mx y=

++1 ν

; D Ed=−

3

212 1( )ν

a d je debljina ploče. Za funkcije dvije varijable u=f(x,y) aproksimacije derivacija su

∂∂ ux

ux

u x x y u x yxx

= = + −→

lim ( , ) ( , )∆

∆∆

∆∆0

,

zatim

∂∂ 2

2 0

ux

ux

xx=

=→

lim∆

∆ ∆∆

[ ] [ ]=+ − − − −

=u x x y u x y u x y u x x y

x( , ) ( , ) ( , ) ( , )∆ ∆

∆ 2

= + + −u x x y u x x yx

( , ) ( , )∆ ∆∆ 2 .

Isto vrijedi

∂∂

2

2 0

uy

uy

yy=

=→

lim∆

∆ ∆∆

∆u x y y u x y y

y( , ) ( , )+ + −∆ ∆

∆ 2 .

i za mje�ovitu derivaciju

∂∂ ∂

2

0 0

ux y

ux

y

uy

xy x=

=

=→ →

lim lim∆ ∆

∆ ∆∆

∆ ∆∆

= + + − + − + −( ( , ) ( , )) ( ( , ) ( , ))u x x y y u x y y u x x y u x yx y

∆ ∆ ∆ ∆∆ ∆

Na sličan način se definiraju i druge vi�e derivacije. Time smo spremni za definiranje jednad�bi konačnih razlika. Jednad�be ćemo definirati za točku (i,j) na mre�i s podjelom gustoće h u smijeru x i gustoće k u smijeru y.

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 6 III predavanje

Prema slici jedna od jednad�bi konačnih razlika je sada:

∂∂ ∂

∂∂

∂∂

∂∂

∂∂

2

1 1

2u

x y xuy

uy

uy

hi j

i j i j

=

=

=+ −

,

, ,

( ) ( )=

− − −=+ + + − − + − −u u u u

khi j i j i j i j1 1 1 1 1 1 1 1

4, , , ,

=− − ++ + + − − + − −u u u u

khi j i j i j i j1 1 1 1 1 1 1 1

4, , , ,

3.3.2.1 Primjer Prije formuliranja jednad�bi konačnih razlika promotrimo skicu problema savijanja ploče i mre�u podjele na po 8 dijelova u x i y smijeru:

k h L= =8

Zbog centralne simetrije problema mo�emo analizirati samo 1/8 ploče uz definiranje odgovarajućih rubnih uvjeta, pa se jednad�be postavljaju samo u 10 točaka označenih na

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 7 III predavanje

crte�u. Za sredi�nje točke jednad�be konačnih razlika prve dif.jed. (veza momenata i opterećenja) su (prema slici)

M M Mh

M M Mk

qi j i j i j i j i j i j+ − + −− ++

− += −1 1

21 1

2

2 2, , , , , ,

i nakon �to ih sredimo u prikladniji izraz

M M M M M qLi j i j i j i j i j+ − + −− + + + = −1 1 1 1

24

64, , , , ,

mo�emo formirati matričnu jednad�bu AM = q .

U jednad�bama moramo uzeti u obzir rubne uvjete: - na rubu su momenti i progibi nula, M = w = 0 - na točkama oko dijagonale (točke 1,5,8) vrijednosti su simetrične pa to treba uvrstiti - na pr., jednad�ba u točki 1 glasi prema �emi za Poissonovu dif.jed.

M M M M M q h1 1 1 2 6 124' '' '− + + + = − ⋅ ,

ali zbog toga �to su točke 1' i 1'' na rubu (na osloncu), moment okomito na oslonac je (kod oslonjene ploče) nula, odnosno M1' = M1'' = 0, isto tako, zbog simetrije vrijednost M6� u smijeru y jednaka je vrijednosti M2 u smijeru x, odnosno, M2� = M6 pa kad to uzmemo u obzir jednad�ba u točki 1 glasi

− + = −4 2641 21

2M M q L

,

- dalje na pr., jednad�ba u točki 5 bi trebala biti M M M M M q h2 5 2 6 6 5

24' '− + + + = − ⋅ , ali zbog simetrije (oko dijagonale) vrijedi - vrijednost M2� u smijeru x jednaka je vrijednosti M6 u smijeru y, - vrijednost M6� u smijeru y jednaka je vrijednosti M2 u smijeru x, dakle M2� = M6 i M6� = M2 pa konačno pi�emo za jednad�bu u točki 5

2 4 2642 5 6

2M M M qL− + = − .

- na pr., jednad�ba u točki 6 jedina je potpuno prema �emi (nema rubnih uvjeta) i glasi

M M M M M q h3 6 5 7 8 624− + + + = − ⋅

Na sličan način formiramo jednad�be za svih 10 točaka (potpun izgled matrice jednad�bi M vidi u primjeru UMKE33.MCD za MathCADa). Rje�enja jednad�be (vektor q) smo prikazali grafički; napomenimo da to nije dijagram

momenata jer za M vrijedi MM Mx y=

++1 ν

iz čega se tek trebaju izračunati Mx i My

(kao u točki 10). Računanje nastavljamo rje�avanjem druge Poissonove diferencijalne jednad�be

∂∂

∂∂

2

2

2

2w

xw

yMD

+ = −

Ivica Ko�ar Građevinski fakultet Sveučili�ta u Rijeci

_________________________________________________________________________________ listopad 1996 8 III predavanje

uvr�tavanjem vrijednosti za M (koje su sada poznate) u desnu stranu jednad�be. Za slobodno oslonjenu ploču su rubni uvjeti za progib w isti kao i za M pa je matrica M u ovom slučaju ista kao i prije, odnosno, mijenja se samo desna strana (vektor q). Na pr., za točku 5 jednad�ba je

2 4 2642 5 6

52

w w w M LD

− + = −

itd. za sve ostale točke. < - primjer UMKE33.MCD za MathCAD - > Rje�enje ovog sistema jednad�bi su progibi ploče:

Sada mo�emo izračunati i stvarne momente savijanja u smijeru os i x i osi y (Mx i My). Progibi su proporcionalni vrijednostima momenata M, kao �to se dobro vidi iz grafičkog prikaza (nakon dodavanja uvjeta simetrije!) :