Arijmhtik AnˆLush Ii: Εισαγωγικές ΄Εννοιες Στο Matlab

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Arijmhtik  Anˆlush II
Εισαγωγικές ΄Εννοιες στο MatLab

Αλεξανδρόπουλος Σταμάτιος - ΄Αγγελος


stamataggelos@hotmail.com

Tm ma Majhmatik¸n
Sqol  Jetik¸n Episthm¸n
Panepist mio Patr¸n

26 Φεβρουαρίου 2014

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Perieqìmena

1 DianÔsmata-PÐnakec

Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn

Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka

Basikèc sunart seic pinˆkwn kai dianusmˆtwn

Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

2 Grafikèc Parastˆseic

3 Programmatismìc sto MATLAB

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

DianÔsmata - PÐnakec

Ορισμός διανύσματος
Ta dianÔsmata sto MATLAB eÐnai pÐnakec me mÐa gramm  (dianÔsmata
gramm )   pÐnakec me mÐa st lh (dianÔsmata st lh). Ta dianÔsmata
gramm  orÐzontai parajètontac ta stoiqeÐa touc mèsa se agkÔlec
qwrismèna me kìmma   me kenì.

p.q. >> a =[5 7 -9] (diˆnusma gramm )

p.q. >> b =[-25 ; 4 ; 18] (diˆnusma st lh)

Enallaktikˆ mporoÔme na orÐsoume dianÔsmata gramm  orÐzontac ton


pr¸to stoiqeÐo tou to b ma metabol c twn tim¸n tou dianÔsmatoc kai ton
arijmì pou mporeÐ na eÐnai mikrìtero   Ðso to teleutaÐo stoiqeÐo tou.

p.q. >> x =0:2:10

p.q. >> y =-10:2:0

Tèloc, mporoÔme na orÐsoume dianÔsmata gramm  sunjètontac dianÔsmata


gramm .

p.q. >> z = [x y ]

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

DianÔsmata

Συναρτήσεις Διανυσμάτων
length(x) epistrèfei to pl joc twn stoiqeÐwn tou dianÔsmatoc x
size(x) epistrèfei to mègejoc tou dianÔsmatoc, dhlad  to pl joc twn

gramm¸n kai twn sthl¸n tou x


Anˆstrofo diˆnusma tou x >> x 0
:

Πράξεις μεταξύ βαθμωτού και διανύσματος


'Estw l =5 , tìte orÐzontai oi prˆxeic thc prìsjeshc, afaÐreshc,

pollaplasiasmoÔ kai diaÐreshc tou stoiqeÐou me èna diˆnusma

Pollaplasiasmìc stoiqeÐou (èstw l =5 ) me èna diˆnusma:

>> t = l ∗ a
DiaÐresh stoiqeÐou me diˆnusma: >> t = a/l

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

DianÔsmata

Πράξεις μεταξύ διανυσμάτων


Prìsjesh, afaÐresh: >> c = x + y   >> c = x − y
Pollaplasiasmìc: h prˆxh >> c = x ∗ y den mporeÐ na gÐnei, giatÐ ;
0
AntÐjeta h prˆxh >> c = x ∗ y ekteleÐtai kanonikˆ

To ginìmeno dianusmˆtwn akoloujeÐ ton kanìna tou ginomènou

pinˆkwn, dhlad  to pl joc twn sthl¸n tou dianÔsmatoc x prèpei na

eÐnai Ðso me to pl joc twn gramm¸n tou y


Parˆdeigma: >> v = [1 4 5] >> u = [2; 3; 6]
, tìte:

>> v ∗ uP epistrèfei to eswterikì ginìmeno twn dÔo dianusmˆtwn,

dhlad  vi · ui
H prˆxh >> u ∗ v ekteleÐtai ; An nai poia eÐnai h apˆnthsh ;
OrÐzontai kai oi stoiqeÐo proc stoiqeÐo prˆxeic pollaplasiasmoÔ .∗
diaÐreshc ./ kai Ôywshc se dÔnamh .∧ p.q. >> x. ∗ y >> y ./x
, kai

>> y .∧ x

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

PÐnakec

Ορισμός Πίνακα
Oi pÐnakec dhmiourgoÔntai orÐzontac ta stoiqeÐa kˆje gramm c kai

kˆje st lhc qrhsimopoi¸ntac touc kanìnec pou eÐdame kai sthn

