Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Në kontakt me
  • Ndihma për Matematikanët: Një përmbledhje e MATLAB. Zëvendësimi i këtyre sasive në ekuacione diferenciale dhe vërejtja e kësaj

Ndihma për Matematikanët: Një përmbledhje e MATLAB. Zëvendësimi i këtyre sasive në ekuacione diferenciale dhe vërejtja e kësaj

Mjedisi MATLAB përfshin një përkthyes komande në një gjuhë të nivelit të lartë, një sistem grafik, paketa shtesë dhe zbatohet në C. E gjithë puna organizohet përmes dritares së komandës, e cila shfaqet kur lëshohet programi matlab.exe. Gjatë punës, të dhënat vendosen në memorie (Workspace), krijohen dritare grafike për të shfaqur kthesat, sipërfaqet dhe grafikë të tjerë.

Llogaritjet kryhen në dritaren komanduese në modalitetin e dialogut. Përdoruesi fut komanda ose lëshon skedarë me tekste në gjuhën MATLAB. Përkthyesi përpunon hyrjen dhe prodhon rezultate: të dhëna numerike dhe vargje, paralajmërime dhe mesazhe gabimi. Linja e hyrjes shënohet me >>. Dritarja e komandës shfaq numrat e futur nga tastiera, variablat dhe rezultatet e llogaritjeve. Emrat e variablave duhet të fillojnë me një shkronjë. Shenja = korrespondon me operatorin e caktimit. Shtypja e tastit Enter bën që sistemi të vlerësojë shprehjen dhe të shfaqë rezultatin. Shkruani nga tastiera në vijën e hyrjes:

Shtypni tastin Enter, rezultati i llogaritjes do të shfaqet në ekran në zonën e shikimit:

Të gjitha vlerat e variablave të llogaritura gjatë seancës aktuale të punës ruhen në një zonë të rezervuar posaçërisht të memories kompjuterike të quajtur hapësira e punës e sistemit MATLAB (Workspace). Komanda clc mund të pastrojë përmbajtjen e dritares së komandës, por kjo nuk do të ndikojë në përmbajtjen e hapësirës së punës. Kur nuk është më e nevojshme të ruhen një numër variablash në sesionin aktual, ato mund të fshihen nga memoria e kompjuterit me komandën clear ose clear(name1, name2, ...). Komanda e parë heq të gjitha variablat nga memoria dhe e dyta heq variablat e emërtuara name1 dhe name2. Komanda who mund të përdoret për të shfaqur një listë të të gjitha variablave të përfshirë aktualisht në hapësirën e punës së sistemit. Për të parë vlerën e çdo ndryshoreje nga hapësira aktuale e punës së sistemit, thjesht shkruani emrin e saj dhe shtypni tastin Enter.

Pas përfundimit të seancës me sistemin MATLAB, të gjitha variablat e llogaritura më parë humbasin. Për të ruajtur përmbajtjen e hapësirës së punës të sistemit MATLAB në një skedar në një disk kompjuteri, duhet të ekzekutoni komandën e menusë File / Save Workspace As .... Si parazgjedhje, zgjerimi i emrit të skedarit është mat, kështu që skedarët e tillë zakonisht janë të quajtura skedarë MAT. Për të ngarkuar një hapësirë ​​pune të ruajtur më parë në disk në memorien e kompjuterit, ekzekutoni komandën e menysë: File / Load Workspace ... .

Numrat realë dhe lloji i dyfishtë i të dhënave

Sistemi MATLAB përfaqëson në nivelin e makinës të gjithë numrat realë të dhënë nga mantisa dhe eksponenti, për shembull, 2.85093E+11, ku shkronja E tregon bazën e shkallës së barabartë me 10. Ky lloj i të dhënave bazë quhet dyfish. MATLAB paracakton formatin e shkurtër për daljen me pikë lundruese, i cili shfaq vetëm katër shifra dhjetore pas pikës dhjetore.

Futni nga tastiera një shembull:

»res=5.345*2.868/3.14-99.455+1.274

Merrni rezultatin e llogaritjes:

Nëse kërkohet përfaqësimi i plotë i numrit real res, futni komandën nga tastiera:

shtypni tastin Enter dhe merrni më shumë detaje:

res = -93.29900636942675

Tani të gjitha rezultatet e llogaritjes do të shfaqen me një saktësi kaq të lartë gjatë këtij sesioni në mjedisin e sistemit MATLAB. Nëse duhet të ktheheni në saktësinë e vjetër të paraqitjes vizuale të numrave realë në dritaren e komandës përpara se të përfundoni seancën aktuale, duhet të futni dhe të ekzekutoni (duke shtypur tastin Enter) komandën:

Numrat e plotë shfaqen nga sistemi në dritaren e komandës si numra të plotë.

Veprimet aritmetike kryhen në numra realë dhe ndryshore të tipit të dyfishtë: mbledhje +, zbritje -, shumëzim *, pjesëtim / dhe fuqizim ^ . Prioriteti në ekzekutimin e veprimeve aritmetike është normal. Operatorët e të njëjtës përparësi kryhen në rend nga e majta në të djathtë, por kllapat mund ta ndryshojnë atë rend.

Nëse nuk ka nevojë të shihni rezultatin e llogaritjes së disa shprehjeve në dritaren komanduese, atëherë në fund të shprehjes së futur vendosni një pikëpresje dhe vetëm atëherë shtypni Enter.

Sistemi MATLAB përmban të gjitha funksionet elementare bazë për llogaritjet me numra realë. Çdo funksion karakterizohet nga emri i tij, lista e argumenteve hyrëse (ato renditen të ndara me presje dhe janë brenda kllapave pas emrit të funksionit) dhe vlera e llogaritur (e kthyer). Një listë e të gjitha funksioneve elementare matematikore të disponueshme në sistem mund të merret duke përdorur komandën help elfun. Shtojca 1 liston funksionet standarde të një argumenti real.

Vlerësoni një shprehje që përfshin llogaritjen e funksionit të harkut:

Sigurohuni që të merrni rezultatin e mëposhtëm:

që korrespondon me numrin "pi". Në sistemin MATLAB ekziston një shënim i veçantë për llogaritjen e numrit "pi": pi. (Një listë e variablave të sistemit MATLAB është në Shtojcën 2).

MATLAB ka edhe funksione logjike, funksione që lidhen me aritmetikën e numrit të plotë (rrumbullakimi në numrin më të afërt të plotë: rrumbullakët, shkurtimi i pjesës thyesore të një numri: rregulloj). Ekziston edhe funksioni mod - pjesa e mbetur e ndarjes, duke marrë parasysh shenjën, shenjën - shenjën e numrit, lcm - shumëfishin më pak të zakonshëm, perms - llogaritjen e numrit të permutacioneve dhe nchoosek - numrin e kombinimeve dhe shume te tjere. Shumë nga funksionet kanë një domen të përkufizimit të ndryshëm nga bashkësia e të gjithë numrave realë.

Përveç veprimeve aritmetike në operandët e tipit të dyfishtë, kryhen edhe veprime relacionale dhe logjike. Veprimet relacionale krahasojnë dy operandë në madhësi. Këto veprime shkruhen me karakteret e mëposhtme ose kombinimet e karaktereve (Tabela 1):

Tabela 1


Nëse operatori relacional është i vërtetë, vlera e tij është 1, dhe nëse është i gabuar, është 0. Operatorët relacionalë kanë përparësi më të ulët se operatorët aritmetikë.

Shkruani një shprehje me veprime relacionale nga tastiera dhe llogarisni

» a=1; b=2; c=3;

