• Rezultati Niso Bili Najdeni

Laboratorijske vaje Numeriˇcne metode 3. Vaja B. Jurˇciˇc Zlobec Numeriˇcne metode FE, Ljubljana, 17. oktober 2013

N/A
N/A
Protected

Academic year: 2022

Share "Laboratorijske vaje Numeriˇcne metode 3. Vaja B. Jurˇciˇc Zlobec Numeriˇcne metode FE, Ljubljana, 17. oktober 2013"

Copied!
16
0
0

Celotno besedilo

(1)

Laboratorijske vaje Numeriˇ cne metode

3. Vaja

B. Jurˇ ciˇ c Zlobec

Numeriˇ cne metode FE, Ljubljana, 17. oktober 2013

(2)

Metoda bisekcije

Z inline() definiraj funkcijo f (x) = x 3 − 2x − 1/2.

Izberi interval (a, b), a = −1 in b = 1.2.

Poiˇsˇ ci pribliˇ zek f (x 0 ) = 0, x 0 ∈ (a, b).

Na krajiˇsˇ cih intervala velja f (a)f (b) < 0.

Nasednji pribliˇ zek raˇ cunamo po formuli c = a + b 2 .

Izberemo interval (a, c ), ˇ ce je f (a)f (c) < 0 sicer pa (c , b).

V prvem primeru postane b = c , v drugem pa a = c.

f=inline(’x^3-2*x-1/2’,’x’); a=-1; b=1.2;

formatx=’a=%0.2f,c=%0.2f,b=%0.2f\n’;

formatf=’f(a)=%0.2f,f(c)=%0.2f,f(b)=%0.2f,\n’

c=(a+b)/2;

printf([formatf,formatx],f(a),f(c),f(b),a,b,c);

f(a)=0.50,f(c)=-0.70,f(b)=-1.17, a=-1.00,c=0.10,b=1.20

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

(3)

Iteracije

b=c; c=(a+b)/2;

printf([formatf,formatx],f(a),f(c),f(b),a,c,b);

f(a)=0.50,f(c)=0.31,f(b)=-0.70, a=-1.00,c=-0.45,b=0.10

a=c; c=(a+b)/2;

printf([formatf,formatx],f(a),f(c),f(b),a,c,b);

f(a)=0.31,f(c)=-0.16,f(b)=-0.70, a=-0.45,c=-0.18,b=0.10

b=c; c=(a+b)/2;

printf([formatf,formatx],f(a),f(c),f(b),a,c,b);

f(a)=0.31,f(c)=0.09,f(b)=-0.16,

a=-0.45,c=-0.31,b=-0.18

(4)

Grafiˇ cni prikaz

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

(5)

Grafiˇ cni prikaz

(6)

Grafiˇ cni prikaz

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

(7)

Grafiˇ cni prikaz

(8)

Grafiˇ cni prikaz

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

(9)

Program za metodo bisekcije

Zanki: if...else...end, while...end in ukaz break.

f=inline(’x^3-2*x-1/2’,’x’);

a=-1; b=1.2; n=0; delta=1e-8;

while true

c=(a+b)/2; n=n+1;

if f(a)*f(c)<0, b=c;

else, a=c;

end;

if abs(b-a)<delta, break, end;

end;

printf(’n=%d,x=%0.10f\n’,n,c);

x

0

= −0.25865202250415276284.

n=28,x=-0.2586520232

START xf(x)

l,xd,δ

a=xl,b=xd,n= 0

c=a+b 2 ,n=n+ 1

f(a)f(c)<0

b=c a=c

|b−a|< δ

print (n,c) CILJ

DA NE

DA NE

(10)

Metoda regula falsi

Kot pri metodi bisekcije le, da pribliˇ zke raˇ cunamo po formuli:

c = a − f (a) b − a f (b) − f (a) .

f=inline(’x^3-2*x-1/2’,’x’);

a=-1;b=1.2;n=0;eps=1e-8;

while 1

c=a-f(a)*(b-a)/(f(b)-f(a));

n=n+1;

if f(a)*f(c)<0, b=c;

else, a=c; end;

if abs(f(c))<eps,break,end;

end;

printf(’n=%d,x=%0.10f\n’,n,c);

n=7,x=-0.2586520257

START f(x)x

l,xd,

a=xl,b=xd,n= 0

c=a b−a

f(b)−f(a)f(a), n=n+ 1

f(a)f(c)<0

b=c a=c

|f(c)|<

print (n,c) CILJ

DA NE

DA NE

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

(11)

Graficni prikaz

(12)

Graficni prikaz

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

(13)

Graficni prikaz

(14)

Sekantna metoda

Funkcijski vrednosti v krajiˇsˇ cih nista nujno razliˇ cnega znaka. Pribliˇ zki se raˇ cunajo enako, kot pri regula falsi.

f=inline(’x^3-2*x-1/2’,’x’);

a=-1; b=1.2; n=10;

d=1e-8; e=1e-8;

for i=1:n

c=a-f(a)*(b-a)/(f(b)-f(a));

a=b;

b=c;

if(abs(b-a)<d)|(abs(f(b))<e) break,

end;

end;

printf(’i=%d,b=%0.10f’,i,b);

i=6,x=-0.2586520225

START x f(x)

l,xd,,δ,n

a=xl,b=xd,i= 0 test(a, b) = (f(b)< )∨(|b−a|< δ)

c=a− b−a f(b)−f(a)f(a)

a=b,b=c

i=i+ 1 test(a, b)

i > n

print (error)

print (c, i) CILJ

NE DA

DA

NE

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

(15)

Tangentna metoda

Preseˇ ciˇsˇ ce tangente v pribliˇ zku z osjo x. x i+1 = x i − f (x i )

f 0 (x i ) . f=inline(’x^3-2*x-1/2’,’x’);

df=inline(’3*x^2-2’,’x’) a=0.4;n=10;

d=1e-8;e=1e-8;

for i=1:n

b=a-f(a)/df(a);

if(abs(b-a)<d)|(abs(f(b))<e) break,

end;

a=b;

end;

printf(’i=%d,c=%0.10f’,i,c);

i=5,x=-0.2586520225

START xf(x),f0(x)

0,,δ,n

a=x0,i= 0 test(a, b) = (f(b)< )∨(|b−a|< δ)

b=a−f(a) f0(a),i=i+ 1

test(a, b)

i > n a=b

print (error)

print (b, i) CILJ

NE DA

DA NE

(16)

Graficni prikaz

Borut Jurˇciˇc Zlobec Laboratorijske vaje Numericne metode

Reference