praktikum iz numerickih metoda u statistici · sadržaj: metoda najmanjih kvadrata. rješavanje...

Post on 02-Nov-2019

19 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PRAKTIKUM IZ NUMERICKIH METODA USTATISTICI

prof. dr. sc. Miljenko Marušic

1 / 14

Sadržaj:Metoda najmanjih kvadrata. Rješavanje sustava linearnihjednadžbi. Problem svojstvenih vrijednosti.Aproksimacija funkcija polinomom i splajnom.Optimizacija.

Ocjena:

3 kolokvija: 30 b+30 b+40 b=100 b

Domace zadace: bodovi se pribrajaju bodovima s kolokvija.Zbroj ne može biti veci od maksimalnog broja bodova (30 b ili 40 b).

Ispravak kolokvija: može se ispravljati samo jedan kolokvij

2 / 14

Sadržaj:Metoda najmanjih kvadrata. Rješavanje sustava linearnihjednadžbi. Problem svojstvenih vrijednosti.Aproksimacija funkcija polinomom i splajnom.Optimizacija.

Ocjena:

3 kolokvija: 30 b+30 b+40 b=100 b

Domace zadace: bodovi se pribrajaju bodovima s kolokvija.Zbroj ne može biti veci od maksimalnog broja bodova (30 b ili 40 b).

Ispravak kolokvija: može se ispravljati samo jedan kolokvij

2 / 14

Sadržaj:Metoda najmanjih kvadrata. Rješavanje sustava linearnihjednadžbi. Problem svojstvenih vrijednosti.Aproksimacija funkcija polinomom i splajnom.Optimizacija.

Ocjena:

3 kolokvija: 30 b+30 b+40 b=100 b

Domace zadace: bodovi se pribrajaju bodovima s kolokvija.Zbroj ne može biti veci od maksimalnog broja bodova (30 b ili 40 b).

Ispravak kolokvija: može se ispravljati samo jedan kolokvij

2 / 14

Sadržaj:Metoda najmanjih kvadrata. Rješavanje sustava linearnihjednadžbi. Problem svojstvenih vrijednosti.Aproksimacija funkcija polinomom i splajnom.Optimizacija.

Ocjena:

3 kolokvija: 30 b+30 b+40 b=100 b

Domace zadace: bodovi se pribrajaju bodovima s kolokvija.Zbroj ne može biti veci od maksimalnog broja bodova (30 b ili 40 b).

Ispravak kolokvija: može se ispravljati samo jedan kolokvij

2 / 14

Predznanje: Numericka matematika

Pitanja?

3 / 14

Predznanje: Numericka matematika

Pitanja?

3 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

MATLAB

http://titan.fsb.hr/˜mvrdolja/matlab/matlab.htmhttp://www.fer.unizg.hr/predmet/matlab

Pokretanje MATLAB-a

Komandni prozor

Racunanje: 1+1

Varijable, radni prostor (workspace)

Velika i mala slova: a=1 A=2

Funkcije: sin(x), exp(x), ...

help sin

4 / 14

Nizovi

Niz: a=1:10a=1:0.5:10

2 ∗ a,exp(a)a(1), a(2),...,a(end)a(1:3)size(a)

5 / 14

Nizovi

Niz: a=1:10a=1:0.5:10

2 ∗ a,exp(a)

a(1), a(2),...,a(end)a(1:3)size(a)

5 / 14

Nizovi

Niz: a=1:10a=1:0.5:10

2 ∗ a,exp(a)a(1), a(2),...,a(end)

a(1:3)size(a)

5 / 14

Nizovi

Niz: a=1:10a=1:0.5:10

2 ∗ a,exp(a)a(1), a(2),...,a(end)a(1:3)

size(a)

5 / 14

Nizovi

Niz: a=1:10a=1:0.5:10

2 ∗ a,exp(a)a(1), a(2),...,a(end)a(1:3)size(a)