» res=(a

Do të merrni rezultatin e mëposhtëm:

Veprimet logjike në numra realë shënohen me shenjat e renditura në tabelën 2:

tabela 2


& | ~
DHE OSE JO

Dy të parat e këtyre operacioneve janë binare (me dy operatorë), dhe i fundit është unar (me një veprimtar). Operatorët logjikë i trajtojnë operandët e tyre si "true" (jo të barabartë me zero) ose "false" (baraz me zero). Nëse të dy operandët e operacionit "AND" janë të vërteta (jo të barabartë me zero), atëherë rezultati i këtij operacioni është 1 ("i vërtetë"); në të gjitha rastet e tjera, operacioni "AND" prodhon vlerën 0 ("false"). Operacioni OR prodhon 0 (false) vetëm nëse të dy operandët janë false (baraz me zero). Operacioni "NUK" e kthen "false" në "e vërtetë". Operacionet logjike kanë prioritetin më të ulët.

Numrat kompleksë dhe funksionet komplekse

Variablat komplekse, si ato reale, kanë automatikisht tipin e dyfishtë dhe nuk kërkojnë ndonjë përshkrim paraprak. Shkronjat i ose j janë të rezervuara për njësinë imagjinare. Në rastin kur koeficienti përballë njësisë imagjinare nuk është numër, por variabël, duhet të përdoret shenja e shumëzimit ndërmjet tyre. Pra, numrat kompleks mund të shkruhen si më poshtë:

» 2+3i; -6,789+0,834e-2*i; 4-2j; x+y*i;

Pothuajse të gjitha funksionet elementare lejojnë llogaritjet me argumente komplekse. Vlerësoni shprehjen:

» res=sin(2+3i)*atan(4i)/(1 -6i)

Rezultati do të jetë:

1.8009 - 1.91901

Funksionet e mëposhtme janë krijuar posaçërisht për të punuar me numra kompleks: abs (vlera absolute e një numri kompleks), conj (konjugatuar kompleks), imazh (pjesë imagjinare e një numri kompleks), real (pjesë reale e një numri kompleks), kënd ( argumenti i një numri kompleks), isreal ("i vërtetë" nëse numri është real). Funksionet e një ndryshoreje komplekse janë renditur në Shtojcën 1.

Për sa i përket veprimeve aritmetike, asgjë e re për numrat kompleks (krahasuar me ata real) nuk është e pamundur të thuhet. E njëjta gjë vlen edhe për operacionet relacionale "e barabartë me" dhe "jo e barabartë me". Pjesa tjetër e operacioneve relacionale prodhojnë një rezultat të bazuar vetëm në pjesët reale të këtyre operandëve.

Futni një shprehje, merrni rezultatin dhe shpjegoni atë:

» c=2+3i; d=2i; » c>d

Operacionet Boolean i trajtojnë operandët si false nëse janë zero. Nëse të paktën një pjesë e operandit kompleks (real ose imagjinar) nuk është e barabartë me zero, atëherë një operand i tillë trajtohet si i vërtetë.

Vargjet numerike

Për të krijuar një grup njëdimensional, mund të përdorni operacionin e lidhjes, i cili shënohet me kllapa katrore. Elementet e grupit vendosen midis kllapave dhe ndahen nga njëri-tjetri me një hapësirë ​​ose presje:

»al=; d=;

Për të hyrë në një element të grupit individual, duhet të aplikoni operacionin e indeksimit, për të cilin, pas emrit të elementit, specifikoni indeksin e elementit në kllapa.

Ju mund të ndryshoni elementet e një grupi të formuar tashmë duke aplikuar operacionet e indeksimit dhe caktimit. Për shembull, duke futur:

do të ndryshojmë elementin e tretë të grupit. Ose, pas hyrjes:

» al(2)=(al(1)+al(3))/2;

elementi i dytë i grupit do të bëhet i barabartë me mesataren aritmetike të elementit të parë dhe të tretë. Shkrimi i një elementi joekzistent është plotësisht i vlefshëm - do të thotë të shtoni një element të ri në një grup tashmë ekzistues:

Duke aplikuar funksionin e gjatësisë në grupin a1 pas kryerjes së këtij operacioni, zbulojmë se numri i elementeve në grup është rritur në katër:

I njëjti veprim - "zgjatja e grupit a1" - mund të kryhet duke përdorur operacionin e lidhjes:

Ju mund të përcaktoni një grup duke renditur të gjithë elementët e tij individualisht:

» a3(1)=67; a3(2)=7,8; a3(3)=0,017;

Megjithatë, kjo metodë e krijimit nuk është efikase. Një mënyrë tjetër për të krijuar një grup njëdimensional bazohet në përdorimin e një funksioni të veçantë, të shënuar me dy pika (operacioni i formimit të një sërë vlerash numerike). Pas një dy pika, shkruani numrin e parë të diapazonit, hapin (rritje) dhe numrin përfundimtar të diapazonit. Për shembull:

»diap=3.7:0.3:8.974;

Nëse nuk keni nevojë të shfaqni të gjithë grupin që rezulton, atëherë në fund të grupit (pas numrit fundor të diapazonit) duhet të shkruani një pikëpresje. Për të zbuluar se sa elementë janë në një grup, thirrni funksionin gjatësia (emri i grupit).

Për të krijuar një grup (matricë) dy-dimensionale, mund të përdorni gjithashtu operacionin e lidhjes. Elementet e grupit shtypen njëri pas tjetrit sipas vendndodhjes së tyre në rreshta, një pikëpresje përdoret si ndarës vijash.

Hyni nga tastiera:

» a=

Shtypni ENTER, marrim:

Matrica që rezulton a me madhësi 3x2 (e para tregon numrin e rreshtave, e dyta - numrin e kolonave) mund të formohet gjithashtu nga bashkimi vertikal i vektorëve të rreshtave:

»a=[;;];

ose lidhje horizontale e vektorëve të kolonave:

» a=[,];

Struktura e vargjeve të krijuara mund të gjendet duke përdorur komandën whos(emri i grupit), dimensioni i grupit nga funksioni ndims dhe madhësia e grupit sipas madhësisë.

Vargjet dydimensionale mund të specifikohen gjithashtu duke përdorur operacionin e indeksimit, duke i shkruar elementet e tij veçmas. Numri i rreshtit dhe kolonës në kryqëzimin e të cilit ndodhet elementi i caktuar i grupit tregohen të ndara me presje në kllapa. Për shembull:

» a(1,1)=1; a(1,2)=2; a(2,1)=3; » a(2,2)=4; a(3,1)=5; a(3,2)=6;

Sidoqoftë, do të jetë shumë më efikase nëse, përpara se të filloni të shkruani elementet e grupit, krijoni një grup të madhësisë së kërkuar duke përdorur funksionet ones (m, n) ose zero (m, n), të mbushura me një ose zero (m - numri i rreshtave, n - numri i kolonave). Kur thirren këto funksione, memoria ndahet paraprakisht për një madhësi të caktuar të grupit, pas së cilës përshkrimi gradual i elementeve me vlerat e dëshiruara nuk kërkon rindërtimin e strukturës së memories së caktuar për grupin. Këto funksione mund të përdoren gjithashtu kur specifikohen vargje të dimensioneve të tjera.

Nëse, pas formimit të grupit X, duhet të ndryshoni madhësinë e tij pa ndryshuar elementët e grupit, mund të përdorni funksionin e riformësimit (X, M, N), ku M dhe N janë madhësitë e reja të grupit X.

Është e mundur të shpjegohet funksionimi i këtij funksioni vetëm në bazë të mënyrës në të cilën sistemi MATLAB ruan elementet e vargjeve në memorien e kompjuterit. Ai i ruan ato në një zonë të vazhdueshme të memories sipas rendit të kolonës: elementët e kolonës së parë vendosen së pari, pasuar nga elementët e kolonës së dytë, e kështu me radhë. Përveç vetë të dhënave (elementet e grupit), informacioni i kontrollit ruhet gjithashtu në kujtesën e kompjuterit: lloji i grupit (për shembull, i dyfishtë), dimensioni dhe madhësia e grupit dhe informacione të tjera të shërbimit. Ky informacion është i mjaftueshëm për të përcaktuar kufijtë e kolonave. Nga kjo rrjedh se për të riformuar matricën me funksionin e riformësimit, mjafton të ndryshoni vetëm informacionin e shërbimit dhe të mos prekni të dhënat tuaja.

Ju mund të ndërroni rreshtat e një matrice me kolonat e saj duke përdorur operacionin e transportit, i cili shënohet me shenjën." (pika dhe apostrofi). Për shembull,

»A=;

Operacioni " (apostrofë) kryen transpozimin për matricat reale dhe transpozimin me konjugim kompleks të njëkohshëm për matricat komplekse.

Objektet me të cilat punon MATLAB janë vargje. Edhe një numër i dhënë në paraqitjen e brendshme të MATLAB është një grup i përbërë nga një element. MATLAB ju lejon të bëni llogaritje me vargje të mëdha numrash po aq lehtë sa me numra të vetëm, dhe ky është një nga avantazhet më të dukshme dhe më të rëndësishme të sistemit MATLAB ndaj paketave të tjera softuerike të fokusuara në llogaritje dhe programim. Përveç memories së nevojshme për ruajtjen e elementeve numerikë (8 bajt secili për numrat realë dhe 16 bajtë për numrat kompleksë), MATLAB cakton automatikisht memorien për informacionin e kontrollit kur krijon vargje.

Llogaritjet e vargjeve

Në gjuhët tradicionale të programimit, llogaritjet e vargjeve bëhen element për element, në kuptimin që çdo operacion individual duhet të programohet në një element të veçantë të grupit. Në gjuhën M të sistemit MATLAB, operacionet e fuqishme të grupit lejohen në të gjithë grupin menjëherë. Janë operacionet grupore të sistemit MATLAB që bëjnë të mundur vendosjen e shprehjeve në mënyrë jashtëzakonisht kompakte, gjatë llogaritjes së të cilave kryhet në të vërtetë një punë gjigante.

Veprimet e mbledhjes dhe zbritjes së matricës shënohen me shenjat standarde + dhe -.

Përcaktoni matricat A dhe B dhe kryeni operacionin e mbledhjes së matricës:

»A=; B=;

Nëse përdoren operandë të madhësive të ndryshme, lëshohet një mesazh gabimi, përveç nëse njëri prej operandëve është skalar. Kur kryeni operacionin A + skalar (A - matricë), sistemi do të zgjerojë skalarin në një grup me madhësi A, i cili shtohet më tej element pas elementi me A.

Për shumëzimin sipas elementit dhe ndarjen element pas elementi të vargjeve me të njëjtën madhësi, si dhe për përforcimin sipas elementit të vargjeve, përdoren operacione, të shënuara me kombinime të dy simboleve: .* , ./ dhe .^. Përdorimi i kombinimeve të simboleve shpjegohet me faktin se simbolet * dhe / tregojnë operacione të veçanta algjebër lineare në vektorë dhe matrica.

Përveç operacionit ./, i quajtur operacioni i ndarjes sipas elementit të djathtë, ekziston edhe operacioni i ndarjes sipas elementit të majtë. \. Dallimi midis këtyre veprimeve: shprehja A./B rezulton në një matricë me elementë A (k, m) / B (k, m), dhe shprehja A. \ B çon në një matricë me elementë B (k, m ) / A (k , m).

Shenja * i caktohet shumëzimit të matricave dhe vektorëve në kuptimin e algjebrës lineare.

Shenja \ është fiksuar në sistemin MATLAB për zgjidhjen e një problemi mjaft kompleks të algjebrës lineare - gjetja e rrënjëve të një sistemi ekuacionesh lineare. Për shembull, nëse ju duhet të zgjidhni një sistem ekuacionesh lineare Ay = b, ku A është një matricë katrore e dhënë me madhësi N´N, b është një vektor i caktuar kolone me gjatësi N, atëherë për të gjetur vektorin e panjohur të kolonës y, ai mjafton për të llogaritur shprehjen A \ b (kjo është ekuivalente me veprimin : A -1 B).

Problemet tipike të gjeometrisë analitike në hapësirë, që lidhen me gjetjen e gjatësive të vektorëve dhe këndeve ndërmjet tyre, me llogaritjen e produkteve skalare dhe vektoriale, zgjidhen lehtësisht me mjete të ndryshme të sistemit MATLAB. Për shembull, për të gjetur produktin kryq të vektorëve, synohet funksioni i veçantë kryq, për shembull:

»u=; v=;

Prodhimi me pika i vektorëve mund të llogaritet duke përdorur funksionin e përgjithshëm shumën, i cili llogarit shumën e të gjithë elementëve të vektorëve (për matricat, ky funksion llogarit shumat për të gjitha kolonat). Produkti skalar, siç dihet, është i barabartë me shumën e prodhimeve të koordinatave (elementeve) përkatëse të vektorëve. Pra, shprehja është: » sum(u.*v)

njehson prodhimin me pika të dy vektorëve u dhe v. Produkti me pika mund të llogaritet gjithashtu si: u*v".

Gjatësia e një vektori llogaritet duke përdorur produktin me pika dhe funksionin e rrënjës katrore, për shembull:

» sqrt(sum(u.*u))

Operacionet relacionale dhe logjike të konsideruara më parë për skalarët kryhen element pas elementi në rastin e vargjeve. Të dy operandët duhet të jenë të njëjtën madhësi dhe operacioni kthen një rezultat të së njëjtës madhësi. Në rastin kur njëri nga operandët është skalar, kryhet zgjerimi paraprak i tij, kuptimi i të cilit tashmë është shpjeguar duke përdorur shembullin e veprimeve aritmetike.

Ndër funksionet që gjenerojnë matrica me veti të dhëna, funksioni përdoret shpesh syri, i cili prodhon matrica katrore njësi, si dhe funksionin rand, i cili përdoret gjerësisht në praktikë, duke gjeneruar një grup me elementë të rastësishëm të shpërndarë në mënyrë uniforme në intervalin nga 0 në 1. Për shembull, shprehja

gjeneron një grup 3x3 numrash të rastësishëm me elementë të shpërndarë në mënyrë të barabartë në intervalin nga 0 në 1.

Nëse e thërrisni këtë funksion me dy argumente, për shembull R=rand(2,3), do të merrni një matricë 2x3 R të elementeve të rastit. Kur rand thirret me tre ose më shumë argumente skalar, prodhohen vargje shumëdimensionale të numrave të rastit.

Përcaktori i matricës katrore llogaritet duke përdorur funksionin det. Ndër funksionet që kryejnë llogaritjet më të thjeshta në vargje, përveç funksionit shumës të diskutuar më sipër, përdoret edhe funksioni prod, i cili është i ngjashëm në çdo gjë me funksionin shuma, vetëm se nuk llogarit shumën e elementeve, por produktin e tyre. Funksionet max dhe min kërkojnë respektivisht elementet maksimale dhe minimale të vargjeve. Për vektorët, ata kthejnë një vlerë të vetme numerike, dhe për matricat, ata gjenerojnë një grup elementesh ekstreme të llogaritura për secilën kolonë. Funksioni sort rendit elementet e vargjeve njëdimensionale në rend rritës dhe për matricat rendit për secilën kolonë veç e veç.

MATLAB ka aftësinë unike për të kryer llogaritjet në grup në vargje duke përdorur funksione të zakonshme matematikore që punojnë vetëm me argumente skalare në gjuhët tradicionale të programimit. Si rezultat, me ndihmën e shënimeve jashtëzakonisht kompakte, të përshtatshme për të shtypur në modalitetin interaktiv me dritaren e komandës së sistemit MATLAB, është e mundur të kryhen një sasi e madhe llogaritjesh. Për shembull, vetëm dy shprehje të shkurtra

» x=0:0.01:pi/2; y=sin(x);

llogaritni vlerat e funksionit sin në 158 pika njëherësh, duke formuar dy vektorë x dhe y me 158 elementë secili.

Funksionet e komplotit

Aftësitë grafike të sistemit MATLAB janë të fuqishme dhe të larmishme. Le të eksplorojmë veçoritë më të lehta për t'u përdorur (grafikë të nivelit të lartë).

Formoni dy vektorë x dhe y:

» x=0:0.01:2; y=sin(x);

Thirrni funksionin:

dhe ju do të merrni një grafik të funksionit në ekran (Fig. 1).

Oriz. 1. Grafiku i funksionit y=sin(x)

MATLAB shfaq objektet grafike në dritare të veçanta grafike që kanë fjalën Figura në titull. Pa hequr dritaren e parë grafike nga ekrani, futni shprehjet nga tastiera

dhe merrni një grafik të ri të funksionit në të njëjtën dritare grafike (në këtë rast, boshtet e vjetra të koordinatave dhe grafiku zhduken - kjo mund të arrihet edhe me komandën clf, komanda cla heq vetëm grafikun, duke i sjellë boshtet e koordinatave në standardi i tyre varion nga 0 në 1).

Nëse ju duhet të vizatoni grafikun e dytë "mbi grafikun e parë", atëherë përpara se të telefononi përsëri funksionin grafik, duhet të ekzekutoni komandën e pritjes, e cila është krijuar për të mbajtur dritaren aktuale grafike:

» x=0:0.01:2; y=sin(x);

Pothuajse e njëjta gjë do të ndodhë (Fig. 2) nëse shkruani:

» x=0:0.01:2; y=sin(x); z=cos(x);

»plot (x,y,x,z)

Oriz. 2. Grafikët e funksioneve y=sin(x), z=cos(x), të ndërtuara në një dritare grafike

Nëse keni nevojë të vizualizoni disa grafikë në të njëjtën kohë në mënyrë që ata të mos ndërhyjnë me njëri-tjetrin, atëherë kjo mund të bëhet në dy mënyra. Zgjidhja e parë është vendosja e tyre në dritare të ndryshme grafike. Për ta bërë këtë, përpara se të thirrni përsëri funksionin e grafikut, shkruani komandën figura, e cila krijon një dritare të re grafike dhe detyron të gjitha funksionet vijuese të vizatimit t'i shfaqin ato atje.

Zgjidhja e dytë për paraqitjen e shumë grafikëve pa intervale të akseve konfliktuale është përdorimi i funksionit të nënplotës. Ky funksion ju lejon të ndani zonën e daljes së informacionit grafik në disa nën-zona, në secilën prej të cilave mund të shfaqni grafikë të funksioneve të ndryshme.

Për shembull, për llogaritjet e kryera më parë me funksionet sin dhe cos, vizatoni grafikët e këtyre dy funksioneve në nënzonën e parë dhe vizatoni funksionin exp(x) në nënzonën e dytë të së njëjtës dritare grafike ( Fig. 3):

» nënplot (1,2,1); komplot (x, y, x, z)

» nënplot (1,2,2); komplot (x,w)

Oriz. 3. Grafikët e funksioneve y=sin(x), z=cos(x) dhe w=exp(x), të ndërtuara në dy nënzona të një dritareje grafike.

Gama e variablave në boshtet koordinative të këtyre nënfushave janë të pavarura nga njëra-tjetra. Funksioni i nënplotës merr tre argumente numerike, i pari prej të cilëve është i barabartë me numrin e rreshtave të nënplotesave, i dyti është i barabartë me numrin e kolonave të nënplotësve dhe argumenti i tretë është numri i nënplotëseve (numri numërohet së bashku rreshtat, duke u zhvendosur në një rresht të ri kur janë rraskapitur). Ju mund të hiqni veprimin e funksionit të nënplotës me komandën:

» nënplot (1,1,1)

Nëse për një grafik të vetëm diapazoni i variablave përgjatë njërit ose të dy boshteve të koordinatave janë shumë të mëdha, atëherë mund të përdorni funksionet e vizatimit në shkallë logaritmike. Funksionet semilogx, semilogy dhe loglog janë krijuar për këtë.

Ju mund ta vizatoni funksionin në koordinata polare (Fig. 4) duke përdorur funksionin grafik polar.

» phi=0:0.01:2*pi; r=sin(3*phi);

Oriz. 4. Grafiku i funksionit r=sin(3*phi) në koordinata polare

Le të shqyrtojmë veçori shtesë në lidhje me menaxhimin e paraqitjes së grafikëve - vendosjen e ngjyrës dhe stilit të linjave, si dhe vendosjen e etiketave të ndryshme brenda dritares grafike. Për shembull, komandat

» x=0:0.1:3; y=sin(x);

» komplot(x,y,"r-",x,y, "ko")

ju lejon të bëni grafikun të duket si një vijë e kuqe e fortë (Fig. 5), në të cilën rrathët e zinj janë vendosur në pika të llogaritura diskrete. Këtu funksioni i komplotit paraqet të njëjtin funksion dy herë, por në dy stile të ndryshme. E para nga këto stile është etiketuar "r-", që do të thotë një vijë e tërhequr me të kuqe (gërma r), dhe një goditje do të thotë një vijë e fortë. Stili i dytë, i emërtuar "ko", do të thotë vizatim në të zezë (shkronja k) rrathë (shkronja o) në vend të pikave të llogaritura.

Oriz. 5. Vizatimi i funksionit y=sin(x) në dy stile të ndryshme

Në përgjithësi, grafiku i funksionit (x1, y1, s1, x2, y2, s2, ...) ju lejon të kombinoni disa grafikë të funksioneve y1(x1), y2(x2), ... në një dritare grafike duke vizatuar ato me stilet s1, s2, ... etj.

Stilet s1, s2,... janë specifikuar si një grup prej tre shënuesish karakteresh të mbyllur në thonjëza të vetme (apostrofa). Një nga këta shënues specifikon llojin e linjës (Tabela 3). Një tjetër shënues vendos ngjyrën (Tabela 4). Shënuesi i fundit përcakton llojin e "pikave" që do të vendosen (Tabela 5). Ju nuk mund të specifikoni të tre shënuesit. Pastaj përdoren shënuesit e paracaktuar. Rendi në të cilin janë specifikuar shënuesit nuk është i rëndësishëm, d.m.th. "r+-" dhe "-+r" prodhojnë të njëjtin rezultat.

Tabela 3. Shenjat e tipit të linjës

Tabela 4 Shënuesit që vendosin ngjyrën e vijës

Tabela 5 Shënuesit që përcaktojnë llojin e pikës

Nëse vendosni një shënues në llojin e pikës në vijën e stilit, por nuk vendosni një shënues në llojin e linjës, atëherë shfaqen vetëm pikat e llogaritura dhe ato nuk janë të lidhura me një vijë të vazhdueshme.


Sistemi MATLAB vendos kufijtë në boshtin horizontal në vlerat e specifikuara nga përdoruesi për variablin e pavarur. Për variablin e varur në boshtin vertikal, MATLAB llogarit në mënyrë të pavarur gamën e vlerave të funksionit. Nëse duhet të braktisni këtë veçori të shkallëzimit kur vizatoni grafikët në sistemin MATLAB, atëherë duhet të vendosni në mënyrë eksplicite kufijtë tuaj për ndryshimin e variablave përgjatë boshteve të koordinatave. Kjo bëhet duke përdorur funksionin axis().

Funksionet xlabel, ylabel, titulli dhe teksti përdoren për të vendosur mbishkrime të ndryshme në figurën që rezulton. Funksioni xlabel krijon një etiketë për boshtin horizontal, funksioni ylabel gjithashtu për boshtin vertikal (për më tepër, këto etiketa janë të orientuara përgjatë boshteve të koordinatave). Nëse dëshironi të vendosni një mbishkrim në një vend arbitrar në figurë, përdorni funksionin e tekstit. Titulli i përgjithshëm për grafikun krijohet nga funksioni i titullit. Përveç kësaj, duke përdorur komandën grid on, mund të aplikoni një rrjet matjeje në të gjithë zonën e vizatimit. Për shembull (Fig. 6):

» x=0:0.1:3; y=sin(x);

» komplot(x,y,"r-",x,y,"ko")

»title("Grafiku i funksionit sin(x)");

» xlabel("xcoordinate"); ylabel ("sin(x)");

» text(2.1, 0.9, "\lefttarrowsin(x)"); rrjeti i ndezur

Etiketa me funksionin e tekstit vendoset duke filluar nga pika me koordinatat e përcaktuara nga dy argumentet e para. Si parazgjedhje, koordinatat përcaktohen në të njëjtat njësi si koordinatat e specifikuara në boshtet horizontale dhe vertikale. Karakteret e veçanta të kontrollit futen brenda tekstit pas karakterit \ (prapa).

grafika 3D

Çdo pikë në hapësirë ​​karakterizohet nga tre koordinata. Një grup pikash që i përkasin një linje në hapësirë ​​duhet të specifikohet si tre vektorë, i pari prej të cilëve përmban koordinatat e para të këtyre pikave, vektori i dytë - koordinatat e tyre të dyta, vektori i tretë - koordinatat e treta. Pas kësaj, këta tre vektorë mund të futen në hyrjen e funksionit plot3, i cili do të projektojë vijën përkatëse tredimensionale në plan dhe do të ndërtojë imazhin që rezulton (Fig. 7). Hyni nga tastiera:

» t=0:pi/50:10*pi; x=sin(t);

» y=cos(t); komplot3(x,y,t); rrjeti i ndezur

Oriz. 7. Skema e një spiraleje, e ndërtuar duke përdorur funksionin plot3

I njëjti funksion plot3 mund të përdoret gjithashtu për të përshkruar sipërfaqet në hapësirë, nëse, sigurisht, nuk vizatoni një vijë, por shumë. Shkruani nga tastiera:

» u=-2:0.1:2; v=-1:0.1:1;

»=meshgrid(u,v);

» z=exp(-X.^2-Y.^2);

Merrni një imazh tredimensional të grafikut të funksionit (Fig. 8).

Funksioni plot3 vizaton një grafik si një grup vijash në hapësirë, secila prej të cilave është një seksion i një sipërfaqeje tre-dimensionale nga plane paralele me rrafshin yOz. Përveç këtij funksioni të thjeshtë, sistemi MATLAB ka një sërë funksionesh të tjera që ju lejojnë të arrini një realizëm më të madh në shfaqjen e grafikëve tredimensionale.

Oriz. 8. Paraqitja e sipërfaqes në hapësirë, e ndërtuar duke përdorur funksionin plot3


Skriptet dhe m-skedarët.

Për operacione të thjeshta, mënyra interaktive është e përshtatshme, por nëse llogaritjet duhet të kryhen në mënyrë të përsëritur ose duhet të zbatohen algoritme komplekse, atëherë duhet të përdoren skedarët MATLAB m (zgjatja e skedarit përbëhet nga një shkronjë e vetme m). script-m-file (ose script) - një skedar teksti që përmban udhëzime MATLAB për t'u ekzekutuar në modalitetin automatik të grupit. Është më i përshtatshëm për të krijuar një skedar të tillë duke përdorur redaktuesin e sistemit MATLAB. Ai thirret nga dritarja komanduese e sistemit MATLAB nga komanda e menusë File/New/M-file (ose butoni më i majtë në shiritin e veglave, i cili tregon një fletë letre të bardhë bosh). Komandat e shkruara në skedarët e skriptit do të ekzekutohen nëse futni emrin e skedarit të skriptit (pa shtrirje) në vijën e komandës. Variablat e përcaktuar në dritaren e komandës dhe variablat e përcaktuara në skriptet përbëjnë një hapësirë ​​të vetme pune të sistemit MATLAB, dhe variablat e përcaktuara në skriptet janë globale, vlerat e tyre do të zëvendësojnë vlerat e të njëjtave variabla që janë përdorur përpara se të thërrisnin këtë skript. dosje.

Pas krijimit të tekstit të skriptit, ai duhet të ruhet në disk. Rruga drejt drejtorisë me skedarin duhet të jetë e njohur për sistemin MATLAB. Komanda File/Set Path thërret kutinë e dialogut të shikuesit të rrugës së drejtorisë. Për të shtuar një direktori të re në listën e shtigjeve të aksesit, ekzekutoni komandën e menusë Shtegu/Shto në shteg.

Puna nga linja e komandës MatLab është e vështirë nëse duhet të futni shumë komanda dhe t'i ndryshoni ato shpesh. Mbajtja e një ditari me komandën e ditarit dhe ruajtja e mjedisit të punës vetëm sa i lehtëson gjërat paksa. Mënyra më e përshtatshme për të ekzekutuar komandat MatLab është përdorimi M-skedarët, në të cilin mund të shkruani komanda, t'i ekzekutoni të gjitha menjëherë ose në pjesë, t'i ruani në një skedar dhe t'i përdorni më vonë. Redaktori i skedarëve M është krijuar për të punuar me skedarët M. Me këtë redaktues, ju mund të krijoni funksionet tuaja dhe t'i telefononi ato, duke përfshirë nga linja e komandës.

Zgjero menunë dosje dritarja kryesore e MatLab dhe në paragrafin I ri zgjidhni nënartikulli M-skedar. Skedari i ri hapet në dritaren e redaktuesit të skedarit M.

Shkruani komandat në redaktues që çojnë në ndërtimin e dy grafikëve në një dritare grafike:

x = ;
f = exp(-x);
nënplot (1, 2, 1)
komplot (x, f)
g = mëkat (x);
nënplot (1, 2, 2)
komplot (x, g)

Ruani skedarin tani me emrin mydemo.m në një nëndrejtori puna direktoriumin kryesor MatLab duke zgjedhur artikullin Ruaj si menu dosje redaktor. Për të ekzekutuar të gjitha komandat që përmban skedari, zgjidhni artikullin Vraponi në meny korrigjimi. Një dritare grafike do të shfaqet në ekran. figura nr.1, që përmban grafikët e funksioneve. Nëse vendosni të vizatoni kosinus në vend të sinusit, atëherë thjesht ndryshoni vijën g = sin(x) në skedarin M në g = cos (x) dhe ekzekutoni përsëri të gjitha komandat.

Vërejtje 1

Nëse bëhet një gabim gjatë shtypjes dhe MatLab nuk mund ta njohë komandën, atëherë komandat ekzekutohen derisa të futet gabimisht, pas së cilës shfaqet një mesazh gabimi në dritaren e komandës.

Një veçori shumë e dobishme e ofruar nga redaktori i skedarit M është ekzekutimi i disa komandave. Mbyllni dritaren e grafikës figura Nr.1. Zgjidhni me miun duke mbajtur të shtypur butonin e majtë, ose me tastet e shigjetave ndërsa mbani të shtypur tastin , katër komandat e para të programit dhe ekzekutoni ato nga paragrafi Vlerësoni Përzgjedhja menu Teksti. Ju lutemi vini re se vetëm një grafik që korrespondon me komandat e ekzekutuara u shfaq në dritaren grafike. Mos harroni se për të ekzekutuar disa nga komandat, duhet t'i zgjidhni ato dhe të shtypni . Ekzekutoni tre komandat e mbetura të programit dhe monitoroni gjendjen e dritares grafike. Praktikoni vetë, shkruani disa shembuj nga laboratorët e mëparshëm në redaktuesin e skedarit M dhe ekzekutoni ato.

Mund të sigurohen blloqe individuale të skedarit M komente, të cilat anashkalohen gjatë ekzekutimit, por janë të përshtatshëm kur punoni me një skedar M. Komentet në MatLab fillojnë me një shenjë përqindjeje dhe theksohen automatikisht me të gjelbër, për shembull:

%plotting sin(x) në një dritare të veçantë

Shumë skedarë mund të hapen në të njëjtën kohë në redaktuesin e skedarëve M. Kalimi midis skedarëve kryhet duke përdorur skedat me emrat e skedarëve të vendosur në fund të dritares së redaktuesit.

Hapja e një skedari ekzistues M bëhet duke përdorur artikullin hapur menu dosje mjedisi i punës ose redaktuesi i skedarëve M. Ju gjithashtu mund të hapni një skedar në redaktues me komandën e redaktimit MatLab nga rreshti i komandës, duke specifikuar emrin e skedarit si argument, për shembull:

Komanda redaktimi pa argument rezulton në krijimin e një skedari të ri.
Të gjithë shembujt që shfaqen në këtë dhe në laboratorët e mëposhtëm shtypen dhe ruhen më së miri në skedarët M, duke i plotësuar ato me komente dhe ekzekutohen nga redaktori i skedarit M. Aplikimi i metodave numerike dhe programimi në MatLab kërkon krijimin e skedarëve M.

2. Llojet e skedarëve M

M-skedarët në MatLab janë dy llojesh: skedar-program(Script M-Files) që përmban një sekuencë komandash, dhe skedar-funksion(Funksioni M-Files), të cilat përshkruajnë funksionet e përcaktuara nga përdoruesi.

Skedar-programi (procedura e skedarit) që keni krijuar gjatë leximit të nënseksionit të mëparshëm. Të gjitha variablat e deklaruara në një program skedar bëhen të disponueshëm në mjedisin e punës pas ekzekutimit të tij. Ekzekutoni programin e skedarëve të dhënë në nënseksionin 2.1 në redaktuesin e skedarit M? dhe shkruani komandën whos në vijën e komandës për të parë përmbajtjen e mjedisit të punës. Një përshkrim i variablave do të shfaqet në dritaren e komandës:

» kush
Klasa e madhësisë së emrit të bytes
f 1x71 568 grup i dyfishtë
g 1x71 568 grup i dyfishtë
x 1x71 568 grup i dyfishtë
Totali i përgjithshëm është 213 elementë duke përdorur 1704 bajt

Variablat e përcaktuar në një skedar programi mund të përdoren në skedarët e tjerë të programit dhe në komandat e ekzekutuara nga linja e komandës. Komandat e përfshira në programin e skedarëve ekzekutohen në dy mënyra:

  • Nga redaktori i skedarit M siç përshkruhet më sipër.
  • Nga linja e komandës ose një skedar tjetër programi, duke përdorur emrin e skedarit M si komandë.

Përdorimi i metodës së dytë është shumë më i përshtatshëm, veçanërisht nëse skedari i programit i krijuar do të përdoret në mënyrë të përsëritur më vonë. Në fakt, skedari M i krijuar bëhet një komandë që MatLab e kupton. Mbyllni të gjitha dritaret grafike dhe shkruani mydemo në vijën e komandës, shfaqet një dritare grafike që korrespondon me komandat e skedarit të programit mydemo.m. Pas futjes së komandës mydemo, MatLab kryen veprimet e mëposhtme.

  • Kontrollon nëse komanda e futur është emri i njërës prej variablave të përcaktuar në kohën e ekzekutimit. Nëse futet një ndryshore, shfaqet vlera e saj.
  • Nëse nuk futet një ndryshore, atëherë MatLab kërkon komandën e futur midis funksioneve të integruara. Nëse komanda është një funksion i integruar, atëherë ai ekzekutohet.

Nëse nuk futet as një variabël dhe as një funksion i integruar, atëherë MatLab fillon të kërkojë për një skedar M me emrin e komandës dhe zgjerimin m. Kërkimi fillon me drejtoria aktuale(Direktoria aktuale), nëse skedari M nuk gjendet në të, atëherë MatLab shikon nëpër drejtoritë e instaluara në shtigjet e kërkimit(Rrugë). Skedari M i gjetur ekzekutohet në MatLab.

Nëse asnjë nga veprimet e mësipërme nuk ishte i suksesshëm, atëherë një mesazh shfaqet në dritaren e komandës, për shembull:

» mydem
??? Funksion ose variabël i padefinuar "mydem".

Si rregull, skedarët M ruhen në drejtorinë e përdoruesit. Në mënyrë që sistemi MatLab t'i gjejë ato, duhet të vendosni shtigjet që tregojnë vendndodhjen e skedarëve M.

Vërejtje 2

Mbajtja e skedarëve tuaj M jashtë drejtorisë kryesore MatLab është për dy arsye. Së pari, kur riinstaloni MatLab, skedarët që gjenden në nëndrejtoritë e drejtorisë kryesore MatLab mund të shkatërrohen. Së dyti, kur nis MatLab, të gjithë skedarët e nëndirektorisë së kutisë së veglave vendosen në memorien e kompjuterit në një mënyrë optimale për të rritur performancën. Nëse keni shkruar një skedar M në këtë direktori, atëherë mund ta përdorni vetëm pasi të rindizni MatLab.

3. Vendosja e shtigjeve

Në versionin 6 të MatLab .x përcaktohen direktoria aktuale dhe shtigjet e kërkimit. Këto veti vendosen ose duke përdorur kutitë e duhura të dialogut ose komandat nga linja e komandës.

Drejtoria aktuale përcaktohet në kutinë e dialogut Aktuale Drejtoria Ambienti i punës. Dritarja është e pranishme në mjedisin e punës nëse artikulli zgjidhet Aktuale Drejtoria menu pamje Ambienti i punës.
Drejtoria aktuale zgjidhet nga lista. Nëse nuk është në listë, atëherë mund të shtohet nga kutia e dialogut Shfletoni për dosje, thirret duke klikuar në butonin që ndodhet në të djathtë të listës. Përmbajtja e drejtorisë aktuale shfaqet në tabelën e skedarëve.

Shtigjet e kërkimit përcaktohen në kutinë e dialogut vendosur Rrugë navigator i rrugës, i aksesuar nga pika vendosur Rrugë menu dosje Ambienti i punës.

Për të shtuar një drejtori, klikoni butonin Shtoni Dosja Shfletoni për Rrugë zgjidhni drejtorinë e dëshiruar. Shtimi i një drejtorie me të gjitha nëndrejtoritë e saj bëhet duke klikuar në butonin Shto me nëndosjet. MATLAB kërkimi rrugë. Rendi i kërkimit korrespondon me vendndodhjen e shtigjeve në këtë fushë, kërkohet direktoria e parë, rruga për të cilën ndodhet në krye të listës. Mund të ndryshoni rendin e kërkimit ose madje të hiqni shtegun drejt një drejtorie, për të cilën zgjidhni direktorinë në fushë MATLAB kërkimi rrugë dhe përcaktoni pozicionin e tij duke përdorur butonat e mëposhtëm:
lëvizin te Top - vendoset në krye të listës;
lëvizin Lart - ngjit një pozicion lart;
Hiq - hiqni nga lista;
lëvizin Poshtë - lëvizni poshtë një pozicion;
lëvizin te fund - vënë në fund të listës.

4. Komandat për vendosjen e shtigjeve.

Hapat për të vendosur shtigjet në MatLab 6 .x komandat e dyfishta. Drejtoria aktuale vendoset me komandën cd, për shembull cd c:\users\igor. Komanda cd, e thirrur pa argument, printon shtegun për në drejtorinë aktuale. Shtigjet vendosen duke përdorur komandën path, e cila thirret me dy argumente:

rruga (shtegu, "c:\users\igor") - shton direktorinë c:\users\igor me prioritetin më të ulët të kërkimit;
rrugë ("c: \users\igor", shteg) - shton direktorinë c:\users\igor me përparësinë më të lartë të kërkimit.

Përdorimi i komandës path pa argumente bën që një listë e shtigjeve të kërkimit të shfaqet në ekran. Ju mund të hiqni një shteg nga lista duke përdorur komandën rmpath:

rmpath("c:\users\igor") heq shtegun drejt c:\users\igor nga lista e shtigjeve.

Vërejtje 3

Mos i hiqni pa nevojë shtigjet e drejtorive, veçanërisht ato për të cilat nuk jeni të sigurt. Heqja mund të rezultojë në faktin se disa nga funksionet e përcaktuara në MatLab bëhen të padisponueshme.

Shembull. Krijo në direktorinë rrënjë të diskut D(ose ndonjë disku tjetër ose drejtori ku studentët lejohen të krijojnë drejtoritë e tyre) një direktori me mbiemrin tuaj, p.sh. WORK_IVANOV, dhe shkruani skedarin M mydemo.m me emrin mydemo3.m. Vendosni shtigjet e skedarëve dhe demonstroni aksesueshmërinë e skedarit nga linja e komandës. Raportoni rezultatet në një raport laboratorik.

Zgjidhja:

1. Në direktorinë rrënjë të diskut Dështë krijuar drejtoria WORK_IVANOV.
2. Skedari M-mydemo.m shkruhet në drejtorinë WORK_IVANOV me emrin mydemo3.m.
3. Hapet një kuti dialogu vendosur Rrugë menu dosje Mjedisi i punës në MatLab.
4. Shtypet butoni Shtoni Dosja dhe në dialogun që shfaqet Shfletoni për Rrugëështë zgjedhur drejtoria WORK_IVANOV.
5. Shtimi i një direktorie me të gjitha nëndrejtoritë e tij bëhet duke klikuar në butonin Shtoni me nëndosjet. Rruga drejt drejtorisë së shtuar shfaqet në fushë MATLAB kërkimi rrugë.
6. Për të ruajtur shtegun, shtypni tastin Ruaj kuti dialogu vendosur Rrugë.
7. Korrektësia e të gjitha veprimeve kontrollohet duke shtypur komandën mydemo3 nga rreshti i komandës. Një dritare grafike do të shfaqet në ekran.

5. Funksionet e skedarit

Programet e skedarëve të diskutuar më sipër janë një sekuencë komandash MatLab, ato nuk kanë argumente hyrëse ose dalëse. Për të përdorur metoda numerike dhe kur programoni aplikacionet tuaja në MatLab, duhet të jeni në gjendje të kompozoni funksione skedari që kryejnë veprimet e nevojshme me argumente hyrëse dhe të ktheni rezultatin në argumente dalëse. Ky nënseksion ofron disa shembuj të thjeshtë për t'ju ndihmuar të kuptoni se si të punoni me funksionet e skedarëve. Skedarët e funksionit, si skedarët e procedurës, krijohen në redaktuesin e skedarëve M.

5.1. Skedari funksionon me një argument hyrës

Supozoni se në llogaritjet shpesh është e nevojshme të përdoret funksioni

Ka kuptim të shkruani një skedar funksioni një herë, dhe më pas ta thërrisni kudo që është e nevojshme për të vlerësuar këtë funksion. Hapni një skedar të ri në redaktuesin e skedarit M dhe shkruani tekstin e listimit

funksioni f = myfun(x)
f= exp(-x)*sqrt((x^2+1)/(x^4+0.1));

Fjala funksion në rreshtin e parë specifikon që ky skedar përmban një skedar funksioni. Rreshti i parë është kreu i funksionit, e cila pret emri i funksionit dhe listat e argumenteve hyrëse dhe dalëse. Në shembullin në listë, emri i funksionit është myfun, një argument hyrës është x dhe një argument në dalje është f. Pas titullit vijon funksioni i trupit(në këtë shembull përbëhet nga një rresht), ku llogaritet vlera e saj. Është e rëndësishme që vlera e llogaritur të shkruhet në f. Pikëpresja është vendosur për të parandaluar shfaqjen e informacionit të panevojshëm në ekran.

Tani ruani skedarin në drejtorinë tuaj të punës. Ju lutemi vini re se zgjedhja e artikullit Ruaj ose Ruaj si menu dosjeçon në shfaqjen e një dialog box-i për ruajtjen e skedarit, në fushë dosje emri e cila tashmë përmban emrin myfun. Mos e ndryshoni atë, ruajeni skedarin e funksionit në një skedar me emrin e sugjeruar.

Tani funksioni i krijuar mund të përdoret në të njëjtën mënyrë si sinin e integruar, cos dhe të tjerët, për shembull, nga linja e komandës:

»y=myfun(1.3)
Y =
0.2600

Thirrja e funksioneve të veta mund të kryhet nga një program skedar dhe nga një funksion tjetër skedar.

Paralajmërim

Drejtoria që përmban skedarin e funksionit duhet të jetë ajo aktuale, ose shtegu drejt tij duhet të shtohet në shtegun e kërkimit, përndryshe MatLab thjesht nuk do ta gjejë funksionin, ose në vend të kësaj do të thërrasë një tjetër me të njëjtin emër (nëse është në drejtoritë e kërkueshme).

Skedari i funksionit i paraqitur në listë ka një pengesë të rëndësishme. Një përpjekje për të vlerësuar vlerat e funksionit nga një grup rezulton në një gabim, jo ​​një grup vlerash, siç ndodh kur vlerësohen funksionet e integruara.

» x = ;
» y = myfun(x)
??? Gabim duke përdorur ==> ^
Matrica duhet të jetë katrore.
Gabim në ==> C:\MATLABRll\work\myfun.m
Në rreshtin 2 ==> f = exp(-x)*sqrt((x^2+1)/(x^4+1));

Nëse keni mësuar se si të punoni me vargje, atëherë eliminimi i kësaj mangësie nuk do të shkaktojë vështirësi. Thjesht duhet të përdorni operacione sipas elementeve kur llogaritni vlerën e funksionit.
Modifikoni trupin e funksionit siç tregohet në listën e mëposhtme (mos harroni të ruani ndryshimet në skedarin myfun.m).

funksioni f = myfun(x)
f = exp(-x).*sqrt((x.^2+1)./(x.^4+0.1));

Tani argumenti i funksionit myfun mund të jetë ose një numër ose një vektor ose matricë vlerash, për shembull:

» x = ;
» y = myfun(x)
Y =
0.2600 0.0001

Ndryshorja y, në të cilën është shkruar rezultati i thirrjes së funksionit myfun, bëhet automatikisht një vektor i madhësisë së kërkuar.

Paraqitni funksionin myfun në një segment nga linja e komandës ose duke përdorur programin e skedarëve:

x = ;
y = myfun(x);
komplot (x, y)

MatLab ofron një mënyrë tjetër për të punuar me funksionet e skedarëve - duke i përdorur ato si argumente për disa komanda. Për shembull, për të vizatuar një grafik, përdorni funksionin special fplot, i cili zëvendëson sekuencën e komandave të dhëna më sipër. Kur thirret fplot, emri i funksionit, grafiku i të cilit do të vizatohet është i mbyllur në apostrofa, kufijtë e vizatimit specifikohen në një vektor rresht me dy elementë.

fplot ("myfun", )

Plot myfun me komplot dhe fplot në të njëjtat akse, me mbajtje. Vini re se grafiku i vizatuar me fplot pasqyron më saktë sjelljen e funksionit, sepse vetë fplot zgjedh hapin e argumentit, duke e ulur atë në zonat e ndryshimit të shpejtë në funksionin e shfaqur. Raportoni rezultatet në një raport laboratorik.

5.2. Skedari funksionon me argumente të shumta hyrëse

Shkrimi i funksioneve të skedarit me argumente të shumta hyrëse është pothuajse i njëjtë me shkrimin e një argumenti të vetëm. Të gjitha argumentet e hyrjes vendosen në një listë të ndarë me presje. Për shembull, lista e mëposhtme përmban një skedar funksioni që llogarit gjatësinë e vektorit të rrezes së një pike në hapësirën 3D
Funksioni i skedarit të listimit me argumente të shumta

funksioni r = rrezja 3 (x, y, z)
r = sqrt(x.^2 + y.^2 + z.^2);

» R = rreze3(1, 1, 1)
R=
1.732

Përveç funksioneve me argumente të shumta hyrëse, MatLab ju lejon të krijoni funksione që kthejnë vlera të shumta, d.m.th. duke pasur argumente të shumta në dalje.

5.3. Skedari funksionon me argumente të shumta dalëse

Funksionet e skedarëve me argumente të shumta dalëse janë të dobishme për vlerësimin e funksioneve që kthejnë vlera të shumta (në matematikë ato quhen funksionet vektoriale). Argumentet e daljes shtohen, të ndara me presje, në listën e argumenteve të daljes dhe vetë lista mbyllet në kllapa katrore. Një shembull i mirë është një funksion që konverton një kohë të dhënë në sekonda në orë, minuta dhe sekonda. Ky skedar funksioni shfaqet në listën e mëposhtme.

Lista e funksionit për të kthyer sekondat në orë, minuta dhe sekonda

funksion = hms(sek)
orë = kat (sek/3600);
minutë = kat ((sek-orë*3600)/60);
e dyta = sekondë-orë*3600-minuta*60;

Kur thirrni funksionet e skedarit me argumente të shumta dalëse, rezultati duhet të shkruhet në një vektor me gjatësinë e duhur:

» [H, M, S] = hms(10000)
H=
2
M =
46
S=
40

6. Bazat e programimit në MatLab

Skedari i funksionit dhe skedari i programit të përdorur në nënseksionet e mëparshme janë shembujt më të thjeshtë të programeve.Të gjitha komandat MatLab që gjenden në to ekzekutohen në mënyrë sekuenciale. Për të zgjidhur shumë probleme më serioze, kërkohet të shkruhen programe në të cilat veprimet kryhen në mënyrë ciklike ose, në varësi të kushteve të caktuara, ekzekutohen pjesë të ndryshme të programeve. Le të shqyrtojmë operatorët kryesorë që specifikojnë sekuencat e ekzekutimit të komandave MatLab. Operatorët mund të përdoren si në procedurat e skedarëve ashtu edhe në funksione, gjë që ju lejon të krijoni programe me një strukturë komplekse degëzimi.

6.1. Deklarata e ciklit për

Operatori është krijuar për të kryer një numër të caktuar veprimesh të përsëritura. Përdorimi më i thjeshtë i deklaratës for është si më poshtë:

për numërim = fillim:hapi:përfundimtar
Komandat e MatLab
fund

Këtu count është një variabël cikli, fillimi është vlera e tij fillestare, përfundimtare është vlera e tij përfundimtare dhe hapi është hapi me të cilin numërimi rritet sa herë që hyn në lak. Cikli përfundon sapo vlera e numërimit të bëhet më e madhe se përfundimtare. Variabla e lakut mund të marrë jo vetëm vlera të plota, por edhe vlera reale të çdo shenje. Le të analizojmë zbatimin e operatorit për ciklin në disa shembuj tipikë.
Le të kërkohet të nxirret një familje kurbash për , e cila jepet nga një funksion në varësi të parametrit për vlerat e parametrave nga -0.1 në 0.1.
Shkruani tekstin e skedarit të procedurës në redaktuesin e skedarit M dhe ruajeni në skedarin FORdem1.m dhe ekzekutoni atë për ekzekutim (nga redaktori i skedarit M ose nga rreshti i komandës duke shtypur komandën FORdem1 në të dhe shtypni ):

% skedar-program për ndërtimin e një familje kurbash
x = ;
për një = -0.1:0.02:0.1
y = exp(-a*x).*sin(x);
prit
komplot (x, y)
fund

Vërejtje 4

Redaktori i skedarit M sugjeron automatikisht vendosjen e deklaratave brenda qarkut, të futura nga margjina e majtë. Përdoreni këtë mundësi për lehtësinë e punës me tekstin e programit.

Si rezultat i ekzekutimit të FORdem1, do të shfaqet një dritare grafike që përmban familjen e kërkuar të kurbave.

Shkruani një skedar programi për të llogaritur shumën

Algoritmi për llogaritjen e shumës përdor akumulimin e rezultatit, d.m.th. së pari shuma është zero ( S= 0), pastaj në një ndryshore kështë futur njësia, 1/ k! është shtuar në S dhe rezultati vendoset përsëri në S. Me tutje k rritet me një, dhe procesi vazhdon derisa afati i fundit të jetë 1/10!. Programi i skedarëve Fordem2, i paraqitur në listën e mëposhtme, llogarit shumën e dëshiruar.

Listimi i skedarit-programit Fordem2 për llogaritjen e shumës

% skedar-program për llogaritjen e shumës
% 1/1!+1/2!+ … +1/10!

% Rivendos S për të grumbulluar shumën
S = 0;
% akumulimi i sasisë në cikël
për k = 1:10
S = S + 1/faktorial(k);
fund
% e printimit të rezultatit në dritaren e komandës S

Shkruani skedarin e programit në redaktuesin e skedarit M, ruajeni në drejtorinë aktuale në skedarin Fordem2.m dhe ekzekutojeni. Rezultati do të shfaqet në dritaren komanduese, sepse në rreshtin e fundit të skedarit-programit S përmban pa pikëpresje për të shfaqur vlerën e ndryshores S

Vini re se pjesa tjetër e rreshtave në programin e skedarëve që mund të shkaktojnë shfaqjen e vlerave të ndërmjetme mbyllen me një pikëpresje për të shtypur daljen në dritaren e komandës.

Dy rreshtat e parë me komente nuk ndahen rastësisht nga një rresht bosh nga pjesa tjetër e tekstit të programit. Ato shfaqen kur përdoruesi, duke përdorur komandën e ndihmës nga linja e komandës, merr informacion për atë që Fordem2 po bën.

>>helpFordem2
skedar-program për llogaritjen e shumës
1/1!+1/2!+ … +1/10!

Kur shkruani programe skedarësh dhe funksione skedarësh, mos i lini pas dore komentet!
Të gjitha variablat e përdorur në programin e skedarëve bëhen të disponueshëm në mjedisin e punës. Ato janë të ashtuquajturat variabla globale. Nga ana tjetër, programi i skedarëve mund të përdorë të gjitha variablat e futura në mjedisin e punës.

Konsideroni problemin e llogaritjes së shumës, i ngjashëm me atë të mëparshëm, por në varësi të ndryshores x

Për të llogaritur këtë shumë në programin e skedarëve Fordem2, duhet të ndryshoni linjën brenda ciklit for në

S = S + x.^k/faktorial(k);

Para se të ekzekutoni programin, duhet të përcaktoni një variabël x në vijën e komandës me komandat e mëposhtme:

>> x = 1,5;
>>Fordem2
S=
3.4817

Si x mund të jetë një vektor ose një matricë, pasi programi i skedarëve Fordem2 përdori operacione sipas elementeve për të grumbulluar shumën.

Përpara nisjes së Fordem2, është e nevojshme t'i caktoni një ndryshore x disa vlera, dhe për të llogaritur shumën, për shembull, nga pesëmbëdhjetë terma, do të duhet të bëni ndryshime në tekstin e programit të skedarit. Është shumë më mirë të shkruhet një funksion i skedarit gjenerik që do të ketë vlerën si argumente hyrëse x dhe kufiri i sipërm i shumës, dhe prodhimi - vlera e shumës S(x). Skedari i funksionit sumN shfaqet në listën e mëposhtme.

Listimi i skedarit-funksioni për llogaritjen e shumës

funksioni S = shuma N(x, N)
Funksioni i skedarit % për të llogaritur shumën
% x/1!+x^2/2!+ … +x^N/N!
% e përdorimit: S = shumaN(x, N)

% rivendos S për të grumbulluar shumën
S = 0;
% akumulimi i sasisë në cikël
për m = 1:1:N
S = S + x.^m/faktorial(m);
fund

Përdoruesi mund të mësojë për përdorimin e funksionit sumN duke shtypur help sumN në vijën e komandës. Tre rreshtat e parë me komente do të shfaqen në dritaren e komandës, të ndara nga teksti i skedarit të funksionit me një rresht bosh.

Vini re se variablat e funksionit të skedarit nuk janë globale (m në skedarin e funksionit është sumN). Përpjekja për të parë vlerën e ndryshores m nga linja e komandës rezulton në një mesazh që m nuk është përcaktuar. Nëse ekziston një ndryshore globale me të njëjtin emër në mjedisin e punës, e përcaktuar nga linja e komandës ose në një program skedar, atëherë ajo nuk lidhet në asnjë mënyrë me një ndryshore lokale në funksionin e skedarit. Si rregull, është më mirë të shkruani algoritmet tuaja në formën e funksioneve të skedarëve, në mënyrë që variablat e përdorur në algoritëm të mos ndryshojnë vlerat e variablave të mjedisit global me të njëjtin emër.

Për sythe mund të futen brenda njëri-tjetrit, por variablat e sytheve të mbivendosur duhet të jenë të ndryshëm.

Cikli for është i dobishëm për kryerjen e veprimeve të ngjashme të përsëritura kur numri i tyre është i paracaktuar. Një lak më fleksibël ndërsa ju lejon të kapërceni këtë kufizim.

6.2. ndërsa deklarata e ciklit

Konsideroni një shembull për llogaritjen e shumës, të ngjashëm me shembullin nga paragrafi i mëparshëm. Kërkohet të gjendet shuma e një serie për një të dhënë x(zgjerim në seri):
.

Shuma mund të grumbullohet përderisa termat nuk janë shumë të vogla, le të themi më shumë modulo. Liku for nuk mjafton këtu, pasi numri i termave nuk dihet paraprakisht. Zgjidhja është të përdorni një cikli while që funksionon për aq kohë sa kushti i ciklit është i vërtetë:

ndërsa gjendja e lakut
Komandat e MatLab
fund

Në këtë shembull, kushti i ciklit supozon se termi aktual është më i madh se . Shenja më e madhe se (>) përdoret për të shkruar këtë kusht. Teksti i funksionit të skedarit mysin, i cili llogarit shumën e një serie, është paraqitur në listën e mëposhtme.

Listimi i funksionit të skedarit mysin, i cili llogarit zgjerimin e sinusit sipas serisë

funksioni S = mysin(x)
% Llogaritja e sinusit sipas zgjerimit të serisë
% Përdorimi: y = mysin(x), -pi

S = 0;
k = 0;
ndërsa abs(x.^(2*k+1)/faktorial(2*k+1))>1.0e-10
S = S + (-1)^k*x.^(2*k+1)/faktorial(2*k+1);
k = k + 1;
fund

Ju lutemi vini re se cikli while, ndryshe nga for, nuk ka një ndryshore të ciklit, kështu që ne duhej të caktonim zero në k përpara fillimit të ciklit, dhe të rrisnim k me një brenda ciklit.
Kushti i ciklit while mund të përmbajë më shumë se vetëm shenjën >. Për të vendosur kushtet për ekzekutimin e ciklit, lejohen edhe operacione të tjera relacionale, siç tregohet në tabelë. një.

Tabela 1. Operacionet e marrëdhënieve

Kushtet më komplekse janë specifikuar duke përdorur operatorë logjikë. Për shembull, kushti konsiston në përmbushjen e njëkohshme të dy pabarazive dhe , dhe shkruhet duke përdorur operatorin logjik dhe

dhe (x >= -1, x< 2)

ose në mënyrë të barabartë me &

(x >= -1) & (x< 2)

Operatorët logjikë dhe shembujt e përdorimit të tyre janë dhënë në tabelë. 2.

Tabela 2. Operatorët logjikë

Operatori

Duke shkruar në MatLab

Shënim ekuivalent

Logjika "DHE"

dhe (x< 3, k == 4)

(x< 3) & (k == 4)

"OR" logjike

Ose (x==1,x==2)

(x == 1) | (x==2)

Negativ "JO"

Kur llogaritni shumën e një serie të pafundme, ka kuptim të kufizoni numrin e termave. Nëse seria ndryshon për shkak të faktit se termat e saj nuk priren në zero, atëherë kushti për një vlerë të vogël të termit aktual nuk mund të përmbushet kurrë dhe programi do të qarkullojë. Kryeni përmbledhjen duke shtuar një kufi në numrin e termave në gjendjen e ciklit while të skedarit të funksionit mysin:

ndërsa (abs(x.^(2*k+1)/faktorial(2*k+1))>1.0e-10)&(k<=10000))

