You are on page 1of 78

Dragan S.

Dori c

MATEMATIKA I MATLAB
Laboratorijske vebe z

Via elektrotehnika kola s c s Beograd, 2003.

Dr Dragan Dori c MATEMATIKA i Laboratorijske vebe z MATLAB

Recenzenti Dr Durica Jovanov Ana Savi c

Izdava c

Via elektrotehnika kola s c s Beograd, Vojvode Stepe 283

Nastavniko vee Vie elektrotehnike kole u Beogradu odobrilo je c c s c s izdavanje i korienje ovog prirunika u nastavi. sc c

CIP - Katalogizacija u publikaciji Narodna biblioteka Srbije, Beograd 004.42MATLAB(075.8)(076) Dori, Dragan S. c Matematika i MATLAB: Laboratorijske vebe / z - ori.- Beograd: Via elektrotehnika kola, Dragan S. D c s c s 2003 (Beograd: Akademska tampa).- 79 srt.; 26 cm s Tira 700. z ISBN 86 - 82589 - 80 - X a) Aplikativni program "MATLAB" - Vebe z COBISS - ID 104397068

Student Broj indeksa Skolska godina

Imena fajlova sa vebama z Broj indeksa je ime svakog od 16 fajlova (za svaki termin po jedan), a njihove ekstenzije su 1, 2, . . . , 16. Fajlovi se otvaraju na poetku svakog c termina naredbom >> diary imefajla a zatvaraju na kraju rada naredbom >> diary off

Parametri za izradu zadataka a= b= c= p= q= (broj Vaeg indeksa) s (mesec Vaeg rodenja, na primer b = 2, ako ste rodeni u s februaru) (dan Vaeg rodenja, na primer c = 15, ako ste rodeni 15. s u mesecu) (broj slova Vaeg prezimena) s (broj slova Vaeg imena) s

Evidencija izrade vebi z Veba br. z 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Datum Overa Napomena

PREDGOVOR

Laboratorijske vebe iz matematike sastavni su deo predmeta Numerika matez c matika koji se slua na prvoj godini smera Nove raunarske tehnologije, na Vioj s c s elektrotehnikoj koli u Beogradu. Kao to i sam naziv govori, one se odravaju u c s s z raunarskoj laboratoriji, a obuhvataju neke teme diferencijalnog i integralnog rauna c c i osnovne probleme numerike matematike - reavanje algebarskih i transcendentnih c s jednaina i sistema, aproksimaciju i interpolaciju funkcija, kao i numeriko reavanje c c s diferencijalnih jednaina i sistema. Ekasno reavanje ovih problema danas je nezac s mislivo bez monih programskih paketa kao to su MATHEMATICA, MATHCAD, c s MAPLE ili MATLAB. Ove vebe pripremljene su za rad sa programom MATLAB. Zbog toga su u prvih z nekoliko tema dati primeri za upoznavanje sa programskim naredbama, uglavnom onim koje su dovoljne za dalji rad. MATLAB, naravno, ima mnogo vee mogunosti c c od onih koje su ovde prikazane. Vodei univerziteti u svetu ga ve odavno koriste, ne c c samo u kursevima numerike analize, nego i u kursevima svih ostalih matematikih c c i tehnikih predmeta. c Naravno, za uspean rad na vebama potrebno je znanje iz linearne algebre i s z diferencijalnog rauna funkcija jedne i vie promenljivih (u obimu koji se izlae u c s z prvom semestru), kao i teorijske osnove numerikih metoda. Nadam se da e se c c studenti pre dolaska na vebe upoznati sa problemom koji se reava, algoritmom, z s uslovima konvergencije i nainima za procenu greki pri numerikim izraunavanjima. c s c c

Beograd, 2003.

Autor

SADRZAJ
Programski paket MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Laboratorijske vebe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 z 1. Brojevi i izrazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2. Matrice i vektori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3. Dvodimenziona graka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4. Diferencijalni raun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 c 5. Integralni raun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 c 6. Reavanje jednaina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 s c 7. Metoda iteracije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8. Jednaine - obnavljanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 c 9. Linearni sistemi - I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 10. Linearni sistemi - II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 11. Nelinearni sistemi - I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 12. Nelinearni sistemi - II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 13. Interpolacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 14. Aproksimacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 15. Diferencijalne jednaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 c 16. Sistemi diferencijalnih jednaina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 c 17. Razni problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 M - fajlovi korieni u vebama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 sc z Spisak naredbi koje su koriene u vebama . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 sc z Kratak opis nekih MATLAB naredbi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Ispitna pitanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

PROGRAMSKI PAKET MATLAB


Programski paket MATLAB razvila je softverska kua Math Works Inc., a slui c z za sloena numerika izraunavanja i grako predstavljanje rezultata. Osnovu proz c c c grama ine raniji paketi LINPACK i EISPACK i prvenstveno je bio namenjen inec z njerima koji se bave analizom i sintezom sistema upravljanja. Medutim, vremenom je program dobio veliki broj novih matematikih funkcija, a razvijeni su i posebni c paketi, takozvani Toolboxovi, za razliite oblasti primene. Tako postoji SYMBOLIC c MATH za simbolika izraunavanja u matematici, SIMULINK za modeliranje i simc c ulaciju statikih i dinamikih sistema, ali isto tako i Toolboxovi za parcijalne diferenc c cijalne jednaine, obradu signala, identikaciju, optimizaciju, statistiku, nansijske c proraune, neuronske mree, komunikacije i mnoge druge probleme primenjene matec z matike. Aktuelna verzija (MATLAB 6) ima preko 30 takvih paketa, a i sami korisnici mogu razvijati sopstvene Toolboxove. Pored toga, program ima i API (Application Program Interface) koji ostvaruje vezu izmedu MATLAB-a i programa pisanih u C-u ili Fortranu. Kao programski jezik, MATLAB je vrlo jednostavan za korienje. On ima sc mogunost direktnog izvravanja jedne naredbe (interaktivno) ili bloka naredbi smec s tenih u script fajl. Nakon startovanja programa pojavljuje se komandni prozor u s kojem se ostvaruje komunikacija korisnika i programa. Dodatno se mogu otvoriti: graki prozor, prozor za editovanje i help prozor. Na vrhu komandnog prozora su c padajui meniji, a odmah ispod njih Toolbar. Glavni delovi padajueg menija su c c File, Edit, View, Web, Windows i Help. Standardni prompt je >>. Za razliku od drugih programskih jezika, osnovni objekat MATLAB-a je matrica brojeva ili simbola. Cak i brojevi su matrice dimenzija 1 1. Izrazi se u MATLAB-u unose na prirodan nain, odnosno kao i prilikom pisanja na papiru, a osnovni elementi c izraza su brojevi, promenljive, znaci operacija i imena funkcija. Najmanji MATLAB broj je 21022 , a najvei 21023 . Oznaka za imaginarnu jedinicu je i ili j, za je oznaka c pi, a za je inf. Format zapisa brojeva bira se naredbom format. Promenljive u MATLAB-u nije potrebno deklarisati, a ime promenljive moe da sadri 31 karakter, z z pri emu prvi mora biti slovo (malo ili veliko) a ostali su slova, brojevi ili znak c . Znaci za operacije su standardni: + (sabiranje), (oduzimanje), (mnoenje), z / (deljenje), (stepenovanje) i (transponovanje). Za razliku od ovih operacija postoje i takozvane element-by- element operacije koje se pozivaju sa takom ispred c znaka operacije. Na primer, za matrice A i B istih dimenzija A.*B je matrica koja se dobija tako to se svaki element matrice A mnoi odgovarajuim elementom matrice s z c B. Slino, A. 2 znai da se svaki element matrice A kvadrira. Postoji veliki broj c c matematikih funkcija koje su ugradene u MATLAB, kao to su apsolutna vrednost c s (abs), koren (sqrt), trigonometrijske (sin, cos, tan), inverznetrigonometrijske (asin, acos, atan) i druge.

MATLAB kao kalkulator Kada se u komandnom prozoru otkuca naredba i pritisne Enter, ona se odmah izvrava. Ako ne elimo da se rezultat prikae na ekranu, onda posle naredbe treba s z z uneti znak ;. U jednoj liniji moe da se navede i vie naredbi, a i jedan izraz moe z s z da se unosi u vie linija, pri emu se sa . . . oznaava da je nastavak u sledeoj liniji. s c c c Ovakav nain rada MATLAB-a podsea na kalkulator. Na primer, naredbom c c >> 1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9 dobijamo ans= 1.9290 Rezultat, naravno, moe da se dodeli nekoj promenljivoj. Na primer, z >> x=sin(pi/4)+cos(pi/3); Ako u komandnoj liniji otkucamo >> x dobiemo vrednost promenljive x. c Unos matrica Matrice u MATLAB mogu da se unesu na vie naina: navodenjem svih elemenata s c (vrsta po vrsta), pozivanjem naredbi za manipulacije sa matricama i naredbi za generisanje specijalnih matrica, kreiranjem m-fajlova ili uitavanjem iz drugih fajlova. c Na primer, matricu 1 2 3 4 moemo da unesemo i smestimo u A naredbom z 5 6 7 8 >> A = [1 2 3 4; 5 6 7 8] ili naredbom >> A = [ 1 2 3 4 5 6 7 8] Medutim, istu matricu moemo da unesemo i naredbom z >> A=[1:4; 5:8] Elementi matrice mogu da se pozovu navodenjem imena matrice i indeksa elemenata. Na primer, A(2,2) e dati element 6 matrice A. c Dokumentacija MATLAB ima sasvim dobar demo i tour iz kojih korisnik pri prvom susretu sa programom moe da stekne poetni utisak o mogunostima programa, ali i da z c c se upozna sa osnovnim naredbama i da dobije ideju ta bi mogao i sam da proba. s Za dalja objanjenja korisnik moe da koristi help ili dokumentaciju koja se u obs z liku pdf fajlova isporuuje sa programom i koja moe i da se preuzme sa adrese c z www.mathworks.com.

