You are on page 1of 28

Modeliranje raunalom Ivica Koar

1
Uvod u modeliranje raunalom


U predmetu se ue osnovne matematike metode koje se primjenjuju u modeliranjima u
graevinarstvu. U tekstu se spominju problemi interpolacije i ekstrapolacije podataka
raznim polinomima, rjeavanje linearnih i nelinearnih jednadbi i uvod u rjeavanje
diferencijalnih jednadbi primjenom metode konanih razlika.

Svi su primjeri nainjeni u programskom okruenju MathCad.

Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 1 I predavanje
1 Uvod u numeriku analizu i MKE
1.1 Matematiko modeliranje
Matematiko modeliranje je aproksimiranje stvarnih pojava nekim matematikim opisom,
koji vie ili manje odgovara stvarnoj pojavi. Neki problemi se mogu vrlo tono modelirati;
na pr. raunanje volumena nekakve graevine, problemi malih brzina krutih tijela. No, neki
su problemi sloeniji; na pr. problemi tijela pri velikim brzinama (otpor zraka je vrlo
sloeno uzeti u obzir), meudjelovanje tijela i tekuine i mnogi drugi.
Prilikom matematikog modeliranja sluimo se raznim terminima od kojih su neki
definirani u nastavku.
1.2 Aproksimacije
Pojam aproksimacije ima dvojako znaenje. Moemo ga razmatrati na razini matematikog
modela ili na razini tonosti rjeavanja modela. Mi emo se zadrati na problemu
matematikog modela. Naime, mnoge pojave u prirodi su vrlo sloene i teko ih je
matematiki opisati. Razjasnimo to na primjeru savijanja grede. Matematiki model koji ga
opisuje je diferencijalna jednadba drugog reda dobivena dovoenjem u vezi zakrivljenosti
grede i reznih sila:
d y
dx
EI M
2
2
* =
Ako se prisjetimo izvoda, sjetit emo se da smo pri tome pojednostavnili izraz za
zakrivljenost. Tako dobivena jednadba dobro opisuje problem savijanja grede iako ne
odgovara onome to se dogaa u stvarnosti. Procjenu valjanosti naeg matematikog
modela dobivamo usporeivanjem sa stvarnou, s eksperimentima! Tako moemo
zakljuiti da naa jednadba vrlo dobro opisuje savijanje grede kad su progibi mali i kad je
ponaanje materijala linearno elastino. Nelinearno ponaanje materijala moemo ukljuiti
u gornju jednadbu (tkz. materijalna nelinearnost), ali ako elimo uzeti u obzir velike
pomake na gredi (tkz. geometrijska nelinearnost), moramo promijeniti diferencijalnu
jednadbu.
Ogranienja u podruju primjene pojedinih matematikih modela moramo biti vrlo svjesni!
Napomena:
U praksi se ova jednadba esto pie u obliku diferencijalne jednadbe etvrtog reda jer je
tada uspostavljena veza izmeu deformacione linije grede i vanjskog optereenja.
1.3 Numerika analiza
Analitike funkcije u naim modelima su esto vrlo sloene i rjeive samo za neke idealne
sluajeve. Iz potrebe rjeavanja sve sloenijih zadataka nastala je numerika analiza, a u
uskoj svezi s razvojem raunalne tehnike.
Na prethodni primjer je ponovo dobra ilustracija; linearna diferencijalna jednadba se lako
rjeava za jednostavne sluajeve optereenja i rubnih uvjeta. Naravno, inenjerska praksa
je razvila mnotvo metoda koje nam omoguuju rjeavanje problema bez rjeavanja
diferencijalne jednadbe, no, za neke sluajeve je takvo rjeenje vrlo grubo. Takav je sluaj
kod problema izvijanja gdje uzduna (tlana) sila u tapu moe imati znatan utjecaj na
rjeenje. Razvijeni su numeriki postupci koji rjeavaju diferencijalnu jednadbu za
proizvoljne rubne uvjete i optereenje, no oni daju rjeenje samo za konkretnu situaciju. Za
svaku, i najmanju promjenu, postupak rjeavanja se mora ponoviti. Kod analitikih rjeenja
to su uvijek rjeenja odreene grupe problema i na sve probleme koji potpadaju u tu grupu
moe se dotino rjeenje primjeniti.
Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 2 I predavanje
Metoda konanih elemenata je iz grupe numerika analiza.
1.4 Uvod u programiranje
Programiranje se obrauje u posebnom predmetu. Ukratko, moemo rei da se radi o
uputama raunalu iji slijed (algoritam) definira problem koji opisujemo naim
matematikim modelom. U postupcima numerike analize moramo izvoditi veliku koliinu
matematikih operacija i prisiljeni smo sluiti se raunalom. Najee nam trebaju
matrine operacije koje moemo izvoditi u raznim programskim okruenjima:
MathCAD, MATLAB, Mathematica - vii programski jezici unutar posebno
prilagoenih korisnikih okruenja za rjeavanje openitih matematikih problema;
BASIC, FORTRAN i drugi programski jezici univerzalne namjene za rjeavanje
problema i programiranje korisnikih okruenja (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). Openito, u tom prostoru su definirani
tenzori.
1.6 Linearizacija
Proces ralanjivanja nelinearnih jednadbi tako da se (priblino) rjeenje nalazi u
linearnom vektorskom prostoru (spomeni postupak usmjerene derivacije). Na pr.
pojednostavljivanje izraza za zakrivljenost kod savijanja grede je primjer linearizacije. Bez
tog pojednostavljenja nae bi diferencijalne jednadbe bile nelinearne i postupci rjeavanja
bi bili daleko sloeniji, ali bi podruje u kojem vrijedi na matematiki model bilo mnogo
ire! Openito su postupci linearizacije sloeni i nee biti razmatrani u ovoj seriji
predavanja.
1.7 Matrina algebra
Za potrebe rjeavanja problema u linearnim prostorima definirane su operacije nad
matricama. U naem radu koristit emo samo osnovne matrine operacije:
transponiranje
mnoenje matrica
invertiranje
determinanta matrice
Te se operacije u pravilu izvode na raunalu i ovdje ih definiramo za razne sredine na
raunalu:

1.7.1 primjer za MathCAD:

A:=

4 3 2 1
3 3 2 1
2 2 2 1
1 1 1 1
B:=

20
19
16
10


Transponirana matrica se dobije kombinacijom tipki Alt !:
Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 3 I predavanje
A
T
:=

4 3 2 1
3 3 2 1
2 2 2 1
1 1 1 1


Invertirana matrica se dobije ako za eksponent napiemo -1:
A

1
1 1 0 0
1 2 1 0
0 1 2 1
0 0 1 2
:

a determinanta ako napiemo znak | (naalost, to je znak za malo slovo na novim
hrvatskim tipkovnicama, tako da se korisnik ponekad moe zbuniti):
A = 1

Rjeenje sistema jednadbi se dobiva mnoenjem vektora desne strane inverznom
matricom (naravno, pravilnom organizacijom nepoznanica tako je mogue dobiti vie
stupaca rjeenja istovremeno):
X A B : * =
1
X =

1
2
3
4


U MathCAD-u moemo razlikovati izmeu skalarnog i vektorskog produkta dvaju vektora
(u prvom sluaju rezultat je skalar, a u drugom vektor):
1
2
3
3
2
1
10

= *
1
2
3
3
2
1
4
8
4


Znak za skalarni produkt je obino mnoenje, 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 Koar Graevinski fakultet Sveuilita 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 moe direktno dobiti u MATLABu)
Ivica Koar Graevinski fakultet Sveuilita 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 viem jeziku kao to je MathCAD matrine operacije izvodimo vrlo
elegantno. U nekom programskom jeziku potrebno je vie truda; tu se matrine operacije
najee definiraju kao subroutine (za programski jezik BASIC vidi lanak: Koar, Ivica:
Matrice, asopis FRaK br.4, oujak 1983., str. 37-38).

Notacija
U naim tekstovima matrice emo oznaavati masnim slovima kao A (najee kod pisanja
na raunalu) ili vitiastom podvlakom A (pri pisanju rukom).
Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 1 II predavanje
2 Interpolacioni polinomi
2.1 Polinomi
Polinomi su matematiki izrazi oblika
P x a x a x a x
n n n
n
( ) ... = + + +

0 1
1 0

gdje n oznaava stupanj polinoma. Glavna im je karakteristika jednostavno deriviranje i
integriranje pa se rado koriste u tehnikoj praksi. (Napomena: polinom n-tog stupnja je n-
puta derivabilan). esto se sloenije funkcije pokuava priblino predstaviti jednim ili vie
polinoma. Naroito esta primjena je kod interpolacija, odnosno, kad pokuavamo provui
kontinuiranu funkciju kroz grupu zadanih podataka. Ti zadani podaci se esto prikazuju
kao diskretne toke na grafikom prikazu, a polinom kao krivulja koja prolazi blie ili dalje
od tih zadanim vrijednosti. Glavna vrijednost interpolacije je u tome to moemo
pretpostaviti vrijednosti funkcije i tamo gdje nemamo zadanih podataka. Na pr.: imamo
podatke o broju stanovnika za proteklih 10 godina; interpolacionu krivulju moemo
upotrijebiti za procjenu broja stanovnika u slijedeoj godini (vidi primjer kod metode
najmanjih kvadrata).
2.2 Metoda najmanjih kvadrata
Metoda najmanjih kvadrata definira postupak odreivanja funkcije ije vrijednosti
najmanje odstupaju od zadanih vrijednosti (u odreenim tokama) u smislu da je suma
kvadrata svih odstupanja najmanja mogua (kvadrati se koriste radi eliminacije uticaja
negativnih vrijednosti).
Neka su zadane vrijednosti neke nepoznate funkcije p(x) u tokama (c
i
, i=1,...,n), a koju
elimo aproksimirati nekom funkcijom f(x) na intervalu od a do b. Greka koju pri tome
inimo u nekoj toki intervala je
e = p(x) - f(x,c
1
,c
2
,...,c
n
)
a ukupna greka preko svih toaka intervala je
( )

1 1 1
( , ..., ) ( ) ( , , ..., ) c c p x f x c c dx
n n
a
b
=


Minimizacija ove funkcije ne bi dala oekivano rjeenje zbog ve spomenutih negativnih
vrijednosti, pa se uvodi pojam funkcije kvadrata razlike
( )

2 1 1
2
( , ..., ) ( ) ( , , ..., ) c c p x f x c c dx
n n
a
b
=


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

2 1 1
2
1
( , ..., ) ( ) ( , , ..., ) c c p x f x c c
n n
k
m
=
=


