Top Banner
Primijenjena matematika Damir Krstinic [email protected]
32

Primijenjena matematika

Jan 24, 2016

Download

Documents

morse

Primijenjena matematika. Damir Krstinic [email protected]. Matlab. Matlab je high-performance programski jezik namjenjen za tehničke proračune - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Primijenjena matematika

Primijenjena matematika

Damir Krstinic

[email protected]

Page 2: Primijenjena matematika

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.

Page 3: Primijenjena matematika

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

Page 4: Primijenjena matematika

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>

Page 5: Primijenjena matematika

Matlab operatori

+ zbrajanje < Manje

- oduzimanje <= manje ili jednako

* množenje > veće

/ “desno” dijeljenje >= veće ili jednako

\ “lijevo” dijeljenje == jednako

^ potenciranje ~= nije jednako (različito)

Page 6: Primijenjena matematika

Specijalne varijable

Ime Značenje Vrijednost

ans Automatski poprima vrijednost izraza kad nije pridružen variabli

eps Ocjena greške zaokruživanja 2-52

Inf + beskonačno npr: 1/0

NaN Not a Number npr: 0/0

i Imaginarna jedinica sqrt(-1)

pi Broj pi 3.14159265...

Page 7: Primijenjena matematika

Elementarne matematičke funkcije

sin(...) sinus acosh(...) area. cos. hiperbolnog

cos(...) kosinus atanh(...) area tan. hiperbolnog

tan(...) tangens sqrt(...) drugi korjen

asin(...) arkus sinus exp(...) eksp. funkcija (baze e)

acos(...) arkus kosinus log(...) ln (logaritam baze e)

atan(...) arkus tangens log10(...) log (logaritam baze 10)

sinh(...) hiperbolni sinus abs(...) apsolutna vrijednost

cosh(...) hiperbolni kosinus real(...) realni dio komp. broja

tanh(...) hiperbolni tangens imag(...) imaginarni dio komp. broja

asinh(...) area sin. hiperbolnog round(...) zaokruživanje

Page 8: Primijenjena matematika

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]

642

121A

Page 9: Primijenjena matematika

Operacije sa matricama

+ zbrajanje Matrice moraju biti istih dimenzija

- oduzimanje

* množenje Matrice moraju biti ulančane

^ potenciranje Matrica mora biti kvadratna

‘ transponiranje

/ “desno” dijeljenje Matricu ne možemo dijeliti matricom! Koristi se za riješavanje sustava jednadžbi\ “lijevo” dijeljenje

.*, ./, .^ itd.

operacije “član po član”

Matrice moraju biti istih dimenzija. Jedna od varijabli može biti i broj

Page 10: Primijenjena matematika

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

Page 11: Primijenjena matematika

Primjer

7542

943

632

321

321

321

xxx

xxx

xxx

542

431

321

A

7

9

6

B

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

Page 12: Primijenjena matematika

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 *

Page 13: Primijenjena matematika

Prikaz funkcije

Potrebno je nacrtati graf funkcije ;42

x

xy

x=-10:0.5:10; stvara vektor x sa elementima od –10 do 10, korak 0.5

y=x./(x.^2+4); računa vektor y na način da računa vrijednost funkcije za svaki element vektora x

plot(x,y) crta vrijednosti y u ovisnosti o vrijednostima x

10:10x

Page 14: Primijenjena matematika

Prikaz funkcije, primjer 2

Potrebno je nacrtati graf funkcija,1 xy

x=linspace(0,2*pi,30); Interval 0 do 2*pi dijeli se na 30 dijelova, vrijednosti se spremaju u vektor x

y1=sqrt(x) računa y1 u svim elementima od x

y2=cos(x) računa y2 u svim elementima od x

plot(x,y1,x,y2) crta y1 u ovisnost o x, y2 u ovisnosti od x

2:0x);cos(2 xy

Page 15: Primijenjena matematika

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 nazivamo

m-fileovi

Page 16: Primijenjena matematika

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

Page 17: Primijenjena matematika

for petlja

Služi za ponavljanje određene naredbe ili niza naredbi unaprijed zadani broj puta

for varijabla = od:korak:do

naredbe

end

Page 18: Primijenjena matematika

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

Page 19: Primijenjena matematika

for petlja, primjer 2:

Računanje umnoška brojeva od 1 do 100

s=1;

for a = 1:100

s = s*a;

end

s

Page 20: Primijenjena matematika

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

Page 21: Primijenjena matematika

while petlja, primjer

Pronađi broj n sa kojim suma prvih n prirodnih brojeva prelazi 100 s=0;n=0;while s<100n = n+1;s = s+n;

endn

Page 22: Primijenjena matematika

Naredba if (if – else)

Naredba if izvršit će navedene naredbe ako je uvijet dan izrazom ispunjen

osnovni oblik prošireni oblik

if izraz

naredbe

end

if izraz

naredbe1

else

naredbe2

end

Page 23: Primijenjena matematika

Naredba if, primjer

Napiši program koji ispisuje veći od dva slučajna broja

a=rand;b=rand;if a>ba

elseb

end

Page 24: Primijenjena matematika

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

Page 25: Primijenjena matematika

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)

Page 26: Primijenjena matematika

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 u PATH

Page 27: Primijenjena matematika

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

Page 28: Primijenjena matematika

Funkcijski m-file

Funkcijskim m-fileom kreiramo novu funkciju– Ovako kreirana funkcija ravnopravna je funkcijama

ugrađenim u Matlab

Funkciju čine ulazni parametri, tijelo funkcije (niz naredbi) i povratna vrijednost funkcije (ili više njih)

Page 29: Primijenjena matematika

Funkcijski m-file

Funkcija sa jednom povratnom vrijednošćufunction varijabla = ime_funkcije(ulazne

varijable)

Funkcija sa više povratnih vrijednostifunction [v1 v2 ...] = ime_funkcije(ulazne

varijable)

Funkcijski m-file spremamo u datoteku istog imena kao i funkcija

Page 30: Primijenjena matematika

Funkcijski m-file, primjer 1

Napiši funkcijski m-file koji vraća veći od dva brojafunction v = veci(a, b)

if a>b

v=a;

else

v=b;

end

Page 31: Primijenjena matematika

Funkcijski m-file, primjer 1

Pozivanje funkcijex1 = 2

x2 = -3

x3 = veci(x1, x2)

Page 32: Primijenjena matematika

Funkcijski m-file, primjer 2

Napiši funkcijski m-file koji vraća zbroj i razliku dva brojafunction [z r] = zb_raz(a, b)z = a+b;r = a-b;

– Pozivanje:x1 = 2;x2 = 5;[y1 y2] = zb_raz(x1, x2)