5 / 14

Matrice

A=[1 2; 3 1]

vektor - matrica n × 1Racunske operacije s matricama

matrica - skalar: *,/matrica - matrica: +, -, * ,ˆ(potenciranje)

/ - (desno) dijeljenje (X/Y = X ∗ Y−1)\ - lijevo dijeljenje (X \ Y = X−1 ∗ Y )′ - transponiranje (i konjugiranje)

matrica - matrica (operacije na elementima matrice) .*, ./

Definirajte dvije matrice i isprobajte racunske operacije nanjima

6 / 14

Matrice

A=[1 2; 3 1]vektor - matrica n × 1

Racunske operacije s matricamamatrica - skalar: *,/matrica - matrica: +, -, * ,ˆ(potenciranje)

/ - (desno) dijeljenje (X/Y = X ∗ Y−1)\ - lijevo dijeljenje (X \ Y = X−1 ∗ Y )′ - transponiranje (i konjugiranje)

matrica - matrica (operacije na elementima matrice) .*, ./

Definirajte dvije matrice i isprobajte racunske operacije nanjima

6 / 14

Matrice

A=[1 2; 3 1]vektor - matrica n × 1Racunske operacije s matricama

matrica - skalar: *,/

matrica - matrica: +, -, * ,ˆ(potenciranje)/ - (desno) dijeljenje (X/Y = X ∗ Y−1)\ - lijevo dijeljenje (X \ Y = X−1 ∗ Y )′ - transponiranje (i konjugiranje)

matrica - matrica (operacije na elementima matrice) .*, ./

Definirajte dvije matrice i isprobajte racunske operacije nanjima

6 / 14

Matrice

A=[1 2; 3 1]vektor - matrica n × 1Racunske operacije s matricama

matrica - skalar: *,/matrica - matrica: +, -, * ,ˆ(potenciranje)

/ - (desno) dijeljenje (X/Y = X ∗ Y−1)\ - lijevo dijeljenje (X \ Y = X−1 ∗ Y )′ - transponiranje (i konjugiranje)

matrica - matrica (operacije na elementima matrice) .*, ./

Definirajte dvije matrice i isprobajte racunske operacije nanjima

6 / 14

Matrice

A=[1 2; 3 1]vektor - matrica n × 1Racunske operacije s matricama

matrica - skalar: *,/matrica - matrica: +, -, * ,ˆ(potenciranje)

/ - (desno) dijeljenje (X/Y = X ∗ Y−1)\ - lijevo dijeljenje (X \ Y = X−1 ∗ Y )′ - transponiranje (i konjugiranje)

matrica - matrica (operacije na elementima matrice) .*, ./

Definirajte dvije matrice i isprobajte racunske operacije nanjima

6 / 14

Matrice

A=[1 2; 3 1]vektor - matrica n × 1Racunske operacije s matricama

matrica - skalar: *,/matrica - matrica: +, -, * ,ˆ(potenciranje)

/ - (desno) dijeljenje (X/Y = X ∗ Y−1)\ - lijevo dijeljenje (X \ Y = X−1 ∗ Y )′ - transponiranje (i konjugiranje)

matrica - matrica (operacije na elementima matrice) .*, ./

Definirajte dvije matrice i isprobajte racunske operacije nanjima

6 / 14

Generiranje matrica

ones(3) ones(3,2) - matrica sa svim elementima 1

zeros(3) zeros(3,2)- matrica sa svim elementima 0eye(3) eye(3,2)- matrica sa 1 na dijagonalidiag(x) diag(A) -kreiranje dijagonalne matrice / vektora sdijagonalnim elementimarand(3) - matrica sa slucajno generiranim elementima (uniformnadistribucija na [0,1])randn(3) - matrica sa slucajno generiranim elementima (normalnadistribucija N(0,1))

7 / 14

Generiranje matrica

ones(3) ones(3,2) - matrica sa svim elementima 1zeros(3) zeros(3,2)- matrica sa svim elementima 0

