Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • In contact cu
  • Ajutând matematicienii: o privire de ansamblu asupra MATLAB. Înlocuind aceste mărimi în ecuații diferențiale și observând că

Ajutând matematicienii: o privire de ansamblu asupra MATLAB. Înlocuind aceste mărimi în ecuații diferențiale și observând că

Mediul MATLAB include un interpret de comenzi într-un limbaj de nivel înalt, un sistem grafic, pachete de extensii și este implementat în C. Toate lucrările sunt organizate prin fereastra de comandă, care apare la lansarea programului matlab.exe. În timpul lucrului, datele sunt localizate în memorie (Workspace), sunt create ferestre grafice pentru a afișa curbe, suprafețe și alte grafice.

Calculele sunt efectuate în fereastra de comandă în modul de dialog. Utilizatorul introduce comenzi sau lansează fișiere cu texte în limbajul MATLAB. Interpretul procesează intrarea și produce rezultate: date numerice și șir, avertismente și mesaje de eroare. Linia de intrare este marcată cu >>. Fereastra de comandă afișează numerele introduse de la tastatură, variabilele și rezultatele calculelor. Numele variabilelor trebuie să înceapă cu o literă. Semnul = corespunde operatorului de atribuire. Apăsarea tastei Enter face ca sistemul să evalueze expresia și să afișeze rezultatul. Tastați de la tastatură în linia de introducere:

Apăsați tasta Enter, rezultatul calculului va apărea pe ecran în zona de vizualizare:

Toate valorile variabilelor calculate în timpul sesiunii curente de lucru sunt stocate într-o zonă special rezervată a memoriei computerului, numită spațiu de lucru al sistemului MATLAB (spațiu de lucru). Comanda clc poate șterge conținutul ferestrei de comandă, dar acest lucru nu va afecta conținutul spațiului de lucru. Când nu mai este necesară stocarea unui număr de variabile în sesiunea curentă, acestea pot fi șterse din memoria computerului cu comanda clear sau clear(name1, name2, ...). Prima comandă elimină toate variabilele din memorie, iar a doua elimină variabilele numite nume1 și nume2. Comanda who poate fi utilizată pentru a afișa o listă cu toate variabilele incluse în prezent în spațiul de lucru al sistemului. Pentru a vedea valoarea oricărei variabile din spațiul de lucru curent al sistemului, trebuie doar să tastați numele acesteia și să apăsați tasta Enter.

După încheierea sesiunii cu sistemul MATLAB, toate variabilele calculate anterior se pierd. Pentru a salva conținutul spațiului de lucru al sistemului MATLAB într-un fișier de pe un disc al computerului, trebuie să executați comanda de meniu Fișier / Salvare spațiu de lucru ca .... În mod implicit, extensia numelui fișierului este mat, astfel încât astfel de fișiere sunt de obicei numite fișiere MAT. Pentru a încărca un spațiu de lucru salvat anterior pe disc în memoria computerului, executați comanda de meniu: File / Load Workspace ... .

Numerele reale și tipul de date dublu

Sistemul MATLAB reprezintă la nivel de mașină toate numerele reale date de mantisă și exponent, de exemplu, 2.85093E+11, unde litera E denotă baza gradului egală cu 10. Acest tip de date de bază se numește dublu. MATLAB folosește implicit formatul scurt pentru ieșirea în virgulă mobilă, care afișează numai patru cifre zecimale după virgulă.

Introduceți de la tastatură un exemplu:

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

Obțineți rezultatul calculului:

Dacă este necesară reprezentarea completă a numărului real res, introduceți comanda de la tastatură:

apăsați tasta Enter și obțineți mai multe detalii:

res = -93,29900636942675

Acum toate rezultatele calculelor vor fi afișate cu o precizie atât de mare în timpul acestei sesiuni în mediul de sistem MATLAB. Dacă trebuie să reveniți la vechea precizie a reprezentării vizuale a numerelor reale în fereastra de comandă înainte de a încheia sesiunea curentă, trebuie să introduceți și să executați (apăsând tasta Enter) comanda:

Numerele întregi sunt afișate de sistem în fereastra de comandă ca numere întregi.

Operațiile aritmetice se efectuează pe numere reale și variabile de tip dublu: adunarea +, scăderea -, înmulțirea *, împărțirea / și exponentiația ^ . Prioritatea în executarea operațiilor aritmetice este normală. Operatorii cu aceeași prioritate sunt executați în ordine de la stânga la dreapta, dar parantezele pot schimba această ordine.

Dacă nu este nevoie să vedeți rezultatul calculului unei expresii în fereastra de comandă, atunci la sfârșitul expresiei introduse, puneți punct și virgulă și abia apoi apăsați Enter.

Sistemul MATLAB conține toate funcțiile elementare de bază pentru calcule cu numere reale. Orice funcție este caracterizată prin numele ei, lista de argumente de intrare (sunt listate separate prin virgule și sunt între paranteze după numele funcției) și valoarea calculată (returnată). O listă cu toate funcțiile matematice elementare disponibile în sistem poate fi obținută folosind comanda help elfun. Anexa 1 enumeră funcțiile standard ale unui argument real.

Evaluați o expresie care implică calculul funcției arcsinus:

Asigurați-vă că obțineți următorul rezultat:

corespunzător numărului „pi”. În sistemul MATLAB, există o notație specială pentru calcularea numărului „pi”: pi. (O listă a variabilelor de sistem MATLAB este în Anexa 2).

MATLAB are și funcții logice, funcții legate de aritmetica întregului (rotunjire la cel mai apropiat număr întreg: rotunjire, trunchierea părții fracționale a unui număr: fix). Există și funcția mod - restul diviziunii, ținând cont de semn, semn - semnul unui număr, lcm - cel mai mic multiplu comun, perms - calculul numărului de permutări și nchoosek - numărul de combinații și multe altele. Multe dintre funcții au un domeniu de definiție diferit de mulțimea tuturor numerelor reale.

Pe lângă operațiile aritmetice pe operanzi de tip dublu, se efectuează și operații relaționale și logice. Operațiile relaționale compară doi operanzi ca mărime. Aceste operații sunt scrise cu următoarele caractere sau combinații de caractere (Tabelul 1):

tabelul 1


Dacă operatorul relațional este adevărat, valoarea lui este 1, iar dacă este fals, este 0. Operatorii relaționali au o prioritate mai mică decât operatorii aritmetici.

Introduceți o expresie cu operații relaționale de la tastatură și calculați

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

» res=(a

Veți obține următorul rezultat:

Operațiile logice pe numere reale sunt notate prin semnele enumerate în tabelul 2:

masa 2


& | ~
ȘI SAU NU

Primele două dintre aceste operații sunt binare (cu doi operanzi), iar ultima este unară (cu un singur operand). Operatorii logici tratează operanzii lor ca fiind „adevărați” (nu este egal cu zero) sau „falși” (egal cu zero). Dacă ambii operanzi ai operației „ȘI” sunt adevărați (nu egal cu zero), atunci rezultatul acestei operații este 1 („adevărat”); în toate celelalte cazuri, operația „ȘI” produce valoarea 0 („fals”). Operația SAU produce 0 (fals) numai dacă ambii operanzi sunt falși (egali cu zero). Operația „NU” inversează „fals” în „adevărat”. Operațiile logice au cea mai mică prioritate.

Numere complexe și funcții complexe

Variabilele complexe, precum cele reale, au automat tipul dublu și nu necesită nicio descriere preliminară. Literele i sau j sunt rezervate unității imaginare. În cazul în care coeficientul din fața unității imaginare nu este un număr, ci o variabilă, între ele trebuie folosit semnul înmulțirii. Deci, numerele complexe pot fi scrise după cum urmează:

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

Aproape toate funcțiile elementare permit calcule cu argumente complexe. Evaluați expresia:

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

Rezultatul va fi:

1.8009 - 1.91901

Următoarele funcții sunt special concepute pentru lucrul cu numere complexe: abs (valoarea absolută a unui număr complex), conj (conjugat complex), imag (partea imaginară a unui număr complex), real (partea reală a unui număr complex), unghi ( argumentul unui număr complex), este real ( „adevărat” dacă numărul este real). Funcțiile unei variabile complexe sunt enumerate în Anexa 1.

În ceea ce privește operațiile aritmetice, nimic nou pentru numerele complexe (comparativ cu cele reale) nu este imposibil de spus. Același lucru este valabil și pentru operațiile relaționale „egal cu” și „nu este egal cu”. Restul operațiilor relaționale produc un rezultat bazat doar pe părțile reale ale acestor operanzi.

Introduceți o expresie, obțineți rezultatul și explicați-l:

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

Operațiile booleene tratează operanzii ca fiind falși dacă sunt zero. Dacă cel puțin o parte a operandului complex (real sau imaginar) nu este egală cu zero, atunci un astfel de operand este tratat ca adevărat.

Matrice numerice

Pentru a crea o matrice unidimensională, puteți utiliza operația de concatenare, care este notă cu paranteze pătrate. Elementele matricei sunt plasate între paranteze și separate unele de altele printr-un spațiu sau o virgulă:

»al=; d=;

Pentru a accesa un element de matrice individual, trebuie să aplicați operația de indexare, pentru care, după numele elementului, specificați indexul elementului în paranteze.

Puteți modifica elementele unui tablou deja format prin aplicarea operațiilor de indexare și atribuire. De exemplu, introducând:

vom schimba al treilea element al tabloului. Sau, după introducere:

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

cel de-al doilea element al tabloului va deveni egal cu media aritmetică a primului și al treilea element. Scrierea unui element inexistent este perfect validă - înseamnă adăugarea unui element nou la o matrice deja existentă:

Aplicând funcția de lungime matricei a1 după efectuarea acestei operații, constatăm că numărul de elemente din matrice a crescut la patru:

Aceeași acțiune - „lungirea matricei a1” - poate fi efectuată folosind operația de concatenare:

Puteți defini o matrice listând toate elementele sale individual:

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

Cu toate acestea, această metodă de creație nu este eficientă. O altă modalitate de a crea o matrice unidimensională se bazează pe utilizarea unei funcții speciale, notate cu două puncte (operația de formare a unui interval de valori numerice). După două puncte, introduceți primul număr al intervalului, pasul (incrementul) și numărul final al intervalului. De exemplu:

»diap=3,7:0,3:8,974;

Dacă nu trebuie să afișați întreaga matrice rezultată, atunci la sfârșitul setului (după numărul final al intervalului) ar trebui să tastați un punct și virgulă. Pentru a afla câte elemente sunt într-o matrice, apelați funcția length(array name).

Pentru a crea o matrice bidimensională (matrice), puteți utiliza și operația de concatenare. Elementele matricei sunt tastate una după alta în funcție de locația lor în linii, un punct și virgulă este folosit ca separator de linii.

Introdu de la tastatură:

» a=

Apăsați ENTER, obținem:

Matricea rezultată a de dimensiunea 3x2 (prima indică numărul de rânduri, a doua - numărul de coloane) poate fi formată și prin concatenarea verticală a vectorilor rând:

»a=[;;];

sau concatenarea orizontală a vectorilor-coloană:

» a=[,];

Structura matricelor create poate fi găsită folosind comanda whos(nume matrice), dimensiunea matricei prin funcția ndims și dimensiunea matricei în funcție de dimensiune.

Matricele bidimensionale pot fi specificate și folosind operația de indexare, scriindu-și elementele separat. Numărul rândului și al coloanei la intersecția cărora se află elementul de matrice specificat sunt indicate separate prin virgule în paranteze. De exemplu:

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

Cu toate acestea, va fi mult mai eficient dacă, înainte de a începe să scrieți elemente de matrice, creați o matrice de dimensiunea dorită folosind funcțiile ones (m, n) sau zeros (m, n), completate cu unu sau zero (m - the numărul de rânduri, n - numărul de coloane). Când aceste funcții sunt apelate, memoria este prealocată pentru o anumită dimensiune a matricei, după care prescrierea treptată a elementelor cu valorile dorite nu necesită reconstruirea structurii de memorie alocată pentru matrice. Aceste funcții pot fi utilizate și atunci când se specifică matrice de alte dimensiuni.

Dacă, după formarea matricei X, trebuie să-i modificați dimensiunea fără a modifica elementele matricei, puteți utiliza funcția de remodelare (X, M, N), unde M și N sunt noile dimensiuni ale matricei X.

Este posibil să se explice funcționarea acestei funcții doar pe baza modului în care sistemul MATLAB stochează elementele matricelor în memoria computerului. Le stochează într-o zonă adiacentă de memorie în ordinea coloanelor: elementele primei coloane sunt plasate primele, urmate de elementele celei de-a doua coloane și așa mai departe. Pe lângă datele în sine (elementele matricei), informațiile de control sunt stocate și în memoria computerului: tipul matricei (de exemplu, dublu), dimensiunea și dimensiunea matricei și alte informații de serviciu. Aceste informații sunt suficiente pentru a determina limitele coloanelor. Rezultă că, pentru a remodela matricea, este suficient să schimbați doar informațiile de serviciu și să nu atingeți propriile date.

Puteți schimba rândurile unei matrice cu coloanele sale utilizând operația de transport, care este notă prin semn." (punct și apostrof). De exemplu,

»A=;

Operația „(apostrof) efectuează transpunerea pentru matrice reale și transpunerea cu conjugare complexă simultană pentru matrice complexe.

Obiectele cu care lucrează MATLAB sunt tablouri. Chiar și un număr dat în reprezentarea internă a MATLAB este un tablou format dintr-un element. MATLAB vă permite să faceți calcule cu matrice uriașe de numere la fel de ușor ca și cu numere simple, iar acesta este unul dintre cele mai vizibile și importante avantaje ale sistemului MATLAB față de alte pachete software axate pe calcule și programare. Pe lângă memoria necesară pentru stocarea elementelor numerice (8 octeți fiecare pentru numere reale și 16 octeți pentru numere complexe), MATLAB alocă automat memorie pentru informațiile de control atunci când creează tablouri.

Calcule de matrice

În limbajele tradiționale de programare, calculele matricei se fac element cu element, în sensul că fiecare operație individuală trebuie programată pe un element separat al matricei. În limbajul M al sistemului MATLAB, operațiunile puternice de grup sunt permise simultan pe întreaga matrice. Operațiile de grup ale sistemului MATLAB fac posibilă setarea expresiilor într-un mod extrem de compact, în timpul calculului cărora se realizează de fapt o cantitate gigantică de muncă.

Operațiile de adunare și scădere pe matrice sunt notate prin semnele standard + și -.

Definiți matricele A și B și efectuați operația de adunare a matricei:

»A=; B=;

Dacă sunt utilizați operanzi de dimensiuni diferite, este generat un mesaj de eroare, cu excepția cazului în care unul dintre operanzi este scalar. Când se efectuează operația A + scalar (A - matrice), sistemul va extinde scalarul la o matrice de dimensiunea A, care se adaugă în continuare element cu element la A.

Pentru înmulțirea elementului și împărțirea element cu element a tablourilor de aceeași dimensiune, precum și exponențiarea elementului a tablourilor, se folosesc operații, notate prin combinații de două simboluri: .* , ./ și .^. Utilizarea combinațiilor de simboluri se explică prin faptul că simbolurile * și / denotă operații speciale de algebră liniară pe vectori și matrice.

Pe lângă operația ./, numită operația de divizare în funcție de element din dreapta, există și operația de divizare în funcție de element din stânga. \. Diferența dintre aceste operații: din expresia A./B rezultă o matrice cu elementele A (k, m) / B (k, m), iar expresia A. \ B duce la o matrice cu elementele B (k, m). ) / A (k , m).

