Hyrje Ne Matlab

56
  Hyrje në Matlab Mr. Edmond Aliaga

description

Mathlab

Transcript of Hyrje Ne Matlab

  • Hyrje n Matlab

    Mr. Edmond Aliaga

  • Prmbajtja

    Parathnie . 3 1. Principet themelore t puns n Matlab 4 1.1. Shnimet hyrse .. 4 1.2. Formatet pr paraqitjen e t dhnave numerike .............................................. 6 1.3. Funksionet matematikore t Matlab-it 8 2. Shfrytzimi i HELP-it .. 11 2.1. Urdhri help 12 2.2. Urdhri lookfor ... 13 3. Veprimet me fusha ... 14 3.1. Fusha e thjesht ............................................................................................... 14 3.2. Qasja n elementet e fushs ............................................................................ 15 3.3. Definimi i fushs . 16 3.4. Veprimet me fusha .. 17 4. Puna me matrica .. 20 4.1. Matricat speciale . 27 5. Paraqitja grafike e t dhnave ............................................................................ 31 5.1. Urdhrat pr pun me tekst . 35 6. M-fajllat ................................................................................................................ 37 7. Shkruarja e funksioneve n Matlab ................................................................... 38 8. Operatort relacional dhe logjik ..................................................................... 40 8.1. Operatort relacional ..................................................................................... 40 8.2. Operatort logjik ... 42 9. Ciklet kontrolluese ............................................................................................... 44 9.1. Cikli For .......................................................................................................... 44 9.2. Cikli While .. 46 9.3. Struktura If-else-end ... 46 10. Shembuj me zgjidhje . 47

  • Parathnie

    Versionet e para t programit Matlab jan ndrtuar n vitet e shtatdhjeta, me

    qllimin kryesor q t shrben si vegl ndihmse n Algjebrn lineare dhe Analizn

    numerike. Me mundsit e shumta q i ofron programi, nj numr i madh i disciplinave

    shkencore dhe teknike krkojn shfrytzimin e Matlab-it. Matlab-i, prve mundsive t

    zhvillimit dhe programimit, posedon edhe nj vegl t fort e cila sht nj prej tipareve

    kryesore t ktij produkti Toolbox-t. % fakt, me an t Matlab-it, mund t krijohen

    shum thjesht funksione vetanake t cilat mund t japin zgjidhje n krkesat e

    paraqitura. Bashksia e ktyre funksioneve (m-fajllat), t bashkuar n nj qllim,

    paraqesin strukturn bazike t Toolbox-it. Toolbox-t, sigurisht se prezentojn m shum

    se sa vetm prmbledhjen e funksioneve t tilla, sepse n to sht investuar nj pun e

    madhe e shkenctarve t rangut botror nga fushat e ndryshme.

    Prve sistemit baz t programimit, ekziston edhe nj numr i paketave

    programore, t cilat mbulojn fusha t ndryshme inxhinierike: kontrollit automatik,

    identifikimit t sistemeve, analizs statistikore, analizs s sistemit n aspektin kohor dhe

    frekuentues, matematiks simbolike, ndrtimit t sinjaleve dhe fotografive, paraqitjes

    grafike 2D dhe 3D, etj. %jra ndr paketat me rndsi t madhe sht Simulink - vegl

    vizuele, me ndihmn e t cils sht e mundur q t simulohen sisteme diskrete dhe t

    vazhdueshme. Simulink-u shfrytzon bllok diagramet e funksioneve, dhe me lidhjen e tyre

    krijohet sistemi t cilin e simulojm. %j aplikim i till i programit lehtson punn

    shfrytzuesit, pr shkak se nuk krkon njohuri t mdha t sintakss s gjuhs

    programuese.

    Shumica e funksioneve dhe urdhrave t Matlab-it jan t pavarura prej sistemit

    operativ n t cilin punon Matlab-i. % Matlab, sht e mundur q t punohet n dy

    mnyra. %jra mnyr sht direkte, ku zakonisht t gjith urdhrat shkruhen n dritaren

    kryesore, me rast programi menjher kthen rezultatin. Kjo mnyr sht e

    prshtatshme kur punojm me veprime t thjeshta dhe pa prsritje. Mnyra e dyt sht

    kur shfrytzuesi, n editorin pr tekst (Matlab editor/debbuger) shkruan kodin

    (programin) i cili prbhet prej nj varg urdhrash dhe funksionesh, t cilat ruhen si m-

    fajlla (me prapashtesn .m). Kur n dritaren kryesore t Matlab-it shkruhet emri i fajllit

    t till, ekzekutohen t gjitha ato q gjenden brenda fajllit.

    Me an t ksaj dispence jam munduar q t jap informatat bazike rreth puns n

    Matlab, e q do tju shrbente t gjith atyre q studiojn n shkenca ekzakte.

    Me respekt do t pranoj vrejtjet dhe komentet e lexuesit.

    Prishtin, maj 2011 Autori

  • 4 Hyrje n Matlab

    1. Principet themelore t puns n Matlab

    1.1. Shnimet hyrse

    Pasi q keni startuar programin Matlab, n monitor paraqitet nj dritare, si n figurn e mposhtme:

    Kjo dritare prezenton hapsirn kryesore t puns me Matlab. Kursori (blinkuesi) tregon se Matlab sht i gatshm t prgjigjet n pyetjet e juaja. Veprimet matematikore bazike:

    VEPRIMI SIMBOLI SHEMBULL

    Mbledhja + 6 + 2 Zbritja 12 5 Shumzimi * 7 * 4.25 Pjestimi / ose \ 56 / 8 = 8 \ 56 Fuqizimi ^ 5 ^ 2

    Nj shembull: Nevojitet t llogaritet: 2 + 4 + 6. Q t fitojm rezultatin, mjafton q t shkruajm kt detyr brenda dritares prkatse dhe shtypim tastin Enter:

    2 + 4 + 6 ans = 12

    pas s cils, Matlab-i jep prgjigjen (ans sht shkurtes nga gjuha angleze prgjigje). Nse sht e nevojshme q t llogarisim shprehjen (4*25)+(6*22)+(2*99), shtypim si n vazhdim:

  • 1. Principet themelore t puns n Matlab 5

    4*25+6*22+2*99 ans = 430 Mnyr tjetr se si mund t vijm deri te zgjidhja e dy shembujve paraprak, sht me ndihmn e ndryshoreve A, B dhe C. Ather, zgjidhjet e ktyre dy shembujve mund ti fitoni duke shkruar nj varg t urdhrave n Matlab:

    A=2 A = 2 B=4; C=6 C = 6 D=A+B+C D = 12 E=B*25+C*22+A*99 E = 430

    Ktu, jan krijuar konstantat A, B dhe C me vlerat prkatse 2, 4 dhe 6. Vlen t theksohet se shenja ; pas dhnies s vlers s caktuar nj konstateje, mundson q t pranon at vler pa pasur nevoj q t prezentoj n ekran. T kthehemi tani te disa veti themelore t Matlab-it. Gjat puns n hapsirn komanduese, Matlab-i mban n mend t gjith urdhrat (komandat) t cilat jan vendosur, si dhe vlerat q iu jan dhn ndryshoreve t cilat shfrytzohen n program. Kto urdhra ose vlera t ndryshoreve mund t verifikohen shum leht. Shembull, q t verifikojm vlern e ndryshores C, nevojitet q t shtypet vetm simboli C (n fund t lists) dhe t shtypet tasti Enter:

    C C = 6

    Si prgjigje, Matlab do tju jep vlern e ndryshores s krkuar. Nse na paraqitet nevoja q t verifikohen emrat e disa ose t gjitha ndryshoreve, ather nga Matlab-i krkoni duke shtypur fjaln e rezervuar who, dhe shtypni ENTER:

  • 6 Hyrje n Matlab

    who Your variables are: A B C

    1.2. Formatet pr paraqitjen e t dhnave numerike Gjat puns n Matlab me t dhna numerike, vlejn kto rregulla: nse rezultati sht Integer (Integer numr i plot i nj rangu t caktuar), ather Matlab e prezenton at si Integer, nse e dhna numerike sht numr real, Matlab e prezenton si numr real me katr shifra pas piks dhjetore. N tabeln e mposhtme, jan dhn disa formate t cilat mund t prdoren n Matlab:

    Formati long 35.8333333333333334 16 shifra Formati short e 3.5833e+01 5 shifra plus eksponenti Formati long e 3.583333333333334e+01 16 shifra plus eksponenti Formati hex 4041eaaaaaaaaaab heksadecimal Formati bank 35.83 dy shifra pas piks dhjetore Formati + + pozitiv, negativ ose zero Formati rat 215/6 prafrimi racional Formati short 35.8333 formati i prbashkt

    Duhet t ceket se Matlab-i nuk e ndryshon kontekstin e brendshm kur t shnohen numrat n formate t ndryshme, por vetm i prezenton ato n formatet e zgjedhura. Sikur edhe n do gjuh tjetr programuese, edhe n Matlab ekzistojn rregulla t caktuara kur dshirojm ti emrtojm ndryshoret. Para s gjithash, emri i ndryshores duhet t jet fjal e vetme (pa kputje, ose pa distanc). N Matlab, nuk sht e njjt nse te emri i ndryshores paraqiten shkronjat e vogla apo t mdha. Pr shembull, fruit, Fruit, FrUit dhe FRUIT jan ndryshore t ndryshme. M tutje, gjatsia maksimale e emrtimit t ndryshores sht 19 karaktere. T gjith karaktert pas karakterit 19 do t jen t injoruar. sht obligative q emrtimi i ndryshores t fillon me shkronj, pas s cils mund t vazhdohet me shkronja tjera, numra ose me simbolin _. N Matlab, ekziston nj numr i simboleve speciale:

    ans Ndryshorja n t ciln vendoset rezultati pas kryerjes s veprimit (operacionit) prkats

    pi Numri pi eps Numri m i vogl i cili kur ti shtohet nj njsie jep numrin me pik

    lvizse i cili sht m i madh se nj inf Vlera e pafundme ( )01 NaN 0/0 vlera e padefinuar (Not-a-Number) i Numri imagjinar realmin Numri real m i vogl pozitiv realmax Numri real m i madh pozitiv

  • 1. Principet themelore t puns n Matlab 7

    Pas definimit t ndryshores n Matlab, mund t jet e nevojshme q ndryshorja e vzhguar t ridefinohet, respektivisht ti jepet nj vler tjetr. Shikojm nj shembull t thjesht:

    A=2; B=4; C=6; D=A+B+C D=

    12 Nse tani ridefinojm p.sh. ndryshoren A, duke i dhn vlern 6: A=6; D

    D= 12 vrejm se rezultati nuk ka ndryshuar, pra Matlab nuk e ka pranuar ndryshimin e vlers s ndryshores A. N mnyr q t pranohet nj ndryshim i till i vlers prkatse, sht e nevojshme q t prdoren disa urdhra t Matlab-it, dhe t krkohet prsri llogaritja e algoritmit t dhn. M von, kur do t sqarohen m-fajllat, do t sqarohet edhe mnyra m e thjesht e ridefinimeve t ndryshoreve brenda Matlab-it. Krejt kjo ka t bj edhe me ndryshoret speciale t prezentuara m hert. Pas startimit t Matlab-it, ktyre ndryshoreve u jepen vlera nga tabelat e listuara (t vendosura) m hert. Nse bni ridefinimin e ktyre ndryshoreve, vlerat e reja t dhna mbesin ashtu deri sa t fshini kto ndryshore ose prderisa Matlab t starton prsri. Pr kt arsye, nuk preferohet ridefinimi i ndryshoreve speciale nse nuk sht e domosdoshme. Ndryshoret n rrethinn e Matlab-it mund t fshihen (pa kthim mbrapa) duke prdorur urdhrin clear. Kshtu, p.sh., urdhri clear A fshin ndryshoren A, urdhri clear B C fshin n t njjtn koh ndryshoret B dhe C, prderisa urdhri clear fshin t gjitha ndryshoret n rrethin. Ktu duhet pasur kujdes sepse Matlab nuk krkon q t konfirmoni kt udhr, porse menjher e ekzekuton, d.m.th. fshin t gjitha ndryshoret pa pasur mundsi q ndryshoret e fshira n fardo mnyre t mund t kthehen mbrapa. Nse n vargun e urdhrave t Matlab-it nevojitet q t vendosen komente me qllim t prcjelljes m t leht t programit, ather, menjher pas urdhrit t caktuar mund t vendoset simboli % pas s cilit shkruani komentet e juaja, si p.sh.

    n=10 % n prcakton gjatsin e vargut n = 10

    Matlab lejon q brenda nj rreshti t shnohen m shum se nj urdhr (komand) me kushtin q ato t jen t ndara n mes veti me simbolet , ose ;

  • 8 Hyrje n Matlab

    A=2 , B=4 ; C=6 A = 2 C = 6

    N kt rast, ndryshoret A dhe C jan t prezentuara si rezultate, sepse pas tyre nuk sht i vendosur simboli ;. Matlab-in mundeni n do moment t ndrpreni duke shtypur CTRL+C n tastier. Nse keni prfunduar me punn, ather shkruani quit dhe shtypni Enter, me rast do t mbyllet krejtsisht. 1.3. Funksionet matematikore t Matlab-it

    Matlab-i ofron nj numr t konsiderueshm t funksioneve matematikore t cilat shfrytzohen pr zgjidhjen e problemeve prej fushave t ndryshme shkencore. Lista e funksioneve matematikore t cilat prkrahen nga Matlab, jan dhn n tabeln e mposhtme. Nj lehtsim i madh gjat puns me kt paket programore sht ngjashmria e shnimeve (simbolikave) standarde matematikore. Lista e funksioneve matematikore:

    abs (x) vlera absolute acos (x) arkus kosinus acosh (x) arkus kosinus hiperbolik angle (x) kndi asin (x) arkus sinus asinh (x) arkus sinus hiperbolik atan (x) arkus tangjent atan2 (x,y) arkus tangjent atanh (x) arkus tangjent hiperbolik ceil (x) bashksia e numrave t plot m t vogl ose baraz me x conj (x) numri i konjuguar cos (x) kosinus cosh (x) kosinus hiperbolik exp (x) xe fix (x) rrumbullaksimi nga zero floor (x) bashksia e numrave t plot m t mdhenj ose baraz me x

  • 1. Principet themelore t puns n Matlab 9

    Nj prparsi tjetr e Matlab-it sht mundsia e puns me numra kompleks. Q t ilustrojm nj gj t till, shqyrtojm ekuacionin kuadratik t forms:

    02 =++ cbxax

    Zgjidhjet e ktij ekuacioni jan t njohura:

    a

    acbbx ,

    2

    42

    21

    =

    Pr a=1, b=5 dhe c=6, zgjidhjet e caktuara t ekuacionit merren si m posht:

    a=1; b=5; c=6; x1=(-b+sqrt(b^2-4*a*c))/(2*a) x1 =

    -2 x2=(-b-sqrt(b^2-4*a*c))/(2*a) x2 =

    -3 a*x1^2+b*x1+c % verifikimi i rezultatit ans =

    0 a*x2^2+b*x2+c % verifikimi i rezultatit ans =

    0 Dy rreshtat e fundit, shihet qart se shrbejn pr verifikim t rezultatit. Te ekuacioni kuadratik me koeficient till t zgjedhur, diskriminanta sht m e madhe se zero, kshtu q zgjidhjet kan qen reale dhe t ndryshme. Zgjedhim tani si koeficient t ekuacionit vlerat n vazhdim: a=1, b=4 dhe c=13. Ather, zgjidhjet e ekuacionit jan:

    a=1; b=4; c=13;

    imag (x) pjesa imagjinare log (x) funksioni logaritmik log10 (x) logaritmi me bazn 10 real (x) pjesa reale rem (x,y) mbetja gjat pjestimit round (x) rrumbullaksimi i numrit te numri i plot m i prafrt sign (x) funksioni signum sin (x) sinus sinh (x) sinus hiperbolik sqrt (x) rrnja katrore tan (x) tangjent tanh (x) tangjent hiperbolik

  • 10 Hyrje n Matlab

    x1=(-b+sqrt(b^2-4*a*c))/(2*a) x1 =

    -2.0000+3.0000i x2=(-b-sqrt(b^2-4*a*c))/(2*a) x2 =

    -2.0000-3.0000i Ktu, x1 dhe x2 jan dhn n trajtn komplekse, respektivisht n formn z=a+bi, me vlerat reale dhe imagjinare, prkatsisht. N vazhdim, japim disa shembuj me numra kompleks dhe operacionet me ta:

    c1=1-2i c1 = 1.0000 - 2.0000i c1=1-2j c1 = 1.0000 - 2.0000i c2= 3*( 2-sqrt ( -1 ) *3 ) c2 = 6.0000 - 9.0000i c3=sqrt ( -2 ) c3 = 0 + 1.4142i c4=6+sin( .5 )*i c4 = 6.0000 + 0.4794i c5=6+sin( .5 )*j c5 =

    6.0000 + 0.4794i Prej ktyre shembujve shihet se Matlab-i nuk dallon me shnime te pjest imagjinare, d.m.th., pr t, sht e njjt se a e shnojm me i apo me j. N disa gjuh programuese, operacionet me numra kompleks ju shkaktojn shum telashe programerve, si dhe puna me numra kompleks sht e mundimshme. N Matlab, nuk ekziston nj problem i till sepse do numr kompleks shnohet njjt sikur ata real. N shembullin e ardhshm, ilustrohet puna me numra kompleks gjat ekzekutimit t disa veprimeve matematikore:

    kontrollo = i^2 % kontrollo sht ndryshore kontrollo = -1.0000 + 0.0000i kontrollo = real (kontrollo) kontrollo =

    -1

  • 2. Shfrytzimi i HELP-it 11

    N kt shembull, sht shfrytzuar urdhri real i cili si rezultat kthen pjesn reale t numrit kompleks. Si shembull t fundit, shqyrtojm formn e Euler-it:

    =+ jMeiba

    ku moduli M, dhe argumenti jan dhn me:

    =

    =

    =

    +=

    sinMb

    cosMa

    )a

    b(arctg

    baM 22

    Kalimi prej koordinatave drejtkndore n ato polare, dhe anasjelltas, bhet me ndihmn e urdhrave abs, angle, real dhe imag:

    c1=1-2i; mag_c1=abs(c1) % moduli i numrit kompleks mag_c1 = 2.2361 angle_c1=angle(c1) % argumenti i numrit kompleks angle_c1 = -1.1071 deg_c1=angle_c1*180/pi deg_c1 = -63.4349 real_c1=real(c1) real_c1 = 1 imag_c1=imag(c1) imag_c1 = -2

    2. Shfrytzimi i HELP-it

    Programimi n Matlab sikur edhe n gjuht tjera programuese, krkon njohuri pr tr vargun e urdhrave t ksaj pakete programore. Q t vini deri te urdhri i caktuar, Matlab-i mund tju ndihmoj n tri mnyra:

    Shfrytzimi i urdhrit help, Shfrytzimi i urdhrit lookfor, Shfrytzimi i help-it direkt prej menys

  • 12 Hyrje n Matlab

    2.1. Urdhri help

    Shfrytzimi i ktij urdhri sht mnyra m e thjesht q t merrni informata pr urdhrin i cili ju nevojitet. P.sh.:

    help sqrt SQRT Square root. SQRT(X) is the square root of the elements of X. Complex results are produced if X is not positive.

    See also SQRTM. Por, n pyetsorin:

    help cows cows not found. Matlab-i thjesht prgjigjet se nuk mund t gjen asgj pr cows. Urdhri help funksionon shum mir nse Matlab-it i keni dhn n mnyr eksplicite temn apo urdhrin q ju intereson. HELP, gjithashtu ofron edhe disa udhzime t cilat mund t shfrytzohen gjat krkimit pr urdhrin e nevojshm. Pr kt, sht e mjaftueshme q t shnohet:

    help HELP topics: toolbox\local - Local function library. matlab\datafun - Data analysis and Fourier transform functions. matlab\elfun - Elementary math functions. matlab\elmat - Elementary matrices and matrix manipulation. matlab\funfun - Function functions - nonlinear numerical methods. matlab\general - General purpose commands. matlab\color - Color control and lighting model functions. matlab\graphics - General purpose graphics functions. matlab\iofun - Low-level file I/O functions. matlab\lang - Language constructs and debugging. matlab\matfun - Matrix functions - numerical linear algebra. matlab\ops - Operators and special characters. matlab\plotxy - Two dimensional graphics. matlab\plotxyz - Three dimensional graphics. matlab\polyfun - Polynomial and interpolation functions. matlab\sounds - Sound processing functions. matlab\sparfun - Sparse matrix functions. matlab\specfun - Specialized math functions. matlab\specmat - Specialized matrices. matlab\strfun - Character string functions. matlab\dde - DDE Toolbox. matlab\demos - The MATLAB Expo and other demonstrations. toolbox\codegen - Real-Time Workshop

  • 2. Shfrytzimi i HELP-it 13

    toolbox\control - Control System Toolbox. toolbox\dspblks - DSP Blockset. toolbox\uitools - User Interface Utilities. fuzzy\fuzzy - Fuzzy Logic Toolbox. fuzzy\fuzdemos - Fuzzy Logic Toolbox Demos. toolbox\images - Image Processing Toolbox. nnet\nnet - Neural Network Toolbox. nnet\nndemos - Neural Network Demonstrations and Applications. toolbox\signal - Signal Processing Toolbox. simulink\simulink - SIMULINK model analysis and construction functions. simulink\simdemos - SIMULINK demonstrations and samples. simulink\blocks - SIMULINK block library. simulink:2sl - SystemBuild 3.0 model import into SIMULINK. wavelet\wavelet - Wavelet Toolbox.

    wavelet\wavedemo - Wavelet Toolbox Demos. Lista e urdhrave n kompjuterin tuaj mund t ndryshoj prej lists s msiprme. N do rast, lista e msiprme ju mundson q shum shpejt t vini deri te urdhri q ju intereson. Shfrytzimi direkt i urdhrit help, ju mundson q t merrni informata kthyese vetm nse jeni t sigurt se cili urdhr ju nevojitet. Nse nuk jeni t sigurt, dy mundsit tjera mund tju ndihmojn shum. 2.2. Urdhri lookfor

    Ky urdhr, krkon t gjith rreshtat (linjat) e help-it, dhe si informata kthen vetm ato q prmbajn fjaln kryesore t ciln e keni shnuar. P.sh.:

    lookfor complex CPLXPAIR Sort numbers into complex conjugate pairs. CONJ Complex conjugate. IMAG Complex imaginary part. REAL Complex real part. CDF2RDF Complex diagonal form to real block diagonal form. RSF2CSF Real block diagonal form to complex diagonal form. CPLXDEMO Maps of functions of a complex variable. CPLXGRID Polar coordinate complex grid. CPLXMAP Plot a function of a complex variable. GRAFCPLX Demonstrates complex function plots in MATLAB. DSORT Sort complex discrete eigenvalues in descending order. ESORT Sort complex continuous eigenvalues in descending order LOGM2 LOGM2(X) is the matrix natural logarithm of X . Complex CPLXICON Complex Icon function for SIMULINK Complex blocks. SCPLXWKS DSP Blockset S-Function to store complex SIMULINK data in workspace.

    CCEPS Complex cepstrum. Urdhri complex nuk sht urdhr i Matlab-it, porse sht e shnuar n prshkrimin e disa urdhrave t tij, ose p.sh.:

  • 14 Hyrje n Matlab

    help conj CONJ Complex conjugate.

    CONJ(X) is the complex conjugate of X.

    3. Veprimet me fusha

    T gjitha shqyrtimet e deritashme prshkruanin punn me numra, me skalar dhe veprimet me ta. Veprimet me skalar jan veprime themelore n matematik. N ann tjetr, nse nevojiten veprime t tilla me m shum skalar, veprimet e prsritshme do t prcilleshin me vshtirsi t caktuara. Pikrisht pr shkak t ktyre arsyeve, ka ardhur deri te ideja e fushave (matricave). Matlab-i, t gjitha ndryshoret i konsideron si matrica dhe t gjitha veprimet i ekzekuton si veprime matricore. Skalart jan vetm raste speciale t matricave t dimensionit 1x1. 3.1. Fusha e thjesht

    Shqyrtojm ktu shembullin e llogaritjes s vlerave t funksionit sinus n gjysmn e periods. sht e qart se nuk mund t llogariten t gjitha vlerat e ktij funksioni n t gjitha pikat e intervalit t dhn (pasi q ka pafund shum pika t tilla), por kufizohemi n nj numr t caktuar t pikave t intervalit t dhn. Marrim si shembull q hapi diskret sht 0.1 . Deri te rezultati mund t vijm nse vendosim (shnojm) veanarisht t gjitha vlerat e argumenteve dhe krkojm rezultatin. Mirpo, nj mnyr m e shpejt pr t arritur deri te rezultati sht shfrytzimi i fushave. Definimi i fushave sht i thjesht:

    x= [ 0 .1*pi .2*pi .3*pi .4*pi .5*pi .6*pi .7*pi .8*pi .9*pi pi ] x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 y=sin (x) y = Columns 1 through 7 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 Columns 8 through 11

    0.8090 0.5878 0.3090 0.0000 sht e mjaftueshme q t hapet kllapa e mesme, t vendosen vlerat e dshiruara, t ndara n mes veti me presje ose vetm me nj distanc, dhe n fund t mbyllet kllapa e mesme. Matlab-i, tani kupton q ju dshironi q t llogarit sinusin e do elementi prej x, dhe se rezultati duhet t vendoset n fushn y. Ky sht dallimi esencial i Matlab-it me gjuht tjera programuese. Nse si element i fushs vendoset numri kompleks, ather, ai duhet t vendoset si unik (i vetm), pa distanc ose i vendosur n kllapa t vogla. P.sh.,

  • 3. Veprimet me fusha 15

    fusha [ 1 -2i 3 4 5+6i ] prmban pes elemente, prderisa fushat [( 1 -2i ) 3 4 5+6i] ose [ 1-2i 3 4 5+6i ] prmbajn nga katr elemente. 3.2. Qasja n elementet e fushs

    N shembullin e msiprm, fusha x prmbante 11 elemente. N fakt, kjo sht matric me nj rresht dhe njmbdhjet kolona, ose fush e thjesht e gjatsis 11. Qasja n do element t fushs sht e thjesht. Mjafton q t shnohet emri i fushs dhe indeksi i elementit.

    x ( 3 ) % elementi i tret i fushs x ans = 0.6283 y ( 5 ) % elementi i pest i fushs y ans =

    0.9511 Qasja n vargun e elementeve t fushs, mund t bhet n kt mnyr:

    x ( 1:5 ) ans = 0 0.3142 0.6283 0.9425 1.2566 y ( 3: -1 : 1) ans =

    0.5878 0.3090 0 N dy shembujt e msiprm, numri i dyt n kllapat e vogla, tregon hapin, ndrsa ai me shenjn negative nnkupton q duhet t mirret elementi n hapin e caktuar por n drejtimin e kundrt.

    x ( 2 : 2 : 7 ) ans =

    0.3142 0.9425 1.5708 N kt mnyr, kemi gjetur edhe elementin e dyt, t katrt dhe t gjasht t fushs.

    y ( [ 8 2 9 1] ) ans = 0.8090 0.3090 0.5878 0

    N kt shembull kemi shfrytzuar fushn [ 8 2 9 1 ] q t nxjerrim elementet e fushs y n renditjen t ciln ne e dshirojm. Rekomandimi sht q ktu t merrni vetm disa shembuj, si dhe t provoni t thirrni elementin e pesmbdhjet (i cili nuk ekziston), dhe t shikoni se ka do t veproj Matlab-i.

  • 16 Hyrje n Matlab

    3.3. Definimi i fushs

    N njrin prej shembujve paraprak, fushn e kemi definuar duke vendosur vlera t caktuara elementeve t fushs. Ai shembull prmbante saktsisht 11 vlera. Mirpo, ka nse nevojitet q t vendosen 111 vlera?. N vazhdim, tregojm dy mnyra se si mund ta bjm kt:

    x = ( 0 : 0.1 : 1 )*pi x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416

    ose x = linspace ( 0, pi, 11 ) x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416

    N shembullin e par sht definuar fusha e cila fillon prej zeros duke u rritur pr 0.1 dhe prfundon kur merr vlern 1. do element i fushs sht i shumzuar me pi n mnyr q t fitohet vlera e dshiruar e argumentit. N rastin e dyt, sht shfrytzuar urdhri i Matlab-it, linespace, me sintaksn:

    linspace ( vlera fillestare, hapi, vlera prfundimtare )

    N t dy shembujt, jan definuar fusha n t cilat elementet jan rritur n mnyr lineare pr pi. Nse nevojitet q shkalla e elementeve t jet logaritmike, ather shfrytzohet urdhri i Matlab-it, logspace:

    logspace ( 0, 2, 11 ) ans = Columns 1 through 7 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 Columns 8 through 11 25.1189 39.8107 63.0957 100.0000

    N kt shembull sht definuar fusha, elementi i par i s cils sht 010 , ndrsa i fundit 210 . Sintaksa e ktij urdhri sht:

    logspace (eksponenti fillestar, eksponenti prfundimtar, numri_elementeve)

  • 3. Veprimet me fusha 17

    N rastin kur renditja e elementeve t fushs sht arbitrare, definohen dy apo m shum fusha (sa sht e nevojshme), dhe pastaj ato bashkohen n nj fush t vetme. Kjo mund t bhet kshtu:

    a=1 : 5, b=1 : 2 : 9 a = 1 2 3 4 5 b = 1 3 5 7 9

    N kt mnyr jan definuar dy fusha, a dhe b. Vjm re se dy rreshtat (e ndryshm) jan shnuar brenda nj linje t ndar n mes veti me presje. Bashkimi i ktyre dy fushave n nj fush bhet me:

    c = [ b a ] c =

    1 3 5 7 9 1 2 3 4 5 Me an t urdhrit:

    d=[ a( 1:2:5 ) 1 0 1] d = 1 3 5 1 0 1

    sht definuar fusha d, e cila prmban elementin e par, t tret dhe t pest t fushs a, si dhe elementet 1, 0 dhe 1. Veprimet matematikore, mbledhje, zbritje, shumzim dhe pjestim t fushs me skalar, aplikohen veant n do element t fushs. Kshtu, p.sh.:

    a-2 ans =

    -1 0 1 2 3 Me kt urdhr, do antar i fushs zvoglohet pr dy.

    2*a-1 ans = 1 3 5 7 9

    Me kt urdhr, do antar shumzohet pr 2, dhe pastaj secilit prej tyre i hiqet nga nj. 3.4. Veprimet me fusha

    Veprimet matematikore me fusha jan m t komplikuara n krahasim me veprimet e sqaruara m hert n mes t skalarve dhe fushave, posaqrisht nse fushat jan t gjatsive t ndryshme. Nse fushat jan t s njjts gjatsi, veprimet e mbledhjes,

  • 18 Hyrje n Matlab

    zbritjes, shumzimit dhe pjestimit n mes t elementeve kryhen n pozitat e njjta n fush. Kshtu, p.sh.:

    a, b a = 1 2 3 4 5 b = 1 3 5 7 9

    jep vlerat e elementeve t fushave a dhe b, e pastaj

    a+b ans = 2 5 8 11 14

    mbledh elementet prkatse dhe i vendos n rezultat (ans).

    ans-b ans = 1 2 3 4 5

    ndrsa n kt shembull, shihet qart se rezultati sht vet fusha a.

    2*a-b ans =

    1 1 1 1 1 N kt rast, do element sht i shumzuar me dy, dhe prej secilit element i sht hequr vlera e elementit prkats nga fusha b. Shumzimi i elementeve prkatse t dy fushave, kryhet si n vijim:

    a .* b ans =

    1 6 15 28 45 Elementet e fushs a shumzohen me elementet e fushs b t cilt kan t njjtin indeks. Pr kt shumzim shfrytzohet operatori .. Shumzimi pa kt pik ka t bj me shumzimin e matricave. N shembullin konkret, shumzimi matricor (pa operatorin pik) nuk ka kuptim, si shihet n vazhdim:

    a*b ??? Error using ==> * Inner matrix dimensions must agree.

    Operatori i pjestimit t elementeve t njrs fush me elementet prkatse t fushs tjetr, gjithashtu krkon operatorin .

  • 3. Veprimet me fusha 19

    a ./b ans = 1.0000 0.6667 0.6000 0.5714 0.5556 b .\a ans =

    1.0000 0.6667 0.6000 0.5714 0.5556 Shum shpesh, gjat puns me fusha t ktij lloji, elementet e fushs nevojitet q t ngriten n katror apo t ngriten n fuqi me eksponentin arbitrar. Edhe n kt rast, prgjat operatorit t fuqis duhet shfrytzuar simbolin ., n mnyr q ky operator t mund t aplikohet n do element t fushs. Shembull:

    a .^ 2 ans =

    1 4 9 16 25 Pra, ktu do antar i fushs a sht ngritur n katror. Ndrsa, n shembullin vijues:

    2 .^ a ans =

    2 4 8 16 32 numri 2 sht ngritur n fuqi me eksponentin q i takon elementit prkats t fushs a. N vazhdim, disa shembuj:

    b .^ a ans = 1 9 125 2401 59049 b .^ ( a - 3 ) ans =

    1.0000 0.3333 1.0000 7.0000 81.0000 N shembujt paraprak, fushat q jan definuar prmbanin vetm nj rresht dhe nga disa kolona, pra fusha t tipit vektorial. Rezultatet me kto fusha, gjithashtu kan qen t tipit vektorial. Matlab-i lejon q t bhet edhe definimi i fushave t tipit vektor kolon, d.m.th., fush e cila do t prmbante vetm nj kolon e disa rreshta. Te definimi i fushave n kt mnyr, vlejn t gjitha rregullat e mhershme, vetm se rezultati jepet si vektor kolon. N vazhdim, jepen disa shembuj n t cilt, fushat jan definuar si vektor kolona:

    c = [ 1 ; 2 ; 3 ; 4 ; 5 ] c = 1 2 3 4 5

  • 20 Hyrje n Matlab

    Duhet vn re se elementet e ndara me distanc apo me presje definohen si elemente brenda nj rreshti dhe shum kolonave, ndrsa elementet e ndara me simbolin ; definojn fushn e cila ka nj kolon dhe disa rreshta.

    a = 1 : 5 a = 1 2 3 4 5 b =a' b = 1 2 3 4 5

    N dy shembujt e fundit sht shfrytzuar simboli pr transponimin e vektor rreshtit n vektor kolon, dhe anasjelltas.

    4. Puna me matrica

    Pasi q matrica sht elementi themelor n Matlab, ekzistojn mnyra t shumta

    pr manipulim dhe pun me matrica. Kur t definohet matrica, respektivisht vendoset n program, Matlab-i mundson nj varg t tr t hapave t cilt ndihmojn matricn e vendosur (n program) q t ndryshohet. N fakt, ky sht elsi pr shfrytzim efikas n Matlab. Kt tem e kemi shtjelluar pak n shembujt ku sht treguar puna me fushat e thjeshta. Q t ilustrojm m shum, marrim shembujt n vazhdim:

    A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6

    7 8 9 Ktu, sht definuar matrica A. N rastin kur na nevojitet q t ndryshojm ndonjrin prej elementeve t matrics s definuar, shnojm si m posht:

    A(3,3)=0 A = 1 2 3 4 5 6 7 8 0

  • 4. Puna me matrica 21

    ku shihet qart se elementi i cili gjendet n rreshtin e tret, kolonn e tret, sht shndrruar n vlern zero.

    A(2,6)=1 A = 1 2 3 0 0 0 4 5 6 0 0 1 7 8 0 0 0 0

    N kt shembull, n rreshtin e dyt, kolonn e gjasht sht gjeneruar vlera 1. Pasi q matrica e definuar m hert nuk e ka kt dimension, vendet (vlerat) tjera jan mbushur me zero, kshtu q matrica edhe m tutje ka mbetur drejtkndore.

    A=[1 2 3; 4 5 6; 7 8 9] ; B=A(3: -1: 1 , 1 : 3) B = 7 8 9 4 5 6

    1 2 3 N kt mnyr, sht krijuar matrica B, ashtu q rreshtat e matrics A jan marr n drejtim t kundrt (anasjelltas).

    B=A(3: -1: 1 , : ) B = 7 8 9 4 5 6 1 2 3

    Efekti i ktij urdhri sht i njjt me t mparshmin. Simboli : nnkupton se urdhri ekzekutohet n t gjitha kolonat. Kjo n t vrtet sht shnimi pr 1:3.

    C=[A B(: , [1 3] ) ] C = 1 2 3 7 9 4 5 6 4 6 7 8 9 1 3

    Me kt urdhr, sht dhn matrica C, ashtu q ana e djatht e matrics A sht plotsuar me kolonn e par dhe t tret t matrics B.

  • 22 Hyrje n Matlab

    B=A( 1 : 2 , 2 : 3 ) B = 2 3 5 6

    Ktu sht definuar matrica B, ashtu q prej matrics A sht hequr rreshti i tret dhe kolona e par.

    C=[1 3] C = 1 3 B=A(C , C) B = 1 3 7 9

    N kt shembull sht shfrytzuar fusha C pr adresim t matrics A. Ktu sht formuar matrica B ashtu q nga matrica A sht hequr rreshti i dyt dhe kolona e dyt, prkatsisht prej rreshtit t par e t tret, dhe kolons s par e t tret, t matrics A.

    B=A( : ) B = 1 4 7 2 5 8 3 6 9

    Me kt urdhr, matrica A sht shndrruar n vektor kolon.

    B=B' B =

    1 4 7 2 5 8 3 6 9 Ktu sht kryer transponimi i matrics B.

  • 4. Puna me matrica 23

    B=A B = 1 2 3 4 5 6 7 8 9 B( : , 2 )=[ ] B = 1 3 4 6 7 9

    N kt shembull, sht ridefinuar matrica B, ashtu q prej matrics s mhershme B sht hequr kolona e dyt. N rastin kur dika sht e barazuar me matric t zbrazt, ather ajo fshihet, duke llogaritur n t njjtn koh edhe dimensionin e matrics, si shihet m posht:

    B=B' B = 1 4 7 3 6 9 B( 2 , : ) = [ ] B = 1 4 7

    Shihet qart se ktu sht fshir rreshti i dyt i matrics B.

    A( 2 , : ) = B A = 1 2 3 1 4 7 7 8 9

    Ktu, n rreshtin e dyt t matrics A sht vendosur matrica B.

    B=A( : , [2 2 2 2] ) B = 2 2 2 2 4 4 4 4 8 8 8 8

  • 24 Hyrje n Matlab

    Tani, matrica B sht krijuar me duplikim t katrfisht t t gjith rreshtave me kolonn e dyt t matrics A.

    A( 2 , 2 )=[ ] ??? In an assignment A(matrix,matrix) = B, the number of rows in B and the number of elements in the A row index matrix must be the same.

    Ky urdhr nuk sht i lejuar. Dimensionet e matricave n t dy ant e barazimit duhet t jen t krahasueshme (t barabarta). N rastin ton, n ann e majt t barazimit sht skalari (matrica e dimensionit 1x1), ndrsa n ann e djatht nj varg i zbrazt (matrica e dimensionit 0x0), dhe pr kt arsye Matlab-i lajmron gabim.

    B=A( 4 , : ) ??? Index exceeds matrix dimensions.

    Edhe ky urdhr nuk sht i lejuar, pr shkak se matrica A nuk i ka katr rreshta.

    C( 1: 6 )=A( : , 2 : 3 ) C = 2 4 8 3 7 9

    Ktu sht krijuar vektori C, me bashkangjitje dhe transponim t kolons s dyt dhe t tret t matrics A. N disa shembuj t ardhshm, do t tregohet pr shfrytzimin e operatorve relacional gjat puns me fusha dhe matrica.

    x=-3:3 x = -3 -2 -1 0 1 2 3 abs(x)>1 ans = 1 1 0 0 0 1 1

    N kt shembull, sht definuar vektori x, ndrsa si rezultat jan kthyer njsha n t gjith vendet ku vlera absolute e secilit antar sht m e madhe se nj.

    y=x(abs(x)>1) y = -3 -2 2 3

    N shembullin e kaluar sht definuar fusha y n t cilin jan t vendosur t gjith elementet prej x, vlera absolute e t cilave sht m e madhe se nj.

  • 4. Puna me matrica 25

    y=x( [ 1 1 1 1 0 0 0 ] ) y = -3 -2 -1 0

    Me kt urdhr jan selektuar katr elementet e para, prderisa t tjert jan injoruar. Nse kt urdhr e krahasojm me:

    y=x( [ 1 1 1 1 ] ) y =

    -3 -3 -3 -3 ather shihet se ktu sht krijuar y ashtu q katr her sht prsritur antari i par i x.

    y=x( [ 1 0 1 0 ] ) ??? Index into matrix is negative or zero. Ky urdhr nuk sht lejuar q t ekzekutohet pr shkak se elementet (n kllapa) prezentojn indekset pr vektorin x, ndrsa indekset nuk mund t jen negativ ose zero.

    x(abs(x)>1)=[ ] x = -1 0 1

    Rezultati i ktij urdhri sht se prej fushs x jan larguar t gjith elementet, vlera absolute e t cilve sht m e madhe se nj. Ky shembull tregon se operatori relacional mund t shfrytzohet edhe n ann e majt t barazimit t msiprm. E gjith ajo q sht prmendur deri m tani, vlen edhe gjat puns me matrica.

    b=[5 -3 ; 2 -4 ] b = 5 -3 2 -4 x=abs(b)>2 x = 1 1 0 1 y=b(abs(b)>2) y = 5 -3 -4

    Rezultati i urdhrit t fundit sht vendosur n vektor kolon, sepse nuk ekziston mundsia (mnyra) se si t formohet matrica me tri elemente. Ktu ka edhe nj qasje tjetr, e ajo sht shfrytzimi i urdhrit find.

  • 26 Hyrje n Matlab

    x=-3:3 x = -3 -2 -1 0 1 2 3 k=find(abs(x)>1) k = 1 2 6 7

    N kt rast, prej urdhrit find sht krkuar q t gjenden indekset e elementeve, vlera absolute e t cilave sht m e madhe se nj. Urdhri find, gjithashtu funksionon edhe te matricat.

    A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9

    [i , j]=find(A>5) i = 3 3 2 3 j = 1 2 3 3

    Indeksat i dhe j jan ndryshore ndihmse, dhe kombinimi i tyre vjen deri te pozicionet e elementeve t matrics, d.m.th., indeksat e elementeve q kan plotsuar jobarazimin e vendosur n urdhrin e msiprm. Kshtu, p.sh., vlerat e para t indeksave i dhe j japin pozicionin e elementit t par, i cili sht m i madh se pes, e ky sht elementi n rreshtin e tret dhe kolonn e par. Nse dimensionet e matrics, respektivisht vektorit nuk jan t njohura, Matlab-i ofron urdhrat size dhe length t cilat na japin informata rreth dimensionit t matrics.

    A=[1 2 3 4; 5 6 7 8] A = 1 2 3 4 5 6 7 8 B=pi:0.01:2*pi;

  • 4. Puna me matrica 27

    s=size(A) s = 2 4

    Ktu, vlera e funksionit size sht definuar me nj ndryshore, dhe si zgjidhje kthen nj vektor rresht, ku antari i par jep shnimin pr numrin e rreshtave, ndrsa i dyti numrin e kolonave. Prve ksaj mnyre, vlern e funksionit size sht e mundur ta definojm edhe si n shembullin e mposhtm:

    [r,c]=size(A) r = 2 c = 4

    Dy ndryshore dalse jan vendosur n vektor kolon. Elementet e kan t njjtin kuptim si m hert. Urdhri length si rezultat kthen numrin e kolonave apo t rreshtave, varsisht prej asaj se a ka matrica m shum kolona apo rreshta.

    length(A) ans = 4 size(B) ans =

    1 315 length(B) ans = 315

    Pasi q vektori ka vetm nj dimension, n kt rast, funksioni length kthen si rezultat numrin e elementeve t fushs B. 4.1. Matricat speciale

    N Matlab sht e mundur t definohen edhe disa matrica speciale, t cilat jan me rndsi n disa fusha shkencore dhe teknike.

    zeros(3) ans = 0 0 0 0 0 0 0 0 0

  • 28 Hyrje n Matlab

    Ky urdhr definon matricn zero.

    ones(2,4) ans = 1 1 1 1 1 1 1 1

    Me kt urdhr sht definuar matrica me t gjith elementet njsha.

    ones(3)*pi ans = 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 rand(3,1) ans = 0.2190 0.0470 0.6789

    N kt shembull, sht definuar matrica, elementet e s cils jan numra me shprndarje uniforme.

    randn(2) ans = 1.1650 0.0751

    0.6268 0.3516 Elementet e ksaj matrice jan me shprndarje normale.

    eye(3) ans = 1 0 0 0 1 0 0 0 1 eye(3,2) ans = 1 0 0 1 0 0

    Me kt urdhr sht definuar matrica njsi. Pjestimi dhe shumzimi i matricave sht treguar n shembujt vijues.

    a=[1 3 -3;2 5 -1]; b=[2 1;-6 2;1 4];

  • 4. Puna me matrica 29

    a*b ans = -19 -5 -27 8 b*a ans = 4 11 -7 -2 -8 16 9 23 -7 a/b ??? Error using ==> /

    Matrix dimensions must agree. Pjestimi i matricave a dhe b nuk ka qen e mundur t realizohet, pr shkak se dimensionet e matricave nuk prshtaten.

    c=[2 1;3 2]; d=[3 2;4 3]; c/d ans = 2.0000 -1.0000 1.0000 0.0000 e=[3 5 2;1 3 2]; f=[2 1 4;-4 -3 1]; e*f ??? Error using ==> * Inner matrix dimensions must agree.

    Shumzimi i matricave a dhe b nuk ka qen e mundur t realizohet, pr shkak se dimensionet e matricave nuk prshtaten. Qllimi qensor i MATLAB-it ka qen lehtsimi i puns n shum fusha n t cilat aplikohen bazat e algjebrs lineare. Kjo, gjithsesi se lidhet edhe me sistemet e ekuacioneve lineare. Q t ilustrojm kt problem t veant, shikojm shembullin:

    1x1+2x2+3x3=366 4x1+5x2+6x3=804 7x1+8x2+0x3=351

    Ky sistem mund t prezentohet edhe n formn matricore, n kt mnyr:

    Ax=b

    Ky ekuacion matricor definon shumzimin e matrics A me vektorin x, i cili sht i barabart me vektorin b. Ekzistimi i zgjidhjeve t ktij sistemi, dhe n prgjithsi sistemeve t ekuacioneve, sht shtje fundamentale e algjebrs lineare. Nse sistemi

  • 30 Hyrje n Matlab

    sht i zgjidhshm (ka zgjidhje), ekzistojn qasje t shumta se si t vihet deri te zgjidhjet. N trajt analitike, zgjidhja e ktij sistemi do t ishte:

    x=A-1b

    Zgjidhjet e ktij sistemi mund t fitohen duke shnuar nj varg t urdhrave:

    A=[1 2 3;4 5 6;7 8 0] A = 1 2 3 4 5 6 7 8 0 b=[366 ; 804 ; 351] b = 366 804 351

    Si sht thn m hert, matrica A mund t vendoset n shum mnyra. Pr t kaluar n rreshtin tjetr (t matrics) mund t shfrytzohet simboli ;. Vektori b sht vektor kolon, sepse do simbol ; nnkupton fillimin e rreshtit t ri. Mund t tregohet se ky problem ka zgjidhje t vetme nse determinanta e matrics A sht e ndryshme prej zeros. N kt shembull, det(A)=27, prandaj zgjidhjet e sistemit Ax=b mund t gjenden. Njra prej mnyrave sht q t llogaritet matrica inverze A-1, sht:

    x=inv (A)*b x = 25.0000 22.0000 99.0000

    Kjo zgjidhje mund t fitohet edhe n kt mnyr:

    x=A\b x = 25.0000 22.0000 99.0000

    Mnyra e dyt, pra prdorimi i operatorit \ sht m e preferuar se sa e para. Kjo mnyr e gjetjes s zgjidhjeve krkon m pak veprime t brendshme t shumzimit dhe pjestimit, dhe rrjedhimisht ky hap sht m i shpesht. Posaqrisht preferohet pr sistemet me numr m t madh t t panjohurave. N rast se Matlab-i nuk mund t gjen zgjidhjet korrekte, ather lajmron gabim.

  • 5. Paraqitja grafike e t dhnave 31

    5. Paraqitja grafike e t dhnave

    Njra prej vetive (karakteristikave) m t mira t Matlab-it sht q ka mundsi t mdha n aspektin grafik. N Matlab ekziston nj numr i madh i urdhrave, me ndihmn e t cilve mund t bhet prezentimi grafik i t dhnave, me dy dhe tri dimensione. Grafikt e prpunuar nga ktu, mund t ruhen n formate t ndryshme, dhe si t till mund t shfrytzohen n paketa tjera programore. Urdhri m i thjesht pr paraqitjen grafike t t dhnave sht plot. Tregojm ktu funksionin y=sin(x) pr x prej 0 deri 2 . Fillimisht, nevojitet t definohet intervali me numr t fundm t pikave n mes t 0 dhe 2 .

    x = linspace ( 0, 2*pi, 30 ); y=sin ( x ); plot ( x, y )

    pas s cils pason grafiku:

    Ose, p.sh. funksioni y=x 2 n intervalin prej -2 deri 2.

    x =-2 : 0.01 : 2 ; y=x.^2 ; plot ( x , y )

  • 32 Hyrje n Matlab

    Duke shfrytziar urdhrin plot, mund t paraqiten edhe m shum grafikone prnjher:

    x = linspace ( 0, 2*pi, 30 ); y=sin ( x ); z=cos ( x ); plot ( x, y, x, z )

    Shnimi i grafikut, si dhe i ordinats dhe abshiss mund t bhen me an t urdhrave title, xlabel, dhe ylabel. M posht sht nj shembull:

    x=-4*pi : pi/100 : 4*pi ; y=sin ( x ); plot ( x , y ); title ( ' Grafiku i funksionit y=sin ( x ) ' ); xlabel ( ' vlerat e ndryshores x ' )

  • 5. Paraqitja grafike e t dhnave 33

    Pikat me t cilat sht i ndar intervali n t cilin sht paraqitur grafiku, mund t shnohen veanarisht:

    x = linspace ( 0, 2*pi, 30 ); y=sin ( x ); plot ( x , y , x , y , '+' )

    N kt shembull, funksioni y=sin(x) sht vizatuar dy her. Hern e par sht dhn paraqitja standarde nga funksioni i dhn, pas s cilit pasojn vlerat e funksionit n intervalin n t cilin vzhgohet funksioni. Po t ishte n urdhrin plot vetm nj argument, ajo do t nnkuptonte vetm vlerat e dhna n ordinat. N kt rast, n abshis do t vendoseshin indeksat e elementeve (pikave) n t cilat sht i ndar intervali n t cilin vzhgohet funksioni i dhn. Argumenti shtes + definon se si t

  • 34 Hyrje n Matlab

    kryhet vizatimi. Nse ky argument mbetet i harruar, grafiku ndtohet (vizatohet) ashtu q bhet interpolimi linear n mes t pikave.

    x = linspace ( 0, 2*pi, 30 ); y=sin ( x ); plot ( x , y , '+' )

    Nse pas vendosjes s urdhrave n Matlab nuk paraqitet grafiku n ekran, n fund t ekranit duhet klikuar n ikonn Figure No. 1, pas s cils grafiku paraqitet n ekran. Si u tha edhe m hert, Matlab-i mundet q grafikun t paraqet edhe n formn tredimensionale. Nj shembull:

    plot3 ( y , z , x ) , grid

    N shembujt e deritanishm, grafikt jan paraqitur prgjat tr ekranit. N Matlab ekziston mundsia e paraqitjes s grafikonve t ndryshm n nj ekran (maksimum 4), pr t cilt shfrytzohet urdhri subplot, i cili merret para urdhrit pr vizatim. Forma e prgjithshme e ktij urdhri sht subplot(mnp), q do t thot se ekrani do t ndahet n m-pjes n horizontale, n-pjes n vertikale, dhe grafiku aktual do t

  • 5. Paraqitja grafike e t dhnave 35

    ndrtohet n pjesn e p-t. N figurn e mposhtme sht ilustruar se n ciln mnyr mund t shfrytzohet subplot, q ekrani t ndahet n pjes t ndryshme.

    5.1. Urdhrat pr pun me tekst

    Prveq orientimit matematikor t Matlab-it, ai posedon edhe urdhra pr manipulim me tekst. N Matlab, puna me tekst ndryshe njihet edhe si puna me stringje. Puna me stringje t tilla sht e ngjashme me punn me fusha t thjeshta.

    t='Sot sht dit e mir!' t = Sot sht dit e mir!

    Teksti vendoset n mes t thonjzave. Nse nevojitet ndarja e nj pjese t tekstit brenda stringut, ather ajo bhet n kt mnyr:

    u=t(11:14) u = dit

    N kt mnyr sht nxjerr prej tekstit fjala dit. Kt fjal, sht e mundur q t fitohet (nxjerrt) edhe n radhitjen e anasjellt:

    u=t(14:-1:11)

    subplot(221)

    subplot(224)

    subplot(223)

    subplot(222)

    subplot(122)

    subplot(121)

    subplot(211)

    subplot(212)

  • 36 Hyrje n Matlab

    u = tid

    Sikur edhe te matricat, teksti mund t prbhet prej disa rreshtave.

    v=[ 'Stringjet e karaktereve qe kane me shume ' 'se sa nje rresht duhet te kene numer te njejte ' 'te kolonave sikur te matricat! ' ] v= Stringjet e karaktereve qe kane me shume se sa nje rresht duhet te kene numer te njejte te kolonave sikur te matricat!

    prej s cils numri i kolonave duhet t jet i barabart. N stringje (vargje), gjithashtu mund t ekzekutohen edhe veprime matematikore, si dhe t paraqiten ato n kodin ASCII. Q t vijm deri te stringu i kodit ASCII, shfrytzojm vlern absolute:

    s='ABCDEFG' s = ABCDEFG m=abs( s ) m = 65 66 67 68 69 70 71 m=s+0 m = 65 66 67 68 69 70 71

    Kthimi prej kodit ASCII bhet n kt mnyr:

    setstr (m) ans = ABCDEFG n=s+5 n = 70 71 72 73 74 75 76 setstr (n) ans =

    FGHIJKL

  • 6. M-fajllat 37

    6. M-fajllat

    Nga prshkrimet e deritanishme shihet se Matlab-i prgjigjet n krkesat (detyrat) e juaja sipas renditjes q ia parashtroni. N disa probleme t thjeshta, Matlab-i prgjigjet n mnyr efikase menjher pasi q t shnojm nj sekuenc t caktuar t urdhrave. N rast t nj numri m t madh t ktyre urdhrave, posaqrisht nse nevojitet nj llogaritje e caktuar q t ekzekutohet disa her pr vlera t ndryshme t parametrave t programit, ather nj pun e till shndrrohet n pun t mundimshme. Pr kt arsye, n Matlab shfrytzohen m-fajllat. Procedura sht e thjesht. Sekuenca programore q do t hynte (shkruhej) pas prompt-it t Matlab-it, tani shkruhet n m-fajll, dhe si e till ruhet. Q t krijohet nj m-fajll, zgjidhet opcioni %ew prej menys File, dhe selektohet M-File.

    M-fajllat, n fakt jan fajlla me prapashtesn m. Pasi q t inicializohet dhe t ruhet nj fajll i till, ai mund t thirret pr ekzekutim n Matlab sipas emrit t tij.

    emri Pas ksaj, Matlab-i duke i prcjell linjat e programit fillon me llogaritje (ekzekutime), n varsi prej parametrave t cilt jan vendosur n program. Gjat emrtimit t fajllit, duhet pasur kujdes q mos ta emrtojm me ndonj emr q sht identik me ndonj prej urdhrave t Matlab-it, pr shkak se ai ka prioritet ndaj emrit t m-fajllit. Nse sht e nevojshme shikimi (vzhgimi) i ekzekutimeve gjat programit, ather nj gj e till sht e mundur me an t urdhrit echo on. Ky tip i fajllave sht i prshtatshm pr vendosjen e fushave t dimensioneve t mdha, p.sh. rezultatet e matjeve laboratorike. N kt mnyr, shnimet jan ruajtur, por gjithashtu munden shum thjesht t ndrrohen. Matlab-i disponon me disa urdhra q na japin informata pr numrin e fajllave t till, pastaj urdhrave pr fshirje, kalimi n ndonj direktorium (folder) tjetr, etj.

  • 38 Hyrje n Matlab

    7. Shkruarja e funksioneve n Matlab

    Gjat shfrytzimit t funksioneve, si abs, angle, sqrt, Matlab-i ka shfrytzuar ndryshoret t cilat ne vet i kemi ndrtuar, e pastaj ka vijuar rezultati. Prveq ksaj, ne mundemi q vet t krijojm funksione, ta ushqejm at si m-fajll, e pastaj ta thrrasim pr ekzekutim:

    function y=fakt(n) if n0), y=y*ind; ind=ind-1 end

    Pastaj, ky fajll ruhet si fakt.m dhe thirret duke shkruar emrin e tij (fakt). sht e domosdoshme q emri i fajllit t jet identik me emrin e funksionit. Nse sht e nevojshme q t vendosen disa vlera prej tastaturs, ather shfrytzohet urdhri input. Shfrytzimi i ktij urdhri m s lehti sht q t sqarohet nprmjet ktij shembulli:

    supozojm se sht e nevojshme t ndrtohet grafiku i funksionit 2xy = n intervalin e fardoshm [ ]b,a me hapin e fardoshm. Vlerat a dhe b, si dhe vlera e hapit, shkruhen prej tastaturs gjat ekzekutimit t programit. Zgjidhja n Matlab duket kshtu:

    % programi pr ndrtimin e grafikut t funksionit y=x*x n intervalin e fardoshm a=input('Fillimi i intervalit (a): '); % vendoset vlera a prej tastaturs b=input('Fundi i intervalit (b): '); % vendoset vlera b prej tastaturs hapi=input('hapi sht: '); % vendoset hapi prej tastaturs x=a:hapi:b; y=x.^2; plot(x,y) title('Grafiku i funksionit y=x*x, n intervalin a

  • 7. Shkruarja e funksioneve n Matlab 39

    Matlab-i mund t shfrytzohet edhe gjat prpunimit t t dhnave, si dhe seteve t t dhnave. Sipas konvents s brendshme, kto sete jan t vendosura n matrica-kolona. do kolon prfaqson vlera t ndryshme t matjeve t ndryshoreve. Shembull, supozojm q temperaturat ditore n tri qytete t ndryshme jan dhn n m-fajllin t quajtur temps. Me startimin e ktij fajlli fitojm temperaturat n rrethinn (kornizn) e Matlab-it.

    temps = 12 8 18 15 9 22 12 5 19 14 8 23 12 6 22 11 9 19 15 9 15 8 10 20 19 7 18 12 7 18 14 10 19 11 8 17 9 7 23 8 8 19 15 8 18 8 9 20 10 7 17 12 7 22 9 8 19 12 8 21 12 8 20 10 9 17

    a=-5 b=5 hapi=0.01

  • 40 Hyrje n Matlab

    13 12 18 9 10 20 10 6 22 14 7 21 12 5 22 13 7 18 15 10 23 13 11 24 12 12 22 d=1:31; plot(d,temps) xlabel('Dita e muajit'),ylabel('Grad celsius') title('Temperaturat m t larta pr tri qytetet')

    Urdhri plot n kt shembull ka pasur si argument matricn temps. Rezultati i ksaj sht prezentimi grafik i vlerave t temperaturave pr do kolon.

    8. Operatort relacional dhe logjik

    Kta operator shpesh shfrytzohen n fushat e programimit. Qllimi i do operatori, n t vrtet sht q t prgjigjen n pyetjet se a sht dika e sakt apo nuk sht e sakt. Shfrytzimi i shpesht i ktyre opratorve sht te ciklet, pr t cilt do t flitet pak m von. Vlera dalse e operatorve t till sht 1, nse shprehja sht e sakt, respektivisht 0, nse shprehja sht e pasakt. 8.1. Operatort relacional

    Operatort relacional t cilt prdoren n Matlab jan si m posht:

  • 8. Operatort relacional dhe logjik 41

    < - m i vogl - m i madh >= - m i madh ose baraz == - baraz ~= - i ndryshm Operatort relacional mund t shfrytzohen pr krahasim t dy fushave t t njjtit dimension, sikurse edhe krahasimit t fushs me skalarin. N kt rast, do element i fushs krahasohet me skalarin, dhe si rezultat fitohet fusha e t njjtit dimension.

    A=1:9,B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 tf=A>4 tf = 0 0 0 0 1 1 1 1 1

    N shembullin e fundit, n t gjitha rastet kur sht plotsuar jobarazimi i dhn (n rastin konkret A>4), ato vende jan plotsuar me njsha.

    tf=A==B tf =

    0 0 0 0 0 0 0 0 0 Elementet e krkuara t fushs A jan ekuivalent me elementet e fushs B (kjo sipas operatorit ==). Duhet pasur parasysh q t dijm t bjm dallimin n mes t shenjs s barazimit t njfisht dhe barazimit t dyfisht. Barazimi i dyfisht krahason dy ndryshore, dhe si rezultat kthen numrin 1, nse ato jan t barabarta, dhe 0, nse ato nuk jan t barabarta.

    tf=B-(A>2) tf = 8 7 5 4 3 2 1 0 -1

    Vjm re se operatort mund t shfrytzohen edhe gjat veprimeve matematikore. Elementet e fushs sht e mundur q t ndrrohen me numrin special t Matlab-it, eps, i cili prafrsisht sht 2.2exp(-16). Kjo vler konkrete, ndonjher sht e prshtatshme n mnyr q ti ikim pjestimit me zero.

    B=B+(B==0)*eps B =

  • 42 Hyrje n Matlab

    Columns 1 through 7 8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000 Columns 8 through 9 1.0000 0.0000

    Shembulli i ardhshm llogarit vlerat e funksionit sin(x) me vrejtjen se numri i pest sht zero.

    x=(-3:3)/3 x = -1.0000 -0.6667 -0.3333 0 0.3333 0.6667 1.0000 sin(x)./x Warning: Divide by zero ans = 0.8415 0.9276 0.9816 NaN 0.9816 0.9276 0.8415

    Pasi q shprehja 0/0 nuk sht e definuar, marrim vrejtjen %a%, me kuptimin %ot a number. Nse zeron e zvendsojm me eps:

    x=x+(x==0)*eps; sin(x)./x ans = 0.8415 0.9276 0.9816 1.0000 0.9816 0.9276 0.8415

    rezultati sht korrekt. 8.2. Operatort logjik

    Operatort logjik shfrytzohen pr kombinim me operatort relacional ose pr mohimin e tyre. & "dhe" logjike | "ose" logjike .~ negacioni Disa shembuj:

    A=1:9;B=9-A; tf=A>4 tf = 0 0 0 0 1 1 1 1 1 tf=~(A>4) tf = 1 1 1 1 0 0 0 0 0

  • 8. Operatort relacional dhe logjik 43

    tf=(A>2)&(A=0).*y; z=z+0.5*(y>0); z=(x

  • 44 Hyrje n Matlab

    isnan(x) - kthen numrin 1 n vendet e elementeve %a%s isinf(x) - kthen numrin 1 n vendet e elementeve Infs

    finite(x) - kthen numrin 1 n vendet e elementeve me vlera t fundme.

    9. Ciklet kontrolluese

    Gjuh t ndryshme t programimit ofrojn struktura t shumta t cilat mundsojn kontrollin e rrjedhs s programit. MATLAB-i ofron tri lloje ciklesh:

    Ciklin For Ciklin While Strukturn If else end

    Pr shkak t prdorimit t shpesht t tyre, ato vendosen n m-fajlla, sepse n at mnyr shmanget nevoja pr prsritje (vendosje) t vazhdueshme t ktyre strukturave. 9.1. Cikli For

    Ky lloj cikli mundson q ndonj grup i urdhrave t ekzekutohet disa her (me nj definim paraprak). Sintaksa e ktij cikli sht: for x=(a:rritje:b) blloku i urdhrave end

    for n=1:10 x(n)=sin(n*pi/10); end x x = Columns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 8 through 10 0.5878 0.3090 0.0000

    Cikli For nuk mund t kufizohet, respektivisht t ndrprehet ridefinimi i ndryshores e cila gjendet brenda vet ciklit.

    for n=1:10 x(n)=sin(n*pi/10); n=10; end

  • 9. Ciklet kontrolluese 45

    x x = Columns 1 through 7 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 8 through 10 0.5878 0.3090 0.0000

    Brenda ciklit For, mund t definohet fardo fushe:

    data=[3 9 45 6; 7 16 -1 5] data = 3 9 45 6 7 16 -1 5 for n=data x=n(1)-n(2) end x = -4 x = -7 x = 46 x = 1

    Gjithashtu, mund t prdoren edhe ciklet For t shumfishta:

    for n=1:5 for m=5:-1:1 A(n,m)=n^2+m^2; end disp(n) end 1 2 3 4 5 A A = 2 5 10 17 26 5 8 13 20 29 10 13 18 25 34 17 20 25 32 41 26 29 34 41 50

  • 46 Hyrje n Matlab

    Ciklin For duhet shmangur sa her q deri te zgjidhja mund t arrjim prmes qasjes matricore. T dy mnyrat vijn te i njjti rezultat, por i dyti sht m i shpejt dhe me m pak shnime t vendosura (shtypura nga tastiera). 9.2. Cikli While

    Sintaksa e ktij cikli sht: while shprehja blloku i urdhrave end Blloku i urdhrave q gjendet n mes t while dhe end ekzekutohet prderisa shprehja sht e sakt.

    num=0;EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; end num num = 53 EPS=2*EPS EPS = 2.2204e-016

    N kt shembull sht treguar njra prej mnyrave t llogaritjes s vlers pr eps. Eps fillon prej njshit, dhe prderisa vlen kushti (1+EPS)>1 brenda urdhrave, cikli While ekzekutohet. Eps, vazhdimisht pjestohet me 2, dhe kur t shndrrohet n numr aq t vogl sa q (1+EPS) nuk sht m i madh se 1, ather, prfundon cikli While. Kjo ndodh pr shkak t kufizimit t shifrave decimale t parapara pr paraqitjen e numrit real. 9.3. Struktura If-else-end

    Sintaksa:

    if shprehja blloku i urdhrave end

    Shembull:

    a=10; c=a*25 c =

  • 10. Shembuj me zgjidhje 47

    250 if a>5 c=(1-20/100)*c; end c c = 200

    N rast se ekziston edhe alternativa e dyt, kjo struktur ka kt form:

    if shprehja blloku i urdhrave t cilt ekzekutohen nse shprehja sht e sakt else blloku i urdhrave t cilt ekzekutohen nse shprehja nuk sht e sakt end

    10. Shembuj me zgjidhje

    1. Llogaritja e vlerave 3 54 , 7 dhe 211 29

    >> 4^(1/3) ans = 1.5874 Nse dshirojm rezultat m t sakt: >> format long >> ans ans = 1.58740105196820 >> 7^(1/5) ans = 1.47577316159455 >> 29^(2/11) ans = 1.84455047985542

  • 48 Hyrje n Matlab

    2. Pr vlera t kateteve 4a = dhe 7b = t trekndshit, hipotenuzn e gjejm n kt mnyr: >> a=4; >> b=7; >> c=sqrt(a^2+b^2) c = 8.06225774829855 3. Matrica njsi e rendit 2x2: >> A=[1 0 ;0 1] A = 1 0 0 1 4. Formimi i:

    a) matrics njsi t rendit 4,5 b) matrics magjike t rendit 3 c) matrics s paskalit t rendit 4

    bhet n kt mnyr: a) >> A=eye(4,5) A = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 b) >> B=magic(3) B = 8 1 6 3 5 7 4 9 2 c) >> C=pascal(4) C =

  • 10. Shembuj me zgjidhje 49

    1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 5. Pasi t formojm matricn e paskalit dhe magjike t rendit 5, dshirojm q t llogarisim:

    a) ndryshimin e tyre b) shumn e tyre c) determinantat d) matricat e transponuara e) matricat inverze

    a) >> P=pascal(5); M=magic(5); >> P-M ans = -16 -23 0 -7 -14 -22 -3 -4 -10 -11 -3 -3 -7 -10 -7 -9 -8 -9 -1 32 -10 -13 -10 33 61 b) >> P+M ans = 18 25 2 9 16 24 7 10 18 21 5 9 19 30 37 11 16 29 41 38 12 23 40 37 79 c) >> det(P) ans = 1 >> det(M) ans = 5070000

  • 50 Hyrje n Matlab

    d) >> P' ans = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 >> M' ans = 17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9 e) >> inv(P) ans = 5 -10 10 -5 1 -10 30 -35 19 -4 10 -35 46 -27 6 -5 19 -27 17 -4 1 -4 6 -4 1 >> inv(M) ans = Columns 1 through 3 -0.00493589743590 0.05115384615385 -0.03538461538462 0.04314102564103 -0.03730769230769 -0.00461538461538 -0.03025641025641 0.00307692307692 0.00307692307692 0.00467948717949 -0.00653846153846 0.01076923076923 0.00275641025641 0.00500000000000 0.04153846153846 Columns 4 through 5 0.00115384615385 0.00339743589744 0.01269230769231 0.00147435897436 0.00307692307692 0.03641025641026 0.04346153846154 -0.03698717948718 -0.04500000000000 0.01108974358974

  • 10. Shembuj me zgjidhje 51

    6. Gjenerimi i vektorit rresht me gjasht elemente duke shfrytzuar funksionin cos dhe ciklin for, realizohet n kt mnyr: >> a(1)=0; >> for i=2:6 a(i)=cos(2*i); end >> a a = Columns 1 through 3 0 -0.65364362086361 0.96017028665037 Columns 4 through 6 -0.14550003380861 -0.83907152907645 0.84385395873249 7. Vargu i numrave ku antari i par sht 2, antari i dyt sht 3, dhe do antar tjetr fitohet si shum e dy antarve t tij paraprak, fitohet n kt mnyr: >> for i=3:10 v(i)=v(i-1)+v(i-2); end >> v v = 2 3 5 8 13 21 34 55 89 144 Ktu sht llogaritur deri te antari i dhjet. 8. Shembulli i msiprm mund t zgjidhet edhe me an t ciklit while, n kt mnyr: >> v(1)=2;v(2)=3;i=3; >> while i> v v = 2 3 5 8 13 21 34 55 89 144 9. Llogaritja e vlerave logaritmike pr numrat ift n nj rang t caktuar, p.sh., rangun prej 2 deri 20 (pra, 2,4,6,...,20), me an t ciklit for mund t realizohet kshtu:

  • 52 Hyrje n Matlab

    >> for i=2:2:20 a(i)=log10(i); end >> a(2:2:20) ans = Columns 1 through 7 0.3010 0.6021 0.7782 0.9031 1.0000 1.0792 1.1461 Columns 8 through 10 1.2041 1.2553 1.3010 Vrejm se pas prdorimit t ciklit for, si dhe dhnies s vlerave vargut t caktuar a(i), pr t shikuar vlerat logaritmike vetm pr numrat ift, duhet shnuar a(2:2:20), e jo vetm vargun a, sepse n at rast, Matlab-i do t tregonte n ekran edhe vlerat zero pr numrat tek, p.sh. pr 3, 5, e kshtu me radh. Kto vlera zero vijn si rezultat i asaj q ne i kemi dhn urdhr t llogaris vetm pr vlerat ift. 10. Q t gjejm zgjidhjet e sistemit t ekuacioneve lineare:

    1 2

    1 2 3

    1 2 3

    10 7 7

    3 2 6 4

    5 5 6

    x x

    x x x

    x x x

    =

    + + =

    + =

    fillimisht e shnojm at n form matricore:

    1

    2

    3

    10 7 0 7

    3 2 6 4

    5 1 5 6

    x

    x

    x

    =

    Ather, vlen:

    1

    1

    2

    3

    10 7 0 7

    3 2 6 4

    5 1 5 6

    x

    x

    x

    =

    Tani, zgjidhjet n Matlab mund ti krkojm n kt mnyr: >> A=[10 -7 0; -3 2 6; 5 -1 5]; >> B=[7 4 6]'; >> X=inv(A)*B

  • 10. Shembuj me zgjidhje 53

    X = 0 -1.0000 1.0000 11. Q t gjejm zgjidhjet e sistemit t ekuacioneve lineare:

    ( ) ( ) 04

    a x y b x y

    ax y

    + + =

    + =

    pr vlera t koeficientve a = 1 dhe b = 2, s pari zvendsojm vlerat pr a dhe b, me rast kemi:

    ( ) ( )1 2 0 3 041 4

    x y x y x y

    x yx y

    + + = =

    + =+ =

    Zgjidhjet n Matlab i krkojm nprmjet ekuacionit matricor Ax B=

    >> A=[3 -1; 1 1]; >> B=[0 4]'; >> inv(A)*B ans = 1 3 q do t thot se x = 1, y = 3.

    12. Llogaritja e funksionit ( ) ( )2, sin 3xF x y e y x= pr vlera t caktuara t x dhe y, llogaritet duke krijuar nj m-fajll, n t cilin mund t shnojm: disp('Jepni vlera per x dhe y: '); x=input('x = '); y=input('y = '); f=exp(-2*x)*sin(3*y-x) Kt fajll e ruajm me nj emr (p.sh. funksioni.m), e pastaj n dritaren kryesore e thrrasim kt emr. M tutje, ne duhet ti japim vlera x-it dhe y-it. Pr x = 0 dhe y = pi / 6, do t kishim: >> funksioni Jepni vlera per x dhe y:

  • 54 Hyrje n Matlab

    x = 0 y = pi / 6 f = 1 13. Pr t llogaritur vlern e funksionit:

    2

    2 5 , 0

    ( ) 0 , 0

    4 , 0

    x x

    f x x

    x x

    +

    duhet pasur parasysh se far vlera ka argumenti x. Edhe ktu, zgjidhjen mund ta realizojm nprmjet m-fajllit (t cilin e ruajm me emrin funksioni2.m): disp('Jepni vleren e x: '); x=input('x = '); if (x> shuma(1,2,3,4) shuma = 10 Vrejm se pr t krijuar nj funksion vetanak, duhet ti paraprij fjala e rezervuar function.

  • 10. Shembuj me zgjidhje 55

    15. sht dhn:

    1 2

    1 2

    1 2

    , 1

    * , 2

    , 3

    x x k

    y x x k

    x x k

    + =

    = = =

    Nevojitet q t gjendet vlera e y-it, n varsi prej 1x dhe 2x , si dhe n varsi prej

    parametrit k. Nse parametrit k i japim vlern 1, 2 ose 3, ather Matlab-i kryen veprimin adekuat q e plotson at kusht, e nse k merr vler tjetr, ather duhet t lajmrohet gabim. Kt detyr e realizojm prmes urdhrit me kalime t shumfishta, i cili ka sintaksn:

    switch ( )1 2, , , im n n n

    ku 1 2, , , in n n - jan shprehje pran s cilave ekzekutohet urdhri i caktuar q sht i

    barabart me m, ndrsa m sht shprehje ose ndryshore. Krijojm m-fajllin, si n vazhdim: disp('Jepni vlera per x1, x2 dhe k'); x1=input('x1 = '); x2=input('x2 = '); k=input('k = '); switch k case 1 y=x1+x2 case 2 y=x1*x2 case 3 y=x1-x2 otherwise disp('Keni vendosur vlere te gabuar per k'); end 16. Supozojm se dshirojm t ndrtojm grafikun e funksionit sin 3y x= n intervalin 0 1x . Kt e bjm duke ndar funksionin n nj numr t madh t pikave, dhe pastaj bashkimin e pikave ( , )x y me vija t drejta. Marrim (%+1)-pika

    proporcionalisht t barabarta me distanc h, si m posht: >> N = 10; h = 1/N; x = 0:h:1; Urdhri i msiprm definon bashksin e pikave x = 0; h; 2h; : : : ; 1-h; 1. Nj mnyr tjetr sht duke shfrytzuar urdhrin linspace, n kt mnyr: >> x = linspace (0,1,11); Vlerat korresponduese y llogariten me:

  • 56 Hyrje n Matlab

    >> y = sin(3*pi*x); dhe prfundimisht mund t bashkojm pikat me an t urdhrit plot: >> plot(x,y)

    Me ndryshimin e vlerave t % deri n 100: >> N = 100; h = 1/N; x = 0:h:1; >> y = sin(3*pi*x); plot(x,y) fitojm rezultatin si n figurn e mposhtme:

    N rastin e par, h = 0.1 ndrsa n t dytin h = 0.01