LABORATORIJSKE VEZBE
U ovom praktikumu je dato 17 vebi kroz koje treba, koristei programski paket z c MATLAB, reavati razne probleme iz matematike koji su u okviru sadraja preds z meta Inenjerska matematika i Numerika matematika. Neke od tih problema z c studenti su ve upoznali u prvom semestru, a neke upoznaju paralelno s vebama c z u toku drugog semestra. Pored ponavljanja i produbljivanja delova diferencijalnog i integralnog rauna i upoznavanja sa numerikim metodama u linearnoj algebri, c c teoriji aproksimacija i teoriji diferencijalnih jednaina, studenti imaju priliku i da c savladaju osnovne naredbe programa MATLAB, kao i neke naredbe za simboliko c izraunavanje iz Toolboxa SYMBOLIC MATH. c U 1. vebi kroz operacije sa brojevima i izrazima uvode se MATLAB naredbe z za te operacije, naredbe za formate zapisa brojeva (format, format long, format short, format rat, vpa), kao i naredbe za transformacije izraza (factor, collect, expand, simple). U 2. vebi daju se naredbe za unos i manipulacije sa matricama i vektorima, kao z i naredbe za operacije sa matricama. U 3. vebi koriste se naredbe za crtanje taaka, linija i graka funkcija. Osnovne z c naredbe za to su plot, fplot i polar. Pored toga uvode se i naredbe kojima se realizuju petlje u programu (for, while i if), kao script fajlovi. U 4. i 5. vebi koriste se naredbe diff, int i solve za analitiko nalaenje z c z izvoda, integrala i reenja jednaina. Pored ranije upoznatih naredbi koristi se i s c naredba ezplot. U vebama 6-8. numerikim metodama se reavaju algebarske i transcendentne z c s jednaine, pri emu se koriste uglavnom ve upoznate naredbe. c c c Linearni sistemi u vebama 9 i 10 reavaju se i analitiki i numeriki. Dati su z s c c programi za Kramerovo pravilo, Gaus-Zordanovu metodu i za metodu iteracije. Nelinearni sistemi reavaju se u vebama 11 i 12, pri emu se uvode i naredbe za s z c 3D graku (mesh, surf, surfl, contour). U 13. vebi koriste se naredbe poly i polival za interpolaciju. Dat je i program z za Lagranov interpolacioni polinom. z U 14. vebi reava se problem aproksimacije razliitim funkcijama. Dati su z s c programi za linearnu i polinomialnu regresiju. U vebama 15 i 16 numeriki se reavaju diferencijalne jednaine i sistemi difez c s c rencijalnih jednaina, pri emu se koristi naredba ode23. c c Poslednja veba sadri razne, sloenije, primere za obnavljanje svih prethodnih z z z tema. Za realizaciju svih ovih vebi koreno je svega stotinak MATLAB naredbi. Vez sc ina od njih (preko 80) data je kroz primere prvih pet vebi, a u ostalim vebama c z z uvode se samo po jedna ili dve nove naredbe.

1. BROJEVI I IZRAZI
Naredbe demo, help, exit, ...
Za prvo upoznavanje sa MATLAB - om postoje naredbe demo i tour, a naredbom help naredba dobijamo kratak opis pojedinih naredbi. Iz programa se izlazi naredbom exit ili quit. Isprobajte, na primer, (1) help demo (2) help * (3) help sqrt (4) help pi (5) help eps (6) help NaN (7) help inf (8) help i (9) help ans

Brojevi i brojevni izrazi


Za razliite formate zapisa realnog broja slue naredbe c z format, format long, format long e, format short e, format rat, vpa. Upoznajte ih na primeru brojeva i 2. U jednoj liniji mogu da se unesu i vie naredbi s odvojene znakom , ili ;. U poslednjem sluaju naredba se ispred znaka ; izvri, ali se c s rezultat ne prikazuje na ekranu. (1) (2) (3) (4) (5) (6) (7) pi, a=sqrt(2) format long, pi, a format long e, pi, a format short e, pi, a, format, pi, a format rat, pi, a vpa pi 50, vpa(a,100)

Kompleksni brojevi z = x + iy i w = rei unose se naredbama z=x+y*i, w=r*exp(i*fi),


13

pri emu se moduo, argument, realni i imaginarni deo i konjugovano kompleksni broj c dobijaju naredbama abs, angle, real, imag, conj. Na primer: (1) z=1+i, abs(z), angle(z), conj(z) (2) w=2*exp(i*pi/6), real(w), imag(w), conj(w), Brojevni izrazi dobijaju se pomou brojeva, znakova za operacije i funkcijskih imena kao c to su: s sqrt, exp, log, log10, sin, cos, tan, asin, atan,... (1) 2/2*3 (2) 6-8/2+3 2-2 (3) 3 2 2 (4) sin(log(sqrt(3))) (5) a=1/2+2/3+3/4+5/6+7/8+8/9; a, rat(a) (6) cos(2*pi/5)+cos(4*pi/5) (7) i 12345 (8) sqrt(1+i*sqrt(3))+sqrt(1-i*sqrt(3)) (9) (1+i) 6-(1-i) 6 (10) log(i), i i