Semnul * este atribuit înmulțirii matricelor și vectorilor în sensul algebrei liniare.

Semnul \ este fixat în sistemul MATLAB pentru rezolvarea unei probleme de algebră liniară destul de complexă - găsirea rădăcinilor unui sistem de ecuații liniare. De exemplu, dacă trebuie să rezolvați un sistem de ecuații liniare Ay = b, unde A este o matrice pătrată dată de dimensiunea N´N, b este un vector coloană dat de lungime N, atunci pentru a găsi vectorul coloană necunoscut y, acesta este suficient pentru a calcula expresia A \ b (aceasta este echivalentă cu operația : A -1 B).

Probleme tipice de geometrie analitică în spațiu, legate de găsirea lungimilor vectorilor și unghiurilor dintre ei, cu calculul produselor scalare și vectoriale, se rezolvă ușor prin diverse mijloace ale sistemului MATLAB. De exemplu, pentru a găsi produsul încrucișat al vectorilor, este destinată funcția specială cruce, de exemplu:

»u=; v=;

Produsul scalar al vectorilor poate fi calculat folosind funcția generală sum, care calculează suma tuturor elementelor vectorilor (pentru matrice, această funcție calculează sumele pentru toate coloanele). Produsul scalar, după cum se știe, este egal cu suma produselor coordonatelor (elementelor) corespunzătoare ale vectorilor. Deci expresia este: » sum(u.*v)

calculează produsul scalar a doi vectori u și v. Produsul punctual poate fi calculat și ca: u*v”.

Lungimea unui vector este calculată folosind produsul punctual și funcția rădăcină pătrată, de exemplu:

» sqrt(sum(u.*u))

Operațiile relaționale și logice considerate anterior pentru scalari sunt efectuate element cu element în cazul tablourilor. Ambii operanzi trebuie să aibă aceeași dimensiune, iar operația returnează un rezultat de aceeași dimensiune. În cazul în care unul dintre operanzi este scalar, se realizează expansiunea preliminară a acestuia, al cărei sens a fost deja explicat folosind exemplul operațiilor aritmetice.

Printre funcțiile care generează matrice cu proprietăți date, funcția este adesea folosită ochiul, care produce matrici patrate unitare, precum și funcția rand, care este utilizată pe scară largă în practică, generând o matrice cu elemente aleatoare distribuite uniform pe intervalul de la 0 la 1. De exemplu, expresia

generează o matrice 3x3 de numere aleatoare cu elemente distribuite uniform pe intervalul de la 0 la 1.

Dacă apelați această funcție cu două argumente, de exemplu R=rand(2,3), obțineți o matrice R 2x3 de elemente aleatoare. Când rand este apelat cu trei sau mai multe argumente scalare, sunt produse matrice multidimensionale de numere aleatoare.

Determinantul matricei pătrate este calculat folosind funcția det. Dintre funcțiile care efectuează cele mai simple calcule pe tablouri, pe lângă funcția sum discutată mai sus, se mai folosește și funcția prod, care este similară în toate cu funcția sum, doar că calculează nu suma elementelor, ci produsul lor. Funcțiile max și min caută elementele maxime și, respectiv, minime ale tablourilor. Pentru vectori, ei returnează o singură valoare numerică, iar pentru matrice, generează un set de elemente extreme calculate pentru fiecare coloană. Funcția de sortare sortează elementele tablourilor unidimensionale în ordine crescătoare, iar pentru matrice sortează pentru fiecare coloană separat.

MATLAB are capacitatea unică de a efectua calcule de grup pe matrice folosind funcții matematice comune care funcționează numai cu argumente scalare în limbaje tradiționale de programare. Drept urmare, cu ajutorul unor notații extrem de compacte, convenabile pentru tastarea în modul interactiv cu fereastra de comandă a sistemului MATLAB, este posibilă efectuarea unui număr mare de calcule. De exemplu, doar două expresii scurte

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

calculați valorile funcției sin în 158 de puncte simultan, formând doi vectori x și y cu 158 de elemente fiecare.

Funcții de trasare

Capacitățile grafice ale sistemului MATLAB sunt puternice și variate. Să explorăm cele mai ușor de utilizat funcții (grafică la nivel înalt).

Formează doi vectori x și y:

» x=0:0,01:2; y=sin(x);

Apelați funcția:

și veți obține un grafic al funcției pe ecran (Fig. 1).

Orez. 1. Graficul funcției y=sin(x)

MATLAB afișează obiecte grafice în ferestre grafice speciale care au cuvântul Figure în titlu. Fără a elimina prima fereastră grafică de pe ecran, introduceți expresiile de la tastatură

și obțineți un nou grafic al funcției în aceeași fereastră grafică (în acest caz, vechile axele de coordonate și graficul dispar - acest lucru se poate realiza și cu comanda clf, comanda cla elimină doar graficul, aducând axele de coordonate la standardul lor variază de la 0 la 1).

Dacă trebuie să desenați al doilea grafic „pe partea de sus a primului grafic”, atunci înainte de a apela din nou funcția grafică, trebuie să executați comanda hold on, care este concepută pentru a menține fereastra grafică curentă:

» x=0:0,01:2; y=sin(x);

Aproape același lucru se va întâmpla (Fig. 2) dacă tastați:

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

»plot(x,y,x,z)

Orez. 2. Grafice ale funcțiilor y=sin(x), z=cos(x), construite într-o singură fereastră grafică

Dacă trebuie să vizualizați mai multe grafice în același timp, astfel încât acestea să nu interfereze între ele, atunci acest lucru se poate face în două moduri. Prima soluție este să le reprezentați în diferite ferestre grafice. Pentru a face acest lucru, înainte de a apela din nou funcția de trasare, tastați comanda figure, care creează o nouă fereastră grafică și forțează toate funcțiile de trasare ulterioare să le afișeze acolo.

A doua soluție pentru a afișa mai multe diagrame fără intervale de axe conflictuale este utilizarea funcției subplot. Această funcție vă permite să împărțiți zona de ieșire a informațiilor grafice în mai multe subzone, în fiecare dintre acestea puteți afișa grafice ale diferitelor funcții.

De exemplu, pentru calculele efectuate anterior cu funcțiile sin și cos, reprezentați graficele acestor două funcții în prima subzonă și trasați funcția exp(x) în a doua subzonă a aceleiași ferestre grafice ( Fig. 3):

» subplot(1,2,1); plot(x,y,x,z)

» subplot(1,2,2); plot(x,w)

Orez. 3. Grafice ale funcțiilor y=sin(x), z=cos(x) și w=exp(x), construite în două subzone ale unei ferestre grafice

Intervalele de variabile de pe axele de coordonate ale acestor subdomenii sunt independente unele de altele. Funcția de subplot preia trei argumente numerice, primul dintre care este egal cu numărul de rânduri de subploturi, al doilea este egal cu numărul de coloane de subploturi și al treilea argument este numărul de subplot (numărul este numărat de-a lungul rândurile, trecând pe un nou rând când sunt epuizate). Puteți elimina acțiunea funcției subplot cu comanda:

» subplot(1,1,1)

Dacă pentru o singură diagramă, intervalele de variabile de-a lungul uneia sau ambelor axe de coordonate sunt prea mari, atunci puteți utiliza funcțiile de reprezentare la scară logaritmică. Funcțiile semilogx, semilogy și loglog sunt concepute pentru aceasta.

Puteți trasa funcția în coordonate polare (Fig. 4) utilizând funcția grafică polară.

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

Orez. 4. Graficul funcției r=sin(3*phi) în coordonate polare

Să luăm în considerare funcțiile suplimentare legate de gestionarea aspectului diagramelor - setarea culorii și stilului liniilor, precum și plasarea diferitelor etichete în fereastra grafică. De exemplu, comenzi

» x=0:0,1:3; y=sin(x);

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

vă permit să faceți graficul să arate ca o linie roșie continuă (Fig. 5), pe care sunt așezate cercuri negre în puncte calculate discrete. Aici, funcția plot prezintă aceeași funcție de două ori, dar în două stiluri diferite. Primul dintre aceste stiluri este etichetat „r-”, ceea ce înseamnă o linie trasată cu roșu (litera r), iar un accident vascular cerebral înseamnă o linie continuă. Al doilea stil, etichetat „ko”, înseamnă desenarea cu cercuri negre (litera k) (litera o) în locul punctelor calculate.

Orez. 5. Trasarea funcției y=sin(x) în două stiluri diferite

În general, graficul funcției (x1, y1, s1, x2, y2, s2, ...) vă permite să combinați mai multe grafice ale funcțiilor y1(x1), y2(x2), ... într-o fereastră grafică prin desen. ei cu stilurile s1, s2, ... etc.

Stilurile s1, s2,... sunt specificate ca un set de trei marcatori de caractere închise între ghilimele simple (apostrofe). Unul dintre acești marcatori specifică tipul de linie (Tabelul 3). Un alt marker stabilește culoarea (Tabelul 4). Ultimul marker stabilește tipul de „puncte” care trebuie puse (Tabelul 5). Este posibil să nu specificați toți cei trei marcatori. Apoi se folosesc marcatorii impliciti. Ordinea în care sunt specificați markerii nu este semnificativă, adică „r+-” și „-+r” produc același rezultat.

Tabelul 3. Marcatori de tip linie

Tabelul 4 Marcatori care stabilesc culoarea liniei

Tabelul 5 Marcatori care definesc tipul de punct

Dacă puneți un marcator pe tipul de punct din linia de stil, dar nu puneți un marcator pe tipul de linie, atunci sunt afișate doar punctele calculate și nu sunt conectate printr-o linie continuă.


Sistemul MATLAB stabilește limitele pe axa orizontală la valorile specificate de utilizator pentru variabila independentă. Pentru variabila dependentă de pe axa verticală, MATLAB calculează independent intervalul de valori ale funcției. Dacă trebuie să renunțați la această caracteristică de scalare atunci când trasați grafice în sistemul MATLAB, atunci trebuie să vă impuneți în mod explicit propriile limite pentru modificarea variabilelor de-a lungul axelor de coordonate. Acest lucru se face folosind funcția axis().

