praktikum iz numerickih metoda u statistici · sadržaj: metoda najmanjih kvadrata. rješavanje...
Post on 02-Nov-2019
19 Views
Preview:
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