21
Leksion Nr 4 Tema: Prezantim me m-file

Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Embed Size (px)

Citation preview

Page 1: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Leksion Nr 4

Tema: Prezantim me m-file

Page 2: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.1 Cfarë është një m-file▪ Një m-file është një skedar tekst ku ju mund të

vendosni komandat e MATLAB.

▪ Kur m- file ekzekutohet, MATLAB lexon komandat dhe ekzekuton ato ekzaktësisht sikur ju ti kishit futur seciën komand në promptin e MATLABIT(>>).

▪ Të gjithë emrat e m-file duhet të përfundojnë me shtesën “m”(p.sh. plot.m) kur ato ruhen.

▪ Nqse krijoni një filë të ri me të njejtën emër ekzistues, Matlab zgjedh atë që i shfaqet pari në renditjen e strukturës( path). Për ta pasur më të lehtë zgjidhni një emër për m-filen tuaj i cili nuk ekziston akoma. Që të shihni nëse një emër file ekziston, shtypni help filename në promptin e MATLABIT.

Page 3: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.2 Pse përdorim m-files

• Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase.

• Kur nr i komandave rritet ,ose bëhet gabim gjatë ndryshimit të disa vlerave ose variablave, shkrimi i komandave herë pas here bëhet i bezdisshëm.

4.3 Si të krijojmë dhe ruajmë një m-file

Për të krijuar një m-file zgjedhim nga menyja File, New dhe më pas zgjedhim m-file ose script. Kjo procedurë na nxjerr një dritare editor teksti si në fig e treguar.

Page 4: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.3 Si të krijojmë dhe ruajmë një m-file

Nr irreshtave

Komandat shkruhen rresht pas rreshti. Nr i rreshtave vendoset automatikisht pasi shtypim Enter dhe kalojme në një rresht të ri.

Page 5: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Shembull i nje m-file

Komanda Debug/Run.

Komente.

Percaktimi i variablave

Gjetja e rrenjeve x1, x2.

Page 6: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

