320 likes | 470 Views
Primijenjena matematika. Damir Krstinic damir.krstinic@fesb.hr. Matlab. Matlab je high-performance programski jezik namjenjen za tehničke proračune
E N D
Primijenjena matematika Damir Krstinic damir.krstinic@fesb.hr
Matlab • Matlab je high-performance programski jezik namjenjen za tehničke proračune • Matlab objedinjava računanje, vizualizaciju i programiranje u lako uporabljivoj okolini u kojoj su problem i rješenje definirani poznatom matematičkom notacijom.
Primjena Matlaba • Matematika i računanje • Razvoj algoritama • Modeliranje, simulacija, analiza • Analizu i obrada podataka, vizualizacija • Znanstvena i inžinjerska grafika • Razvoj aplikacija, uključujući i izgradnju GUI
Korištenje Matlaba • Naredbe za MATLAB unosimo u komandni prozor, osnovni prozor MATLABa primjer: >> 3*cos(2*pi/3)/sqrt(23) • Pored naredbi MATLABa, u komandnom prozoru vrijede i naredbe operativnog sustava primjer – promjena radnog direktorija: >> cd <ime_direktorija>
Matrice u Matlabu • Matricu u matlab unosimo na slijedeći način: A=[1 2 –1; 2 4 6] , ili A=[1 2 –1 <ENTER> 2 4 6]
Rješavanje sustava linearnih jednadžbi • Sustav je zadan u matričnom zapisu AX=B, gdje matrice A i B imaju isti broj redaka • Sustav rješavamo korištenjem “lijevog djeljenja” matrica: X=A\B
Primjer Rješavanje sustava: A=[1 2 3; -1 3 4; 2 4 5] B=[6; 9; 7] (ili B=[6 9 7]’) X=A\B
Grafika u Matlabu • Neka je X=[1 3 –2 5] jednoredna matrica (vektor) upisana u Matlab • X možemo nacrtati korištenjem naredbe plot plot(X) - crta linijski graf plot(X,’*’) - vrijednosti od X prikazane sa *
Prikaz funkcije • Potrebno je nacrtati graf funkcije
Prikaz funkcije, primjer 2 • Potrebno je nacrtati graf funkcija
Programiranje u Matlabu • Pored korištenja u naredbenom modu, Matlab ima i mogućnost razvijanja programa u vlastitom programskom jeziku • Programe je moguće spremati u datoteke i naknadno pozivati • Datoteke sa programskim kodom Matlaba nazivamom-fileovi
Naredbe kontrole toka • U naredbe kontorle toka spadaju petlje i uvjetne strukture • Petlje obuhvaćaju dijelove koda koji se ponavljaju više puta • Uvjetne strukture obuhvaćaju dijelove koda koji se izvršava samo ako je neki uvjet zadovoljen, ili dijelove koda koji se mogu izvršiti na različite načine u ovisnosti o nekom uvijetu
for petlja • Služi za ponavljanje određene naredbe ili niza naredbi unaprijed zadani broj puta for varijabla = od:korak:do naredbe end
for petlja, primjer 1: • Računanje sume brojeva od 1 do 100 s=0; for a = 1:100 s = s+a; end s računa vrijednost, ali rezultat ne prikazuje na ekranu
for petlja, primjer 2: • Računanje umnoška brojeva od 1 do 100 s=1; for a = 1:100 s = s*a; end s
while petlja • Ponavlja određenu naredbu ili niz naredbi dok je ispunjen uvijet iz izraza while izraz naredbe end • Za izlaz iz petlje može se koristiti naredba break
while petlja, primjer • Pronađi broj n sa kojim suma prvih n prirodnih brojeva prelazi 100 s=0; n=0; while s<100 n = n+1; s = s+n; end n
Naredba if (if – else) • Naredba if izvršit će navedene naredbe ako je uvijet dan izrazom ispunjen
Naredba if, primjer • Napiši program koji ispisuje veći od dva slučajna broja a=rand; b=rand; if a>b a else b end
m-fileovi • Dijelove programskog koda koje često izvršavamo možemo spremiti u datoteku, tzv. m-file • Nije potrebno ukucavati kod svaki puta kada ga želimo izvršavati • Razlikujemo skripte (obične m-fileove) i funkcije
Stvaranje m-filea • Odabirom opcija izbornika (redom): File – New – M-file pojavljuje se prozor tekst editora u koji unosimo naredbe • Naredbe spremamo u datoteku s ekstenzijom m (ime_datoteke.m)
Spremanje m-filea • m-fileove spremamo u putanju (PATH) Matlaba. • PATHčine skup direktorija u kojima matlab traži m-fileove • Ukoliko datoteku spremamo na neko drugo mjesto, potrebno je Matlabu pokazati gdje da traži našu datoteku. Ovo radimo dodavanjem direktorija u koji je datoteka spremljena uPATH
Skripte (obični m-file) • Ako imamo neki duži niz naredbi, koji nam se u radu često ponavlja, možemo ga zapisati u obični m-file. • Pri svakom pozivu imena tog m-filea, izvršit će se niz naredbi iz datoteke • Naredbe se izvršavaju redosljedom kojim su zapisane u datotece • Efekt izvršavanja je isti kao da se u komandnom prozoru unosi naredba po naredba
Funkcijski m-file • Funkcijskim m-fileom kreiramo novu funkciju • Ovako kreirana funkcija ravnopravna je funkcijama ugrađenim u Matlab • Funkciju čineulazni parametri,tijelo funkcije(niz naredbi) ipovratna vrijednost funkcije(ili više njih)
Funkcijski m-file Funkcija sa jednom povratnom vrijednošću function varijabla = ime_funkcije(ulazne varijable) Funkcija sa više povratnih vrijednosti function [v1 v2 ...] = ime_funkcije(ulazne varijable) • Funkcijski m-file spremamo u datoteku istog imena kao i funkcija
Funkcijski m-file, primjer 1 • Napiši funkcijski m-file koji vraća veći od dva broja function v = veci(a, b) if a>b v=a; else v=b; end
Funkcijski m-file, primjer 1 • Pozivanje funkcije x1 = 2 x2 = -3 x3 = veci(x1, x2)
Funkcijski m-file, primjer 2 • Napiši funkcijski m-file koji vraća zbroj i razliku dva broja function [z r] = zb_raz(a, b) z = a+b; r = a-b; • Pozivanje: x1 = 2; x2 = 5; [y1 y2] = zb_raz(x1, x2)