perÐptwsh twn dianusmˆtwn, dhlad 

p.q. >> a = [3 4 5; 6 7 8]   >> b = [1 : 3, 2 : 3; 1 : 5; 1 : 2 : 10]


Anaforˆ se stoiqeÐo tou pÐnaka: >> b(2, 3)
MporoÔme na kˆnoume anaforˆ se stoiqeÐa pinˆkwn allˆ kai

grammèc, st lec   tm mata touc. Me th qr sh thc ˆnw kai kˆtw

teleÐac : anaferìmaste se olìklhrec grammèc   st lec

p.q. >> b(2, 1 : 4)   >> b(1 : end, 3)


Mègejoc pÐnaka: >> [r , c] = size(b) . Poiˆ ja eÐnai h apˆnthsh ;

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

PÐnakec

Πράξεις μεταξύ πινάκων


Wc prˆxeic pinˆkwn orÐzontai oi gnwstèc +,-,* efìson eÐnai dunatì

na gÐnoun

p.q. eˆn>> c = [2 5 7; 3 9 10] tìte gÐnontai oi prˆxeic >> a + c


kai >> c − a
H prˆxh >> a ∗ c mporeÐ na ektelesteÐ ; An ìqi giatÐ, an nai poio

eÐnai to apotèlesma ;
Poiˆ h diaforˆ metaxÔ twn prˆxewn >> a ∗ c 0 kai >> a0 ∗ c ;
H arister  diaÐresh A/B = A · B −1 kai h dexiˆ diaÐresh A\B = A−1 · B
ekteloÔntai efìson orÐzontai gia parˆdeigma >> a\c >> a/c
kai

H Ôywsh tetragwnikoÔ pÐnaka se dÔnamh arijmì orÐzetai wc forèc

Ak = A · A . . . A , p.q. >> d 3
Tèloc, kai gia touc pÐnakec orÐzontai oi stoiqeÐo proc stoiqeÐo

prˆxeic pollaplasiasmoÔ .∗ , diaÐreshc ./ kai Ôywshc se dÔnamh .∧

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

PÐnakec

Anˆstrofoc enìc pÐnaka: >> a0


AntÐstrofoc pÐnaka, efìson upˆrqei: eˆn >> d = [5 8; 9 4] tìte

>> inv (d)


OrÐzousa d >> det(d)
tou pÐnaka :

Oi >> eye(n) >> zeros(n)


, >> ones(n) kai dhmiourgoÔn n×n
monadiaÐouc, mhdenikoÔc kai pÐnakec me stoiqeÐa monˆdec antÐstoiqa

H >> rand(n, m) epistrèfei pÐnaka me (yeÔdo) tuqaÐa stoiqeÐa

diˆstashc n×m
MporoÔme epÐshc na dhmiourg soume pÐnaka orÐzontac tic timèc mÐac

apì tic diagwnÐouc tou (kÔriac   ˆllhc) me th sunˆrthsh diag( ) . Wc

p diag¸nio enìc pÐnaka A orÐzoume ta stoiqeÐa tou (efìson autˆ

upˆrqoun) pou ikanopoioÔn Ai,i+p , en¸ wc diag¸nio −p autˆ pou

ikanopoioÔn Ai,i−p
>> diag ([5 7 − 8 9]) dhmiourgeÐ ènan 4×4 diag¸nio pÐnaka

>> diag ([5 7 − 8 9], −1) dhmiourgeÐ ènan 5×5 diag¸nio pÐnaka me mh

mhdenikˆ stoiqeÐa ta stoiqeÐa thc pr¸thc diagwnÐou kˆtw apì thn

kÔria diag¸nio

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Basikèc sunart seic pinˆkwn kai dianusmˆtwn

Gia ta dianÔsmata h >> sum(a) epistrèfei to ˆjroisma twn

stoiqeÐwn tou dianÔsmatoc a kai h >> prod(a) to ginìmeno

H >> sort(a) epistrèfei èna diˆnusma me taxinomhmèna ta stoiqeÐa

dianÔsmatoc katˆ aÔxousa diˆtaxh. Gia parˆdeigma, eˆn

a = [2 − 3 − 5 1] >> sort(a) ja epistrèyei to diˆnusma [−5 − 3 1 2]


H entol  >> −sort(−a) ti ja epistrèyei ;
H >> max(a) kai h >> min(a) epistrèfoun to megalÔtero kai