Simboliki izrazi c
Ako u izrazu uestvuju i promenljive, onda one moraju da se deklariu kao simbolike c s c promenljive, to moe da se uradi naredbom syms. Za rad sa izrazima mogu da se koriste s z i naredbe collect, expand, factor, simple. (1) syms x y, factor(x 3+y 3) (2) f=expand((x+1)*(x+2)+(x+3)*(x+4)); f (3) simple((x 3-1)/(x-1)) (4) simple(cos(3*acos(x)) (5) simple(tan(2*atan(x)) (6) Izraz x xy y + xy x y

x y xy

moe da se uprosti naredbama z

syms x y; a=sqrt(x); b=sqrt(y); A=(x*a-y*b)/(a-b)+sqrt(x*y); B=(a-b)/(x-y); C=A*B 2; simple(C)


14

Zadaci
1. Utvrditi ta je vee e ili e . s c

c 2. Brojeve 2222 , 22 , 222 , 22 , 2222 , 222 , 2222 poredati po veliini.


22 2 2

22

3. Uprostiti izraz sin4

3 5 7 + sin4 + sin4 + sin4 . 8 8 8 8

4. Izraunati |z | ako je z = c

(1 + i)100 . (1 i)96 i(1 + i)98

5. Izraziti sin nx za n = 2, 3, 4, 5 u funkciji sin x i cos x.

15

2. MATRICE I VEKTORI
Unos matrica
Elementi matrice unose se po vrstama, pri emu se vrste razdvajaju znakom ; ili pomou c c tastera enter. Na primer: (1) A=[1 2 3 4; 5 6 7 8; 9 10 11 12]; A (2) syms a b; B=[a b; -b a]; B Vektori su matrice kolone ili matrice vrste, pa se unose na isti nain. Na primer: c (3) a=[1 2 3 4 5]; a (4) b=[1; 2; 3; 4; 5]; b (5) c=[1+i 1 -i 1-i]; c Medutim, moe i z (6) x=1:10, x (7) y=3:2:15;, y (8) z=linspace(0,1,10); z (9) u=logspace(0,2,11); u (10) v=0:pi/10:2*pi; v Informacije o dimenzijama vektora i matrica daju naredbe length, size i numel.

Specijalne matrice
Za specijalne matrice, kao to su nula matrica, jedinina matrica i matrica iji su svi s c c elementi jedinice, postoje naredbe zeros, eye i ones. (1) a=zeros(2,3); a (2) b=zeros(5); b (3) c=eye(4); c (4) d=ones(2,5); d (5) e=ones(3); e Jedna od funkcija naredbe diag je formiranje dijagonalne matrice. (6) D=diag([1 2 2]); D (7) a=1:5; A=diag(a); A
16

Za generisanje matrice iji su elementi sluajni brojevi, sa uniformnom raspodelom na c c intervalu (0, 1) ili normalnom raspodelom sa nultom srednjom vrednou i jedininom sc c varijansom, postoje naredbe rand i randn. Postoji i naredba magic za generisanje magine c matrice. (8) A=rand(5); A (9) B=randn(5); B (10) C=magic(10); C

Manipulacije elementima matrica


Elemenat matrice koja je uneta moe da se izdvoji ili promeni navodenjem odgovarajuih z c indeksa. Na isti nain moe da se izdvoji i blok elemenata ili podmatrica i da se dodeli c z nekoj drugoj matrici. Neka su matrica A i vektor x generisani naredbama A=[1:5; 6:10; 11:15; 16:20]; x=10:-1:1; Uoite koji su efekti sledeih naredbi: c c (1) x(3); x(2:5); x(5:end); x(2:2:8); x(6:-1:3); (2) x([ 2 8 3 5]); (3) A(3,2); B=A; B(3,2)=1; B(:,2)=5; B(;,2)=[]; (4) A(1:3,4); A(3,:); A(2:4,1:3); (5) B=A([2 3],[1 4]); C=A(:,2:4); (6) B=zeros(4,5); B(:,[1 3 5])=A(:,2:4); (7) B=A; B(1,[1 3])=pi; B([1 3],:)=pi/2; (8) a=[1 3]; B=A(a,a); (9) B=A; B=A(:,3:-1:1); Naredbom a=A(:) od kolona matrice A formira se vektor a. Elementi date matrice mogu i da se prepakuju u matricu drugih dimenzija naredbom reshape. (10) B=reshape(A,5,4); C=reshape(A,2,10); Najmanji i najvei element vektora dobijaju se naredbama min i max, a iste naredbe za c matricu daju vektore najmanjih i najveih vrednosti po kolonama. c (11) x=randperm(10); min(x), max(x) (12) A=[x; x; x; x]; min(A), max(A) (13) [minA,i]=min(A); [maxA,j]=max(A); minA, i, maxA, j (14) min(min(A)), max(max(A)), min(max(A)), max(min(A))
17

Naredbom sort elementi vektora mogu se urediti po rastuem ili opadajuem redu. c c (15) x=randperm(20); y=sort(x); y (16) z=y(end:-1:1); z U sluaju matrice A, naredbom sort(A,1) ureduju se elementi po kolonama, a naredbom c sort(A,2) ureduju se elementi po vrstama. Rang matrice dobija se naredbom rank. (17) A=[2 -4 3 1 0; 1 -2 1 -4 2; 0 1 -1 3 1; 4 -7 3 -4 5]; rank(A)

Operacije sa matricama
Za standardne operacije sabiranja, oduzimanja, transponovanja, mnoenja i stepenovanja z matrica koriste se znaci +, -, ,*, , inverzna matrica se dobija naredbom inv, a determinanta naredbom det. (1) A=[1 4 -1; 2 0 1]; B=[-2 1 -1; 0 3 1]; C=A+B; C (2) D=2*A-3*B; D (3) E=A*B; E (4) A=[2 2 3; 1 -1 0; -1 2 1]; a=det(A); B=inv(A); a, B Pored uobiajenog mnoenja matrica, postoji i mnoenje matrica i vektora po principu c z z element po element, kao to je to sluaj kod sabiranja i oduzimanja. U tom sluaju ispred s c c znaka * stavlja se taka. c (5) x=[1:5]; y=[2:6]; z=x.*y; z (6) A=2*ones(3,4); B=3*ones(3,4); C=A.*B; C Slino vai i za operacije deljenja i stepenovanja element po element. c z (7) y=1:10; [y y. 2 y. 3 y. 4] (8) A=[1 2; 3 4]; B=[2 3; 4 5]; C=A./B; C (9) A. 2, 2. A, A. A, A. (A-1) Ako je f neka od ugradenih funkcija, onda se f(A) takode rauna za svaki element. c (10) x=0:1/10:1; y=sin(x); z=exp(x); y, z Karakteristini polinom i sopstvene vrednosti matrice dobijaju se naredbama poly i eig. c (11) A=[1 1 2; 3 2 3; 1 -1 0]; eig(A) (12) syms a; A=[1 2 -1; 1 2 1; 1 2 a]; eig(A)

18

Zadaci
1. Formirati matricu dimenzija 50 100 iji su svi elementi jednaki . c

2. Izraunati zbir kvadrata prvih hiljadu prirodnih brojeva. c

3. Generisati sluajnu matricu reda 10, a zatim odrediti najvee elemente u svakoj c c koloni i najmanji od njih, kao i najmanje elemente u svakoj koloni i najvei od njih. c Uporediti, zatim, tako dobijena dva broja.

4. Generisati sluajnu matricu reda 10 i odrediti njoj inverznu matricu (zapisati samo c naredbe kojima ste to dobili).

5. Za matricu A=[a 1 0; 0 a 1; 0 0 a] odrediti njen deseti stepen.

a b+c 1 6. Izraunati vrednost determinante b c + a 1 . c c a+b 1

19

3. DVODIMENZIONA GRAFIKA
Naredba plot
Naredba plot slui za crtanje linija u ravni. Upoznajte je, najpre, naredbom plotdemo. z Sa grakog displeja prelazi se na komandni pritiskom bilo koje tipke, a naredbom shg c vraa se tekui graki displej. c c c Naredbom plot(y) dobija se izlomljena linija koja spaja susedne take sa koordinatama c (i, y(i)) za i = 1, 2, . . . , n gde je n dimenzija vektora y. (1) y=[1 -1 1 -1 1 -1 1 -1 1]; plot(y) (2) i=1:1:8, y(i)=i 2; plot(y) Naredbom plot(x,y) dobija se izlomljena linija koja spaja susedne take sa koordinatama c (x(i), y(i)) za i = 1, 2, . . . , n, gde je n dimenzija vektora x i y. Ova naredba moe da se z koristi za crtanje graka funkcija jedne promenljive. Izbor i boju linija i markiranje taaka c videti sa help plot. (3) plot([2 3],[3 5]), plot([2 3],[3 5],ro), plot([2 3], [3 5],r-) (4) x=0:pi/100:2*pi; y=sin(xpppppnnnn); plot(x,y) (5) hold on, plot(y,x) (6) t=0:pi/100:pi/2; x=sin(t); plot(t,x), y=sin(x); hold on, plot(t,y), z=sin(y); plot(t,z), u=sin(z); plot(t,u), v=sin(u); plot(t,v) (7) hold off, plot(t,x,t,y,t,z,t,u,t,v) (8) a=sin(t+.25); b=sin(t+.5); plot(x,a,r-,x,b,g--) Argumenti naredbe plot mogu da budu i matrice, pri emu se crtaju odgovarajue kolone c c matrica. (9) w=[x;y;z;u;v]; plot(t,w) (10) a=rand(10); plot(a), plot(a(:,1)), plot(a(1,:)) (11) b=rand(10); plot(a,b) (12) plot(eig(rand(10)),o) (13) t=1:.02:1; A=(1:10)*pi*t; plot(t,sin(A)) Ako je z vektor kompleksnih brojeva, onda je plot(z) isto to i plot(real(z),imag(z)). s (14) t=0:pi/8:2*pi; z=exp(i*t); plot(z), axis(square) (15) t=0:pi/50:2*pi; z=exp(i*t); plot(z), axis(square)
20

Graci parametarski datih funkcija takode se lako crtaju naredbom plot. (16) t=-1:0.01:1; x=t. 2; y=t. 3; plot(x,y) (17) t=0:0.001:2*pi; x=cos(2*t); y=sin(t); plot(x,y)

Naredba subplot
Naredbom subplot moemo ekran podeliti na m n delova i u svakom od njih prikazati z neki grak. (1) subplot(2,1,1), plot(u), subplot(2,1,1), plot(v) (2) subplot(1,2,1), plot(u), subplot(1,2,1), plot(v) (3) t=0:.01:2*pi; y=[sin(t); sin(2*t); sin(3*t); sin(4*t)] subplot(2,2,1), plot(y(:,1), subplot(2,2,2), plot(:,2), subplot(2,2,3), plot(y(:,3), subplot(2,2,4), plot(:,4)

Naredba fplot
Naredbom fplot crta se grak simboliki date funkcije. c (1) f=sin(x); fplot(f,[0 2*pi]) (2) fplot(sin(cos(t)),[0 2*pi]), grid (3) [u,v]=fplot(cos(sin(x)),[0 2*pi]); plot(u,v), plot(v,u)

Naredba polar
Naredbom polar(phi, r) crta se funkcija zadata u polarnom koordinatnom sistemu sa r = r(). (1) phi=0:.01:2*pi; r=1+cos(phi); polar(phi,r) (2) phi=0:.01:2*pi; r=sin(4*phi); polar(phi,r) (3) phi=0:.01:6*pi; r=phi; polar(phi,r)

Naredbe for, while i if


Naredba for realizuje petlju, odnosno ponavljanje dela programa. (1) for i=1:10, x(i)=i 3; end; x (2) x=[]; for i=1:10, x=[x,i 3]; end; x
21

(3) for i=10:-2:0, x(i)=i; end; x (4) for i=1:6 for j=1:4, x(i,j)=(-1) (i+j); end end x Naredba while iji je opti oblik c s while relacija naredbe end realizuje petlju koja se izvrava sve dok je tana navedena relacija. Znaenja relacijskih s c c simbola <, >, <=, >=, ==, = i logikih operacija &, | i videti pomou help naredbe. c c 1 1 1 (5) Neka je an = + + + . Reenje nejednaine an < 0.8 (po n) moe da se s c z n 2 3 dobije naredbama: s=0; n=1; while s<0.8 n=n+1; s=s+1/n; end; n Naredba if iji je oblik c if relacija naredbe end realizuje deo programa naredbe ako je tana navedena relacija. Zadavanje vie uslova c s postie se naredbama if i elseif, odnosno else. z

M - fajlovi
Niz MATLAB naredbi moe da se uva u fajlu sa datim imenom i estenzijom .m - to su z c script fajlovi. Sam fajl sa naredbama moe da se kreira u bilo kom editoru, a izvrava se z s u MATLAB-u navodenjem imena fajla. (1) Kreirati fajl fibbr.m koji sadri naredbe za odredivanje i crtanje Fibonaijevih z c brojeva manjih od 1000. Na primer: fb=[1 1]; i=1; while fb(i)+fb(i+1)<1000
22

fb(i+2)=fb(i)+fb(i+1); i=i+1; end size(fb), fb(size(fb)), plot(fb) Ovaj program izvrava se naredbom fibbr. s Posebna vrsta m - fajlova su funkcijski fajlovi u kojima se deniu nove funkcije sa s ulaznim i izlaznim parametrima. Prva naredba je obavezno function. (1) Kreirati fajl f1.m u kojem se denie funkcija f : x ex + sin x. Na primer: s %---- f1.m ----% function y=f1(x) y=exp(-x)+sin(x); pa naredbom >> f1(pi/2) izraunati vrednost funkcije za x = /2. c (2) Ako u fajlu slucmat.m imamo naredbe % ----- slucmat.m -----% function x=slucmat(m,n) x=floor(10*rand(m,n)); onda naredbom >> A=slucmat(5,10) dobijamo matricu A dimenzija 5 10 iji su elementi c sluajni brojevi od 0 do 9. c (3) Crtanje fraktala (o fraktalima moete pogledati na www.fractals.com.) z % ------ fraktali.m -----% % --- Crtanje fraktala --% function fraktali(n) % x=[1 3 2 1]; y=[1 1 1+sqrt(3) 1]; xp=1; yp=1; hold on; axis(equal); axis(off); plot(x,y) for i=1:n d=round(rand*6+1); if (d == 1| d==2) xp=(xp+x(1))/2; yp=(yp+y(1))/2; elseif (d ==3 | d ==4) xp=(xp+x(2))/2; yp=(yp+y(2))/2; elseif (d==5 | d==6) xp=(xp+x(3))/2; yp=(yp+y(3))/2; end; plot(xp,yp,r.); end
23

Probajte >> fraktali(3), fraktali(10), fraktali(100) Zadaci. 1. Upoznati naredbe title, xlabel, ylabel, text, gtext i upotrebiti ih na graku funkcije f : x p sinq (bx + c) za x [0, 5 + a/10].

2. Formirati funkcijski fajl za generisanje matrice reda m n iji su elementi sluajni c c brojevi iz intervala [min{b, c, p, q }, max{b, c, p, q }].

3. Koristei naredbe c for n=[3 4 5 6 8 10 12 18 30] k=k+1; subplot(3,3,k) nacrtati pravilne mnogouglove sa 3,4,5,6,8,10,12,18 i 30 stranica.

24

4. DIFERENCIJALNI RACUN
Izvodi
Izvod reda n funkcije f : R R dobija se naredbom diff(f,n). Za bolji zapis mogu da se koriste i naredbe pretty i simple. (1) f=sin(x 2); g=diff(f), h=diff(f,2), v=diff(g), h-v (2) f=x 5; f1=diff(f), f2=diff(f,2), f3=diff(f,3), f4=diff(f,4), f5=diff(f,5), f6=diff(f,6) (3) f=atan((1-x)/(1+x)); g=diff(f), h=diff(g), f2=simple(h), pretty(f2) (4) f=a x; g=diff(f,100), (5) f=log(x); g=diff(f,10) Parcijalni izvodi funkcije f : R2 R dobijaju se naredbom jacobian(f,[x y]) ili naredbama fx=diff(f,x) i fy=diff(f,y), gde su x i y nezavisne promenljive. (6) f=x 2*y 3; fx=diff(f,x), fy=diff(f,y) (7) syms x y; jacobian(f,[x y]) (8) f=atan((x+y)/(1+x*y)); g=log(sqrt(x 2+y 2)); a=jacobian(f), b=jacobian(g)

Tejlorova formula
Tejlorov polinom petog reda koji aproksimira funkciju f u okolini take x = a dobija se c naredbom taylor(f,a), a polinom reda n dobija se naredbom taylor(f,n,a). (1) f=sin(x); taylor(f), p9=taylor(f,9), p=taylor(f,pi/2), simple(p), taylor(f,7,pi/2) (2) f=sin(x 2); taylor(f), taylor(f,11), p=taylor(f,21), pretty(p) (3) f=sin(sin(x)); p=taylor(f,20), pretty(p)

Ispitivanje funkcija
Naredbama diff, solve, fmin, ezplot mogu da se odrede izvodi date funkcije, nule funkcije i njenih izvoda, minimum funkcije, i da se nacrtaju graci funkcije i njenih izvoda.
25

Za funkciju f : x x2 log(x) imamo: f=x 2*log(x); ezplot(f), hold on, g=diff(f), ezplot(g), a=solve(g), a=numeric(a), plot(a,0,ro), b=fmin(f,0,10), h=diff(g), ezplot(h), c=solve(h), c=numeric(c), plot(c,0,r*), hold off, ezplot(f,[0,1]), hold on, fa=a 2*log(a); fc=c 2*log(c); plot(a,fa,y*,c,fc,g*)

Lagranova teorema z
Korienjem naredbi koje smo do sada upoznali moemo da damo geometrijsku ilustraciju sc z Lagranove teoreme po kojoj za diferencijabilnu funkciju f na intervalu [a, b] postoji taka z c c0 takva da je f (b) f (a) . f (c0 ) = ba % ----- LagranzovaTeorema.m ---% %------ Data funkcija i interval [0.1,2.1] f=sin(x); %------ Nalazenje tacke c0 k=(sin(2.1)-sin(0.1))/(2.1-0.1); df=diff(f); solve(cos(x)=0.382,x); c0=1.179; x=c0; y0=eval(f); %------ Priprema za crtanje x1=0.1; x=x1; y1=eval(f); x2=2.1; x=x2; y2=eval(f); a=0; b=2.2; c=0; d=1.4; F=sin(X); h=(b-a)/100; X=a:h:b; Y=eval(F); %------ Crtanje plot([a b], [0 0], b,[0 0], [c d],b); axis([a b c d]); axis(axis); hold on; title(f(c)=k); plot(X,Y,-b); plot([x1 x2],[y1 y2],or); plot([x1 x2],[y1 y2],-r); plot(c0,y0,or);
26

plot([x1 x2],[y0-(c0-x1)*k y0+(x2-c0)*k],-r); plot(c0,0,or); plot([c0 c0],[0 y0],--r); xlabel(x); ylabel(y); grid;

Zadaci
1. Odrediti prvi izvod funkcije f ako je (1) f (x) = ln (x 1)3 , x+1 (2) f (x) = xtan x , (3) f (x) = xx .
x

2. Odrediti deseti izvod funkcije f ako je (1) f (x) = xn ex , (2) f (x) = sin(px + q), (3) f (x) = sin2 x.

3. Odrediti parcijalne izvode funkcije f ako je (1) f (x, y) = x , x2 + y 2 (2) f (x, y) = arctan xy . 1 + x2 + y 2

27

4. Odrediti Tejlorov polinom reda 6 koji aproksimira funkciju (1) f : x e2xx , u okolini take x = 0. c
2

(2) f : x esin x ,

(3) f : x ln(cos x)

5. Nacrtati grake funkcije f : x (cos x)sin x i Tejlorovih polinoma T3 (x), T6 (x) i T7 (x) koji aproksimiraju funkciju f u okolini take x = 0. c

6. Odrediti Tejlorov polinom reda 10 koji aproksimira funkciju f : x x2 ln x u okolini take x = 1. c

28

7. Odrediti take ekstremuma, take prevoja i nacrtati grake date funkcije i njena c c prva dva izvoda. (1) f (x) = p x + x3 arcsin x, (2) f (x) = p sin bx + q cos cx.

8. Geometrijski ilustrovati Lagranovu teoremu za funkciju f : x x3 /q na intevalu z [0, p].

29

5. INTEGRALNI RACUN
Neodredeni integrali
Neodredeni integral funkcije f : R R dobija se naredbom int(f) ili int(f,x). Za bolji zapis mogu da se koriste i naredbe pretty i simple. Na primer, integrale x2 x + 2 x+1 ax + b dx dx, x ln dx, arctan xdx, sin10 xdx, 4 5x2 + 4 x x cx + d dobijamo sledeim naredbama: c (1) (2) (3) (4) (5) syms x; f=(x 2-x+2)/(x 4-5*x 2+4); int(f), pretty(ans) g=x*log((x+1)/x); h=atan(sqrt(x)); f=[g;h]; a=int(f), pretty(a(1)) syms x y; f=x y; A=int(f), B=int(f,x), C=int(f,y) f=sin(x) 10; g=int(f), pretty(g), ezplot(g), ezplot(f) syms a b c d; f=(a*x+b)/(c*x+d); g=int(f), pretty(g)

Odredeni integrali
Naredbom int(f,a,b) dobija se x2 + 3x dx, 2 0 0 (x + 1)(x + 1) dobijamo sledeim naredbama: c (1) (2) (3) (4)
1 /4 b f (x)dx. a

Na primer, integrale
3

cos3 xdx,
0

arcsin

x dx, 1+x

/2

tet sin tdt


0

syms x; f=(x 2+3*x)/((x+1)*(x 2+1)); int(f,0,1) f=cos(x) 3; I=int(f,0,pi/4), numeric(I) h=sqrt(x/(1+x)); g=asin(h); a=0; b=1; A=int(g,a,b), numeric(A) syms t; a=int(t*exp(t)*sin(t),0,pi/2), b=numeric(a)

Nesvojstveni integrali
Naredba za nesvojstvene integrale ista je kao i za odredene, a oznaka za je inf. (1) syms x; f=1/(1+x 2); int(f,-inf,inf) (2) f=1/sqrt(x); g=1/(sqrt(x)*log(x)); a=int(f,0,1), b=int(g,0,1/2), numeric(b)

Duina luka date krive z


b

Ako je y = f (x) za x [a, b], onda je l =


t2 a

1 + y 2 (x)dx, ako je x = x(t) i y = y(t)

za t [t1 , t2 ], onda je l =
t1

x 2 (t) + y 2 (t)dt, a ako je r = r() za [, ], onda je


30

l=

r2 () + r 2 ()d. Na primer, ako je (2) y = x2 , x [0, a], (3) x = et sin t, y = et cos t, t [0, /2],

(1) y = ln(x2 1), x [2, 5],

onda se duina odgovarajueg luka dobija sledeim naredbama: z c c (1) syms x; f=log(x 2-1); g=sqrt(1+diff(f) 2); l=int(g,2,5) (2) syms a; f=x 2; l=int(sqrt(1+diff(f) 2),0,a), pretty(l), ezplot(l,[0,5]) (3) syms t; x=exp(t)*sin(t); y=exp(t)*cos(t); f=sqrt(diff(x) 2+diff(y) 2; pretty(f), l=int(f,0,pi/2), numeric(l)

Zadaci
1. Izraunati c dx , 3+1 x x4 + 4x3 + 11x2 + 12x + 8 dx, (x2 + 2x + 3)2 (x + 1) x50 ex dx, dx . (1 + x2 )10

2. Za realne parametre a, b i c izraunati c sin(ax) cos(bx) sin(cx)dx, x2 ax + b dx, +x+1 eax sin(bx) cos(cx)dx.

3. Izraunati c
0

ln(1 + x) dx, 1 + x2

/2

sin x sin 2x sin 3xdx,


0 0

dx . sin x + cos4 x
4

31

4. Izraunati prvih deset lanova nizova (an ) i (bn ) ako je c c


1 /2

an =
0

xn arcsin xdx,

bn =
0

xn cos xdx.

5. Izraunati c

arctan x dx, (1 + x)2

x3 ln x dx, (x4 + 1)3 0

dx , x x1

dx

2x2 5x + 7

6. Izraunati duinu luka datog sa c z (1) y = x x 1x , x [0, 5/6], (2) r = sin3 (/3), [0, 3],

(3) x = t sin t, y = 1 cos t, t [0, 2].

32

6. RESAVANJE JEDNACINA
Veba 1 z
Primenom programskog paketa MATLAB izolovati korene jednaine ln x = cos x grakom c c metodom. (1) Najpre nacrtati funkcije f : x ln x i g : x cos x. [x1,y1]=fplot(log(x),[0.1,10]); [x2,y2]=fplot(cos(x),[0.1,10]); plot(x1,y1,r,x2,y2,b),grid (2) Nacrtati funkciju h : x ln x cos x i suavati interval u kome se nalazi koren date z jednaine c fplot(log(x)-cos(x),[1,3]),grid fplot(log(x)-cos(x),[1.2,1.4]),grid .................

Veba 2 z
Koristei naredbu fzero reiti jednainu iz prethodne vebe. c s c z (1) Koristiti dobijene intervale [a, b] iz vebe 1. z fzero(log(x)-cos(x),[a,b]) (2) Zato program ne moe da rei jednainu ako je [a, b] = [3, 4] ? s z s c (3) Reiti jednainu koristei samo poetnu vrednost x0 s c c c fzero(log(x)-cos(x),x0 ) pri emu za x0 uzeti vrednosti: 0.6, 0.7, 1, 5, 13, 14,... c (4) Pratiti iteracije naredbom fzero(log(x)-cos(x),[a,b],[],1)

Veba 3 z
Neka je funkcija h (iz vebe 1) denisana u function fajlu h.m z % ------ h.m -----function y=h(x) y=log x-cos x; Kreirati function fajl metpolin.m za reavanje jednaine h(x) = 0 metodom polovljenja s c intervala sa tanou 1000eps. Ulazni parametri neka budu funkcija h i poetna vrednost c sc c x0, a izlazni parametar reenje date jednaine. Na primer: s c
33

% ---- mrtpolin.m ------% function x=metpolint(fun,x0) % if x0=0, dx=x0/20; else, dx=1/20; end a=x0-dx; fa=feval(fun,a); b=x0+dx; fb=feval(fun,b); % ------- Promena znaka while (fa>0) == (fb>0) dx=2*dx; a=x0-dx; fa=feval(fun,a); if(fa>0) = (fb>0), break, end b=x0+dx; fb=feval(fun,b); end %-------- Glavna petlja while abs(b-a) > 1000*eps c=a+0.5*(b-a); fc=feval(fun,c); if (fb>0) == (fc>0) b=c; fb=fc; else a=c; fa=fc; end end x=b Naredbom >> metpolin(h,x0), za razliite poetne vrednosti x0 , dobijamo reenje date c c s jednaine. c

Zadaci
1. Grakom metodom locirati korene, a zatim reiti datu jednainu. c s c 1) x3 ax + 1 = 0, 2) ln x x + a = 0.

34

2. Isprobati naredbu solve za reavanje jednaina iz prethodnog zadatka. s c

3. Isprobati naredbu roots za nalaenje nula polinoma i pomou nje reiti prvu z c s jednainu. c

4. Naredbom line oznaiti na graku taku u kojoj je nula funkcije (videti primer u c c zerodemo).

5. Metodom polovljenja intervala reiti jednainu s c (1) xx = b + c, (2) xx = p + q.


x

6. Modikovati metodu polovljenja intervala u metodu suavanja intervala, pri emu z c se za novu taku (umesto sredita datog intervala) uzima sluajna taka tog intervala. c s c c

35

7. METODA ITERACIJE
Veba z
Kreirati m - fajl, na primer mit.m, sa MATLAB naredbama za reavanje date jednaine s c iterativnom metodom. Ako je data jednaina oblika x = g(x) i ako je funkcija g denisana c u m - fajlu fung.m, sadraj fajla mit.m moe da izgleda ovako: z z % ---- mit.m -------% x0=input(Uneti x0: ); e=input(uneti tacnost e: ); n=0; [x1,gp]=fung(x0); if abs(gp)>1 error(Nije dobra pocetna vrednost) end while abs(x1-x0)>e n=n+1; x0=x1; [x1,gp]=fung(x0); end disp([Resenje je x=,num2str(x1)]) disp([Broj iteracija: ,int2str(n)]) Na primer, jednaina c 4x 5 = 5 ln x ima jedno reenje na intervalu (0.5, 2], a drugo na intervalu [2, +). s napiemo u obliku s x = 1.25(1 + ln x), onda je g(x) = 1.25(1 + ln(x), g = 1.25/x, pa su uslovi konvergencije ispunjeni za x > 1.25, to znai da metodom iteracije moemo s c z dobiti drugo reenje. U fajl fung.m treba uneti s % ----- fung.m -------% function [g,izvodg]=fung(x) g=1.25*(1+log(x)); izvodg=1.25/x; Za prvo reenje treba jednainu napisati u obliku s c x = e0.8x1 , a u fajl fung.m treba uneti Ako jednainu c

36

% ----- fung.m -------% function [g,izvodg]=fung(x) g=exp(0.8*x-1); izvodg=0.8*g; U komandnu liniju treba uneti >> mit i otkucati Enter. Za razliite poetne vrednosti c c x0 i razliitu tanost e pratiti broj potrebnih iteracija. c c

Zadaci
1. Grakom metodom izolovati reenja, a zatim metodom iteracije reiti jednainu c s s c 1) 2 arctan x = x + a

2) ex = x2 + a.

37

2. Metodom iteracije reiti datu jednainu sa tanou (1) 105 , (2) 108 i nacrtati s c c sc grak vrednosti dobijenih iteracijama. 1) cos x = 3x a 2) ln x + (x a)3 = 0