ose në formën ekuivalente

ndërsa dhe(abs(x.^(2*k+1)/faktorial(2*k+1))>1.0e-10), k<=10000)

Organizimi i veprimeve të përsëritura në formën e cikleve e bën programin të thjeshtë dhe të kuptueshëm, megjithatë, shpesh është e nevojshme të ekzekutohet një ose një bllok tjetër komandash në varësi të kushteve të caktuara, d.m.th. përdorni algoritmin e degëzimit.

6.3. Deklarata e kushtëzuar nëse

Operatori i kushtëzuar nëse ju lejon të krijoni një algoritëm degëzimi për ekzekutimin e komandave, në të cilin, në kushte të caktuara, funksionon blloku përkatës i deklaratave ose komandat MatLab.

Deklarata if mund të përdoret në formën e saj të thjeshtë për të ekzekutuar një bllok komandash kur plotësohet një kusht, ose në një konstrukt if-elseif-else për të shkruar algoritme degëzimi.
Le të kërkohet të vlerësohet shprehja . Le të themi se po bëni llogaritjet në numra realë dhe dëshironi të shfaqni një paralajmërim se rezultati është një numër kompleks. Përpara se të llogaritni funksionin, duhet të kontrolloni vlerën e argumentit x dhe të shfaqni një paralajmërim në dritaren e komandës nëse moduli x nuk e kalon një. Këtu është e nevojshme të përdoret një deklaratë e kushtëzuar nëse, aplikimi i së cilës në rastin më të thjeshtë duket kështu:

nëse kusht
Komandat e MatLab
fund

Nëse kushti plotësohet, atëherë zbatohen komandat MatLab të vendosura ndërmjet if dhe endit, dhe nëse kushti nuk plotësohet, atëherë bëhet kalimi në komandat e vendosura pas përfundimit. Kur regjistroni një kusht, përdoren operacionet e dhëna në tabelën 1. një.

Skedari i funksionit që kontrollon vlerën e një argumenti shfaqet në listën e mëposhtme. Komanda paralajmëruese përdoret për të shfaqur një paralajmërim në dritaren e komandës.

Lista e funksionit të skedarit Rfun që kontrollon vlerën e argumentit

funksioni f = Rfun(x)
% llogarit sqrt(x^2-1)
% printon një paralajmërim nëse rezultati është kompleks
% përdorim y = Rfun(x)

% kontrolli i argumentit
nëse abs (x)<1
paralajmërim ("rezultat i ndërlikuar")
fund
% vlerësimi i funksionit
f = sqrt(x^2-1);

Tani thirrja e Rfun me një argument më të vogël se një do të printojë një paralajmërim në dritaren e komandës:

>> y = Rfun(0.2)
rezultati është kompleks
y=
0 + 0,97979589711327i

Skedari i funksionit Rfun vetëm paralajmëron se vlera e tij është komplekse dhe të gjitha llogaritjet me të vazhdojnë. Nëse rezultati kompleks nënkupton një gabim në llogaritje, atëherë ekzekutimi i funksionit duhet të ndërpritet duke përdorur komandën e gabimit në vend të paralajmërimit.

