NUMERIČNE METODE UNIVERZITETNI ŠTUDIJ 2006/07 ZAPISKI Z VAJ. asist. mag. Andrej Kotar

Σχετικά έγγραφα
NUMERIČNE METODE UNIVERZITETNI ŠTUDIJ 2006/07 ZAPISKI Z VAJ. asist. mag. Andrej Kotar. Zapiski z vaj 2. letnik UNI 2006/07 Stran 1

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

Tretja vaja iz matematike 1

IZPIT IZ ANALIZE II Maribor,

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Kotne in krožne funkcije

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Osnove linearne algebre

Reševanje sistema linearnih

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

Gimnazija Krˇsko. vektorji - naloge

Reševanje sistemov linearnih enačb

Poglavje 2. Sistemi linearnih enačb

13. Jacobijeva metoda za računanje singularnega razcepa

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

8. Posplošeni problem lastnih vrednosti

Oznake in osnovne definicije

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Zbirka rešenih izpitnih nalog iz numeričnih metod

Splošno o interpolaciji

SEMINARSKA NALOGA Funkciji sin(x) in cos(x)

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

INŽENIRSKA MATEMATIKA I

Navadne diferencialne enačbe

diferencialne enačbe - nadaljevanje

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

11.5 Metoda karakteristik za hiperbolične PDE

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

Matematika. Funkcije in enačbe

FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 22. junij Navodila

VAJE IZ MATEMATIKE za študente gozdarstva. Martin Raič

Numerično reševanje. diferencialnih enačb II

Kotni funkciji sinus in kosinus

MATEMATIKA II TEORIJA

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Tadeja Kraner Šumenjak MATEMATIKA. Maribor, 2010

ZBIRKA REŠENIH NALOG IZ MATEMATIKE II

Matematika 2. Diferencialne enačbe drugega reda

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Interpolacija in aproksimacija funkcij

Kotne funkcije poljubnega kota. Osnovne zveze med funkcijamo istega kota. Uporaba kotnih funkcij v poljubnem trikotniku. Kosinusni in sinusni izrek.

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

TRDNOST (VSŠ) - 1. KOLOKVIJ ( )

Matematika. BF Lesarstvo. Zapiski ob predavanjih v šolskem letu 2009/2010

Vaje iz MATEMATIKE 8. Odvod funkcije., pravimo, da je funkcija f odvedljiva v točki x 0 z odvodom. f (x f(x 0 + h) f(x 0 ) 0 ) := lim

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1

Linearna algebra. Bojan Orel Fakulteta za računalništvo in informatiko

Matematika 1. Gregor Dolinar. 2. januar Fakulteta za elektrotehniko Univerza v Ljubljani. Gregor Dolinar Matematika 1

Funkcije več spremenljivk

Analiza 2 Rešitve 14. sklopa nalog

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

22. Kdaj sta dva vektorja vzporedna? FGG geodezija UNI Matematika I, 2005/ Kdaj so vektorji a 1, a 2,..., a n linearno neodvisni?

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

IZVODI ZADACI (I deo)

Delovna točka in napajalna vezja bipolarnih tranzistorjev

Vaje iz MATEMATIKE 2. Vektorji

Osnove matematične analize 2016/17

cot x ni def. 3 1 KOTNE FUNKCIJE POLJUBNO VELIKEGA KOTA (A) Merske enote stopinja [ ] radian [rad] 1. Izrazi kot v radianih.

Uporabna matematika za naravoslovce

Numerička matematika 2. kolokvij (1. srpnja 2009.)

Univerza v Mariboru. Uporaba matematičnih metod v logistiki 1 Priročnik

8. Diskretni LTI sistemi

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK

Problem lastnih vrednosti 1 / 20

Booleova algebra. Izjave in Booleove spremenljivke

ŠOLSKI CENTER NOVO MESTO

3. VAJA IZ TRDNOSTI. Rešitev: Pomik v referenčnem opisu: u = e y 2 e Pomik v prostorskem opisu: u = ey e. e y,e z = e z.

Državni izpitni center. Osnovna raven MATEMATIKA. Izpitna pola 1. Sobota, 4. junij 2011 / 120 minut

Bor Plestenjak. Numerične metode. delovna verzija. verzija: 4. marec 2010

D f, Z f. Lastnosti. Linearna funkcija. Definicija Linearna funkcija f : je definirana s predpisom f(x) = kx+n; k,

Uvod v numerične metode (matematika)

Problem lastnih vrednosti

DISKRETNA FOURIERJEVA TRANSFORMACIJA

Čas reševanja je 75 minut. 1. [15] Poišči vsa kompleksna števila z, za katera velja. z 2 +2 z +2 i 2 = Im. 1 2i

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D R priredi neko število f (x) R.

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija

Računski del izpita pri predmetu MATEMATIKA I

3.1 Reševanje nelinearnih sistemov

Uvod v numerične metode

( , treći kolokvij) 3. Na dite lokalne ekstreme funkcije z = x 4 + y 4 2x 2 + 2y 2 3. (20 bodova)

SISTEMI NELINEARNIH JEDNAČINA

5.1 Predpogojevanje. K 1 Ax = K 1 b,

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija.