3) tg x = (2a + 1)x

4) (x a)2 = ex .

3. Umesto mit.m kreirati function fajl sa naredbom function [x,xn,gr]= miter(g,x0,e,n), gde je x0 poetna vrednost, e zadata tanost, n maksimalni broj iteracija, xn priblino c c z reenje, x vektor vrednosti dobijenih iteracijama, a gr procenjena greka priblinog reenja. s s z s

38

8. JEDNACINE - OBNAVLJANJE
Veba 1 z
Kreirati m - fajl, kvkoren.m, sa MATLAB naredbama za izraunavanje kvadratnog korena c realnog broja x Njutnovom metodom. Na primer, sadraj fajla kvkoren.m moe da izgleda z z ovako: % ----- kvkoren.m -------% Kvadratni koren broja x (Njutnova metoda) % function y=kvkoren(x) if x<0 error(x je negativan broj!); end x0=x/2; for i=1:100 y=(x0+x/x0)/2; if abs(y-x0)<eps, break, end; x0=y; end Koristei kvkoren i naredbu for izraunati kvadratne korene prirodnih brojeva manjih od c c 100.

Veba 2 z
Za graki prikaz iteracija xn = g(xn1 ) na intervalu [a, b] (i u sluaju konvergencije i u c c sluaju divergencije) moe da se koristi function fajl miter.m iji je sadraj sledei: c z c z c % ---- miter.m -------% function [x1,gr]=miter(g,x0,epsilon,nmax,a,b) % h=(b-a)/100; X=a:h:b; Y=feval(g,X); x(1)=x0; gr=1; x1=x0; for i=1:nmax x1=feval(g,x0); gr=abs(x1-x0); if(gr<epsilon) break; end x0=x1; x(i+1)=x1; end nmax=length(x); for i=1:nmax-1 k1=2*i-1; k2=2*i; ax(k1)=x(i); ax(k2)=x(i);
39