6.4. Deklarata e degës if-elseif-else

Në përgjithësi, aplikacioni i operatorit të degës if-elseif-else duket kështu:

nëse kushti 1
Komandat e MatLab
gjendja ndryshe 2
Komandat e MatLab
ndryshe gjendja 3
Komandat e MatLab
. . . . . . . . . . .
gjendja ndryshe N
Komandat e MatLab
tjetër
Komandat e MatLab
fund

Në varësi të performancës së njërit apo tjetrit N kushteve, dega përkatëse e programit funksionon nëse asnjë nga N kushtet, atëherë zbatohen komandat MatLab të vendosura pas tjetrit. Pas ekzekutimit të ndonjë prej degëve, deklarata del. Mund të ketë çdo numër degësh ose vetëm dy. Në rastin e dy degëve, përdoret terminuesi else dhe elseif anashkalohet. Deklarata duhet të përfundojë gjithmonë me fund.
Një shembull i përdorimit të deklaratës if-elseif-else është paraqitur në listën e mëposhtme.

funksioni ifdem(a)
% shembull duke përdorur deklaratën if-elseif-else

nëse (a == 0)
paralajmërim ("a është e barabartë me zero")
ndryshe a == 1
paralajmërim ("dhe është i barabartë me një")
ndryshe a == 2
paralajmërim ("baraz me dy")
ndryshe a >= 3
paralajmërim ("a, më e madhe ose e barabartë me tre")
tjetër
paralajmërim ("a është më pak se tre dhe nuk është e barabartë me zero, një, dy")
fund

6.5. Operatori i degës kaloni

Një deklaratë switch mund të përdoret për të kryer përzgjedhje ose degëzim të shumëfishtë. . Është një alternativë ndaj deklaratës if-elseif-else. Në përgjithësi, aplikimi i deklaratës së degës switch duket si ky:

switch switch_shprehje
vlera e rastit 1
Komandat e MatLab
vlera e rastit 2
Komandat e MatLab
. . . . . . . . . . .
vlera e rastit N
Komandat e MatLab
rasti (vlera N+1, vlera N+2, ...)
Komandat e MatLab
. . . . . . . . . . . .
rasti (vlera NM+1, vlera NM+2,…)
ndryshe
Komandat e MatLab
fund

Në këtë deklaratë, vlera e switch_expression vlerësohet fillimisht (mund të jetë një vlerë numerike skalar ose një varg karakteresh). Më pas kjo vlerë krahasohet me vlerat: vlera 1, vlera 2, ..., vlera N, vlera N+1, vlera N+2, ..., vlera NM+1, vlera NM+2, ... i cili mund të jetë edhe numerik ose varg) . Nëse gjendet një përputhje, atëherë komandat MatLab që ndjekin fjalën kyçe të rastit përkatës ekzekutohen. Përndryshe, komandat MatLab midis fjalëve kyçe ndryshe dhe fundore ekzekutohen.

Mund të ketë çdo numër rreshtash me rastin e fjalës kyçe, por duhet të ketë një rresht me fjalën kyçe ndryshe.

Pas ekzekutimit të ndonjë prej degëve, çelësi del, ndërsa vlerat e specifikuara në raste të tjera nuk kontrollohen.

Përdorimi i ndërprerësit ilustrohet nga shembulli i mëposhtëm:

ndërprerësi i funksionit (x)
a = 10/5 + x
kaloni a
rasti-1
paralajmërim ("a = -1")
rasti 0
paralajmërim ("a = 0")
rasti 1
paralajmërim ("a = 1")
rasti (2, 3, 4)
paralajmërim ("a është 2 ose 3 ose 4")
ndryshe
paralajmërim ("a nuk është e barabartë me -1, 0, 1, 2, 3, 4")
fund

>>x=-4
ndërprerësi (x)
a =
1
paralajmërim: a = 1
>>x=1
ndërprerësi (x)
a =
6
paralajmërim: a nuk është e barabartë me -1, 0, 1, 2, 3, 4

6.6. Deklarata e ndërprerjes së lakut thyej

Gjatë organizimit të llogaritjeve ciklike, duhet pasur kujdes që të mos ndodhin gabime brenda ciklit. Për shembull, le të themi se është dhënë një grup x, i përbërë nga numra të plotë, dhe kërkohet të formohet një grup i ri y sipas rregullit y(i) = x(i+1)/x(i). Natyrisht, problemi mund të zgjidhet me një lak for. Por nëse një nga elementët e grupit origjinal është i barabartë me zero, atëherë ndarja do të rezultojë në inf, dhe llogaritjet e mëvonshme mund të jenë të padobishme. Kjo situatë mund të parandalohet duke dalë nga cikli nëse vlera aktuale e x(i) është zero. Fragmenti i mëposhtëm i programit demonstron përdorimin e deklaratës break për të thyer një lak:

për x = 1:20
z=x-8;
nëse z==0
thyej
fund
y = x/z
fund

Sapo ndryshorja z të bëhet 0, cikli përfundon.

Deklarata break ju lejon të përfundoni para kohe ekzekutimin e sytheve for dhe while. Jashtë këtyre cikleve, deklarata break nuk funksionon.

Nëse deklarata e ndërprerjes përdoret në një lak të ndërthurur, atëherë ai del vetëm nga cikli i brendshëm.

Dërgoni punën tuaj të mirë në bazën e njohurive është e thjeshtë. Përdorni formularin e mëposhtëm

Studentët, studentët e diplomuar, shkencëtarët e rinj që përdorin bazën e njohurive në studimet dhe punën e tyre do t'ju jenë shumë mirënjohës.