Funcțiile xlabel, ylabel, titlu și text sunt folosite pentru a pune diverse inscripții pe figura rezultată. Funcția xlabel creează o etichetă pentru axa orizontală, funcția ylabel și pentru axa verticală (mai mult, aceste etichete sunt orientate de-a lungul axelor de coordonate). Dacă doriți să plasați o inscripție într-un loc arbitrar din figură, utilizați funcția text. Titlul general pentru grafic este creat de funcția de titlu. În plus, folosind grila la comandă, puteți aplica o grilă de măsurare întregii zone de trasare. De exemplu (Fig. 6):

» x=0:0,1:3; y=sin(x);

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

»title("Funcția sin(x) grafic");

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

» text(2.1, 0.9, "\leftarrowsin(x)"); grila activata

Eticheta cu funcția text se plasează pornind de la punctul cu coordonatele specificate de primele două argumente. În mod implicit, coordonatele sunt specificate în aceleași unități ca și coordonatele specificate pe axele orizontale și verticale. Caracterele de control speciale sunt introduse în interiorul textului după caracterul \ (bară oblică inversă).

Grafică 3D

Fiecare punct din spațiu este caracterizat de trei coordonate. Un set de puncte aparținând unei linii din spațiu trebuie specificat ca trei vectori, primul dintre care conține primele coordonate ale acestor puncte, al doilea vector - a doua lor coordonată, al treilea vector - a treia coordonată. După aceea, acești trei vectori pot fi alimentați la intrarea funcției plot3, care va proiecta linia tridimensională corespunzătoare pe plan și va construi imaginea rezultată (Fig. 7). Introdu de la tastatură:

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

» y=cos(t); plot3(x,y,t); grila activata

Orez. 7. Graficul unui helix, construit folosind funcția plot3

Aceeași funcție plot3 poate fi folosită și pentru a reprezenta suprafețele din spațiu, dacă, desigur, nu desenați o linie, ci multe. Tastați de la tastatură:

» u=-2:0,1:2; v=-1:0,1:1;

»=meshgrid(u,v);

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

Obțineți o imagine tridimensională a graficului funcției (Fig. 8).

Funcția plot3 desenează un grafic ca un set de linii în spațiu, fiecare dintre acestea fiind o secțiune a unei suprafețe tridimensionale prin planuri paralele cu planul yOz. Pe lângă această funcție simplă, sistemul MATLAB are o serie de alte funcții care vă permit să obțineți un realism mai mare în afișarea graficelor tridimensionale.

Orez. 8. Graficul suprafeței în spațiu, construit folosind funcția plot3


Scripturi și fișiere m.

Pentru operații simple, modul interactiv este convenabil, dar dacă calculele trebuie efectuate în mod repetat sau trebuie implementați algoritmi complecși, atunci ar trebui utilizate fișierele m MATLAB (extensia fișierului constă dintr-o singură literă m). script-m-file (sau script) - un fișier text care conține instrucțiuni MATLAB care urmează să fie executate în modul batch automat. Este mai convenabil să creați un astfel de fișier folosind editorul de sistem MATLAB. Este apelat din fereastra de comandă a sistemului MATLAB prin comanda de meniu File/New/M-file (sau butonul din partea stângă a barei de instrumente, care arată o foaie de hârtie albă). Comenzile scrise în fișierele script vor fi executate dacă introduceți numele fișierului script (fără extensie) în linia de comandă. Variabilele definite în fereastra de comandă și variabilele definite în scripturi constituie un singur spațiu de lucru al sistemului MATLAB, iar variabilele definite în scripturi sunt globale, valorile lor vor înlocui valorile acelorași variabile care au fost utilizate înainte de a apela acest script fişier.

După crearea textului scriptului, acesta trebuie salvat pe disc. Calea către directorul cu fișierul trebuie să fie cunoscută de sistemul MATLAB. Comanda File/Set Path invocă caseta de dialog Directory Path Viewer. Pentru a adăuga un nou director la lista căilor de acces, executați comanda de meniu Cale/Adăugare la cale.

Lucrul din linia de comandă MatLab este dificil dacă trebuie să introduceți o mulțime de comenzi și să le schimbați des. Păstrarea unui jurnal cu comanda jurnalului și salvarea mediului de lucru face lucrurile puțin mai ușoare. Cel mai convenabil mod de a executa comenzile MatLab este utilizarea Fișiere M,în care poți să tastați comenzi, să le executați pe toate odată sau pe părți, să le salvați într-un fișier și să le folosiți mai târziu. Editorul de fișiere M este proiectat să funcționeze cu fișiere M. Cu acest editor, vă puteți crea propriile funcții și le puteți apela, inclusiv din linia de comandă.

Extinde meniul Fişier fereastra principală a MatLab și în paragraful Nou selectați elementul secundar Fișier M. Noul fișier se deschide în fereastra editorului de fișiere M.

Introduceți comenzi în editor care duc la construirea a două grafice într-o singură fereastră grafică:

x = ;
f = exp(-x);
subplot(1, 2, 1)
grafic (x, f)
g = sin(x);
subplot(1, 2, 2)
grafic (x, g)

Salvați fișierul acum cu numele mydemo.m într-un subdirector muncă directorul principal MatLab selectând elementul Salvează ca meniul Fişier editor. Pentru a rula toate comenzile conținute în fișier, selectați elementul Alergaîn meniu depanare. Pe ecran va apărea o fereastră grafică. figura numarul 1, conţinând grafice ale funcţiilor. Dacă decideți să reprezentați cosinus în loc de sinus, atunci pur și simplu schimbați linia g = sin(x) din fișierul M în g = cos(x) și executați din nou toate comenzile.

Observație 1

Dacă se comite o eroare la tastare și MatLab nu poate recunoaște comanda, atunci comenzile sunt executate până la cea introdusă incorect, după care este afișat un mesaj de eroare în fereastra de comandă.

O caracteristică foarte utilă oferită de editorul de fișiere M este executarea unor comenzi.Închideți fereastra grafică figura Numarul 1. Selectați cu mouse-ul în timp ce țineți apăsat butonul din stânga sau cu tastele săgeți în timp ce țineți apăsată tasta , primele patru comenzi ale programului și executați-le din paragraful A evalua Selecţie meniul Text. Vă rugăm să rețineți că în fereastra grafică a fost afișat un singur grafic corespunzător comenzilor executate. Amintiți-vă că pentru a executa unele dintre comenzi, trebuie să le selectați și să apăsați . Rulați celelalte trei comenzi ale programului și monitorizați starea ferestrei grafice. Exersați pe cont propriu, introduceți câteva exemple din laboratoarele anterioare în editorul de fișiere M și rulați-le.

Pot fi furnizate blocuri individuale ale fișierului M comentarii, care sunt omise în timpul execuției, dar sunt convenabile atunci când lucrați cu un fișier M. Comentariile din MatLab încep cu un semn de procent și sunt evidențiate automat în verde, de exemplu:

%reprezentând sin(x) într-o fereastră separată

Mai multe fișiere pot fi deschise în același timp în editorul de fișiere M. Tranziția între fișiere se realizează folosind filele cu nume de fișiere situate în partea de jos a ferestrei editorului.

Deschiderea unui fișier M existent se face folosind elementul deschis meniul Fişier mediu de lucru sau editor de fișiere M. De asemenea, puteți deschide un fișier în editor cu comanda MatLab edit din linia de comandă, specificând numele fișierului ca argument, de exemplu:

Comanda de editare fără argument are ca rezultat crearea unui fișier nou.
Toate exemplele care apar în acest laborator și în următoarele laboratoare sunt cel mai bine tastate și salvate în fișiere M, completându-le cu comentarii și executate din editorul de fișiere M. Aplicarea metodelor numerice și a programării în MatLab necesită crearea de fișiere M.

2. Tipuri de fișiere M

Fișierele M din MatLab sunt de două tipuri: fişier-program(Script M-Files) care conține o secvență de comenzi și fișier-funcție(Funcția M-Files), care descriu funcții definite de utilizator.

Fișierul-program (fișier-procedură) pe care l-ați creat în timp ce citiți subsecțiunea anterioară. Toate variabilele declarate într-un program-fișier devin disponibile în mediul de lucru după executarea acestuia. Executați programul de fișiere prezentat în subsecțiunea 2.1 în editorul M?file și tastați comanda whos la linia de comandă pentru a vizualiza conținutul mediului de lucru. O descriere a variabilelor va apărea în fereastra de comandă:

» cui
Nume Mărime Octeți Clasa
f 1x71 568 matrice dublă
g 1x71 568 matrice dublă
x 1x71 568 matrice dublă
Totalul mare este de 213 elemente folosind 1704 de octeți

Variabilele definite într-un fișier de program pot fi utilizate în alte fișiere de program și în comenzile executate din linia de comandă. Comenzile conținute în programul de fișiere sunt executate în două moduri:

  • Din editorul de fișiere M așa cum este descris mai sus.
  • Din linia de comandă sau alt fișier de program, folosind numele fișierului M ca comandă.

Utilizarea celei de-a doua metode este mult mai convenabilă, mai ales dacă fișierul program creat va fi folosit în mod repetat ulterior. De fapt, fișierul M creat devine o comandă pe care MatLab o înțelege. Închideți toate ferestrele grafice și tastați mydemo la linia de comandă, apare o fereastră grafică corespunzătoare comenzilor fișierului program mydemo.m. După introducerea comenzii mydemo, MatLab efectuează următoarele acțiuni.

  • Verifică dacă comanda introdusă este numele uneia dintre variabilele definite în runtime. Dacă este introdusă o variabilă, valoarea acesteia este afișată.
  • Dacă nu este introdusă o variabilă, atunci MatLab caută comanda introdusă printre funcțiile încorporate. Dacă comanda este o funcție încorporată, atunci este executată.

Dacă nu este introdusă nici o variabilă, nici o funcție încorporată, atunci MatLab începe să caute un fișier M cu numele și extensia comenzii m. Căutarea începe cu directorul curent(Directorul curent), dacă fișierul M nu este găsit în el, atunci MatLab caută prin directoarele instalate în căi de căutare(Cale). Fișierul M găsit este executat în MatLab.

Dacă niciuna dintre acțiunile de mai sus nu a avut succes, atunci în fereastra de comandă este afișat un mesaj, de exemplu:

» mydem
??? Funcție nedefinită sau variabilă „mydem”.

De regulă, fișierele M sunt stocate în directorul utilizatorului. Pentru ca sistemul MatLab să le găsească, trebuie să setați căile care indică locația fișierelor M.

Observația 2

Păstrarea propriilor fișiere M în afara directorului principal MatLab este din două motive. În primul rând, la reinstalarea MatLab, fișierele care sunt conținute în subdirectoarele directorului principal MatLab pot fi distruse. În al doilea rând, la pornirea MatLab, toate fișierele din subdirectorul casetei de instrumente sunt plasate în memoria computerului într-un mod optim pentru a crește performanța. Dacă ați scris un fișier M în acest director, atunci îl puteți utiliza numai după repornirea MatLab.

3. Stabilirea căilor

În MatLab versiunea 6 .X directorul curent și căile de căutare sunt determinate. Aceste proprietăți sunt setate fie folosind casetele de dialog adecvate, fie comenzile din linia de comandă.

Directorul curent este determinat în caseta de dialog Actual Director mediu de lucru. Fereastra este prezentă în mediul de lucru dacă elementul este selectat Actual Director meniul vedere mediu de lucru.
Directorul curent este selectat din listă. Dacă nu este în listă, atunci poate fi adăugat din caseta de dialog Naviga pentru pliant, apelat făcând clic pe butonul situat în dreapta listei. Conținutul directorului curent este afișat în tabelul de fișiere.

Căile de căutare sunt definite în caseta de dialog a stabilit cale navigator de cale, accesat din punct a stabilit cale meniul Fişier mediu de lucru.

Pentru a adăuga un director, faceți clic pe butonul Adăuga Pliant Naviga pentru cale selectați directorul dorit. Adăugarea unui director cu toate subdirectoarele sale se face făcând clic pe butonul Adăugați cu subdosare. MATLAB căutare cale. Ordinea de căutare corespunde locației căilor din acest câmp, se caută primul director, calea către care se află în partea de sus a listei. Puteți modifica ordinea de căutare sau chiar elimina calea către un director, pentru care selectați directorul din câmp MATLAB căutare caleși definiți-i poziția utilizând următoarele butoane:
mișcare la Top - pus în fruntea listei;
mișcare Sus - mutați o poziție în sus;
Elimina - eliminați din listă;
mișcare Jos - deplasați-vă în jos cu o poziție;
mișcare la fund - puse în partea de jos a listei.

4. Comenzi pentru setarea căilor.

Pași pentru a seta căi în MatLab 6 .X comenzi duplicate. Directorul curent este setat cu comanda cd, de exemplu cd c:\users\igor. Comanda cd, apelată fără argument, tipărește calea către directorul curent. Căile sunt setate folosind comanda path, care este apelată cu două argumente:

cale (cale, "c:\users\igor") - adaugă directorul c:\users\igor cu cea mai mică prioritate de căutare;
cale ("c: \users\igor",path) - adaugă directorul c:\users\igor cu cea mai mare prioritate de căutare.