eye(3) eye(3,2)- matrica sa 1 na dijagonalidiag(x) diag(A) -kreiranje dijagonalne matrice / vektora sdijagonalnim elementimarand(3) - matrica sa slucajno generiranim elementima (uniformnadistribucija na [0,1])randn(3) - matrica sa slucajno generiranim elementima (normalnadistribucija N(0,1))

7 / 14

Generiranje matrica

ones(3) ones(3,2) - matrica sa svim elementima 1zeros(3) zeros(3,2)- matrica sa svim elementima 0eye(3) eye(3,2)- matrica sa 1 na dijagonali

diag(x) diag(A) -kreiranje dijagonalne matrice / vektora sdijagonalnim elementimarand(3) - matrica sa slucajno generiranim elementima (uniformnadistribucija na [0,1])randn(3) - matrica sa slucajno generiranim elementima (normalnadistribucija N(0,1))

7 / 14

Generiranje matrica

ones(3) ones(3,2) - matrica sa svim elementima 1zeros(3) zeros(3,2)- matrica sa svim elementima 0eye(3) eye(3,2)- matrica sa 1 na dijagonalidiag(x) diag(A) -kreiranje dijagonalne matrice / vektora sdijagonalnim elementima

rand(3) - matrica sa slucajno generiranim elementima (uniformnadistribucija na [0,1])randn(3) - matrica sa slucajno generiranim elementima (normalnadistribucija N(0,1))

7 / 14

Generiranje matrica

ones(3) ones(3,2) - matrica sa svim elementima 1zeros(3) zeros(3,2)- matrica sa svim elementima 0eye(3) eye(3,2)- matrica sa 1 na dijagonalidiag(x) diag(A) -kreiranje dijagonalne matrice / vektora sdijagonalnim elementimarand(3) - matrica sa slucajno generiranim elementima (uniformnadistribucija na [0,1])

randn(3) - matrica sa slucajno generiranim elementima (normalnadistribucija N(0,1))

7 / 14

Generiranje matrica

ones(3) ones(3,2) - matrica sa svim elementima 1zeros(3) zeros(3,2)- matrica sa svim elementima 0eye(3) eye(3,2)- matrica sa 1 na dijagonalidiag(x) diag(A) -kreiranje dijagonalne matrice / vektora sdijagonalnim elementimarand(3) - matrica sa slucajno generiranim elementima (uniformnadistribucija na [0,1])randn(3) - matrica sa slucajno generiranim elementima (normalnadistribucija N(0,1))

7 / 14

Zadatak 1

Napišite naredbe za racunanje vektorskih normi ‖ x ‖1, ‖ x ‖2 i ‖ x ‖∞.

Rješenje‖ x ‖1: sum(abs(x))‖ x ‖2 : sqrt(sum(x.ˆ 2))

sqrt(x*x’)‖ x ‖∞: max(abs(x))

8 / 14

Zadatak 1

Napišite naredbe za racunanje vektorskih normi ‖ x ‖1, ‖ x ‖2 i ‖ x ‖∞.Rješenje‖ x ‖1: sum(abs(x))

‖ x ‖2 : sqrt(sum(x.ˆ 2))sqrt(x*x’)

‖ x ‖∞: max(abs(x))

8 / 14

Zadatak 1

Napišite naredbe za racunanje vektorskih normi ‖ x ‖1, ‖ x ‖2 i ‖ x ‖∞.Rješenje‖ x ‖1: sum(abs(x))‖ x ‖2 : sqrt(sum(x.ˆ 2))

sqrt(x*x’)

‖ x ‖∞: max(abs(x))

8 / 14

Zadatak 1

Napišite naredbe za racunanje vektorskih normi ‖ x ‖1, ‖ x ‖2 i ‖ x ‖∞.Rješenje‖ x ‖1: sum(abs(x))‖ x ‖2 : sqrt(sum(x.ˆ 2))