11. Posplošeni problemi lastnih vrednosti

Matematka 1 Zadaci za drugi kolokvijum

Domače naloge za 2. kolokvij iz ANALIZE 2b VEKTORSKA ANALIZA

vezani ekstremi funkcij

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Transcript:

NUMERIČNE METODE UNIVERZITETNI ŠTUDIJ 006/07 ZAPISKI Z VAJ asist. mag. Andrej Kotar

. vaja Prijava z uporabniškim imenom Vaje. Kreiranje nove mape na My Documents\vaje\ime_priimek. Navodilo za delo s programom MATLAB 7.0.4:. Zagon programa: dvoklik ikone MATLAB 7.0.4 na namizju ali Start All Programs MATLAB 7.0.4 MATLAB 7.0.4. Začetek pisanja M-datoteke v Editor: klik ikone New M-File ali File New M-File 3. Z urejevalcem teksta napišemo program. 4. Izvajanje napisanega programa klik ikone Save and run ali Debug Save and Run 5. V oknu Command Window se izpišejo rezultati. Po zaključku dela vse napisane M-datoteke shranite v svojo mapo!

. naloga: a) Napišite program za računanje volumna krogle: START RAČUNAM VOLUMEN KROGLE ANDREJ KOTAR 6.0.006 PODAJ POLMER KROGLE R V4*π*R^3/3 IZRAČUNANI VOLUMEN JE V STOP % Program za racunanje volumna krogle % Program sprejme polmer krogle % Program vrne volumen krogle % A. Kotar, 6. 0. 006 close all; Rinput('Podaj polmer krogle: '); pi3.4596535897; V4*pi*R^3/3; fprintf(,'volumen %.8f \r',v);

b) Napišite program za računanje volumna stožca. Uporabite spodnjo formulo za izračun volumna V 3 r πh

% Vaja.a % Program za racunanje volumna krogle % Program sprejme polmer krogle % Program vrne volumen krogle % A. Kotar, 6. 0. 006 % ocisti komandno okno close all; % zapre vsa odprta graficna okna Rinput('Podaj polmer krogle: '); pi3.4596535897; V4*pi*R^3/3; fprintf(,'volumen %.8f \r',v); % test: R3.5, V79.59438003 % Vaja.b % Program za racunanje volumna stozca % Program sprejme polmer in visino stozca % Program vrne volumen stozca % A. Kotar, 6. 0. 006 close all; rinput('podaj polmer osnovne ploskve: '); hinput('podaj visino stozca: '); Vr^*pi*h/3; fprintf(,'volumen %.8f \r',v); % test: r3.5, h5, V64.408500