Postuar ne http://www.allbest.ru/

  • Prezantimi
  • 1. Pjesa teorike
  • 1.1 MATLAB dhe marrëdhënia e tij me gjuhë të tjera programimi
  • 1.2 MatLab dhe komponentët e tij kryesorë
  • 1.3 Pak për punën me sistemin MATLAB
  • 2. Pjesa praktike
  • 2.1 Deklarata e problemit
  • 2.2 Historia e zhvillimit të detyrës
  • 2.3 Formulat e përdorura
  • 2.4 Kodi i programit të detyrës
  • 2.5 Përshkrimi i programit
  • konkluzioni
  • Lista e burimeve të përdorura
  • PREZANTIMI
  • Matematika moderne kompjuterike ofron një grup të tërë sistemesh softuerësh të integruar dhe paketa softuerësh për automatizimin e llogaritjeve matematikore: Gauss, Derive, Mathcad, Mathematica, etj. Shtrohet pyetja: çfarë vendi zë sistemi MATLAB midis tyre?
  • MATLAB është një nga sistemet më të vjetra, të zhvilluara mirë për automatizimin e llogaritjeve matematikore, i ndërtuar mbi përfaqësimin dhe aplikimin e avancuar të operacioneve të matricës.
  • Me kalimin e viteve, MATLAB ka evoluar duke pasur parasysh një shumëllojshmëri përdoruesish. Në mjedisin universitar, ai ishte një mjet standard për të punuar në fusha të ndryshme të matematikës, inxhinierisë dhe shkencës.
  • Gjuha e programimit të sistemit MATLAB është shumë e thjeshtë, përmban vetëm disa dhjetëra operatorë; një numër i vogël operatorësh kompensohet nga një numër i madh procedurash dhe funksionesh, përmbajtja e të cilave është e kuptueshme për një përdorues që ka formimin e duhur matematikor dhe inxhinierik.
  • MATLAB përfshin llogaritjen, vizualizimin dhe programimin në një mjedis të përshtatshëm ku problemet dhe zgjidhjet shprehen në një formë të afërt me atë matematikore. Përdorimet tipike të MATLAB janë: llogaritjet matematikore, krijimi i algoritmeve, modelimi, analiza e të dhënave, eksplorimi dhe vizualizimi, grafika shkencore dhe inxhinierike, zhvillimi i aplikacioneve, duke përfshirë krijimin e GUI.
  • Programet e shkruara në MATLAB janë dy llojesh -- funksione dhe skripta. Funksionet kanë argumente hyrëse dhe dalëse, si dhe hapësirën e tyre të punës për ruajtjen e rezultateve të ndërmjetme të llogaritjeve dhe variablave. Skriptet ndajnë një hapësirë ​​të përbashkët pune. Të dy skriptet dhe funksionet nuk përpilohen në kodin vendas dhe ruhen si skedarë teksti.
  • Në këtë punë, qëllimi është të shqyrtohet se si lëviz një trup (ose një pikë materiale) e hedhur në një kënd me horizontin. Dhe gjithashtu, bazuar në të dhënat e konsideruara nga mekanika, duke shkruar një program që do të modelonte këtë lëvizje. Puna përfshin krijimin e grafikëve të lëvizjes, grafikët e varësisë së koordinatave nga koha, si dhe krijimin e një modeli dinamik të lëvizjes së një trupi të hedhur në një kënd me horizontin.

1. PJESA TEORIKE

1.1 MATLAB DHE LIDHJA E TIJ ME GJUHET E TJERA PROGRAMIMI

Sistemi MATLAB u zhvillua nga specialistë të MathWork Inc. (Nateik, Massachusetts, SHBA). Edhe pse ky sistem u përdor për herë të parë në fund të viteve 1970, ai u përhap gjerësisht në fund të viteve 80, veçanërisht pasi versioni 4.0 doli në treg. Versionet më të fundit të MATLAB janë sisteme që përmbajnë shumë procedura dhe funksione të nevojshme për një inxhinier dhe një shkencëtar për të kryer llogaritje komplekse numerike, për të simuluar sistemet teknike dhe fizike dhe për të paraqitur rezultatet e këtyre llogaritjeve. MATLAB (shkurt për MATrix LABoratory - laborator matrix) është një sistem ndërveprues i krijuar për të kryer llogaritjet inxhinierike dhe shkencore dhe i fokusuar në punën me grupe të dhënash. Sistemi ofron mundësinë për të aksesuar programet e shkruara në FORTRAN, C dhe C++.

Një tipar tërheqës i sistemit MATLAB është prania e matricës së integruar dhe aritmetikës komplekse. Sistemi mbështet operacionet me vektorë, matrica dhe grupe të dhënash, zbaton zbërthimin singular dhe spektral, llogarit numrin dhe numrin e kushteve të matricave, mbështet punën me polinomet algjebrike, zgjidhjen e ekuacioneve jolineare dhe problemet e optimizimit, integrimin e funksioneve në kuadratura, integrimin numerik të diferencialeve dhe ekuacionet e diferencës, ndërtimi i grafikëve të ndryshëm, sipërfaqet tredimensionale dhe vijat e nivelit.

Sistemi MATLAB siguron kryerjen e operacioneve me vektorë dhe matrica edhe në modalitetin e llogaritjes direkte. Mund të përdoret si një kalkulator i fuqishëm, i cili, së bashku me operacionet e zakonshme aritmetike dhe algjebrike, mund të përdorë operacione të tilla komplekse si përmbysja e një matrice, llogaritja e vlerave dhe vektorëve të saj, zgjidhja e sistemeve të ekuacioneve algjebrike lineare dhe shumë të tjera. Një tipar karakteristik i sistemit është hapja e tij, domethënë mundësia e modifikimit dhe përshtatjes së tij ndaj detyrave specifike të përdoruesit.

Sistemi MATLAB përdor gjuhën e vet M, e cila kombinon veçoritë pozitive të gjuhëve të ndryshme të njohura të programimit të nivelit të lartë. Sistemi MATLAB lidhet me gjuhën BASIC për faktin se është përkthyes (kryen kompilimin operator për operator dhe ekzekutimin e programit pa formuar një skedar të veçantë të ekzekutueshëm), gjuha M ka një numër të vogël operatorësh, nuk ka duhet të deklarohen llojet dhe madhësitë e variablave. Nga gjuha Pascal, sistemi MATLAB huazoi një orientim të orientuar drejt objektivit, domethënë një ndërtim të tillë të gjuhës që siguron formimin e llojeve të reja të objekteve llogaritëse bazuar në llojet e objekteve që ekzistojnë tashmë në gjuhë. Llojet e reja të objekteve (në MATLAB quhen klasa) mund të kenë procedurat e tyre të konvertimit (ato përcaktojnë metodat e kësaj klase), dhe procedurat e reja mund të quhen duke përdorur operatorë të zakonshëm aritmetikë dhe disa simbole të veçanta që përdoren në matematikë.

Parimet e ruajtjes së vlerave të variablave në MATLAB janë më të afërta me ato të qenësishme në gjuhën FORTRAN, përkatësisht: të gjitha variablat janë lokale - ato veprojnë vetëm brenda kufijve të njësisë së programit (procedurës, funksionit ose programit kryesor të kontrollit) ku atyre u janë caktuar disa vlera specifike. Kur kaloni në ekzekutimin e një njësie tjetër programore, vlerat e variablave të njësisë së mëparshme të programit ose humbasin (nëse njësia e programit të ekzekutuar është një procedurë ose funksion) ose bëhen të paarritshme (nëse programi i ekzekutuar është një program kontrolli) . Ndryshe nga BASIC dhe Pascal, nuk ka variabla globale në MATLAB që zbatohen për të gjitha njësitë e programit. Por në të njëjtën kohë, gjuha MATLAB ka një veçori që nuk është e disponueshme në gjuhë të tjera. Interpretuesi MATLAB ju lejon të ekzekutoni disa programe të pavarura në të njëjtin sesion, dhe të gjitha variablat e përdorura në këto programe janë të përbashkëta për ta dhe formojnë një hapësirë ​​të vetme pune. Kjo bën të mundur organizimin më racional të llogaritjeve komplekse (të rënda) sipas llojit të strukturave të mbivendosjes.

Karakteristikat e mësipërme të sistemit MATLAB e bëjnë atë një sistem kompjuterik shumë fleksibël dhe të lehtë për t'u përdorur.

1.2 MATLAB DHE KOMPONENTET KRYESORE TË TIJ

MATLAB është një gjuhë me performancë të lartë për llogaritjet teknike. Ai përfshin llogaritjet, vizualizimin dhe programimin në një mjedis të përshtatshëm ku problemet dhe zgjidhjet shprehen në një formë të afërt me atë matematikore. Një përdorim tipik i MATLAB është:

Llogaritjet matematikore;

Krijimi i algoritmeve;

Modelimi;

Analiza, hulumtimi dhe vizualizimi i të dhënave;

Grafika shkencore dhe inxhinierike;

Zhvillimi i aplikacionit, duke përfshirë krijimin e një ndërfaqe grafike.

MATLAB është një sistem ndërveprues në të cilin elementi kryesor i të dhënave është një grup. Kjo ju lejon të zgjidhni probleme të ndryshme që lidhen me llogaritjet teknike, veçanërisht ato që përdorin matrica dhe vektorë, disa herë më shpejt sesa kur shkruani programe duke përdorur gjuhë programimi "skalar" si C ose Fortran. matlab programimi matematikor

Në MATLAB, grupet e specializuara të programeve të quajtura kuti veglash luajnë një rol të rëndësishëm. Ato janë shumë të rëndësishme për shumicën e përdoruesve të MATLAB sepse ju lejojnë të mësoni dhe të aplikoni metoda të specializuara. Kutitë e veglave janë një koleksion gjithëpërfshirës i funksioneve MATLAB (M-skedarët) që ju lejojnë të zgjidhni klasa të veçanta problemesh. Kutitë e veglave përdoren për përpunimin e sinjalit, sistemet e kontrollit, rrjetet nervore, logjikën fuzzy, valëzimet, simulimet, etj.

Sistemi MATLAB përbëhet nga pesë pjesë kryesore.

1. Gjuha MATLAB. Është një gjuhë matrice dhe grupi e nivelit të lartë me kontroll të rrjedhës, funksione, struktura të dhënash, I/O dhe veçori programimi të orientuara nga objekti.

2. Mjedisi MATLAB. Ky është një grup mjetesh dhe pajisjesh me të cilat punon një përdorues ose programues i MATLAB. Ai përfshin mjete për menaxhimin e variablave në hapësirën e punës MATLAB, hyrjen dhe daljen e të dhënave, dhe krijimin, kontrollin dhe korrigjimin e skedarëve M dhe aplikacioneve MATLAB.

3. Grafika të menaxhuara. Është një sistem grafik MATLAB që përfshin komanda të nivelit të lartë për vizualizimin e të dhënave 2D dhe 3D, përpunimin e imazhit, animacionin dhe grafika të ilustruara. Ai përfshin gjithashtu komanda të nivelit të ulët që ju lejojnë të redaktoni plotësisht pamjen e grafikës, ashtu si kur krijoni një ndërfaqe grafike të përdoruesit (GUI) për aplikacionet MATLAB.

4. Biblioteka e funksioneve matematikore. Është një koleksion i gjerë i algoritmeve llogaritëse nga funksionet elementare si shuma, sinusi, kosinusi, aritmetika komplekse deri tek ato më komplekse si përmbysja e matricës, gjetja e vlerave vetjake, funksionet Bessel, transformimi i shpejtë i Furierit.

5. Ndërfaqja e softuerit. Kjo është një bibliotekë që ju lejon të shkruani programe C dhe Fortran që ndërveprojnë me MATLAB. Ai përfshin lehtësira për thirrjen e programeve nga MATLAB (lidhje dinamike), thirrjen e MATLAB si një mjet kompjuterik dhe për lexim/shkrimin e skedarëve MAT.

Simulink, një program shoqërues i MATLAB, është një sistem ndërveprues për modelimin e sistemeve dinamike jolineare. Është një mjedis i drejtuar nga miu që ju lejon të simuloni procesin duke zvarritur blloqe diagramesh në ekran dhe duke i manipuluar ato. Simulink punon me sisteme lineare, jolineare, të vazhdueshme, diskrete, shumëdimensionale.

Blockset janë shtesa për Simulink që ofrojnë biblioteka blloku për aplikacione të specializuara si komunikimet, përpunimi i sinjalit dhe sistemet e energjisë.

Punëtoria në kohë reale është një program që ju lejon të gjeneroni kodin C nga bllok-diagramet dhe t'i ekzekutoni ato në sisteme të ndryshme në kohë reale.

1.3 PAK PËR PUNËN ME SISTEMIN MATLAB

Pasi të klikoni në ikonën MATLAB, do të shfaqet një ekran para jush, në pjesën e sipërme të të cilit ka një rresht me menutë rënëse, një shirit veglash me butona që zbatojnë veprimet më të kryera (shih Fig. 1.1). , dhe në vetë dritaren - një varg pyetjesh në dy karaktere>> Kjo është dritarja e komandës MATLAB

Orizunok1. 1 - instrumentalepakutia e dritares së komandës

Menyja e lëshuar standarde Skedari përmban artikuj të tillë si E re për krijimin e skedarëve të rinj, Hap skedarin M - hapja e një skedari programi ekzistues ose skedari funksioni për redaktim, kontrollim të tekstit ose korrigjim. Kur përdorni këtë artikull, ju ofrohet një dritare standarde e përzgjedhjes së skedarit dhe pas zgjedhjes së skedarit të kërkuar, hapet dritarja e redaktuesit/debugger-it të skedarëve m.

M-skedarët janë skedarë teksti me shtesën .m, që përmbajnë tekste të programeve të skriptit ose tekste funksionesh nga bibliotekat standarde ose të pronarit. Në redaktues, ju mund t'i korrigjoni ato, të vendosni pika ndërprerjeje për korrigjimin e gabimeve, por mbani mend se në mënyrë që një version i ri, i korrigjuar i një funksioni ose programi të hyjë në fuqi, është e nevojshme në një mënyrë standarde (përmes menusë së redaktuesit të skedarit ose duke përdorur butonin përkatës në shiritin e veglave të redaktuesit / korrigjuesin) për të ruajtur skedarin e modifikuar.

Shiriti i veglave (shih Figurën 1.1) të dritares së komandës ju lejon të kryeni veprimet e kërkuara thjesht duke klikuar në butonin përkatës. Shumica e butonave kanë një pamje standarde dhe kryejnë veprime standarde të ngjashme me programet e tjera - kopjimi (Copy), hapja e një skedari (Open), printimi (Print), etj. Duhet t'i kushtoni vëmendje butonit Path Browser, i cili ju lejon të lundroni në drejtori të ndryshme dhe të bëni aktual direktorinë e kërkuar, si dhe butonin Workspace Browser, i cili ju lejon të shikoni dhe modifikoni variablat në hapësirën e punës.

Komanda e ndihmës e shtypur në përgjigje të një kërkese të ndjekur nga tasti Enter, ose një buton i shiritit të veglave me një pikëpyetje, liston funksionet për të cilat ofrohet ndihma online. komandën e ndihmës<имя_функции>ju lejon të merrni ndihmë në ekran për një funksion specifik.

Për shembull, komanda help eig ju lejon të merrni ndihmë në internet për funksionin eig, një funksion për llogaritjen e vlerave eigen të një matrice. Ju mund të njiheni me disa nga veçoritë e sistemit MATLAB duke përdorur komandën demo.

Në këtë hyrje të shkurtër, duhet theksuar se objektet kryesore - variablat me të cilat punon MATLAB - janë matricat drejtkëndore. Kjo bën të mundur shkrimin e programeve shumë shkurt, duke i bërë programet lehtësisht të dukshme. Ka shumë operacione të kryera në matrica. Natyrisht, shënimi i operacioneve të tilla si shumëzimi dhe shtimi i matricave duhet të memorizohen. Është e kotë të studiosh dhe të mësosh përmendësh të gjitha mundësitë “për të ardhmen”, para se të nevojiten.