sqrt(x*x’)‖ x ‖∞: max(abs(x))

8 / 14

Zadatak 2

Napišite naredbe za racunanje matricne norme ‖ A ‖1.

Pomoc.

‖ A ‖∞ = maxi

∑j

|aij |

Rješenje.‖ A ‖∞: max(abs(A)* ones(3,1))

norm(A,inf)

9 / 14

Zadatak 2

Napišite naredbe za racunanje matricne norme ‖ A ‖1.

Pomoc.

‖ A ‖∞ = maxi

∑j

|aij |

Rješenje.‖ A ‖∞: max(abs(A)* ones(3,1))

norm(A,inf)

9 / 14

Zadatak 2

Napišite naredbe za racunanje matricne norme ‖ A ‖1.

Pomoc.

‖ A ‖∞ = maxi

∑j

|aij |

Rješenje.‖ A ‖∞: max(abs(A)* ones(3,1))

norm(A,inf)

9 / 14

Zadatak 2

Napišite naredbe za racunanje matricne norme ‖ A ‖1.

Pomoc.

‖ A ‖∞ = maxi

∑j

|aij |

Rješenje.‖ A ‖∞: max(abs(A)* ones(3,1))

norm(A,inf)

9 / 14

Skripte

ime.mPath: ’File / Set path’Poziv: ime

Isprobajte poziv skripte.

Funkcije:

function [o1,o2] = ime(u1,u2)NAREDBEend (opcionalan)

Ime funkcije treba biti isto kao i ime m-datoteke.

10 / 14

Skripte

ime.m

Path: ’File / Set path’Poziv: ime

Isprobajte poziv skripte.

Funkcije:

function [o1,o2] = ime(u1,u2)NAREDBEend (opcionalan)

Ime funkcije treba biti isto kao i ime m-datoteke.

10 / 14

Skripte

ime.mPath: ’File / Set path’

Poziv: ime

Isprobajte poziv skripte.

Funkcije:

function [o1,o2] = ime(u1,u2)NAREDBEend (opcionalan)

Ime funkcije treba biti isto kao i ime m-datoteke.

10 / 14

Skripte

ime.mPath: ’File / Set path’Poziv: ime

Isprobajte poziv skripte.

Funkcije:

function [o1,o2] = ime(u1,u2)NAREDBEend (opcionalan)

Ime funkcije treba biti isto kao i ime m-datoteke.

10 / 14

Skripte

ime.mPath: ’File / Set path’Poziv: ime

Isprobajte poziv skripte.

Funkcije:

function [o1,o2] = ime(u1,u2)NAREDBEend (opcionalan)

Ime funkcije treba biti isto kao i ime m-datoteke.

10 / 14

Skripte

ime.mPath: ’File / Set path’Poziv: ime

Isprobajte poziv skripte.

Funkcije:

function [o1,o2] = ime(u1,u2)NAREDBEend (opcionalan)

Ime funkcije treba biti isto kao i ime m-datoteke.

10 / 14

Skripte

ime.mPath: ’File / Set path’Poziv: ime

Isprobajte poziv skripte.

Funkcije:

function [o1,o2] = ime(u1,u2)NAREDBEend (opcionalan)

Ime funkcije treba biti isto kao i ime m-datoteke.

10 / 14

Zadatak 3

Napišite funkciju koja ce racunati aproksimaciju eksponencijalnefunkcije pomocu Taylorovog polinoma n-tog stupnja. Dobiveni rezultatusporedite s egzaktnom vrijednošcu.

Za racunanje polinoma koristite Hornerov algoritam.

Nacrtajte rješenje i aproksimaciju.

11 / 14

Pomoc.Taylorov polinom:

f (x) ≈ f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

f (x) ≈ f (0) + f ′(0)x +f ′′(0)

2!x2 + . . .+

f (n)(0)n!

xn