• Përpara se një m-file të ekzekutohet duhet të ruhet. Kjo realizohet duke zgjedhur komandën Save As tek menyja File, zgjedhim vendin ku do ta ruajmë dhe më pas i vendosim emrin që ne dëshirojmë. Emri i m-file ka të njejtat shënime si dhe ajo e përcaktimit të variablave (ka deri në 63 karaktere përfshirë shkronjë, nr dhe vijën, pa hapsira. Emra të variablave të përcaktuara, funksione të përcaktuar dhe komandat e përcaktuara në MATLB nuk mund të përdoren si emra m-file.

Page 7: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.4 Ekzekutimi i një m-file

• Një m-file mund të ekzekutohet nga dritarja Editor duke klikuar mbi ikonën Run ose duke shkruajtur emrin e m-file në Command Window dhe më pas shtypim Enter. Që një m-file të ekzekutohet Matlabi duhet të dijë vendodhjen e tij. M-file do të ekzekutohet nqse ai ndodhet në një folder përkatës të MATLABIT ose folderi ndodhet në direktorinë path.

Page 8: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.5 Current Folder

Current folder tregohet këtu.

Page 9: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Workspace Window

Page 10: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Komandat who dhe whos

Page 11: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Editori i variablitE marrim duke klikuar 2 herë mbi variablin

Page 12: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.6 Të dhënat në një m-fileKur një m-file ekzekutohet variablat të cilat jane perdorur per llogaritje brenda file duhet te kene nje vlere te përcaktuar. Percaktimi i vleres se një variabli mund të realizohet në tre mënyra, e cila varet se ku dhe si variabli është i përcaktuar.

1. Variabli është përcaktuar dhe i është vendosur vlera në m-file.

Në këte rast variablit i është vendosur vlera brenda m-file. Nqse perdoruesi do te ekzekutoje file me vlera te ndryshme te variablit, variabli duhet ti vendoset vlera e ndryshuar, duhet ruajtur dhe me pas te ekzekutohet përsëri. P.sh:

%ky m-file llogarit mesataren e pikëve te tre lojerave%caktimi i vleres se pikeve eshte pjese e file loja1=75;loja2=93; loja3=68;mesat_pikeve=(loja1+loja2+loja3)/3

Pasi e ruajmë me emrin mest e ekzekutojmë në Command Window dhe do të marrim:

>> mest mesat_pikeve =

78.6667

Variabli është përcaktuar dhe i është vendosur vlera brenda m-file.

M-file ekzekutohet duke vendosur emrin e file. Variabli mesat_pikeve me vleren e tij shaqet në Command Window.

Page 13: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

2. Variabli është përcaktuar dhe vlera i caktohet në Command Window.Në kete rast percaktimi i vleres se variablit realizohet në Command Window. Nqse perdoruesi do te ekzekutoje file me vlera te ndryshme te variablit, vlera e re vendoset nëCommand Window me pas file ekzekutohet. P.sh:

%ky m-file llogarit mesataren e pikëve te tre lojerave%caktimi i vleres se pikeve të secili varialbël%loja1,loja2,loja3 percaktohet në Command Windowmesat_pikeve=(loja1+loja2+loja3)/3

Command Window për ekzekutimin e këtij m-file është:

Shembull 1 Shembull 2

>> loja1=67; >> loja1=87;>> loja2=70; >> loja2=90;>> loja3=50; >> loja3=81;>> mest1 >> mest1

mesat_pikeve = mesat_pikeve =79.3333 69

Page 14: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

3. Variabli është përcaktuar në m-file,por vlera specifike vendoset në Command Window kur m-file ekzekutohet.

Kjo realizohet duke perdorur komanden input per te krijuar variablin.Forma e komandës input është :

Pasi ekzekutohet komanda input si nje m-file, ne ekran shfaqet string. Perdoruesi duhet ti percaktoje nje vlere variablit duke klikuar Enter.P.sh: Shkruajmë m-file per kete rast.

%ky m-file llogarit mesataren e pikëve te tre lojerave%vlerat e seciles loje i percaktohen variablit duke perdorur te dhenat loja1=input('vendos piket ne lojen e pare ')loja2=input('vendos piket ne lojen e dyte ')loja3=input('vendos piket ne lojen e trete ')mesat_pikeve=(loja1+loja2+loja3)/3

Command Window për ekzekutimin e këtij m-file është:

Emri i variablit=input(‘string me një mesazh qe është shfaqur ne Command Window’)

Page 15: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

>> mest2vendos piket ne lojen e pare 78

loja1 =

78

vendos piket ne lojen e dyte 80

loja2 =

80

vendos piket ne lojen e trete 90

loja3 =

90

mesat_pikeve =

82.6667

Kompjuteri na shfaqmesazhin. Më pasvlerat pikeve te seciles loje shkruhet ngaperdoruesi dhe me pas ekzekutohetkomanda Enter.

Page 16: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.7 Komandat ne dalje në një m-fileMatlabi automatikisht gjeneron nje paraqitje ne ekran kur komandat ekzekutohen . P.sh nqse ne i vendosim nje variabli nje vlere te caktuar ai shfaqet ne ekran nqse ne nuk vendosim ; gjate ekzekutimit. Ne përdorim komandat fprintf dhe komandat disp për të shfaqur në ekran daljet përfundimtare.

4.6.1 Komanda dispKomanda disp perdoret per te shfaqur ne ekran elementet e nje variabli pa e shfaqur emrin e variablit gjithashtu perdoret dhe per te shfaqur nje tekst. Komanda paraqitet si me poshte:

Cdo here qe komanda ekzekutohet display na shfaqet ne nje rresht te ri. Shembull:

disp(Emri i variablit) ose disp(‘teks si një string’)

>> abc=[5 9 1;7 0 4];>> disp(abc)

5 9 17 0 4

>> disp('problemi nuk ka zgjidhje') problemi nuk ka zgjidhje

Page 17: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Shembulli tjeter na paraqet rastin e perdorimit te disp ne nje m-file

%ky m-file llogarit mesataren e pikëve te tre lojerave%vlerat e seciles loje i percaktohen variablit duke perdorur te dhenat loja1=input('vendos piket ne lojen e pare ');loja2=input('vendos piket ne lojen e dyte '); loja3=input('vendos piket ne lojen e trete '); mesat_pikeve=(loja1+loja2+loja3)/3; disp('')disp('Mesatarja e pikeve ne nje loje eshte:') disp('')disp(mesat_pikeve)

Pasi m-file është ruajtur në Matlab, ekzekutohet ekrani i shfaqur ne Command Windowështe:

>> mest3vendos piket ne lojen e pare 40 vendos piket ne lojen e dyte 50 vendos piket ne lojen e trete 60 Mesatarja e pikeve ne nje loje eshte:

50

Vetem nje variabel mund te shfaqet me ane te komands disp. Nqse kemi me shume se ne variabel duhet ne fillim ta deklarojme dhe mepas ta shfaqim.

Page 18: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

4.6.1 Komanda fprintf

Komanda fprintf sherben per te shfaqur ne ekran tekste dhe te dhena ose ti ruash ato ne tek një file. Me kete komand ne mund ta formatojme output. Per shembull vlerat dhe numrat mund te vendosen dhe shfaqen ne te njejten rresht. Komanda fprintf mund te jete e gjate dhe e komplikuar.

➢ Perdorimi i komandes fprintf per te shfaqur tekste.Komanda ka formen:

fprintf(‘teksti shkuhet si një string’)

Shembull:

>> fprintf('problemi nuk ka zgjidhje. ju lutem vendosni te dhenat.')

problemi nuk ka zgjidhje. ju lutem vendosni te dhenat.

Shembull 2 Nqse duam te vendosim fjelin ne rreshtin pasardhes perdorim simbolin\n.>> fprintf('problemi nuk ka zgjidhje.\nju lutem vendosni te dhenat.') problemi nuk ka zgjidhje.ju lutem vendosni te dhenat.

Page 19: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

➢Përdorimi i komandës fprintf për të shfaqur kombinime te tekstit me numra. Komanda ka formen:

fprintf(‘teksti shkuhet si një string %-5.2f teksti shtesë', emri i variablit)

Shembull:

%ky m-file llogarit mesataren e pikëve te tre lojerave%vlerat e seciles loje i percaktohen variablit duke perdorur te dhenat input%komanda fprintf perdoret per te shfaqur te dhenat e kerkuara ne dalje loja(1)=input('vendos piket ne lojen e pare ');loja(2)=input('vendos piket ne lojen e dyte ');loja(3)=input('vendos piket ne lojen e trete ');mesat_pikeve=mean(loja);fprintf('Mesatarja e %fpikeve ne tre loje.',mesat_pikeve)

Pasi m-file është ruajtur në Matlab, ekzekutohet ekrani i shfaqur ne Command Window ështe:

>> mest4vendos piket ne lojen e pare 10vendos piket ne lojen e dyte 14vendos piket ne lojen e trete 25Mesatarja e 16.333333pikeve ne tre loje.

Page 20: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

fprintf('…teksti….%f…%g…….%f….‘ , variabli1, variabli 2, variabli3)

Shembull5:

%ky m-file llogarit distancen e kryer nga nje goditje me predhe% te dhenat jane shpejtesia fillestare ne km/h dhe kendi i goditjes ne grade%komanda fprintf perdoret per te shfaqur te dhenat e kerkuara ne daljeV=1584; Theta=30 ; Vms=V*1000/3600 ;t=Vms*sind(30)/9.81 ;D=Vms*cosd(30)*2*t/1000 ;fprintf(‘Nje goditje me predhe ne %f grade me nje shpejtesi %f km/h do tepershkruaje nje distance %g km. ‘, Theta, V,D)

Pasi m-file është ruajtur në Matlab, ekzekutohet ekrani i shfaqur ne Command Window ështe:

>>shembulli5

Nje goditje me predhe ne 30 grade me nje shpejtesi 1584km/h do te pershkruaje njedistance 17.091km.

Ndryshojme njesite matese te shpejtesise ne m/s.

Llogarisim kohen.

Llogarisim distancen max.

Page 21: Leksion Nr 4 - jurgencoku.files.wordpress.com · 4.2 Pse përdorim m-files •Futja e kërkesave në promptin e MATLABIT bëhet më lehtësisht dhe është më efikase. •Kur nr

Komanda fprintf është e vektorizuar. Kjo do të thotë se kur një ndryshore që është një vektor ose një matricë është përfshirë në komandë, komanda përsëritet derisa të shfaqen të gjitha elementet. Nëse variabli është një matricë, të dhënat përdoren kolonë pas kolone.

X=1:5;Y=sqrt(X) ;T=[X ;Y]fprintf(‘Nqse numri eshte : % i, rrenja e tij eshte : %f \n', T)

Pasi e ruajme dhe ekzekutojme m-file ne command Window do te shfaqet :

T=1.000 2.000 3.000 4.000 5.0001.000 1.4142 1.7321 2.000 2.2361

Nqse numri eshte : 1, rrenja e tij eshte : 1.000Nqse numri eshte : 2, rrenja e tij eshte : 1.4142Nqse numri eshte : 3, rrenja e tij eshte : 1.7321Nqse numri eshte : 4, rrenja e tij eshte : 2.000Nqse numri eshte : 5, rrenja e tij eshte : 2.2361

Krijojme vektorin X

Krijojme vektorin Y

Krijojme matricen T (2x5)