mikrìtero stoiqeÐo tou dianÔsmatoc a antÐstoiqa. Me thn kl sh touc

mporoÔme na pˆroume kai th jèsh tou megalÔterou   tou mikrìterou

stoiqeÐou, wc ex c: >> [value pos] = min(a) . H apˆnthsh ja eÐnai

value = −5 kai pos = 3

Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Basikèc sunart seic pinˆkwn kai dianusmˆtwn

Oi max() min() sum() prod()


, , , mporoÔn na efarmostoÔn kai se

pÐnaka. Se aut n thn perÐptwsh epistrèfoun èna diˆnusma tou

opoÐou kˆje stoiqeÐo eÐnai to apotèlesma thc efarmog c touc se

kajemÐa apì tic st lec tou pÐnaka

Eˆn>> a = [1 : 3 : 9; 15 : −5 : 1] >> min(a) tìte ja d¸sei wc

apˆnthsh [1 4 5] >> max(a)


to diˆnusma [15 10 7]
, dÐnei , en¸ to

>> prod(a) [15 40 35]


dÐnei >> sum(a)
. To [16 14 12] epistrèfei

0
>> sort(a, ‘descend
 ) taxinomeÐ katˆ fjÐnousa
 seirˆ tic st lec tou

15 10 7
pÐnaka a . Ap:
1 4 5
0
>> sort(a, 2, ‘descend
 ) taxinomeÐ katˆ fjÐnousa
 seirˆ tic grammec

7 4 1
tou pÐnakaa . Ap:
15 10 5

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Majhmatikèc Sunart seic sto MATLAB

Συνάρτηση Περιγραφή
>> abs(x) apìluth tim 
>> sqrt(x) tetragwnik  tim 
>> sign(x) +1 eˆn x > 0   −1 eˆn x < 0
>> ceil(x) stroggulopoieÐ ston kontinìtero megalÔtero akèraio
>> floor (x) stroggulopoieÐ ston kontinìtero mikrìtero akèraio
>> round(x) stroggulopoieÐ ston kontinìtero akèraio
>> fix(x) stroggulopoieÐ ston kontinìtero akèraio proc to 0

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Uperbatikèc Sunart seic sto MATLAB

Συνάρτηση Περιγραφή
>> sin(x) hmÐtono
>> cos(x) sunhmÐtono
>> tan(x) efaptomènh
>> asin(x) antÐstrofo tou hmitìnou
>> acos(x) antÐstrofo tou sunhmitìnou
>> atan(x) antÐstrofo thc efaptomènhc
>> sinh(x) uperbolikì hmÐtono
>> cosh(x) uperbolikì sunhmÐtono
>> tanh(x) uperbolik  efaptomènh

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Uperbatikèc Sunart seic sto MATLAB

Συνάρτηση Περιγραφή
>> asinh(x) antÐstrofo uperbolikoÔ hmitìnou
>> acosh(x) antÐstrofo uperbolikoÔ sunhmitìnou
>> asinh(x) antÐstrofo uperbolikoÔ hmitìnou
>> exp(x) ekjetik  sunˆrthsh
>> log (x) logarijmik  sunˆrthsh me bˆsh to e
>> log 2(x) logarijmik  sunˆrthsh me bˆsh to 2
>> log 10(x) logarijmik  sunˆrthsh me bˆsh to 10

Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Stˆjmec dianusmˆtwn

L2 norm ή Ευκλείδεια στάθμη


Ston n -diˆstato EukleÐdeio q¸ro Rn , h ènnoia tou m kouc tou

dianÔsmatoc x = [x1 , x2 , . . . , xn ] dÐnetai apì ton tÔpo:

q
||x||2 = x12 + x22 + . . . + xn2 (1)

Entol  sto MATLAB >> norm(x)


:   >> norm(x, 2)

Ευκλείδεια απόσταση δύο διανυσμάτων


'Estw x = [x1 , x2 , . . . , xn ] kai y = [y1 , y2 , . . . , yn ] dÔo dianÔsmata ston

n -diˆstato EukleÐdeio q¸ro Rn , tìte h Eukleideia apìstash metaxÔ

twn dÔo dianusmˆtwn dÐnetai apì ton tÔpo:

p
||x − y ||2 = (x1 − y1 )2 + (x2 − y2 )2 + . . . + (xn − yn )2 (2)

Entol  sto MATLAB >> norm(x − y )