ay(k1)=x(i); ay(k2)=x(i+1); end ay(1)=0; y0=zeros(1,nmax); plot([a b],[0 0],b,[0 0],[a b],b); axis([a b a b]); axis(axis); hold on; plot([a b],[a b],-g,X,Y,-g,ax,ay,-r,x,y0,or); title(Metoda iteracije za jednainu x=g(x)); c grid; hold off; Koristei miter i funkciju g(x) = 1+x c x2 , izraunati kvadratni koren broja y i za razliite c c y poetne vrednosti x0 nacrtati tok iterativnog procesa. c

Zadaci
1. Kreirati function fajl u kojem se rauna n - ti koren broja x, gde je n prirodan c broj vei od 1 (ulazni parametri neka budu n i x), a zatim izraunati b + c - ti koren broja c c a + p + q.

2. Iterativnom metodom reiti jednaine: s c (1) x = (b + c)ex (2) x3 x2 x b = 0

40

(3) (x + p)2 + q sin x = 0

3. Njutnovom metodom reiti jednaine: s c (1) x3 x b = 0

(2) x4 + 2x3 + 7x2 c = 0

4. Numeriki i analitiki reiti jednainu x4 x p = 0. c c s c

41

5. Odrediti dva reenja jednaine ebx = sin cx. s c

6. Reiti jednainu ex/b + sin(x/c) = 0 na intervalu [0, 20]. s c

7. Odrediti sva reenja jednaine s c 288x5 720x4 + 694x3 321x2 + 71x 6 = 0.

8. Odrediti lokalne ekstremume funkcije f : x qx + p ln x x3 .

42