Utilizarea comenzii cale fără argumente face ca o listă de căi de căutare să fie afișată pe ecran. Puteți elimina o cale din listă folosind comanda rpath:

rpath("c:\users\igor") elimină calea către c:\users\igor din lista de căi.

Observația 3

Nu eliminați în mod inutil căile directoarelor, în special cele despre care nu sunteți sigur. Eliminarea poate duce la faptul că unele dintre funcțiile definite în MatLab devin indisponibile.

Exemplu. Creați în directorul rădăcină al discului D(sau orice altă unitate sau director în care studenții au voie să-și creeze propriile directoare) un director cu numele dvs. de familie, de exemplu WORK_IVANOV, și scrieți acolo fișierul M mydemo.m sub numele mydemo3.m. Setați căile fișierelor și demonstrați accesibilitatea fișierelor din linia de comandă. Raportați rezultatele într-un raport de laborator.

Soluţie:

1. În directorul rădăcină al discului D este creat directorul WORK_IVANOV.
2. Fișierul M mydemo.m este scris în directorul WORK_IVANOV sub numele mydemo3.m.
3. Se deschide o casetă de dialog a stabilit cale meniul Fişier Mediul de lucru MatLab.
4. Este apăsat butonul Adăuga Pliant iar în dialogul care apare Naviga pentru cale directorul WORK_IVANOV este selectat.
5. Adăugarea unui director cu toate subdirectoarele sale se face făcând clic pe butonul Adăuga cu subfoldere. Calea către directorul adăugat apare în câmp MATLAB căutare cale.
6. Pentru a salva calea, apăsați tasta salva căsuță de dialog a stabilit Cale.
7. Corectitudinea tuturor acțiunilor este verificată prin tastarea comenzii mydemo3 din linia de comandă. Pe ecran va apărea o fereastră grafică.

5. Funcții de fișiere

Programele de fișiere discutate mai sus sunt o secvență de comenzi MatLab, nu au argumente de intrare sau de ieșire. Pentru a utiliza metode numerice și atunci când vă programați propriile aplicații în MatLab, trebuie să puteți compune funcții de fișier care efectuează acțiunile necesare cu argumente de intrare și returnează rezultatul în argumente de ieșire. Această subsecțiune oferă câteva exemple simple pentru a vă ajuta să înțelegeți cum să lucrați cu funcțiile fișierului. Fișierele de funcție, precum fișierele de procedură, sunt create în editorul de fișiere M.

5.1. Funcțiile fișierului cu un singur argument de intrare

Să presupunem că în calcule este adesea necesară utilizarea funcției

Este logic să scrieți un fișier cu funcție o dată și apoi să îl apelați oriunde este necesar pentru a evalua această funcție. Deschideți un fișier nou în editorul de fișiere M și introduceți textul listei

funcția f = myfun(x)
f= exp(-x)*sqrt((x^2+1)/(x^4+0,1));

Cuvântul funcție de pe prima linie specifică faptul că acest fișier conține un fișier de funcție. Prima linie este antetul funcției, care gazduieste numele funcțieiși liste de argumente de intrare și de ieșire. În exemplul din listă, numele funcției este myfun, un argument de intrare este x și unul de ieșire este f. După ce urmează titlul organismul funcțional(în acest exemplu este format dintr-o linie), unde este calculată valoarea sa. Este important ca valoarea calculată să fie scrisă în f. Punctul și virgulă este setat pentru a preveni afișarea informațiilor inutile pe ecran.

Acum salvați fișierul în directorul dvs. de lucru. Vă rugăm să rețineți că selecția articolului salva sau salva la fel de meniul Fişier duce la apariția unei casete de dialog pentru salvarea fișierului, în câmp Fişier Nume care conține deja numele myfun. Nu îl modificați, salvați fișierul funcției într-un fișier cu numele sugerat.

Acum, funcția creată poate fi utilizată în același mod ca și sin, cos și altele încorporate, de exemplu, din linia de comandă:

»y=myfun(1.3)
Y =
0.2600

Apelarea funcțiilor proprii poate fi efectuată dintr-un program-fișier și dintr-o altă funcție-fișier.

Un avertisment

Directorul care conține fișierul funcției trebuie să fie cel curent sau calea către acesta trebuie adăugată la calea de căutare, altfel MatLab pur și simplu nu va găsi funcția sau va apela o alta cu același nume (dacă este în directoarele căutate).

Fișierul cu funcție afișat în listă are un dezavantaj semnificativ. O încercare de a evalua valorile funcției dintr-o matrice are ca rezultat o eroare, nu o matrice de valori, așa cum se întâmplă la evaluarea funcțiilor încorporate.

» x = ;
» y = myfun(x)
??? Eroare la utilizare ==> ^
Matricea trebuie să fie pătrată.
Eroare în ==> C:\MATLABRll\work\myfun.m
Pe linia 2 ==> f = exp(-x)*sqrt((x^2+1)/(x^4+1));

Dacă ați învățat cum să lucrați cu matrice, atunci eliminarea acestui neajuns nu va cauza dificultăți. Trebuie doar să utilizați operații pe elemente atunci când calculați valoarea funcției.
Modificați corpul funcției așa cum se arată în lista următoare (nu uitați să salvați modificările în fișierul myfun.m).

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

Acum argumentul funcției myfun poate fi fie un număr, fie un vector sau o matrice de valori, de exemplu:

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

Variabila y, în care este scris rezultatul apelării funcției myfun, devine automat un vector de dimensiunea necesară.

Trasează funcția myfun pe un segment din linia de comandă sau folosind programul de fișiere:

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

MatLab oferă o altă modalitate de a lucra cu funcțiile fișierelor - folosindu-le ca argumente pentru unele comenzi. De exemplu, pentru a reprezenta un grafic, utilizați funcția specială fplot, care înlocuiește secvența de comenzi dată mai sus. Când se apelează fplot, numele funcției al cărei grafic urmează să fie reprezentat este inclus în apostrofe, limitele de reprezentare sunt specificate într-un vector rând de două elemente

fplot(„distractia mea”, )

Plot myfun cu plot și fplot pe aceleași axe, cu hold on. Rețineți că graficul trasat cu fplot reflectă mai precis comportamentul funcției, deoarece fplot însuși preia pasul argumentului, scăzând-o în zonele de schimbare rapidă a funcției afișate. Raportați rezultatele într-un raport de laborator.

5.2. Funcții de fișier cu argumente de intrare multiple

Scrierea funcțiilor de fișier cu mai multe argumente de intrare este aproape la fel cu scrierea unui singur argument. Toate argumentele de intrare sunt plasate într-o listă separată prin virgulă. De exemplu, următoarea listă conține un fișier de funcție care calculează lungimea vectorului rază a unui punct din spațiul 3D
Funcția de listare a fișierului cu mai multe argumente

funcția r = raza3(x, y, z)
r = sqrt(x.^2 + y.^2 + z.^2);

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

Pe lângă funcțiile cu mai multe argumente de intrare, MatLab vă permite să creați funcții care returnează mai multe valori, de exemplu. având mai multe argumente de ieșire.

5.3. Funcții de fișier cu mai multe argumente de ieșire

Funcțiile de fișier cu mai multe argumente de ieșire sunt utile pentru evaluarea funcțiilor care returnează mai multe valori (în matematică sunt numite funcții vectoriale). Argumentele de ieșire sunt adăugate, separate prin virgule, la lista de argumente de ieșire, iar lista în sine este cuprinsă între paranteze drepte. Un bun exemplu este o funcție care convertește un timp dat în secunde în ore, minute și secunde. Acest fișier de funcție este afișat în lista următoare.

Lista funcției de conversie a secundelor în ore, minute și secunde

function = hms(sec)
ora = etaj(sec/3600);
minut = etaj((sec-oră*3600)/60);
secunda = sec-oră*3600-minut*60;

Când apelați funcții de fișier cu mai multe argumente de ieșire, rezultatul ar trebui să fie scris într-un vector de lungimea corespunzătoare:

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

6. Bazele programării în MatLab

Fișierul de funcții și fișierul de program utilizate în subsecțiunile anterioare sunt cele mai simple exemple de programe.Toate comenzile MatLab conținute în ele sunt executate secvențial. Pentru a rezolva probleme mult mai grave, se impune scrierea unor programe în care acțiunile sunt efectuate ciclic sau, în funcție de anumite condiții, se execută diverse părți ale programelor. Să luăm în considerare principalii operatori care specifică secvențele de execuție a comenzilor MatLab. Operatorii pot fi utilizați atât în ​​procedurile de fișiere, cât și în funcții, ceea ce vă permite să creați programe cu o structură de ramificare complexă.

6.1. Declarație buclă pentru

Operatorul este proiectat să efectueze un anumit număr de acțiuni repetitive. Cea mai simplă utilizare a instrucțiunii for este următoarea:

for count = start:step:final
Comenzi MatLab
Sfârșit

Aici count este o variabilă de buclă, start este valoarea sa inițială, final este valoarea sa finală și pasul este pasul prin care numărul este incrementat de fiecare dată când intră în buclă. Bucla se termină de îndată ce valoarea numărului devine mai mare decât finală. Variabila buclă poate lua nu numai valori întregi, ci și valori reale ale oricărui semn. Să analizăm aplicarea operatorului for cycle pe câteva exemple tipice.
Fie necesar să se obțină o familie de curbe pentru , care este dată de o funcție în funcție de parametru pentru valorile parametrilor de la -0,1 la 0,1.
Tastați textul fișierului de procedură în editorul de fișiere M și salvați-l în fișierul FORdem1.m și rulați-l pentru execuție (din editorul de fișiere M sau din linia de comandă tastând comanda FORdem1 în el și apăsând ):

% program-fișier pentru construirea unei familii de curbe
x = ;
pentru a = -0,1:0,02:0,1
y = exp(-a*x).*sin(x);
stai așa
grafic (x, y)
Sfârșit

Observația 4

Editorul de fișiere M sugerează automat plasarea declarațiilor în interiorul buclei, indentate din marginea din stânga. Folosiți această oportunitate pentru confortul de a lucra cu textul programului.

Ca rezultat al executării FORdem1, va apărea o fereastră grafică care conține familia necesară de curbe.

Scrieți un fișier de program pentru a calcula suma

Algoritmul de calcul al sumei folosește acumularea rezultatului, adică. mai întâi suma este zero ( S= 0), apoi într-o variabilă k se introduce unitatea, 1/ k! se adaugă la S iar rezultatul este repus în S. Mai departe k crește cu unu, iar procesul continuă până când ultimul termen este 1/10!. Programul de fișiere Fordem2, prezentat în lista următoare, calculează suma dorită.

Listarea fișierului-program Fordem2 pentru calcularea sumei

% program-fișier pentru calculul sumei
% 1/1!+1/2!+ … +1/10!

% Resetează S pentru a acumula suma
S = 0;
% acumulare a cantității în ciclu
pentru k = 1:10
S = S + 1/factorial(k);
Sfârșit
% imprimați rezultatul în fereastra de comandă S

Tastați fișierul de program în editorul de fișiere M, salvați-l în directorul curent din fișierul Fordem2.m și executați. Rezultatul va fi afișat în fereastra de comandă, deoarece în ultima linie a programului-fișier S conținut fără punct și virgulă pentru a afișa valoarea variabilei S

Rețineți că restul liniilor din fișierul-program care ar putea determina afișarea valorilor intermediare sunt terminate cu un punct și virgulă pentru a suprima ieșirea în fereastra de comandă.

Primele două rânduri cu comentarii nu sunt separate accidental printr-o linie goală de restul textului programului. Acestea sunt afișate atunci când utilizatorul, folosind comanda help din linia de comandă, primește informații despre ceea ce face Fordem2.

>>helpFordem2
fisier-program pentru calcularea sumei
1/1!+1/2!+ … +1/10!

Când scrieți programe și funcții de fișiere, nu neglijați comentariile!
Toate variabilele utilizate în programul de fișiere devin disponibile în mediul de lucru. Sunt așa-numitele variabile globale. Pe de altă parte, programul de fișiere poate folosi toate variabilele introduse în mediul de lucru.

Luați în considerare problema calculării sumei, similară celei precedente, dar în funcție de variabilă X

Pentru a calcula această sumă în programul de fișiere Fordem2, trebuie să schimbați linia din interiorul buclei for la

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

Înainte de a rula programul, trebuie să definiți o variabilă X pe linia de comandă cu următoarele comenzi:

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

La fel de X poate fi un vector sau o matrice, deoarece programul de fișiere Fordem2 folosea operații în funcție de elemente pentru a acumula suma.

Înainte de a lansa Fordem2, este necesar să se aloce unei variabile X o anumită valoare și pentru a calcula suma, de exemplu, din cincisprezece termeni, va trebui să faceți modificări textului programului de fișiere. Este mult mai bine să scrieți o funcție de fișier generică care va avea valoarea ca argumente de intrare Xși limita superioară a sumei, iar producția - valoarea sumei S(X). Fișierul de funcție sumN este afișat în lista următoare.

Listarea funcției de fișier pentru calculul sumei