:   >> norm(x − y , 2)

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Stˆjmec dianusmˆtwn

L1 norm ή Manhattan στάθμη


Ston n-diˆstato EukleÐdeio q¸ro Rn , h L1 norm   Manhattan stˆjmh tou
dianÔsmatoc x = [x1 , x2 , . . . , xn ] dÐnetai apì ton tÔpo:

n
X
||x||1 = |xi | (3)
i=1

Entol  sto MATLAB: >> norm(x, 1)

Manhattan (City-block) απόσταση δύο διανυσμάτων


'Estw x = [x1 , x2 , . . . , xn ] kai y = [y1 , y2 , . . . , yn ] dÔo dianÔsmata ston n-diˆstato
EukleÐdeio q¸ro Rn , tìte h L1 apìstash metaxÔ twn dÔo dianusmˆtwn dÐnetai apì
ton tÔpo:
n
X
||x − y ||1 = |xi − yi | (4)
i=1

Entol  sto MATLAB: >> norm((x − y ), 1)

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Stˆjmec dianusmˆtwn

L∞ infinity στάθμη
Ston n -diˆstato EukleÐdeio q¸ro Rn , h L∞ norm tou dianÔsmatoc

x = [x1 , x2 , . . . , xn ] dÐnetai apì ton tÔpo:

||x||∞ = max(|x1 |, |x2 |, . . . , |xn |) (5)

Entol  sto MATLAB >> norm(x,0 inf 0 )


:

Minkowski απόσταση δύο διανυσμάτων


'Estw x = [x1 , x2 , . . . , xn ] kai y = [y1 , y2 , . . . , yn ] dÔo dianÔsmata ston

n -diˆstato EukleÐdeio q¸ro Rn , tìte h Minkowski apìstash metaxÔ

twn dÔo dianusmˆtwn dÐnetai apì ton tÔpo:

n
X 1
||x − y ||p = ( |xi − yi |p ) p (6)

i=1

Entol  sto MATLAB >> norm((x − y ), p)


:

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn


DianÔsmata-PÐnakec
Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka
Grafikèc Parastˆseic
Basikèc sunart seic pinˆkwn kai dianusmˆtwn
Programmatismìc sto MATLAB
Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

Ergasthriakèc Ask seic

΄Ασκηση 1:
Na grafeÐ prìgramma se MATLAB to opoÐo na lambˆnei wc eÐsodo dÔo

dianÔsmata x kai y ston n-diˆstato EukleÐdio q¸ro kai na upologÐzei tic

stˆjmec kˆje dianÔsmatoc ( L∞ L1 L2 Lp


, , , ), gia dojèn p me bˆsh touc

parapˆnw tÔpouc. EpÐshc, ja upologÐzei thn apìstash twn dÔo

dianusmˆtwn qrhsimopoi¸ntac tic parapˆnw metrikèc. Ta apotelèsmata

na apojhkeÔontai se arqeÐo.

΄Ασκηση 2:
Na grafeÐ prìgramma se MATLAB to opoÐo na lambˆnei wc eÐsodo k
dianÔsmata x1 , x2 , . . . , xk n
ston -diˆstato EukleÐdio q¸ro kai na upologÐzei

tic apostˆseic tou kˆje dianÔsmatoc apì ta upìloipa qrhsimopoi¸ntac

tic parapˆnw metrikèc. Ta apotelèsmata na apojhkeÔontai se arqeÐo.

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Perieqìmena

1 DianÔsmata-PÐnakec

Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn

Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka

Basikèc sunart seic pinˆkwn kai dianusmˆtwn

Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

2 Grafikèc Parastˆseic

3 Programmatismìc sto MATLAB

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Grafikèc Parastˆseic

B mata dhmiourgÐa grafik c parˆstashc sunˆrthshc y = f (x)


1
OrÐzoume èna diˆnusma x pou perièqei èna uposÔnolo tou pedÐou

orismoÔ thc sunˆrthshc, dhlad  perièqei timèc gia to x


2
UpologÐzoume apì to tÔpo thc sunˆrthshc tic timèc thc se kˆje

shmeÐo x y = f (x)
,

3
Qr sh thc sunˆrthshc plot() gia na kˆnoume th grafik  apeikìnish

Παράδειγμα
2
Gia na gÐnei h grafik  parˆstash thc sunˆrthshc y = sin(x 3 ) sto