. vaja. naloga: a. Izračunajte naslednjo vsoto in produkt za poljuben x. 0 i i i x s 0 i i i x p b. Izračunajte vsoto prvih stotih števil. 00 i i s. naloga: Napišite program za izračun faktorjele. 3. naloga: V kartezijevem koordinatnem sistemu narišite srčnico, ki ima v polarnem koordinatnem sistemu enačbo r a(+cosϕ), a3.5 in 0 ϕ π. Funkcijo tabelirajte s korakom ϕ0.. 4. naloga: Za spodaj napisani matriki A in B naredite: a) Transponirajte matriki A in B b) Združite transponirani matriki A T in B T v novo matriko c) Narišite graf matrik A T in B T 9 9 8 7 7 6 6 5 4 4 3 3 A 5 3 5 5 5 5 3 5 B 5. naloga: Matlabova funkcija sech se izračuna po formuli +,3,5 ) / ( 4 ) ( ) ( 4 ) sech( i i x i i s x π π Če seštejemo nekaj členov (do n305), dobimo približek funkcije. Za izbrani x izračunajte vrsto s in z Matlabovim ukazom funkcijo sech(x). Vse tri vrednosti izpišite na 5 decimalnih mest.

% Vaja.a % Program izračuna vsoto in produkt vrste. % A.K., 3. 0. 006 xinput('vpisite x: '); i[::0]; a(x./i).^i; ssum(a); pprod(a); %izpis fprintf(,'vsota elementov vrste: s %0.6f \r',s); fprintf(,'produkt elementov vrste: p %0.6f \r',p); %test: x7, s50.70849, p40.08955 % Vaja.b % Program izračuna vsoto prvih stotih stevil. % A.K., 3. 0. 006 i[::00]; ssum(i); fprintf(,'vsota prvih stotih stevil: s %0i \r',s); %test: s5050 % Vaja. % Program za izračun faktorjele. % A.K., 3. 0. 006 ninput('vpisite n: '); i[::n]; faktprod(i); fprintf(,'faktorjela: n! %8i \r',fakt); %test: n, n!47900600

% Vaja.3 % Program v kartezijevem koordinatnem sistemu nariše srčnico, % ki ima v polarnem koordinatnem sistemu enačbo ra(+cos(fi)), % a3.5 in 0<fi<pi. Funkcija je tabelirana s korakom fi0.. a3.5; fi[0:0.:*pi]; % boljše bi bilo - filinspace(0,*pi,00) ra*(+cos(fi)); xr.*cos(fi); yr.*sin(fi); X[min(x),max(x)] Y[min(y),max(y)] plot(x,y,x,[0,0],'r -',[0,0],Y,'g -'); % Vaja.4 % Program transponira matriki A in B in ju nato združi. % Na osnovi transponiranih matrik A in B nariše graf. % A. Kotar, 3.. 006 close all; fprintf(,'matrika A: \r'); A[ 3 3 4 4 5 6 6 7 7 8 9 9] fprintf(,'matrika B: \r'); B[ 5 3 5; 5 5; 5 3 5 ] fprintf(,'transponirani matriki AT in BT \r'); ATA' BTB' fprintf(,'zdruzeni matriki AT in BT \r'); C[AT,BT] % risanje plot(at,bt); % Vaja.5 % Matlab funkcija sech se izračuna z vrsto. % Če seštejemo člene do n305, dobimo nek približek funkcije. % Program izračuna funkcijo sech z vrsto in Matlabovim ukazom % za vrednosti x med 0 in. clc xinput('podaj x: '); n305; i(::n); clen(-).^((i-)/).*i./((i*pi).^+4*x^); s4*pi*sum(clen); fprintf(,'x,s,sech(x) %8.5f%8.5f%8.5f\r',x,s,sech(x))

3. vaja. naloga: Izračunajte razliko dveh vektorjev nato pa dolžino izračunane razlike. Določite tudi število elementov vektorja c. a r (.,.8,3.4) b r ( 3.6,.9,0.7 ) r r r c a b dc c r c + c + c x y z. naloga: Izračunajte povprečje števil zapisanih v datoteki»podatki.txt«. 3. naloga: Napišite program, ki ustvari matriko M kot magični kvadrat reda 3. Preverite njeno magičnost in izračunajte njeno determinanto. Izračunajte matriko B, ki je inverzna matrika od matrike M. Izračunajte produkta B M E in M B E, nato pa preverite, da je EE. Za konec določite še enotsko matriko E reda 3. 4. naloga: Napišite program, ki množi matriki A in B na različne načine. A 3 5 7 8 B 3 Nato dodajte matriki A vrstico [-,3,-] in matriki B stolpec [, -3,], ter tako dopolnjeno matriko A pomnožite z enotsko matriko.

% Vaja 3. % Program za racunanje razlike in dolzine vektorjev % Program sprejme vektorja a in b % Program vrne njuno razliko, dolzino ter st. elementov % A. Kotar, 0. 0. 006 % vektor a fprintf(,'podaj komponente vektorja a: \r'); a()input('a() '); a()input('a() '); a(3)input('a(3) '); % vektor b fprintf(,'podaj komponente vektorja b: \r'); b()input('b() '); b()input('b() '); b(3)input('b(3) '); % razlika dveh vektorjev ca-b; fprintf(,'razlika vektorjev c a - b: \r'); fprintf(,'%.8f \r',c); % dolzina vektorja c dcsqrt(c()^+c()^+c(3)^); fprintf(,'dolzina vektorja c: %.8f \r',dc); % stevilo elementov vektorja c nclength(c); fprintf(,'st. elementov vektorja c: %3i \r',nc); % test: c [4.80000000,-3.70000000,.70000000] % dc 6.63475697, nc 3 %vaja3. %Povprečje stevil zapisanih v datoteki %A.K., 0. 0. 006 stload('podatki.txt'); %bere vsa števila nlength(st); ssum(st); povps/n; %povprecje fprintf(,'povprecje stevil: %0.6f \r',povp); % test: 4.000000 podatki.txt 7 9

%vaja3.3 %Matricne operacije z matriko M reda 3, ki %je zapisana kot magični kvadrat tretjega reda. % A.K., 0. 0. 006 Mmagic(3) %magični kvadrat Vsum(M) %vsota po stolpcih Rsum(M') %vsota po vrsticah dsum(diag(m)) %vsota elementov diagonale ddet(m) %determinanta matrike M Binv(M) %inverzna matrika EB*M %produkt inverzne in magične EM*B %produkt inverzne in magične Eeye(3) %enotska matrika % Vaja 3.4 % Program množi matriki A in B na različne načine. % A. Kotar, 0. 0. 006 A[ 3 5 ; 7 8] B[- ; - 3] CA*B CA'*B' CA.*B' DB*A CB'*A' CB.*A' A[A;-,3,-] % dodatna vrstica matrike A B[B,[;-3;]] % dodatni stolpec matrike B % B[B,[,-3,]'] Eeye(3) FE*A % množenje z enotsko matriko FA*E

4. vaja. naloga: Napišite program za izračun korenov kvadratne enačbe. ax + bx + c 0 Vrednosti koeficientov a, b in c preberite iz datoteke.. naloga: Napišite program, ki bo za vpisane cifre med in 5 izpisal njihova imena z besedo. 3. naloga: Izračunajte funkcijo sin(x) s pomočjo neskončne vrste sin( x ) x! 3 x 3! + 5 x 5! 7 x 7! +... na 6 decimalnih mest natančno. Vrednost funkcije sin(x), ki ste jo izračunali s pomočjo vrste primerjajte z vrednostjo izračunano z Matlab-ovo funkcijo. Na enak način s pomočjo vrste izračunajte tudi funkcijo cos(x). cos( x ) x! + 4 x 4! 6 x 6! +... 4. naloga: Narišite funkcijo signum na intervalu od - do.

%vaja4. %Izračun korenov kvadratne enačbe %A.K., 3.. 006 stload('kvadratna.txt'); nlength(st); %stevilo vrstic for i:n ast(i,); bst(i,); cst(i,3); if a0 if b0 if c0 fprintf(,'koeficienti so 0, neskoncno resitev!\r\r'); else fprintf(,'samo c je razlicen od 0, protislovje!\r\r'); else x-c/b; fprintf(,'linearna enacba!\r'); fprintf(,'x %0.6f \r\r',x); else db^-4*a*c; if d>0 x(-b+sqrt(d))/(*a); x(-b-sqrt(d))/(*a); fprintf(,'x %0.6f \r',x); fprintf(,'x %0.6f \r\r',x); else fprintf(,'kompleksni resitvi!\r'); x(-b+sqrt(d))/(*a) x(-b-sqrt(d))/(*a) kvadratna.txt 3.4 5. 0.3 0.6 4 7 0 0 0 0 0 7 x -0.0633 x -.438669 Linearna enacba! x -.50000 Kompleksni resitvi! x -0.50 +.370i x -0.50 -.370i Koeficienti so 0, neskoncno resitev! Samo c je razlicen od 0, protislovje!

%vaja4. %Uporava switch stavka %A.K., 3.. 006 iinput('vstavite stevilko od do 5: '); switch i case fprintf('ena.\r'); case fprintf('dve.\r'); case 3 fprintf('tri.\r'); case 4 fprintf('stiri.\r'); case 5 fprintf('pet.\r'); otherwise fprintf('ni stevilka med ena in pet.\r'); %vaja4.3 %Sinus izračunan z neskončno vrsto %sin(x)x/!-x3/3!+x5/5!-x7/7!+... %A.K., 3.. 006 xinput('vstavi x: '); clenx; s0; i0; while(abs(clen)>e-7) ii+; ss+clen; clen-clen*x^/((i*)*(i*+)); fprintf(,'st. clenov za izracun: %3i \r',i); fprintf(,'vrsta: sin(x) %.8f \r',s); fprintf(,'funkcija: sin(x) %.8f \r',sin(x)); %vaja4.4 %Nariše funkcijo signum na intervalu [-,] % 3.. 006 clear all; X-:0.00:; Y[]; for xx if x<0 Y[Y,-]; elseif x0 Y[Y,0]; else Y[Y,]; plot([-,],[0,0],'r-',[0,0],[-,],'r-',x,y);

5. vaja. naloga: Napišite program, ki vam iz podanih točk v ravnini izračuna dolžine stranic lika, nato pa vam določi najdaljšo izmed stranic. Koordinate točk preberite iz datoteke»podatki.txt«.. naloga: Izračunajte funkcijo sinh(x) s pomočjo neskončne vrste e sinh( x) x e x 3 5 7 n x x x x x + + + +... + +... 3! 5! 7! (n )! Za izračun faktorjele napišite samostojno funkcijo. 3. naloga: Izračunajte funkcijo exp(x) s pomočjo neskončne vrste na 6 decimalnih mest natančno: 3 4 x x x x e x + + + + +...!! 3! 4! Vrednost funkcije exp(x), ki ste jo izračunali s pomočjo vrste primerjajte z vrednostjo izračunano z Matlab-ovo funkcijo. 4. naloga: Z uporabo rekurzijske formule izračunajte integrale I n 0 x n e x dx, kjer je n0,,, Integriranje po delih nam pri n > 0 da I n x I n 0 e x 0 0 e n x 0 x n dx e e x x 0 dx e ni n

%vaja5. %Izračun najdaljše stranice lika %A.K.,.. 006 razdaljainline('sqrt((x-x)^+(y-y)^)','x','y','x','y'); stload('podatki.txt'); nlength(st); for i:n x(i)st(i,); y(i)st(i,); for i:n- d(i)razdalja(x(i),y(i),x(i+),y(i+)); d(n)razdalja(x(n),y(n),x(),y()); dmaxd(); m; for i:n if(d(i)>dmax) dmaxd(i); mi; fprintf('najdaljsa stranica je med tockama:\r'); if(mn) fprintf('x%0.6f,y%0.6f,x%0.6f,y%0.6f \r',x(n),y(n),x(),y()); else fprintf('x%0.6f,y%0.6f,x%0.6f,y%0.6f\r',x(m),y(m),x(m+),y( m+)); fprintf('razdalja %0.6f \r',d(m)); plot([x,x()],[y,y()]); podatki.txt 3 0 5 6 5 4 3 5

%vaja5. %glavni program za funkcijo sinh(x) xinput('podaj argument za sinh ') prim; sx; i3; eps while prim>eps clx^i/fakt(i); ss+cl; primcl/s; ii+; fprintf('vsota %.5f\n',s); fprintf('sinh %.5f\n',sinh(x)); fprintf('upoštevano členov : %6.0f \n',(i+)/); function ffakt(n) %racuna faktorielo pozitivnega celega števila if n<0 error(' n mora biti nenegativen') elseif n0 f; else if ceil(n)~n; f; for i:n ff*i; %vaja5.3 %Eksponentna funkcija izračunana z neskončno vrsto %A.K.,.. 006 xinput('vstavi x: '); clen; s; i; while (abs(clen)>e-6) clenclen*x/i; ss+clen; ii+; fprintf(,'vrsta: exp(x) %.8f \r',s); fprintf(,'funkcija: exp(x) %.8f \r',exp(x));

%vaja5.4a %Rekurzijska formula - nestabilen algoritem n0; I-/exp(); fprintf(' n In \r'); fprintf('%3i %6.6f \r',n,i); for n:5 I-n*I; fprintf('%3i %6.6f \r',n,i); n In 0 0.63 0.367879 0.644 3 0.0777 4 0.70893..... 7 0.0579 8-0.09454 9.55960 0-30.9395 635.04093-3969.886437 3 3308.388054 4-77400.3330 5 9785008.8358 %vaja5.4b %Rekurzijska formula - stabilen algoritem n6; I0; fprintf(' n In \r'); fprintf('%3i %6.6f \r',n-,i); for n5:-: I(-I)/n; fprintf('%3i %6.6f \r',n,i); 5 0.000000 4 0.040000 3 0.040000 0.04739..... 4 0.70893 3 0.0777 0.644 0.367879 0 0.63

6. vaja. naloga: Izračunajte funkcijo a x s pomočjo neskončne vrste na 6 decimalnih mest natančno: a x e x ln a + xln a! ( xln a) +! ( xln a) + 3! 3 ( xln a) + 4! 4 +.... naloga: V pravokotniku poznamo dolžino diagonale d in ploščino S. Dolžina diagonale je d.0 enoti, ploščina S pa je velikosti, 0., 0.0,,0-8 ploščinskih enot. Za dane vrednosti diagonale d in ploščin S izračunajte stranici a in b po formulah ( ) d + S + d S a, ( ) d + S d S b. Nato izračunajte še manjšo stranico b po formuli bs/a. 3. naloga: Izračunajte število π po Arhimedu, iz obsegov pravilnih mnogokotnikov, ki so včrtani krogu s polmerom r 0.5. Najprej računajte po formuli nato pa še po formuli S S n n ( S n) n n, S n + ( S n) S črko S n je označen obseg pravilnega n-kotnika. Iteracije začnemo s pravilnim šestkotnikom, kjer je obseg enak S n 6 r 3. n.

%vaja6. %Potenčna funkcija izračunana z neskončno vrsto %A.K., 9.. 006 ainput('vstavi a: '); xinput('vstavi x: '); clen; s; i; while (abs(clen)>e-6) clenclen*x*log(a)/i; ss+clen; ii+; fprintf(,'vrsta: a^x %.8e \r',s); fprintf(,'funkcija: a^x %.8e \r',a^x); %a5, x0, x-0 %vaja6. %Računanje stranic pravokotnika %A.K., 9.. 006 d; S; fprintf(' d S a b b \r'); for i:0 a0.5*(sqrt(d^+*s)+sqrt(d^-*s)); b0.5*(sqrt(d^+*s)-sqrt(d^-*s)); bs/a; fprintf(' %4.f %4.e %5.3f %6.4e %6.4e \r',d,s,a,b,b); S0.*S; %vaja6.3 %Število pi po Arhimedu %A.K., 9.. 006 r0.5; n6; Sn*r; Sn*r; fprintf(' n Sn Sn \r'); fprintf(' %0i %9.7f %9.7f \r',n,s,s); for i:8 S*n*sqrt((-sqrt(-(S/n)^))/); SS*sqrt(/(+sqrt(-(S/n)^))); fprintf(' %0i %9.7f %9.7f \r',*n,s,s); n*n;

7. vaja. naloga: Napišite program za reševanje spodnjega trikotnega sistema linearnih enačb L c b, kjer sta 0 0 7 L 0 b 3. 4.5 5. naloga: Napišite program za reševanje zgornjega trikotnega sistema linearnih enačb U x c, kjer sta 4 7 U 0 c 6. 0 0 9 8 3. naloga: Napišite program za reševanje spodnjega in zgornjega sistema linearnih enačb. Podatki so enaki kot pri prvih dveh nalogah. Za reševanje spodnjega in zgornjega sistema enačb zapišite samostojni funkciji. 4. naloga: Izračunajte rešitev sistema linearnih enačb x + x + 0x 3 + 3x 4 4 x + x - x 3 + x 4 3x - x - x 3 + x 4-3 -x + x + 3x 3 - x 4 4 po postopku Gaussove eliminacije. Glavni program naj kliče podprogram za izračun po Gaussovi metodi.

%vaja7. %Reševanje spodnjega trikotnega sistema linearnih enačb L[ 0 0; 0; -4.5 ] b[ 7 3 5 ] c()b()/l(,); c()(b()-l(,)*c())/l(,); c(3)(b(3)-l(3,)*c()-l(3,)*c())/l(3,3); %izpis fprintf('c() %6.3f \r',c()); fprintf('c() %6.3f \r',c()); fprintf('c(3) %6.3f \r',c(3)); %test: c()7.000, c()6.000, c(3)8.000 %vaja7. %Reševanje zgornjega trikotnega sistema linearnih enačb U[ 4 ; 0 -; 0 0-9] c[ 7 6 8 ] x(3)c(3)/u(3,3); x()(c()-u(,3)*x(3))/u(,); x()(c()-u(,)*x()-u(,3)*x(3))/u(,); %izpis fprintf('x() %6.3f \r',x()); fprintf('x() %6.3f \r',x()); fprintf('x(3) %6.3f \r',x(3)); %test: x()5.000, x().000, x(3)-.000 %vaja7.3 %Reševanje sistema linearnih enačb % podatki L[ 0 0; 0; -4.5 ] U[ 4 ; 0 -; 0 0-9] b[ 7; 3; 5] % funkcija - reševanje spodnjega trikotnega sistema cspodnja(l,b) % funkcija - reševanje zgornjega trikotnega sistema xzgornja(u,c) %test: x()5.000, x().000, x(3)-.000

% Reševanje spodnjega trikotnega sistema function cspodnja(l,b) [m,n]size(l); rlength(b); if m~n m~r error('podatki niso pravi'); for i:n for ji+:n if L(i,j)~0 error('matrika ni trikotna'); ddet(l); if d0 error('sistem nima enolične rešitve'); c(:n)0; c()b()/l(,); for i:n c(i)(b(i)-dot(l(i,:i-),c(:i-)))/l(i,i); % Reševanje zgornjega trikotnega sistema function xzgornja(u,c) [m,n]size(u); rlength(c); if m~n m~r error('podatki niso pravi'); for i:n for j:i- if U(i,j)~0 error('matrika ni trikotna'); ddet(u); if d0 error('sistem nima enolične rešitve'); x(:n)0; x(n)c(n)/u(n,n); for in-:-: x(i)(c(i)-dot(u(i,i+:n),x(i+:n)))/u(i,i);

%vaja7.4 %Resevanje sistema linearnih enačb - Gauss A[ 0 3; - ; 3 - - ; - 3 - ]; b[4-3 4]'; A[A,b]; %podprogram - reševanje z Gaussovo metodo xgauss(a); [n,m]size(a); for i:n fprintf('x(%i) %6.3f \r',i,x(i)); %test: x()-, x(), x(3)0, x(4) %podprogram - Gaussova metoda function xgauss(a) [n,m]size(a); %postopek primitivne Gaussove eliminacije for i:n- for ji+:n fa(j,i)/a(i,i); %tvorba zgornjega trikotnega sistema A(j,i:n+)A(j,i:n+)-f*A(i,i:n+); %resevanje zgornjega trikotnega sistema x(n)a(n,n+)/a(n,n); for in-:-: sa(i,n+); for ji+:n ss-a(i,j)*x(j); x(i)s/a(i,i);

8. vaja. naloga: Izračunajte rešitev sistema linearnih enačb x - x + x 3 - x 4-8 (6) x - x + 3x 3-3x 4-0 (0) x + x + x 3 - (-) x - x + 4x 3 + 3x 4 4 (8) po Gaussovi metodi z delnim pivotiranjem. Program naj kliče podprogram»sistem_lin_enacb«, obravnavanim na predavanjih.. naloga: Izračunajte rešitev sistema linearnih enačb po Gauss-Jordanovi metodi. x + x + 0x 3 + 3x 4 4 x + x - x 3 + x 4 3x - x - x 3 + x 4-3 -x + x + 3x 3 - x 4 4 3. naloga: Izračunajte rešitev sistema linearnih enačb v prvi nalogi po LU metodi. Uporabite Matlabovo funkcijo linsolve. Zatem naredite še dekompozicijo matrike A z Matlabovo funkcijo lu. 4. naloga Izračunajte rešitev sistema linearnih enačb po metodi Cholesky. 6x + 5x + 55x 3 8 5x + 55x + 5x 3 70 55x + 5x + 979x 3 50 5. naloga Rešite četrto nalogo z uporabo Matlab-ovih funkcij.

%vaja8. %Reševanje sistema s funkcijo sistem_lin_en A[ - - - 3-3 0-4 3 ]; b[-8-0 - 4; 6 0-8]' % dve desni strani pivot; % pivot0, pivotiranje izključeno [X,D,L,U,pog_st,P]sistem_lin_enacb(A,b,pivot) %[X,D]sistem_lin_enacb(A,b); disp(' Resitev sistema enacb...') disp(x) % Resitev sistema enacb... % -7.0000 -.5000 % 3.0000 -.5000 %.0000 3.0000 %.0000 -.0000 function [X,D,L,U,pog_st,P]sistem_lin_enacb(A,b,pivotiranje) %A matrika koeficientov %b matrika desnih strani %X rešitev sistema enačb if (nargin) % pivotiranje je izključeno pivotiranje0; if(nargin3 & nargout5) % št. vhodnih in izhodnih argumentov warning(' L U razcep bo lahko neuporaben') BA; A[A,b]; % razširjena matrika A [m,n]size(a); % m št. vrstic, n št. stolpcev Peye(m); D; % začetna vrednost

for i:m- % indeks vrstice % delno pivotiranje if pivotiranje [e,k]max(abs(a(i:m,i))); kk+i-; if k~i % zamenjava vrstic pva(i,i:n); A(i,i:n)A(k,i:n); A(k,i:n)pv; DD*(-); % sprememba predznaka Peye(m); pvp(:,k); P(:,k)P(:,i); P(:,i)pv; PP*P; if(abs(a(i,i))<.e-0) % pivotni element je enak 0 error('matrika koeficientov je singularna') % eliminacija - tvorba zgornjega trikotnega sistema for ji+:m L(j,i)A(j,i)/A(i,i); A(j,i)0; A(j,i+:n)A(j,i+:n)-L(j,i)*A(i,i+:n); DD*prod(diag(A)); % determinanta x(:m)0; L[L,x']+eye(m); % sestavljanje matrike L UA(:m,:m); % opustitev desne strani % reševanje zgornjega trikotnega sistema z več desnimi stranmi for km+:n % k števec desnih strani for im:-: x(i)(a(i,k)-dot(a(i,i+:m),x(i+:m)))/a(i,i); if km+ Xx'; %postavim rešitev kot stolpec else X[X,x']; %dodajam stolpce if nargout>5 pog_stcond(b,); else pog_st0;

%vaja8. %Reševanje sistema po Gauss-Jordanovi metodi A[ 0 3-3 - - - 3 - ]; b[4-3 4]'; A[A,b]; [n,m]size(a); for i:n %normiranje A(i,i:m)A(i,i:m)/A(i,i); for j:n if ij continue %eliminacija A(j,i:m)A(j,i:m)-A(j,i)*A(i,i:m); disp(a) for i:n fprintf('x(%i) %6.3f \r',i,a(i,n+)) %test: x()-, x(), x(3)0, x(4) %vaja8.3 %Resevanje sistema linearnih enačb LU metoda %podatki A[ - - - 3-3 0-4 3 ]; b[-8-0 - 4]'; %podprogram - reševanje z LU metodo xlinsolve(a,b); [n,m]size(a); %izpis for i:n fprintf('x(%i) %6.3f \r',i,x(i)) %dekompozicija matrike A [L,U,P]lu(A) %test: x()-7, x()3, x(3), x(4)

%vaja8.4 %Reševanje po metodi Choleskega clear all; A[ 6 5 55; 5 55 5; 55 5 979 ]; b[8 70 50]'; nlength(a); %razcep matrike v spodnjo in zgornjo trikotno matriko Uzeros(n); for i:n %določa stolpec for ji:n %določa vrstico if ij U(i,i)sqrt(A(i,i)-dot(U(:i-,i),U(:i-,i))); else U(i,j)(A(i,j)-dot(U(:j-,i),U(:j-,j)))/U(i,i); U U'*U %rešujemo spodnji trikotni sistem Lcb ->cb/l LU' c()b()/l(,); for i:n c(i)(b(i)-dot(l(i,:i-),c(:i-)))/l(i,i); c %rešujemo zgornji trikotni sistem Uxc -> xc/u x(:n)0; for in:-: x(i)(c(i)-dot(u(i,i+:n),x(i+:n)))/u(i,i); x %test: x(), x()8, x(3)- %vaja8.5 %Reševanje po metodi Choleskega %podatki A[ 6 5 55; 5 55 5; 55 5 979 ]; b[8 70 50]'; %razcep v spodnjo in zgornjo trikotno matriko Uchol(A) LU' L*U %reševanje spodnjega in zgornjega sistema cl\b xu\c %test: x(), x()8, x(3)-

9. vaja. naloga: Z metodo konjugiranih gradientov za reševanje pozitivno definitnih simetričnih sistemov rešite sistem enačb. 4x - x - x 4 0 -x + 4x - x 3 - x 5 5 -x +4x 3 - x 6 0 -x +4x 4 x 5 6 -x - x 4 +4x 5 - x 6 - -x 3 - x 5 + 4x 6 6. naloga Izračunajte rešitev sistema linearnih enačb 6x + 3x - x 3 - x + 3x - x 3-7 -x - x + 3x 3 7 z Gauss-Seidlovo iterativno metodo. 3. naloga: Za spodnjo tabelo izračunajte Newtonov interpolacijski polinom. Nato izračunajte vrednost polinoma pri x 4...3.07.4.4 3.67.73 4.9.04 5.96.3 6.73-0.4

4. naloga: Z uporabo inverzne interpolacije po Newtonovi metodi izračunajte ničlo tabelirane funkcije. -0. 0.67 0.4 0.38.5-0.96.48 -.8

%vaja9. %Reševanje diagonalno dominantnega sistema %po Gauss-Seidelovi iterativni metodi clc, clear all A[ 6 3-3 - - - 3 ]; b[- -7 7]'; nlength(a); x(:n)0; xnx; napaka.; while napaka>.e-4 for i:n xn(i)(b(i)-dot(a(i,:i-),xn(:i-))-dot(a(i,i+:n),x(i+:n)))/a(i,i); napakanorm(x-xn); xxn; fprintf('%8.5f%.5f%.5f%7.8f\n',x,napaka) %test: x(), x()-, x(3) %vaja9.3 %Newtonova interpolacijska metoda close all; x[.3.4 3.67 4.9 5.96 6.73] y[.07.4.73.04.3-0.4] cpolynewtkoef(x,y) xtx():0.0:x(); nlength(xt); yt[]; for i:n yt(i)polynewtvred(c,x,xt(i)); plot(xt,yt,x,y,'b+'); %vrednost polinoma v točki x0 x0input('podajte x0: '); y0polynewtvred(c,x,x0) %test: y(4.).00 %Izračun koeficientov interpolacijskega polinoma function kpolynewtkoef(x,y) nlength(x); f(:,)y'; for j:n+ for i:n-j+ f(i,j)(f(i+,j-)-f(i,j-))/(x(i+j-)-x(i)); kf(,:);

%Izračun vrednosti polinoma function ppolynewtvred(k,x,x) nlength(k); pk(n); for in-:-: pk(i)+(x-x(i))*p; %vaja9.4 %Inverzna interpolacija close all; y[-0. 0.4.5.48]; x[ 0.67 0.38-0.96 -.8]; cpolynewtkoef(x,y); xtx():0.0:x(); nlength(xt); yt[]; for i:n yt(i)polynewtvred(c,x,xt(i)); plot(xt,yt,x,y,'b+'); %vrednost polinoma v točki x0 x00; y0polynewtvred(c,x,x0) %test: x00.770

0. vaja. naloga: Za spodnjo tabelo izračunajte po Aitkenovi metodi vrednost polinoma pri x 4...3.07.4.4 3.67.73 4.9.04 5.96.3 6.73-0.4. naloga: Aproksimirajte funkcijsko tabelo x y(x) -.30 0.6 -.6 0.59-0.98 0.65-0. 0.7 0.8 0.88.5 0.96.34.08.36.0 s premico f(x,a,b)a + b x v smislu najmanjših kvadratov. 3. naloga: Aproksimirajte funkcijsko tabelo iz druge naloge s premico. Uporabite Matlab-ovo lastnost, da reši predoločen sistem enačb po metodi najmanjših kvadratov.

4. naloga: Izvedite nelinearno aproksimacijo z Matlab-ovo funkcijo lsqcurvefit(f,r 0,x,y). 5. naloga: Aproksimirajte funkcijsko tabelo v drugi nalogi z nelinearno funkcijo f(x,a,b)a e bx.

%vaja0. %Aitkenova interpolacijska metoda x[.3.4 3.67 4.9 5.96 6.73] y[.07.4.73.04.3-0.4] x0input('podajte x0: '); [p,dp]aitken(x,y,x0) %test: y(4.).00 napaka0.0056 %Funkcija za Aitkenovo interpolacijsko metodo function [p,dp]aitken(x,y,x) nlength(x); a(:,)y; a(:,n+)x-x; for j:n for ij:n a(i,j)(a(j-,j-)*a(i,n+)-a(i,j-)*a(j-,n+))/(x(i)-x(j-)); a pa(n,n); %vrednost polinoma if nargout dpa(n,n)-a(n-,n-); %ocena napake ; %vaja0. %primer aproksimacije s premico clear all; x[-.3 -.6-0.98-0. 0.8.5.34.36] y[ 0.6 0.59 0.65 0.7 0.88 0.96.08.0] nlength(x); hinline('x.^0','x'); hinline('x','x'); vh(x); vh(x); a(,)dot(v,v); a(,)dot(v,v); b()dot(y,v); a(,)a(,); a(,)dot(v,v); b()dot(y,v); a b rlinsolve(a,b') xvx():0.0:x(); yvr()*h(xv)+r()*h(xv); plot(xv,yv,x,y,'r+') %test: r0.800 r0.7

%vaja0.3 %primer aproksimacije s premico %sistem veliko enačb za malo neznank reši Matlab %v smislu metode najmanjših kvadratov clear all; x[-.3 -.6-0.98-0. 0.8.5.34.36] y[ 0.6 0.59 0.65 0.7 0.88 0.96.08.0] hinline('x.^0','x') hinline('x','x') A[h(x') h(x')] by' ra\y' xvx():0.0:x(); yvr()*h(xv)+r()*h(xv); plot(xv,yv,x,y,'r+') %vaja0.4 % primer nelinearne aproksimacije clear all; x[-.3 -.6-0.98-0. 0.8.5.34.36] y[ 0.6 0.59 0.65 0.77 0.88 0.96.08.0] xvx():0.0:x(); r0[0.7,0.6,-0.03,0.08,0.54] finline('r()+r().*x+r(3).*x.*x+r(4)*exp(r(5).*x.*x)','r','x') [r,raz]lsqcurvefit(f,r0,x,y) yvf(r,xv); plot(xv,yv,x,y,'ro') %vaja0.5 %primer aproksimacije z eksponentno funkcijo clear all; x[-.3 -.6-0.98-0. 0.8.5.34.36] y[ 0.6 0.59 0.65 0.7 0.88 0.96.08.0] lnylog(y) nlength(x); hinline('x.^0','x'); hinline('x','x'); vh(x); vh(x); a(,)dot(v,v); a(,)dot(v,v); b()dot(lny,v); a(,)a(,); a(,)dot(v,v); b()dot(lny,v); a b rlinsolve(a,b') xvx():0.0:x(); yvexp(r())*exp(r()*h(xv)); plot(xv,yv,x,y,'r+')