Minimizacija ove funkcije kao rezultat daje oekivanu funkciju koja "najbolje" aproksimira
nepoznatu funkciju ije vrijednosti znamo samo u diskretnim tokama. Parametre nae
interpolacione funkcije dobivamo rjeavanjem sistema jednadbi koje proizilaze iz uvjeta
minimizacije

2
0
c
i
= i n =1, ...,
Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 2 II predavanje
Najee kao interpolacionu krivulju izabiremo polinom pri emu polinom tono prolazi
kroz zadane toke ako je stupnja m, gdje je m broj poznatih toaka. Polinom stupnja veeg
od m nije mogue provui jer tada imamo vie nepoznanica nego jednadbi iz uvjeta
minimuma kvadrata razlike.
2.2.1 Primjer
U ovom primjeru koristit emo program MATLAB za izraun.
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 grafiki prikaz
figure(fig);
plot(t,p,'go');
axis([1900 2010 0 400]);
title('Broj stanovnika SAD od 1900-1990');
ylabel('Milioni');

Grafiki prikaz izgleda ovako:
1900 1920 1940 1960 1980 2000
0
50
100
150
200
250
300
350
400
M
i
l
i
o
n
i
Broj stanovnika SAD od 1900-1990

Pokuajmo aproksimaciju zadanih podataka polinomom treeg stupnja i uzmimo njegovu
vrijednost u 2000.godini kao predvieni broj stanovnika. U MATLAB-u se naredbe za to
izdaju ovako:

%Koeficijenti polinoma se dobivaju rjeavanjem sistema
% jednadbi 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 Koar Graevinski fakultet Sveuilita 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 rjeavanjem sistema jednadbi 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 raunamo 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 Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 4 II predavanje
1900 1920 1940 1960 1980 2000
0
50
100
150
200
250
300
350
400
M
i
l
i
o
n
i
Aproksimacija polinomom, stupanj = 3
280.6

Pokuajmo jo i aproksimacije polinomima 4. i 5. stupnja (trebamo rjeiti 4, odnosno 5
jednadbi). Vidimo veliku razliku u broju predvienih stanovnika iako su vrijednosti svih
polinoma vrlo sline unutar zadanog intervala!

Primjetimo da polinom ne prolazi tono kroz zadane toke, nego im se manje ili vie
pribliava. To su tkz. "tvrde interpolacione funkcije" koje nam daju "glatke" krivulje. U
metodi konanih elemenata se takvi polinomi sve rjee primjenjuju.
Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 5 II predavanje
2.3 Lagrangeovi polinomi

Lagrangeovi polinomi imaju to svojstvo da prolaze kroz sve zadane toke, odnosno, oni su
"mekani". To ih ini nepogodnim za ekstrapolacije (predvianja vrijednosti izvan zadanog
intervala), ali su vrlo korisni kad moramo imati tono zadovoljenu vrijednost funkcije u
nekoj toki (to je sluaj kod interpolacija unutar konanih elemenata). Jednadba opeg
Lagrangeovog polinoma glasi
N x
x x x x x x x x x x
x x x x x x x x x x
i
i i m
i i i i i i i m
( )
( ) * ( )...( ) * ( )...( )
( ) * ( )...( ) * ( )...( )
=


+
+
1 2 1 1
1 2 1 1

Odnosno, krae pisano
N x
x x
x x
i
j
i j
j
j i
m
( )
( )
( )
=

1


Ako vrijednosti nae nepoznate funkcije (u diskretnim tokama) predstavimo vektorom
p =