diˆsthma [−2π 2π] ekteloÔme ta akìlouja b mata:

1
DhmiourgÐa tou dianÔsmatoc x >> x = −2 ∗ pi : 0.1 : 2 ∗ pi
:

2
Upologismìc tou dianÔsmatoc y >> y = sin(x.2/3 )
:

3
DhmiourgÐa tou graf matoc: >> plot(x, y ,0 r 0 )

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Grafikèc Parastˆseic 3−D

B mata dhmiourgÐa grafik c parˆstashc sunˆrthshc z = f (x, y )


1
OrÐzoume èna diˆnusma x pou perièqei èna uposÔnolo tou pedÐou

orismoÔ thc sunˆrthshc, dhlad  perièqei timèc gia to x


2
OrÐzoume èna diˆnusma y pou perièqei èna uposÔnolo tou pedÐou

orismoÔ thc sunˆrthshc, dhlad  perièqei timèc gia to y


3
Metatrèpoume ton q¸ro pou kajorÐzetai apì ta dianÔsmata x kai y
stouc pÐnakec X kai Y oi opoÐoi ja qrhsimopoihjoÔn gia thn ektÐmhsh

twn tim¸n thc sunˆrthshc kai th dhmiourgÐa tou 3−D graf matoc.

Kl sh thc sunˆrthshc [X , Y ] = meshgrid(x, y )


4
UpologÐzoume apì to tÔpo thc sunˆrthshc tic timèc thc se kˆje

shmeÐo X , Y z = f (X , Y )
,

5
Qr sh thc sunˆrthshc surface(z) gia na kˆnoume th grafik 

apeikìnish

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Grafikèc Parastˆseic 3−D

Παράδειγμα
Gia na gÐnei h grafik  parˆstash thc sunˆrthshc y = sin( 31 x 2 ) + cos( 13 y 2 )
sto diˆsthma [−2π 2π] ekteloÔme ta akìlouja b mata:

1
DhmiourgÐa tou dianÔsmatoc x >> x = −2 ∗ pi : 0.1 : 2 ∗ pi
:

2
DhmiourgÐa tou dianÔsmatoc y >> y = −2 ∗ pi : 0.1 : 2 ∗ pi
:  

enallaktikˆ >> y = x
3
DhmiourgÐa twn pinˆkwn X kai Y >> [X , Y ] = meshgrid(x, y )
:

4
Upologismìc tou dianÔsmatoc y >> z = sin(X .∧ 2/3) + cos(Y .∧ 2/3)
:

5
DhmiourgÐa tou graf matoc: >> surface(z)

Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Grafikèc Parastˆseic 3−D

Sq ma : Trisdiˆstath grafik  parˆstash ( >> surface(z) )

Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Grafik  parˆstash me thn entol  surfc


H entol  >> surfc(z) eÐnai Ðdia me thn surface(z) me th mình diaforˆ ìti

kˆtw apì th grafik  parˆstash sqhmatÐzontai kai oi isoôy c kampÔlec

thc sunˆrthshc

Sq ma : Trisdiˆstath grafik  parˆstash (>> surfc(z) )

Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Perieqìmena

1 DianÔsmata-PÐnakec

Orismìc dianÔsmatoc kai pÐnaka

Prˆxeic metaxÔ dianusmˆnwn kai pinˆkwn

Anˆstrofoc, antÐstrofoc kai orÐzousa pÐnaka

Basikèc sunart seic pinˆkwn kai dianusmˆtwn

Majhmatikèc sunart seic

Stˆjmec dianÔsmatoc kai pÐnaka

2 Grafikèc Parastˆseic

3 Programmatismìc sto MATLAB

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB


Entol  eisìdou

H eisagwg  dedomènwn apì to qr sth gÐnetai me th qr sh thc input( ). H sÔntax  thc
eÐnai:

'Onoma metablht c = input( “ frˆsh ” ) ;

H ektèlesh thc entol c emfanÐzei th frˆsh sthn ojình kai anamènei tim  apì to
plhktrolìgio pou thn apodÐdei sth metablht . Gia parˆdeigma:
>> a = input(D¸ste arijmì n)

Entol  exìdou

H entol  exìdou sthn ojình eÐnai h fprintf( ) me sÔntaxh:

fprintf( format, A,....)

H sÔntaxh thc morfopoÐhshc format akoloujeÐ ta ìsa isqÔoun sthn gl¸ssa