funcția S = sumN(x, N)
Funcția fișier % pentru a calcula suma
% x/1!+x^2/2!+ … +x^N/N!
% utilizare: S = sumN(x, N)

% resetează S pentru a acumula suma
S = 0;
% acumulare a cantității în ciclu
pentru m = 1:1:N
S = S + x.^m/factorial(m);
Sfârșit

Utilizatorul poate afla despre utilizarea funcției sumN tastând help sumN la linia de comandă. Primele trei rânduri cu comentarii vor fi afișate în fereastra de comandă, separate de textul fișierului funcție printr-o linie goală.

Rețineți că variabilele funcției de fișier nu sunt globale (m din fișierul de funcție este sumN). Încercarea de a vizualiza valoarea variabilei m din linia de comandă are ca rezultat un mesaj că m nu este definit. Dacă există o variabilă globală cu același nume în mediul de lucru, definită din linia de comandă sau într-un program de fișiere, atunci aceasta nu are legătură în niciun fel cu o variabilă locală din funcția fișier. De regulă, este mai bine să vă scrieți proprii algoritmi sub formă de funcții de fișier, astfel încât variabilele utilizate în algoritm să nu modifice valorile variabilelor globale de mediu cu același nume.

Buclele For pot fi imbricate unele în altele, dar variabilele buclelor imbricate trebuie să fie diferite.

Bucla for este utilă pentru a efectua acțiuni similare repetate atunci când numărul lor este predeterminat. O buclă while mai flexibilă vă permite să ocoliți această limitare.

6.2. instrucțiunea în buclă while

Luați în considerare un exemplu pentru calcularea sumei, similar cu exemplul din paragraful anterior. Este necesar să se găsească suma unei serii pentru un dat X(extindere în serie):
.

Suma poate fi acumulată atâta timp cât termenii nu sunt prea mici, să spunem mai mult modulo.Bucla for este indispensabilă aici, deoarece numărul de termeni nu este cunoscut dinainte. Soluția este să folosiți o buclă while care rulează atâta timp cât condiția buclei este adevărată:

condiția buclei while
Comenzi MatLab
Sfârșit

În acest exemplu, condiția buclei presupune că termenul curent este mai mare decât . Semnul mai mare decât (>) este folosit pentru a scrie această condiție. Textul funcției de fișier mysin, care calculează suma unei serii, este afișat în lista următoare.

Listarea funcției fișier mysin, care calculează expansiunea sinus prin serie

funcția S = mysin(x)
% Calculul sinusului prin expansiune în serie
% Utilizare: y = mysin(x), -pi

S = 0;
k = 0;
în timp ce abs(x.^(2*k+1)/factorial(2*k+1))>1.0e-10
S = S + (-1)^k*x.^(2*k+1)/factorial(2*k+1);
k = k + 1;
Sfârșit

Vă rugăm să rețineți că bucla while, spre deosebire de for, nu are o variabilă de buclă, așa că a trebuit să atribuim zero lui k înainte de începutul buclei și să creștem k cu unu în interiorul buclei.
Condiția de buclă while poate conține mai mult decât semnul >. Pentru a seta condițiile de execuție a ciclului, sunt permise și alte operații relaționale, așa cum se arată în Tabel. unu.

Tabelul 1. Operațiuni de relație

Condițiile mai complexe sunt specificate folosind operatori logici. De exemplu, condiția constă în îndeplinirea simultană a două inegalități și , și se scrie folosind operatorul logic și

și (x >= -1, x< 2)

sau echivalent cu &

(x >= -1) și (x< 2)

Operatorii logici și exemplele de utilizare a acestora sunt date în tabel. 2.

Tabelul 2. Operatori logici

Operator

Scriind la MatLab

Notație echivalentă

Logica „ȘI”

și (x< 3, k == 4)

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

„SAU” logic

Sau(x==1,x==2)

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

„NU” negativ

Când se calculează suma unei serii infinite, este logic să se limiteze numărul de termeni. Dacă seria diverge din cauza faptului că termenii săi nu tind spre zero, atunci condiția pentru o valoare mică a termenului curent poate să nu fie îndeplinită niciodată și programul se va bucla. Efectuați sumarea adăugând o limită la numărul de termeni din condiția de buclă while a fișierului funcției mysin:

în timp ce (abs(x.^(2*k+1)/factorial(2*k+1))>1.0e-10)&(k<=10000))

sau în formă echivalentă

în timp ce și(abs(x.^(2*k+1)/factorial(2*k+1))>1.0e-10), k<=10000)

Organizarea acțiunilor repetitive sub formă de cicluri face ca programul să fie simplu și ușor de înțeles, totuși, deseori este necesară executarea unuia sau altul bloc de comenzi în funcție de anumite condiții, de ex. utilizați algoritmul de ramificare.

6.3. Declarație condițională if

Operator condiționat dacă vă permite să creați un algoritm de ramificare pentru executarea comenzilor, în care, în anumite condiții, funcționează blocul corespunzător de instrucțiuni sau comenzi MatLab.

Declarația if poate fi folosită în forma sa simplă pentru a executa un bloc de comenzi atunci când este îndeplinită o anumită condiție, sau într-o construcție if-elseif-else pentru a scrie algoritmi de ramificare.
Să fie necesar pentru a evalua expresia . Să presupunem că faceți calcule în numere reale și doriți să afișați un avertisment că rezultatul este un număr complex. Înainte de a calcula funcția, ar trebui să verificați valoarea argumentului x și să afișați un avertisment în fereastra de comandă dacă modulul x nu depășește unul. Aici este necesar să folosiți o declarație condițională if, a cărei aplicare în cel mai simplu caz arată astfel:

dacă starea
Comenzi MatLab
Sfârșit

Dacă condiția este îndeplinită, atunci sunt implementate comenzile MatLab plasate între if și end, iar dacă condiția nu este îndeplinită, atunci are loc trecerea la comenzile situate după end. Când se înregistrează o condiție, se folosesc operațiunile prezentate în Tabelul 1. unu.

Fișierul funcției care verifică valoarea unui argument este afișat în lista următoare. Comanda de avertizare este utilizată pentru a afișa un avertisment în fereastra de comandă.

Lista funcției fișierului Rfun care verifică valoarea argumentului

funcția f = Rfun(x)
% calculează sqrt(x^2-1)
% imprimă un avertisment dacă rezultatul este complex
% utilizare y = Rfun(x)

% verificare argument
daca abs(x)<1
avertisment ("rezultat complex")
Sfârșit
% evaluarea funcției
f = sqrt(x^2-1);

Acum, apelarea Rfun cu un argument mai mic de unu va imprima un avertisment în fereastra de comandă:

>> y = Rfun(0,2)
rezultatul este complex
y=
0 + 0,97979589711327i

Fișierul funcțional Rfun avertizează doar că valoarea sa este complexă și toate calculele cu acesta continuă. Dacă rezultatul complex înseamnă o eroare de calcul, atunci execuția funcției ar trebui să fie încheiată folosind comanda de eroare în loc de avertizare.

6.4. Declarație de ramură dacă-elseif-altfel

În general, aplicația operatorului de ramură if-elseif-else arată astfel:

dacă starea 1
Comenzi MatLab
condiția elseif 2
Comenzi MatLab
condiția elseif 3
Comenzi MatLab
. . . . . . . . . . .
condiția elseif N
Comenzi MatLab
altfel
Comenzi MatLab
Sfârșit

În funcție de performanța unuia sau celuilalt N condiții, ramura corespunzătoare a programului funcționează dacă niciuna dintre N condițiile, apoi comenzile MatLab plasate după else sunt implementate. După executarea oricăreia dintre ramuri, instrucțiunea iese. Pot exista orice număr de ramuri sau doar două. În cazul a două ramuri, se folosește terminarea else și se omite elseif. Declarația trebuie întotdeauna să se încheie cu sfârșit.
Un exemplu de utilizare a instrucțiunii if-elseif-else este prezentat în lista următoare.

funcția ifdem(a)
% exemplu folosind instrucțiunea if-elseif-else

dacă (a == 0)
avertisment ("a este egal cu zero")
elseif a == 1
avertisment ("și este egal cu unul")
elseif a == 2
avertisment ("egal cu doi")
elseif a >= 3
warning ("a, mai mare sau egal cu trei")
altfel
warning ("a este mai mic de trei și nu este egal cu zero, unu, doi")
Sfârșit

6.5. Operator de sucursală intrerupator

O instrucțiune switch poate fi utilizată pentru a efectua selecții multiple sau ramificare. . Este o alternativă la declarația if-elseif-else. În general, aplicarea instrucțiunii switch branch arată astfel:

switch switch_expression
valoarea cazului 1
Comenzi MatLab
valoarea cazului 2
Comenzi MatLab
. . . . . . . . . . .
valoarea cazului N
Comenzi MatLab
caz (valoarea N+1, valoarea N+2, ...)
Comenzi MatLab
. . . . . . . . . . . .
caz (valoarea NM+1, valoarea NM+2,…)
in caz contrar
Comenzi MatLab
Sfârșit

În această declarație, valoarea expresiei_switch este mai întâi evaluată (poate fi o valoare numerică scalară sau un șir de caractere). Această valoare este apoi comparată cu valorile: valoarea 1, valoarea 2, ..., valoarea N, valoarea N+1, valoarea N+2, ..., valoarea NM+1, valoarea NM+2, ... ( care poate fi și numeric sau șir) . Dacă se găsește o potrivire, atunci comenzile MatLab care urmează cuvântul cheie caz corespunzător sunt executate. În caz contrar, sunt executate comenzile MatLab între cuvintele cheie otherwise și end.

Pot exista orice număr de rânduri cu cuvântul cheie majuscule, dar trebuie să existe o singură linie cu cuvântul cheie altfel.

După executarea oricăreia dintre ramuri, comutatorul iese, în timp ce valorile specificate în alte cazuri nu sunt verificate.

Utilizarea comutatorului este ilustrată de următorul exemplu:

funcția demswitch(x)
a = 10/5 + x
comutator a
cazul 1
avertisment ("a = -1")
cazul 0
warning ("a = 0")
cazul 1
warning ("a = 1")
caz (2, 3, 4)
avertisment ("a este 2 sau 3 sau 4")
in caz contrar
warning ("a nu este egal cu -1, 0, 1, 2, 3, 4")
Sfârșit

>>x=-4
demswitch(x)
a =
1
avertisment: a = 1
>>x=1
demswitch(x)
a =
6
avertisment: a nu este egal cu -1, 0, 1, 2, 3, 4

6.6. Declarație de întrerupere a buclei pauză

La organizarea calculelor ciclice, trebuie avut grijă ca în interiorul ciclului să nu apară erori. De exemplu, să presupunem că este dat un tablou x, format din numere întregi, și este necesar să se formeze o nouă matrice y conform regulii y(i) = x(i+1)/x(i). Evident, problema poate fi rezolvată cu o buclă for. Dar dacă unul dintre elementele matricei originale este egal cu zero, atunci împărțirea va avea ca rezultat inf, iar calculele ulterioare pot fi inutile. Această situație poate fi prevenită prin ieșirea din buclă dacă valoarea curentă a lui x(i) este zero. Următorul fragment de program demonstrează utilizarea instrucțiunii break pentru a întrerupe o buclă:

pentru x = 1:20
z=x-8;
dacă z==0
pauză
Sfârșit
y = x/z
Sfârșit

De îndată ce variabila z devine 0, bucla se termină.

Declarația break vă permite să opriți prematur execuția buclelor for și while. În afara acestor bucle, instrucțiunea break nu funcționează.

Dacă instrucțiunea break este utilizată într-o buclă imbricată, atunci iese numai din bucla interioară.

Trimiteți-vă munca bună în baza de cunoștințe este simplu. Utilizați formularul de mai jos

Studenții, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și munca lor vă vor fi foarte recunoscători.