9. LINEARNI SISTEMI - I
Veba 1 z
Kreirati fajl CramerovoPravilo.m iji je sadraj: c z % ---- CramerovoPravilo.m -----------% Resavanje sistema AX=B Cramerovim pravilom % function X=CramerovoPravilo(A,B) [m,n]=size(A); if m = n, error(Matrica nije kvadratna), end if det(A) == 0, error(Matrica je singularna), end for j = 1:n, C=A; C(:,j) = B; X(j)=det(C)/det(A); end X=X; i testirati sistemom reda 100 ije su matrice sluajne. c c

Veba 2 z
Kreirati fajl GaussJordanovaMetoda.m iji je sadraj: c z % ---- GaussJordanovaMetoda.m -----------% Resavanje linearnog sistema Gauss Jordan - ovom metodom % function X=GaussJordanovaMetoda(A,B) [n n]=size(A); A=[A;B]; X=zeros(n,1); for i=1:n, for j=[1:i-1,i+1:n], if A(i,i) == 0, break, end m = A(j,i)/A(i,i); A(j,:)=A(j,:)- m*A(i,:); end end X=A(:,n+1)./diag(A) i testirati nekim sistemom reda 500.
43

Veba 3 z
Naredbama syms A B m; A=[m 1 1; 1 m 1; 1 1 m]; B=[1; m; m*m]; X=A\B reiti sistem (za m {2, 1}) s mx + y + z = 1, x + my + z = m, x + y + mz = m2

Zadaci
1. Matrica B i kolone matrice A sistema AX = B su sluajne permutacije brojeva c 1, 2, . . . , 10 (videti naredbu randperm). Reiti ovaj sistem s

(1) matrinom metodom, c

(2) Cramerovim pravilom,

(3) Gauss Jordanovom metodom,

44

2. Reiti sistem s mx + ny + z = 1, za m {2, 1} i n = 0. x + ny + mz = 1, x + mny + z = n

3. Reiti sistem (najpre odrediti rang matrice sistema i odabrati slobodne promenljive) s (1) 3x 2y + 5z + 4u = 2, 6x 4y + 4z + 3u = 3, 9x 6y + 3z + 2u = 4,

(2) 3x y + 4z + 4u v = 0,

6x 2y + 2z + 5u + 7v = 0,

9x 3y + 4z + 8u + 9v = 0.

45

10. LINEARNI SISTEMI - II


Veba 1 z
Dat je sistem 1.02x 0.05y 0.10z =0.795 0.11x + 1.03y 0.05z =0.849 0.11x 0.12y + 1.04z =1.398 Napisati sistem u matrinoj formi AX = B, a zatim MATLAB naredbom c A=[1.02 -0.05 -0.1; -0.11 1.03 -0.05; -0.11 -0.12 1.04] uneti matricu A i naredbama norm(A), norm(A,1), norm(A,inf), norm(A,fro) odrediti norme matrice A. Uneti, zatim, matricu B i reiti sistem naredbom X=A\B, a zatim s naredbom A*X-B proveriti dobijeno reenje. s

Veba 2 z
Napisati sistem u obliku X = CX + D, gde je C = I A i D = B. Matrice C i D mogu da se dobiju naredbama C=eye(size(A))-A, D=B. Izraunati norme matrice C, a zatim kreirati m - fajl, na primer linsis.m za reavanje c s sistema iterativnom metodom. Ako su matrice C i D unete, sadraj tog fajla moe da z z izgleda ovako: % ------- linsis.m -----% Sistem linearnih jednacina X=CX+D - prosta iteracija % disp(Matrice sistema ), C, D if(norm(C)>=1) error(Norma matrice C nije manja od 1), end X0=input(Uneti X0: ); e=input(Uneti tacnost e: ); n=0; X=C*X0+D; while norm(X-X0)>e n=n+1; X0=X; X=C*X0+D; end disp(Resenje je:) ,X disp(Broj iteracija: ),n
46

Naredbom linsis, za razliite vrednosti X0 i e, pratiti broj potrebnih iteracija. c

Veba 3 z
Napisati sistem u Jakobijevom obliku 1 aii
i1 n

xi =

ai,j xj +
j=1 j=i+1

ai,j xj bi .

Ako je X = CX + D, onda Jakobijeva matrica C i matrica D mogu da se dobiju naredbama: E=zeros(size(A)); for i=1:size(A); E(i,i)=1/A(i,i); end A1=E*A; C=eye(size(A))-A1, D=E*B

Zadaci
1. Matrinom metodom reiti dati sistem: c s qx 1.8y + 3.6z = 1.7 (1) 3.1x + 2.3y 1.2z = 3.6 1.8x + 2.5y + 4.6z = 2.2

2px + 1.2y + 2.1z + 0.9u = 7 1.2x + 11.2y + 1.5z + 2.5u =5.3 (2) 2.1x + 1.5y + 9.8z + 1.3u =10.3 0.9x + 2.5y + 1.3z + 12.1u =24.6
47

2. Ispitati da li prethodni sistemi mogu da se ree Jakobijevom metodom. s

3. Ispitati da li prethodni sistemi mogu da se ree izborom matrica C i D kao u s linsis.m.

4. Generisati linearni sistem reda 50 sa sluajnim koecijentima i ispitati da li moe c z da se rei s (1) matrinom, c metodom. (2) iterativnom

48

11. NELINEARNI SISTEMI - I


Veba 1 z
Dat je sistem x3 + y 3 6x + 3 =0 x3 y 3 6y + 2 =0 MATLAB naredbama x=0:0.1:1; y=0:0.1:1; [x,y]=meshgrid(x,y); z=x. 3+y. 3-6*x+3; u=x. 3-y. 3-6*y+2; mesh(x,y,z),hold mesh(x,y,u) nacrtati 3D grake funkcija f : (x, y) x3 + y 3 6x + 3, a zatim naredbama contour(x,y,z,[0. contour(x,y,u,[0. 0.]), hold, 0.]) g : (x, y) x3 y 3 6y + 2,

odrediti njihov presek u ravni Oxy i na osnovu toga lokalizovati reenje datog sistema. s Umesto naredbe mesh probati i naredbe surf i surfl.

Veba 2 z
Napisati dati sistem u obliku x = (x, y), y = (x, y), gde je : (x, y) x3 + y 3 1 + 6 2 : (x, y) x3 y 3 1 + , 6 3

a zatim odrediti parcijalne izvode funkcija i . Kreirati m -fajl, na primer fipsi.m, koji e za date vrednosti x i y da rauna vrednosti funkcija i i njihovih parcijalnih izvoda. c c % ------- fipsi.m -------% Vrednosti funkcija , % i njihovih parcijalnih izvoda % function [fi,psi,fix,fiy,psix,psiy]=fipsi(x,y) fi=(x. 3+y. 3)/6+1/2; psi=(x. 3-y. 3)/6+1/3; fix=x. 2/2; fiy=y. 2/2; psix=x. 2/2; psiy=-y. 2/2;
49

Veba 3 z
Kreirati m - fajl, na primer nelsis.m, sa MATLAB naredbama za reavanje nelinearnog s sistema od dve jednaine sa dve nepoznate iterativnom metodom c xn+1 = (xn , yn ), yn+1 = (xn , yn ),

gde su x0 i y0 poetne vrednosti i gde se proverava uslov c


|x | + |y | < 1, |x | + |y | < 1.

% --------- nelsis.m ----------% x0=input(Uneti pocetnu vrednost za x: ); y0=input(Uneti pocetnu vrednost za y: ); e=input(Uneti tacnost e: ); n=input(Uneti maksimalni broj iteracija: ); i=0; [x,y,fix,fiy,psix,psiy]=fipsi(x0,y0); if max(abs(fix)+abs(fiy),abs(psix)+abs(psiy))>1 error(Nije dobar izbor funkcija fi i psi), end while abs(x-x0)>e if i>n error(Nije postignuta tacnost), end i=i+1; x0=x; y0=y; [x,y,fix,fiy,psix,psiy]=fipsi(x0,y0); end disp(x),disp(y) Naredbom nelsis, za razliite vrednosti x0,y0 i e pratiti broj potrebnih iteracija. c

Zadaci
1. Modikovati nelsis za iterativni algoritam tipa Zajdela xn+1 = (xn , yn ), yn+1 = (xn+1 , yn )

i na primeru iz prethodnih vebi uporediti sa rezultatima dobijenim sa nelsis. z

50

2. Iterativnom metodom reiti dati sistem s (1) sin(x 0.6) y + b =1.6 3x cos y =0.9

(2)

2x2 xy (5 + c)x = 1 x + 3 ln x y 2 = 0.

51

12. NELINEARNI SISTEMI II


Veba z
Sistem x3 + y 3 6x + 3 =0 x3 y 3 6y + 2 =0

reiti metodom Njutn Kantorovia u 5 iteracija i dobijene vrednosti za x i y u svakoj s c iteraciji nacrtati na istom dijagramu. Potrebno je formirati m - fajlove, na primer f.m, g.m i jacfg.m %--- function fajl f.m koji definise funkciju f % function z=f(x,y) z=x 3+y 3-6*x+3; %--- function fajl g.m koji definise funkciju g % function z=g(x,y) z=x 3-y 3-6*y+2; %--- function fajl jacfg.m koji definise jacobijan % function z=jacfg(x,y) z=[3*x 2-6 3*y 2; 3*x 2 -3*y 2-6]; u kojima se izraunavaju vrednosti funkcija f i g, gde je c f (x, y) = x3 + y 3 6x + 3, g(x, y) = x3 y 3 6y + 2,