programmatismoÔ C. Gia parˆdeigma:

>> x = 0:.1:1; y = [x; exp(x)];


>> fprintf( “%6.2f, %12.8f \n”,y );

Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

΄Ελεγχος Ροής Αλγορίθμου


Logik  èkfrash eÐnai mÐa èkfrash h opoÐa mporeÐ na pˆrei tim  True  

False. MÐa tètoia èkfrash pr¸ta apì ìla mporeÐ na eÐnai mÐa apl  logik 
sunj kh . Me mia apl  logik  sunj kh sugkrÐnoume, me th qr sh enìc

telest  sÔgkrishc dÔo posìthtec   ekfrˆseic kai apoteleÐtai apì trÐa

mèrh:

Skèloc A Telest c SÔgkrishc Skèloc B

Τελεστές Σύγκρισης

== Ðso ∼= diˆforo

> megalÔtero >= megalÔtero   Ðso

< mikrìtero <= mikrìtero   Ðso

Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

Λογικοί ΄Ελεγχοι
MÐa logik  èkfrash mporeÐ akìmh na eÐnai ènac logikìc èlegqoc . MerikoÐ

apì touc logikoÔc elègqouc eÐnai oi akìloujoi:

'Elegqoc Tim  True an:

isequal(a,b) Oi pÐnakec   ta dianÔsmata Ðsa

isempty(a) O pÐnakac den èqei stoiqeÐa

isnan(a) To ìrisma eÐnai NaN Not a Number


( )

isinf(a) To ìrisma Inf


eÐnai

Σύνθετες Συνθήκες
MÐa logik  èkfrash mporeÐ tèloc na eÐnai sÔnjeth sunj kh . Oi sÔnjetec

sunj kec eÐnai logikèc ekfrˆseic pou apoteloÔntai apì aplèc sunj kec

kai logikèc prˆxeic pou mporoÔme na efarmìsoume se autèc.

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

Λογικές Πράξεις
Oi logikèc prˆxeic teloÔntai ìtan ènac logikìc telest c dra metaxÔ dÔo

logik¸n ekfrˆsewn (  pˆnw se mÐa gia th logik  ˆrnhsh). Oi kuriìteroi

logikoÐ telestèc eÐnai oi akìloujoi:

Telest c ErmhneÐa

& kai
Logikìc telest c
|  
Logikìc telest c
∼ Logikìc telest c ˆrnhshc
xor() Logikìc telest c Apokleistik c Diˆzeuxhc
all Alhj c an ìla ta stoiqeÐa tou dianÔsmatoc eÐnai mh mhdenikˆ
any Alhj c an kˆpoio apì ta stoiqeÐa tou dianÔsmatoc eÐnai mh mhdenikì

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

Λογική Σύγκριση Πινάκων


Oi logikèc sugkrÐseic anˆmesa se pÐnakec (dianÔsmata) idÐou megèjouc

epistrèfoun ènan logikì pÐnaka (diˆnusma) me stoiqeÐa to apotèlesma thc

anˆ stoiqeÐo sÔgkrishc. 'Enac tètoioc pÐnakac èqei tim  alhj  ìtan ìla ta

stoiqeÐa tou eÐnai monˆdec. Parˆdeigma:

>> A = [1, 2 ; 3, 4];


>> B = 2*ones(2);
>> A == B
ans=
0 1

0 0

stamataggelos@hotmail.com
Alexandrìpouloc Stamˆtioc - 'Aggeloc Arijmhtik  Anˆlush II
DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

Δομές Ελέγχου
H pio sunhjismènh dom  elègqou eÐnai h if , me sÔntaxh:

if sunj kh1
Entolèc
elseif sunj kh2
Entolèc
else
Entolèc
end

Παράδειγμα:
>> x = 1:3; y = [1, -2, 1];
>> if (x > 0) | (y > 0), z=x+y, end
z=
204
Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II
DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

Εντολές Επανάληψης
1
H entol  for ekteleÐ diadoqikˆ tic entolèc tou brìgqou gia kˆje tim 

tou dianÔsmatoc, me sÔntaxh:

for metrht c = timèc dianÔsmatoc gramm 


Entolèc
end
2
H entol  while ekteleÐ diadoqikˆ tic entolèc tou brìgqou ìso isqÔei h

sunj kh. H sÔntax  thc eÐnai:

while sunj kh
Entolèc
end

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB


Παραδείγματα εντολών επανάληψης
Pr¸toc trìpoc sÔntaxhc entol c for :

for k = 1 : 10
z(k) = 2 ∗ k
end
DeÔteroc trìpoc sÔntaxhc entol c for :

for k = [2, 5, 7]
2∧ k
end
Entol  epanˆlhyhcwhile :

>> num = 0; x = 10;


while num < 500
x = x + 10;
num = num + 1;
end
Metˆ thn ektèlesh twn parapˆnw entol¸n pìso ja eÐnai h tim  twn

metablht¸n num kai x;


Alexandrìpouloc Stamˆtioc - 'Aggelocstamataggelos@hotmail.com Arijmhtik  Anˆlush II
DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

Αρχεία εντολών Scripts


Ta scripts eÐnai arqeÐa keimènou pou perièqoun entolèc tou MATLAB .

To ìnomˆ touc prèpei na èqei epèktash .m (p.q. myscript.m ), to opoÐo

den prèpei na eÐnai ìnoma entol c   ˆllou arqeÐou.

EkteloÔntai eÐte mèsw tou parajurikoÔ peribˆllontoc tou editor tou

MATLAB (katˆlogoc epilog¸n Debug → Run ) eÐte apì command


to

window plhktrolog¸ntac aplˆ to ìnoma touc (p.q. myscript ) kai

kˆnontac klik sto koumpÐ enter .

To .m arqeÐo ja prèpei na brÐsketai ston energì fˆkelo. Me thn

kl sh tou script ekteloÔntai oi entolèc pou perièqei.

Ta scripts eÐnai katˆllhla gia epÐlush problhmˆtwn pou apaitoÔn

megˆlo arijmì entol¸n.

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB

ArqeÐa sunart sewn functions


Oi sunart seic sto MATLAB eÐnai m-arqeÐa me pr¸th gramm :

function [y1, y2,...] = fname(x1, x2,...)

ìpou:

Ta y1, y2,... eÐnai oi tupikèc parˆmetroi exìdou


Ta x1, x2,... eÐnai oi tupikèc parˆmetroi eisìdou
fname eÐnai to ìnoma thc sunˆrthshc kai fname.m to ìnoma tou
arqeÐou sto opoÐo eÐnai apojhkeumènh h function.
H ektèlesh gÐnetai sto command window wc ex c:

>> [z1, z2,...] = fname(w1, w2,...)


ìpou h sunˆrthsh fname kaleÐtai me pragmatikèc paramètrouc eisìdou w1,w2,...
pou antistoiqoÔn stic x1,x2,... kai apodÐdei tic pragmatikèc paramètrouc exìdou
z1,z2,... pou antistoiqoÔn stic y1, y2,...

IsodÔnamh kl sh eÐnai h akìloujh:

>> [z1, z2,...] = feval(’fname’, w1, w2,...)

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II


DianÔsmata-PÐnakec

Grafikèc Parastˆseic

Programmatismìc sto MATLAB

Programmatismìc sto MATLAB


Αρχεία συναρτήσεων functions - Παρατηρήσεις:
'Otan h tupik  parˆmetroc exìdou eÐnai mÐa den qreiˆzontai oi

agkÔlec

'Otan oi pragmatikèc parˆmetroi exìdou eÐnai mÐa   kamÐa ( 

ligìterec apì tic tupikèc) tìte h kl sh epistèfei tim  sthn pr¸th

parˆmetro exìdou (  se antÐstoiqo arijmì tupik¸n)

Sqìlia eisˆgontai metˆ to sÔmbolo %


Me thn entol  help fname emfanÐzontai ta pr¸ta sqìlia pou èqoume

eisˆgei sto fname.m


Oi metablhtèc pou emfanÐzontai mèsa sth sunˆrthsh eÐnai topikèc

To ìnoma thc sunˆrthshc kai to ìnoma tou arqeÐou prèpei na eÐnai to

Ðdio

Kˆje sunˆrthsh mporeÐ na kaleÐ ˆllec sunart seic   ton eautì thc

Oi tupikèc parˆmetroi exìdou ja prèpei na paÐrnoun kˆpoia tim 

mèsa stic entolèc thc sunˆrthshc diaforetikˆ epistrèfoun kenèc timèc

Alexandrìpouloc Stamˆtioc - 'Aggeloc stamataggelos@hotmail.com Arijmhtik  Anˆlush II

You might also like