postat pe http://www.allbest.ru/

  • Introducere
  • 1. Partea teoretică
  • 1.1 MATLAB și relația sa cu alte limbaje de programare
  • 1.2 MatLab și componentele sale principale
  • 1.3 Un pic despre lucrul cu sistemul MATLAB
  • 2. Partea practică
  • 2.1 Enunțarea problemei
  • 2.2 Istoricul dezvoltării sarcinilor
  • 2.3 Formule utilizate
  • 2.4 Codul programului sarcinii
  • 2.5 Descrierea programului
  • Concluzie
  • Lista surselor utilizate
  • INTRODUCERE
  • Matematica computerizată modernă oferă un întreg set de sisteme software integrate și pachete software pentru automatizarea calculelor matematice: Gauss, Derive, Mathcad, Mathematica etc. Se pune întrebarea: ce loc ocupă sistemul MATLAB printre acestea?
  • MATLAB este unul dintre cele mai vechi, bine dezvoltate sisteme pentru automatizarea calculelor matematice, construit pe reprezentarea avansată și aplicarea operațiilor matriceale.
  • De-a lungul anilor, MATLAB a evoluat având în vedere o varietate de utilizatori. În mediul universitar, a fost un instrument standard pentru lucrul în diverse domenii ale matematicii, ingineriei și științei.
  • Limbajul de programare al sistemului MATLAB este foarte simplu, conține doar câteva zeci de operatori; un număr mic de operatori este compensat de un număr mare de proceduri și funcții, al căror conținut este de înțeles pentru un utilizator care are cunoștințele adecvate în matematică și inginerie.
  • MATLAB include calcularea, vizualizarea și programarea într-un mediu convenabil în care problemele și soluțiile sunt exprimate într-o formă apropiată de cea matematică. Utilizările tipice ale MATLAB sunt: ​​calcule matematice, creare de algoritm, modelare, analiză de date, explorare și vizualizare, grafică științifică și de inginerie, dezvoltarea de aplicații, inclusiv crearea GUI.
  • Programele scrise în MATLAB sunt de două tipuri -- funcții și scripturi. Funcțiile au argumente de intrare și de ieșire, precum și propriul spațiu de lucru pentru stocarea rezultatelor intermediare ale calculelor și variabilelor. Scripturile au un spațiu de lucru comun. Atât scripturile, cât și funcțiile nu sunt compilate în cod nativ și sunt salvate ca fișiere text.
  • În această lucrare, scopul este de a lua în considerare modul în care se mișcă un corp (sau un punct material) aruncat într-un unghi față de orizont. Și, de asemenea, pe baza datelor luate în considerare de la mecanică, scrierea unui program care să modeleze această mișcare. Lucrarea include crearea de grafice de mișcare, grafice de coordonate în funcție de timp, precum și crearea unui model dinamic al mișcării unui corp aruncat într-un unghi față de orizont.

1. PARTEA TEORETICĂ

1.1 MATLAB ȘI RELAȚIA SA CU ALTE LIMBAJE DE PROGRAMARE

Sistemul MATLAB a fost dezvoltat de specialiști de la MathWork Inc. (Nateik, Massachusetts, SUA). Deși acest sistem a fost folosit pentru prima dată la sfârșitul anilor 1970, a devenit larg răspândit la sfârșitul anilor 80, mai ales după ce versiunea 4.0 a apărut pe piață. Cele mai recente versiuni ale MATLAB sunt sisteme care conțin multe proceduri și funcții necesare pentru ca un inginer și un om de știință să efectueze calcule numerice complexe, să simuleze sisteme tehnice și fizice și să prezinte rezultatele acestor calcule. MATLAB (prescurtare de la MATrix LABoratory - matrix laboratory) este un sistem interactiv conceput pentru a efectua calcule inginerești și științifice și axat pe lucrul cu matrice de date. Sistemul oferă posibilitatea de a accesa programe scrise în FORTRAN, C și C++.

O caracteristică atractivă a sistemului MATLAB este prezența matricei încorporate și a aritmeticii complexe. Sistemul suportă operații cu vectori, matrice și matrice de date, implementează descompunerea singulară și spectrală, calculează numerele de rang și condiție ale matricelor, acceptă lucrul cu polinoame algebrice, rezolvarea de ecuații neliniare și probleme de optimizare, integrarea funcțiilor în cuadraturi, integrarea numerică a diferențiale și ecuații de diferență, construcție de grafice diferite, suprafețe tridimensionale și linii de nivel.

Sistemul MATLAB asigură efectuarea operațiilor cu vectori și matrice chiar și în modul de calcul direct. Poate fi folosit ca un calculator puternic, care, împreună cu operațiile obișnuite aritmetice și algebrice, poate folosi operații complexe precum inversarea unei matrice, calcularea valorilor proprii și vectorii acesteia, rezolvarea sistemelor de ecuații algebrice liniare și multe altele. O trăsătură caracteristică a sistemului este deschiderea acestuia, adică posibilitatea modificării și adaptării acestuia la sarcinile specifice ale utilizatorului.

Sistemul MATLAB folosește propriul său limbaj M, care combină caracteristicile pozitive ale diferitelor limbaje de programare de nivel înalt binecunoscute. Sistemul MATLAB este legat de limbajul BASIC prin faptul că este un interpret (realizează compilarea operator cu operator și executarea programului fără a forma un fișier executabil separat), limbajul M are un număr mic de operatori, nu trebuie să declarați tipurile și dimensiunile variabilelor. Din limbajul Pascal, sistemul MATLAB a împrumutat o orientare orientată către obiectiv, adică o astfel de construcție a limbajului care asigură formarea de noi tipuri de obiecte computaționale pe baza tipurilor de obiecte care există deja în limbaj. Noile tipuri de obiecte (în MATLAB sunt numite clase) pot avea propriile lor proceduri de conversie (ele definesc metodele acestei clase), iar noi proceduri pot fi numite folosind operatori aritmetici obișnuiți și unele simboluri speciale care sunt folosite în matematică.

Principiile salvării valorilor variabilelor în MATLAB sunt cele mai apropiate de cele inerente limbajului FORTRAN, și anume: toate variabilele sunt locale - ele acționează numai în limitele unității de program (procedură, funcție sau program de control principal) unde li se atribuie nişte valori specifice. La trecerea la execuția altei unități de program, valorile variabilelor unității de program anterioare fie sunt pierdute (dacă unitatea de program executată este o procedură sau funcție) fie devin inaccesibile (dacă programul executat este un program de control) . Spre deosebire de BASIC și Pascal, nu există variabile globale în MATLAB care să se aplice tuturor unităților de program. Dar, în același timp, limbajul MATLAB are o caracteristică care nu este disponibilă în alte limbi. Interpretul MATLAB vă permite să executați mai multe programe independente în aceeași sesiune, iar toate variabilele utilizate în aceste programe sunt comune acestora și formează un singur spațiu de lucru. Acest lucru face posibilă organizarea mai rațională a calculelor complexe (îngreuitoare) în funcție de tipul de structuri suprapuse.

Caracteristicile de mai sus ale sistemului MATLAB îl fac un sistem de calcul foarte flexibil și ușor de utilizat.

1.2 MATLAB ȘI PRINCIPALELE COMPONENTE

MATLAB este un limbaj de înaltă performanță pentru calcule tehnice. Include calcule, vizualizare și programare într-un mediu convenabil în care problemele și soluțiile sunt exprimate într-o formă apropiată de cea matematică. O utilizare tipică a MATLAB este:

calcule matematice;

Crearea de algoritmi;

Modelare;

Analiza, cercetarea și vizualizarea datelor;

Grafică științifică și inginerească;

Dezvoltarea aplicațiilor, inclusiv crearea unei interfețe grafice.

MATLAB este un sistem interactiv în care elementul principal de date este o matrice. Acest lucru vă permite să rezolvați diverse probleme legate de calculele tehnice, în special cele care folosesc matrici și vectori, de câteva ori mai rapid decât atunci când scrieți programe folosind limbaje de programare „scalare” precum C sau Fortran. programare matematică matlab

În MATLAB, grupurile specializate de programe numite cutii de instrumente joacă un rol important. Sunt foarte importante pentru majoritatea utilizatorilor MATLAB, deoarece vă permit să învățați și să aplicați metode specializate. Cutiile de instrumente sunt o colecție cuprinzătoare de funcții MATLAB (fișiere M) care vă permit să rezolvați anumite clase de probleme. Cutiile de instrumente sunt folosite pentru procesarea semnalului, sisteme de control, rețele neuronale, logica fuzzy, wavelets, simulare etc.

Sistemul MATLAB este format din cinci părți principale.

1. Limbajul MATLAB. Este un limbaj matrice și matrice de nivel înalt cu control al fluxului, funcții, structuri de date, I/O și caracteristici de programare orientată pe obiecte.

2. Mediul MATLAB. Acesta este un set de instrumente și accesorii cu care lucrează un utilizator sau un programator MATLAB. Include instrumente pentru gestionarea variabilelor din spațiul de lucru MATLAB, intrare și ieșire a datelor și crearea, controlul și depanarea fișierelor M și aplicațiilor MATLAB.

3. Grafică gestionată. Este un sistem grafic MATLAB care include comenzi de nivel înalt pentru vizualizarea datelor 2D și 3D, procesarea imaginilor, animație și grafică ilustrată. De asemenea, include comenzi de nivel scăzut care vă permit să editați complet aspectul graficului, la fel ca atunci când creați o interfață grafică cu utilizatorul (GUI) pentru aplicațiile MATLAB.

4. Biblioteca de funcţii matematice. Este o colecție vastă de algoritmi de calcul de la funcții elementare cum ar fi sumă, sinus, cosinus, aritmetică complexă până la altele mai complexe, cum ar fi inversarea matricei, determinarea valorilor proprii, funcțiile Bessel, transformarea Fourier rapidă.

5. Interfață software. Aceasta este o bibliotecă care vă permite să scrieți programe C și Fortran care interacționează cu MATLAB. Include facilități pentru apelarea programelor din MATLAB (link dinamic), apelarea MATLAB ca instrument de calcul și pentru citirea/scrierea fișierelor MAT.

Simulink, un program însoțitor al MATLAB, este un sistem interactiv pentru modelarea sistemelor dinamice neliniare. Este un mediu condus de mouse care vă permite să simulați procesul trăgând blocuri de diagrame pe ecran și manipulându-le. Simulink funcționează cu sisteme liniare, neliniare, continue, discrete, multidimensionale.

Seturile de blocuri sunt suplimente pentru Simulink care oferă biblioteci de blocuri pentru aplicații specializate, cum ar fi comunicații, procesarea semnalului și sistemele de alimentare.

Real-Time Workshop este un program care vă permite să generați cod C din diagrame bloc și să le rulați pe diverse sisteme în timp real.

1.3 PUȚIN DESPRE LUCRU CU SISTEMUL MATLAB

După ce faci clic pe pictograma MATLAB, în fața ta va apărea un ecran, în partea superioară a căruia se află o linie cu meniuri derulante, o bară de instrumente cu butoane care implementează acțiunile efectuate cel mai frecvent (vezi Fig. 1.1) , iar în fereastra în sine - un șir de interogare în două caractere>>. Aceasta este fereastra de comandă MATLAB

Orezunok1. 1 - instrumentalpacaseta ferestrei de comandă

Meniul derulant standard Fișier conține elemente precum Nou pentru crearea de fișiere noi, Deschideți fișierul M - deschiderea unui fișier program existent sau a unui fișier de funcție pentru editare, verificare text sau depanare. Când utilizați acest articol, vi se oferă o fereastră standard de selecție a fișierului, iar după selectarea fișierului necesar, se deschide fereastra editor/depanator de fișiere m.

Fișierele M sunt fișiere text cu extensia .m, care conțin texte ale programelor script sau texte ale funcțiilor din biblioteci standard sau proprietare. În editor, puteți să le corectați, să setați puncte de întrerupere pentru depanare, dar amintiți-vă că pentru ca o versiune nouă, corectată a unei funcții sau program să aibă efect, este necesar într-un mod standard (prin meniul Editor de fișiere sau folosind butonul corespunzător din bara de instrumente/depanare a editorului) pentru a salva fișierul modificat.

Bara de instrumente (vezi Figura 1.1) a ferestrei de comandă vă permite să efectuați acțiunile necesare făcând simplu clic pe butonul corespunzător. Majoritatea butoanelor au un aspect standard și efectuează acțiuni standard similare cu alte programe - copierea (Copy), deschiderea unui fișier (Open), imprimarea (Print) etc. Ar trebui să acordați atenție butonului Path Browser, care vă permite să navigați în diferite directoare și să faceți directorul necesar curent, precum și butonul Workspace Browser, care vă permite să vizualizați și să editați variabile în spațiul de lucru.

Comanda de ajutor introdusă ca răspuns la o solicitare urmată de tasta Enter sau de un buton din bara de instrumente cu un semn de întrebare, listează funcțiile pentru care este disponibil ajutorul online. comanda de ajutor<имя_функции>vă permite să obțineți ajutor pe ecran pentru o anumită funcție.

De exemplu, comanda help eig vă permite să obțineți ajutor online pentru funcția eig, o funcție pentru calcularea valorilor proprii ale unei matrice. Vă puteți familiariza cu unele dintre caracteristicile sistemului MATLAB folosind comanda demo.

În această scurtă introducere, trebuie menționat că principalele obiecte - variabilele cu care lucrează MATLAB - sunt matrici dreptunghiulare. Acest lucru face posibilă scrierea programelor foarte scurt, făcând programele ușor vizibile. Există multe operații efectuate pe matrice. Desigur, notarea unor astfel de operații precum înmulțirea și adăugarea matricelor ar trebui memorată. Este inutil să studiezi și să memorezi toate posibilitățile „pentru viitor”, înainte de a fi necesare.

Dacă trebuie să întrerupeți munca, dar să salvați toate variabilele create în spațiul de lucru, atunci cel mai simplu mod de a face acest lucru este cu comanda de salvare.<имя_файла>. Toate variabilele în formă binară sunt stocate într-un fișier<имя_файла>.mat. Ulterior, când reporniți sistemul, puteți încărca întreg spațiul de lucru folosind comanda load<имя_файла>si continuati calculele din acelasi loc. Pentru a șterge zona de lucru, utilizați comanda clear fără argumente, caz în care întreaga zonă este șters de toate variabilele. Dacă comanda clear este urmată de o listă de variabile separate prin spațiu, atunci numai variabilele listate sunt eliminate.

