---- Osnovi na MatLab ---- O S N O V I N A. MatLab. so P R I M E R I. Qup~o Jordanovski

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "---- Osnovi na MatLab ---- O S N O V I N A. MatLab. so P R I M E R I. Qup~o Jordanovski"

Transcript

1 O S N O V I N A MatLab so P R I M E R I Qup~o Jordanovski

2 VOVED...4. Zapo~nuvawe...5. MatLab kako ednostaven kalkulator Broevi I Formati Promenlivi Vgradeni Funkcii Nizi ( Vektori ) Oznaka ( : ) Izdvojuvawe Na Elementite Vektor kolona Transponirawe Skalaren proizvod na vektori (*) To~kast proizvod (.*) To~kast koli~nik ( delewe ) (./ ) To~kasto stepenuvawe (.^ ) Crtawe Na Elementarni Funkcii Naslov i labeli Mre`a Stil na linija i boi Pove}e Grafici HOLD naredbata Podcrte` ( SUBPLOT) Kontrola Na Oskite Zgolemuvawe ( zoom ) Matrici : Dvodimenzionalni Nizi Dimenzija Na Matricata Transponirawe Na Matrica Specijalni Matrici Edini~na Matrica Dijagonalna Matrica Konstrukcija na matrici Izdvojuvawe Na Elementi Na Matrica To~kast Proizvod Na Matrici (.* ) Mno`ewe Na Matrica So Vektor Mno`ewe na matrici Ciklusi ( Petqi ) Logi~ki Relacii ( Testirawe) Logi~ni Operatori While Ciklus ( Petqa)...38 Metoda :...39 Metoda if... then... else... end Skript Datoteki I Funkcii ( m-fajlovi) Skript m-fajlovi Funkciski m-fajlovi...43 Primeri Na Funkcii Drugi Vgradeni Funkcii Zaokru`uvawe Na Broevi Funkcijata sum Funkcii max i min Generirawe Na Slu~ajni Broevi Funkcija find za vektori Funkcijata find za matrici Crtawe Na Povr{ini Nizi Na Karakteri ( Znaci) Sporedba na K-nizi Prebaruvawe i zamena Konverzija na broj vo K-niza

3 7. Funkciski Funkcii Pretstavuvawe na analiti~ka funkcija vo MatLab-ot Crtawe na analiti~ki funkcii Minimum na funkcija so edna promenliva Nuli na funkcija so edna promenliva Numeri~ko integrirawe ( kvadratura) Vnes I Zapi{uvawe ( Eksport ) Na Podatoci Vnes ( ~itawe ) na podatoci Eksport ( zapi{uvawe ) na podatoci Funkcija input HELP altaka...65 VOVED VO MATLAB VTOR DEL Polinomi i Interpolacija Nuli na polinomot Presmetuvawe na vrednosta na polinomot Mno`ewe ( konvolucija) i delewe ( dekonvolucija ) na polinomi Interpolacija na podatoci so polinim INTERPOLACIJA SO POLINOM Interpolacionen polinom Lagran`ova interpolacija Wutnova interpolacija - napred NUMERI^KO DIFERENCIRAWE ( OPREDELUVAWE NA IZVOD) Numeri~ko diferencirawe koristej}i limes Numeri~ko diferencirawe so pomo{ na Wutnoviot interpolacionen polinom NUMERI^KO INTEGRIRAWE Trapezno pravilo Simpsonovo pravilo Gausova integracija RE[AVAWE NA SISTEMI LINEARNI ALGEBARSKI RAVENKI Gausova metoda na eliminacija Iterativna metoda ( Gaus - Zajdel) MODELIRAWE NA PODATOCI Polinomna regresija Op{ta funkciska regresija DISKRETNA INTERPOLACIJA ^itawe ( vnesuvawe) na podatoci...3 3

4 VOVED MatLab e visoko-organiziran programski jazik za primena vo in`ewerstvoto i tehnikata. Toj vkqu~uva vo sebe presmetuvawe, vizuelizacija i programirawe vo ramkite na ednostavna za koristewe okolina kade {to problemite i re{enijata se pretstaveni vo poznata i bliska matemati~ka notacija. Tipi~no koristewe na programot sodr`i: Elementarna matematika i presmetki Linearna algebra Razvoj na algoritmi Modelirawe, simulacija i gradewe na prototipovi Analiza na podatoci, istra`uvawe i vizuelna prezentacija Nau~ni i in`ewerski grafici i grafikoni Razvoj na aplikacii vlu~uvaj}i razvoj na Grafi~ki Interfejs za korisnici MatLab e interaktiven sistem ~ii osnovni tipovi na podatoci se nizi i matrici koi ne treba prethodno da se definiraat i dimenzioniraat. So toa se ovozmo`uva re{avawe na mnogu tehni~ki problemi kade {to se potrebni golemi numeri~ki presmetki. Osobeno MatLab-ot e prikladen za re{avawe na problemi koi mo`at da se formuliraat vo vektorska ili matri~na forma pri {to potrebnoto vreme za re{avawe e mnogu pomalo vo sporedba ako se koristat klasi~nite programski jazici kako {to se FORTRAN ili C. Imeto MatLab e kratenka od matrix labaratory i originalno bil dizajniran da obezbedi lesen pristap do softverskite paketi LINPACK i EISPACK koi pretstavuvale najsovr{eni softverski paketi za matri~no smetawe. MatLab-ot vo tek na vreme evoluiral i bil nadograden preku kotribucija na mnogu korisnici. Vo Univerzitetskite ramki, toj pretstavuva standardna alatka i pomo{no sredstvo na studentite po predmetite matematika, in`inerstvo i nau~nite istra`uvawa. Vo industrijata, MatLab-ot e naj~esto koristena alatka ( softver) za visoka produktivnost vo istra`uvawata, razvoj i analizi. Edna od va`nite karakteristiki na MatLab-ot e postoewe na takanare~eni toolboxes ( alatki ), koi pretstavuvaat kolekcija na proceduri na ve}e re{eni problemi od dadena oblast. Alatkite se seopfatni MatLab funkcii ( m-fajlovi ) so koi se pro{iruva okolinata na MatLab za re{avawe na posebni klasi na problemi. Oblastite za koi postojat vakvi alatki vklu~uvaat: procesirawe na signali, kontrola na sistemi, neuronski mre`i, fazi logika, simulacija, obrabotka na sliki i mnogu drugi. MatLab-ot poseduva i svoj programski jazik koj e matri~no orjentiran no gi ima site svojstva na programski jazik kako {to se FORTRAN i C. Toj ovozmo`uva brzo i interaktivno programirawe na mali programi so momentalna proverka na to~nosta i korektnosta na programot kako i kreirawe na celosni i kompleksni programi za korisnici. Posebna pogodnost e postoewe na biblioteki koi ovozmo`uvaat koristewe i interakcija so proceduri ili funkcii napi{ani vo C ili Fortran so {to kapacitetot i mo`nostite na MatLab-ot zna~itelno se zgolemeni. 4

5 . Zapo~nuvawe MatLab e programa koja se nao a vo eden direktorium {to se kreira za vreme na instalacija na MatLab-ot. Za va{i potrebi, upatno e da kreirate va{ raboten direktorium vo koj bi se zapi{uvale va{ite podatoci ili m-fajlovite. MatLab-ot se aktivira so komandata: matlab ako se rabori pod DOS operativen sistem ili so pritiskawe na ikonata za MatLab ako se koristi WINDOWS verzijata. Po izvesno vreme, logoto na programot se poka`uva sledeno so simbolot >> kade >> pretstavuva MatLab promt ozna~uvaj}i deka programot e spremen da prifati nova naredba i da ja izvr{i. So help naredbata, korisnikot ima mo`nost da na lice mesto dobie informacii i pomo{ za nekoj naredba. So naredbata quit se izleguva od programata MatLab.. MatLab kako ednostaven kalkulator Za prvi~no zapoznavawe so MatLab-ot, mo`e da se iskoristat mo`nostite na programot da se koristi kako ednostaven kalkulator. Osnovnite matemati~ki operacii se:+ ( sobirawe), - ( odzemawe), * ( mno`ewe), / ( delewe), ^ ( stepenuvawe) i tie se koristat vo kombinacija so zagrdite ( ). Simbolot ^ se koristi za stepenivawe. 2^4 = 6. Komandite se ispi{uvaat posle promtot >>. primer: >> 2+3/4*5 otkako }e se ispi{e naredbata a po pritiskawe na kop~eto, Enter MatLab-ot odgovara so: 5.75 {to pretstavuva rezultat od presmetkite. Promenlivata ans se ispi{uva ako korisnikot prethodno ne definiral promenliva vo koja }e bide smesten rezultatot. Imeno mo`no e da se napi{e: >> x = 2 + 3/4*5 x =

6 Sega kako rezultat se ispi{uva promenlivata x. Treba da se napomne, deka so samata naredba x = 2 + 3/4*5, programot rezervira mesto za promenlivata x vo svojot raboten prostor ( memoriski del ), taka da korisnikot ne e dol`en eksplicitno da definira promenliva, kako {to e slu~aj kaj drugite programski jazici. Vo tekot na celata sesija promenlivata x e prisutna osven ako so posebna naredba ne se izbri{e od rabotniot prostor. Vo bilo koe vreme vo tekot na rabotata so naredbata: >> x x = 5.75 mo`no e da se proveri vrednosta na promenlivata x. Vo slu~aj ako ne se saka pe~ateweto na promenlivata, naredbata mora da zavr{i so to~ka-zapirka ( ;) >> x = 2 + 3/4*5; y = 2^2, z = 3^.5; y = 4 Vo prethodnata naredba, presmetani se tri promenlivi x,y i z, otpe~ateni vo eden red. Pri toa naredbatite so koja se opredeluvaat x i z zavr{uvaat so ; i zatoa ne se pe~atat dodeka pak naredbata so koja se opredeluva y zavr{uva so zapirka kako separator pome u dve naredbi a ne so ; i zatoa programot vedna{ ja pe~ati vrednosta. Za da se vidat vrednostite na x i z treba da se napi{e: >> x x = 5.75 >> z z = Broevi I Formati MatLab prepoznava nekolku vidovi ( tipovi ) na broevi. Tip Primer Celobrojna 362, Realna.234, -.76 Kompleksna i ( i e imaginarna edinica) Inf Beskone~no, delewe so nula NaN Ne e broj, / Notacijata "e" se koristi za mnogu golemi ili mnogu mali brojki: -.342e+3 = -.342x 3 = e- = -.342x - = Site presmetki vo MatLab se izveduvaat so dvojna preciznost ( double precision ), {to zna~i so to~nost do 5-tata decimala. Formatot na koj na~in MatLab gi pe~ati broevite se definira i se kontrolira so naredbata " format ". 6

7 Komanda Pe~aten primer >> format short ( 4 decimalni mesta ) >> format short e 3.46e+ >> format long e e+ >> format bank 3.42( 2 decimalni mesta) Ako treba da se vratime na standardniot format koj e definiran pri samoto vkqu~uvawe na MatLab-ot, treba samo da se ispi{e samo format. Naredbata >> format compact e isto taka korisna naredba ako ne sakame pe~atewe na prazni redovi. Na toj na~in pove}e informacii mo`at da bidat ispe~ateni. 3. Promenlivi Imiwata na promenlivi pretstavuvaat kombinacija na bukvi i brojki i zapo~nuvaat so bukva. Vo sledniot primer dadeni se korektno ozna~eni promenlivi. NetCost, Left2Pay, v3, X3, z25c5 Sledniot primer poka`uva kako ne smeat da se ozna~uvaat promenlivite: Net-Cost, 2pay, Preporaka e da se koristat imiwa koi asociraat na kontekstot i prirodata za koja se upotrebeni promenlivite. Na toj na~in polesno pri povtorno razgleduvawe na programot se identificira zna~eweto i upotrebata na dadenata promenliva. Specijlni imiwa: MatLab-ot ima rezervirano imiwa na nekoj promenlivi ili konstati a koi ne treba da se koristat od strana na korisnikot. Na primer eps = 2.224e-6 = 2-54 e najmaliot broj taka da brojot +eps se razlikuva od vo ramkite na gre{kata koja postoi vo presmetkite zaradi kone~niot zbor, ili pi = = π Ako se raboti so kompleksni broevi toga{ MatLb-ot bukvite i i j gi smeta kako imaginarni golemini ( ), osven ako korisnikot ne gi smeni. primer: >> i,j, i=3 +.i +.i i = 3 So prvite dve naredbi se definiraat dva kompleksni broja, dodeka so tretata naredba zna~eweto na i e smeneto i sega pretstavuva voobi~aena promenliva so vrednost 3. VE@BI: Presmetaj gi vrednostite na slednive aritmeti~ki izrazi: ) -2^3+9 2) 2/3*3 3) 3*2/3 4) 3*4-5^2*2-3 5) (2/3^2*5)(3-4^3)^2 6) 3*(3*4-2*5^2-3) 7

8 4. Vgradeni Funkcii MatLab kako jazik od povisoko nivo ima vgradeno vo svojata implementacija i golem broj na elementarni i naj~esto koristeni matemati~ki funkcii, kako {to se naprimer trignometriskite i eksponencijlanite. Vo Tabelata dadeni se postojnite elementarni funcii koi se dostapni vo MatLabot: Elementarni matemati~ki funkcii sin sinh asin asinh cos cosh acos acosh tan tanh atan atan2 atanh coth exp log log log2 pow2 sqrt abs angle conj imag real unwrap isreal fix floor ceil round mod rem sign Trigonometric. Sinus Sinus hiperbolen Arkus-sinus Inverzen sinus hiperbolen Cosine. Hyperbolic cosine. Inverse cosine. Inverse hyperbolic cosine. Tangent. Hyperbolic tangent. Inverse tangent. Four quadrant inverse tangent. Inverse hyperbolic tangent. Hyperbolic cotangent. Exponential. Exponential. Natural logarithm. Common (base ) logarithm. Base 2 logarithm and dissect floating point number. Base 2 power and scale floating point number. Square root. Complex. Absolute value. Phase angle. Complex conjugate. Complex imaginary part. Complex real part. Unwrap phase angle. True for real array. Rounding and remainder. Round towards zero. Round towards minus infinity. Round towards plus infinity. Round towards nearest integer. Modulus (signed remainder after division). Remainder after division. Signum. Koristeweto na elementarnite funkcii e ednostavno i se sveduva na nivno povikuvawe so naredba koja se ispi{uva na ist na~in kako i vo matematikata. >> x = 5*cos(pi/6), y = 5*sin(pi/6) x =

9 y = 2.5 Vo gorniot primer presmetani se sin i cos vrednostite za argumentot pi/6, pri toa argumentite se zadavaat vo radiani. >> acos(x/5), asin(y/5) >> pi/ So predhodnite naredbi se presmetani inverznite funkcii na cos i sin i kako rezultat doben e argumentot pi/6. Argumentite x i y se zemeni od prethodnite presmetki i tie egzistiraat vo rabotniot prostor ma MatLab-ot se dodeka eksplicitno ne gi izbri{eme. Vo prodol`enie, dadeni se nekolku primeri na koristewe na elementarnite matemati~ki funkcii. >> x = 9;format; >> sqrt(x), exp(x), log(sqrt(x)),log(x^2+6) 3 8.3e >> format long e, exp(log(9)), log(exp(9) 9.2e+ 9 >> format short x exp(x) ozna~uva eksponencijalna funkcija exp( x ) = e dodeka log(x) e inverznata fukcija. Zatoa vo prethodniot primer rezultatot i vo dvata slu~aja e 9. Vo prviot primer poradi naredbata format long e, rezultatot e pe~aten so to~nost na 5 decimali pri {to se gleda deka vo 5-tata decimala postoi mala gre{ka na zaokru`uvawe. So naredbata format short, povtorno se vra}a standardniot na~in na prezentacija na broevite. 5. Nizi ( Vektori ) Nizite odnosno vektorite mo`at da se definiraat na dva na~ina: kako vektor-red ili vektor-kolona. Vektor-red e niza na broevi ~ii elementi se odvoeni ili so zapirka ili so prazno mesto ( space). Brojot na elementite ja opredeluva dimenzijata (dol`inata) na vektorot a elementite ~esto se narekuvaat i komponenti na vektorot. Elementite mora da bodat zatvoreni so aglesti zagradi. >> v = [ 3, sqrt(5)] v =

10 >> length(v) 3 So primerot e poka`ano kako se definira vektorot x so tri elementi, pri {to tretiot element e funkcija, {to zna~i deka pri definirawe na vektor, kako element mo`e da se korisiti bilo kakva funkcija ili aritmeti~ki izraz koi kako rezultat pri presmetuvawe dava brojka. Praznite mesta za razdvojuvawe na komponentite se od vitalno zna~ewe. >> v2 = [ ] v2 = 7 5 >> v3 = [ ] v3 = Pri definirawe na v 2 praznoto mesto e staveno posle + i MatLab-ot izvr{il sobirawe na 3 i 4 i kako rezultat dobein e vektor so dva elementi. Vo slu~aj na vektorot v 3, praznoto mesto e pred +, i kako rezultat se dobiva vektor so 3 elementi. Vektori so ista dol`ina mo`at da se sobiraat, vadat kako i da se mno`at so broj. Kako primer da gi sobereme vektorite v i v 3, prethodno presmetani. >> v + v >> v4 = 3*v v4 = >> v5 = 2*v - 3*v v5 = Vektorot mo`e da se definira so pomo{ na drugi vektori: >> w = [ 2 3], z = [8 9] >> cd = [ 2*z, -w] >> sort ( cd ) w = 2 3 z = 8 9 cd = Vektorot cd e generiran koristej}i gi vektorite w i z. Komandata sort vr{i sortirawe na elementite na vektorot cd po golemina, i ovaa komanda e vgradena funkcija na MatLab-ot. Mo`no e isto taka da se smeni ili da se ispe~ati vrednosta na daden element na vektorot. >> w(2) = -2, w(3) w =

11 Vektor mo`e da se koristi i kako argument na funkcija. Na primer: >> w = [ ] w = >> sqrt(w) Funkcijata sqrt ( kvadraten koren ) zima element po element i generira nov vektor so elementi koi pretstavuvaat kvadraten koren na originalniot vektor w. Ovaa mo`nost na MatLab-ot pretstavuva mo}no oradie vo sporedba so drugi jazici, kade treba da se napi{e nekolku reda programa za da se dobie istiot rezultat. Ovoa svojstvo se narekuva vektorizacija na aritmetikata. 5. Oznaka ( : ) So oznakata dve to~ki ( : ), mo`no e na pokratok i pokompakten na~in generirawe na vektori. >> :4 >> 3:7 >> : Empty matrix: -by- So prvata nareedba generiran e vektor so prviot element ednakov na a posledniot 4. Drugite elementi se popolnuvaat so ~ekor edinica. Sli~no i vtorata naredba generira vektor kade prviot element e 3 i so ~ekor se popolnuva se do posledniot koj ima vrednsot 7. Poslednata naredba generira prazen vektor bidej}i gornata granica - e pomala od dolnata granica. Generalno naredbata m : k : n generira vektor so elementi {to zapo~nuvaat so m i so ~ekor k zavr{uvaat so n ( nema da se generira element pogolem od n ). >>.32 :. :.6 >> -.4 : -.3 : Izdvojuvawe Na Elementite >> r5 = [:2:6, -:-2:-7] r5 = Za da se izdvojat elementite od tretoto do {estoto mesto se koristi naredbata: >> r5(3:6) ili ako sakame alternativni elementi toga{:

12 >> r5( :2:7 ) Pra{awe: [to naredbata r5( 6:-2:), dava kako rezultata? 5.3 Vektor kolona Vektor kolona se definira na sli~en na~in kako i vektor red. Elementite se odvoeni so to~ka-zapirka (;) ili so nov red. >> c = [ ; 3; sqrt(5) ] c = >> c2 = [ 3 4 5] c2 = >> c3 = 2*c - 3*c c3 = Vektor koloni mo`at da se sobirat ili odzemaat ako imaat ista dimenzija ( broj na elementi ). 5.4 Transponirawe So postapkata na transponirawe vektorot-kolona se pretvara vo vektor-red i obratno. Transponiraweto se ozna~uva so simbolot ( ' ). >> w = [ -2 3 ], c = [ ; 3; sqrt(5)] w = -2 3 c = >> w', c >> t = w + 2*c' t =

13 >> T = 5*w' - 2*c T = >> T,t T = t = Vo primerot pogore promenlivite T i t se razli~ni, {to zna~i deka MatLab-ot pravi razlika pome u mali i golemi bukvi i promenlivite so isto ime no definirani so mali ili golemi bukvi se smetaat kako dve posebni promenlivi. Ako promenlivata x e kompleksen vektor, toga{ x' e kompleksno kowugiran transponiran vektor na vektorot x. >> x = [ +3i, 2-2i] x =. + 3.i i >> x'. - 3.i. + 2.i 5.5 Skalaren proizvod na vektori (*) Skalaren proizvod na dva vektora so ista dimenzija prestavuva broj ( skalar), koj se dobiva so sobirawe na proizvodite na soodvetnite elementi. Zna~i, prvo se mno`at soodvetnite komponenti na vektorot a potoa rezultatite se sobiraat. r u = ( u, u2,... un ) v v2 v r =.. v 5 rr uv n = u i v i na primer ako se: u r = (,,2) a 2 v r = 2 22 toga{ 3

14 u r v r = 2 + ( ) ( 2) + 2 ( 22) = 67 Vo MatLab-ot skalarniot proizvod se presmetuva na sledniot na~in: >> u = [, -, 2 ], v = [2; -2; -22] >> prod = u*v u = - 2 v = prod = 67 MatLab-ot presmetuva skalaren proizvod pome u vektor-red i vektor-kolona. Imeno ako imame vektor: >> w = [2,, 3] w = 2 3 Toga{ pri presmetuvawe na skalaren proizvod pome u vektorite u i w, MatLab-ot }e prijavi gre{ka. >> u*v??? Error using ==> * Inner matrix dimensions must agree. dodeka pak u*w' 45 bidej}i so operacijata transponirawe, vektorot-red w e pretvoren vo vektor-kolona. Pod Euklidova norma ili dol`ina na vektor koja se odbele`uva so simbolot u r se podrazbira broj koj se presmetuva so formulata. r u = n u i 2 kade n e dimenzijata na vektorot. Dol`inata na daden vektor so MatLab-ot mo`e da se presmeta na dva na~ina: >> dol = sqrt(u*u') dol = 9.5 ili >> dol = norm(u) dol = 9.5 Vo poslednata naredba koristena e vgradenata funkcija za presmetuvawe na normata na daden vektor. MatLab poseduva pove}e takvi funkcii koi deluvaat na vektorite. 4

15 Zada~a: Agolot θ pome u dva vektor-koloni x i y definiran e so ravenstvoto: cos θ = x y r r x y Iskoristi ja formulata za da se opredeli kosinus na agolot pome u dvata vektora x r = [,2,3] i y r = [ 3,2, ] potoa najdi go agolot izrazen vo stepeni. 5.6 To~kast proizvod (.*) Vtor na~in da se pomno`at dva vektora so isti dimenzii a taka nare~en HADAMAROV proizvod. Toj ne se koristi ~esto vo matematikata no pretstavuva neproceniva mo`nost i korist koja ja poseduva MatLab-ot. Ako u i v se dva vektora od ist tip ( kolona ili red ), matemati~ka definicija na ovoj proizvod (to~kast proizvod ) e vektor so komponenti: u rr v = u v, u v,..., u n v ] [ 2 2 n rezultatot e vektor so ista dimenzija i od ist tip. Zna~i ednostavno se mno`at soodvetnite elementi na vektorite. Vo MatLab-ot ovoj proizvod se definira so operatorot (.*). >>u.*v 2-36 >>u.*v' Primer: Tabelarno pretstavi ja funkcijata y = xsin( πx) za x =.,.25,,. Polesno e da se raboti so vektor-kolona, i zatoa prvo treba da se generiraat vrednsotite na x. x = ( :.25 : )' x = Za da se presmeta y potrebno e da se pomno`at soodevtnite elementi na vektorot x i vektorot sin( π x) 5

16 x sin(πx) xsin(πx) So pomo{na MatLab-ot presmetkite se vr{at so edna naredba. >> y = x.*sin(pi*x) y = ^ekorite na presmetuvawe koi {to se krijat zad ovoj eden red naredba se slednive: Sekoj element na vektorot-kolona x se mno`i so brojot pi = Funkcijata sin se presmetuva za sekoj element na vektorot dobien so prethodniot ~ekor. Pri toa se dobiva nov vektor-kolona Se vr{i to~kasto mno`ewe pome u novodobientiot vektor sin(pix) i vektorot x i se generira vektorot y,~ii elementi se baranite tabelarni vrednosti na funkcijata. 5.7 To~kast koli~nik ( delewe ) (./ ) Ne postoi matemati~ki ekvivalent za delewe na eden vektor so drug. Vo MatLab-ot operatorot (./ ) e definiran kako operacija na delewe na elementot na prviot vektor so soodvetniot element na vtoriot vektor. Od ovaa defenicija proizleguva deka vektorite so ista dimenzija ( dol`ina ), mo`at to~kasto da se delat. >> a = :5, b = 6:, a./b a = b = >> a./a >> c = -2:2, a./c c = -2-2 Warning: Divide by zero Inf Vo prethodniot primer, definiran e vektorot c ~ii tret element e nula. Pri to~kastoto delewe na a so c, se javuva poraka deka se deli so nula, a kako rezultat MatLab-ot ispi{uva Inf, ozna~uvaj}i so beskone~nost rezult na deleweto so nula. >> a.*b - 24, ans./c 6

17 Warning: Divide by zero. 9 NaN 2 3 Vo ovoj primer se javuva slu~aj na /, i kako rezultat MatLab-ot ispi{uva NaN, {to zna~i deka tretiot element ne e broj. Primer: Da se oceni vrednosta na limesot: lim x sin( πx) x Idejata e da se presmeta vrednosta na koli~nikot sin(πx)/x za niza vrednosti na x koi se dobli`uvaat do. Neka taa niza se definira kako vektor-kolona. >> x = [.;.;.;.] x =.... toga{ >> sin(pi*x)./x {to sugerira deka vrednostite konvergiraat kon π. Za da se dobie podobro ~ustvo, neka se odzeme π od sekoj element na ans. Za pe~atewe na pogolem broj na decimalni mesta, potrebno e da se smeni formatot. >> format long >> ans - pi Sega e jasno, deka koli~nikot konvergira kon π, bidej}i kre{kata na ~etvrtiot element e vo 8-ta decimala. To~kastoto delewe (./ ), se koristi i za delewe na skalar ( broj ) so vektor. >>./x 7

18 5.8 To~kasto stepenuvawe (.^ ) Za da sekoj element na daden vektor se kvadrira, mo`e da se iskoristi to~kastoto mno`ewe na vektorot so samiot sebe u.*u. No pokompakten na~in e so koristewe na to~kasto stepenuvawe (.^ ). >> u = [ 2 ]; >> u.^ >> u.*u 2 44 >> u.^ >> v = [ 2; -2; -22]; w = [2,, 3]; >> v.^ >> format, u.*w.^(-2) Treba da se zabele`i deka prvo se presmetuva (.^ ), a potoa site drugi operacii po prioritet. 6. Crtawe Na Elementarni Funkcii MatLab-ot ima mo`nosti da na brz i ednostaven na~in, grafi~ki prezentira elementarni funkcii kako i da ispi{uva naslovi i labeli na graficite. Da pretpostavime deka treba da se iscrta funkcijata y = sin( 3πx) za x. Postapkata se sostoi vo generirawe na vektor x so dovolen broj na elementi so vrednosti pome u i i potoa da se presmetaat vrednostite na funkcijata y. Na toj na~in se dobivaat parovi na broevi ( x,y ), koi vo x-y koordinaten sistem ja definiraat funkcijata. Da pretpostavime deka se zemeni N+ to~ki so ednakov interval h pome u niv. >>N = ; h= /N; x = :h:; So gornite naredbi definiran e vektorot x =, 2h, 3h,,-h,. Soodvetnite vrednosti na funkcijata y se presmetuva so: >> y=sin(3*pi*x); Kone~no mo`e da se icrta grafikot so naredbata: >>plot(x,y) 8

19 Slika : Grafik na y = sin( 3πx) za h =. Rezultatot e prika`an na Sl., kade e sosema uo~livo deka vrednosta na H e mala i zatoa grafikot nee gladok. Ako H se zgolemi na, rezultatot e sledniot. >>N = ; h=/n; x = :h:; >>y = sin(3*pi*x); plot(x,y) Slika 2: Grafik na y = sin( 3πx) za h =. Kako rezultat se dobiva gafikon so pogladka kriva. 9

20 6. Naslov i labeli Za da se ispi{e naslovot i za da se labeliraat oskite se koristat slednive naredbi. >> title(' Graph of y = sin(3pi x)') >> xlabel('x axis') >> ylabel('y-axis') Nizata na bukvi, pome u dvata apostrofi ( ' ' ) mo`e da se sostoi od bilo kakvi znaci. MatLab-ot gi smeta kako niza na karakteri. 6.2 Mre`a To~kasta mre`a mo`e da se definira so naredbata. >>grid Mre`ata mo`e da se trgne povtorno so naredbata grid ili so grid off. 6.3 Stil na linija i boi Polnata linija e tipot na linijata so koja se crta grafikonot ako poinaku nee definirano. Polna bela linija se definira so naredbata: >>plot(x,y,'w-') Tretiot argument na naredbata plot pretstavuva niza od karakteri. Prviot karakter ja specificira bojata vo koja se crta linijata a vtoriot simbol go definira stilot na linijata. Opciite za bojata i stilot dadeni se vo slednava tabela. Boja Stil na linijata y `olta. to~ka m magenta o krug c cijan x krst r crveno + plus g zelena - polna linija b plavo * zvezda w bela : dve to~ki k crna -. isprekinata so to~ka - - isprekinata 6.4 Pove}e Grafici Pove}e grafici mo`at da se prika`at na eden crte`, kako naprimer >> plot(x,y,'w-',x,cos(2*pi*x),'g--') Isto taka mo`no e da se dodade i legenda na crte`ot >> legend('sin kriva','cos kriva') So ovaa naredba se iscrtuva listata na stilovite na liniite zaedno so opisniot tekst. Matlab-ot ja smestuva legendata na soodvetna pozicija taka da ne se pojavi kolizija so samite krivi. >> plot(x,y,x,cos(3*pi*x),'g--') >> legend('sin kriva','cos kriva') >> title(' Multi-plot') 2

21 >> xlabel('x axis'), ylabel('y axis') >> grid.8.6 Multi-plot Sin kriva Cos kriva.4.2 y axis x axis Slika 3: Grafik na y = sin( 3πx) i y = cos( 3πx) za h =. 6.5 HOLD naredbata Pri sekoje povikuvawe na plot, prethodniot crte` se bri{e i se crta noviot grfik. Toa sekako ne e soodvetno ako podocna treba na istiot crte` da se dodade nov grafik. Za da se spre~i bri{ewe na crte`ot, se koristi naredbata hold. >> plot(x,y), hold >> plot(x,y,'gx'), hold off Naredbata hold ja zadr`uva slikata, dodeka pak hold off ja " osloboduva ", no nee i bri{e. Ako se saka i bri{ewe na slikata se koristi naredbata clg. 6.6 Podcrte` ( SUBPLOT) Grafi~kiot ekran ( window ), mo`e da se podeli na ( m x n ), pomali xam~iwa i vo sekoj od niv da se nacrta grafik. >> subplot(22), plot(x,y) >> xlabel('x'), ylabel('sin 3 pi x') >> subplot(222), plot(x,cos(3*pi*x)) >> xlabel('x'),ylabel(' cos 3 pi x') >> subplot(223), plot(x,sin(6*pi*x)) >> xlabel('x'),ylabel(' sin 6 pi x') >> subplot(224),plot(x,cos(6*pi*x)) >> xlabel('x'),ylabel('cos 6 pi x') 2

22 sin 3 pi x sin 6 pi x x x cos 3 pi x cos 6 pi x x x Naredbata subplot(22) ili subplot(2,2,) definira ~etiri pomali crte`i ( subplot) 2x2, pri {to e selektiran prviot ( ) subplot za crtawe. Redniot broj na subplotot se definira po redovi. 6.7 Kontrola Na Oskite Edna{ odkako e generiran crte`ot, mo`no e da se smeni dijapazonot t.e. intervalot na oskite x i y. >> clf, N=; h=/; x=:h:; >> y=sin(3*pi*x); plot(x,y) Slika 4: Efektot na promena na intervalot na oskite 22

23 axis komandata ima ~etiri parametri. Prvite dva parametri se minimum i maksimum vrednosti na x-oskata dodeka poslednite dva se minimum i maksimum vrednosti na y- oskata. Aglestata zagrada e zadol`itelna. Rezultatot na ovie komandi e poka`an na Sl.4. Ve`bi:. Iskucajte gi komandite i vidite {to se dobiva: >> x = -:.:; >> plot(x,sin(pi*x),'g-') >> hold on >> plot(x,cos(pi*x),'r-') 6.8 Zgolemuvawe ( zoom ) ^esto se nametnuva potreba da nekoj del od grafikot ( slikata ) bide zgolemen so cel da se vidat detalite. Toa se postiga so naredbata >>zoom So pomo{ na poka`uva~ot ( pointer ) na glu{ecot, se odbira mestoto na crte`ot koj treba da se zgolemi i so pritiskawe na levoto kop~e na glu{ecot se vr{i zgolemuvawe za dva pati. Ovaa postapka mo`e da se povtoruva dodeka ne se postigne sakanato zgolemuvawe. So pritiskawe na desnoto kop~e se namaluva crte`ot za dva pati. Ako se saka da se zgolemi odreden del od crte`ot, toga{ toj del se okviruva so pravoagolna ramka na na~in {to so postojano pritisnato levoto kop~e glu{ecot se dvi`i se dodeka delot ne se uokviri so pravoagolna ramka. 7. Matrici : Dvodimenzionalni Nizi Vektor-kolona i vektor-red se specijalni slu~ai na matrici. Edna mxn matrica e pravoagolna niza na broevi so m redovi i n koloni. Voobi~aeno e vo matematikata, matricata da se odbele`uva so obi~ni ili aglesti zagradi. Na primer za m=2 i n=3, imame matrica od redot 2x3, kako {to e 5 A = Za da se vnese edna matrica vo MatLab-ot, ednostavno se vnesuvaat vrednostite red po red koristej}i ja istata sintaksa kako i za vektorite. >> B=[- 2 5;9 5] B = >> C=[, ; 3, -2; 4,2] C =

24 >> D=[:5; 6:; :2:2 D = So gornite naredbi definirani se matricite B,C i D koi se od redot na 2x3, 3x2 i 3x5, soodvetno. Vo taa smisla, vektor-redot e matrica xn a vektor-kolonata e matrica od redot mx. 7. Dimenzija Na Matricata Dimenzijata na matricata se dobiva ( opredeluva) so komandata size. >> x=[ ;2;3]; >> size(b), size(x) >> size(ans) 2 Bidej}i matricata B e 2x3 a vektorot x, 3x, naredbata size gi dava brojot na redovite i kolonite. Bidej}i samiot izlez se sostoi od dve vrednosti, promenlivata ans e sama vektor-red zatoa naredbata size(ans) dava vrednost i 2. Mo`no e da se spasi rezultatot na naredbata size za ponatamo{no koristewe vo presmetkite. >> [r,c]=size(b'), S = size(b') r = 3 c = 2 S = Transponirawe Na Matrica Transponirawe na vektor vr{i transformacija na vektor-red vo vektor-kolona i obratno. Pro{iruvawe na ovaa ideja vrz matricite, zna~i zamena na redovite so soodvetnite koloni: prviot red stanuva prva kolona i t.n. >> D,D' D = >> size(d), size(d') 24

25 Specijalni Matrici MatLab ovozmo`uva avtomatsko generirawe na brojni korisni vidovi na matrici od bilo koj red. Naredbata ones(m,n) generira mxn matrica so edinici kako nejzini elementi. >> P=ones(2,3) P = zeros(m,n) generira mxn matrica so nuli. >> Z=zeros(2,3), zeros(size(p') Z = Vtorata komanda e primer za konstrukcija na matrica koja se bazira na dimenziite na dadena matrica. Matricata se narekuva kvadratna ako ima ednakov broj na redovi i koloni ( nxn ). Matricata e simetri~na ako e ednakva na svojata transponirana t.e. ne se menuva pri transponirawe. Jasno e deka samo kvadratnite matrici mo`at da bidat simetri~ni. >> S = [ 2, -, ; -, 2, -;, -, 2] S = >> St = S' St = >> S-St 7.4 Edini~na Matrica Edini~na matrica e kvadratna matrica nxn, koja samo na glavnata dijagonala ima edinici a site drugi elementi se nuli. Vo MatLab-ot edini~nata matrica se generira so naredbata eye(n). >> I = eye(3), x = [8; -4; ], I*x I = 25

26 x = Kako {to se gleda edini~nata matrica pomno`ena so vektor ili matrica go dava istiot vektor ili matricata. 7.5 Dijagonalna Matrica Dijagonalnata matrica e sli~na na edini~nata matrica osven {to dijagonalnite elementi ne nu`no se edinici. Generirawe na dijagonalna matrica vo MatLabot mo`e da se napravi na dva na~ina. Prviot na~in e direktno vnesuvawe na dijagonalnata matrica. >> D = [-3 ; 4 ; 2] D = No ovoj na~in stanuva neefikasen koga e vo pra{awe matrica so pogolemi dimenzii ( pr. x ). Vo takov slu~aj se koristi naredbata diag. Prethodno se definira vektor d koj gi sodr`i dijagonalnite elementi na matricata a potoa so naredbata diag(d) se generira baranata dijagonalna matrica. >> d = [-3 4 2], D=diag(d) d = D = No ako A e matrica, naredbata diag(a), gi izdvojuva dijagonalnite elementi vo vektor. F=[ 8 7; ; 4 2 ] F = >> diag(f) -2 Treba da se zabele`i deka matricata ne mora da bide kvadratna. 26

27 7.6 Konstrukcija na matrici ^esto e poprakti~no da golemite matrici se konstruiraat od pomali: >> C = [ ; 3-2; 4 2]; x = [8; -4; ]; >> G = [C x] G = >> A = [ 5 7 9; -3-7], B, H = [A;B] A = B = H = So gornite naredbi matricata C e pro{irena so vektorot x formiraj}i matrica G, dodeka so poslednata naredba generirana e matricata H so pomo{ na matricite A i B, taka {to posle matricata A e dodadena matricata B so zgolemuvawe na brojot na redovite. >> J= [:4; 5:8; 9:2; 2 5 4] J = >> K = [ diag(:4) J; J' zeros(4,4)] K = Komandata spy(k) generira grafi~ka prezentacija na mestata na ne-nultite elementi na matricata K, kako i vkupniot broj na ne-nultite elementi. >> spy(k), grid 27

28 nz = 34 primer: tabelirawe na funkcii Da se napravi tabela na funkciite y=4sin(3x) i u=3sin(4x) za x =..,.2,...5 >> x=:.:.5; >> y=4*sin(3*x); u=3*sin(4*x); >> [x',y',u'] Zada~ata mo`e da se re{i so pomal broj na naredbi. >> x=(:.:.5)'; >> [x 4*sin(3*x) 3*sin(4*x) ] Izdvojuvawe Na Elementi Na Matrica Mo`no e izdvojuvawe na del od matrica t.e. submatrica, na ednakov na~in kako i vo slu~aj na vektorite. Sekoj element na matrica e indeksiran sprema redot i kolonata na koi im pripa a. Elementot vo i-tiot red i j-tata kolona matemati~ki se ozna~uva kako Aij a vo Matlabot so A(i,j). Taka naprimer: 28

29 >> J = [:4; 5:8;9:2; 2 5 4] J = >> J(,) >> J(2,3) 7 >> J(4,5)??? Index exceeds matrix dimensions. >> J(4,) = J(,) + 6 J = >> J(,) = J(,)-3*J(,2) J = Od gornite primeri se gleda deka elementite na matricata mo`at da se povikuvaat sami ili da se menuvaat i kombiniraat edni so drugi. Vo primerite {to sledat poka`ano e kako mo`at da se izdvojat koloni, redovi ili submatrici. >> J(:,3) % tretata kolona se izdvojuva >> J(:,2:3) % kolonite 2 i 3 se izdvoeni >> J(4,:) >> J(2:3,2:3)

30 7.8 To~kast Proizvod Na Matrici (.* ) To~kastiot proizvod e definiran na ist na~in kako i kaj vektorite. Bidej}i soodvetnite elementi se mno`at me usebno matricite moraat da imaat ista dimenzija ( red). >> A = [ 6 7 9; -3-7] A = >> B = [ - 2 5; 9 5] B = >> A.*B >> A.*B'??? Error using ==>.* Matrix dimensions must agree. Vo posledniot primer se generira gre{ka bidej}i transponiranata matrica B' nema ista dimenzija kako matricata A. 7.9 Mno`ewe Na Matrica So Vektor Mno`ewe na matrica so vektor mo`e da bide ili od desno ili od levo t.e. Ax r mno`ewe na matrica so vektor od desno i x v A mno`ewe na matrica so vektor od levo. Naj~esto se sre}ava na mno`ewe od desno, Ax r i zatoa vektorot x e vektor-kolona a brojot na kolonite na matricata A mora da e ednakov na brojot na elementite na x. >> x = [8; -4; ] x = 8-4 >> A A = >> A*x 29 3 >> x*a??? Error using ==> * Inner matrix dimensions must agree. Za razlika pri voobi~aenoto mno`ewe, tuka Ax nee isto so xa, koga stanuva zbor za matrica i vektor. 3

31 7. Mno`ewe na matrici Za da se pomno`at matricite A so dimenzija mxn i mtricata B so dimenzija nxp, t.e. A*B, brojot na kolonite na matricata A mora da e ednakov so brojot na redovite na matricata B, pri {to se dobiva matricata C so dimenzija mxp. >> A = [5 7 9; -3-7] A = >>B = [, ; 3, -2; 4, 2] B = >> C = A*B C = >> D = B* D = Kako {to se gleda i pri mno`ewe na matricite ne mora da bide ispolnet komutativniot zakon, t.e. AB ne e ednakvo na BA. 8. Ciklusi ( Petqi ) Dosta ~esto pri re{avawe na postavena zada~a, se sre}ava povtoruvawe na odreden broj naredbi. Sekako, problemot mo`e da se re{i ako istite naredbi se ispi{at onolku pati kolku e potrebno. Ovoj pristap i mo`e da bide primenet ako povtoruvaweto e edna{, dva pati ili nekolku pati. No problemite se javuvaat ako treba da se povtorat stotici pa i iljada pati. Sekako nikoj nema ni da se obide da istite naredbi gi prepi{uva iljada pati. Vakvi problemi, vo site programski jazici se re{avaat so postoewe na naredbi za ciklusi t.e. petqi. MatLabot nee iskqu~ok. Za da se vidi za {to stanuva zbor }e dademe primer. primer: Da se nacrta grfikon na funkcijata sin(nπx) vo intervalot < x <, za n =,2,3,...8. Jasno e deka gornata zada~a mo`e da se re{i so ispi{uvawe na 8 posebni komandi za crtawe. No poednostaven na~in bi bil sledniot: >> x = -:.5:; >> for n = :8 >> subplot(4,2,n), plot(x,sin(n*pi*x)) >> end 3

32 Site komandi koi se nao aat pome u naredbata for i end se povtoruvaat za n koj zapo~nuva od pa 2,3 i se do 8. Naredbata subplot definira matrica od 4x2 subgrafici i pri n-toto povtoruvawe na ciklusot, grafikot se crta vo n-tiot subgrafik. So komandite; >> x=-:.5: ; >> for n=:2:8 >> subplot(4,2,n),plot(x,sin(n*pi*x)) >> subplot(4,2,n+), plot(x,cos(n*pi*x)) >> end

33 se crtaat funkciite sin(nπx) i cos(nπx), za n =,3,5,7 edna pokraj druga. Kako broja~ vo ciklusot ( vo gorniot slu~aj toa e n ), mo`e da se koristi bilo koja legalna promenliva pri {to mo`e za vrednostite na broja~ot da se definiraat i elementite na daden vektor. Toa zna~i deka mo`no e da se koristi for petqata od sleden vid. >> for brojac = [ ]... >> end Ovoj ciklus se povtoruva 5 pati pri {to vrednostite na brojac se sukcesivno elementite na vektorot. primer: Nizata na Fibona~i zapo~nuva so broevite i, a slednite elementi se dobivaat kako suma na predhodnite dva elementa. Matemati~ki f =, f2 = i f f f za n = 3,4,5... n = n + n 2 Testiraj dali odnosot f n / f n se dobli`uva do vrednosta na zlatniot rez ( 5 + ) / 2 =.68 >> F() = ; F(2) = ; >> for i=3:2 >> F(i) = F(i-)+F(i-2); >> end >> plot(2:9,f(3:2)./f(2:9),'o') >> hold on >> plot(2:9,f(3:2)./f(2:9),'-') >> plot([ 2],((sqrt(5)+)/2)*[,])

34 primer: Presmetaj gi vrednostite na slednive sumi. S S 2 S 2 = = = Postojat vkupno 8 suma. Prvata suma S 2 mo`e da se presmeta so narebata sum(./(:2).^2). ( Se koristi vgradenata naredba sum so argumentite vektor-red). Soodveten kod vo MatLab bi bil sledniot. >> S= zeros(,); % >> S(2) = sum(./(:2).^2); % 2 >> for n =2: % 3 >> S(n) = S(n-) +/n^2; % 4 >> end % 5 >> clf; plot([2:],s(2:),'.',[2 ],[,]*pi^2/6,'-') % 6 >> axis([2.5.7]) % 7 >> [(98:)' S(98:)] % Programot za presmetuvawe i crtawe na baranite sumi se sostoi od nekolku naredbi. So prvata naredba se opredeluva vektor-red S so elementi ~ii po~etni vrednosti se. So vtorata naredba se presmetuva vrednsota na S 2, koristej}i ja vgradenata procedura sum. So tretata, ~etvrtata i petata naredba koristej}i go for 34

35 ciklusot, se presmetuvaat ostanatite vrednosti na sumite, so toa {to na prethodnata suma se dodava vrednsota /n^2 i na toj na~in se presmetuva slednata suma S n. [estata i sedmata naredba grafi~ki gi pretstavuva rezultatite. Na kraj se pe~atat vrednostite na poslednite tri sumi S 98, S 99 i S. 9. Logi~ki Relacii ( Testirawe) MatLabot ima mo`nosti za logi~no testirawe. Vo ramkite na MatLab-ot vistina ( true) se osna~uva so a nevistina ( false ) so. true =, false = Ako vo tek na presmetki nekoja promenliva x dobie nekoja broj~ana vrednsot, mo`no e da se sprovedat soodvetni logi~ni testovi kako naprimer: x == 2 dali x e ednakvo na 2? x ~= 2 dali x e razli~ito od 2? x > 2 dali x e pogolemo od 2? x < 2 dali x e pomalo od 2? x >= 2 dali x e pogolemo ili ednakvo na 2? x <= 2 dali x e pomalo ili ednakvo na 2? Rezultatot na ligi~noto testirawe e ili vo zavisnost dali tvrdeweto e vistinito ili ne. >> x = pi x = 3.46 >> x ~= 3, x ~= pi Ako e x vektor ili matrica, testot se sproveduva za sekoj element. >> x = [ -2 pi 5; - ] x = >> x == So gornata naredba ispituvame dali sekoj element na x e ednakov na nula. Kako rezultat se dobiva povtorno matrica so ista dimenzija kako i matricata x, so toa {to site elementi se osven elementot (2,2), koj e bidej}i toj element e navistina nula {to kako rtezultata na logi~koto testirawe dava vistina t.e... Logi~ni Operatori MatLab-ot ima mo`nost da kombinira i vr{i opredeleni operacii vrz logi~nite promenlivi koristej}i logi~ni operatori. 35

36 & Logi~no I ( AND ) Logi~no ILI ( OR ) ~ Logi~na negacija NE ( NOT) xor Logi~no XOR any Vistinito ako bilo koj element na vektorot ne e nula all Vistinito ako site elementi na vektorot se razli~ni od nula So slednite tabeli definiran e na~inot na koj logi~nite operatori dejstvuvaat. A B A&B A B A B A ~A A B xor(a,b) So MatLab-ot istoto mo`e da se proveri na sledniot na~in. >> a=[ ], b=[ ] >> a&b,a b, xor(a,b) a = b = any(x), all(x) Bidej}i x e matrica, toga{ operatorite any i all se primenuvaat na sekoja kolona poodelno i rezultatot e vektor-red so broj na elementi ednakov na brojot na koloni na matricata x. Naredbata any(x) kako rezultat dava vektor-red so site edinici, 36

37 bidej}i vo sekoja kolona na matricata x posti barem eden element razli~en od nula. Naredbata all(x), rezultira vo vektor-red ~ii vtor element e nula, bidej}i site elementi na vtorata kolona na matricata x ne se razli~ni od nula. Koristej}i gi mo`nostite za logi~no testirawe vo kombinacija so logi~nite operatori, mo`no e da se formiraat poslo`eni logi~ni iskazi. >> x > 3 & x < 4 Gornata, eden red naredba mo`e da se ras~leni na slednive tri naredbi. >> y = x>3, z = x<4, y&z y = z = Prvo {to mo`e da se zakqu~i e deka logi~kite testirawa imaat povisok prioritet na izvr{uvawe od logi~nite operatori. Zatoa prvo e realizirana naredbata x>3 i kako rezultat se dobiva matricata y koja na mesta kade elementite na x se pogolemi od tri ima vrednsot a tamu kade se pomali ili ednakvi elementite na y se nula. Sli~no se dobiva i so naredbata x< 4, samo {to sega drug e uslovot za testirawe. Odkako }e se dobijat matricite y i z, se primenuva operatorot AND ( & ), element po element, sledej}i go praviloto dadeno vo tebelite. Rezultatot na taa logi~na operacija e matricata dadena so promenlivata ans. >> x = [-2 pi 5; ] x = >> x > 3 x == -3 x <= -5 Edna od mo`nite primeni na logi~nite testirawa i logi~nata aritmetika e i maskirawe ( izdvojuvawe ) na elemnti koi zadovoluvaat daden uslov. >> x, L = x >= x = L = >> pos = x.*l pos = Matricata pos gi sodr`i onie elementi koi se pogolemi od t.e. nenegativnite. 37

38 >> x = :.5:6; y = sin(pi*x); Y= (y >=).*y; >> plot(x,y,':',x,y,'-') While Ciklus ( Petqa) Dosta ~esto vo tek na presmetkite se javuva potrebaa odreden blok na naredbi da bidat povtoreni, no za razlika od for ciklusot, ne e poznat to~niot broj na povtoruvawa ve}e samo uslovot so ~ie ispolnuvawe se zavr{uva povtoruvaweto. Takov tip na problemi vo Matlabot se realizira so while... end konstrukcijata ( petqa ). primer: Koja e najgolemata vrednost na n za da sumata bide pomala od. >> S =; n = ; >> while S+ (n+)^2 < >> n = n+; >> S = S + n^2; >> end >> [n,s] S = n 6 9 Del na naredbite pome u while i end }e bidat presmetani samo ako uslovot S+ (n+)^2 < e ispolent ( vistinit). ve`ba: Vo prethodnata ve`ba namesto, stavete i pe{ki izrabotete go primerot sledej}i gi naredbite. Treba da se dobie rezultatot n=2 i S=5. primer: Opredeli go pribli`no re{enieto na ravenkata x = cos(x). Re{enieto na ravenkata mo`e da se dobie so iterativna metoda. Ako pretpostavime teka po~etno re{enie e x = π/4, toga{ so presmetuvawe na nizata na broevi 38

39 x cos( x ) n=2,3,4... n = n i so zadovoluvaweto na uslovot deka x n x n- e dovolno malo, vrednosta na x n }e bide baranato re{enie. Metoda : >> x = zeros(,2) ; x() = pi/4; >> n = ; d = ; >> while abs(d) >. >> n = n+; x(n) = cos(x(n-)); >> d = x(n)-x(n-); >> end >> n,x n = 4 x = Columns through Columns 8 through Columns 5 through 2 Postojat pove}e nesovr{enosti vo gorniot program. Vektorot x se koristi za da se so~uvaat rezultatite na iteracijata vo sekoj ~ekor. No odnapred ne se znae koja dimenzija na vektorot e dovolna za da se zapomnat site vrednosti do kone~noto re{enie. Vo gorniot primer 2 elementi bea dovolni bidej}i uslovot be{e zadovolen pri 4-iot element. Mo`e da se slu~i uslovot d<=., da ne bide nikoga{ zadovolen, i kako rezultat na toa da se slu~i beskone~en cilus. Zatoa potrebno e da se definira maksimalen broj na ~ekori. Isto taka ne se od interes me u ~ekorite, tuku samo krajnoto re{enie. Metoda 2. >> xold = pi/4; n = ; d = ; >> while abs(d) >. & n < 2 >> n = n+; xnew = cos(xold); >> d = xnew-xold; >> xold = xnew; >> end >> [n, xnew, abs(d)] Vo modificiranata verzija, uslovot e dvoen. Ne samo {to gre{kata treba da e pomala od. ve}e ciklusot se povtoruva se dodeka n < 2. Na toj na~in se ograni~uva maksimalniot broj na ~ekori vo ciklusot. Op{tata forma na while naredbata e: while logi~en test naredbite koi treba da se izvr{at end 39

40 2. if... then... else... end Vo sekoj pa i najednostaven program, so koj se re{avaat prakti~ni problemi, ~esto se javuva potreba da odreden blok na naredbi se izvr{uvaat ako daden uslov e zadovolen. Mo`nosta da se razgranuva programata i na toj na~in da se kontrolira tekot na izvr{uvaweto e sostaven del na sekoj poserjozen programski jazik. Vo taa smisla i MatLab-ot ima konstrukcii so koi se naso~uva izvr{uvaweto na programata usloveno od ispolnuvaweto na daden uslov. Toa se postignuva so if... then... else... end Kako primer da se presmeta dali e e π pogolemo ili pomalo od π e : >> a = pi^exp(); c = exp(pi); >> if a >= c >> b = a^2 - c^2 >> end Bidej}i nemame pe~atewe na b, zakqu~uvame deka a = π e < c = situacija e : e π. Po~esta >> if a >= c >> b = sqrt(a^2 - c^2) >> else >> b = >> end b = so {to se obezbeduva b-to sekoga{ da ima vrednost i se potvrduva deka a<c. Op{tata forma na if... konstrukcijata e: if logi~en test_ komandi koi se izvr{uvaat ako test_ e ispolnet elseif logi~en test_2 komandi koi se izvr{uvaat ako test_2 e ispolnet... else logi~en test_k komandi koi se izvr{uvaat ako test_k e ispolnet end 3. Skript Datoteki I Funkcii ( m-fajlovi) Vo osnova, MatLab-ot e programski jazik interpreter. Toa zna~i deka sekoja naredba se interpretira i se izvr{uva vedna{ pe~atej}i gi rezultatite na ekran. Vo slu~aj ako treba istata naredba da se povtori, taa mora povtorno da se ispi{e. Vo taa smisla, MatLab-ot ovozmo`uva odredeni olesnuvawa, kako {to e mo`nosta da so kop~eto na tastaturata ozna~eno so gorna strelka se listaat prethodnite ispi{ani naredbi. Na toj na~in mo`e da se povtori naredbata. Sepak, iako ovoj element, donekade e olesnuvawe, sepak ima svoi nedostatoci. Imeno naredbite se pametat vo rabotniot prostor na programot se dodeka MatLab-ot e aktiven. Otkako }e se iskqu~i MatLab-ot, site zapamteni promenlivi i naredbi se bri{at i pri povtorno 4

41 aktivirawe na MatLab-ot tie ne postojat vo rabotniot prostor. Za da se ovozmo`i povtorno koristewe na odredeni naredbi ( toa se vglavnom grupa na naredbi koi ~esto se koristat ), Matlab-ot ima mo`nosti da naredbite edna{ se ispi{at vo poseben fajl ( datoteka), koi se narekuvaat m-fajlovi, i istite m-fajlovi, otkako MatLab-ot }e se aktivira, se pro~itaat i smestat vo rabotniot prostor. M-fajlovite se nao aat na diskot vo direktoriumot na korisnikot. MatLab-ot poznava dva tipa na m-fajlovi: Skript m-fajlovi i Funkciski m-fajlovi. 3. Skript m-fajlovi Skript m-fajlovite sodr`at edna ili pove}e naredbi koi se izvr{uvaat so povikuvawe na imeto na skript m-fajlot. primer: Da se napi{e skript m-fajl so koj se presmetuva povr{ina na eden triagolnik ako se poznati negovite strani. Poznato e deka povr{inata na eden triagolnik so zadadeni strani a,b i c dadena e so formulata: A = s( s a)( s b)( s b) kade Soodvetnite naredbi vo MatLab-ot se: >> a=;b=5;c=2; >> s=(a+b+c)/2; >> A=sqrt(s*(s-a)*(s-b)*(s-c)) s = a + b + c 2 A = Vo slu~aj ako treba da se smeni vrednosta na edna strana i da se presmeta novata povr{inata, potrebo e novo ispi{uvawe na site naredbi, iako vo drugite naredbi ne se napraveni izmeni. Slu~ajot stanuva podrasti~en ako e potrebno da se presmeta povr{inata na desetici ili stotici triagolnici. Ovoj problem mo`e da se nadmine ako se formira skrip m-fajl, taka {to naredbite so koi se presmetuva povr{inata se ispi{at vo fajlot. Vo konkretniot primer formiran e skript m-fajl so ime area.m i smesten e vo direktoriumot E:\mat-vezbi. area.m s=(a+b+c)/2; A=sqrt(s*(s-a)*(s-b)*(s-c)) Sega presmetuvaweto na povr{inata mo`e da se realizira na sledniot na~in. >> a=;b=5;c=2; >> area A = >> a=3;b=4;c=5; >> area A = 6 4

42 Od gornite dva primeri mo`e da se naseti kako MatLab-ot gi obrabotuva skript m- fajlovite. Imeno, programot go nao a fajlot area.m i na mestoto kade se povikuva area gi ufrla naredbite kio se sodr`at vo fajlot. Toa e napraveno interno i ne e vidlivo za korisnikot. Za korisnikot e va`no deka se izbegnuva povtorno ispi{uvawe na naredbite, a {to mo`e da bara dosta vreme. Toa posebno e korisno ako m-fajlot sodr`i pove}e desetici naredbi. Isto taka va`no e da se napomene deka promenlivite kako {to vo konkretniot primer se a,b i c moraat da bidat definirani i da postojat vo rabotniot prostor. Druga bitna karakteristika na skript fajlovite e taa, {to tie eksplicitno ne vra}aat vrednosti vo glavniot program, osven ako toa ne se opredeli so toa {to naredbata nema da se zavr{i so ;. Vo konkretniot primer toa e slu~aj so promenlivata A ( povr{ina ), koja se ispi{uva na ekran bidej}i naredbata so koja se presmetuva ne zavr{uva so ;. Od seto ka`ano, mo`e da se zakqu~i deka skript m-fajlovite, se korisni ako postojat presmetki ili mno`estvo na naredbi koi ~esto ili standardno se potrebni pri presmetkite. Karakteristi~en primer e grafi~ko iscrtuvawe na zadadena funkcija, pri {to vo skript fajlot se definira izgledot na grafikonot. Podole e daden eden takov primer. crta.m plot(x,y,'w-') legend(' matematicka kriva') title(' Crtez na fukcija ') xlabel('x-oska'), ylabel('y-oska') grid Sega e mo`no slednoto >> x=-pi:pi/2:pi; >> y=sin(x); >> crta.8.6 Crtez na fukcija matematicka kriva.4.2 y-oska x-oska ili isto taka >> x=-:2/:; >> y=x.^2; >> crta 42

43 .9.8 Crtez na fukcija matematicka kriva.7.6 y-oska x-oska Od primerite lesno se konstatira deka vektorite x i y mora da bidat prethodno definirani i prisutni vo rabotniot prostor, bidej}i tie se promenlivi koi se javuvaat i so koi raboti skript m-fajlot. 3.2 Funkciski m-fajlovi Funkciskite m-fajlovi ( funkcii), sli~no kako i skript fajlovite se ispi{uvaat vo datoteka i se ~uvaat na diskot vo daden direktorium. Razlikata se sostoi vo toa {to funkciite vra}aat vrednosti na promenlivi kako rezultat od presmetkite koi se vr{at vo ramkite na funkcijata no isto taka tie i primaat vrednosti na promenlivi koi se koristat vo ramkite na samata funkcija. Toa zna~i deka funkciite ne go koristat rabotniot prostor kako prenosen mehanizam za zemawe ili vra}awe na promenlivi. Za ilustracija, skript fajlot area.m, }e bide napi{an vo forma na funkcija. function [A] = povr(a,b,c) % presmetuva povrsina na triagolnik cii % strani imaat dolzina a, b i c. % Vlez: % a, b, c : Dolzini na strani % Izlez % A: Povrsina na triagolnikot % Koristenje: % Area = povr(2,3,4) % s = (a+b+c)/2; A=sqrt(s*(s-a)*(s-b)*(s-c)); % kraj na funkcijata povr Pred da se objasnat osnovnite ~ekori za definirawe i pi{uvawe na funkciskite m-fajlovi, }e dademe nekolku primeri na koristewe na pogore definirana fukcija povr. Prethodno treba da se podvle~e deka datotekata povr.m e so~uvana vo direktoriumot E:\mat-vezb, i sekoga{ e dostapna za koristewe. >> povr(3,4,5) 43

44 >> Area = povr(3,4,5) >> x=;y=5;z=2; >> A=povr(x,y,z) 6 Area = 6 A = So gornite naredbi ilustrirano e koristeweto na funkciite kako i seta nivna fleksibilnost i korisnost. So prvata naredba presmetana e povr{inata na triagolnikot so stranici 3,4 i 5 no bidej}i ne e nazna~eno vo koja promenliva se pameti izlezniot rezultat MatLab-ot avtomatski rezultatot go pameti vo promenlivata ans. So vtorata naredba rezultatot na presmetkite se dodeluva na promelnivata Area. Tretata naredba definira tri promenlivi x,y i z koi se vlezni vrednosti na funkcijata povr i so ~etvrtata naredba se presmetuva povr{inata za vrednostite na x,y i z a rezultatot se dodeluva na promenlivata A. So poslednata naredba A = povr(x,y,z) ilustrirano e svojstvoto na funkciite deka tie kako vlezni parametri mo`at da primaat i promenlivi koi nemaat isto ime kako vo samata definicija na funkcijata, {to ne e slu~aj kai skript fajlovite. So drugi zborovi site promenlivi koi se koristat vo definicijata na funkcijata se lokalni promenlivi i tie ne mo`at da bidat koristeni nadvor od funkcijata. Taka naprimer vo ramkite na defincijata na funkcijata povr.m postoi promenliva s. No ako se obideme da ja ispe~atime vrednosta na s, se dobiva slednoto. >> s??? Undefined function or variable 's'. odnosno porakata deka promenlivata s e nedifinrana. No ako se saka vrednosta na s ( promenlivata vsu{nost pretstavuva polovina od zbirot na stranite ), toga{ e potrebno istata promenliva da bide stavena kako izlezna promenliva. Toa mo`e da se stori ako se promeni zaglavieto na funkcijata vo. function [A,s] = povr(a,b,c) Vakva funkcija mo`e da bide povikana na pove}e na~ini:. Bez promenliva za pridru`uvawe na vrednosta. >> povr(,5,2) Rezultatot e samo povr{inata ( prvata promenliva vo izleznata lista ) na promenlivata ans. 2. So pridru`uvawe na edna izlezna vrednost >> Area = povr(,5,2) Area = Povtorno vtorata izlezna promenliva se ignorira. 3. So pridru`uvawe na dvete izlezni promenlivi >> [Area, hlen] = povr(,5,2) 44

45 Area = hlen = 22.5 Generalno, praviloto za definirawe na edna funkcija se sostoi od slednive ~ekori.. Odberite ime na funkcijata koe nema da bide isto kako i ime koe ve}e postoi i se koristi od strana na MatLab-ot. Vo konkretniot primer imeto na funkcijata e povr i nejzinata definicija ( kod ) se nao a vo fajlot povr.m. 2. Prvata linija na fajlot mora sekoga{ da ima forma function [lista na izlezni promenlivi] = ime_na_fukcijata[lista na vlezni proemnlivi] Vo na{iot porimer toa e: function [A,s] = povr(a,b,c) 3. Dokumentirajte ja funkcijata t.e. treba da se objasni na kratko koi presmetki gi vr{i funkcijata. Tie linii moraat da zapo~nuvaat so %, i MatLab-ot site linii koi zapo~nuvaat so % gi smeta za komentar i se ignoriraat koga funkcijata se povikuva. 4. Na kraj se pi{uva kodot odnosno naredbite so koi se definira funkcijata. Prepora~livo e pova`nite naredbi ako ne site da bidat sledeni so komentar koj bi ja objasnil su{tinata na konkretnata naredba, kako bi mu ovozmo`il na drug korisnik da razbere {to funkcijata raboti. Treba da se napomene deka prvite linii na komentar po zaglavieto na funkcijata, MatLabot gi koristi kako pomo{ za objasnuvawe na funkcijata. Imeno ako se napi{e >> help povr presmetuva povrsina na triagolnik cii strani imaat dolzina a, b i c. Vlez: a, b, c : Dolzini na strani Izlez A: Povrsina na triagolnikot Koristenje: Area = povr(2,3,4) se ispi{uvaat liniite na komentar po zaglavieto i zatoa e prepora~livo da postoi detalnen opis na funkcijata. Primeri Na Funkcii Da se napi{e funkcijata za presmetuvawe na nizata na Fibona~i koja e definirana na sledniot na~in, f n=3,4,5... =, f 2 =, f n = f n + f n 2 pri {to kako vlezna promenliva da bide n izlezot fn. METOD : Fajl E:\mat-prog\Fib.m 45

46 function f = Fib(n) % premetuva n-tiot broj vo %nizata na Fibonaci F = zeros(,n+); F(2) = ; for i = 3:n+ F(i) = F(i-) + F(i-2); end f = F(n); % kraj METOD 2: Fajl E:\mat-prog\Fib2.m Prvata metoda od programska to~ka na gledi{te e dosta neelegantna bidej}i nepotrebno koristi memorija za da gi so~uva site n elementi na nizata. Vtorata metoda go eleminira koristeweto na vektori. function f = Fib2(n) % premetuva n-tiot broj vo %nizata na Fibonaci if n== f=; elseif n==2 f=; else f = ; f2 = ; for i = 2:n- f = f + f2; f = f2; f2 = f; end end % kraj METODA 3: Fajl E:\mat-prog\Fib3.m Ovaa verzija gi koristi mo`nostite na MatLab-ot za rekurzivno programirawe t.e. funkcijata sama sebe se povikuva. function f = Fib3(n) % premetuva n-tiot broj vo % nizata na Fibonaci if n== f=; elseif n==2 f=; else f = Fib3(n-) + Fib3(n-2) end % kraj METODA 4: Fajl E:\mat-prog\Fib4.m Ovaa verzija ja koristi silinata na vektorizacija t.e. matri~noto smetawe. Imeno function f = Fib4(n) % premetuva n-tiot broj vo % nizata na Fibonaci A = [ ; ]; y = A^n*[;]; 46

47 f = y(); % kraj Na kraj da gi usporedime rezultatite. >> x = Fib() >> x2 = Fib2() >> x3 = Fib3() >> x4 = Fib4() x = 34 x2 = 34 x3 = 34 x4 = 34 Gornite ~etiri metodi davaat isti rezultati no zatoa pak brzinata so koja se vr{at presmetkite e razli~ita. Toa mo`e da se poka`e so merewe na vremeto koristej}i gi naredbite tic i toc, so koi se dobiva potro{enoto vreme vo sekundi. >> tic,x = Fib(2),toc >> tic,x2 = Fib2(2),toc >> tic,x3 = Fib3(2),toc >> tic,x4 = Fib4(2),toc x = 48 elapsed_time = x2 = 48 elapsed_time = x3 = 48 elapsed_time = x4 = 48 elapsed_time =.7 sec sec 3.8 sec sec 4. Drugi Vgradeni Funkcii 4. Zaokru`uvawe Na Broevi Postojat pove}e na~ini da se zaokru`at decimalnite broevi do celobrojna vrednost. >> x=[ ], round(x) x = >> fix(x) >> floor(x) 47

48 >> ceil(x) >> sign(x), rem(x,3) Funkcijata round vr{i zaokru`uvawe na klasi~en na~in t.e. ako e decmalniot del pogolem od.5 se zaokru`uva kon sledniot cel broj, dodeka vo sprotiven slu~aj kon prethodniot pomal cel broj. Funkcijata fix zaokru`uva na celobrojniot del od brojot odnosno go bri{e decimalniot del. Funkcijata floor zaokru`uva kon prviot pomal cel broj bez razlika na vrednosta na decimalniot del. Funkcijata ceil zaokru`uva kon prviot pogolem cel broj bez razlika na vrednosta na decimalniot del. So funkcijata sign se opredeluva znakot na brojot. Funkcijata rem(x,k) go dava decimalniot del od brojot x do k decimali. 4.2 Funkcijata sum Funkcijata sum primeneta na vektor ja presmetuva sumata na elementite na vektorot, dodeka primeneta na matrica ja opredeluva sumata na elementite na sekoja kolona na matricata. >>A = [:3; 4:6; 7:9] A = >> s = sum(a), ss=sum(sum(a)) s = ss = 45 >> x = pi/4*(:3)' >> A=[sin(x), sin(2*x), sin(3*x)]/sqrt(2) x = A =

49 >> s = sum(a.^2), s2 = sum(sum(a.^2)) s =... s2 = 3. Sumata na kvadratite na elementite na sekoja kolona na matricata A e, a sumata na site elementi na A e 3. >> A*A'..... Prizleguva deka proizvodot AA' i A'A se ednakvi na edini~na matrica. >> S = eye(3) S = >> A*A' - S.e-5 * >> A'*A - S.e-5 * Prethodnata konstatacija se potvrduva so poslednive dve presmetki bidej}i razlikata od edini~na matrica e na nivo na numeri~kata gre{ka na zaokru`uvawe. 4.3 Funkcii max i min Ovie funkcii dejstvuvaat na sli~en na~in kako i funkcijata sum. Ako argumentot e vektorot x toga{ max(x) go dava najgolemiot element na vektorot x a min(x) najmaliot. >> x = [ ], max(x), max(abs(x)) x = >> [m,j] = max(x) m = 2.3 j = 4 49

50 Koga se bara izlezot da bide lista od dve promenlivi, toga{ prvata promenliva e maksimalniot element a vtorata promenliva go ozna~uva indeksot t.e mestoto na maksimalniot element. Za promenlivi od tip na matrici, max(a), vra}a vektor-red {to gi sodr`i najgolemite ( maksimalnite) elementi na sekoja kolona. Za da se najde najgolemiot element na matricata A, treba da se napi{e naredbata max(max(a)). >> max(max(a)), min(min(a)) Generirawe Na Slu~ajni Broevi Funkcijata rand(n,m) generira matrica na slu~ajni broevi so dimanzija mxn, so vrednosti pome u i. Samata funkcija rand bez argumenti generira eden slu~aen broj pome u i. >> y = rand, Y=rand(2,3) y =.95 Y = Povtoruvawe na ovie komandi }e rezultiraat vo drugi vrednosti. >> y = rand, Y=rand(2,3) y =.85 Y = primer: Da se napi{e funkciski m-fajl so koja se simuliraat n frlawa na dve kocki. Problemot bara koristewe na slu~ajni ( random) broevi bidej}i se pretpostavuva deka e podednakva verojatnost da pri frawe na kocka se dobie broj od do 6. Bidej}i funkcijata rand dava broj pome u i, mno`ej}i go so 6, se dobiva broj pome u i 6 a so zaokru`uvawe se dobiva celobroen broj. Za taa cel potrebno e da se koristi naredbata floor( + 6*rand) file: E:\mat-prog\kocka.m function [d] = kocka(n) % simulira n frlawa na par kocki % Vlez: n, broj na frlawa % Izlez: nx2 matrica, kade sekoj red se odnesuva na edno frlanje % a kolonite gi oznacuvaat prvata i vtorata kocka. % % Upotreba: T = kocka(3) d = floor( + 6*rand(n,2)); % kraj

51 >> kocka(3) Vo konkretniot primer izvr{eni se tri frlawa od koi so prvata kocka se dobieni vrednostite 2, 3 i 6 a so vtorata 6, 3 i 6. Bidej}i verojatnosta da padne bilo koj broj e ednakva treba da se o~ekuva da posle mnogu frlawa srednata vrednost na dobienite broevi kaj dvete kocki bide pribli`no ist i da toj iznesuva okolu 3.5, {to e teoretska vrednost ako imame beskone~no mnogu frlawa. Toa mo`e da se proveri so slednata naredba. >> sum(kocka())/ Funkcija find za vektori Funkcijata find go dava redniot broj ( indeks) na site elementi od vektorot x, koi zadovoluvaat daden uslov. >> x = -:.5:; >> y = sin(3*pi*x).*exp(-x.^2); plot(x,y,':') >> k = find(y >.2) k = Columns through Columns 3 through >> hold on, plot(x(k),y(k),'o') >> km = find(x>.5 & y < ) km =

52 Funkcijata find za matrici find funkcijata dejstvuva na dadena matrica na sli~en na~in kako i na vektor. >> A = [ ; 5-6; 6 8 ] A = >> k=find( A== ) k = 2 9 Na ovoj na~in opredelivme deka matricata A ima nuli na pozicija 2 i 9. Za da se interpretiraat ovie vrednosti treba da se znae deka funkcijata find prvo e reindeksira ( prenumerira) matricata A po sistemot red-kolona odnosno elementite na matricata A gi dobivaat slednite redni broevi. >> n = find(a <= ) n = >> A(n) 52

53 -2 - Vo gorniot primer n e vektor koj gi sodr`i indeksite na onie elementi {to se pomali ili ednakvi na a so A(n) se pe~atat vrednostite na tie elementi. 5. Crtawe Na Povr{ini Matemati~ki povr{ina se definira so funkcijata f(x,y) pri {to za odredeni vrednosti na x i y, taa poprima ednozna~na ili pove}ezna~a vrednost. Ako taa vrednost se ozna~i so z= f(x,y), toga{ mo`e da se definira trojka na broevi (x,y,z). Mno`estvo na ovie trojki broevi, za zadadeni vrednsoti na x i y, pretstaveni vo tri-dimenzionalen Karteziev ( pravoegolen ) sistem formira povr{ina vo prostor. Zadadenite vrednsoti na x i y naj~esto prestavuaat nekoj pravagolen region vo (x,y) ravnina i se opredeluva so zadavawe na interval na vrednsoti za x i y, ( pr. 2 < x < 4 i < y < 3). Sekako deka e nevozmo`no da se presmeta vrednosta na fukcijata vo site to~ki na regionot. Zaradi toa se formira mre`a na parovi (x,y) vo koi funkcijata se presmetuva za da potoa se nacrta ili koristi za drugi presmetki. Vo MatLab-ot mre`ata se generira so maredbata meshgrid no prethodno e potrebno da se generiraat vrednostite na x i y za daden ~ekor. >> x = 2:.5:4; y=:.5:3; >> [X,Y] = meshgrid(x,y); >> X >> Y X = Y = Ako vnimatelno se analiziraat matricite X i Y, lesno se zabele`uva deka parovite ( X(i,j),Y(i,j)) t.e. soodvetnite elementi na X i Y se voedno parovite (x,y) vo koi fukcijata f(x,y) treba da se presmeta. Vsu{nost MatLabo-ot gi koristi matricite X i Y za da gi presmeta vrednostite na f. primer: Da se nacrta povr{ina opredelena so funkcijata za 2 < x < 4 i < y < 3. f 2 ( x, y) = ( x 3) ( y 2) 2 >> [X,Y] = meshgrid(2:.2:4, :.2:3); >> Z = (X-3).^2- (Y-2).^2; >> mesh(x,y,z) 53

54 >> title(' Saddle '), xlabel('x'),ylabel('y') Saddle y x Vo ovoj primer iskoristena e vgradena funkcijata na MatLab-ot mesh(x,y,z) so koja se iscrtuva tridimenzionalnata mre`a na povr{inata. primer: Da se nacrta funkcijata f = xye 2 2 2( x + y ) za -2 < x < 2, -2 < y < 2. Pri toa da se opredelat vrednostite i lokaciite na maksimalnite i minimalnite ekstremi na funkcijata. >> [X,Y] = meshgrid(-2:.:2, -2:.:2); >> f = -X.*Y.*exp(-2*(X.^2+ Y.^2)); >> mesh (X,Y,f), xlabel('x'), ylabel('y'), grid 54

55 Za da se opredelat ekstremite na funkcijata se korisime soslednive naredbi. >> fmax = max(max(f)) >> kmax = find(f==fmax) >> Pos = [X(kmax), Y(kmax)] >> contour(x,y,f) >> xlabel('x'), ylabel('y'), grid, hold on >> plot(x(kmax),y(kmax),'*') >> text(x(kmax),y(kmax),'maximum') fmax =.92 kmax = 64 4 Pos =

56 2.5.5 Maximum y -.5 Maximum x 6. Nizi Na Karakteri ( Znaci) Pokraj numeri~ki nizi t.e. vektori ~ii elementi se broevi, MatLab-ot podr`uva i nizi so elementi na bilo koj karaker ( znak ) pri {to pod karakter se podrazbira bilo koja bukva, znak i brojka od do 9. Ovie nizi ponatamu }e bidat nare~eni K-nizi. >> name = 'Thomas R. Lee' name = Thomas R. Lee >> size(name) 3 K-nizata, vsu{nost, se tretira kako vektor-red ~ii elementi se ASCI vrednostite na karakterite. Zatoa K-nizata name ima eden red i 3 koloni. Koristej}i ja funkcijata double mo`no e sekoj karakter da se konvertira vo negoviot ekvivalenten broj. >> name = double(name) name = Columns through Column 3 >> name = char(name) name = Thomas R. Lee Funkcijata char e obratna funkcija na funkcijata double. Slednata naredba kreira dvo-dimenzionalna K-niza. 56

57 >> name = ['Thomas R. Lee' ; 'Sr. Developer'] name = Thomas R. Lee Sr. Developer Koga na gorniot na~in se kreira dvo-dimenzionalna K-niza, treba da se vnimava deka dvete nizi vo prviot i vtoriot red mora da imaat ist broj na karakteri. Ako ednata niza e pomala treba da se nadopolni so prazni mesta. Poednostaven na~in da se formira dvo-dimenzionalna K-niza e so funkcijata char. >> name = char('thomas R. Lee', 'Senior Developer') name = Thomas R. Lee Senior Developer >> size(name) Sporedba na K-nizi Postojat pove}e na~ini za sporedba na K-nizi i podnizi. Mo`e e da se sporeduvaat K-nizite ili del za ednakvost. Mo`e da se sporeduvaat poedine~nite karakteri vo K-nizata za ednakvost. Mo`e da se ispita dali sekoj element na K-nizata e karakter ili prazno mesto. Za sporedba za ednakvost se koristat dve funkcii: strcmp so koja se ispituva kompletna ednakvost na dve K-nizi i strncmp so koja se ispituva ednakvost na prvite n karakteri >> str = 'hello'; >> str2 = 'help'; >> C=strcmp(str,str2) C = Bidej}i dvete K-nizi ne se ednakvi rezultatot e nula, {to po praviloto na MatLabot pretstavuva nevistina ( ne se isti). >> C=strncmp(str,str2,2) C = Vo ovoj slu~aj se sporeduvaat samo prvite dva znaka od K-nizite i bidej}i tie se isti rezultatot e vistina t.e.. >> mystring = 'Room 4'; >> A = isletter(mystring) >> B=isspace(mystring) A = B = Prethodnite naredbi isletter i isspace vr{at ispituvawe na elementot dali e znak ili prazno mesto. Izlezot e vektor red so edinici tamu kade sporedbata e vistinita a nula ako ne e vistinata. I vo dvata slu~aevi poslednite tri mesta se 57

58 nuli, {to zna~i deka brojkite ne se obfateni so ovie sporedbi. No so kombinacija na dvete funkcii mo`no e da se opredelat mestata kade se nao aat brojkite. Imeno: >> A = ~(isletter(mystring) isspace(mystring)) A = 6.2 Prebaruvawe i zamena MatLab-ot ima nekolku funkcii za prebaruvawe i zamena na karakteri vo ramkite na edna K-niza. Neka e dadena K-nizata >> label = 'Simple, /28/95' label = Simple, /28/95 Funkcijata strrep prebaruva i vr{i zamena na del od K-nizata so novi karakteri. Naprimer da se smeni datata od /28 vo /3. >> newlabel = strrep(label,'28','3') newlabel = Simple, /3/95 Funkcijata findstr kako rezultat ja dava pozicijata na zadadena podniza vo ramkite na podolgata K-nizata. Na primer da se najdat site pojavi na podnizata imp vo K-nizata label. >> position = findstr('imp',label) position = 2 Zna~i deka od vtoroto mesto zapo~nuva podnizata imp. 6.3 Konverzija na broj vo K-niza ^esto pati daden broj sakame da go pretstavime kako K-niza so cel da se tretira kako tekst. Za taa cel MatLab-ot ima funkcii so koi eden broj se pretvara vo K-niza. >> x = 537; y=int2str(x) size(y) y = Vo prethodniot primer brojot x so funkcijata int2str e konvertiran vo K-nizata y. Deka e y navistina se gleda od naredbata size(y) kade K-nizata ima 4 elementi kolku i brojot x cifri. Sli~na funkcija num2str, ovozmo`uva pogolema kontrola vrz formatot na izleznata K-niza. Opcionalen ( ne nu`en) vtor argument definira kolku cifri od brojot }e bidat konvertirani vo K-nizata. >> x = pi >> p = num2str(x,9) x =

59 p = >> size(p) Izleznata K-nizata ima elementi bidej}i se broi i decimalna to~ka kako poseben karakter. 7. Funkciski Funkcii Vo MatLab-ot postojat vgradeni funkcii koi rabotat so analiti~ki funkcii namesto numeri~ki nizi t.e vektori ili matrici. Tie funkcii vkqu~uvaat Numeri~ko integrirawe na analiti~ki funkcii Optimizacija i re{avawe na nelinerni ravenki Re{avawe na diferencijalni ravenki 7. Pretstavuvawe na analiti~ka funkcija vo MatLab-ot Vo MatLabo-ot analiti~kata funkcija se definira taka {to eksplicitno }e se ispi{e vo m-fajl. Imeto na m-fajlot e ime na analiti~kata funkcija koja MatLab-ot ja prepoznava vo ponatamo{nite poresmetki. Naprimer da ja razgledame funkcijata: f x) = ( x.3) + +. ( x.9) ( Ovaa funkcija mo`e da se koristi kako argument na funkciskite funkcii. Imeno gornata funkcija ja definirame vo m-fajlot koj e naren humps(x). file e:\mat-vezbi\humps.m function y=humps(x) y =./((x-.3).^2 +.) +./((x-.9).^2 +.4) 6; Crtawe na analiti~ki funkcii Funkcijata fplot se koristi za crtawe na analiti~ka funkcija za daden interval na x promenlivata. >> fplot('humps',[-5 5]) >> grid on 59

60 Mo`no e za argument eksplicitno da se napi{e funkcijata. >> fplot(' 2*sin(x+3)', [- ]) No mo`no e i slednoto >> fplot('[2*sin(x+3), humps(x)]', [-5 5]) 6

61 Minimum na funkcija so edna promenliva Za da se opredeli lokalen minimum vo daden interval na promenlivata x, se koristi funkcijata fmin. >> x = fmin('humps',.3,) x =.637 Poslednive dva argumenta.3 i se dolnata i gornata granica na intervalot vo ~ii granici se bara minimalnata vrednost. 7.4 Nuli na funkcija so edna promenliva Funkcijata fzero se koristi za iznao awe na nuli na dadena analiti~ka funkcija. Ovaa funkcija mo`e da bide povikana so edna vrednost od koja treba da se po~ne so barawe na nulata ili so dve vrednosti so koi se definira intervalot vo koj treba da se najde nulata na analiti~kata funkcija. >> a = fzero('humps', -.2) a = -.36 Vo gorniot primer se trgna od edna to~ka.2. fzero bara vo okolinata na ovaa to~ka druga to~ka vo koja funkcijata go menuva znakot. So toa se definira intervalot vo koja funkcijata go menuva znakot t.e prova a niz nulata. Ako e poznat intervalot vo koj funkcijata menuva znak toga{ fzero mo`e da se povika i kako: >> a = fzero('humps', -.3,.) a = -.36 pri {to vremeto na presmetkata e pokratko. 6

62 7.5 Numeri~ko integrirawe ( kvadratura) ^esto pati poradi slo`enosta ili transcedentnosta na analiti~kite funkcii ne e mo`no da se najde analiti~ko re{enie na nivniot integral i zatoa se koristi numeri~ko integrirawe. MatLab-ot obezbeduva dve funkcii za numeri~ko integrirawe quad Prilagodliva Simpsonova metoda i quad8 Prilagodliva Wutn-Kouts metoda Za da se opredeli integralot za funkcijata humps pome u i mo`e da se iskoristi slednava naredba. >> q = quad('humps',,) q = primer: Da se opredeli dol`inata na krivata vo prostor zadadena parametriski. x ( t) = sin(2t) y ( t) = cos( t) z ( t) = t [,3π za t ]. Tri dimenzionalen crte` na krivata e: >> t=:.:3*pi; >> plot3(sin(2*t),cos(t),t) Dol`inata na lakot na krivata daden e so formulata: 3π 2 2 4cos (2t) + sin ( t) + dt Za taa cel se kodira podintegralnata funkcija vo m-fajl, naprimer so ime hcurve.m. fajl E:\mat-vezbi\hcurve.m 62

63 function f = hcurve(t) f = sqrt(4*cos(2*t).^2 + sin(t).^2 +); Sega integralot se presmetuva so povikuvawe na funkcijata quad. >> len = quad('hcurve',,3*pi) len = Vnes I Zapi{uvawe ( Eksport ) Na Podatoci Sekoj program vo osnova vr{i obrabotka i analiza na podatoci i kako rezultat producira podatoci koi mo`at da bidat prezentirani vo razna forma: kako numeri~ki vrednosti, tekst ili grafi~ki. No za da mo`e da se obrabotat podatocite tie prethodno treba da bidat vneseni t.e. programot da gi pro~ita. Vo MatLab-ot podatocite mo`at da se vnesat na nekolku na~ini. Najdobriot na~in naj~esto zavisi od koli~estvoto na podatocite, vo koja forma se dostapni i tn. 8. Vnes ( ~itawe ) na podatoci Najednostaven na~in e eksplicitno ispi{uvawe na podatocite vo ramkite na samata sesija na MatLab-ot direktno vo rabotniot prostor. Vo site prethodni primeri toj na~in e koristen pri vnesuvawe na podatoci za vektorite ili matricite. Ovoj metot iako e relativno ednostaven i direkten sepak e efikasen za mal broj podatoci. Problemati~en stanuva koga treba da se vnesat pogolem broj na podatoci na primer matrica so dimenzii 5x5, {to pretstavuva 25 podatoci. Kreirawe t.e. ispi{uvawe na podatocite vo m-fajl. Koristej}i tekst editor korisnikot mo`e da gi iskuca ( ispi{e ) podatocite kako skript m-fajl i potoa vo tek na sesijata da go povika m-fajlot. Ovoj metod e koristen ako podatocite ne se nao aat vo kompjuterot, na primer generirani od drug program, i korisnikot vo sekoj slu~aj treba da gi vnese. Vsu{nost ovoj metod e sli~en na prethodniot no negovata prednsot se sostoi vo toa {to lesno mo`at podatocite da se smenat pa povtorno da se povika m-fajlot inovite vrednsoti da se v{itaat vo rabotnata sredina. Isto taka podatocite se vo forma na skript m-fajl spaseni na disk i pri povtorno aktivirawe na MatLab-ot brzo mo`at da se pro~itaat. Vo sledniot primer kreiran e fajlot matdat.m vo koj se smesteni vrednosti na edna matrica. fajl E:\mat-vezbi\matdat.m A = [ ; ; ; ]; Sega e mo`no da se naredbata, >> matdat >> A A = da se pro~ita matricata A, {to e potvrrdeno so nejzinoto pe~atewe so vtorata naredba. Podatocite mo`at da se pro~itaat od ASCII datoteka ( fajl). Podatocite moraat da se zapi{ani vo fajlot so ista dol`ina na redot koj treba da zavr{i so nov red a broevite da bidat oddeleni so prazni mesta. Ovoj fajl mo`e da bide koregiran ( 63

64 editiran ) so ednostaven tekst editor. Naprimer matricata vo prethodniot primer mo`e da se pro~ita i od ASCII fajl. ^itaweto se vr{i so naredbata load i imeto na fajlot a podatocite se zapomnuvaat vo promenlivata so isto ime kako i fajlot. fajl E:\mat-vrzbi\b.dat >> load b.dat >> b b = ^itawe na podatoci koristej}i gi naredbite fopen, fread i drugite naredbi na MatLab-ot za najnisko nivo ( nivo na bajt) na vlez i izlez na podatoci. Ovoj pristap e koristen koga se ~itaat podatoci generirani od drugi programi koi imaat svoj sopstven format na pi{uvawe. Bidej}i pristapot koristi elementarni operacii na nivo na bajt bara povisoko znaewe na programskiot jazik na MatLab-ot i e nadvor od celta za bazi~noto zapoznavawe so MatLabo-ot. 8.2 Eksport ( zapi{uvawe ) na podatoci Sli~no kako i pri v~ituvawe na podatoci, postojat nekolku na~ini za zapi{uvawe na podatocite za eventualno idno koristewe ili ~uvawe. Za mal broj podatoci, mali matrici ili vektori korisno e da se koristi naredbata diary so koja se kreira diary fajl. Vo ovoj fajl se pametat site naredbi ili ispi{uvawa na ekran za vreme na MatLab sesijata. Zatoa ako se se povika matricata ili vektorot bez ; vrednostite }e bidat ispi{ani na ekranot i zapi{ani vo diary fajlot. Fajlot podocna mo`e da se editira so obi~en tekst editor. Podatocite mo`at da se zapi{at vo ASCII fajl so naredbata save i -ascii opcija. Naprimer, A = rand(4,3); save temp.dat A -ascii type temp.dat e e e e e e e e e e e e- Podatocite mo``at da se napi{at vo specijalen format koristej}i gi naredbite fopen, fwrite i kako {to e napomnato prethodno i drugi naredbi koi operiraat na nivo na bajt pri vlezno izleznite operacii. 8.3 Funkcija input Funkcijata input ispi{uva poraka na ekran i ~eka na odgovor od korisnikot. Sintaksata e, 64

65 n = input(' poraka : ') funkcijata ispi{uva na ekran poraka i vra}a vrednost za n broj ili vrednost na izraz {to }e bide iskucan na tastaturata. n = input(' Vnesi broj ') Vnesi broj: 23 n = 23 Input isto taka mo`e da vrati i K-naza a ne samo broevi. Za da se dobie K-nizata, naredbata treba da izgleda v = input(' Ime i Prezime : ','s') Ime i Prezime : Ljupco Jordanovski v = Ljupco Jordanovski 9 HELP altaka MatLab-ot, kako i sekoj drug program ima bogata informaciona baza za site vgradeni funkcii koja se povikuva so naredbata help, pri {to za sekoja funkcija postoi i kratko objasnuvawe na nejzinata primena. help HELP topics: matlab\general - General purpose commands. matlab\ops - Operators and special characters. matlab\lang - Programming language constructs. matlab\elmat - Elementary matrices and matrix manipulation. matlab\elfun - Elementary math functions. matlab\specfun - Specialized math functions. matlab\matfun - Matrix functions - numerical linear algebra. matlab\datafun - Data analysis and Fourier transforms. matlab\polyfun - Interpolation and polynomials. matlab\funfun - Function functions and ODE solvers. matlab\sparfun - Sparse matrices. matlab\graph2d - Two dimensional graphs. matlab\graph3d - Three dimensional graphs. matlab\specgraph - Specialized graphs. matlab\graphics - Handle Graphics. matlab\uitools - Graphical user interface tools. matlab\strfun - Character strings. matlab\iofun - File input/output. matlab\timefun - Time and dates. matlab\datatypes - Data types and structures. matlab\winfun -Windows Operating System Interface Files DDE/ActiveX) matlab\demos - Examples and demonstrations. For more help on directory/topic, type "help topic". help general General purpose commands. MATLAB Toolbox Version Dec

66 General information help - On-line help, display text at command line. helpwin - On-line help, separate window for navigation. helpdesk - Comprehensive hypertext documentation and roubleshooting. demo - Run demonstrations. ver - MATLAB, SIMULINK, and toolbox version information. whatsnew - Display Readme files. Readme - What's new in MATLAB 5. Managing the workspace. who - List current variables. whos - List current variables, long form. clear - Clear variables and functions from memory. pack - Consolidate workspace memory. load - Load workspace variables from disk. save - Save workspace variables to disk. quit - Quit MATLAB session. Managing commands and functions. what - List MATLAB-specific files in directory. type - List M-file. edit - Edit M-file. lookfor - Search all M-files for keyword. which - Locate functions and files. pcode - Create pre-parsed pseudo-code file (P-file). inmem - List functions in memory. mex - Compile MEX-function. Managing the search path path - Get/set search path. addpath - Add directory to search path. rmpath - Remove directory from search path. editpath - Modify search path. Controlling the command window. echo - Echo commands in M-files. more - Control paged output in command window. diary - Save text of MATLAB session. format - Set output format. Operating system commands cd - Change current working directory. copyfile - Copy a file. pwd - Show (print) current working directory. dir - List directory. delete - Delete file. getenv - Get environment variable. mkdir - Make directory.! - Execute operating system command (see PUNCT). dos - Execute DOS command and return result. unix - Execute UNIX command and return result. vms - Execute VMS DCL command and return result. web - Open Web browser on site or files. computer - Computer type. help elmat Elementary matrices and matrix manipulation. 66

67 Elementary matrices. zeros - Zeros array. ones - Ones array. eye - Identity matrix. repmat - Replicate and tile array. rand - Uniformly distributed random numbers. randn - Normally distributed random numbers. linspace - Linearly spaced vector. logspace - Logarithmically spaced vector. meshgrid - X and Y arrays for 3-D plots. : - Regularly spaced vector and index into matrix. Basic array information. size - Size of matrix. length - Length of vector. ndims - Number of dimensions. disp - Display matrix or text. isempty - True for empty matrix. isequal - True if arrays are identical. isnumeric - True for numeric arrays. islogical - True for logical array. logical - Convert numeric values to logical. Matrix manipulation. reshape - Change size. diag - Diagonal matrices and diagonals of matrix. tril - Extract lower triangular part. triu - Extract upper triangular part. fliplr - Flip matrix in left/right direction. flipud - Flip matrix in up/down direction. flipdim - Flip matrix along specified dimension. rot9 - Rotate matrix 9 degrees. : - Regularly spaced vector and index into matrix. find - Find indices of nonzero elements. end - Last index. sub2ind - Linear index from multiple subscripts. ind2sub - Multiple subscripts from linear index. Special variables and constants. ans - Most recent answer. eps - Floating point relative accuracy. realmax - Largest positive floating point number. realmin - Smallest positive floating point number. pi i, j - Imaginary unit. inf - Infinity. NaN - Not-a-Number. isnan - True for Not-a-Number. isinf - True for infinite elements. isfinite - True for finite elements. flops - Floating point operation count. why - Succinct answer. Specialized matrices. compan - Companion matrix. gallery - Higham test matrices. hadamard - Hadamard matrix. hankel - Hankel matrix. hilb - Hilbert matrix. invhilb - Inverse Hilbert matrix. 67

68 magic pascal rosser toeplitz vander wilkinson - Magic square. - Pascal matrix. - Classic symmetric eigenvalue test problem. - Toeplitz matrix. - Vandermonde matrix. - Wilkinson's eigenvalue test matrix. help isnumeric ISNUMERIC True for numeric arrays. ISNUMERIC(A) returns if A is a numeric array and otherwise. For example, sparse arrays, and double precision arrays are numeric while strings, cell arrays, and structure arrays are not. See also ISCELL, ISSTRUCT, ISOBJECT, ISSPARSE. help find FIND Find indices of nonzero elements. I = FIND(X) returns the indices of the vector X that are non-zero. For example, I = FIND(A>), returns the indices of A where A is greater than. See RELOP. [I,J] = FIND(X) returns the row and column indices of the nonzero entries in the matrix X. This is often used with sparse matrices. [I,J,V] = FIND(X) also returns a vector containing the nonzero entries in X. Note that find(x) and find(x~=) will produce the same I and J, but the latter will produce a V with all 's. See also SPARSE, IND2SUB. Pogore se dadeni nekolku primeri kako mo`e da se koristi help naredbata. Im se prepora~uva na studentite da iscrpno go koristat help za da se zapoznaat so site vgradeni funkcii kako i so nivnite mo`nosti. Vo ramkite na eden vakov voveden kurs ne e vozmo`no da se izlo`at i so primeri objasnat site aspekti i mo`nosti na Matlab-ot 68

69 VOVED VO MATLAB VTOR DEL ODBRANI DELOVI Vtoriot del na u~ebnoto pomagalo ( skripta ) " VOVED VO MATLAB ", e vo tesna povrzanost so materijalot koj {to se predava vo vtoriot semestar po predmetot " Primena na smeta~i vo rudarstvo". Vo vtoriot semestar, na studentite im se predavaat potrebnite numeri~ki metodi za re{avawe na konkretni problemi so koi idnite rudarski in`eweri }e se sretnat vo nivnata rabota. Kako {to e ve}e napomnato, nivnata konkretna realizacija so primena na smeta~, pretpostavuva poznavawe na eden programski jazik so ~ija pomo{ }e mo`at da se isprogramiraat. MatLabot kako eden takov jazik so svojata karakteristiki na visoko organiziran in`ewersko-istra`uva~ki programski jazik ovozmo`uva da site numeri~ki metodi lesno i brzo se implementiraat. Vo prviot semestar, studentite se steknaa so poznavawe za osnovite na programskiot jazik MatLab, kako i so odreden broj na vgradeni funkcii koi se osnova na sekoja verzija na MatLabot. Sekako vremeto i prethodnite zneawa na studentite od oblasta na programiraweto ne ovozmo`ija podlaboko i pocelosno zapoznavawe so site osnovni vgradeni funkcii, ve}e studentite bea sovetuvani da vo tekot na nivnite ve`bi ja koristat HELP mo`nosta za zapoznavawe so drugite funkcii. Treba da se napomene deka i so osnovnite poznavawa kako i poznavawe na elementite na programirawe, sekoj student so mal napor e vo sostojba programski da gi realizira numeri~kite metodi koi se izu~uvaat vo vtoriot semestar. Sepak MatLabot ve}e ima gotovi funkcii za re{avawe na pogolem broj na numeri~kite metodi i toa ili kako sostavni delovi na osnovnata verzija na Matlabot ili kako dodatni alatki. Zatoa vo ovoj del, na studentite }e im bidat objasneti i so primeri ilustrirani nekoj pospecifi~ni a dosta korisni funkcii so koi }e mo`at da gi primenat znaewata od delot za numeri~kite metodi. Kako {to e ve}e napomnato, redosledot na izu~uvawe na posebnite delovi na MatLabot generalno }e go sledi redot na predavawata vo vtoriot smestar.. Polinomi i Interpolacija Polinomi se kontinuirani finkcii koi pretstavuvaat linerana kombinacija na monomi. Naprimer polinomot 3 p ( x) = x 2x 5 e polinom od tret stepen. Vo MatLabot, polinomot se pretstavuva so pomo{ na vektor-red koj gi sodr`i koeficientite na polinomot trgnuvaj}i od najgolemiot do najmaliot stepen. >> p = [ -2-5] p = -2-5 Koeficientite koi ne se prisutni vo polinomot se zadadat so nula na nivnoto soodvetno mesto. Primerot e zemen od upatstvoto za MATLAB 69

70 Postojat pove}e funkcii za rabota so polinomite a nie }e gi spomneme slednive: conv dekonv polyval roots poly polyfit mno`ewe na polinomi delewe na polinomi presmetuvawe na vrednosta na polinomot opredeluvawe na nulite na polinomot opredeluvawe na polinom ako se znaat nulite iterpolacija na podatoci so polinom. Nuli na polinomot Funkcijata roots presmetuva nuli na daden polinom t.e. ja opredeluva vrednosta na nezavisnata promenliva za koja polinomot dobiva nulta vrednsot. Nulite na polinomot se opredeluvaat so, pri {to funkcijata roots gi presmetuva i kompleksnite koreni: >> r = roots(p) r = i i Po definicija, nulite na polinomot se pamtat kako vektor-kolona. Obratna funkcija na roots e funkcijata poly. So nea se opredleuvaat koeficientite na polinomot ako se poznati negovite nuli. >> p2 = poly(r) p2 = roots i poly se inverzni funkcii edna na druga do nivo na skalirawe ( mno`ewe na celiot polinom so nekoj broj ) i gre{kata na zaokru`uvawe. Funcijata poly isto taka se koristi i za presmetuvawe na karakteristi~niot polinom za dadena matrica za da potoa so koristewe na roots se opredelat i sopstvenite vrednosti na matricata 2 >> A = [ ; ]; >> p2 = poly(a) >> r = roots(p2) p2 = r = Presmetuvawe na vrednosta na polinomot Funkcijata polyval ja presmetuva vrednosta na polinomot za dadeni vrednosti na nezavisnata promenliva. Naprimer vrednosta na plinomot p(x) od prethodnite primeri za x = 5 e: >> polyval(p,5) 2 primerot e zemen od knigata "MATLAB i dodatni moduli Control system toolbox i Simulink " od Latinka ^alasan i Menka Petkovska, Mikro kwiga, Beograd 7

71 Mo`na e slednata naredba: >> x = [ ]; >> v = polyval(p,x) v = Mno`ewe ( konvolucija) i delewe ( dekonvolucija ) na polinomi Mno`eweto i deleweto na polinomi korespondira na operaciite konvolucija i dekonvolucija. Za ovie dve operacii se koristat funkciite conv i deconv. Kako primer da gi pomno`ime slednive dva polinoma: 2 2 a ( s) = s + 2s + 3 i b ( s) = 4s + 5s + 6 >> a = [ 2 3]; b = [ 4 5 6]; >> c = conv(a,b) c = Ako sega polinomot so koeficientite dadeni preku vektor-redot c se podeli so a treba da se dobie polinomot b. >> [q,r] = deconv(c,a) q = r = Vektor-redot r e polinom na ostatokot. Bidej}i negovite koeficienti se nula proizleguva deka vektorite se delat bez ostatok a rezultatniot polinom koli~nik daden e so vektorot q..4 Interpolacija na podatoci so polinim Funkcijata polyfit gi opredeluva koeficientite na polinom so koj se interpoliraat dadenite podatoci vo smisla na najmala kvadratna gre{ka. Vo najop{ta forma funkcijata se zadava so slednive parametri. p = polyfit(x,y,n) kade {to x i y se vektorite koi gi sodr`at podatocite {to treba da se interpoliraat a n e redot na polinomot ~ii koeficienti treba da se opredelat. >> x = [ ]; y = [ ]; >> p = polyfit(x,y,3) p = Sega kako ilustracijata i sporedba }e gi nacrtame podatocite i polinomot presmetan so funkcijata polyfit. 7

72 >> x2 = :.5:5; >> y2 = polyval(p,x2); >> plot(x,y,'o',x2,y2) >> grid on primer 2. >> x = [ ]; >> y = [ ]; >> c = polyfit(x,y,4) c = >> x =.:.:.8; >> y = polyval(c,x); >> plot(x,y,x,y,'*') 72

73 INTERPOLACIJA SO POLINOM Vo prethodnite primeri, vo koj e koristena vgradenata funkcija polyfit, polinomot se odbira taka da sumata na kvadratite na razlikata ( gre{kata) pome u vrednosta na polinomot i podatocite e najmala vo odnos na site drugi polinomi. Vaka opredelen polinom naj~esto ne prova a niz to~kite so koi se definirani empiriskite podatoci i vo literaturata ~esto }e se sretne terminot aproksimacija so polinom so metoda na najmali kvadrati. No interpolacijata mo`e da se realizira ako se postavi uslov deka polinomot mora da prima vrednosti koi se ednakvi na podatocite za ista vrednost na nezavisnata promenliva Interpolacionen polinom Problemot na iznao awe na koeficientite na polinomot se sveduva na re{avawe na sistem na linearni ravenki, kade matricata na sistemot e poznata pod ime Vandermondeova matrica 4. Presmetuvaweto na ovaa matrica }e go realizirame so m- funkcijata. function [A]= myvander(x) % % funkcija vander presmetuva Vandermundovata matrica % Vlez: x vektor-kolona na nezavisnata promenliva % vo koja se dadeni podatocite % Izlez: matrica A % n = length(x); for i=:n j= n-i; A(:,i)=x.^(j); end Primer na sesija vo MatLab: 3 Vidi del.3 vo predavawata za vtoriot semestar 4 Isto 73

74 >> x = [ 3 ]'; >> fx = [ -5 25]'; >> A = myvander(x) >> coef = A\fx A = 9 3 coef = Naredbata coef = A\fx pretstavuva vgraden operator za re{avawe na sistem na ravenki. Matemati~ki treba da se ~ita kako coef = A - *fx. Polinomot na iterpolacijata glasi: 2 f ( x) = 2x + 4x 5 Grafi~ki prikaz za ocenka e daden na sledniot grafik realiziran so naredbite. >> x = :.2:3.4; >> y = polyval(coef,x); >> plot(x,y,x,fx,'*') Treba da se napomene deka vo ramkite na MatLabot postoi specijalna vgradena funkcija za generirawe na Vandermondeovata matrica, funcijata vander(x). Imeno, >> A = vander(x) A = 74

75 9 3 ja presmetuva istata matrica kako i so koristewe na funkcijata myvander. No dosta ~esto pri prakti~noto re{avawe na problemite }e se sre}avame od potrebata za pi{uvawe na svoi funkcii i zatoa myvander e dadena kako ilustracija za pi{uvawe i koristewe na m-funkciski datoteki. Sekako deka se pi{uvaat m-funkcii samo tamu kade ne postojat ve}e vgradeni funkcii a i koga se pi{uaat sopstveni funkcii, prepora~livo e {to pove}e da se koristat vgradenite funkcii za re{avawe na poodelni segmenti na problemot. 2.2 Lagran`ova interpolacija Lagran`ovata interpolacija e eden specifi~en vid na interpolacija so polinom a se sostoi od konstrukcija na polinomi L (x), L (x),..., L n (x), koi eksplicitno zadovoluvaat uslov da se anuliraat vo site to~ki na nezavisnata pormenliva x, osven vo edna to~ka vo koja primaat vrednost 5. Vo MatLabot ne postoi vgradena funkcija za opredeluvawe na Lagran`ovoit polinom i zatoa treba da se napi{e m-funkcija. Vo primerot {to sleduva dadena e m- funkcija za Langran`ovata interpolacija. Sekako deka e mo`no, vo zavisnost od znaewata i kreativnosta na programerot, istiot program da bide napi{an poinaku no rezultatite treba da bidat identi~ni. function [C,L] = lagrange(x,y) % %LAGRANGE Konstrukcija na polinom so metoda na Lagranzova % interpolacija % Nacin na povikuvawe % [C] = lagrange(x,y) % [C,L] = lagrange(x,y) % Inputs % X vector na vrednostite na nezavisnata promenliva % Y vector na zavisnata promenliva % Izlez % C lista na koeficienti za Lagrange polinom % L matrica koja gi sodrzi poedinecnite Lagrange polnomi % % n = length(x);% dolzina na vektorot X, broj na elementi n = n-; L = zeros(n,n);% se generira matrica so nxn nuli for k=:n+, % formirane na koeficientite na Lagrange plinom V = ; % so koristene na poly(r)za kreirawe na polinom for j=:n+, % so poznati koreni, i conv(p2,p) if k ~= j, % za mnozenje na polinomi. V = conv(v,poly(x(j)))/(x(k)-x(j)); end end L(k,:) = V; end C = Y*L; Kako ilustracija za koristewe na m-fukncijata lagrange, }e se koristime so primerot za m-funkcijata myvander vo prethodnata glava. >> x = [ 3]; 5 Vidi del.4 vo predavawata za vtoriot semestar 75

76 >> y = [ -5 25]; >> [coef,l] = lagrange(x,y) coef = L = Vrednostite na koeficientite se identi~ni bidej}i i dvata pristapa se odnesuvaat na polinomna aproksimacija. Prednosta na Lagran`ovata interpolacija se sostoi vo toa {to ne treba da se re{ava sistem na ravenki, ~ie re{enie mo`e da bide nestabilno vo slu~aj na golem broj na podatoci. Vo konkretniot primer so 3 vrednosti ovoj problem ne se javuva zaradi mal broj na podatoci. Redovite na matricata L, gi sodr`at koeficientite na poedina~nite Lagran`eovi polinomi i toa: prviot red se odnesuva na L (x), vtoriot na L (x) i tretiot na L 2 (x)polinom, pri {to polinomite gi zadovoluvaat slednite uslovi: L () =, L () =, L (3) = L () =, L () =, L (3) = L 2 ()) =, L 2 () =, L 2 (3) = a samiot polinom e linearna kombinacija na L polinomite. L(x) = -5*L (x) + *L (x) + 25*L 2 (x) Grafi~ki L polinomite mo`at da se pretstavat so sledniot program. >> x = :.:3; >> L = L(,:); L=L(2,:);L2=L(3,:); >> y = polyval(l,x); >> y = polyval(l,x); >> y2 = polyval(l2,x); >> plot(x,y,x,y,x,y2) >> grid on

77 Znaej}i gi koeficientite na polinomot ( elementite na vektor-redot coef ) lesno mo`e da se presmetaat vrednostite na zavisnata promenliva za onie vrednosti na nezavisnata promenliva koi ne se prisutni vo podatocite. Na primer: >> x = [.5.5 2]; >> y = polyval(coef,x) y = Wutnova interpolacija - napred Wutnovata interpolacija e druga metoda so koja dadeni podatoci se interpoliraat. Rezultatot e isto taka polinom pri {to koeficientite na polinomot se presmetuvaat koristej}i ja metodata na kone~ni razliki 6. function [C,D] = newtint(x,y) % %NEWTINT metoda na Newtonova interpolacija % Nacin na povikuvanje % [C] = newtint(x,y) % [C,D] = newtint(x,y) % Vlez: % X vector na nezavisnata promenliva % Y vector na zavisnata promenliva % Izlez % C koeficientite na Newton-oviot polinom % D tabela na konecni razliki % % n = length(x); D = zeros(n,n); D(:,) = Y'; for j=2:n, for k=j:n, D(k,j) = (D(k,j-)-D(k-,j-))/(X(k)-X(k-j+)); end end C = D(n,n); for k=(n-):-:, C = conv(c,poly(x(k))); m = length(c); C(m) = C(m) + D(k,k); end Vektor-redot C gi sodr`i koeficientite na polinomot, dodeka kolonite na matricata D se -ta,, 2,... k-ta kone~na razlika, pri {to vrednostite na kone~nite k razliki se deleni so soodvetniot faktoriel. Taka na primer Δ f (x) ( k-tata kolona) e podelena so k!. Razlikata pome u primerite dadeni vo predavawata i rezultatite vo implementacijata na metodata vo MatLabot se sostoi vo gore navedenoto objasnenie. primer 7 : 6 Vidi del.5 vo predavawata za vtoriot semestar 77

78 >> x = [ 2]; y=[ -5 ]; >> [C,D] = newtint(x,y) C = D = primer 2 8 : >> x = [ 2 3 4]; fx=[ ]; >> [C,D]=newtint(x,fx) C = D = Da ja presmetame vrednosta na funkcijata vo to~kata.5 >> a =.5; >> vrd = polyval(c,a) vrd = NUMERI^KO DIFERENCIRAWE ( OPREDELUVAWE NA IZVOD) Numeri~koto diferencirawe e postapka so koja se presmetuva prviot izvod na funkcija vo odnos na edna nejzina promenliva. Naj~esto, pod ovaa postapka se podrazbira diferencirawe na funkcii koi se dadeni vo numeri~ka ( broj~ana) forma, iako metodata mo`e da se koristi i za diferencirawe na funkcii koi se zadadeni vo analiti~ka forma. Potrebata za numeri~ko diferencirawe na analiti~ki funkcii se javuva koga ne sme vo sostojba da izvr{ime analiti~ko diferencirawe poradi kompleksnosta na samata funkcija. I vo dvata slu~ai stanuva zbor za izvod vo dadena to~ka na funkcijata pri {to se dobiva broj~ana vrednost kako rezultat. 3. Numeri~ko diferencirawe koristej}i limes Vo osnova na numeri~koto diferencirawe e geometriskata interpretacija na izvodot, t.e deka izvodot e tanges od agolot {to go zafa}a tangentata na krivata, vo dadena to~ka, so pozitivnata nasoka na x-oskata. Matemati~ki toa mo`e da se pretstavi so sledniot limes 9. Δf f ( x h) f ( x + h) f ( x ) = lim = lim Δ x Δx h 2 * h 7 Primerot e od predavawata za vtoriot semestar 8 Isto 9 Vidi del 2. vo predavawata za vtoriot semestar 78

79 Ako gorniot limes e kone~en i ima vrednost toga{ velime deka funkcijata ima izvod vo to~kata x. Edna mo`na realizacija na m-funkcija, so koja se presmetuva izvod vo dadena to~ka na funkcijata f, e dadena vo sledniot primer. function [H,D,E,n] = difflim(f,x,toler) % %DIFFLIM Numericka aproksimacija na f'(x). % Metodata se bazira na presmetuvanje na limes. % Primer na povikuvnje: % [H,D,E,n] = difflim('f',x,toler) % Vlez: % f name of the function % x differentiation point % Izlez: % H vector na golemina na cekori % D vector na priblizna vrednost na izvodot % E vector na greska vo sekoj cekor % n elementot D(n) "najdobra aproksimacija na f'(x)" % % (Diferenciranje koristejki limes). % h = ; % max = 5; %2 H() = h; %3 D() = (feval(f,x+h) - feval(f,x-h))/(2*h); %4 E() = ; %5 for n = :2 %6 h = h/; %7 H(n+) = h; %8 D(n+) = (feval(f,x+h) - feval(f,x-h))/(2*h); %9 E(n+) = abs(d(n+) - D(n)); % end % n = 2; %2 while ((E(n)>toler)) & n<max %3 h = h/; %4 H(n+) = h; %5 D(n+) = (feval(f,x+h) - feval(f,x-h))/(2*h); %6 E(n+) = abs(d(n+) - D(n)); %7 n = n+; %8 end %9 n = length(d)-; %2 % kraj na funkcijata... Imeto na m-funcijata e difflim, pri {to kako vlezni parametri se: imeto na funkcijata f, to~kata vo koja se bara izvodot x i tolerancija, toler, na gre{kata vo vrednosta na izvodot. Samata funkcijata f treba da bide zadadena i definirana kako m-funkciska datoteka. Vo na{iot primer toa e funkcijata cos(x) a definirana e so slednata m-funkciskata datoteka. file:f.m function z = f(x) z = cos(x); pri {to datotekata se nao a vo rabotniot direktorium. Treba da se povle~e deka i imeto na m-datotekata ( fajlot) i imeto na funkcijata mora da se isti. Izlezot, t.e, rezultatot na presmetikite na finkcijata difflim e daden so ~etiri promenlivi. Vektorot H gi sodr`i vrednostite na ~ekorite koi se menuvaat vo sekoja interacija so cel da se uto~ni vrednosta na izvodot. Vektorot D gi sodr`i 79

80 vrednostite na izvodot vo soodvetniot ~ekor a vektorot E pripadnata gre{ka. Brojot n e redniot broj na elementot na D koj istovremeno pretstavuva kone~na vrednost na izvodot koj ja zadovoluva tolerancijata ( gre{kata ). Vo sledniot del ~ekor po ~ekor }e bide objasneta programata so cel da studentot dobie ~ustvo {to i kako m-funkcijata raboti i istovremeno da stane familijaren so programiraweto vo MatLabot. Nie i vo slednite primeri po potreba odredeni programi }e gi objasnime ~ekor po ~ekor. Za onie programi koi ne se objasneti, pretpostavka e deka studentot ima dovolno poznavawa ili dovolno informacii od objasnetite programi da mo`e samiot da napravi analiza. Sepak kqu~no e studentot mora da ja posnava metodata i algoritmot za da mo`e da go interpretira programot. Kako {to e ka`ano m-fukncijata difflim se bazira na metodata na presmetuvawe na izvod preku limes. Vo taa smisla programata se sostoi od: -~ekor: Se definira po~etniot ~ekor so vrednsot. 2: Maksimalen broj na iteracii e ograni~en na 5. 3: Vrednosta na prviot ~ekor se pameti kako prv element na vektorot na ~ekori H. 4: Se koristi formulata (**) za presmetuvawe na prvata aproksimacija na izvodot, pri {to istata se pameti vo vektorot D. Za presmetka na vrednosta na funkcijata f vo dadena to~ka se koristi vgradenata funkcija feval('f',x). Kako primer da gi presmetame vrednostite na funkcijata f vo to~kata.8 i -.2 >> x =.8; >> h = ; >> f = feval('f',x+h) >> f2 = feval('f',x-h) >> izv = (f-f2)/(2*h) f = f2 =.98 izv = Naj~esta gre{ka {to se pravi e ispu{tawe na apostrofite 'f', bidej}i funkcijata feval go bara imeto na funkcijata. 5: Po~etnata gre{ka vo prviot ~ekor se postavuva na nula. 6: Se koristi for ciklusot za presmetka na izvodot i gre{kata vo slednite dva ~ekori. Ovie vrednosti se potrebni kako inicijalni za ponatamo{na iteracija.. 3: So pomo{ na while ciklusot se presmetuvaat sukcesivnite vrednosti na izvodot zaedno so pripadnite gre{ki i istite se smestuvaat vo vektorite D(n) i E(n). Ciklusot while se povtoruva se dodeka gre{kata t.e. apsolutnata razlika pome u dva posledovatelni izvodi stane pomala od dozvolenata tolerancija. 2: Se presmetuva n, so koj se ozna~uva elementot na vektorot D kako kone~no re{enie na vrednosta na prviot izvod. Koristeweto na m-funkcijata mo`e da se ilustrira so slednata MatLab sesija. >> x =.8; >> toler = e-7; >> [H,D,E,n] = difflim('f',x,toler); >> n,h(n),d(n),e(n) 8

81 n = 4.e e-7 Presmetkite poka`uvaat deka vo ~etvrtata iteracija e postignata baranata to~nost i vrednosta na izvodot vo to~kata x=.8 iznesuva D(4)=-.774, pri {to ~ekorot za numeri~ko diferencirawe e H(4)=. a postignata gre{ka E(4)= Numeri~ko diferencirawe so pomo{ na Wutnoviot interpolacionen polinom Numeri~ko diferencirawe za funkcii koi {to se zadadeni broj~ano ( numeri~ki ) vo osnova se realizira vo dva ~ekora. Vo prviot ~ekor se vr{i polinomna aproksimacija i od kako }e se opredelat koeficientite na polinomot istiot se diferencira vo dadenata to~ka. Za poto~na presmetka na vrednosta na izvodot potrebna e aproksimacija so polinom od povisok red. Vo sledniot primer, dadena e m-funkcija so koja se opredeluva prviot izvod vo to~kata x na funkcija definirana so vektorite x ( abcisa ) i y ( ordinata ). Vo samoto telo na funkcijata se koristat tri funkcii od koi newtint(x,y) e m-funkcija koja gi opredeluva koeficientite na Wutnoviot interpolacionen polinom. Istata e definirana vo delot 2.3 i taa e korisni~ka m-funkcija, t.e. napi{ana od korisnikot. Funkciite polyder so koja se vr{i diferencirawe na polinomot ( vidi help ) i funkcijata polyval se vgradeni MatLab funkcii. Ovoj primer e dosta edukativen vo smisla kako korisnikot treba da gi pi{uva svoite funkcii so koristewe na vgradenite m-funkcii. function vr = newtdiff(x,y,x) [C,D] = newtint(x,y); derc = polyder(c); vr = polyval(derc,x); Kako primer za upotreba na newtdiff da go poftorime primerot od prethodniot del 3.. primer: >> x = :.2:.2; >> y = cos(x); >> x =.8; >> izvod = newtdiff(x,y,x) izvod = primer >> x=:.5:.3; >> y = sqrt(x); >> x =.; >> izvod = newtdiff(x,y,x) Vidi 2.3 od predavawata vo vtoriot semestar Od predavawata na strana 24 8

82 izvod =.5 4. NUMERI^KO INTEGRIRAWE Vo prviot del na ovoa u~ebno pomagalo, se zapoznavme so funkciite quad i quad8 so koi se vr{i numeri~ka integracija na funkcii zadadeni analiti~ki. No sli~no kako i kaj diferenciraweto vo slu~aj na broj~ano zadadeni funkcii numeri~kata integracija se vr{i preku integracija na polinomot so koj se aproksimiraat podatocite. Od teoretskite analizi 2 proizleguvaat dva ednostavni algoritmi koi naj~esto se koristat za numeri~ka integracija. 4. Trapezno pravilo So trapeznoto pravilo integriraweto se realizira preku sumacija na povr{ini na trapezi. Slednata m-funkcija e primer na programirawe na trapeznoto pravilo. function v = trapez(x,y) n = length(x); m = length(y); if m ~= n display(' x i y nemaat ednakov broj na podatoci ') break end v = ; for k=:n- v=v+(x(k+)-x(k))*(y(k+)+y(k))/2.; end Kako vlezni parametri se vektorite na podatoci x i y a izlezot e integral na funkcijata y pome u to~kite x() i x(n). primer 3 >> x =.4:.:.; >> y = exp(x)./x; >> integral = trapez(x,y) integral =.795 primer 4 >> x = :pi/2:pi/2; >> y = sin(x); >> integral = trapez(x,y) integral =.9943 Vo gorniot primer presmetan e integral na funkcijata sin(x) vo intervalot [,pi/2], ~ija vrdnost teoretski iznesuva. Zaradi mal broj na intervali a i koristeweto na trapeznoto pravilo vnesuva odredena gre{ka. Za da se zgolemi 2 Vidi 3.2 od predavawata vo vtoriot semestar 3 od predavawata na st od predavaqata na st. 3 82

83 to~nosta potrebno e da se zgolemi brojot na intervalite odnosno namali ~ekorot na integracija. >> x = :pi/5:pi/2; >> y = sin(x); >> format compact >> integral = trapez(x,y) integral = So namalen broj na ~ekori vrednosta na integralot se dobli`uva do, no se u{te gre{kata e vo 5-tata decimala a brojot na intervali e 5. Golemiot broj na intervali a ne taka golema to~nost ja pravi ovaa metoda nepopularna i pokraj svojata ednostavnost. 4.2 Simpsonovo pravilo Simpsonovoto pravilo e metoda koja so pomal broj na intervali mo`e da postigne pogolema to~nost 5. Vo slu~aj na ednakvi intervali m-funkcijata bi mo`ela da se napi{e na sledniot na~in. function v = simpson(h,y) % % vlezni parametri % h cekor na integracija ( interval) % y() vrednosti na funkcijata t.e podatoci vo brojcana forma % n = length(y); % se ispituva dali ima neparen broj na podatoci % ako ne da se namali za eden m = n; if rem(n,2) == m = n-; end m,n v =.; for k=2:m- if rem(k,2)== v = v+4.*y(k); else v = v+2.*y(k); end end v = h*(v + y()+y(m))/3; % vo slucaj na paren broj na tocki dodaj ja % poslednata povrsina koristejki trapezno pravilo if rem(n,2) == v = v+h*(y(n)+y(n-))/2; end primer >> h = pi/5; >> x = :h:pi/2; >> y = sin(x); >> integral = simps(h,y) 5 Vidi od predavawata vo vtoriot semestar 83

84 integral =. 4.3 Gausova integracija Gausovata integracija e efikasna i zadovolitelno to~na metoda za integrirawe na poslo`eni analiti~ki funkcii. Vo slu~aj na funkcii zadadeni vo numeri~ka forma prvo treba da se izvr{i interpolacija so polinom ili nekoja druga analiti~ka funkcija pa potoa da se primeni Gausovata metoda. Vo su{tina metodata se sostoi vo zobirawe na vrednostite na funkcijata vo jazlite, pomno`eni so soodvetni te`inski faktori 6. Vo zavisnost od baranata to~nost na presmetkite mo`e integracijata da bide so pomalku ili pove}e jazlni to~ki. No ve}e so relativno mal broj na jazli mo`no e da se postigne zadovolitelna to~nost. So slednata m-funkcija gauss5, dadena e programata za Gausovata metoda so 5 jazli. function sum = gauss5(f,a,b) % % Vlez % f ime na funcijata % a left endpoint of [a,b] % b right endpoint of [a,b] % A table of abscissas % W table of weights % Return % sum rezultat na integracija % A = [ ]; W = [ ]; n = length(a); sum = ; fct = (b-a)/2; for k = :n z = A(k); w = W(k); x = (b*(z+)+a*(-z))/2; fz = fct*feval(f,x); sum = sum+w*fz; end Za ilustracija na Gausovata metoda }e gi re{ime site prethodni primeri. primer >> a = ; >> b = pi/2; >> integral = gauss5('f',a,b) integral =. pri {to funkcijata f e zadadena kako m-fajl. function z = f(x) z = sin(x); primer 6 Vidi 3.3 od predavawata vo vtoriot semestar 84

85 >> a =.4; >> b =.; >> integral = gauss5('f',a,b) integral =.794 pri {to f funkcijata e zadadena so: function z = f(x) z = exp(x)/x; primer >> a = ; >> b = 2; >> integral = gauss5('ff',a,b) integral =.693 pri {to finkcijata ff e zadadena so m-fajlot: function z = ff(x) z =./x; Na kraj posledniot primer da go re{ime so koristewe na vgradenite funkcii quad i quad8. >> a = ; >> b = 2; >> err =.e-5; >> format long; >> integral = quad('ff',a,b,err) integral = >> a = ; >> b = 2; >> err =.e-5; >> integral = quad8('ff',a,b,err) integral = RE[AVAWE NA SISTEMI LINEARNI ALGEBARSKI RAVENKI Edno od centralnite mesta vo numeri~kite metodi zazema re{avaweto na sistemi na linearni algebarski ravenki. Generalno ka`ano, vo sekoj matemati~ki model so koj se opi{uvaat fizi~kite fenomeni, se javuva potreba od re{avawe na sistem na linearni ravenki. Duri odredeni in`ewerski problemi mo`at da se modeliraat i svedat na sistem na linearni ravenki. Kako ednostaven primer da ja spomneme polinomnata interpolacija koja se sveduva na re{avawe na sistem na ravenki kade matricata na sistemot e Vandermondovata matrica. Postojat mnogu takvi primeri no toa e nadvor od celta na ovaa skripta. Vpro~em faktot deka samiot MatLab, e razvien okolu edno ezgro, koe prvi~no iskqu~ivo be{e napraveno da im olesni na korisnicite koristewe na paketot za re{avawe na linearni sistemi. Zatoa MatLabot i ima dosta bogata biblioteka na vgradeni funkcii i operatori koi manipuliraat so matrici. 85

86 Za po~etok da re{ime nekolku primeri na sistemi so vgradenite funkcii. primer: 2x + x 2 = 4 x - x 2 = - ili Ax = b t.e 2 x 4 = x2 MatLab naredbi: >> A=[2 ; -]; >> b = [4 -]'; >> x = A\b >> c = A*x >> err = b-c x = 2 c = 4 - err = Prethodniot primer ilustrira koristewe na vgradeniot operator \ koj vo slu~aj na matrici ozna~uva delewe od levo na vektorot-kolonata b so matricata A i se dobiva re{enie vektor-kolonata x. Vsu{nost matemati~ki re{enieto na sitemot e: x = A b kade A - e inverzna matrica na matricata A. So koristewe na inverzna matrica sistemot mo`e da se re{i i na sledniot na~in. >> Ainv = inv(a) >> x = Ainv*b Ainv = x =. 2. Prednosta na re{avawe na sistem na ravenki so operatorot na delewe e vo toa {to MatLabot vo pozadina koristi algoritmi koi vodat smetka za stabilnosta na re{enieto kako i toa da so operatorot za delewe, mo`e da se re{at i sistemi koi imaat pove}e ravenki od nepoznati no toga{ re{enieto e vo smisla na najmala kvadratna gre{ka. Na primer da dodademe u{te edna ravenka t.e. red vo matricata A. A (3,:) = [ ] b(3) = 4 x = A\b c = A*x razlika = b-c err = norm(razlika) 86

87 A = b = x = c = razlika = err =.88 Re{enieto x e re{enie koe dava najmala vkupna kvadratna gre{ka na elementite na odstapuvaweto razlika. Imeno ako za re{enie zememe: x = koe se razlikuva vo vtorata decimala od re{enieto x gre{kata e: >> x = [ ]' >> c = A*x >> raz = b - c >> err = norm(raz) >> err - err x = c = raz = err = Poslednata naredba ja presmetuva razlikata na dvete gre{ki i jasno e deka novata kvadratna gre{ka e pogolema od prvata. primer: >> A = [ -7 ; ; 5-5] >> b = [7 4 6]' >> x = A\b 87

88 >> c = A*x >> err = b-c A = b = x = c = err = primer: >> A = [..8.64;..9.8;...2] >> b = [erf(.8) erf(.9) erf(.)]' >> x = A\b >> c = A*x >> err = b-c A = b = x = c = err =.e-5 *. Vo gorniot primer erf(x) e vgradena funkcija. Vidi ja definicijata koristej}i se so help erf. Gre{kata err e od redot na -5, {to prakti~no zna~i deka e nula. 5. Gausova metoda na eliminacija 88

89 Gausovata metoda ili poznata u{te kako Gaus-Jordan metoda, e najpoznata metoda koja zadol`itelno se sre}ava vo sekoj u~ebnik na numeri~ki metodi 7. Poradi svojata ednostavnost i lesno programirawe taa nej~esto se koristi za re{avawe na sistemi so relativno mal broj na ravenki ( 3x3). Od druga strana, vo slu~aj na mal broj na ravenki koi mo`at i ra~no da se re{at, ovaa metoda zadol`itelno se koristi. Slaba strana na metodata e nejzinata nestabilnost pri golem sistem na ravenki, zatoa {to numeri~kata gre{ka se akumuliraat i mo`e da se slu~i da se javi sungularnost t.e. delewe so nula. Za vakvi sistemi razvieni se posebni algoritmi a i samiot MatLab ima vgradeni funkcii so koi mo`e da se izbegne problemot. Funkcijata gaussj e program so koj se implementira Gaus-Jordan metodata. Im se prepora~uva na studentite detalno da go analiziraat programot, bidej}i vo nego se iskoristeni prednostite na matri~no i vektorski smetawe koi gi ovozmo`uva MatLabot. Taka na primer so edna naredba ( 8 red ) se vr{i vektorsko odzimawe {to inaku so drugi klasi~ni programski jazici bi trebalo da se koristi dodaten for ciklus i da se odzima element po element. function X = gaussj(a,b) % %GAUSSJ Gauss-Jordan metoda za resavawe na linearni ravenki % Povikuvanje % X = gaussj(a,b) % Vlez % A coeficienti na matricata % B vector na desnata strana % Izlez % X vector na resenie % [n n] = size(a); % A = [A';B']'; %2 X = zeros(n,); %3 for p = :n, %4 for k = [:p-,p+:n], %5 if A(p,p)==, break, end %6 mult = A(k,p)/A(p,p); %7 A(k,:) = A(k,:) - mult*a(p,:); %8 end %9 end % X = A(:,n+)./diag(A); % primer: >> A = [..8.64;..9.8;...2] >> b = [erf(.8) erf(.9) erf(.)]' >> x = gaussj(a,b) >> c = A*x >> err = b-c A = b = x = Vidi 4. od predavawata vo vtoriot semestar 89

90 c = err =.e-5 * primer >> A = [ -7 ; ; 5-5] >> b = [7 4 6]' >> x = gaussj(a,b) >> c = A*x >> err = b-c A = b = x = -.. c = err =.e-3 * Iterativna metoda ( Gaus - Zajdel) 8 Ovaa metoda isto taka dosta ~esto se koristi, poradi svojata ednostavnost i mnogu lesno programirawe. Mo`e da se koristi za sistemi so bilo koja golemina no nedostatok na metodata e {to prethodno sistemot na linearni ravenki prvo treba da se transformira vo forma za iteracija i pri toa treba da bide zadovolen uslovot za konvergencija. Funkcijata gseid e primer na edna implementacija vo MatLabot na Gaus- Zejdelovata metoda. function [P,dP,Z] = gseid(a,b,p,delta,max) % %GSEID Gauss-Seidel iteracona metoda % Se povikuva 8 Vidi 4.2 od predavawata vo vtoriot semestar 9

91 % [X,dX] = gseid(a,b,p,delta,max) % [X,dX,Z] = gseid(a,b,p,delta,max) % Vlez % A mtricata na sistemot % B vectorot na desnata strana % P poceten vector na iteracija % delta tolerancija na greska % max maximalen broj na iteratcii % Izlez % X vector resenie % dx greska vo sekoja iteracija % Z matrica na resenija vo sekoja iteracija % Z = P'; n = length(b); Pold = P; for k=:max, for r = :n, Sum = B(r) - A(r,[:r-,r+:n])*P([:r-,r+:n]); P(r) = Sum/A(r,r); end dp = abs(pold-p); err = norm(dp); relerr = err/(norm(p)+eps); Pold = P; Z = [Z;P']; if (err<delta) (relerr<delta), break, end end primer 9 : >> A = [ ; 2 ; 2 2 ] >> b = [2 3 4]' >> x = [ ]' >> toler =.e-8 >> maxiter = 2 >> [x,dx,z] = gseid(a,b,x,toler,maxiter) >> c = A*x >> err = b-c A = b = x = toler =.e-8 maxiter = 2 x =.. 9 Primer od predavawata 9

92 . DX =.e-8 * Z = c = err =.e-9 * primer: >> A = [ 8 ; 5 -; - 5] >> b = [26 7 7]' >> x = [ ]' >> toler =.e-6 >> maxiter = 2 >> [x,dx,z] = gseid(a,b,x,toler,maxiter) >> c = A*x >> err = b-c A = b = x = toler =.e-6 maxiter = 2 x = 3... DX =.e-5 *

93 .45 Z = c = err =.e-5 * Interesentno e da proverime dali po~etniot vektor na iteracijata x = [ ]' ima vlijanie na to~nosta i brojot na iteracii. Za taa cel }e po~neme so vektorot x koj e daleku od re{enieto. >> A = [ 8 ; 5 -; - 5] >> b = [26 7 7]' >> x = [ ]' >> toler =.e-6 >> maxiter = 2 >> [x,dx,z] = gseid(a,b,x,toler,maxiter) >> c = A*x >> err = b-c A = b = x = toler =.e-6 maxiter = 2 x = 3... DX =.e-6 * Z =

94 c = err =.e-6 * I vo ovoj slu~aj se dobiva to~noto re{enie so nezna~itelen mal broj na dodatni iteracii ( plus dve), {to uka`uva deka sistemot silno go zadovoluva uslovot za konvergencija. Se ohrabruvaat studentite da na sli~en na~in probaat pove}e primeri kako bi se zdobile so ~uvstvo za problemot. Na kraj da re{ime u{te eden primer od predavawata daden na strana 48. Pri toa }e zapo~neme so transformiraniot sistem daden na strana 49 so koj se obezbeduva konvergencijata. >> A = [ ] >> b = [ ]' >> x = [ ]' >> toler =.e-8 >> maxiter = >> [x,dx,z] = gseid(a,b,x,toler,maxiter); >> [iter,m]=size(z); >> x,iter >> c = A*x >> err = b-c A = b = x = toler =.e-8 maxiter = 94

95 x = iter = 33 c = err =.e-6 * MODELIRAWE NA PODATOCI Kako {to e navedeno vo predavawata, Glava 5, pod modelirawe na podatoci se podrazbira opredeluvawe na finkcionalna zavisnost odnosno kriva koja "najdobro" go opi{uva trendot na mno`estvo na to~ki. Za razlika od interpolacijata, kade krivata treba da pominuva niz zadadenite to~ki ( podatoci), pri modeliraweto t.e aproksimacijata 2, krivata treba "najdobro" da go opi{e trendot na podatocite. Vo statistikata ovaa postapka se narekuva regresija a krivata regresiona kriva. Kriteriumot za "najdobro" mo`e da bide razli~it, no naj~esto e toa minimalnata vkupna kvadratna gre{ka ( na angliski least square error LSQ ) Polinomna regresija Polinomnata regresija za modelirawe na podatocite koristi polinomi kako pretpostavena teoretska kriva. Koristej}i go LSQ kriteriumot se poredeluvaat koeficientite na polinomot. Bidej}i ovoj tip na funkcii dosta ~esto se koristat MatLabot ima vgradena m-funkcija za polinomna regresija polyfit so koja se zapoznavme vo delot.4 na ovaa skripta. Sepak nie }e napi{eme na{a m-funkcija za polinomna regresija so cel studentite podlaboko da navlezat vo tehnikata na programiraweto. Neka se zadadeni empiriskite podatoci y = ( y, y2,..., yn ) koi soodvestvuvaat na mernite mesta ili to~ki x = ( x, x2,..., xn ).Polinomnata regresija se sostoi vo opredeluvaweto na koeficientite na polinomot p( s) = a x a x a x a k k k + k taka da presmetanite koeficienti a k, a k-,...,a,a davaat najmala vrednost na kvadratnata gre{ka. 2 Vo angliskata literatura ovoj vid na aproksimacija se narekuva " fitting". Vo na{iot jazik soodveten prevod ne postoi zatoa ~esto mo`e da se sretne samiot zbor fiting. Najblisku do prevodot e "aproksimacija" iako vo angliskata literatura zborot aproksimacija ( aproximation ) e poseben zbor. Vo statistikata postapkata se narekuva regresija a krivata regresiona kriva. 2 Vidi predavawa str

96 96 = = n j j x j y p S 2 ) ) ( ( Posle opredeleni matemati~ki operacii problemot se sveduva na re{avawe na sistem na ravenki. = n n k k y y y y y A a a a a A A 3 2 ' '... kade matricata A e od oblik: = n k n k n n k n k n k k k k k k x x x x x x x x x x x x x x x A Dimenzijata na matricata A e (n,(k+)) kade n e broj na podatoci a (k+) e broj na nepoznati koeficienti, dodeka A' e transponirana matrica na A. M-funkcijata polylsq e MatLab program so koj se presmetuvaat koeficientite na polinomot. function [C,Err]= polylsq(x,y,k) % % Polinomna regresija % Vlez: % y : vektor na podatoci % x : vektor na tocki koi soodvestvuvaat na podatocite % k : redot na polinomot % Izlez: % C : vektor na koeficienti % Err : Vkupna kvadratna greska % % proveri dali x i y se vektor-koloni ako ne transformiraj gi vo vektor-koloni [nr,nc] = size(y); if nr == y=y'; n=nc; end [mr,mc] = size(x); if mr == x = x'; m = mc;

97 end n = length(y); m = length(x); if m ~= n display(' x i y nemaat ist broj na podatoci'), break end A = zeros(n,k+); % for j = :k+ %2 A(:,j)= x.^(k+-j); %3 end %4 S = A'*A; %5 b = A'*y; %6 C = S\b; %7 Err = norm((y-a*c)); %8 Vo ramkite na for ciklusot ( naredbi 2-4) se generira matricata A. So naredbata 5 se formira matricata A'A a so 6-ta naredba, desnata strana na sistemot isto taka se tranansformira, mno`ej}i ja so A'. Sedmata naredba go koristi vgradeniot operator \ za re{avawe na sistem na linerani ravenki so {to se dobiva re{enieto za nepoznatite koeficienti. Osmata naredba ja presmetuva vkupnata kvadratna gre{ka. primer: >> x =[ ]; >> y =[ ]; >> [C,Err]=polylsq(x,y,) C = Err =.2956 Polinomot od prv red koj vo smisla na najmala vkupna kvadratna gre{ka (Err =.2956 )gi modelira podatocite e: p ( x) =.3929x Ako sakame da koristime polinom od povisok red ( pr. k=2) povikuvaweto na m- funkcijata bi bilo so slednive parametri. >> x =[ ]; >> y =[ ]; >> [C,Err]=polylsq(x,y,2) C = Err =.29 Razlikata e vo toa {to tretiot parametar na m-funkcijata polylsq e 2. Gre{kata e ne{to pomala. Da probame so polinom od tret stepen. >> x =[ ]; >> y =[ ]; >> [C3,Err3]=polylsq(x,y,3) 97

98 C3 = Err3 =.2247 Vo ovoj slu~aj gre{kata Err3 =.2247 e najmala i bi mo`ele da prifatime deka polinomot od tret stepen po kriteriumot na gre{ka e najdobra polinomna regresija. Sekako mo`e da se postavi pra{awe ako nekoj od polinomite so povisok red davaat pomala gre{ka za{to toj polinom ne se zeme? Vsu{nost, izborot na kone~niot polinom vo praksa, ne zavisi samo od vrednosta na gre{kata ve}e e od bitno zna~ewe i negiviot red. Imeno vo gornite primeri razlikata vo gre{kite na polinomite od prv i tret red se nezna~itelni vo odnos na manipulaciite i presmetkite koi treba vo ponatamo{nata analiza da se pravat so polinomite. Sekako deka polinomot od prv red e mnogu poednostaven od polinimot od tret ili povisok red. No vo slu~aj koga taa razlika e zna~itelna toga{ ne treba da se izbegnuva polinom od povisok red. Gornata diskusija mo`e i grafi~ki da se ilustrira. >> x =.:.2:6.2; >> y = polyval(c,x); >> y3 = polyval(c3,x); >> plot(x,y,'o',x,y,'-',x,y3,'--') Na gorniot grafik, kruk~iwata se podatocite, polnata linija e regresijata so polinom od prv red a isprekinatata linija e polinomot od tret red. Jasno se gleda deka i polinomot od prv red zadovolitelno dobro gi aproksimira ( fitira) podatocite. Na kraj da gi proverime na{ite rezultati so vgradenata funkcija polyfit. >> [C,Q] = polyfit(x,y,) >> [C2,Q2] = polyfit(x,y,2) >> [C3,Q3] = polyfit(x,y,3) 98

99 99 C = Q = R: [2x2 double] df: 5 normr:.2956 C2 = Q2 = R: [3x3 double] df: 4 normr:.29 C3 = Q3 = R: [4x4 double] df: 3 normr:.2247 Rezultatite se identi~ni, so toa {to vo slu~ajov gre{kata e ozna~ena so normr. 6.2 Op{ta funkciska regresija Vo prethodniot del kako funkcii so koi se vr{i regresija zemeni se polinomite od k-tiot stepen. No generalno mo`e da se razgleduvaat bilo koi funkcii. Imeno mo`e najop{to da se definira krivata na sledniot na~in. ) (... ) ( ) ( ) ( x q a x q a x q a x f k k k k = pri {to funkciite q k (x) se odbiraat taka da zadovoluvaat dadeni uslovi ili pak ja prezentiraat fizikata na problemot. Ne postoi nekoe pravilo za izbor na funkciite no naj~est kriterium e fizikalniot konteks na problemot kako i iskustvoto. Sega matricata A bi dobila forma. = ) ( ) (. ) ( ) ( ) ( ) (. ) ( ) ( ) ( ) (. ) ( ) ( ) ( ) (. ) ( ) ( ) ( ) (. ) ( ) ( n n n k n k n n n k n k k k k k k k x q x q x q x q x q x q x q x q x q x q x q x q x q x q x q x q x q x q x q x q A Kako naj~esti funkcii koi se koristat, pokraj polinomite, se eksponecijalnite, bidej}i se vo osnova na pogolem broj fizi~ki zakoni. Sistemot, pretstaven so gornata matrica, se u{te e linearen, no ponekoga{ se javuvaat i slu~aevi koga nepoznatite parametri a k, se vo ramkite na samite funkcii q k. Pri takvi regresii stanuva zbor za nelinearen problem na najmali kvadrati ( nonlinear least sqyare NLSQ). No ponekoga{ so odredeni matemati~ki transformacii problemot mo`e da se linearizira. Naprimer dosta ~esto se koristi slednava funkcija za regresija. ) ( ) ( x q a x f = kade bx e x q = ) (

100 kade pokraj koeficientot a nepoznatiot parametar e i b koj e vo ramkite na funkcijata q. No so logaritmirawe na levata i desnata strana problemot mo`e da se linearizira. ln( f ( x)) = ln a + bx ili napi{ano vo prepoznatliva forma: y = c + bx kade y = ln( f ( x)) a c = ln( a ) Problemot e sveden na polinomna regresija od prv red, kade namesto originalnite podatoci se koristi nivniot priroden logaritam. Toa ni ovozmo`uva da ja iskoristime m-funkcijata polylsq. Sledniot primer e ilustracija na prethodniot komentar. >> x = :.:3; >> a = 5.5; >> b=-.2; >> y = a*exp(b*x); >> n=length(y); >> z = rand(,n)-.2; >> y = y+z; >> plot(x,y,'o') Na grafikot se poka`ani simulirani empiriski podatoci. Tie se dobieni koga na teoretskata vrednost na funkcijata y se dodadeni slu~ajni vrednosti pome u -.2 i.2. Niz ovie to~ki treba da se povle~e eksponencijalna kriva y = a*exp(b*x). >> ylg = log(y); >> [C,Err] = polylsq(x,ylg,) >> alg = C(2) >> breg = C() >> areg = exp(alg) >> yteor = areg*exp(breg*x);

101 >> plot(x,y,'o',x,yteor,'-') C = Err = alg =.576 breg = areg = Od presmetkite proizleguva deka parametarot a dobien so regresijata iznesuva a parametarot b e Teoretskite vrednosti se 5.5 i -.2. Na gorniot grafik poka`ani se simuliranite empiriski podatoci i regresionata eksponencijalna kriva pri {to mo`e da se zabele`i deka trendot na podatocite e zadovolitelno "objasnet", so regresionata kriva. 7. DISKRETNA INTERPOLACIJA Vo dosega{nite izlagawa, postapkata na interpolacija i aproksimacija podrazbira{e opredeluvawe na kontinuirani funkcii koi " najdobro", funkcionalno ja pretstavuvaa vrskata pome u zavisnata promenliva ( podatoci ) i nezavisnata promenliva ( merni mesta, to~ki, jazli). No vo osnova za uspe{no ili poto~no ka`ano zadovolitelno modelirawe potrebno e podatocite da poka`uvaat nekoj trend. Statisti~ki ka`ano da postoi odredena korelacija. Samiot trend mo`e da bide skrien vo naizgled haoti~nata distribucijata na podatocite no posle odredena obrabotka na podatocite kako {to se usrednuvawe, otstranuvawe na {umot i t.n trendot jasno da stane vidliv. Kako primer da se navratime na prethodniot grafik. Samite podatoci se haoti~no, slu~ajno, rasfrleni dol` x-oskata, no postoi trend da so rastot na x, vrednosta na podatocite se namaluva, {to sugerira koristewe na eksponencijalna funkcionalna zavisnost.

102 No vo praksa, dosta ~esto, mernite t.e. eksperimentalnite podatoci nemaat nekoj uo~liv trend. Naprimer vo rudarstvoto za analiza na prisustvo na nekoj mineral vo dadeno le`i{te, se vr{at labaratoriski ispituvawa na uzorci dobieni od bu{otini. Bidej}i procesot na dup~ewe e relativno skap, ekonomski ne e isplatlivo da postoi gusta mre`a na dup~ewa na daden prostor, tuku se realiziraat samo odreden optimalen broj na dup~ewa, so ideja prisustvoto na mineralot na mesta kade nema dup~ewe da se oceni vrz baza na informacii dobieni od drugite bu{otini. Zna~i problemot koj treba da se re{i e sledniot: Da se opredeli vrednosta na promenlivata U n vo to~kata M n ako se poznati vrednostite U,U 2,...,U m vo to~kite M,M 2,...,M m. Pri toa to~kite M,M 2,...,M m mo`at da bidat proizvolno rasporedeni. Osnovnata ideja na diskretnata interpolacija se sostoi vo pretpostavkata deka nepoznatata vrednost U n, mo`e da bide oceneta so poznatite vrednosti U,U 2,...,U m pri {to udelot na sekoja to~ka vo procenkata, se namaluva so odale~enosta od to~kata za koja se vr{i procenka. Fizi~kata pozadina na ovaa pretpostavka e o~ekuvaweto deka vrednosta na U n, ne mo`e drasti~no da se razlikuva od vrednostite vo najbliskite to~ki. Sledniot matemati~ki izraz gi zadovoluva pretpostavkite. U n p p p U( ) + U 2 ( ) U m ( ) L, n L2, n Lm, n = (**) p p p ( ) + ( ) ( ) L L L, n 2, n m, n kade : L,n, L 2,n,..,L m,n se rastojanijata na to~kata M n od to~kite M,n, M 2,n,...,M m,n a p e pozitiven broj. Vlijanieto na sekoja to~ka M k,n, generalno zavisi od rastojanieto do to~kata M n. Ako gorniot izraz se napi{e vo forma: U n = U + U 2 ( L + ( L 2, n 2, n / L / L, n, n ) ) p p U ( L m ( L / L m, n m, n /, n ) L, n p ) p toga{, za L,n ->, U n -> U.n. Vo slu~aj koga L,n ne e nula no se u{te ima mala vrednost, t.e to~kata M n e blisku do M,n, vlijanieto na U,n e najgolemo, dodeka vlijanieto na ostanatite to~ki e pomalo i zavisi od vrednosta na izrazot ( ). L k, n / L, n Vrednosta ( ) mo`e da e dovolno mala taka da doprinosot na U k ima L k, n / L, n zanemarlivo zna~ewe. Poradi toa brojot na ~lenovite vo gornite izrazi mo`e da bide ograni~en, t.e. ne e nu`no da se zemat site to~ki a pri toa da se dobie sakanata to~nost. Mno`estvoto na site to~ki ( U, U 2,...,U m ) vo ~ija neposredna okolina se nao a nepoznata to~ka U n, se narekuva mno`estvo na vlijanie odnosno prestavuva zona na vlijanie. Zna~i deka pri ocenka na nepoznatata vrednost ne e nu`no da se zemaat site to~ki vo presmetkite odnosno postoi rastojanie, taka da to~kite so odale~enost pogolema od toa rastojanie ne vlijaat zna~itelno i istite mo`at da ne se vkqu~at vo presmetkite. Takvoto rastojanie se narekuva radijus na vlijanie. Od posebno zna~ewe za opredeluvaweto na radiusot na vlijanie e i brojot p. Na sledniot grafik 2

103 prika`ana e funkcijata,2,...m. L ) p ( za pove}e vrednosti na p, pri {to ( L k, n / L, n ) L =, k = >> L = :.2:; >> p2 = 2; >> p3 = 3; >> y2 = (./L).^p2; >> Y3 = (./L).^p3; >> plot(l,y2,'-',l,y3,'--') Od krafikot jasno se gleda deka za p = 2 ( polna linija ) i za L =, vrednosta na funkcijata /L e pod., dodeka za p = 3 ( isprekinata linija ), toa se slu~uva ve}e za L = 5. Ako se vratime na posledniot izraz za ocenkata na vrednosta U n, p mo`eme da gi otfrlime onie to~ki za koi e ( ) ( k =,2,...,m) e pomalo L k, n / L, n od.. Eksperimentalen primer 22 : Na le`i{teto na kvarcen pesok " Oblaci" vo rudnikot Rogatina napraveni se nekolku dup~ewa i opredeleno e prisustvoto na mineralot SiO 2. Treba da se ocenat vrednostite na meralot vo sekoj blok na le`i{teto ~ii dimenzii se Δx = m i Δy = m. Posle serija na probni istra`uvawa zakqu~eno e deka za radius na vlijanie najsoodvetno e da se zeme R = 7* Δx = 7m. Vo dolnata tabela dadeni se ekperimentalni rezultati vo forma na matrica. Pri toa prvata kolona go sodr`i redniot broj na bu{otinata, vtorata i tretata gi sodr`at x i y koordinatite a vo poslednata, ~etvrtata kolona se procentualnite sodr`ini na SiO 2 vo soodvetniot blok. 22 Primerot e zemen od knigata " Matemati~ko modelirawe na le`i{ta na mineralni surovini" od Slobodan Vuji}, Rudarsko-Geolo{ki Fakultet, Beograd 985,na strana 33. 3

104 Tabela: Elementi na bu{otinite: x i y koordinati i procentualna sodr`ina na SiO2 reden broj na x y SiO2 (%) bu{orina Modelirawe i programirawe na problemot Od gornata tabela proizleguva deka vo sekoja to~ka na rastojanie od metar vo x i y nasoka ne postojat merni podatoci. Toa mo`e ednostavno da se poka`e i na crte`. No pred toa potrebno e da se vnesat podatocite. Vo ovoj primer nie odbravme da podatocite bidat pro~itani kako m-skript datoteka vo koja se napi{ani podatocite vo forma na matrica identi~no kako i gorna tabela. Imeto na m-fajlot e SiO2.m. So naredba: type SiO2.m SiO2 = [ ; ; ; ;5 8 93; ; ;9 4 97; ; ; ; ;

105 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ] se pe~ati sodr`inata na m-skript datotekata SiO2.m. So nea, vsu{nost se definira matricata SiO2 koja gi sodr`i podatocite. Kako {to e ka`ano predhodno, na ovoj na~in e mo`no da se ~itaat pogolem broj na podatoci. Bidej}i datotekata se ~uva vo direktoriumot ( na diskot), nema potreba da pri sekoja nova sesija ili rabota so ovie podatoci sekoga{ odnovo se kucaat podatocite, ve}e so naredbata: SiO2; ednostavno se izvr{uvaat naredbite vo m-skript datotekata i so toa se v~ituva matricata SiO2 vo rabotniot prostor na MatLabot. Isto taka i izmena t.e. dodavawe ili isfrawe na podatoci e poednostavna, {to ni ovozmo`uva brzo i ednostavno presmetuvawe na razni kombinacii. Deka navistina podatocite se v~itani mo`e da proverime so naredbata: size(sio2) 35 4 pri {to se konstatira deka redot na matricata SiO2 e od 35x4, {to odgovara na podatocite. So slednite naredbi, mo`eme ilustrativno da gi prika`eme mestata kade postojat merni podatoci. plot(sio2(:,2),sio2(:,3),'o') axis('ij') grid

106 So naredbata plot, iscrtani se kruk~iwa, na mestata so koordinati x ( vtorata kolona na matricata SiO2(:,2), i y ( tretata kolona na matricata SiO2(:,3)). Naredbata axis('ij') gi opredeluva nasokite na x oskata ( od levo prema desno ) i y oskata ( od gore prema dole). Mo`nostite na plot, axis i drugi naredbi so koi se definira izgledot kako i koi podatoci }e bidat ispe~ateni na grafikonot, se golemi, no sepak ostavame na studentot da sam gi prou~i istite i da go zbogati gorniot grafik so drugi informacii. Od rasporedot na bu{otinite primetno e deka istite ne se postaveni ramnomerno na terenot. Ako sakame da ja procenime vrednosta na SiO 2 vo to~kite na pravilna mre`a so dimenzii 5mx5m, potrebno e da se koristime so metodata na diskretna interpolacija za to~kite kade ne postojat merni podatoci. Za taa cel treba i da se napi{e m-funkcija ( program) so koja }e se presmeta procenetata vrednost primenuvaj}i ja metodata na diskretna inperpolacija t.e. izrazot (**). Najefikasen pristap pri pi{uvawe na programi e da se po~ne od poedina~ni slu~aevi i odkako takov program }e proraboti, postepeno da se obob{tuva. Vo konkretniot primer kako prva zada~a bi bila da se presmeta vrednosta vo samo edna to~ka. Kako vtor ~ekor e definiraweto na vleznite i izleznite promenlivi. Trgnuvaj}i od izrazot (**) proizleguva deka vleznite promenlivi ( podatoci) se koordinatite na bu{otinite i procentualnite vrednosti na SiO 2, a toa e matricata SiO2. Potoa treba da se znaat koordinatite na to~kata ( x) za koja vr{ime procenka. Isto taka potrebni podatoci se radiusot na vlijanie R i parametarot p koj se javuva vo izrazot (**). Kako izlez dovolna e samo edna promenliva i toa procenetata vrednost ( vrd ). Zna~i zaglavieto na funkcijata bi bilo: function vrd = dinter(data,x,r,p) Vo tretiot ~ekor se pi{uva teloto t.e. programata na fukncijata. Samata programa mo`e da e napi{ana na razli~it na~in od razli~ni programeri. Toa najmnogu zavisi od znaeweto na programskiot jazik, iskustvoto, poznavawe na problemot i mo`nostite na smeta~ot. Toa isto taka zavisi i od potrebata za brzina, efikasnost i celta. Taka na primer programot koj podolu e daden ima za cel programski da ja ilustrira metodata na diskretna interpolacija kako i mo`nostite na Matlabot. Glavnata cel ne e da istiot bide brz i efikasen t.e. da najde nekoja pogolema primena iako istiot mo`e da se iskoristi vo ramkite na re{avawe na pogolemi problemi. Onoa {to im e zaedni~ko na site programi e da presmetat to~ni rezultati. Eden od mo`nata realizacija na programot ( funkcijata ) za diskretna interpolacija daden e podolu. Nie istiot program }e go proanalizirame red po red so cel da gi istakneme svojstvata na MatLabot koi ne postojat kaj drugite programski jazici a ja zgolemuvaat efikasnosta i ednostavnosta pri programiraweto. function vrd = dinter(data,x,r,p) % % Diskretna interpolacija % Velez: % Data : empiriski podatoci % x : tocka za koja se vrsi procenka % R : radius na vlijanie % p : stepen na interpolacija % Izlez: % vrd : presmetana vrednost na interpolacija vo tockata x % x=data(:,2)- x(); % y = Data(:,3)-x(2); ` %2 val = Data(:,4); %3 dist = sqrt(x.^2+y.^2); %4 %

107 % najdi dali tockata x se poklopuva so mernite tocki % elem_zero = find(dist == ); %5 if(length(elem_zero) ~= ) %6 vrd = val(elem_zero); %7 break %8 end %9 % Less_then_R = find( dist <= R); % dist = dist(less_then_r); % val = val(less_then_r); %2 v = (./dist).^p; %3 vrd = sum(val.*v)/sum(v); %4 % kraj na funkcijata za diskretna interpolacija So prvite tri naredbi 2-ta, 3-ta i 4-ta kolona na vleznata matrica se prepi{uvaat vo posebni vektor koloni x, y i val, pri {to od koordinatite na mernite to~ki se odzemaat koordinatite na to~kata za procenka za da mo`e podocna da se presmeta rastojanieto. Pri toa se koristi mo`nosta na MatLabot za vektorski presmetki. Vo drugite klasi~ni jazici ovie presmetki bi se realizirale koristej}i for ili do ciklusi. Istiot pristap mo`no e da se realizira i vo MatLabot so slednive naredbi: [n,m] = size(data); for i = :n x(i) = Data(i,2)-x(); y(i) = Data(i,3)-x(2); val(i) = Data(i,4); end Istiot slu~aj se javuva i vo 4-tata naredba. Povtorno ako se koristi klasi~en pristap so ciklusi naredbite koi bi ja vr{ile istata presmetka bi bile: for i = :n dist(i) = sqrt( x(i)^2+y(i)^2); end Od gornite naredbi se gleda deka dist e vektor-kolona ~ii elementi se rastojanijata do -ta, 2-ta,..., n-tata merna to~ka. Ovoj fakt mo`ebi nee tolku uo~liv vo vektorska notacija no so vreme i podolgo iskustvo so programiraweto studentite }e se steknat so toa soznanie. So naredbite 5, 6, 7, 8 i 9 se vr{i kontrola dali nepoznata to~ka x se poklopuva so nekoja merna to~ka? Vo takov slu~aj edno od rastojanijata e nula pa podocna nema da mo`e da se deli vo soglasnost so izrazot (**). Za taa cel, koga nepoznata to~ka se poklopuva so edna od mernite to~ki, vrednosta na SiO 2 direktno se prepi{uva kako vrednsot na to~kata. Programski toa e realizirano so koristewe na naredbata find(dist== ), koja kako rezultat gi dava mestata na vektorot dist ~ii vrednsoti se nula. Indeksite na tie mesta se pametat vo promenlivata elem_zero. Ako dol`inata t.e. brojot na elementite na vektorot elem_zero ne e nula ( naredba 6 ) toa zna~i deka nepoznata to~ka se poklopuva so edna od mernite to~ki, toga{ kako vrednost na procentot na SiO 2 vo to~kata x se zema vrednosta na mernata to~ka so koja se poklopuva ( naredba 7), i programot tuka zavr`uva ( naredbata break ). Kako i porano i ovoj del na programot mo`e da se napi{e so koristewe na ciklusi. for i = :n if(dist(i) ~= ) vrd = val(i) break end 7

108 end So naredbata, se opredeluvaat onie to~ki koi imaat rastojanie pomalo od radiusot na vlijanie R. Ideksite na tie to~ki se pamentat vo promenivata vektorkolona Less_then_r. Ovoj vektor se koristi vo naredbite i 2 za da se rearan`iraat vektorite dist i val na na~in da vektorite gi sodr`at samo to~kite koi se vo ramkite na redijusot na vlijanie. Povtorno, ako se koristat ciklusi programot bi bil: k = ; for i=:n if (dist(i) <= R) dist(k) = dist(i); val(k) = val(i); k = k+; end end Na kraj se naredbite 3 i 4 se vr{at kone~nite presmetki. So naredbata 4 se p presmetuva ili programira izrazot ( ), za sekoja to~ka a so naredbata 5 se L m, n presmetuva kone~nata vrednost vrd, vo soglasnot so izrazot. U n U( ) L, n = ( L p, n + U 2 ( ) L2, n p p ) + ( ) L 2, n p U m ( L m, n ( L ) m, n p ) p I ove dve naredbi mo`at da se reliziraat so ciklusi. n = length(x); sum =.; sum2 = ; for i=:n dst =dist(i); dst = (/dst)^p; sum = sum +val(i)*dst; sum2 = sum2 = dst; end vrd = sum/sum2; Zavr{uvaj}i ja ovaa analiza, im se prepora~uva na studentite vnimatelno i nekolku pati da go proanaliziraat programot so toa {to }e formirat nova m- funkcijska datoteka koja koristi ciklusi, koristej}i gi pogore napi{anite segementi, i potoa da gi sporedat dvete verzii na funkcii. Vo sekoj slu~aj onoa {to mo`e da se vidi na prv pogled e daleku pogolem broj na naredbi koristej}i ciklusi od kolku vo slu~aj koga se koristat mo`nostite i specifi~nostite na samiot MatLab. Sega, otkako ja imame funkcijata dinter mo`eme da ja iskoristime za presmetka na procentualna zastapenost na SiO2 vo edna to~ka. >> x = [ 23 3 ]; >> R = 7; >> p = 2; >> SiO2; >> vrd = dinter(sio2,x,r,p) vrd =

109 >> p=3; >> vrd = dinter(sio2,x,r,p) vrd = >> x = [7 2]; >> vrd = dinter(sio2,x,r,p) vrd = Sledniot ~ekor e pi{uvawe na m-skript datoteka so koja automatski }e se presmetaat vrednostite vo to~kite na zadadena mre`a. m-skript: diskret_tst.m x = :5; y = :5; n = length(x); A = zeros(n,n); for i = :n x() = x(i); for j = :n x(2) = y(j); A(i,j) = dinter(sio2,x,r,p); end end So datotekata diskret_tst.m se definiraat x i y koordinati na to~kite za koi sakame da ja procenime vrednosta na SiO 2. Rezultatite se pomnat vo matricata A otkako vrednostite }e se presmetaat so m-funkcijata dinter. Slednive naredbi poka`uvaat kako da se koristi diskret_tst.m. >> SiO2; % se citaat podatocite >> R = 7; %se definira radiusot na vlijanie >> p = 3; %se definira parametarot p >> diskret_tst % se povikuva diskret_tst skript fajlot za presmetka Studentite mo`at da ja ispe~atat matricata A, za da se uverat deka istata e presmetana i se nao a vo rabotniot prostor. No bidej}i istata e od red 5x5 nie tuka samo }e go proverime nejziniot red, kako i vrednosta na to~kata so koordinati ( 8,8), koja iznesuva 94.3 bidej}i taa to~ka e i vlezen podatok. >> size(a), A(8,8) No zatoa mo`eme da gi iscrtame konturite na vrednostite na SiO 2. >> lb = 86:98; >> cs= contour(a,lb); >> clabel(cs,lb) 9

110 So naredbata lb = 86:98, se formira vektor na vrednostite na konturnite linii. naredbata cs= contour(a,lb)gi presmetuva to~kite koi le`at na ista kontura definirani so vektorot lb i pri toa gi iscrtuva. So naredbata clabel(cs,lb)se numeriraat t.e. odbele`uvaat konturite. Rezultatot e prika`an na slikata Na studentite im se prepora~uva da probaat pove}e kombinacii na R i p i da go analiziraat nivnoto vlijanie na kone~niot rezultat. Druga mo`nost so koja raspolaga MatLabot e tridimenzionalna prezentacija na matricata A kako povr{ina vo prostor. >> mesh(x,y,a)

111 Na kraj }e ja obop{time m-funkcijata dinter so toa {to za izlez }e se dobie matricata na procenetite vrednosti t.e. na diskretnata interpolacija. datoteka: dinter_mat function S = dinter_mat(data,x,r,p) % % Diskretna interpolacija % Velez: % Data : empiriski podatoci % x : tocka za koja se vrsi procenka % R : radius na vlijanie % p : stepen na interpolacija % Izlez: % S : NxN matrica na presmetana vrednost na interpolacija % vo tockite opredeleni so Nx2 matricata x, kade prvata kolona % gi sodrzi x-koordinatite a 2-ta kolona y-koordinatite % [n,m] = size(x); n = max(n,m); S = zeros(n,n); for i = :n x = x(i,); for j = :n y = x(j,2); x = Data(:,2)- x; y = Data(:,3)- y; val = Data(:,4); dist = sqrt(x.^2+y.^2); % % najdi dali tockata x se poklopuva so mernite tocki % elem_zero = find(dist == ); if(length(elem_zero) ~= ) vrd = val(elem_zero); S(i,j) = vrd; else % Less_then_R = find( dist <= R); dist = dist(less_then_r); val = val(less_then_r); v = (./dist).^p; vrd = sum(val.*v)/sum(v); S(i,j) = vrd; end end end % kraj na funkcijata za diskretna interpolacija Koristeweto na funkcijata mo`e da bide na sledniot na~in. >> SiO2; % se citaat podatocite >> R = 7; %se definira radiusot na vlijanie >> p = 3; %se definira parametarot p >> x = :5;y = :5; % se definiraat x i y kordinati >> x = [x',y']; % se opredeluva x matricata >> S = dinter_mat(sio2,x,r,p);

112 Proverka na rezultatite kako i sporedba so prethodnite rezultati mo`no e da se napravi grafi~ki. >> lb = 86:98; >> cs= contour(s,lb); >> clabel(cs,lb) >> mesh(x,y,s) Sporedba na soodvetnite sliki za matricata A, presmetana so skript datoteka diskret_tst i matricata S, presmetana so funkcijata dinter_mat poka`uva deka rezultatite se identi~ni. I tie mora da se identi~ni. 2

EGZISTENCIJA I KONSTRUKCIJA NA POLINOMNO RE[ENIE NA EDNA PODKLASA LINEARNI HOMOGENI DIFERENCIJALNI RAVENKI OD VTOR RED

EGZISTENCIJA I KONSTRUKCIJA NA POLINOMNO RE[ENIE NA EDNA PODKLASA LINEARNI HOMOGENI DIFERENCIJALNI RAVENKI OD VTOR RED 8 MSDR 004, (33-38) Zbonik na tudovi ISBN 9989 630 49 6 30.09.- 03.0.004 god. COBISS.MK ID 6903 Ohid, Makedonija EGZISTENCIJA I KONSTRUKCIJA NA POLINOMNO RE[ENIE NA EDNA PODKLASA LINEARNI HOMOGENI DIFERENCIJALNI

Διαβάστε περισσότερα

Doma{na rabota broj 1 po Sistemi i upravuvawe

Doma{na rabota broj 1 po Sistemi i upravuvawe Doma{na rabota broj po Sistemi i upravuvawe. Da se nacrta blok dijagram na sistem za avtomatska regulacija na temperaturata vo zatvorena prostorija i pritoa da se identifikuvaat elementite na sistemot,

Διαβάστε περισσότερα

Решенија на задачите за основно училиште. REGIONALEN NATPREVAR PO FIZIKA ZA U^ENICITE OD OSNOVNITE U^ILI[TA VO REPUBLIKA MAKEDONIJA 25 april 2009

Решенија на задачите за основно училиште. REGIONALEN NATPREVAR PO FIZIKA ZA U^ENICITE OD OSNOVNITE U^ILI[TA VO REPUBLIKA MAKEDONIJA 25 april 2009 EGIONALEN NATPEVA PO FIZIKA ZA U^ENICITE OD OSNOVNITE U^ILI[TA VO EPUBLIKA MAKEDONIJA 5 april 9 Zada~a Na slikata e prika`an grafikot na proena na brzinata na dvi`eweto na eden avtoobil so tekot na vreeto

Διαβάστε περισσότερα

Teoretski osnovi i matemati~ka metodologija za globalna analiza na prostorni liniski sistemi

Teoretski osnovi i matemati~ka metodologija za globalna analiza na prostorni liniski sistemi Teoretski osnovi i matemati~ka metodologija za globalna analiza na... UDK 6.879 Elizabeta HRISTOVSKA Teoretski osnovi i matemati~ka metodologija za globalna analiza na prostorni liniski sistemi APSTRAKT

Διαβάστε περισσότερα

Drag u~eniku! Ovaa kniga }e ti pomogne da gi izu~i{ predvidenite sodr`ini za VIII oddelenie. ]e u~i{ novi interesni sodr`ini za sli~nost na figuri. ]e

Drag u~eniku! Ovaa kniga }e ti pomogne da gi izu~i{ predvidenite sodr`ini za VIII oddelenie. ]e u~i{ novi interesni sodr`ini za sli~nost na figuri. ]e JOVO STEANOVSKI NAUM CELAKOSKI 00 Skopje Drag u~eniku! Ovaa kniga }e ti pomogne da gi izu~i{ predvidenite sodr`ini za VIII oddelenie. ]e u~i{ novi interesni sodr`ini za sli~nost na figuri. ]e nau~i{ tehniki

Διαβάστε περισσότερα

VOLUMEN I PLO[TINA KAKO BROJNI KARAKTERISTIKI NA n - DIMENZIONALNA TOPKA

VOLUMEN I PLO[TINA KAKO BROJNI KARAKTERISTIKI NA n - DIMENZIONALNA TOPKA VOLUMEN I PLO[TINA KAKO BROJNI KARAKTERISTIKI NA - DIMENZIONALNA TOPKA Vo ovaa tema geealo }e bidat obabotei sledite poimi: - vekto, adius vekto, dimezija - dol`ia, astojaie, dimezioala topka - volume

Διαβάστε περισσότερα

MATEMATIKA PROEKTNA ZADAЧA IZVE[TAJ OD EMPIRISKO

MATEMATIKA PROEKTNA ZADAЧA IZVE[TAJ OD EMPIRISKO MATEMATIKA PROEKTNA ZADAЧA IZVE[TAJ OD EMPIRISKO ISTRA@UVAWE Mentorot prof. Nata{a Popovski ja slede{e rabotata na kandidatot Ana Pepequgoska vo tekot na nejzinata podgotovka vodej}i smetka za: - samostojnosta

Διαβάστε περισσότερα

UNIVERZITET "SV. KIRIL I METODIJ" PRIRODNO-MATEMATI^KI FAKULTET INSTITUT ZA INFORMATIKA S K O P J E

UNIVERZITET SV. KIRIL I METODIJ PRIRODNO-MATEMATI^KI FAKULTET INSTITUT ZA INFORMATIKA S K O P J E UNIVERZITET "SV. KIRIL I METODIJ" PRIRODNO-MATEMATI^KI FAKULTET INSTITUT ZA INFORMATIKA S K O P J E D-r Biqana Janeva VOVED VO TEORIJATA NA MNO@ESTVATA I MATEMATI^KATA LOGIKA Skopje 2001 PREDGOVOR U~ebnikot

Διαβάστε περισσότερα

МЕХАНИКА НА ФЛУИДИ (AFI, TI, EE)

МЕХАНИКА НА ФЛУИДИ (AFI, TI, EE) Zada~i za program 2 po predmetot МЕХАНИКА НА ФЛУИДИ (AFI, TI, EE) Предметен наставник: Проф. д-р Методија Мирчевски Асистент: Виктор Илиев (rok za predavawe na programot - 07. i 08. maj 2010) (во термини

Διαβάστε περισσότερα

Εισαγωγή στη Γεώργιος Γεωργίου & Χρίστος Ξενοφώντος

Εισαγωγή στη Γεώργιος Γεωργίου & Χρίστος Ξενοφώντος Εισαγωγή στη Γεώργιος Γεωργίου & Χρίστος Ξενοφώντος Τμήμα Μαθηματικών και Στατιστικής Πανεπιστήμιο Κύπρου Μάϊος 7 . ΕΙΣΑΓΩΓΗ Το MATLAB είναι ένα σύγχρονο ολοκληρωμένο μαθηματικό λογισμικό πακέτο που χρησιμοποιείται

Διαβάστε περισσότερα

UNIVERZITET SV. KIRIL I METODIJ SKOPJE Prirodno-matematiqki Fakultet Institut za matematika

UNIVERZITET SV. KIRIL I METODIJ SKOPJE Prirodno-matematiqki Fakultet Institut za matematika UNIVERZITET SV. KIRIL I METODIJ SKOPJE Prirodno-matematiqki Fakultet Institut za matematika OSNOVI NA STATISTIKA PredavaƬa Skopje, 2013 Sodrжina 1 Elementi od teorija na verojatnost 3 1.1 Sluqajni promenlivi............................

Διαβάστε περισσότερα

Rabotna tetratka po MATEMATIKA za VII oddelenie

Rabotna tetratka po MATEMATIKA za VII oddelenie Rabotna tetratka po MATEMATIKA za VII oddelenie PREDGOVOR Pri izu~uvaweto na matematikata vo VII oddelenie ti pomaga u~ebnikot po matematika od koj mo`e{ da razbere{ i nau~i{ mnogu novi poimi, kako i

Διαβάστε περισσότερα

PRIRODNO-MATEMATI^KI FAKULTET PRIEMEN ISPIT PO HEMIJA studii po biologija I grupa

PRIRODNO-MATEMATI^KI FAKULTET PRIEMEN ISPIT PO HEMIJA studii po biologija I grupa juli 2000 godina PRIRDN-MATEMATI^KI FAKULTET PRIEMEN ISPIT P EMIJA studii po biologija I grupa 1. Formulata na amonium hidrogenfosfat e: a) N 4 2 P 4 b) (N 4 ) 2 P 4 v) (N 4 ) 2 P 3 g) N 4 P 4 2. Soedinenieto

Διαβάστε περισσότερα

UNIVERZITET SV. KIRIL I METODIJ - SKOPJE Prirodno-matematiqki fakultet. Dragan Dimitrovski, Vesna Manova-Erakoviḱ, Ǵorǵi Markoski

UNIVERZITET SV. KIRIL I METODIJ - SKOPJE Prirodno-matematiqki fakultet. Dragan Dimitrovski, Vesna Manova-Erakoviḱ, Ǵorǵi Markoski UNIVERZITET SV. KIRIL I METODIJ - SKOPJE Prirodno-matematiqki fakultet Dragan Dimitrovski, Vesna Manova-Erakoviḱ, Ǵorǵi Markoski MATEMATIKA I (ZA STUDENTITE PO BIOLOGIJA) Skopje, 2015 PREDGOVOR Ovaa kniga,

Διαβάστε περισσότερα

9. STATIKA NA RAMNINSKI NOSA^I

9. STATIKA NA RAMNINSKI NOSA^I 9. STATIKA NA RAMNINSKI NOSA^I Vo ovoj del prezentirani se osnovite na grafostatikata. Grafostatikata ja izu~uva ramnote`ata na nosa~ite. Vo ovaa oblast po grafi~ki pat, preku dijagrami, se pretstavuva

Διαβάστε περισσότερα

Voved vo matematika za inжeneri

Voved vo matematika za inжeneri Univerzitet,,Sv. Kiril i Metodij, Skopje Fakultet za elektrotehnika i informaciski tehnologii Sonja Gegovska-Zajkova, Katerina Ha i-velkova Saneva, Elena Ha ieva, Marija Kujum ieva-nikoloska, Aneta Buqkovska,

Διαβάστε περισσότερα

V E R O J A T N O S T

V E R O J A T N O S T VERICA D. BAKEVA V E R O J A T N O S T Skopje, 2016 godina Republika Makedonija Recenzenti: d-r Magdalena Georgieva redoven profesor(vo penzija) Prirodno-matematiqki fakultet Univerzitet Sv.Kiril i Metodij

Διαβάστε περισσότερα

a) diamminsrebro hlorid b) srebrodimmin hlorid v) monohlorodiammin srebrid g) diamminohloro argentit

a) diamminsrebro hlorid b) srebrodimmin hlorid v) monohlorodiammin srebrid g) diamminohloro argentit PRIRDN-MATEMATI^KI FAKULTET PRIEMEN ISPIT P HEMIJA studii po biologija-hemija juli 2000 godina I grupa 1. Formulata na amonium hidrogenfosfat e: a) NH 4 H 2 P 3 b) (NH 4 ) 2 HP 4 v) (NH 4 ) 2 HP 3 g) NH

Διαβάστε περισσότερα

Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava ( Sl. vesnik na RM br. 58/00, 44/02 i 82/08) i ~len

Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava ( Sl. vesnik na RM br. 58/00, 44/02 i 82/08) i ~len Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava ( Sl. vesnik na RM br. 58/00, 44/02 i 82/08) i ~len 25 od Zakonot za osnovno obrazovanie ( Sl. vesnik na

Διαβάστε περισσότερα

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

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda

Διαβάστε περισσότερα

Σύστηµα επεξεργασίας πινάκων και συναρτήσεων τους για εφαρµογές αριθµητικής ανάλυσης και γραφικής παρουσίασης.

Σύστηµα επεξεργασίας πινάκων και συναρτήσεων τους για εφαρµογές αριθµητικής ανάλυσης και γραφικής παρουσίασης. MATLAB 1 MATLAB (MATrix LABoratory) Σύστηµα επεξεργασίας πινάκων και συναρτήσεων τους για εφαρµογές αριθµητικής ανάλυσης και γραφικής παρουσίασης. ηµιουργήθηκε απο τον C. Moler, αρχικά σαν εργαλείο διαχείρισης

Διαβάστε περισσότερα

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju

Διαβάστε περισσότερα

PRAKTIKUM. za laboratoriski ve`bi po fizika 1

PRAKTIKUM. za laboratoriski ve`bi po fizika 1 TEHNOLO[KO-METALUR[KI FAKULTET SKOPJE PRAKTIKUM za laboratoriski ve`bi po fizika -za interna upotreba- Skopje, 0 PREDGOVOR Laboratoriskata fizika e nerazdelen del od kursot po fizika koj go izu~uvaat studentite

Διαβάστε περισσότερα

Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava (,,Slu`ben vesnik na Republika Makedonija br.

Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava (,,Slu`ben vesnik na Republika Makedonija br. Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava (,,Slu`ben vesnik na Republika Makedonija br. 58/00, 44/02 i 82/08) i ~len 25 stav 2 od Zakonot za osnovno

Διαβάστε περισσότερα

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

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe

Διαβάστε περισσότερα

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ-ΓΛΩΣΣΑ C ΑΤΕΙ (ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΤΑ ΠΑΡΑΚΑΤΩ ΜΕ ΧΡΗΣΗ ΤΟΥ LCC COMPILER)

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ-ΓΛΩΣΣΑ C ΑΤΕΙ (ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΤΑ ΠΑΡΑΚΑΤΩ ΜΕ ΧΡΗΣΗ ΤΟΥ LCC COMPILER) ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ-ΓΛΩΣΣΑ C ΑΤΕΙ (ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΤΑ ΠΑΡΑΚΑΤΩ ΜΕ ΧΡΗΣΗ ΤΟΥ LCC COMPILER) 1. Να γραφεί πρόγραµµα το οποίο να αναγνωρίζει αν κάποιος χαρακτήρας είναι ψηφίο, κεφαλαίο γράµµα ή

Διαβάστε περισσότερα

Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava ( Sl. vesnik na RM br. 58/00 i 44/02) i ~len 24 i 26

Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava ( Sl. vesnik na RM br. 58/00 i 44/02) i ~len 24 i 26 Vrz osnova na ~len 55 stav 1 od Zakonot za organizacija i rabota na organite na dr`avnata uprava ( Sl. vesnik na RM br. 58/00 i 44/02) i ~len 24 i 26 od Zakonot za osnovno obrazovanie ( Sl. vesnik na RM

Διαβάστε περισσότερα

Operacije s matricama

Operacije s matricama Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M

Διαβάστε περισσότερα

5. Vrski so navoj navojni parovi

5. Vrski so navoj navojni parovi 65 5. Vrski so navoj navojni parovi 5.1 Vrski kaj ma{inskite delovi op{to Za da mo`e edna ma{ina pravilno da funkcionira i uspe{no da ja izvr{uva rabotata i funkcijata {to ja zamislil nejziniot konstruktor,

Διαβάστε περισσότερα

MIKROPROCESORSKA INSTRUMENTACIJA

MIKROPROCESORSKA INSTRUMENTACIJA MIKROPROCESORSKA INSTRUMENTACIJA M-r. Petre Risteski dipl.el.in`. S O D R @ I N A 1. Voved... 3 1.1. Zada~a na elektri~nite merewa... 3 1.2. Klasifikacija na mernite metodi... 3 1.3. Gre[ki pri mereweto...

Διαβάστε περισσότερα

Dragoslav A. Raji~i}

Dragoslav A. Raji~i} Dragoslav A. Raji~i} ELEKTRI^NO OSVETLENIE ELEKTROTEHNI^KI FAKULTET - SKOPJE Dragoslav A. Raji~i} ELEKTRI^NO OSVETLENIE ELEKTROTEHNI^KI FAKULTET - SKOPJE SKOPJE, 1993 Recenzenti: Prof. Dimitar Gr~ev Prof.

Διαβάστε περισσότερα

JOVO STEFANOVSKI NAUM CELAKOSKI

JOVO STEFANOVSKI NAUM CELAKOSKI JOVO STEFNOVSKI NUM CELKOSKI DEVETGODI[NO OSNOVNO ORZOVNIE Skopje, 011 Drag u~eniku! Ti si ve}e vo {esto oddelenie i si navlezen vo tajnite na matematikata. So matematikata se sre}ava{ sekojdnevno: na

Διαβάστε περισσότερα

Dinamika na konstrukciite 1

Dinamika na konstrukciite 1 Dinamika na konstrukciite 1 2 TEORIJA NA BRANOVI 2.1 OSNOVNI POIMI Bran e periodi~na deformacija koja se [iri vo prostorot i vremeto. Branovite niz prostorot prenesuvaat energija bez protok na ~esti~ki

Διαβάστε περισσότερα

V. GEROV HIDRAULI^NI TURBINI

V. GEROV HIDRAULI^NI TURBINI V. GEROV HIDRAULI^NI TURBINI SODR@INA GLAVA KLASIFIKACIJA I NORMALIZACIJA NA TIPOVITE NA HIDRAULI^NI TURBINI GLAVA KONSTRUKTIVNA FORMA NA LOPATKITE NA FRANCIS TURBINA 0 GLAVA 3 REAKCISKI RABOTNI KOLA 3..

Διαβάστε περισσότερα

APROKSIMACIJA FUNKCIJA

APROKSIMACIJA FUNKCIJA APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu

Διαβάστε περισσότερα

bits and bytes q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων

bits and bytes q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων bits and bytes ΦΥΣ 145 - Διαλ.02 1 q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων q Η μνήμη χωρίζεται σε words και κάθε word περιέχει τμήμα πληροφορίας q Ο αριθμός των words σε μια

Διαβάστε περισσότερα

III VEŽBA: FURIJEOVI REDOVI

III VEŽBA: FURIJEOVI REDOVI III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΠΙΣΤΗΜΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΜΟΥΣ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΠΙΣΤΗΜΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΜΟΥΣ Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΠΙΣΤΗΜΟΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΜΟΥΣ Βασικές Έννοιες και Μαθηματικές Συναρτήσεις Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD MATLAB Προέρχεται από

Διαβάστε περισσότερα

1 Πίνακες και διανύσματα στο MATLAB

1 Πίνακες και διανύσματα στο MATLAB 1 Πίνακες και διανύσματα στο MATLAB Η λέξη MATLAB προέρχεται από τα πρώτα γράμματα των λέξεων MATrix LABoratory (εργαστήριο πινάκων). Το όνομά του λογισμικού φανερώνει την έμφαση που έδωσαν οι συγγραφείς

Διαβάστε περισσότερα

Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του.

Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του. MATrix LABoratory Ηβασική δοµή δεδοµένων είναι ο πίνακας που δεν χρειάζεται να οριστεί η διάσταση του. Τι είναι το MATLAB ; Μια γλώσσα υψηλού επιπέδου η οποία είναι χρήσιµη για τεχνικούς υπολογισµούς.

Διαβάστε περισσότερα

STRUJNOTEHNI^KI MEREWA I INSTRUMENTI

STRUJNOTEHNI^KI MEREWA I INSTRUMENTI UNIVERZITET "Sv. KIRIL I METODIJ" MA[INSKI FAKULTET Prof. D-r Aleksandar Tode No{pal STRUJNOTEHNI^KI MEREWA I INSTRUMENTI dopolneto izdanie na knigata od 1995 SKOPJE 004 Recenzenti: Prof d-r Tomislav Bundalevski

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής Εισαγωγή στη Matlab Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής email: dzavanti@cs.uoi.gr Περιεχόμενα Τι είναι η Matlab; Ιστορικά Χρήσεις και στοιχεία της Matlab

Διαβάστε περισσότερα

Σηµειώσεις MATLAB. Μιχάλης ρακόπουλος. Υπολογιστική Επιστήµη & Τεχνολογία, #01

Σηµειώσεις MATLAB. Μιχάλης ρακόπουλος. Υπολογιστική Επιστήµη & Τεχνολογία, #01 Σηµειώσεις MATLAB Μιχάλης ρακόπουλος Υπολογιστική Επιστήµη & Τεχνολογία, #01 1 MATLAB (MATrix LABoratory) Σύστηµα επεξεργασίας πινάκων και συναρτήσεων τους για εφαρµογές αριθµητικής ανάλυσης και γραφικής

Διαβάστε περισσότερα

18. listopada listopada / 13

18. listopada listopada / 13 18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu

Διαβάστε περισσότερα

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής με εφαρμογές στη Βιοϊατρική Εργαστήριο Μαθηματικής Ανάλυσης Ι Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις Εισαγωγή στη

Διαβάστε περισσότερα

Inverse trigonometric functions & General Solution of Trigonometric Equations. ------------------ ----------------------------- -----------------

Inverse trigonometric functions & General Solution of Trigonometric Equations. ------------------ ----------------------------- ----------------- Inverse trigonometric functions & General Solution of Trigonometric Equations. 1. Sin ( ) = a) b) c) d) Ans b. Solution : Method 1. Ans a: 17 > 1 a) is rejected. w.k.t Sin ( sin ) = d is rejected. If sin

Διαβάστε περισσότερα

Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ MATLAB

Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ MATLAB Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΤΟΥ MATLAB (το παρόν αποτελεί τροποποιηµένη έκδοση του οµόνυµου εγχειριδίου του κ. Ν. Μαργαρη) 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ 1.1 ΠΡΑΞΕΙΣ ΜΕ ΠΡΑΓΜΑΤΙΚΟΥΣ ΑΡΙΘΜΟΥΣ 1.1.1 ΠΡΟΣΘΕΣΗ» 3+5 8 % Το σύµβολο

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 11: MATLAB

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 11: MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 11: MATLAB Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών MATLAB 61 MATLAB (MATrix LABoratory) Σύστηµα επεξεργασίας πινάκων και συναρτήσεων τους για εφαρµογές αριθµητικής

Διαβάστε περισσότερα

UNIVERZITET SV. KIRIL I METODIJ MAXINSKI FAKULTET - SKOPJE. ZBIRKA ZADAQI po VEROJATNOST i STATISTIKA. Nikola Tuneski

UNIVERZITET SV. KIRIL I METODIJ MAXINSKI FAKULTET - SKOPJE. ZBIRKA ZADAQI po VEROJATNOST i STATISTIKA. Nikola Tuneski UNIVERZITET SV. KIRIL I METODIJ MAXINSKI FAKULTET - SKOPJE ZBIRKA ZADAQI po VEROJATNOST i STATISTIKA Nikola Tuneski SODRЖINA Predgovor................................ v I VEROJATNOST 1 1 SLUQAJNI NASTANI

Διαβάστε περισσότερα

12.6 Veri`ni prenosnici 363

12.6 Veri`ni prenosnici 363 12.6 Veri`ni renosnici 363 12.6 Veri`ni renosnici Veri`nite renosnici sa aat vo gruata osredni a~esti renosnici, {to vrte`niot moment od ednoto na drugoto vratilo go renesuvaat osredno so omo{ na veriga.

Διαβάστε περισσότερα

ТРЕТО СОВЕТУВАЊЕ Охрид 3 6 октомври 2001

ТРЕТО СОВЕТУВАЊЕ Охрид 3 6 октомври 2001 ТРЕТО СОВЕТУВАЊЕ Охрид 3 6 октомври 2001 Gordana Trajkovska,dipl.ma{.ing.AD FK Negotino,Negotino Julijana Lazarova,dipl.met.ing.AD FK Negotino,Negotino ANALIZA NA NOSE^KO JA@E VO NN SKS OD TIP X00/0 0.6/1

Διαβάστε περισσότερα

1 η Εργαστηριακή Άσκηση Εισαγωγή στο MATLAB

1 η Εργαστηριακή Άσκηση Εισαγωγή στο MATLAB Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής & Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Εργαστήριο Τηλεπικοινωνιακών Συστημάτων 1 η Εργαστηριακή Άσκηση Εισαγωγή στο MATLAB Μάθημα: Εισαγωγή στις Τηλεπικοινωνίες

Διαβάστε περισσότερα

OSNOVI NA TEHNIKA 1

OSNOVI NA TEHNIKA 1 Univerzitet,,Sv. Kiril i Metodij Tehnolo{ko-metalur{ki fakultet, Skopje OSNOVI NA IN@ENERSKA TEHNIKA 1 D-r Irena Mickova Izdava~: Univerzitet,,Sv. Kiril i Metodij vo Skopje Avtor: Prof. D-r Irena Mickova

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 5 ο : MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα

Ispitivanje toka i skiciranje grafika funkcija

Ispitivanje toka i skiciranje grafika funkcija Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3

Διαβάστε περισσότερα

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =

Διαβάστε περισσότερα

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης

Διαβάστε περισσότερα

Osnovi na ma{inskata obrabotka

Osnovi na ma{inskata obrabotka Osnovi na ma{inska obrabotka Poim za proizvodni i Osnovi na ma{inskata obrabotka Metodi na obrabotka: Obrabotka so simuvawe na materijal (obrabotka so re`ewe) Obrabotka so plasti~na deformacija Nekonvencionalni

Διαβάστε περισσότερα

αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C)

αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C) 1 Τι είναι το Matlab? Το Matlab (MATrix LABoratory) είναι ένα interactive σύστηµα για: αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C) γρήγορη ανάπτυξη και έλεγχο αλγορίθµων,

Διαβάστε περισσότερα

αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C)

αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C) 2 Τι είναι το Matlab? Το Matlab (MATrix LABoratory) είναι ένα interactive σύστηµα για: αριθµητικούς υπολογισµούς, δίχως προγραµµατισµό σε συµβατικές γλώσσες (Fortran, C) γρήγορη ανάπτυξη και έλεγχο αλγορίθµων,

Διαβάστε περισσότερα

Χρονικές σειρές 2 o μάθημα: Εισαγωγή στη MATLAB

Χρονικές σειρές 2 o μάθημα: Εισαγωγή στη MATLAB Χρονικές σειρές 2 o μάθημα: Εισαγωγή στη MATLAB Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο

Διαβάστε περισσότερα

4. Εισαγωγή στο Matlab

4. Εισαγωγή στο Matlab ΠΠΜ 500: Εφαρμογές Μηχανικής με Ανάπτυξη Λογισμικού 4. Εισαγωγή στο Matlab Εαρινό εξάμηνο 2006 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www. www.eng. eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στο Matlab

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

MODULACIONI TEHNIKI ZA NAPONSKI INVERTER VO INDUSTRISKI APLIKACII

MODULACIONI TEHNIKI ZA NAPONSKI INVERTER VO INDUSTRISKI APLIKACII ПЕТТО СОВЕТУВАЊЕ Охрид, 7 9 октомври 2007 Goran Rafajlovski Fakultet za Elektrotehnika i informaciski tehnologii - Skopje MODLACIONI EHNIKI ZA NAPONSKI INVERER VO INDSRISKI APLIKACII КУСА СОДРЖИНА Vo ovoj

Διαβάστε περισσότερα

PDF Created with deskpdf PDF Writer - Trial ::

PDF Created with deskpdf PDF Writer - Trial :: ВО СТОЧАРСТВОТО 0 Проф. д-р Сретен Андонов 011 SODR@INA 1. DEFINICII: 3. POPULACIJA 4 1.1 Varijacii i nejzina modulirawe 5 1. Sledewe na varijacijata 5. KVANTITATIVNI SVOJSTVA 6.1 Kvantitativna varijacija

Διαβάστε περισσότερα

EFIKASNOST NA PRENAPONSKATA ZA[TITA VO OD 400 V

EFIKASNOST NA PRENAPONSKATA ZA[TITA VO OD 400 V ЧЕТВРТО СОВЕТУВАЊЕ Охрид, 26 29 септември 2004 d-r Petar Vukelja, Jovan Mrvi}, Dejan Hrvi} Elektrotehni~ki institut Nikola Tesla, Beograd d-r Risto Minovski, Elektrotehni~ki fakultet, Skopje EFIKASNOST

Διαβάστε περισσότερα

М-р Петре Ристески дипл.ел.инж. MERNOUPRAVUVA^KI SISTEMI VO ELEKTROENERGETIKATA I INDUSTRIJATA REGULATORI NA VRVNO OPTOVARUVAWE NA MO]NOST

М-р Петре Ристески дипл.ел.инж. MERNOUPRAVUVA^KI SISTEMI VO ELEKTROENERGETIKATA I INDUSTRIJATA REGULATORI NA VRVNO OPTOVARUVAWE NA MO]NOST М-р Петре Ристески дипл.ел.инж. MERNOUPRAVUVA^KI SISTEMI VO ELEKTROENERGETIKATA I INDUSTRIJATA REGULATORI NA VRVNO OPTOVARUVAWE NA MO]NOST S O D R @ I N A 1. Voved... 3 2. Vidovi mernoupravuva~ki sistemi...

Διαβάστε περισσότερα

Elementi spektralne teorije matrica

Elementi spektralne teorije matrica Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena

Διαβάστε περισσότερα

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ, Εισαγωγή στο MATLAB Κολοβού Αθανασία, ΕΔΙΠ, akolovou@di.uoa.gr Εγκατάσταση του Matlab Διανέμεται ελεύθερα στα μέλη του ΕΚΠΑ το λογισμικό MATLAB με 75 ταυτόχρονες (concurrent) άδειες χρήσης. Μπορείτε να

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

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

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 21. november 2013 Hiperbolične funkcije Hiperbolični sinus sinhx = ex e x 2 20 10 3 2 1 1 2 3 10 20 hiperbolični kosinus coshx

Διαβάστε περισσότερα

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)

Διαβάστε περισσότερα

CRASH COURSE IN PRECALCULUS

CRASH COURSE IN PRECALCULUS CRASH COURSE IN PRECALCULUS Shiah-Sen Wang The graphs are prepared by Chien-Lun Lai Based on : Precalculus: Mathematics for Calculus by J. Stuwart, L. Redin & S. Watson, 6th edition, 01, Brooks/Cole Chapter

Διαβάστε περισσότερα

Merni sistemi so seriski interfejs II. MERNI SISTEMI SO SERISKI INTERFEJS

Merni sistemi so seriski interfejs II. MERNI SISTEMI SO SERISKI INTERFEJS Merni sistemi so seriski interfejs - 1 - II. MERNI SISTEMI SO SERISKI INTERFEJS Merni sistemi so seriski interfejs - 2-2. MERNI SISTEMI SO SERISKI INTERFEJS 2.1. MEREN SERISKI INTERFEJS-OP[TO Postojat

Διαβάστε περισσότερα

Section 8.3 Trigonometric Equations

Section 8.3 Trigonometric Equations 99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.

Διαβάστε περισσότερα

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,

Διαβάστε περισσότερα

Βασικά στοιχεία του MATLAB

Βασικά στοιχεία του MATLAB ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΕΡΓΑΣΤΗΡΙΟ Εξοικείωση µε το περιβάλλον του MATLAB και χρήση βασικών εντολών και τεχνικών δηµιουργίας προγραµµάτων, συναρτήσεων

Διαβάστε περισσότερα

Εισαγωγή στο MATLAB. Μάθημα 1. Επιµέλεια: Φίλιππος Δογάνης

Εισαγωγή στο MATLAB. Μάθημα 1. Επιµέλεια: Φίλιππος Δογάνης Εισαγωγή στο MATLAB Μάθημα 1 Επιµέλεια: Φίλιππος Δογάνης Αυτόματη Ρύθμιση - Προσομοίωση - Matlab Με το Matlab μπορούμε να κάνουμε προσομοίωση μιας διεργασίας προκειμένου να διερευνήσουμε, μεταξύ άλλων:

Διαβάστε περισσότερα

UPATSTVO ZA PI[UVAWE NA SEMINARSKATA RABOTA I EDEN PRIMER

UPATSTVO ZA PI[UVAWE NA SEMINARSKATA RABOTA I EDEN PRIMER UPATSTVO ZA PI[UVAWE NA SEMINARSKATA RABOTA I EDEN PRIMER 1. Format Seminarskata da se pi{uva so fontovite MAC C Times i Times New Roman na A4 format strani vo Mikrosoft vord kako *.doc dokument. Goleminata

Διαβάστε περισσότερα

Matrices and Determinants

Matrices and Determinants Matrices and Determinants SUBJECTIVE PROBLEMS: Q 1. For what value of k do the following system of equations possess a non-trivial (i.e., not all zero) solution over the set of rationals Q? x + ky + 3z

Διαβάστε περισσότερα

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala

Διαβάστε περισσότερα

Dijagonalizacija operatora

Dijagonalizacija operatora Dijagonalizacija operatora Problem: Može li se odrediti baza u kojoj zadani operator ima dijagonalnu matricu? Ova problem je povezan sa sljedećim pojmovima: 1 Karakteristični polinom operatora f 2 Vlastite

Διαβάστε περισσότερα

Answers - Worksheet A ALGEBRA PMT. 1 a = 7 b = 11 c = 1 3. e = 0.1 f = 0.3 g = 2 h = 10 i = 3 j = d = k = 3 1. = 1 or 0.5 l =

Answers - Worksheet A ALGEBRA PMT. 1 a = 7 b = 11 c = 1 3. e = 0.1 f = 0.3 g = 2 h = 10 i = 3 j = d = k = 3 1. = 1 or 0.5 l = C ALGEBRA Answers - Worksheet A a 7 b c d e 0. f 0. g h 0 i j k 6 8 or 0. l or 8 a 7 b 0 c 7 d 6 e f g 6 h 8 8 i 6 j k 6 l a 9 b c d 9 7 e 00 0 f 8 9 a b 7 7 c 6 d 9 e 6 6 f 6 8 g 9 h 0 0 i j 6 7 7 k 9

Διαβάστε περισσότερα

Εισαγωγή στο MATLAB. Μάθημα 1. Επιµέλεια: Φίλιππος Δογάνης

Εισαγωγή στο MATLAB. Μάθημα 1. Επιµέλεια: Φίλιππος Δογάνης Εισαγωγή στο MATLAB Μάθημα 1 Επιµέλεια: Φίλιππος Δογάνης Διάγραμμα 1. Γιατί Matlab; - Περιβάλλον 2. Μεταβλητές - Πίνακες Πράξεις Συναρτήσεις 3. Μετασχηματισμοί Laplace 4. Βρόχοι for if 5. Πολυώνυμα - Συστήματα

Διαβάστε περισσότερα

Trigonometry Functions (5B) Young Won Lim 7/24/14

Trigonometry Functions (5B) Young Won Lim 7/24/14 Trigonometry Functions (5B 7/4/14 Copyright (c 011-014 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version

Διαβάστε περισσότερα

INTELIGENTNO UPRAVLJANJE

INTELIGENTNO UPRAVLJANJE INTELIGENTNO UPRAVLJANJE Fuzzy sistemi zaključivanja Vanr.prof. Dr. Lejla Banjanović-Mehmedović Mehmedović 1 Osnovni elementi fuzzy sistema zaključivanja Fazifikacija Baza znanja Baze podataka Baze pravila

Διαβάστε περισσότερα

Ovo nam govori da funkcija nije ni parna ni neparna, odnosno da nije simetrična ni u odnosu na y osu ni u odnosu na

Ovo nam govori da funkcija nije ni parna ni neparna, odnosno da nije simetrična ni u odnosu na y osu ni u odnosu na . Ispitati tok i skicirati grafik funkcij = Oblast dfinisanosti (domn) Ova funkcija j svuda dfinisana, jr nma razlomka a funkcija j dfinisana za svako iz skupa R. Dakl (, ). Ovo nam odmah govori da funkcija

Διαβάστε περισσότερα

Trigonometric Formula Sheet

Trigonometric Formula Sheet Trigonometric Formula Sheet Definition of the Trig Functions Right Triangle Definition Assume that: 0 < θ < or 0 < θ < 90 Unit Circle Definition Assume θ can be any angle. y x, y hypotenuse opposite θ

Διαβάστε περισσότερα

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D} Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Neka su D i K bilo koja dva neprazna skupa. Postupak f koji svakom elementu x D pridružuje točno jedan element y K zovemo funkcija

Διαβάστε περισσότερα

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Μελάς Ιωάννης Υποψήφιος

Διαβάστε περισσότερα

Homework 8 Model Solution Section

Homework 8 Model Solution Section MATH 004 Homework Solution Homework 8 Model Solution Section 14.5 14.6. 14.5. Use the Chain Rule to find dz where z cosx + 4y), x 5t 4, y 1 t. dz dx + dy y sinx + 4y)0t + 4) sinx + 4y) 1t ) 0t + 4t ) sinx

Διαβάστε περισσότερα

Εισαγωγή στους. Υπολογιστές

Εισαγωγή στους. Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή γή στον επιστημονικό προγραμματισμό 2 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ E mail: leo@mail.ntua.gr URL: http://users.ntua.gr/leo Μελάς Ιωάννης Υποψήφιος

Διαβάστε περισσότερα

Narodna banka na Republika Makedonija CENITE NA VO REPUBLIKA MAKEDONIJA *

Narodna banka na Republika Makedonija CENITE NA VO REPUBLIKA MAKEDONIJA * Narodna banka na Republika Makedonija Direkcija za istra`uvawe CENITE NA NEDVI@NOSTITE VO REPUBLIKA MAKEDONIJA * Otsek za dvi`ewata vo realniot sektor: m-r Biljana Davidovska-Stojanova m-r Branimir Jovanovi}

Διαβάστε περισσότερα

SISTEMI NELINEARNIH JEDNAČINA

SISTEMI NELINEARNIH JEDNAČINA SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije

Διαβάστε περισσότερα

ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ

ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ ΗΜΥ 100 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΤΕΧΝΟΛΟΓΊΑ Δρ. Στέλιος Τιμοθέου ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ ΜΑΣ ΣΗΜΕΡΑ Εισαγωγή στον Προγραμματισμό Λογικό

Διαβάστε περισσότερα

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta. auchyjev teorem Neka je f-ja f (z) analitička u jednostruko (prosto) povezanoj oblasti G, i neka je zatvorena kontura koja čitava leži u toj oblasti. Tada je f (z)dz = 0. Postoji više dokaza ovog teorema,

Διαβάστε περισσότερα

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =? Teko Classes IITJEE/AIEEE Maths by SUHAAG SIR, Bhopal, Ph (0755) 3 00 000 www.tekoclasses.com ANSWERSHEET (TOPIC DIFFERENTIAL CALCULUS) COLLECTION # Question Type A.Single Correct Type Q. (A) Sol least

Διαβάστε περισσότερα

Zadaci iz trigonometrije za seminar

Zadaci iz trigonometrije za seminar Zadaci iz trigonometrije za seminar FON: 1. Vrednost izraza sin 1 cos 6 jednaka je: ; B) 1 ; V) 1 1 + 1 ; G) ; D). 16. Broj rexea jednaqine sin x cos x + cos x = sin x + sin x na intervalu π ), π je: ;

Διαβάστε περισσότερα