kao i matrica jacfg parcijalnih izvoda funkcija f i g. Zatim se kreira m - fajl, na primer njutnkantmetoda.m, gde se MATLAB naredbama realizuje algoritam metode Njutn Kantorovia. c % --------- njutnkantmetoda.m ----------% Metoda Njutn Kantorovia za nelinearne sisteme c % p0 = input(Uneti pocetnu vrednost [x0;y0]= ); x = p0(1); y = p0(2); disp(br. it. x y f(x,y) g(x,y) ) disp( ) ff = f(x,y); gg = g(x,y); fprintf( %d %0.5f %0.5f %0.5f %0.5f,0,x,y,ff,gg) plot([x], [y], *) hold on
52

pause for n = 1:5 p1 = jacfg(x,y)\(jacfg(x,y)*p0 - [f(x,y); g(x,y)]); x = p1(1); y = p1(2); ff = f(x,y); gg = g(x,y); fprintf( % d %0.5f %0.5f %0.5f %0.5f,n,x,y,ff,gg) plot([x], [y], *) p0=p1; if n < 5, pause, end end hold off

Zadaci
1. Odrediti sva reenja prethodnog sistema korienjem naredbe solve. s sc

2. Metodom Njutn Kantorovia reiti date sisteme (odrediti sva reenja): c s s (1) x2 + y 2 x =0 x2 y 2 y =0

53

(2)

3x2 y 2 =0 3xy 2 x3 1 =0

(3)

x + y 3 5y 2 2y =10 x + y 3 + y 2 14y =29

3. Napisati program za reavanje sistema od tri jednaine sa tri nepoznate metodom s c Njutn Kantorovia, a zatim reiti sistem c s x2 x + y 2 + z 2 = 5, x2 + y 2 y + z 2 = 4, x2 + y 2 + z 2 = 6.

54

13. INTERPOLACIJA
Veba 1 z
Polinom Pn (x), gde je Pn (x) = a0 xn + a1 xn1 + + an1 x + an , u MATLAB - u je predstavljen vektorom p koecijenata a0 , a1 , . . . , an1 , an , p=[a0 a1 . . . an ], a vrednost polinoma za x = a dobija se naredbom polyval(p,a). Koecijenti interpolacionog polinoma mogu da se izraunaju iz sistema c Ap=y , gde je A Vandermondova matrica, a y vektor (vrsta) datih podataka. U fajlu interppol.m denisan je function koji ima kao ulazne parametre vektore (vrste) x i y, a izlazni parametar je vektor p. % ------- interpol.m -------% function p=interppol(x,y) [m n]=size(x); A=zeros(n); x=x; for j=1:n A(:,j)=x. (n-j); end p=A\y; xx=x(1)-1:0.01:x(n)+1; px=polyval(p,xx); plot(x,y,*,xx,px), pause(1) s c Ako funkcijom x sin x generiemo 10 taaka, na primer, x=1:10; y=sin(x), onda pozivom p=intrppol(x,y) dobijamo koecijente interpolacionog polinoma, a na graku vidimo da polinom sadri z date take. Nacrtati na istom graku i funkciju x sin x, a zatim na drugom graku c razliku polinoma i funkcije x sin. Postupak ponoviti sa manjim i veim brojem datih c taaka. c

55

Veba 2 z
U fajlu lagintpol.m programiran je Lagranov oblik interpolacionog polinoma. Ulazne z veliine su vektori podataka xz i yz i argument xt za koji se trai vrednost polinoma. c z Izlazne veliine su: vrednost polinoma u xt, koecijenti polinoma, kao i simboliki zapis c c samog polinoma. %------- lagintpol.m -------% function [px,polinom,pkoef]=lagintpol(xz,yz,xt) % % Lagranzov interpolacioni polinom i njegova vrednost za xt % px=0; syms x; n=length(xz); polinom=0; pkoef=0; for j=1:n p=1; q=1; ps=1; kor=[]; for i=1:n if i=j, p=p*(xt-xz(i)); q=q*(xz(j)-xz(i)); ps=ps*(x-xz(i)); kor=[kor xz(i)]; end end px=px+yz(j)*p/q; ps=expand(ps); polinom=polinom+yz(j)*ps/q; pkoef=pkoef+poly(kor)*yz(j)/q; end polinom=vpa(polinom,4); % xx=xz(1)-2:0.01:xz(n)+2; yy=polyval(pkoef,xx); plot(xz,yz,*,xx,yy), pause(1) Primer iz prethodne vebe ponoviti sa lagintpol. z

Zadaci
1. Generisati podatke (najmanje 10) datom funkcijom f , a zatim odrediti odgovarajui c Lagranov interpolacioni polinom. z (1) f (x) = b ln x

56

(2) f (x) = c/(1 + x2 )

(3) f (x) = pxex qex

2. Modikovati lagintpol.m tako da se u Lagranovom obliku polinoma tampaju i z s polinomi L0 (x), L1 (x), . . . Ln (x). Rezultat prikazati na jednom od prethodnih primera.

57

14. APROKSIMACIJA
Veba 1 z
Ako je aproksimaciona funkcija f linearna, f (x) = ax + b, onda metodom najmanjih kvadrata dobijamo sistem za nepoznate parametre a i b
n n n n n

a
i=0

xi + (n + 1)b =
i=0

yi ,

a
i=0

x2 + b i
i=0 n

=
i=0

xi yi ,

pa je a=
n i=0 (xi x)(yi y) , n 2 i=0 (xi x)

x=

1 n+1

xi ,
x=0

y=

1 n+1

yi .
i=0

Ovakva aproksimaciona funkcija naziva se linearnom regresijom. U fajlu linreg.m su naredbe za izraunavanje parametara a i b za date vektore x i y. c % ----- linreg.m -----% function [a,b]=linreg(x,y) % % Linearna regresija % xmean=mean(x); ymean=mean(y); A=(y-ymean)*(x-xmean); B=(x-xmean)*(x-xmean); a=A/B; b=ymean-a*xmean; xt=min(x)-0.5:0.01:max(x)+0.5; yt=a*xt+b; plot(xt,yt,x,y,*) Na primer, neka je x=1:10 i y=x+0.5*randn(size(x)). Odrediti parametre linearne regresije.

Veba 2 z
Sistem iz prethodne vebe moe da se napie i u obliku z z s AT A[a b]T = AT y, gde je AT = x0 1 x1 1

xn 1

Ako je aproksimaciona funkcija f polinom stepena m, odnosno f (x) = a0 xm + a1 xm1 + + am1 x + am ,


58

onda metodom najmanjih kvadrata dobijamo sistem oblika AT Aa = AT y, gde je xm 0 xm A= 1

m x0 1 xm1 1

xm n

xm1 n

x0 x1

xn

1 1 , 1

a = [a0 a1 . . . an ] ,

y = [y0 y1 . . . yn ] .

Iz ovog sistema sledi da je a = (AT A)1 AT y. U fajlu polreg.m date su naredbe kojima se rauna a za date vektore x i y. c % ------ polreg.m ------% function p=polreg(x,y,m) % % Polinomialna regresija % n=length(x); b=zeros(1:m+1); f=zeros(n,m+1); for k=1:m+1, f(:,k)=x. (m+1-k); end, a=f*f; b=f*y; p=a\b; xt=min(x)-0.5:0.01:max(x)+0.5; yt=polyval(p,xt); plot(xt,yt,x,y,*)

Zadaci
1. Primer iz prve vebe aproksimirati polinomima reda 1,2,3,...,10. z

59

2. Prouiti MATLAB maredbu polyfit i pomou nje uraditi prethodne primere. c c

3. Prouiti MATLAB naredbu \ i uporediti rezultat dobijen sa polreg i sa c n=length(x); A=zeros(n,m+1); for k=1:m+1, A(:,k)=x. (m+1-k); end, p=A\y

4. Ako je f (x) = a0 f0 (x) + a1 f1 (x) + + an fn (x), onda je A=[f0 (x) f0 (x) ... fn (x)] i p=A\ y.

Na primer, uzeti f (x) = a0 + a1 x + a2 sin(x), i A=[ones(size(x)) x sin(x)].

60

5. Prouiti MATLAB naredbu nlinfit za aproksimaciju nelinearnim funkcijama (po c nepoznatim parametrima) i isprobati za: (1) f (x) = a1 ea2 x + a3 ea4 x

(2) f (x) =

a1 + a2 x + a3 x2 . a4 + a5 x + a6 x2

61

15. DIFERENCIJALNE JEDNACINE


Veba z
Data je diferencijalna jednaina prvog reda c y = 1 + x sin(xy). Kreirati m - fajl, na primer difjed.m (tipa function fajla), gde e za date vrednosti x i c y da se izraunava vrednost y . c % ------ difjed.m ----% function yp=difjed(x,y) yp=1+x*sin(x*y); MATLAB naredbama [x,y]=ode23(difjed,[x0 x1], y0); plot(x,y) za razliite poetne vrednosti y0 graki prikazati reenje date jednaine na intervalu c c c s c [x0,x1].

Zadaci
1. Numeriki odrediti partikularno reenje jednaine c s c y x = 2y + x3 ex , y(1) = 0

na intervalu [1, p] i graki uporediti sa taim reenjem koje je dato funkcijom c c s y : x x2 (ex e).

62

2. Reiti numeriki i analitiki jednainu s c c c y = cos x sin x y, y(0) = q

i graki uporediti dobijena reenja na intervalu [0, 10]. c s

3. Na istom graku prikazati bar 10 razliitih partikularnih reenja date jednaine na c s c intervalu [0, b/c + c/b]. (1) y = x3 y 3 ,

63

(2) y = xy + ey ,

(3) y =

1 + y2 . 1 + x2

(4) y =

y2 y + . x2 x

64

4. Napisati MATLAB program za reavanje diferencijalne jednaine Ojlerovom mes c todom i testirati na prethodnim primerima, a zatim uporediti sa rezultatima dobijenim naredbom ode23.

5. Napisati MATLAB program za reavanje diferencijalne jednaine modikovanom s c Ojlerovom metodom i metodom Runge Kuta i testirati na prethodnim primerima, a zatim uporediti sa rezultatima dobijenim naredbom ode45.