2. PARTEA PRACTICĂ

2.1 DECLARAȚIA PROBLEMEI

Obiectivul principal al acestui curs este: scrierea unui program în sistemul MATLAB care să simuleze mișcarea unui corp aruncat în unghi față de orizont.

2.2 ISTORIA PROBLEMEI

Mecanica (din greacă MzchbnykYu este tradus ca arta de a construi mașini) este un domeniu al fizicii care studiază mișcarea obiectelor materiale și interacțiunea dintre ele. Cele mai importante ramuri ale mecanicii sunt mecanica clasică și mecanica cuantică.

Mișcarea unui corp aruncat într-un unghi față de orizont trebuie considerată ca o mișcare curbilinie, care, la rândul ei, este una dintre secțiunile mecanicii.

Studiul caracteristicilor unei astfel de mișcări a început cu mult timp în urmă, în secolul al XVI-lea, și a fost asociat cu apariția și îmbunătățirea pieselor de artilerie.

Ideile despre traiectoria obuzelor de artilerie în acele vremuri erau destul de amuzante. Se credea că această traiectorie este formată din trei secțiuni: mișcare violentă, mișcare mixtă și mișcare naturală, în care ghiulele cade peste soldații inamici de sus (vezi Fig. 2.1).

Orez. 2.1 - Traiectoria proiectilelor de artilerie

Legile zborului proiectilelor nu au atras prea multă atenția oamenilor de știință până când au fost inventate pistoale cu rază lungă de acțiune care au trimis un proiectil prin dealuri sau copaci - astfel încât trăgătorul să nu-și vadă zborul.

La început, tragerea cu rază ultra-lungă de la astfel de arme a fost folosită în principal pentru a demoraliza și a intimida inamicul, iar acuratețea tragerii nu a jucat un rol deosebit de important la început.

Aproape de decizia corectă cu privire la zborul ghiulelor a venit matematicianul italian Tartaglia, el a reușit să arate că cea mai mare gamă de proiectile poate fi atinsă atunci când împușcătura este îndreptată la un unghi de 45 ° față de orizont. În cartea sa „The New Science”, au fost formulate regulile de împușcare, care i-au ghidat pe artilerişti până la mijlocul secolului al XVII-lea.

Totuși, rezolvarea completă a problemelor asociate mișcării corpurilor aruncate orizontal sau în unghi față de orizont a fost realizată de același Galileo. În raționamentul său, el a pornit de la două idei principale: corpurile care se mișcă orizontal și care nu sunt supuse altor forțe își vor menține viteza; apariția influențelor exterioare va modifica viteza corpului în mișcare, indiferent dacă acesta era în repaus sau în mișcare înainte de începerea acțiunii lor. Galileo a arătat că traiectoriile proiectilelor, dacă neglijăm rezistența aerului, sunt parabole. Galileo a subliniat că în timpul mișcării efective a obuzelor, din cauza rezistenței aerului, traiectoria lor nu ar mai semăna cu o parabolă: ramura descendentă a traiectoriei ar merge ceva mai abruptă decât curba calculată.

Newton și alți oameni de știință au dezvoltat și îmbunătățit o nouă teorie a împușcării, ținând cont de influența crescută a forțelor de rezistență a aerului asupra mișcării obuzelor de artilerie. A apărut și o nouă știință - balistica. Au trecut mulți, mulți ani, iar acum proiectilele se mișcă atât de repede încât chiar și o simplă comparație a tipului de traiectorii ale mișcării lor confirmă influența crescută a rezistenței aerului.

În balistica modernă, pentru a rezolva astfel de probleme, se folosesc echipamente electronice de calcul - calculatoare, dar deocamdată ne vom restrânge la un caz simplu - studiul unei astfel de mișcări în care rezistența aerului poate fi neglijată. Acest lucru ne va permite să repetăm ​​raționamentul lui Galileo aproape fără nicio modificare.

2.3 FORMULA UTILIZĂ

Să studiem mișcarea unui corp aruncat cu o viteză inițială V 0 la un unghi b față de orizont, considerându-l ca punct material de masă m. În același timp, vom neglija rezistența aerului și vom considera că câmpul gravitațional este uniform (Р=const), presupunând că raza de zbor și înălțimea traiectoriei sunt mici în comparație cu raza Pământului.

Să plasăm originea O în poziția inițială a punctului. Să direcționăm axa Oy vertical în sus; vom plasa axa orizontală Ox în planul care trece prin Oy și vectorul V 0 , și vom trasa axa Oz perpendiculară pe primele două axe (Fig. 2.2). Atunci unghiul dintre vectorul V 0 și axa Ox va fi egal cu b.

Fig.2.2 - Mișcarea unui corp aruncat în unghi față de orizont.

Să descriem un punct în mișcare M undeva pe traiectorie. Doar forța gravitației F acționează asupra punctului, ale cărui proiecții pe axele de coordonate sunt egale:

Înlocuind aceste mărimi în ecuații diferențiale și observând că

etc. după reducerea cu m obținem:

Înmulțind ambele părți ale acestor ecuații cu dt și integrând, găsim:

Condițiile inițiale din problema noastră au forma:

la t=0:

Satisfacand conditiile initiale, vom avea:

Înlocuind aceste valori C 1 , C 2 Și C 3 în soluția găsită mai sus și înlocuită Vx, Vy, Vz pe

ajungem la ecuații:

Integrând aceste ecuații, obținem:

Înlocuirea datelor inițiale dă C 4 =C 5 =C 6 =0, iar în final găsim ecuațiile de mișcare ale punctului M sub forma:

Din ultima ecuație rezultă că mișcarea are loc în planul Oxy.

Având ecuația de mișcare a unui punct, este posibil să se determine toate caracteristicile unei mișcări date folosind metode cinematice.

Să găsim timpul de zbor al corpului de la punctul de plecare până la punctul de cădere.

Timp de zbor:

2.4 COD DE PROGRAM PENTRU SARCINA DECLARAȚĂ

clc; %clear fereastra de comandă

v0=36; %viteza de pornire

g=9,81; %accelerarea gravitaţiei

k=1;

alfa=pi/3; %unghiul la care este aruncat corpul

m=(2*v0*sin(alfa))/g % timpul de zbor

în timp ce k<5

k=menu("selectați categoria",...

sprintf("dependența coordonatei x de t"), ...

sprintf(„dependența coordonatei y de t”), ...

sprintf(„graficul mișcării unui corp aruncat la un unghi față de orizont”),...

sprintf(„modelul dinamic al mișcării unui corp aruncat într-un unghi față de orizont”),...

„ieșire”);

dacă k == 1

t=0:0,001:m;

x=v0*t*cos(alfa);

plot(x);

title("dependența coordonatei x de t");

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

elseif k == 2

t=0:0,001:m;

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

plot(y);

title("dependența coordonatei y de t");

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

elseif k == 3

t=0:0,001:m;

x=v0*t*cos(alfa);

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

plot(x,y);

title(„Graficul mișcării unui corp aruncat în unghi față de orizont”);

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;

cometa(x,y);

title(„model dinamic al mișcării unui corp aruncat în unghi față de orizont”);

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

Sfârșit;

Sfârșit;

2.5 DESCRIEREA PROGRAMULUI

Acest program conține funcții și proceduri precum clc, plot, menu, comet etc., precum și variabile și valorile acestora.

Să descriem procedurile și funcțiile utilizate în acest program:

CLC. Comanda destinată ștergerii ferestrei de comandă.

MENIUL. Un instrument convenabil pentru alegerea uneia dintre alternativele pentru viitoarele acțiuni de calcul este funcția de meniu, care creează o fereastră de meniu personalizată. Funcția de meniu trebuie accesată după cum urmează:

K=MENIU("TITLUL MENIU","alternativa 1","alternativa 2","alternativa n")

Un astfel de apel duce la apariția unei ferestre de meniu (vezi Fig. 2.3).

Figura 2.3 - Fereastra Meniu

Execuția programului este temporar suspendată și sistemul așteaptă selectarea unuia dintre butoanele alternative de meniu. După alegerea corectă, parametrului inițial k i se atribuie o valoare corespunzătoare numărului alternativei (1,2…n). În general, numărul de alternative poate fi de până la 32.

IN TIMP CE. Operatorul de buclă cu o precondiție arată astfel:

In timp ce <условие>

<операторы>

Sfârșit

Instrucțiunile din interiorul buclei sunt executate numai dacă este îndeplinită condiția de după cuvântul while. Totodată, printre instrucțiunile din interiorul buclei trebuie să fie și cele care modifică valoarea uneia dintre variabile.

SPRINT. O funcție care pe fiecare buton de meniu plasează informații despre valoarea curentă a parametrului corespunzător.

DACĂ. În general, sintaxa operatorului de salt condiționat este următoarea:

Dacă < condiție>

< operatori1>

Altfel

< operatori 2>

End

Acest operator funcționează după cum urmează. În primul rând, se face o verificare pentru a vedea dacă condiția specificată este îndeplinită. Dacă rezultatul testului este pozitiv, programul execută un set de instrucțiuni <операторы1> . În caz contrar, succesiunea de instrucțiuni este executată <операторы2>.

PLOT. Funcția principală care oferă reprezentarea grafică pe ecranul de afișare este reprezentarea grafică (vezi Figura 2.4). Forma generală de abordare a acesteia este următoarea:

Grafic(x1,y1,s1,x2,y2,s2...)

Aici x1,y1 sunt dați vectori, ale căror elemente sunt tablouri de valori argument (x1) și funcții (y1) corespunzătoare primei curbe a graficului; x2,y2 - matrice de valori ale argumentelor și funcții ale celei de-a doua curbe etc. Se presupune că valoarea argumentului este reprezentată de-a lungul axei orizontale a graficului, iar valoarea funcției este reprezentată de-a lungul axei verticale. Variabilele s1,s2,... sunt simbolice (specificarea lor este opțională).

Figura 2.4 - Acțiunea funcției plot.

TITLU. Procedura prin care este stabilit titlul graficului.

XLABELȘi YLABEL. Funcții care definesc explicațiile de-a lungul axelor orizontale și verticale.

COMETĂ. Procedura comet(x, y) ("cometa") construiește o diagramă de dependență y(x) treptat sub forma unei traiectorii cometei. În același timp, punctul „reprezentant” de pe grafic arată ca o mică cometă, care se mișcă lin dintr-un punct în altul.

În cele din urmă, programul arată cum se mișcă corpul, aruncat în unghi față de orizont. De asemenea, în program, puteți vedea dependența coordonatelor corpului de timp (vezi Fig. 2.5 și Fig. 2.6), graficul traiectoriei corpului (vezi Fig. 2.7) și modelul de mișcare a corpului în sine (vezi Fig. 2.8). ).

Figura 2.5 - Graficul lui x versus t.

Figura 2.6 - Graficul lui y versus t.

Figura 2.7 - Graficul mișcării unui corp aruncat în unghi față de orizont.

Figura 2.8 - Modelul dinamic al mișcării unui corp aruncat în unghi față de orizont.

CONCLUZIE

Proiectul de curs a fost finalizat în mediul MatLab 6.5. Dezvoltarea proiectului s-a desfășurat în mai multe etape, constând în studiul domeniului subiect al problemei; studierea legilor de bază ale mecanicii; dezvoltarea programului în sine, care permite simularea mișcării unui corp aruncat în unghi față de orizont.

Rezultatul muncii depuse a fost un program care implementează un model al mișcării unui corp aruncat în unghi față de orizont.

Valoarea practică a programului constă în faptul că arată clar cum se mișcă un corp aruncat în unghi față de orizont.

De asemenea, cursul a contribuit la dezvoltarea abilităților de planificare și implementare independentă a activității de cercetare, dobândirea de experiență în colectarea și prelucrarea materialului sursă, analiza literaturii științifice și tehnice, cărți de referință, standarde și documentație tehnică, dobândirea de abilități în fundamentarea deciziilor de proiectare și proiectarea profesională a documentației de proiect.

LISTA SURSELOR UTILIZATE

1. Lazarev, Yu. Modelarea proceselor și sistemelor în MatLab. Curs de pregatire. / Yu. Lazarev. - Sankt Petersburg: Petru; Kiev: BHV Publishing Group, 2005. - 512 p.

2. Aleshkevici, V.A. Mecanica / V.A. Aleșkevici, L.G. Dedenko, V.A. Karavaev. - Academia 2004.

3. Kotkin, G.L. Cherkassky V.S., Modelarea computerizată a proceselor fizice folosind MATLAB: Proc. indemnizatie / G.L. Kotkin, V.S. Cerkaski. - Novosib. un-t. Novosibirsk, 2001. - 173 p.

Găzduit pe Allbest.ru