Nëse ju duhet të ndërprisni punën, por të ruani të gjitha variablat e krijuar në hapësirën e punës, atëherë mënyra më e lehtë për ta bërë këtë është me komandën save.<имя_файла>. Të gjitha variablat në formë binare ruhen në një skedar<имя_файла>.mat. Më pas, kur rinisni sistemin, mund të ngarkoni të gjithë hapësirën e punës duke përdorur komandën load<имя_файла>dhe vazhdoni llogaritjet nga i njëjti vend. Për të pastruar hapësirën e punës, përdorni komandën clear pa argumente, në të cilin rast e gjithë zona pastrohet nga të gjitha variablat. Nëse komanda pastrohet nga një listë variablash e ndarë me hapësirë, atëherë hiqen vetëm variablat e listuara.

2. PJESA PRAKTIKE

2.1 DEKLARATA E PROBLEMIT

Objektivi kryesor i kësaj pune të kursit është: shkrimi i një programi në sistemin MATLAB që do të simulonte lëvizjen e një trupi të hedhur në një kënd me horizontin.

2.2 HISTORIA E PROBLEMIT

Mekanika (nga greqishtja MzchbnykYu përkthehet si arti i ndërtimit të makinave) është një fushë e fizikës që studion lëvizjen e objekteve materiale dhe ndërveprimin midis tyre. Degët më të rëndësishme të mekanikës janë mekanika klasike dhe mekanika kuantike.

Lëvizja e një trupi të hedhur në një kënd me horizontin duhet të konsiderohet si një lëvizje lakuar, e cila nga ana tjetër është një nga degët e mekanikës.

Studimi i veçorive të një lëvizjeje të tillë filloi shumë kohë më parë, në shekullin e 16-të, dhe u shoqërua me shfaqjen dhe përmirësimin e pjesëve të artilerisë.

Idetë për trajektoren e predhave të artilerisë në ato ditë ishin mjaft qesharake. Besohej se kjo trajektore përbëhet nga tre seksione: lëvizja e dhunshme, lëvizja e përzier dhe lëvizja natyrore, në të cilën topi bie mbi ushtarët e armikut nga lart (shih Fig. 2.1).

Oriz. 2.1 - Trajektorja e predhës së artilerisë

Ligjet e fluturimit të predhave nuk tërhoqën shumë vëmendjen e shkencëtarëve derisa u shpikën armë me rreze të gjatë që dërguan një predhë nëpër kodra ose pemë - në mënyrë që revole të mos e shihte fluturimin e tyre.

Në fillim, gjuajtja me rreze ultra të gjatë nga armë të tilla u përdor kryesisht për të demoralizuar dhe frikësuar armikun, dhe saktësia e të shtënave nuk luajti një rol veçanërisht të rëndësishëm në fillim.

Pranë vendimit të saktë për fluturimin e topave erdhi matematikani italian Tartaglia, ai ishte në gjendje të tregonte se diapazoni më i madh i predhave mund të arrihet kur gjuajtja drejtohet në një kënd prej 45 ° në horizont. Në librin e tij "Shkenca e Re", u formuluan rregullat e të shtënave, të cilat udhëhoqën artileritë deri në mesin e shekullit të 17-të.

Sidoqoftë, zgjidhja e plotë e problemeve që lidhen me lëvizjen e trupave të hedhur horizontalisht ose në një kënd me horizontin u krye nga i njëjti Galileo. Në arsyetimin e tij, ai doli nga dy ide kryesore: trupat që lëvizin horizontalisht dhe nuk i nënshtrohen forcave të tjera do të ruajnë shpejtësinë e tyre; shfaqja e ndikimeve të jashtme do të ndryshojë shpejtësinë e trupit në lëvizje, pavarësisht nëse ai ishte në qetësi apo në lëvizje përpara fillimit të veprimit të tyre. Galileo tregoi se trajektoret e predhave, nëse neglizhojmë rezistencën e ajrit, janë parabola. Galileo vuri në dukje se gjatë lëvizjes aktuale të predhave, për shkak të rezistencës së ajrit, trajektorja e tyre nuk do t'i ngjante më një parabole: dega zbritëse e trajektores do të shkonte disi më e pjerrët se kurba e llogaritur.

Njutoni dhe shkencëtarë të tjerë zhvilluan dhe përmirësuan një teori të re të të shtënave, duke marrë parasysh ndikimin e shtuar të forcave të rezistencës ajrore në lëvizjen e predhave të artilerisë. Është shfaqur gjithashtu një shkencë e re - balistika. Kanë kaluar shumë e shumë vite dhe tani predhat po lëvizin aq shpejt sa edhe një krahasim i thjeshtë i llojit të trajektoreve të lëvizjes së tyre konfirmon ndikimin e shtuar të rezistencës së ajrit.

Në balistikën moderne, për të zgjidhur probleme të tilla, përdoren pajisje elektronike llogaritëse - kompjuterë, por tani për tani do të kufizohemi në një rast të thjeshtë - studimin e një lëvizjeje të tillë në të cilën rezistenca e ajrit mund të neglizhohet. Kjo do të na lejojë të përsërisim arsyetimin e Galileos pothuajse pa asnjë ndryshim.

2.3 FORMULA E PËRDORUR

Le të studiojmë lëvizjen e një trupi të hedhur me një shpejtësi fillestare V 0 në një kënd b me horizontin, duke e konsideruar atë si pikë materiale me masë m. Në të njëjtën kohë, ne do të neglizhojmë rezistencën e ajrit dhe do ta konsiderojmë fushën e gravitetit të njëtrajtshme (Р=konst), duke supozuar se diapazoni i fluturimit dhe lartësia e trajektores janë të vogla në krahasim me rrezen e Tokës.

Le të vendosim origjinën O në pozicionin fillestar të pikës. Le ta drejtojmë boshtin Oy vertikalisht lart; boshtin horizontal Ox do ta vendosim në rrafshin që kalon nga Oy dhe vektorin V 0 dhe do ta vizatojmë boshtin Oz pingul me dy boshtet e para (Fig. 2.2). Atëherë këndi ndërmjet vektorit V 0 dhe boshtit Ox do të jetë i barabartë me b.

Fig.2.2 - Lëvizja e një trupi të hedhur në një kënd me horizontin.

Le të përshkruajmë një pikë lëvizëse M diku në trajektore. Vetëm forca e gravitetit F vepron në pikën, projeksionet e së cilës në boshtet koordinative janë të barabarta:

Zëvendësimi i këtyre sasive në ekuacione diferenciale dhe vërejtja e kësaj

etj. pas zvogëlimit me m marrim:

Duke shumëzuar të dyja anët e këtyre ekuacioneve me dt dhe duke integruar, gjejmë:

Kushtet fillestare në problemin tonë kanë formën:

në t=0:

Duke plotësuar kushtet fillestare do të kemi:

Zëvendësimi i këtyre vlerave C 1 , C 2 dhe C 3 në zgjidhjen e gjetur më sipër dhe duke e zëvendësuar Vx, Vy, Vz

vijmë te ekuacionet:

Duke integruar këto ekuacione, marrim:

Zëvendësimi i të dhënave fillestare jep C 4 =C 5 =C 6 =0, dhe në fund gjejmë ekuacionet e lëvizjes së pikës M në formën:

Nga ekuacioni i fundit rezulton se lëvizja ndodh në rrafshin Oxy.

Duke pasur ekuacionin e lëvizjes së një pike, është e mundur të përcaktohen të gjitha karakteristikat e një lëvizjeje të caktuar duke përdorur metoda kinematike.

Le të gjejmë kohën e fluturimit të trupit nga pika e fillimit deri në pikën e rënies.

Koha e fluturimit:

2.4 KODI I PROGRAMIT PËR DETYRËN E DEKLARUAR

clc; %pastroni dritaren e komandës

v0=36; % shpejtësia e nisjes

g=9,81; %përshpejtimi i gravitetit

k=1;

alfa=pi/3; %këndi në të cilin është hedhur trupi

m=(2*v0*sin(alfa))/g % kohë fluturimi

ndërsa k<5

k=menu ("zgjidh kategorinë", ...

sprintf ("varësia e koordinatës x nga t"), ...

sprintf ("varësia e y-koordinatës nga t"), ...

sprintf ("grafiku i lëvizjes së një trupi të hedhur në një kënd me horizontin"), ...

sprintf ("modeli dinamik i lëvizjes së një trupi të hedhur në një kënd me horizontin"), ...

"dalje");

nëse k == 1

t=0:0.001:m;

x=v0*t*cos(alfa);

komplot (x);

titull ("varësia e koordinatës x nga t");

xlabel ("x"); ylabel ("y");

elseif k == 2

t=0:0.001:m;

y=v0*t*sin(alfa)-(g*t.^2)/2;

komplot (y);

titull ("varësia e koordinatës y nga t");

xlabel ("x"); ylabel ("y");

otherif k == 3

t=0:0.001:m;

x=v0*t*cos(alfa);

y=v0*t*sin(alfa)-(g*t.^2)/2;

komplot (x,y);

titulli ("Grafiku i lëvizjes së një trupi të hedhur në një kënd me horizontin");

xlabel ("x"); ylabel ("y");

elseif k == 4

t=0:0.001:m;

x=v0*t*cos(alfa);

y=v0*t*sin(alfa)-(g*t.^2)/2;

kometa (x,y);

titull ("modeli dinamik i lëvizjes së një trupi të hedhur në një kënd me horizontin");

xlabel ("x"); ylabel ("y");

fundi;

fundi;

2.5 PËRSHKRIMI I PROGRAMIT

Ky program përmban funksione dhe procedura si clc, plot, menu, kometë etj., si dhe variabla dhe vlerat e tyre.

Le të përshkruajmë procedurat dhe funksionet e përdorura në këtë program:

CLC. Komanda e destinuar për pastrimin e dritares së komandës.

MENU. Një mjet i përshtatshëm për të zgjedhur një nga alternativat për veprimet e ardhshme llogaritëse është funksioni i menysë, i cili krijon një dritare menyje të personalizuar. Funksioni i menusë duhet të aksesohet si më poshtë:

K=MENU("TITULLI I MENUS", "alternativa 1", "alternativa 2", "alternativa n")

Një apel i tillë çon në shfaqjen e një dritareje menuje (shih Fig. 2.3).

Figura 2.3 - Dritarja e menysë

Ekzekutimi i programit është pezulluar përkohësisht dhe sistemi pret që të zgjidhet një nga butonat alternativë të menysë. Pas zgjedhjes së saktë, parametrit fillestar k i caktohet një vlerë që korrespondon me numrin e alternativës (1,2…n). Në përgjithësi, numri i alternativave mund të jetë deri në 32.

DERISA. Operatori i ciklit me një parakusht duket si ky:

Derisa <условие>

<операторы>

fund

Deklaratat brenda ciklit ekzekutohen vetëm nëse plotësohet kushti pas fjalës while. Në të njëjtën kohë, midis pohimeve brenda lakut, duhet të ketë nga ato që ndryshojnë vlerën e njërit prej variablave.

SPRINT. Një funksion që në çdo buton të menysë vendos informacion për vlerën aktuale të parametrit përkatës.

NËSE. Në përgjithësi, sintaksa e operatorit të kërcimit të kushtëzuar është si më poshtë:

Nëse < gjendje>

< operatorët1>

Përndryshe

< operatorët2>

End

Ky operator funksionon si më poshtë. Së pari, bëhet një kontroll për të parë nëse kushti i specifikuar plotësohet. Nëse rezultati i testit është pozitiv, programi ekzekuton një grup deklaratash <операторы1> . Përndryshe, sekuenca e deklaratave ekzekutohet <операторы2>.

PLOTETI. Funksioni kryesor që ofron grafikim në ekranin e ekranit është grafiku (shih Figurën 2.4). Forma e përgjithshme e adresimit të tij është si më poshtë:

Komplot (x1, y1, s1, x2, y2, s2…)

Këtu x1, y1 jepen vektorë, elementët e të cilëve janë vargje me vlera argumentesh (x1) dhe funksione (y1) që korrespondojnë me kurbën e parë të grafikut; x2, y2 - vargje të vlerave të argumenteve dhe funksioneve të kurbës së dytë, etj. Supozohet se vlera e argumentit vizatohet përgjatë boshtit horizontal të grafikut, dhe vlera e funksionit vizatohet përgjatë boshtit vertikal. Variablat s1,s2,… janë simbolike (specifikimi i tyre është opsional).

Figura 2.4 - Veprimi i funksionit të grafikut.

TITULLI. Procedura me të cilën vendoset titulli i grafikut.

XLABEL dhe YLABEL. Funksionet që përcaktojnë shpjegimet përgjatë boshteve horizontale dhe vertikale.

KOMETA. Procedura kometa (x, y) ("kometa") ndërton një komplot të varësisë y(x) gradualisht në formën e një trajektoreje kometë. Në të njëjtën kohë, pika "përfaqësuese" në grafik duket si një kometë e vogël, e cila lëviz pa probleme nga një pikë në tjetrën.

Në fund të fundit, programi tregon se si lëviz trupi, i hedhur në një kënd me horizontin. Gjithashtu në program mund të shihni varësinë e koordinatave të trupit nga koha (shih Fig. 2.5 dhe Fig. 2.6), grafikun e trajektores së trupit (shih Fig. 2.7) dhe vetë modelin e lëvizjes së trupit (shih Fig. 2.8). .

Figura 2.5 - Grafiku i x kundrejt t.

Figura 2.6 - Grafiku i y kundrejt t.

Figura 2.7 - Grafiku i lëvizjes së një trupi të hedhur në një kënd me horizontin.

Figura 2.8 - Modeli dinamik i lëvizjes së një trupi të hedhur në një kënd me horizontin.

PËRFUNDIM

Projekti i kursit u përfundua në mjedisin MatLab 6.5. Zhvillimi i projektit u zhvillua në disa faza, që konsistojnë në studimin e fushës lëndore të problemit; studimi i ligjeve bazë të mekanikës; zhvillimi i vetë programit, i cili lejon simulimin e lëvizjes së një trupi të hedhur në një kënd me horizontin.

Rezultati i punës së bërë ishte një program që zbaton një model të lëvizjes së një trupi të hedhur në një kënd me horizontin.

Vlera praktike e programit qëndron në faktin se ai tregon qartë se si lëviz një trup i hedhur në një kënd me horizontin.

Gjithashtu, puna e kursit kontribuoi në zhvillimin e aftësive për planifikimin dhe zbatimin e pavarur të punës kërkimore, fitimin e përvojës në mbledhjen dhe përpunimin e materialit burimor, analizimin e literaturës shkencore dhe teknike, librave referencë, standardeve dhe dokumentacionit teknik, përvetësimit të aftësive në argumentimin e vendimeve të projektimit dhe dizajn profesional i dokumentacionit të projektit.

LISTA E BURIMEVE TË PËRDORUR

1. Lazarev, Yu. Modelimi i proceseve dhe sistemeve në MatLab. Kurs trajnimi. / Yu. Lazarev. - Shën Petersburg: Pjetri; Kiev: BHV Publishing Group, 2005. - 512 f.

2. Aleshkevich, V.A. Mekanika / V.A. Aleshkevich, L.G. Dedenko, V.A. Karavaev. - Akademia 2004.

3. Kotkin, G.L. Cherkassky V.S., Modelimi kompjuterik i proceseve fizike duke përdorur MATLAB: Proc. shtesa / G.L. Kotkin, V.S. Cherkassky. - Novosib. un-t. Novosibirsk, 2001. - 173 f.