65

16. SISTEMI DIFERENCIJALNIH JEDNACINA


Veba 1 z
Dat je sistem diferencijalnih jednaina c y = y cos x z sin x , z = y sin x + z cos x y(0) = 1, z(0) = 0.

Kreirati m - fajl, na primer sdj.m, sa function naredbom kojom e za date vrednosti x, c y i z da se izraunavaju vrednosti izvoda y i z . c % ----- sdj.m ---------% function yp=sdj(x,y) yp=zero(2,1); yp(1)=y(1)*cos(x)-y(2)*sin(x); yp(2)=y(1)*sin(x)+y(2)*cos(x); a zatim naredbama [x,y]=ode23(sdj,[0 5], [1 0]); plot(x,y),pause plot(y(:,1),y(:,2)) graki prikazati numerika reenja datog sistema i zavisnost promenljivih y i z u faznoj c c s ravni.

Veba 2 z
Dat je sistem diferencijalnih jednaina c y = 2y + 5u z = y sin x y z + 3u , u = y + 2u y(0) = 2, z(0) = 1, u(0) = 1.

Kreirati m - fajl, na primer sdj3.m, sa function naredbom kojom e za date vrednosti x, c y, z i u da se izraunavaju vrednosti izvoda y , z i u c % ------ sdj3.m ------% function yp=sdj3(x,y) yp=zeros(3,1); yp(1)=-2*y(1)+5*y(3); yp(2)=-(1-sin(x))*y(1)-y(2)+3*y(3); yp(3)=-y(1)+2*y(3); a zatim naredbama
66

[x,y]=ode23(sdj3,[0 3],[2 1 1]); plot(x,y) graki prikazati numerika reenja. c c s

Zadaci
1. Reiti numeriki dati sistem na intervalu [0, p] za razliite poetne vrednosti s c c c (1) y = xy + z, z = y z.

(2) y = x + z 2 ,

z = xy.

(3) y = u xz + 1,

z =x+

u , xy

u = 3(y 2 + z).

67

2. Za nekoliko razliitih poetnih vrednosti prikazati u faznoj ravni zavisnost nepozc c natih promenljivih datog sistema (1) y = 2y + z 2 1, z = 6y z 2 + 1,

(2) y = 1 y 2 z 2 ,

z = 2yz,

(3) y =

z , x

z = xy.

68

17. RAZNI PROBLEMI


1. Reiti datu jednainu s c (1) cx5 bx3 + a = 0

(2) bx2 a ln(x + 1) = c.

2. Reiti sistem AX = B ako je A = (ai,j ) i B = (bi ), pri emu je s c ai,j = sin(a i + p j), bi = cos(b q i), i, j = 1, 2, 3, 4, 5.

3. Reiti sistem s x + y 2 + z 3 = 3p, x2 + y 3 + z = p, x3 + y + z 2 = 3p/2.

69

4. Reenja jednaine me2x 3x = 0, za 100 vrednosti parametra m u intervalu [0, 10], s c nacrtati u zavisnosti od m. Isprobati sledee naredbe: c y=[]; x=[]; for m=0:0.1:10 f=fzero(funkcija1,[0 10],1e-10,[],m); y=[y f]; x=[x m]; end plot(x,y) gde je % ------ funkcija1.m % function y=funkcija1(x,m) y=m*exp(-2*x)-3*x;

5. Funkciju f : x cx2 na [0, 1] aproksimirati funkcijom g : x a1 + a2 x + a3 sin x.

6. Funkciju f : x b sin x na [0, ] aproksimirati funkcijom g : x a1 ea2 x + c3 ea4 x .

70

7. Funkcijom x a1 sin(a2 x) aproksimirati funkciju f ako je f (1) = 0.2, f (2) = 0.74, f (3) = 0.6), f (4) = 0.1, f (5) = 0.3, f (6) = 0.9, f (7) = 0.5, f (8) = 0.1

8. Odrediti Lagranov interpolacioni polinom koji sadri take (x, sin x), gde je z z c x {0, /36, /18, /12, pi/9, 5/36, /6}, a zatim pomou njega izraunati vrednosti sinusa uglova od 1 do 30 sa korakom od 1 . c c

9. Reiti jednainu x3 nx + p = 0 za n {1, 2, 3, 4, 5}, a zatim odrediti Lagranov s c z interpolacioni polinom koji sadri take (n, xn ), gde je xn najvee reenje odgovarajue z c c s c jednaine. c

10. Objasniti rezultat sledeih naredbi: c p=[1 -6 11 -6]; x=0:.25:4; y=polyval(p,x); z=y+rand(size(x)); q=polyfit(x,z,3); u=polyval(q,x); plot(x,u,x,y,x,z,o)

71

11. Napisati MATLAB program koji odreduje Njutnov oblik interpolacionog polinoma i njegov rad prikazati na primerima koji su uradeni u temi 11.

12. Ojlerovom metodom reiti jednainu s c y + (y 2 1)y + y = 0 na intervalu [0, p] za nekoliko razliitih poetnih uslova. c c

72

M - FAJLOVI KORISCENI U VEZBAMA


CramerovoPravilo Fibbr fractali GaussJordanovaMetoda interpol kvkoren LagranzovaTeorema Lagintpol linsis linreg metpolint mit miter nelsis NjutnKantmetoda polreg slucmat reavanje linearnog sistema s Fibonaijevi brojevi c crtanje fraktala reavanje linearnog sistema s interpolacija kvadratni koren graki prikaz teoreme c Lagranov interpolacioni polinom z reavanje linearnog sistema s linearna regresija metoda polovljenja intervala metoda iteracije metoda iteracije reavanje nelinearnog sistema s reavanje nelinearnog sistema s polinomialna regresija sluajna matrica c

73

SPISAK NAREDBI KORISCENIH U VEZBAMA

abs, 1. angle, 1. asin, 1. atan, 1. axis, 3. break, 6. collect, 1. conj, 1. contour, 11. cos, 1. demo, 1. det, 2. diff, 4. disp, 12. eig, 1. else, 3. elsif, 3. end, 3. eps, 6. eval, 4. exit, 1. exp, 1. expand, 1. eye, 1. ezplot, 4. factor, 1. floor, 3. fmin, 4. for, 3. format, 1. format long, 1. format long e, 1. format short, 1. format short e, 1. format rat, 1.

fplot, 3. fprintf, 12. function, 3. fzero, 6. grid, 3. gtext, 3. help, 1. hold off, 3. hold on, 3. if, 3. imag, 1. inf, 1. input, 7. inv, 1. jacobian, 4. length, 14. log, 1. log10, 1. magic, 1. max, 1. mean, 1. mesh, 11. meshgrid, 11. min, 1. nlinfit, 13. norm, 10. numeric, 4. ones, 1. pause, 12. pi, 1. plot, 3. plotdemo, 3.

poly, 1. polyfit, 14. polyval, 13. pretty, 4. prod, 1. rand, 1. randn, 14. rank, 1. real, 1. round, 3. simple, 1. sin, 1. size, 1. solve, 4. sqrt, 1.

sqrtm, 1. subplot, 3. sum, 1. syms, 1. tan, 1. taylor, 4. text, 3. title, 3. vpa, 1. while, 3. xlabel, 1. ylabel, 3. zeros, 1.

KRATAK OPIS NEKIH MATLAB NAREDBI


Naredbe opte namene s help demo exit quit who what pomo c demonstracija programa izlazak iz programa isto to i prethodna s tekue promenljive c spisak m - fajlova

Matematike funkcije c abs sin cos tan asin acos atan exp log log10 Polinomi poly roots polyval conv deconv polyfit Matrice det inv rank norm diag eye magic zeros rand determinanta matrice inverzna matrica rang matrice norma matrice dijagonalna matrica jedinina matrica c magina matrica c nulta matrica sluajna matrica c karakteristini polinom matrice c nule polinoma vrednost polinoma proizvod dva polinoma kolinik dva polinoma c interpolacioni polinom apsolutna vrednost sinus cosinus tangens arcussinus arcuscosinus arcustangens eksponencijalna fukcija logaritamska funkcija sa osnovom e logaritamska funkcija sa osnovom 10

76

Diferencijalne jednaine c ode23 ode45 dsolve 2D graka plot fplot subplot figure title text gtext axis xlabel ylabel hold grid 3D graka meshgrid mesh surf surfl surfc axis zlabel contour contour3 view domen za 3D crte z 3D crte povri z s 3D crte povri z s 3D crte povri z s 3D crte povri z s skaliranje osa oznaavanje z ose c nivo linije 3D konture pogled iz izabrane take c 2D grak 2D grak podela grakog prozora c prozor za crte z naslov crtea z tekst na crteu z tekst pozicioniran miem s skaliranje osa oznaavanje x ose c oznaavanje y ose c zadravanje graka na ekranu z crtanje mree z metoda Runge Kuta drugog/treeg reda c metoda Runge Kuta etvrtog/petog reda c analitiko reenje c s

Upravljanje tokom programa if elsif else end for while break return pause uslovno izvravanje naredbi s koristi se sa if koristi se sa if zavravanje if, for ili while s ponavljanje bloka naredbi izvravanje dok je ispunjen uslov s izlazak iz petlji izlazak iz funkcije pauza do pritiska na neki taster

77

Specijalne vrednosti eps pi i j inf NaN clock date flops nargin nargout Izvodi diff jacobian taylor Reavanje jednaina s c fzero solve nule funkcije reavanje sistema jednaina s c izvod funkcije parcijalni izvodi Tejlorova formula preciznost sa pokretnim zarezom imaginarna jedinica imaginarna jedinica nije broj asovnik c datum broj operacija broj ulaznih parametara funkcije broj izlaznih parametara funkcije

78

You might also like