...

Documente similare

    Caracteristicile generale și proprietățile sistemului Matlab - un pachet de programe aplicate pentru rezolvarea problemelor de calcule tehnice. Dezvoltarea unui model matematic într-un mediu dat, programarea funcțiilor pentru o influență de master. Design GUI.

    lucrare de termen, adăugată 23.05.2013

    Caracteristici de lucru în modul linie de comandă în sistemul Matlab. Variabile și atribuirea de valori acestora. Numere complexe și calcule în sistemul Matlab. Calcule folosind funcția sqrt. Utilizarea incorectă a funcțiilor cu argumente complexe.

    teză, adăugată 30.07.2015

    Învățarea programarii în MATLAB. Folosind comenzile Salvare și încărcare, instrucțiuni de intrare și ieșire pentru a lucra în fereastra de comandă. Depanarea propriilor programe. interfata MATLAB. Diferențele dintre o versiune ulterioară a MATLAB și cele anterioare. Instrumentul de interfață de control sursă.

    test, adaugat 25.12.2011

    Matlab - laborator matrice - sistem de programare pentru calcule științifice și tehnice. Caracteristici de intrare a vectorilor. Matrici speciale, comenzi simple. Exemple simple care ilustrează eficiența Matlab. Mod grafic de rezolvare a ecuațiilor.

    rezumat, adăugat la 01.05.2010

    Bazele matematice ale calculului paralel. Proprietățile casetei de instrumente Parallel Computing. Dezvoltarea de aplicații paralele în Matlab. Exemple de programare a sarcinilor paralele. Calculul unei integrale definite. Înmulțirea în serie și paralelă.

    lucrare de termen, adăugată 15.12.2010

    MATLAB - laborator matrix - cel mai avansat sistem de programare pentru calcule stiintifice si tehnice. Variabile și elemente ale graficii xy. Exemple simple care ilustrează puterea MATLAB. Sisteme de ecuații algebrice liniare și polinoame.

    manual de instruire, adăugat 26.01.2009

    Crearea si reprezentarea variabilelor simbolice in programul Matlab, operatii pe polinoame si simplificare a expresiilor. Un exemplu de substituire a unei valori într-o funcție, rezolvarea ecuațiilor și sistemelor, diferențierea, integrarea și calcularea limitelor funcțiilor.

    prezentare, adaugat 24.01.2014

    Caracteristicile și sintaxa comenzilor MATLAB, lista de programe și descrierea buclei. Procedura de compilare a unui program pentru calcularea coeficienților unui polinom de interpolare algebrică și construirea unei funcții spline „lipite” din bucăți de polinoame de ordinul 3.

    munca de laborator, adaugat 07.04.2009

    Analiza capabilităților pachetului MATLAB și extensiilor acestuia. Limbajul de programare a sistemului. Cercetarea dispozitivului redresor. Simularea unui transformator trifazat. Schema schematică a unui convertor reglabil. Posibilitățile unui model digital flexibil.

    prezentare, adaugat 22.10.2013

    Metode de integrare numerică. Caracterizarea principalelor componente ale programării structurale. Rezolvarea sarcinii în limbajul de nivel înalt Pascal. Construirea unei soluții grafice a problemei în pachetul Matlab. Rezolvarea problemelor în limbajul de nivel înalt C.

Instruire

Există mai multe moduri de operare în mediul MATLAB. Cel mai simplu este să introduceți comenzi direct în fereastra de comandă ( fereastra de comandă).
Dacă nu este vizibil în interfața programului, atunci trebuie să îl deschideți. Puteți găsi fereastra de comandă prin meniu Desktop -> fereastra de comandă.
De exemplu, să introducem în această fereastră comenzile „x = ; y = sqrt(x); plot(y);”, una după alta, și apăsăm tasta „Enter” ( introduce). Programul va crea instantaneu variabile X, va crea o variabilă Y și va calcula valorile acesteia pentru o anumită funcție, apoi va construi graficul acesteia.
Folosind săgețile de la tastatură „Sus” și „Jos” din fereastra de comandă, putem comuta între toate comenzile introduse, le putem schimba imediat dacă este necesar și, apăsând din nou Enter, trimitem mediul MATLAB pentru execuție.
Convenabil? Fara indoiala. Și cel mai important - foarte repede. Toate aceste acțiuni durează câteva secunde.
Dar dacă ai nevoie de o organizare mai complexă a echipelor? Dacă aveți nevoie de execuția ciclică a unor comenzi? Introducerea comenzilor manual una câte una și apoi căutarea lor în istoric pentru o lungă perioadă de timp poate fi destul de obositoare.

Pentru a simplifica viața unui om de știință, inginer sau student, fereastra editorului ( Editor). Să deschidem fereastra editorului prin meniu Desktop -> Editor.
Aici puteți crea variabile noi, construi grafice, scrie programe (scripturi), puteți crea componente pentru schimbul cu alte medii, puteți crea aplicații cu o interfață cu utilizatorul (GUI) și le puteți edita pe cele existente. Dar în prezent suntem interesați să scriem un program care să conțină funcții pentru reutilizare ulterioară. Deci, să mergem la meniu. Fişierși alegeți Nou -> Fișierul M.

În câmpul editor, vom scrie un program simplu, dar îl vom complica ușor:

funcția draw_plot(x)
y = log(x); % Setați prima funcție
subplot(1, 2, 1), plot(x, y); % Construirea primului grafic
y = pătrat(x); % Setați a doua funcție
subplot(1, 2, 2), plot(x, y); % Construim a doua diagramă

Am adăugat o a doua funcție și vom afișa două grafice simultan unul lângă celălalt. Semnul procentual denotă comentarii în mediul MATLAB.
Nu uitați să salvați programul. Extensia de fișier standard cu programul Matlab este *.m.
Acum închideți editorul și fereastra cu diagrama construită mai devreme.

Să revenim la fereastra de comandă.
Puteți șterge istoricul comenzilor, astfel încât informațiile inutile să nu ne distragă atenția. Pentru a face acest lucru, faceți clic dreapta pe câmpul de introducere a comenzii și selectați elementul din meniul contextual care se deschide. Ștergeți fereastra de comandă.
Variabila X a rămas la noi după experimentul anterior, nu am schimbat-o și nici nu am șters-o. Prin urmare, în fereastra de comandă, puteți introduce imediat:
draw_plot(x);
Veți vedea că MATLAB va citi funcția noastră din fișier și o va executa, desenând graficul.

Cei care se ocupă de matematică superioară știu perfect cu ce „monstri” matematici au de-a face uneori. De exemplu, pentru a calcula o integrală triplă gigantică, puteți petrece foarte mult timp, putere mentală și celule nervoase care nu se recuperează. Desigur, este foarte interesant să provoci integrala și să o iei. Dar dacă integrala amenință să te ia în locul tău? Sau, și mai rău, trinomul cubic a scăpat de sub control și a făcut furie? Nu ți-ai dori asta inamicului tău.


Anterior, existau doar două opțiuni: să scuipi pe tot și să ieși la o plimbare sau să intri într-o luptă de mai multe ore cu integrala. Ei bine, cineva pentru multe ore, cineva pentru multe minute - care a studiat cum. Dar nu asta este ideea. Secolul al XX-lea și progresul inexorabil mișcător ne oferă o a treia cale, și anume, ne permit să luăm „rapid” cea mai complexă integrală. Același lucru este valabil și pentru rezolvarea diferitelor ecuații, trasarea graficelor de funcții sub formă de hiperboloizi cubi etc.

Pentru astfel de situații extraordinare, dar care apar periodic în rândul elevilor, există o armă matematică puternică. Faceți cunoștință cu cei care nu știu încă - pachetul software MATLAB.

Matlab va rezolva ecuația și va aproxima și va reprezenta graficul funcției. Înțelegeți ce înseamnă asta, prieteni?

Aceasta înseamnă că este unul dintre cele mai puternice pachete de procesare a datelor de până acum. Numele reprezintă matricelaborator. Laboratorul Matrix, dacă în rusă . Posibilitățile programului acoperă aproape toate domeniile matematicii. Deci, folosind Matlab, puteți:

  • Efectuați tot felul de operații pe matrice, rezolvați ecuații liniare, lucrați cu vectori;
  • Calculați rădăcinile polinoamelor de orice grad, efectuați operații pe polinoame, diferențiați, extrapolați și interpolați curbe, construiți grafice ale oricăror funcții;
  • Efectuați analiza datelor statistice folosind filtrarea digitală, regresia statistică;
  • Rezolvarea ecuațiilor diferențiale. În derivate parțiale, liniare, neliniare, cu condiții la limită - nu contează, matlab va rezolva totul;
  • Efectuați operații aritmetice cu numere întregi.

Pe lângă toate acestea, capacitățile MATLAB vă permit să vizualizați date până la construirea de grafice tridimensionale și crearea de videoclipuri animate.

Descrierea noastră despre matlab, desigur, este departe de a fi completă. Pe lângă capacitățile și funcțiile oferite de producător, există un număr mare de instrumente Matlab scrise doar de entuziaști sau alte companii.

MATLAB ca limbaj de programare


Și totuși - acesta este un limbaj de programare utilizat direct atunci când lucrați cu programul. Nu vom intra în detalii, vom spune doar că programele scrise în limbajul MATLAB sunt de două tipuri: funcții și scripturi.


Fișierul principal de lucru al programului este fișierul M. Acesta este un fișier text fără sfârșit și în el are loc programarea efectivă a calculelor. Apropo, nu lăsați acest cuvânt să vă sperie - pentru a lucra în MATLAB, nu trebuie să fiți deloc un programator profesionist.

Fișierele M sunt împărțite în

  • M-scenarii. Un M-script este cel mai simplu tip de fișier M care nu are argumente de intrare sau de ieșire. Acest fișier este folosit pentru automatizarea calculelor repetitive.
  • Funcții M. Funcțiile M sunt fișiere M care permit argumente de intrare și ieșire.

Pentru a arăta în mod clar cum se lucrează în MATLAB, vom oferi mai jos un exemplu de creare a unei funcții în Matlab. Această funcție va calcula valoarea medie a vectorului.
f uncțiune y = medie (x)
% MEDIA Valoarea medie a elementelor vectoriale.
% MEDIE(X), unde X este un vector. Calculează media elementelor unui vector.
% Dacă argumentul de intrare nu este un vector, este generată o eroare.
= dimensiune(x);
dacă (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
error(„Matricea de intrare trebuie să fie un vector”)
Sfârșit
y=sumă(x)/lungime(x); % calcul efectiv

Linia de definire a funcției îi spune MATLAB că fișierul este o funcție M și definește, de asemenea, o listă de argumente de intrare. Deci, linia de definiție a mediei funcției arată astfel:
funcția y = medie(x)
Unde:

  1. function - un cuvânt cheie care definește o funcție M;
  2. y - argument de ieșire;
  3. medie - numele funcției;
  4. x este argumentul de intrare.

Deci, pentru a scrie o funcție în MATLAB, trebuie să vă amintiți că fiecare funcție din sistemul MATLAB conține o linie de definiție a funcției ca aceasta.

Desigur, un pachet atât de puternic este necesar nu numai pentru a face viața mai ușoară studenților. În prezent, MATLAB, pe de o parte, este foarte popular în rândul specialiștilor din multe industrii științifice și de inginerie. Pe de altă parte, capacitatea de a lucra cu matrici mari face din MATLAB un instrument indispensabil pentru analiștii financiari, permițându-le să rezolve mult mai multe probleme decât, de exemplu, binecunoscutul Excel. Puteți citi mai multe despre asta în articolul de recenzie.

Dezavantajele lucrului cu MATLAB


Care sunt dificultățile în lucrul cu MATLAB? Dificultate, poate, doar una. Dar fundamentale. Pentru a dezvălui pe deplin capacitățile MATLAB și a rezolva cu ușurință sarcinile cu care vă confruntați, va trebui să transpirați și mai întâi să vă ocupați de matlab-ul în sine (cum să creați un fișier, cum să creați o funcție etc.). Și acest lucru nu este atât de ușor, pentru că puterea și oportunitățile ample necesită sacrificii.

Cu toată dorința, nu se poate spune că MATLAB -program simplu. Cu toate acestea, sperăm că toate cele de mai sus vor fi un argument suficient pentru a prelua dezvoltarea acestuia.

Și, în sfârșit. Dacă nu știi de ce totul în viața ta a mers așa și nu altfel, întreabă Matlab despre asta. Doar tastați „de ce” pe linia de comandă. El va răspunde. Incearca-l!

Acum cunoașteți posibilitățile Matlab. În educație, MATLAB este adesea folosit în predarea metodelor numerice și algebrei liniare. Mulți studenți nu se pot descurca fără ea atunci când procesează rezultatele unui experiment desfășurat în timpul lucrului de laborator. Pentru stăpânirea rapidă și de înaltă calitate a elementelor de bază ale lucrului cu MATLAB, puteți contacta oricând, gata să răspundă la oricare dintre întrebările dvs.

Top articole similare