Organizuar në Allbest.ru

...

Dokumente të ngjashme

    Karakteristikat e përgjithshme dhe vetitë e sistemit Matlab - një paketë programesh të aplikuara për zgjidhjen e problemeve të llogaritjeve teknike. Zhvillimi i një modeli matematikor në një mjedis të caktuar, programimi i funksioneve për një ndikim master. Dizajn GUI.

    punim afatshkurtër, shtuar 23.05.2013

    Karakteristikat e punës në modalitetin e linjës së komandës në sistemin Matlab. Variablat dhe caktimi i vlerave për to. Numrat kompleks dhe llogaritjet në sistemin Matlab. Llogaritjet duke përdorur funksionin sqrt. Përdorimi i gabuar i funksioneve me argumente komplekse.

    tezë, shtuar 30.07.2015

    Mësimi i programimit në MATLAB. Duke përdorur komandat Save and Load, deklaratat hyrëse dhe dalëse për të punuar në dritaren e komandës. Debugimi i programeve tuaja. Ndërfaqja MATLAB. Dallimet midis një versioni të mëvonshëm të MATLAB dhe atyre të mëparshëm. Mjeti i ndërfaqes së kontrollit të burimit.

    test, shtuar 25.12.2011

    Matlab - laborator matricor - sistem programimi për llogaritjet shkencore dhe teknike. Karakteristikat e hyrjes së vektorëve. Matrica speciale, komanda të thjeshta. Shembuj të thjeshtë që ilustrojnë efektivitetin e Matlab. Mënyra grafike për zgjidhjen e ekuacioneve.

    abstrakt, shtuar 01/05/2010

    Baza matematikore e llogaritjes paralele. Karakteristikat e kutisë së veglave të llogaritjes paralele. Zhvillimi i aplikacioneve paralele në Matlab. Shembuj të detyrave paralele të programimit. Llogaritja e një integrali të caktuar. Shumëzimi serial dhe paralel.

    punim afatshkurtër, shtuar 15.12.2010

    MATLAB - laborator matricor - sistemi më i avancuar i programimit për llogaritjet shkencore dhe teknike. Variablat dhe elementet e xy-grafikës. Shembuj të thjeshtë që ilustrojnë fuqinë e MATLAB. Sistemet e ekuacioneve algjebrike lineare dhe polinomeve.

    manual trajnimi, shtuar 26.01.2009

    Krijimi dhe paraqitja e variablave simbolikë në programin Matlab, veprimet mbi polinomet dhe thjeshtimi i shprehjeve. Një shembull i zëvendësimit të një vlere në një funksion, zgjidhjes së ekuacioneve dhe sistemeve, diferencimit, integrimit dhe llogaritjes së kufijve të funksioneve.

    prezantim, shtuar 24.01.2014

    Karakteristikat dhe sintaksa e komandave MATLAB, lista e programeve dhe përshkrimi i ciklit. Procedura për përpilimin e një programi për llogaritjen e koeficientëve të një polinomi të interpolimit algjebrik dhe ndërtimin e një funksioni spline "të ngjitur" nga copa polinomesh të rendit të tretë.

    punë laboratorike, shtuar 07/04/2009

    Analiza e aftësive të paketës MATLAB dhe zgjerimeve të saj. Gjuha e programimit të sistemit. Hulumtimi i pajisjes ndreqëse. Simulimi i një transformatori trefazor. Diagrami skematik i një konverteri të rregullueshëm. Mundësitë e një modeli dixhital fleksibël.

    prezantim, shtuar 22.10.2013

    Metodat e integrimit numerik. Karakterizimi i komponentëve kryesorë të programimit strukturor. Zgjidhja e detyrës në gjuhën e nivelit të lartë Pascal. Ndërtimi i një zgjidhjeje grafike të problemit në paketën Matlab. Zgjidhja e problemave në gjuhën e nivelit të lartë C.

Udhëzim

Ekzistojnë disa mënyra funksionimi në mjedisin MATLAB. Më e thjeshta është të futni komanda direkt në dritaren e komandës ( dritarja e komandës).
Nëse nuk është i dukshëm në ndërfaqen e programit, atëherë duhet ta hapni. Ju mund të gjeni dritaren e komandës përmes menysë Desktop -> dritarja e komandës.
Për shembull, le të fusim në këtë dritare komandat "x = ; y = sqrt(x); plot(y);", njëra pas tjetrës dhe shtypim tastin "Enter" ( Hyni). Programi do të krijojë në çast ndryshoret X, do të krijojë një ndryshore Y dhe do të llogarisë vlerat e saj për një funksion të caktuar dhe më pas do të ndërtojë grafikun e tij.
Duke përdorur shigjetat e tastierës "Lart" dhe "Poshtë" në dritaren komanduese, mund të kalojmë midis të gjitha komandave të futura, t'i ndryshojmë menjëherë nëse është e nevojshme dhe duke shtypur përsëri Enter dërgojmë mjedisin MATLAB për ekzekutim.
Në mënyrë të përshtatshme? Pa dyshim. Dhe më e rëndësishmja - shumë shpejt. Të gjitha këto veprime zgjasin disa sekonda.
Por çfarë nëse keni nevojë për një organizim më kompleks të ekipeve? Nëse keni nevojë për ekzekutim ciklik të disa komandave? Futja e komandave me dorë një nga një, dhe më pas kërkimi i tyre në histori për një kohë të gjatë mund të jetë mjaft i lodhshëm.

Për të thjeshtuar jetën e një shkencëtari, inxhinieri ose studenti, dritarja e redaktorit ( Redaktor). Le të hapim dritaren e redaktorit përmes menysë Desktop -> Redaktor.
Këtu mund të krijoni variabla të reja, të ndërtoni grafikë, të shkruani programe (skripte), të krijoni komponentë për shkëmbim me mjedise të tjera, të krijoni aplikacione me një ndërfaqe përdoruesi (GUI) dhe të modifikoni ato ekzistuese. Por aktualisht jemi të interesuar të shkruajmë një program që përmban funksione për ripërdorim në të ardhmen. Pra, le të shkojmë në menu. dosje dhe zgjidhni I ri -> M dosje.

Në fushën e redaktuesit, ne do të shkruajmë një program të thjeshtë, por do ta komplikojmë pak:

funksioni vizatim_plot (x)
y = log(x); % Vendosni funksionin e parë
nënplot (1, 2, 1), komplot (x, y); % Ndërtimi i grafikut të parë
y = katror (x); % Vendosni funksionin e dytë
nënplot (1, 2, 2), komplot (x, y); % Ndërtojmë grafikun e dytë

Ne kemi shtuar një funksion të dytë dhe do të shfaqim dy grafikë në të njëjtën kohë pranë njëri-tjetrit. Shenja e përqindjes tregon komentet në mjedisin MATLAB.
Mos harroni të ruani programin. Shtesa standarde e skedarit me programin Matlab është *.m.
Tani mbyllni redaktorin dhe dritaren me grafikun që kemi ndërtuar më parë.

Le të kthehemi te dritarja e komandës.
Ju mund të pastroni historinë e komandave në mënyrë që informacioni i panevojshëm të mos na shpërqendrojë. Për ta bërë këtë, klikoni me të djathtën në fushën e hyrjes së komandës dhe zgjidhni artikullin në menunë e kontekstit që hapet. Pastro dritaren e komandës.
Ndryshorja X mbeti me ne pas eksperimentit të mëparshëm, ne nuk e ndryshuam apo fshimë atë. Prandaj, në dritaren e komandës, mund të futni menjëherë:
vizatim_plot (x);
Do të shihni që MATLAB do të lexojë funksionin tonë nga skedari dhe do ta ekzekutojë atë, duke vizatuar grafikun.

Ata që merren me matematikë të lartë e dinë shumë mirë se me çfarë duhet të merren ndonjëherë "përbindëshat" matematikorë. Për shembull, për të llogaritur një integral të trefishtë gjigant, mund të shpenzoni shumë kohë, forcë mendore dhe qeliza nervore që nuk rikuperohen. Sigurisht, është shumë interesante të sfidosh integralin dhe ta marrësh atë. Por çka nëse integrali kërcënon t'ju marrë në vend të kësaj? Apo, edhe më keq, trinomi kub doli jashtë kontrollit dhe u tërbua? Ju nuk do t'ia dëshironit këtë armikut tuaj.


Më parë, kishte vetëm dy mundësi: të pështyje gjithçka dhe të shkosh për një shëtitje ose të hysh në një luftë shumë-orëshe me integralin. Epo, dikush për shumë orë, dikush për shumë minuta - kush studioi si. Por kjo nuk është çështja. Shekulli i njëzetë dhe përparimi në lëvizje të pandalshme na ofron një mënyrë të tretë, domethënë, na lejon të marrim "shpejt" integralin më kompleks. E njëjta gjë vlen edhe për zgjidhjen e ekuacioneve të ndryshme, vizatimin e grafikëve të funksioneve në formën e hiperboloideve kubike, etj.

Për situata të tilla të jashtëzakonshme, por që ndodhin periodikisht midis studentëve, ekziston një armë e fuqishme matematikore. Njihuni me ata që nuk e dinë ende - paketën softuerike MATLAB.

Matlab do të zgjidhë ekuacionin, do të përafrojë dhe do të vizatojë grafikun e funksionit. E kuptoni se çfarë do të thotë kjo, miq?

Kjo do të thotë se është një nga paketat më të fuqishme të përpunimit të të dhënave deri më sot. Emri qëndron për matricëlaboratori. Laboratori i Matricës, nëse në rusisht . Mundësitë e programit mbulojnë pothuajse të gjitha fushat e matematikës. Pra, duke përdorur matlab, mund të:

  • Kryen të gjitha llojet e veprimeve në matrica, zgjidh ekuacione lineare, punë me vektorë;
  • Llogaritni rrënjët e polinomeve të çdo shkalle, kryeni veprime mbi polinomet, diferenconi, ekstrapoloni dhe interpoloni kurbat, ndërtoni grafikë të çdo funksioni;
  • Kryerja e analizave statistikore të të dhënave duke përdorur filtrimin dixhital, regresionin statistikor;
  • Zgjidhja e ekuacioneve diferenciale. Në derivatet e pjesshme, lineare, jolineare, me kushte kufitare - nuk ka rëndësi, matlab do të zgjidhë gjithçka;
  • Kryen veprime aritmetike me numra të plotë.

Përveç gjithë kësaj, aftësitë e MATLAB ju lejojnë të vizualizoni të dhënat deri në ndërtimin e grafikëve tredimensionale dhe krijimin e videove të animuara.

Përshkrimi ynë i matlab, natyrisht, nuk është i plotë. Përveç aftësive dhe funksioneve të ofruara nga prodhuesi, ekziston një numër i madh i mjeteve matlab të shkruara nga thjesht entuziastë ose kompani të tjera.

MATLAB si gjuhë programimi


E megjithatë - kjo është një gjuhë programimi që përdoret drejtpërdrejt kur punoni me programin. Nuk do të hyjmë në detaje, do të themi vetëm se programet e shkruara në gjuhën MATLAB janë dy llojesh: funksionet dhe skriptet.


Skedari kryesor i punës i programit është skedari M. Ky është një skedar teksti i pafund, dhe pikërisht në të bëhet programimi aktual i llogaritjeve. Meqë ra fjala, mos lejoni që kjo fjalë t'ju trembë - për të punuar në MATLAB, nuk keni nevojë të jeni aspak një programues profesionist.

M-skedarët ndahen në

  • M-skenarët. Një M-script është lloji më i thjeshtë i skedarit M që nuk ka argumente hyrëse ose dalëse. Ky skedar përdoret për të automatizuar llogaritjet e përsëritura.
  • M-funksionet. Funksionet M janë skedarë M që lejojnë argumentet hyrëse dhe dalëse.

Për të treguar qartë se si bëhet puna në MATLAB, ne do të japim një shembull të krijimit të një funksioni në matlab më poshtë. Ky funksion do të llogarisë vlerën mesatare të vektorit.
f bashkimi y = mesatar (x)
% MESATARE Vlera mesatare e elementeve vektoriale.
% AVERAGE(X), ku X është një vektor. Llogarit mesataren e elementeve të një vektori.
% Nëse argumenti hyrës nuk është vektor, krijohet një gabim.
= madhësia (x);
nëse (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
gabim ("Rrethi i hyrjes duhet të jetë një vektor")
fund
y=shuma(x)/gjatësia(x); % llogaritja aktuale

Linja e përkufizimit të funksionit i tregon MATLAB se skedari është një funksion M dhe gjithashtu përcakton një listë të argumenteve hyrëse. Pra, linja e përkufizimit të mesatares së funksionit duket si:
funksioni y = mesatar (x)
Ku:

  1. funksion - një fjalë kyçe që përcakton një funksion M;
  2. y - argumenti i daljes;
  3. mesatare - emri i funksionit;
  4. x është argumenti hyrës.

Pra, për të shkruar një funksion në MATLAB, duhet të mbani mend se çdo funksion në sistemin MATLAB përmban një linjë përkufizimi funksioni si kjo.

Natyrisht, një paketë kaq e fuqishme nevojitet jo vetëm për t'ua lehtësuar jetën studentëve. Aktualisht, MATLAB, nga njëra anë, është shumë i popullarizuar në mesin e specialistëve në shumë industri shkencore dhe inxhinierike. Nga ana tjetër, aftësia për të punuar me matrica të mëdha e bën MATLAB një mjet të domosdoshëm për analistët financiarë, duke i lejuar ata të zgjidhin shumë më tepër probleme sesa, për shembull, Excel-i i mirënjohur. Ju mund të lexoni më shumë rreth kësaj në artikullin e rishikimit.

Disavantazhet e punës me MATLAB


Cilat janë vështirësitë në punën me MATLAB? Vështirësi, ndoshta, vetëm një. Por themelore. Për të zbuluar plotësisht aftësitë e MATLAB dhe për të zgjidhur lehtësisht detyrat me të cilat përballeni, do t'ju duhet të djersiteni dhe së pari të merreni me vetë matlab (si të krijoni një skedar, si të krijoni një funksion, etj.). Dhe kjo nuk është aq e lehtë, sepse fuqia dhe mundësitë e shumta kërkojnë sakrificë.

Me gjithë dëshirën, nuk mund të thuhet se MATLAB -program i thjeshtë. Megjithatë, shpresojmë që të gjitha sa më sipër do të jenë një argument i mjaftueshëm për të vazhduar zhvillimin e tij.

Dhe së fundi. Nëse nuk e dini pse gjithçka në jetën tuaj shkoi në këtë mënyrë dhe jo ndryshe, pyesni matlab për këtë. Thjesht shkruani "pse" në vijën e komandës. Ai do të përgjigjet. Provoje!

Tani ju i dini mundësitë e Matlab. Në arsim, MATLAB përdoret shpesh në mësimin e metodave numerike dhe algjebrës lineare. Shumë studentë nuk mund të bëjnë pa të kur përpunojnë rezultatet e një eksperimenti të kryer gjatë punës laboratorike. Për zotërim të shpejtë dhe cilësor të bazave të punës me MATLAB, mund të kontaktoni gjithmonë, në çdo kohë të gatshëm për t'iu përgjigjur çdo pyetjeje tuajën.

Artikujt kryesorë të lidhur