exp x ≈ 1 + x +x2

2!+ . . .+

xn

n!

Hornerov algoritam

P(x) = a0 + a1x + a2x2 + . . .+ anxn

= a0 + x(a1 + x(a2 + . . .+ x(an−1 + xan) . . .))

p = an, p = ai + x · p, i = n − 1, . . . ,0

12 / 14

Pomoc.Taylorov polinom:

f (x) ≈ f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

f (x) ≈ f (0) + f ′(0)x +f ′′(0)

2!x2 + . . .+

f (n)(0)n!

xn

exp x ≈ 1 + x +x2

2!+ . . .+

xn

n!

Hornerov algoritam

P(x) = a0 + a1x + a2x2 + . . .+ anxn

= a0 + x(a1 + x(a2 + . . .+ x(an−1 + xan) . . .))

p = an, p = ai + x · p, i = n − 1, . . . ,0

12 / 14

Pomoc.Taylorov polinom:

f (x) ≈ f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

f (x) ≈ f (0) + f ′(0)x +f ′′(0)

2!x2 + . . .+

f (n)(0)n!

xn

exp x ≈ 1 + x +x2

2!+ . . .+

xn

n!

Hornerov algoritam

P(x) = a0 + a1x + a2x2 + . . .+ anxn

= a0 + x(a1 + x(a2 + . . .+ x(an−1 + xan) . . .))

p = an, p = ai + x · p, i = n − 1, . . . ,0

12 / 14

Pomoc.Taylorov polinom:

f (x) ≈ f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

f (x) ≈ f (0) + f ′(0)x +f ′′(0)

2!x2 + . . .+

f (n)(0)n!

xn

exp x ≈ 1 + x +x2

2!+ . . .+

xn

n!

Hornerov algoritam

P(x) = a0 + a1x + a2x2 + . . .+ anxn

= a0 + x(a1 + x(a2 + . . .+ x(an−1 + xan) . . .))

p = an, p = ai + x · p, i = n − 1, . . . ,0

12 / 14

Pomoc.Taylorov polinom:

f (x) ≈ f (x0)+f ′(x0)(x−x0)+f ′′(x0)

2!(x−x0)

2+. . .+f (n)(x0)

n!(x−x0)

n

f (x) ≈ f (0) + f ′(0)x +f ′′(0)

2!x2 + . . .+

f (n)(0)n!

xn

exp x ≈ 1 + x +x2

2!+ . . .+

xn

n!

Hornerov algoritam

P(x) = a0 + a1x + a2x2 + . . .+ anxn

= a0 + x(a1 + x(a2 + . . .+ x(an−1 + xan) . . .))

p = an, p = ai + x · p, i = n − 1, . . . ,0

12 / 14

Crtanje: plot(x,y)plot(x1, y1, x2, y2)

FOR petlja:

for R = 1:NRADIend

Opcenito: for R = pocetak : korak : kraj

13 / 14

Crtanje: plot(x,y)plot(x1, y1, x2, y2)

FOR petlja:

for R = 1:NRADIend

Opcenito: for R = pocetak : korak : kraj

13 / 14

Crtanje: plot(x,y)plot(x1, y1, x2, y2)

FOR petlja:

for R = 1:NRADIend

Opcenito: for R = pocetak : korak : kraj

13 / 14

Rješenje.

taylor.m

function [o] = taylor (x,n)t=x/n;for i=n-1:-1:1t = 1+x.*t/i;end

o=t;

zad3.m

n=7;a=-2:0.01:2;y=taylor(a,n);ye=exp(a);plot(a,y,a,ye)

14 / 14

Rješenje.

taylor.m

function [o] = taylor (x,n)t=x/n;for i=n-1:-1:1t = 1+x.*t/i;end

o=t;

zad3.m

n=7;a=-2:0.01:2;y=taylor(a,n);ye=exp(a);plot(a,y,a,ye)

14 / 14

top related