(
(
(
(
p
p
p
m
1
2
...

onda izraz za vrijednost funkcije koju interpoliramo moemo napisati u matrinoj
formulaciji koja je uobiajena u metodi konanih elemenata
[ ]
f x N N N
p
p
p
m
m
( ) ...
...
=

(
(
(
(
1 2
1
2
,odnosno f x ( ) = N p
T

2.3.1 Primjer upotrebe Lagrangeovih polinoma
Interpolirajmo neku zadanu funkciju
Lagrangeovim polinomima ako znamo vrijednost funkcije u 3 toke


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

Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 6 II predavanje
Interpolacijska funkcija glasi pa moemo
usporediti zadanu i interpolacijsku funkciju unutar zadanog intervala

Izvan zadanog intervala aproksimacija nije tako dobra

Za poboljsanje aproksimacije izvan zadanog intervala treba dodati jos toaka, na pr.
i treba ponovo definirati sve
Lagrangeove polinome:

Sada je interpolacija dobra u irem rasponu vrijednosti

Ivica Koar Graevinski fakultet Sveuilita u Rijeci
__________________________________________________________________________________
listopad 1996 7 II predavanje
2.4 Serendipity polinomi
Serendipty polinomi su vrlo slini Lagrangeovim, ali s tom razlikom da nemaju unutranjih
toaka. To je kod konanih elemenata vrlo praktino, jer nam omoguuje manji broj toaka
unutar elementa to daje manje matrice krutosti s uim "bandom", pa se takvi sistemi, uz
istu tonost, bre rjeavaju na raunalu.
2.5 Hermitovi polinomi
Hermitovi polinomi, kao i Lagrangeovi, zadovoljavaju vrijednosti funkcije u tokama, ali
istovremeno zadovoljavaju i vrijednost derivacije u tokama. Stupanj derivacije koji
elimo zadovoljiti se naziva C-kontinuitet elementa. Tako Hermitovi polinomi koji
zadovoljavaju vrijednost 1. derivacije u tokama se nazivaju C
1
polinomi. Lagrangeovi i
Serendipity polinomi koji ne zadovoljavaju vrijednosti derivacije u tokama se nazivaju C
0

polinomi.
Opi izraz za Hermitov polinom je:
( )
( )
P z B
i
B
i
z a
i
B
i ki
z a
i
ki
ki
Q
i
z
i
m
( )
!
...
,
!
( ) = +

+ +

(
(
(
(
1 2
1
1
1
1

gdje su
B
i j
P
i
z
Q
i
z
j
z a
i
,
( )
( )
=
|
\

|
.
|
|

=
1
,
( )
Q
i
z z a
i
ki
i i i
m
( )
,
=
=

1

Za primjer vidi prilog iz MathCAD-a.
2.6 Kubini splin-ovi
Splin-ovi su funkcije sastavljene iz dijelova koji na svojim krajevima zadovoljavaju prvu i
drugu derivaciju. Na taj nain se dobiva glatka krivulja koja se sastoji od dijelova koji su
relativno jednostavni. Na pr. kubini splinovi spajaju po tri toke i dobivena funkcija je
glatka i samo do 3 stupnja za proizvoljni broj toaka koje spaja. Hermitov polinom istih
karakteristika bi imao vrlo visok stupanj (ovisno o broju toaka koje spaja).
Primjena splinova je esta u podrujima gdje treba provui glatke krivulje kroz veliki broj
toaka, kao u geodeziji, cestogradnji, brodogradnji i drugdje. U konanim elementima se
manje koriste.
Ivica Koar Graevinski fakultet Rijeka
Modeliranje raunalom Rjeavanje jednadbi
Rjeavanje jednadbi

Jedan od najeih zadataka u numerikom modeliranje je rjeavanje raznih jednadbi
(jedne ili vie njih, linearnih ili nelinearnih). Pod jednadbom podrazumijevamo funkciju
jedne varijable (dakle f(x)=0), a rijeiti jednadbu, u kontekstu ovih predavanja, znai
nai barem jednu vrijednost x za koju vrijednost funkcije postaje 0 (x => f(x)=0).
Bavit emo se samo onim funkcijama koje se mogu grafiki predoiti u ravnini.


Linearne jednadbe

Linearna jednadba se moe prikazati grafiki dobro znanim pravcem:
10 5 0 5 10
10
0
10
20
13
7
f x ( )
10 10 x


Rjeavanje jedne linearne jednadbe se svodi na trivijalno izluivanje eljene
nepoznanice iz jednadbe pravca.


Nelinearne jednadbe

Nelinearne jednadbe moemo pokuati definirati njihovim grafikim prikazom: on nije
pravac; na pr.:
3 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 3
20
10
0
10
20
16.032
10.968
f z ( )
3 3 z


Ovakva definicija nije uobiajena, ali je prihvatljiva ininjerima. Uobiajenija podjela bi
bila na eksponencijalne, logaritamske, trigonometrijske, polinomijalne i druge jednadbe
Ivica Koar Graevinski fakultet Rijeka
Modeliranje raunalom Rjeavanje jednadbi
(ili njihove kombinacije). Svaka se od navedenih grupa u matematici zasebno prouava,
ali mi emo ih tretirati sve zajedno i pokazati emo neke numerike metode koje se mogu
primijeniti na sve njih.


Iterativne metode

Iterativne metode se temelje na ideji postepenog pribliavanja tonom rjeenju tijekom
nekog iterativnog procesa. Oito je da postupak moramo zapoeti nekom poetnom
pretpostavkom za rjeenje nae jednadbe, na pr. pretpostavimo da je x
0
rjeenje. Nakon
toga raunamo x
1
, pa x
2
itd. dok ne mislimo da je dobiveni broj dovoljno tono rjeenje
zadane jednadbe. Tonost moemo kontrolirati uvrtavanjem dobivenog broja x
n
u
jednadbu koja tada mora zadobiti vrijednost dovoljno blizu nuli (f(x
n
)=0). ee
kontrolu vrimo tako da promatramo razliku izmeu nove x
n
i stare pretpostavke x
n-1
pa
kada je ta razlika dovoljno mala, smatramo da smo dostigli eljeno rjeenje jednadbe
(to ne mora uvijek biti sluaj, jedino prva metoda garantira da smo nali rjeenje).
Pogledajmo na primjeru funkcije f(x)=ax
3
-bx to se moe dogoditi kod iterativnog
postupka rjeavanja (za a=1 i b=3 imamo tri rjeenja x=0, 3 ).
pocetna pretpostavka
x
0
1.7 :=
iterativni postupak
x
i 1 +
a x
i
( )
3

b
:=
prikaz sukcesivnih
vrijednosti tijekom
iterativnog procesa
x
1.7
1.638
1.464
1.046
0.382
0.019
2.114 10
6

0
0

=


Drugaiji izbor iterativne sheme daje drugaiji rezultat
pocetna pretpostavka
x
0
1.7 :=
iterativni postupak
x
i 1 +
b x
i

a x
i
( )
2

:=
prikaz sukcesivnih
vrijednosti tijekom
iterativnog procesa
x
1.7
1.765
1.7
1.765
1.7
1.765
1.7
1.765
1.7

=

Ivica Koar Graevinski fakultet Rijeka
Modeliranje raunalom Rjeavanje jednadbi
Vidimo da ovaj put ne dobivamo tono rjeenje iako je poetna pretpostavka x
0
=1.7 jako
blizu tonom rjeenju (x=1.732). Moe se rei da je drugi postupak na prvi pogled slabiji
od prvog, ali kod sloenijih jednadbi to nije tako lako uoljivo, te je to je razlog zato se
ovakav postupak ne moe preporuiti kao univerzalni numeriki algoritam za dobivanje
rjeenja nelinearne jednadbe.
Daljnje metode (metoda sekante i Newton-ova metoda) su takoer iterativne metode,
samo su matematiki sistematski razraene tako da garantiraju nalaenje jednog tonog
rjeenja ako su zadovoljene odreene pretpostavke (garantiraju tkz. konvergenciju).


Metoda sekante

Metoda sekante se temelji na ideji da se naini sekanta koja ima krajeve na dijelovima
funkcije s razliitim predznakom te tako nuno sijee pravac f(x)=0 (os x) a nekim
numerikim postupkom se onda pribliavamo toki x za koju je f(x)=0. Potupati moemo
tako da desnu stranu sekante drimo nepominom i pribliavamo lijevu toku (iteracija s
lijeve strane) ili obratno (iteracija s desne strane) ili pak da naizmjence pribliavamo
lijevu pa desnu toku sekante (najbra konvergencija). Numeriki postupak pribliavanja
temelji se na jednadbi pravca kroz dvije toke (krajevi sekante) u koji onda uvrstimo
uvjet f(x)=0 i izluimo traeni x (to je onda nova vrijednost pretpostavljenog rjeenja
x
i+1
).
Pogledajmo primjer s funkcijom f(x)=ax
2
+b (za a=1 i b=-6 rjeenja su x=-4,+4)
6 5 4 3 2 1 0 1 2 3 4 5 6
20
10
0
10
20
20
16
f x ( )
6 6 x


Rijeimo jednadbu metodom sekante

S LIJEVE STRANE
x
0
0 := i 0 9 .. :=
x
i 1 +
x
i
f x
i
( ) x
i
xa ( )
f x
i
( ) f xa ( )
:=
z 6 5.9 , 6 .. :=
6 4 2 0 2 4 6
20
0
20
f z ( )
f x
i
( )
z x
i
,
x
0
0
1
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 Koar Graevinski fakultet Rijeka
Modeliranje raunalom Rjeavanje jednadbi
Pogledajmo detaljnije postupak iteriranja
6 5 4 3 2 1 0
20
10
0
10
20
20
16
f z ( )
f x
i
( )
dioA
y
0 ( )
x
0
xa z x
i
, dioA
x
0 ( ) ,


Rijeimo isti primjer iteracijom s desne strane

S DESNE STRANE
i 0 9 .. :=
x
0
1 := x
i 1 +
x
i
f x
i
( ) xb x
i
( )
f xb ( ) f x
i
( )
:=
x
0
0
1
2
3
4
5
6
7
8
9
10
-1
2
3.5
3.8947
3.9787
3.9957
3.9991
3.9998
4
4
4
=
6 4 2 0 2 4 6
20
0
20
f z ( )
f x
i
( )
z x
i
,

Vidimo da iako smo krenuli od x
0
=-1, dobili smo desno rjeenje x=4 jer je to rjeenje
obuhvaala sekanta koju smo formirali.
Postupak slian navedenoj metodi sekante provodi i Mathcad ugraena funkcija
root(f(x),x,a,b) gdje se a i b takoer moraju zadati tako da f(a) i f(b) imaju razliite
predznake.


Ivica Koar Graevinski fakultet Rijeka
Modeliranje raunalom Rjeavanje jednadbi
Newton-ova metoda

Newton-ova iterativna metoda rjeavanja nelinearnih jednadbi moda je jedna od
najpopularnijih zbog svoje jednostavnosti i brze konvergencije (tkz. kvadratina
konvergencija za razliku od linearne konvergencije sekantne metode).
Postupak se temelji na ideji da se u toki poetne pretpostavke rjeenja x
0
postavi
tangenta ije presjecite s nulom (f(x)=0) daje novu pretpostavku rjeenja. Metoda
zahtjeva izraun derivacije funkcije ije rjeenje traimo; to se moe nainit analitiki ili,
kao to emo kasnije vidjeti, numeriki.
Pogledajmo na primjeru iste funkcije kako postupak radi
6 5 4 3 2 1 0 1 2 3 4 5 6
20
10
0
10
20
20
16
f x ( )
g x ( )
6 6 x x ,

g(x) oznaava analitiku derivaciju funkcije f(x). Za x
0
=-6 dobivamo
x
0
6 := i 0 5 .. := x
i 1 +
x
i
f x
i
( )
g x
i
( )
:=
6 4 2 0 2 4 6
20
10
40
f z ( )
f x
i
( )
z x
i
,
x
6
4.3333
4.0128
4
4
4
4

=

6 5.67 5.33 5 4.67 4.33 4
0
4
8
12
16
20
20
0
f z ( )
f x
i
( )
dio
y
0 ( )
4 xa z x
i
, dio
x
0 ( ) ,

Ivica Koar Graevinski fakultet Rijeka
Modeliranje raunalom Rjeavanje jednadbi
Uoimo brzinu kojom je iterativni postupak doao do rjeenja na 5 decimalnih mjesta!
Pogledajmo jo primjer kubne funkcije
a 1 := b 16 := f x ( ) a x
3
b x + :=
xa 6 := xb 6 := g x ( ) 3 a x
2
b + :=
6 5 4 3 2 1 0 1 2 3 4 5 6
200
100
0
100
200
f z ( )
g z ( )
z z ,

Postupak rjeavanja
x
0
6 := x
i 1 +
x
i
f x
i
( )
g x
i
( )
:= i 0 5 .. :=
6 4 2 0 2 4 6
40
0
40
f z ( )
f x
i
( )
z x
i
,
x
6
4.696
4.129
4.006
4
4
4

=

Detaljniji uvid u tijek iteriranja
6 5.5 5 4.5 4
120
90
60
30
0
0
120
f z ( )
f x
i
( )
dio
y
0 ( )
dio
y
1 ( )
dio
y
2 ( )
4 xa z x
i
, dio
x
0 ( ) , dio
x
1 ( ) , dio
x
2 ( ) ,

Ivica Koar Graevinski fakultet Rijeka
Modeliranje raunalom Rjeavanje jednadbi
Primijetimo da dobiveno rjeenje ovisi o izboru poetne toke od koje iteracija kree.
Openito, kod numerikih metoda koje emo od moguih rjeenja dobiti, jako ovisi o
izboru poetne pretpostavke.

Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 1 III predavanje

3 Numeriko rjeavanje diferencijalnih jednadbi
3.1 Diferencijalne jednadbe
Razvoj inenjerskih znanosti se temelji na postavljanju i rjeavanju diferencijalnih
jednadbi. Razlikujemo tkz. obine diferencijalne i parcijalne diferencijalne jednadbe.
Primjer obine dif.jed. je na pr. jednadba savijanja grede
d y
dx
EI M
2
2
* = .
Parcijalne diferencijalne jednadbe proizilaze iz problema koje opisujemo s vie od jedne
nepoznanice. Opi oblik parcijalne diferencijalne jednadbe drugog reda je
A x y
u
x
B x y
u
x y
C x y
u
y
D x y
u
x
u
y
( , ) ( , ) ( , ) ( , , , )










2
2
2 2
2
0 + + + =
Klasifikacija jednadbi se provodi prema vrijednostima parametara A, B i C. Za uvjet
B AC
2
4 0 < jednadba je eliptina. Za uvjet B AC
2
4 = jednadba je parabolina, a
za B AC
2
4 0 > jednadba je hiperbolina. Paraboline i hiperboline parcijalne
diferencijalne jednadbe su mnogo tee za rjeavanje jer nemaju zatvoreni rub, pa niti
definirane rubne vrijednosti, nego samo poetne vrijednosti na pojedinim djelovima ruba.
Mi emo se baviti samo eliptinim jednadbama.
Vrlo esti primjer eliptine parcijalne diferencijalne jednadbe drugog reda u tehnikim
znanostima je Poissonova diferencijalna jednadba
+
|
\

|
.
| = u
u
x
u
y
f x y





2 2
2 2
( , )
koja ima primjenu u mnogim granama tehnike. U toj jednadbi 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 jednadbe (f(x,y)=0) je tkz. Laplaceova
diferencijalna jednadba.
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

u
n
g = na

U naim emo primjerima razmatrati samo tkz. linearne diferencijalne jednadbe, tj. one
kod kojih je veza meu nepoznanicama linearna. Takoer, pretpostavlja se da su poetni
uvjeti i rubni zadani tako da je mogue nai jedinstveno rjeenje. Rjeavanje diferencijalni
jednadbi e se provoditi numeriki, ali gdje god je poznato analitiko rjeenje, savjetuje se
da se ono pomno razmotri jer daje puno bolji uvid u ponaanje diferencijalne jednadbe
nego jedno numeriko rjeenje problema.
Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 2 III predavanje


3.3 Metoda konanih razlika
Metoda konanih razlika pretvara rjeavanja diferencijalne jednadbe u formiranje i
rjeavanje sistema obinih linearnih jednadbi. Pri tom postupku derivacije se samo
aproksimiraju i time se uvodi greka koja direktno ovisi o broju jednadbi koje formiramo;
poveavanjem broja jednadbi ta se greka smanjuje. Za veliki broj problema postie se
dovoljno tono rjeenj s malim broj jednadbi.
3.3.1 Funkcije jedne nepoznanice
Pogledajmo nain na koji aproksimiramo derivacije
dy
dx
y
x
f x x f x
x x
= =
+

lim
( ) ( )

0
.
Na slian nain moemo prikazati i vie derivacije
d y
dx
y
x
x
f x x f x
x
f x f x x
x
x x
2
2
0
=
|
\

|
.
|
=
+
|
\

|
.
|


|
\

|
.
|

lim
( ) ( ) ( ) ( )


Grafiki prikaz e nam olakati razumijevanje aproksimacije derivacija:


Ukoliko x dovoljno smanjimo, numerika aproksimacija derivacije e biti vrlo tona
(granica ispod koje ne smijemo nikako ii je tonost raunala na kojem radimo).
Pogledajmo na primjeru kako je jednostavno numeriko deriviranje (MathCAD):

< - MathCAD primjer 'UMKE3.MCD' - >

Kada smo shvatili princip numerikog deriviranja, moemo napisati tkz. jednadbe
konanih razlika za prvu, drugu i sve potrebne derivacije. Nakon toga te se jednadbe
uvrste u diferencijalnu jednadbu i dobivamo sistem linearnih jednadbi ija su rjeenja u
zadanim tokama vrijednosti funkcije koja zadovoljava zadanu diferencijalnu jednadbu.
Na taj smo nain dif.jed. rjeili numeriki!
Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 3 III predavanje

Jednadbe konanih razlika mogu biti definirane preko slijedee (forward differences),
sredinje (central differences) ili prethodne (backward differences) toke na domeni (vidi
sliku). Treba napomenuti da formulacija preko sredinje toke daje najmanju greku (to se
moe lako matematiki dokazati preko razvoja u Taylorov red), te ju stoga valja najee
koristiti.
Prva derivacija
1) preko slijedee toke
dy
dx
y y
h
i
i i
|
\

|
.
|


+1

2) preko sredinje toke
dy
dx
y y
h
i
i i
|
\

|
.
|


+ 1 1
2

3) preko prethodne toke
dy
dx
y y
h
i
i i
|
\

|
.
|


1


Za rjeavanje diferencijalne jednadbe drugog reda treba nam i druga derivacija
1) preko slijedee toke
d y
dx
y y y
h
i
i i i
2
2
1 2
2
2
|
\

|
.
|
+
+ +

2) preko sredinje toke
d y
dx
y y y
h
i
i i i
2
2
1 1
2
2
|
\

|
.
|
+
+

3) preko prethodne toke
d y
dx
y y y
h
i
i i i
2
2
2 1
2
2
|
\

|
.
|
+



Na slian nain moemo definirati treu derivaciju, etvrtu itd., prem potrebi, ovisno kakvu
diferencijalnu jednadbu rjeavamo.
Na primjeru odreivanja progiba proste grede prikazat emo postupak konanih razlika
(vidi MathCAD primjer 'UMKE32.MCD' u prilogu).
3.3.1.1 Primjer
Neka je prosta greda linearno promjenjivog presjeka (za takav sluaj vrlo je teko nai
tono rjeenje diferencijalne jednadbe) i optereena jednolikim optereenjem. Jednadba
momenta bilo gdje na gredi je
M q L
x
q
x
= * * *
2 2
2

gdje je q intenzitet optereenja, a L raspon grede.
Napiimo sada diferencijalnu jednadbu koristei centralnu formulaciju jednadbe
konanih razlika
Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 4 III predavanje

( )
q
x
L x
EI
h
y y y
i
i
i
i i i
* * ( ) *
2
2
2
1 1
= +
+

Jednadbu postavljamo za svaki i (i=1,...,5) na naoj gredi i dobivamo sistem jednadbi u
kojem su y
i
nepoznanice (malo smo ispremijeali koeficijente):
( )
( )
( )
. . . . . . .
... .
. .
. ...
. . . . . . .
...
...
*
...
...
0 1 2 1 0
0 1 2 1 0
0 1 2 1 0
2
1
1
2
0
1 1
0
1
0
1 1
0
1

(
(
(
(
(
(

+ +
+
y
y
y
q
h
EI
x L x
I
I
x L x
I
I
x L x
I
I
i
i
i
i i
i
i i
i
i i
i

odnosno, matrino
AY= X.
U naem primjeru odmah znamo rjeenja za toke 1 i 5 jer je tu zbog rubnih uvjeta progib
jednak nuli (y=0), pa nam ostaje sistem sa samo 3 jednadbe ije je rjeenje:
y
qL
EI
=

0 0058594
0 0078125
0 0058594
4
0
.
.
.
*
Za jedinine ulazne podatke (q=1.0, L=1.0 i EI
0
=1.0) to je i numeriko rjeenje.
U naem primjeru greda je podijeljena na mali broj toaka i tonost rjeenja nije velika, ali
se nita principjelno ne mijenja s veim brojem toaka, osim to raste tonost rjeenja (ali i
vrijeme potrebno raunalu da rijei sistem jednadbi).
Takoer, u naem primjeru je uticaj rubnih uvjeta sakriven u jednadbama (sjetimo se,
uveli smo da je y
1
=0 i y
5
=0). Openito se uticaj rubnih uvjeta uzima u obzir
modifikacijama matrice A prema nekim pravilima koja se mogu formirati za razne rubne
uvjete (vidi Koar, I. Kompleksno optereeni tapovi, FRaK 18/19, 1987, str. 32-36).
3.3.2 Funkcije vie nepoznanica
Problemi koji sadre vie od jedne nepoznanice opisuju se parcijalnim diferencijalnim
jednadbama od kojih emo mi razmotriti samo Poissonovu; ostale se parcijalne
diferencijalne jednadbe metodom konanih razlika rjeavaju na slian nain. Kao primjer
e nam posluiti problem savijanja tanke ploe po Kirchhoffovoj teoriji. Problem je opisan
biharmonijskom parc.dif.jed.







4
4
4
2 2
4
4
2
w
x
w
x y
w
y
q
D
+ + =
koju moemo svesti na dvije Poissonove. Prvo uspostavimo vezu izmeu momenata
savijanja i vanjskog optereenja





2
2
2
2
M
x
M
y
q + = .
Nakon rjeavanja te jednadbe poznati su nam momenti M, pa moemo uspostaviti vezu
izmeu progiba ploe w i momenata savijanja
Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 5 III predavanje





2
2
2
2
w
x
w
y
M
D
+ = .
U jednadbama su
M
M M
x y
=
+
+ 1
; D
Ed
=

3
2
12 1 ( )

a d je debljina ploe.

Za funkcije dvije varijable u=f(x,y) aproksimacije derivacija su



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

lim
( , ) ( , )

0
,
zatim


2
2
0
u
x
u
x
x x
=
|
\

|
.
|
=

lim


[ ] [ ]
=
+
=
u x x y u x y u x y u x x y
x
( , ) ( , ) ( , ) ( , )

2

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

2
.
Isto vrijedi



2
2
0
u
y
u
y
y y
=
|
\

|
.
|
=

lim

u x y y u x y y
y
( , ) ( , ) + +

2
.


i za mjeovitu derivaciju




2
0 0
u
x y
u
x
y
u
y
x y x
=
|
\

|
.
|
=
|
\

|
.
|
=

lim lim


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



Na slian nain se definiraju i druge vie derivacije. Time smo spremni za definiranje
jednadbi konanih razlika. Jednadbe emo definirati za toku (i,j) na mrei s podjelom
gustoe h u smijeru x i gustoe k u smijeru y.
Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 6 III predavanje


Prema slici jedna od jednadbi konanih razlika je sada:








2
1 1
2
u
x y x
u
y
u
y
u
y
h
i j
i j i j
|
\

|
.
| =
|
\

|
.
|
=
|
\

|
.
|

|
\

|
.
|
=
+
,
, ,

( ) ( )
=

=
+ + + +
u u u u
kh
i j i j i j i j 1 1 1 1 1 1 1 1
4
, , , ,

=
+
+ + + +
u u u u
kh
i j i j i j i j 1 1 1 1 1 1 1 1
4
, , , ,

3.3.2.1 Primjer
Prije formuliranja jednadbi konanih razlika promotrimo skicu problema savijanja ploe i
mreu podjele na po 8 dijelova u x i y smijeru:
k h
L
= =
8

Zbog centralne simetrije problema moemo analizirati samo 1/8 ploe uz definiranje
odgovarajuih rubnih uvjeta, pa se jednadbe postavljaju samo u 10 toaka oznaenih na
Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 7 III predavanje

crteu. Za sredinje toke jednadbe konanih razlika prve dif.jed. (veza momenata i
optereenja) su (prema slici)
M M M
h
M M M
k
q
i j i j i j i j i j i j + +
+
+
+
=
1 1
2
1 1
2
2 2
, , , , , ,

i nakon to ih sredimo u prikladniji izraz
M M M M M
qL
i j i j i j i j i j + +
+ + + =
1 1 1 1
2
4
64
, , , , ,

moemo formirati matrinu jednadbu
AM= q .
U jednadbama moramo uzeti u obzir rubne uvjete:
- na rubu su momenti i progibi nula, M = w = 0
- na tokama oko dijagonale (toke 1,5,8) vrijednosti su simetrine pa to treba uvrstiti
- na pr., jednadba u toki 1 glasi prema emi za Poissonovu dif.jed.
M M M M M q h
1 1 1 2 6 1
2
4
' '' '
+ + + = ,
ali zbog toga to su toke 1' i 1'' na rubu (na osloncu), moment okomito na oslonac je (kod
oslonjene ploe) nula, odnosno M
1'
= M
1''
= 0,
isto tako, zbog simetrije vrijednost M
6
u smijeru y jednaka je vrijednosti M
2
u smijeru x,
odnosno, M
2
= M
6
pa kad to uzmemo u obzir jednadba u toki 1 glasi
+ = 4 2
64
1 2
1
2
M M
q L
,
- dalje na pr., jednadba u toki 5 bi trebala biti
M M M M M q h
2 5 2 6 6 5
2
4
' '
+ + + = ,
ali zbog simetrije (oko dijagonale) vrijedi
- vrijednost M
2
u smijeru x jednaka je vrijednosti M
6
u smijeru y,
- vrijednost M
6
u smijeru y jednaka je vrijednosti M
2
u smijeru x, dakle
M
2
= M
6
i M
6
= M
2
pa konano piemo za jednadbu u toki 5
2 4 2
64
2 5 6
2
M M M
qL
+ = .
- na pr., jednadba u toki 6 jedina je potpuno prema emi (nema rubnih uvjeta) i glasi
M M M M M q h
3 6 5 7 8 6
2
4 + + + =
Na slian nain formiramo jednadbe za svih 10 toaka (potpun izgled matrice jednadbi
M vidi u primjeru UMKE33.MCD za MathCADa).
Rjeenja jednadbe (vektor q) smo prikazali grafiki; napomenimo da to nije dijagram
momenata jer za M vrijedi M
M M
x y
=
+
+ 1
iz ega se tek trebaju izraunati Mx i My
(kao u toki 10).
Raunanje nastavljamo rjeavanjem druge Poissonove diferencijalne jednadbe





2
2
2
2
w
x
w
y
M
D
+ =
Ivica Koar Graevinski fakultet Sveuilita u
Rijeci

_________________________________________________________________________________
listopad 1996 8 III predavanje

uvrtavanjem vrijednosti za M (koje su sada poznate) u desnu stranu jednadbe. Za
slobodno oslonjenu plou su rubni uvjeti za progib w isti kao i za M pa je matrica M u
ovom sluaju ista kao i prije, odnosno, mijenja se samo desna strana (vektor q).
Na pr., za toku 5 jednadba je
2 4 2
64
2 5 6
5
2
w w w
M L
D
+ =
itd. za sve ostale toke.

< - primjer UMKE33.MCD za MathCAD - >

Rjeenje ovog sistema jednadbi su progibi ploe:


Sada moemo izraunati 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 grafikog
prikaza (nakon dodavanja uvjeta simetrije!) :

You might also like