Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Fier
  • Elementele de bază ale lucrului cu MATLAB. Funcții de fișier cu mai multe argumente de ieșire

Elementele de bază ale lucrului cu MATLAB. Funcții de fișier cu mai multe argumente de ieșire

Mediul MATLAB include un interpret de comenzi 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 pentru execuție. Interpretul procesează intrarea și afișează rezultatele: date numerice și șir, avertismente și mesaje de eroare. Linia de intrare este marcată cu >>. Fereastra de comandă afișează numere, variabile introduse de la tastatură și rezultatele calculelor. Numele variabilelor trebuie să înceapă cu o literă. Semnul = corespunde unei operații 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 sunt stocate într-o zonă special rezervată a memoriei computerului numită MATLAB Workspace. Comanda clc poate șterge conținutul ferestrei de comandă, dar nu va afecta conținutul spațiului de lucru. Când nu este nevoie să stocați un număr de variabile în sesiunea curentă, acestea pot fi șterse din memoria computerului folosind comanda clear sau clear (nume1, nume2, ...). Prima comandă elimină toate variabilele din memorie, iar a doua elimină variabilele numite nume1 și nume2. Comanda who poate afișa o listă cu toate variabilele aflate î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 unei sesiuni MATLAB, toate variabilele calculate anterior se pierd. Pentru a salva conținutul spațiului de lucru MATLAB într-un fișier de pe discul 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, prin urmare, astfel de fișiere sunt de obicei numite fișiere MAT. Pentru a încărca spațiul de lucru salvat anterior pe disc în memoria computerului, trebuie să 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 specificate de mantisă și exponent, de exemplu, 2,85093E + 11, unde litera E indică o bază de putere egală cu 10. Acest tip de date de bază se numește dublu. MATLAB folosește în mod implicit formatul scurt pentru a afișa numere reale, care afișează doar patru zecimale după virgulă.

Introduceți un exemplu de la tastatură:

„Rez = 5,345 * 2,868 / 3,14-99,455 + 1,274

Obțineți rezultatul calculului:

Dacă doriți o reprezentare completă a numărului real res, introduceți comanda de la tastatură:

apăsați 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 MATLAB. Dacă doriți să reveniți la vechea acuratețe 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 efectuarea operațiilor aritmetice este normală. Operațiile cu aceeași prioritate sunt efectuate în ordine de la stânga la dreapta, dar parantezele pot schimba această ordine.

Dacă nu este nevoie să vedeți rezultatul evaluării 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, o listă de argumente de intrare (sunt separate prin virgule și sunt în paranteze după numele funcției) și o valoare calculată (returnată). O listă a tuturor funcțiilor matematice elementare disponibile în sistem poate fi obținută folosind comanda help elfun. Anexa 1 enumeră funcțiile standard cu argumente reale.

Evaluați o expresie care include calculul funcției arcsinus:

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

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

MATLAB are și funcții booleene, funcții legate de aritmetica întregului (rotunjirea la cel mai apropiat număr întreg: rotunjirea, trunchierea părții fracționale a unui număr: fix). Există și funcția mod - restul diviziunii luând în considerare semnul, semnul - semnul numărului, 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 care este diferit de setul 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 în următoarele caractere sau combinații de caractere (Tabelul 1):

tabelul 1


Dacă operația de raport este adevărată, valoarea ei este egală cu 1, iar dacă este falsă, este 0. Operațiile de relație au o prioritate mai mică decât operațiile aritmetice.

Introduceți expresia cu operații de relație pe tastatură și calculați

„A = 1; b = 2; c = 3;

»Res = (a

Veți obține următoarea ieșire:

Operațiile logice pe numere reale sunt indicate 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). Operațiile logice tratează operanzii lor ca fiind „adevărați” (nu egal cu zero) sau „falși” (egal cu zero). Dacă ambii operanzi ai operației AND sunt adevărați (nu sunt egali 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 generează 0 (fals) numai dacă ambii operanzi sunt falși (egali cu zero). O operație NOT inversează false în adevărat. Operațiile logice au cea mai mică prioritate.

Numere complexe și funcții complexe

Variabilele complexe, ca și cele reale, sunt automat de tip dublu și nu necesită nicio descriere preliminară. Literele i sau j sunt rezervate pentru scrierea unității imaginare. În cazul în care coeficientul din fața unității imaginare nu este un număr, ci o variabilă, asigurați-vă că utilizați semnul înmulțirii dintre ele. 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 pot fi calculate 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 (număr complex conjugat), imag (partea imaginară a unui număr complex), real (partea reală a unui număr complex), unghi (argumentul unui număr complex), isreal ( „Adevărat” dacă numărul este valid). Funcțiile unei variabile complexe sunt enumerate în Anexa 1.

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

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

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

Operațiile logice tratează operanzii ca fiind falși dacă sunt egali cu 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, indicată prin paranteze drepte. Elementele matricei sunt plasate între paranteze și separate unele de altele printr-un spațiu sau virgulă:

„Al =; d =;

Pentru a accesa un element individual al tabloului, trebuie să utilizați operația de indexare, pentru care, după numele elementului, indicaț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 fi egal cu media aritmetică a primului și al treilea element. Scrierea unui element inexistent este destul de acceptabilă - înseamnă adăugarea unui element nou la o matrice deja existentă:

Aplicând funcția de lungime matricei a1 după această operație, 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 scriind toate elementele sale separat:

„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). Introduceți primul număr al intervalului, pasul (incrementul) și numărul final al intervalului, separate prin două puncte. 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), tastați punct și virgulă. Pentru a afla câte elemente sunt într-o matrice, apelați funcția lungime (nume matrice).

De asemenea, puteți utiliza operația de concatenare pentru a crea o matrice bidimensională (matrice). Elementele matricei sunt tastate unul câte unul în funcție de poziția lor în linii, un punct și virgulă este folosit ca separator de linii.

Introduceți de la tastatură:

»A =

Apăsați ENTER, obținem:

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

»A = [;;];

sau prin concatenarea orizontală a vectorilor coloane:

»A = [,];

Structura matricelor create poate fi găsită folosind comanda whos (nume matrice), dimensiunea matricei - folosind funcția ndims și dimensiunea matricei - 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 specificate 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 elementele matricei, veți crea o matrice de dimensiunea necesară folosind funcțiile one (m, n) sau zerouri (m, n), completate cu unu sau zero (m). este numărul de rânduri, n este 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 cerute nu necesită reconstruirea structurii de memorie alocată matricei. Aceste funcții pot fi utilizate și atunci când se specifică matrice de alte dimensiuni.

Dacă după formarea matricei X este necesară modificarea dimensiunilor acesteia 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

Funcționarea acestei funcții poate fi explicată doar pe baza modului în care MATLAB stochează elementele matricei în memoria computerului. Le stochează într-o zonă adiacentă de memorie ordonată pe coloane: elementele primei coloane sunt localizate mai întâi, urmate de elementele celei de-a doua coloane și așa mai departe. Pe lângă datele reale (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 prin funcția de remodelare, este suficient să modificați doar informațiile de serviciu și să nu atingeți propriile date.

Puteți schimba rândurile matricei cu coloanele sale prin operația de transport, care este notă prin semnul "(Perioadă și apostrof). De exemplu,

„A =;

Operația „(apostrof) efectuează transpunerea pentru matrici 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ă MATLAB este o matrice cu un singur 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 notabile și importante avantaje ale sistemului MATLAB față de alte pachete software axate pe calcul și programare. Pe lângă memoria necesară stocării elementelor numerice (8 octeți pentru fiecare în cazul numerelor reale și 16 octeți în cazul numerelor complexe), MATLAB alocă automat memorie pentru informațiile de control la crearea tablourilor.

Calculul cu matrice

În limbajele tradiționale de programare, calculele cu matrice sunt efectuate element cu element în sensul că trebuie să programați fiecare operație separată 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ă definirea expresiilor extrem de compact, în calculul cărora se realizează de fapt o cantitate imensă de muncă.

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

Specificaț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 emis un mesaj de eroare, cu excepția cazului în care unul dintre operanzi este scalar. La efectuarea operației A + un scalar (A este o matrice), sistemul va extinde scalarul la o matrice de dimensiunea A, care este apoi adăugată element cu element cu A.

Pentru înmulțirea în funcție de elemente și împărțirea în funcție de elemente a tablourilor de aceeași dimensiune, precum și pentru exponențiarea în funcție de elemente a tablourilor, sunt utilizate operațiile notate prin combinații a două simboluri:. *, ./ și. ^. Utilizarea combinațiilor de simboluri se explică prin faptul că simbolurile * și / denotă operații speciale ale algebrei liniare pe vectori și matrici.

Pe lângă operația. /, Denumită operațiunea diviziunii elementului din dreapta, există și operația divizării elementului din stânga. \. Diferența dintre aceste operații: expresia A. / B conduce la 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 destul de complexe în algebra liniară - găsirea rădăcinilor unui sistem de ecuații liniare. De exemplu, dacă este necesar să se rezolve sistemul 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 it este suficient pentru a calcula expresia A \ b (aceasta este echivalentă cu operația : A -1 B).

Problemele tipice de geometrie analitică în spațiu, asociate cu găsirea lungimilor vectorilor și a unghiurilor dintre aceștia, cu calculul produselor scalare și vectoriale, sunt ușor de rezolvat prin diverse mijloace ale sistemului MATLAB. De exemplu, pentru a găsi produsul încrucișat al vectorilor, se folosește o încrucișare a funcției speciale, de exemplu:

„U =; v =;

Produsul scalar al vectorilor poate fi calculat folosind funcția de uz general sum, care calculează suma tuturor elementelor vectorilor (pentru matrice, această funcție calculează sumele pentru toate coloanele). Se știe că produsul scalar este egal cu suma produselor coordonatelor (elementelor) corespunzătoare ale vectorilor. Deci expresia: „suma (u. * V)

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

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

»Sqrt (suma (u. * U))

Relațiile și operațiile logice discutate mai devreme pentru scalari sunt efectuate element cu element în cazul tablourilor. Ambii operanzi trebuie să fie de 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 prin exemplul operațiilor aritmetice.

Printre funcțiile care generează matrice cu proprietăți date, funcția ochiul, care produce matrici patrate unitare, precum și funcția larg utilizată rand, care generează 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 distanțate uniform 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. Apelarea rand cu trei sau mai multe argumente scalare produce matrice multidimensionale de numere aleatorii.

Determinantul unei matrice 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 considerată 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, produc un set de elemente extreme calculate pentru fiecare coloană. Funcția de sortare sortează elementele tablourilor unidimensionale în ordine crescătoare, iar pentru matrice, face acest sort pentru fiecare coloană separat.

MATLAB are capacitatea unică de a efectua calcule în lot pe matrice folosind funcții matematice obișnuite, care în limbajele de programare tradiționale funcționează numai cu argumente scalare. Drept urmare, cu ajutorul unor înregistrări extrem de compacte, convenabile pentru introducerea de la tastatură în modul interactiv de lucru cu fereastra de comandă a sistemului MATLAB, este posibil să se efectueze o cantitate mare de calcul. De exemplu, doar două expresii scurte

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

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

Funcții de trasare

Capacitățile grafice ale 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 cu 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, cu comanda cla doar graficul este șters, aducând coordonatele axele la intervalele lor standard de la 0 la 1).

Dacă trebuie să desenați al doilea grafic „peste primul grafic”, atunci înainte de al doilea apel al funcției grafice de trasare, 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 fereastră grafică

Dacă trebuie să redați simultan mai multe grafice, astfel încât acestea să nu interfereze între ele, atunci acest lucru se poate face în două moduri. Prima soluție este să le construiți în diferite ferestre grafice. Pentru a face acest lucru, înainte de al doilea apel al funcției de plot, tastați comanda figure, care creează o nouă fereastră grafică și forțează toate funcțiile de plot ulterioare să le afișeze acolo.

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

De exemplu, pentru calculele efectuate anterior cu funcții sin și cos, reprezentați grafic aceste două funcții în primul subdomeniu și graficul funcției exp (x) în al doilea subdomeniu al aceleiași ferestre grafice (Fig. 3):

„Subplot (1,2,1); grafic (x, y, x, z)

„Subplot (1,2,2); complot (x, w)

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

Domeniile de variație ale variabilelor pe axele de coordonate ale acestor subdomenii sunt independente unele de altele. Funcția subplot acceptă trei argumente numerice, primul dintre care este egal cu numărul de rânduri de subzone, al doilea este egal cu numărul de coloane de subzone, iar al treilea argument este numărul de subzone (numărul este numărat de-a lungul rândurilor cu trecerea la un nou rând atunci când este epuizat). Puteți elimina acțiunea funcției subplot cu comanda:

»Subplot (1,1,1)

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

Puteți reprezenta funcția în coordonate polare (Fig. 4) folosind 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 posibilitățile suplimentare asociate cu gestionarea aspectului diagramelor - setarea culorii și stilului liniilor, precum și plasarea diferitelor etichete în fereastra grafică. De exemplu, comenzile

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

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

vă permit să dați graficii aspectul unei linii roșii continue (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ă trasarea unei linii în roșu (litera r), iar un accident vascular cerebral înseamnă trasarea unei linii continue. Al doilea stil, marcat ca „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, funcția plot (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ându-le 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 definește 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). Nu pot fi specificați toți cei trei markeri. Apoi se folosesc marcatorii impliciti. Ordinea în care sunt îndreptate marcajele nu este esențială, adică „r + -” și „- + r” produc același rezultat.

Tabelul 3. Marcatori care specifică tipul liniei

Tabelul 4 Marcatori care specifică culoarea liniei

Tabelul 5 Marcatori care specifică tipul punctului

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ă.


MATLAB stabilește limitele pe axa orizontală la valorile specificate de utilizator pentru variabila independentă. Pentru variabila dependentă de-a lungul axei verticale, MATLAB calculează independent intervalul de valori ale funcției. Dacă trebuie să abandonați 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 axa ().

Funcțiile xlabel, ylabel, title și text sunt folosite pentru a pune diverse etichete 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 imagine, utilizați funcția de text. Titlul general pentru diagramă 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 ")

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

»Xlabel ("xcoordonate"); ylabel („sin (x)”);

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

Legenda cu funcția text este plasată începând din 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 text 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 anumite linii din spațiu trebuie specificat sub forma a trei vectori, primul dintre care conține primele coordonate ale acestor puncte, al doilea vector conține a doua lor coordonată, iar al treilea vector conține 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 un plan și va construi imaginea rezultată (Fig. 7). Introduceți de la tastatură:

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

»Y = cos (t); plot3 (x, y, t); grilă activată

Orez. 7. Graficul unei helix, reprezentat grafic folosind funcția plot3

Aceeași funcție plot3 poate fi folosită pentru a reprezenta suprafețele în 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 diagramă 3D a funcției (Figura 8).

Funcția plot3 trasează un grafic ca un set de linii în spațiu, fiecare dintre acestea fiind o secțiune a unei suprafețe tridimensionale cu plane paralele cu planul yOz. În plus față de această funcție cea mai simplă, MATLAB are o serie de alte funcții care vă permit să obțineți mai mult realism în imaginea graficelor tridimensionale.

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


Scripturi și fișiere m.

Pentru operațiuni simple, modul interactiv este convenabil, dar dacă calculele trebuie efectuate în mod repetat sau este necesar să se implementeze algoritmi complecși, atunci ar trebui să se utilizeze fișierele MATLAB m (extensia fișierului constă dintr-o literă m). script-m-file (sau script) - un fișier text care conține instrucțiuni în limbajul MATLAB, pentru a fi executat într-un mod automat batch. Este mai convenabil să creați un astfel de fișier folosind editorul MATLAB. Este apelat din fereastra de comandă a sistemului MATLAB folosind 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) pe linia de comandă. Variabilele definite în fereastra de comandă și variabilele definite în scripturi formează 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 lucru fișier script.

După crearea textului scriptului, acesta trebuie salvat pe disc. Calea către directorul cu fișierul trebuie să fie cunoscută de sistemul MATLAB. Comanda Fișier / Setați calea invocă caseta de dialog pentru vizualizarea căii de director. Pentru a adăuga un director nou la lista căilor de acces, urmaț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 jurnal ș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 destinat să lucreze cu fișiere M. Folosind acest editor, vă puteți crea propriile funcții și le puteți apela, inclusiv din linia de comandă.

Extinde meniul Fişier a ferestrei principale MatLab și în paragraful Nou selectați subarticolul Fișier M... Noul fișier se deschide în fereastra editorului de fișiere M.

Introduceți comenzile în editor care duc la construirea a două grafice într-o 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 acum un fișier numit mydemo.m într-un subdirector muncă din directorul principal MatLab selectând elementul Salvează ca meniul Fişier editor. Pentru a rula toate comenzile conținute în fișier pentru execuție, selectați elementul Alergaîn meniu Depanați. Pe ecran va apărea o fereastră grafică. Figura Numarul 1, conţinând grafice ale funcţiilor. Dacă decideți să reprezentați cosinusul î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 convenabilă 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 , primele patru comenzi ale programului și executați-le din punct A evalua Selecţie meniul Text. Vă rugăm să rețineți că în fereastra grafică este afișată o singură diagramă, corespunzătoare comenzilor executate. Amintiți-vă că pentru a executa unele dintre comenzi, selectați-le și apăsați ... Executați celelalte trei comenzi ale programului și monitorizați starea ferestrei grafice. Exersați-l singur, introduceți orice 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 marcajele 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 editorul de fișiere M. De asemenea, puteți deschide fișierul în editor folosind comanda MatLab edit din linia de comandă, specificând numele fișierului ca argument, de exemplu:

Comanda de editare fără argument creează un fișier nou.
Toate exemplele care se găsesc în acest laborator și în următoarele laboratoare sunt cel mai bine tastate și salvate în fișiere M, completate 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

Există două tipuri de fișiere M în MatLab: fișier program(Script M-Files) care conține o secvență de comenzi și funcții-fișier(Funcția M-Files), care descriu funcții definite de utilizator.

Ați creat un fișier de program (fișier de procedură) când ați citit subsecțiunea anterioară. Toate variabilele declarate în fișierul program devin disponibile în mediul de producție după execuția acestuia. Rulați programul de fișiere prezentat în subsecțiunea 2.1 în editorul de fișiere M? și tastați whos în linia de comandă pentru a vizualiza conținutul mediului de lucru. Descrierea variabilelor va apărea în fereastra de comandă:

„Cine
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 programe de fișiere și în comenzile executate din linia de comandă. Executarea comenzilor conținute în programul de fișiere se realizează î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, în timp ce numele fișierului M este folosit 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 generat devine o comandă pe care MatLab o înțelege. Închideți toate ferestrele grafice și tastați mydemo în linia de comandă, apare o fereastră grafică corespunzătoare comenzilor din fișierul program mydemo.m. După introducerea comenzii mydemo MatLab efectuează următoarele acțiuni.

  • Verifică dacă comanda introdusă este numele vreuneia dintre variabilele definite în mediul de producție. Dacă este introdusă o variabilă, atunci valoarea acesteia este afișată.
  • Dacă nu este introdusă o variabilă, atunci MatLab caută comanda introdusă printre funcțiile încorporate. Dacă comanda se dovedește a fi o funcție încorporată, atunci este executată.

Dacă nu este introdusă o variabilă sau 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ă 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 condus la succes, atunci este afișat un mesaj în fereastra de comandă, de exemplu:

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

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

Observația 2

Ar trebui să păstrați propriile fișiere M în afara directorului principal MatLab 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 de lucru. Dacă ați scris fișierul M în acest director, atunci va fi posibil să îl utilizați numai după repornirea MatLab.

3. Stabilirea căilor

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

Directorul curent este determinat într-o casetă 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 necesar. Adăugarea unui director cu toate subdirectoarele se realizează 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, directorul situat în partea de sus a listei căutând primul. Ordinea de căutare poate fi modificată sau calea către un director poate fi ștearsă cu totul, pentru care selectați directorul în câmp MATLAB căutare caleși determinați-i poziția utilizând următoarele butoane:
Mutare la Top - treceți în partea de sus a listei;
Mutare Sus - mutați o poziție în sus;
Elimina - eliminați din listă;
Mutare Jos - deplasați-vă în jos cu o poziție;
Mutare la Partea de jos - puse în partea de jos a listei.

4. Comenzi pentru setarea căilor.

Pași pentru a seta căi în MatLab 6 .X duplicat prin comenzi. Directorul curent este setat cu comanda cd, de exemplu cd c: \ utilizatori \ igor. Comanda cd, invocată fără argument, tipărește calea către directorul curent. Pentru a seta căi, utilizați comanda path, invocată cu două argumente:

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

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

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

Observația 3

Nu ștergeți în mod inutil căile către directoare, în special cele despre care nu sunteți sigur de scopul. Eliminarea poate duce la faptul că unele dintre funcțiile definite în MatLab vor deveni indisponibile.

Exemplu. Creați în directorul rădăcină al discului D(sau orice alt disc 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 către fișier și demonstrați că fișierul este accesibil din linia de comandă. Raportați rezultatele în raportul de laborator.

Opțiune de soluție:

1. În directorul rădăcină al discului D este creat directorul WORK_IVANOV.
2. Fișierul M mydemo.m sub numele mydemo3.m este scris în directorul WORK_IVANOV.
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 se realizează prin apăsarea butonului Adăuga cu Subdosare. Calea către directorul adăugat apare în câmp MATLAB căutare cale.
6. Pentru a memora traseul, apăsați tasta Salvați căsuță de dialog A stabilit Cale.
7. Verificarea corectitudinii tuturor acțiunilor tastând comanda mydemo3 din linia de comandă. Pe ecran va apărea o fereastră grafică.

5. Funcții de fișiere

Programele de fișiere de mai sus sunt o secvență de comenzi MatLab, nu au argumente de intrare și 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. În această subsecțiune, sunt discutate câteva exemple simple pentru a vă ajuta să înțelegeți cum să lucrați cu funcțiile fișierului. Funcțiile fișierelor, cum ar fi procedurile de fișiere, 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 o funcție de fișier o dată și apoi să o 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 = fun (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 prezentat în listă, numele funcției este myfun, un argument de intrare este x și o ieșire este f. Titlul este urmat de corp 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 inclus pentru a preveni afișarea informațiilor inutile pe ecran.

Acum salvați fișierul în directorul de lucru. Vă rugăm să rețineți că selectarea articolului Salvați sau Salvați 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 = distracția mea (1.3)
Y =
0.2600

Funcțiile proprii pot fi apelate dintr-un fișier de program și dintr-o altă funcție de fișier.

Un avertisment

Directorul care conține fișierul-funcție trebuie să fie actual, sau calea către acesta trebuie adăugată la căile de căutare, altfel MatLab pur și simplu nu va găsi funcția, sau va apela în schimb altul cu același nume (dacă se află în directoare). disponibil pentru căutare).

Funcția de fișier afișată în listă are un dezavantaj semnificativ. Încercarea de a calcula 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 = distracția mea (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 studiat lucrul cu matrice, atunci eliminarea acestui neajuns nu va cauza dificultăți. Trebuie doar să utilizați operații în funcție de elemente atunci când calculați valoarea unei funcții.
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 = fun (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 = distracția mea (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 un program de fișiere:

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

MatLab oferă încă o oportunitate de a lucra cu funcții de fișier - folosindu-le ca argumente pentru unele comenzi. De exemplu, o funcție specială fplot este utilizată pentru trasarea unui grafic, care înlocuiește secvența de comenzi prezentată mai sus. Când apelați fplot, numele funcției al cărei grafic doriți să îl reprezentați este inclus în apostrofe, limitele de reprezentare sunt specificate într-un vector rând cu două elemente

fplot ("my fun",)

Plot myfun plots cu plot și fplot pe aceleași axe cu hold on. Vă rugăm să rețineți că graficul reprezentat cu fplot reflectă mai precis comportamentul funcției, deoarece fplot însuși selectează pasul argumentului, scăzându-l în zonele de schimbare rapidă a funcției afișate. Raportați rezultatele în raportul de laborator.

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

Scrierea funcțiilor de fișier cu mai multe argumente de intrare este practic aceeași ca și în cazul unui singur argument. Toate argumentele de intrare sunt plasate într-o listă separată prin virgulă. De exemplu, următoarea listă conține o funcție de fișier care calculează lungimea vectorului rază a unui punct din spațiul tridimensional
Listarea unei funcții de fișier 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 atunci când se evaluează funcții care returnează mai multe valori (în matematică, acestea sunt numite funcții vectoriale). Argumentele de ieșire sunt adăugate la lista de argumente de ieșire, separate prin virgule, iar lista în sine este cuprinsă între paranteze drepte. Un bun exemplu este o funcție care convertește un timp în secunde în ore, minute și secunde. Această funcție de fișier este afișată în lista următoare.

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

funcția = hms (sec)
ora = etaj (sec / 3600);
minut = etaj ((sec-oră * 3600) / 60);
secundă = 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. Fundamentele programării în MatLab

Funcțiile fișierului și fișierul program utilizat î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, este necesar să scrieți programe în care acțiunile sunt efectuate ciclic sau, în funcție de anumite condiții, sunt executate diverse părți ale programelor. Să luăm în considerare principalii operatori care stabilesc secvența 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ă ramificată complexă.

6.1. Operator de 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 variabila buclă, start este valoarea sa inițială, final este valoarea finală și pasul este pasul prin care numărul este incrementat de fiecare dată când este introdusă bucla. Bucla se termină imediat ce numărul devine mai mare decât finalul. Variabila buclă poate lua nu numai valori întregi, ci și valori reale ale oricărui semn. Să analizăm utilizarea operatorului de buclă for folosind 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 procedurii fișierului în editorul de fișiere M și salvați-l în fișierul FORdem1.m și rulați-l (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 asa
grafic (x, y)
Sfârșit

Observația 4

Editorul de fișiere M oferă automat să plaseze instrucțiuni în interiorul buclei, indentate din marginea din stânga. Folosiți această oportunitate pentru confortul de a lucra cu textul programului.

Ca urmare a execuției 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ă. la început, suma este egală cu zero ( S= 0), apoi într-o variabilă k Se introduce 1, se calculează 1 / k! se adaugă la S iar rezultatul este introdus din nou S... Mai departe k crește cu unu, iar procesul continuă până când ultimul termen devine 1/10 !. Programul de fișiere Fordem2, prezentat în lista următoare, calculează suma necesară.

Listarea programului de fișiere Fordem2 pentru calcularea sumei

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

% Reducerea la zero a 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
% scoate 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 fișierului program S conținut fără punct și virgulă pentru a scoate valoarea variabilei S

Rețineți că restul liniilor din fișierul program, care ar fi putut cauza 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. Sunt cele care sunt afișate atunci când utilizatorul, folosind comanda help din linia de comandă, primește informații despre ceea ce face Fordem2.

>> ajuta Fordem2
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 fișierul program devin disponibile în mediul de producție. Sunt așa-numitele variabile globale. Pe de altă parte, toate variabilele introduse în mediul de lucru pot fi utilizate într-un fișier program.

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 începe programul, trebuie să definiți variabila X la 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 operațiile element cu element au fost folosite pentru a acumula suma în programul-fișier Fordem2.

Înainte de a porni Fordem2, asigurați-vă că alocați variabilei X o anumită valoare și pentru a calcula suma, de exemplu, a cincisprezece termeni, va trebui să faceți modificări textului fișierului program. Este mult mai bine să scrieți o funcție de fișier generică care are o valoare ca argumente de intrare Xși limita superioară a sumei, iar weekendul este valoarea sumei S(X). Funcția fișierului sumN este afișată în lista următoare.

Listarea funcției fișier pentru calcularea sumei

funcția S = sumăN (x, N)
% fișier-funcție pentru calcularea sumei
% x / 1! + x ^ 2/2! +… + x ^ N / N!
% utilizare: S = sumN (x, N)

% zero 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ă. Fereastra de comandă va afișa primele trei rânduri cu comentarii, separate de textul funcției fișier printr-o linie goală.

Rețineți că variabilele funcției fișier nu sunt globale (m în suma funcției fișiere). Încercarea de a vizualiza valoarea lui m din linia de comandă are ca rezultat un mesaj care spune că m este nedefinit. Dacă în mediul de lucru există o variabilă globală cu același nume, definită din linia de comandă sau în programul fișier, atunci aceasta nu este conectată în niciun fel cu variabila locală din funcția fișier. De regulă, este mai bine să vă proiectați proprii algoritmi sub formă de funcții de fișier, astfel încât variabilele utilizate în algoritm să nu modifice valorile acelorași variabile globale ale mediului de lucru.

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

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

6.2. Instrucțiunea while loop

Să luăm î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 serie):
.

Suma poate fi acumulată atâta timp cât termenii nu sunt prea mici, să spunem mai mult în modul.Bucla for este indispensabilă aici, deoarece numărul de termeni nu este cunoscut dinainte. Calea de ieșire este să folosiți o buclă while, care rulează atâta timp cât condiția buclei este îndeplinită:

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

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

Listarea funcției fișierului mysin care calculează sinus prin extindere în serie

funcția S = mysin (x)
% Calculați sinus 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

Rețineți că bucla while, spre deosebire de for, nu are o variabilă de buclă, așa că a trebuit să atribuim zero înainte de a începe bucla, iar în interiorul buclei am mărit k cu unu.
Condiția de buclă while poate conține mai mult decât semnul>. Pentru stabilirea condițiilor de execuție a ciclului sunt permise și alte operații ale relației, date în tabel. 1.

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ă

„ȘI” logic

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

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

„SAU” logic

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

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

Respingerea „NU”

Când se calculează suma unei serii infinite, este logic să se limiteze numărul de termeni. Dacă seria diverge din cauza faptului că membrii săi nu tind spre zero, atunci condiția pentru o valoare mică a termenului curent s-ar putea să nu fie îndeplinită niciodată și programul se va bucla. Efectuați sumarea adăugând o limită a numărului de termeni la condiția buclei while a funcției fișierului 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 bucle face ca programul să fie simplu și ușor de înțeles; totuși, este adesea necesară executarea unuia sau altul bloc de comenzi în funcție de anumite condiții, de ex. utilizați ramificarea algoritmului.

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, atunci când sunt îndeplinite anumite condiții, funcționează blocul corespunzător de operatori sau comenzi MatLab.

Instrucțiunea if poate fi folosită în forma sa simplă pentru a executa un bloc de comenzi atunci când o anumită condiție este îndeplinită, sau într-o construcție if-elseif-else pentru a scrie algoritmi de ramificare.
Să fie evaluată expresia. Să presupunem că efectuați calcule în zona tărâmului și doriți să afișați un avertisment că rezultatul este un număr complex. Înainte de a evalua funcția, ar trebui să verificați valoarea argumentului x și să imprimați un avertisment în fereastra de comandă dacă modulul x nu depășește unul. Aici este necesar să folosiți operatorul condiționat dacă, a cărui 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 tabel. 1.

Funcția fișier care verifică valoarea argumentului este afișată în lista următoare. Comanda de avertizare este utilizată pentru a afișa un avertisment în fereastra de comandă.

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

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

% verifica argument
dacă abs (x)<1
avertisment ("rezultatul este complex")
Sfârșit
% evaluarea funcției
f = sqrt (x ^ 2-1);

Acum apelarea Rfun pe un argument mai mic de unu va afișa un avertisment în fereastra de comandă:

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

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

6.4. Operator de ramificare if-elseif-else

În general, aplicarea operatorului de sucursală if-elseif-else este următoarea:

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 altuia dintre N condiții, ramura corespunzătoare a programului rulează dacă niciuna dintre N condițiile, apoi comenzile MatLab plasate după else sunt implementate. După executarea oricăreia dintre ramuri, operatorul iese. Pot exista oricâte ramuri doriți, sau doar două. În cazul a două ramuri, se folosește trailing else și se omite elseif. Declarația trebuie întotdeauna să se încheie cu sfârșit.
Un exemplu de utilizare a operatorului if-elseif-else este prezentat în lista următoare.

funcția ifdem (a)
% exemplu de utilizare a operatorului if-elseif-else

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

6.5. Operator de sucursală intrerupator

Instrucțiunea switch poate fi folosită pentru a efectua selecții multiple sau ramificare. . Este o alternativă la declarația if-elseif-else. În general, aplicarea comutatorului de ramificare a operatorului 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 acest operator, valoarea switch_expression este mai întâi evaluată (poate fi o valoare numerică scalară sau un șir de caractere). Această valoare este apoi comparată cu următoarele valori: valoarea 1, valoarea 2,..., valoarea N, valoarea N + 1, valoarea N + 2,..., valoarea NM + 1, valoarea NM + 2,... (care poate fi și numerică sau sfoară)... Dacă se găsește o potrivire, atunci sunt executate comenzile MatLab după cuvântul cheie caz corespunzător. În caz contrar, sunt executate comenzile MatLab situate între cuvintele cheie otherwise și end.

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

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

Următorul exemplu ilustrează utilizarea comutatorului:

funcția demswitch (x)
a = 10/5 + x
comutator a
cazul 1
avertisment ("a = -1")
cazul 0
avertisment ("a = 0")
cazul 1
avertisment ("a = 1")
caz (2, 3, 4)
avertisment ("a este 2 sau 3 sau 4")
in caz contrar
avertisment ("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 în buclă pauză

Atunci când se organizează calcule ciclice, trebuie avut grijă pentru a evita erorile în interiorul buclei. De exemplu, să presupunem că vi se oferă o matrice x constând din numere întregi și trebuie să formați o nouă matrice y conform regulii y (i) = x (i + 1) / x (i). Evident, sarcina poate fi realizată folosind o buclă for. Dar dacă unul dintre elementele matricei originale este egal cu zero, atunci diviziunea 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 egală cu zero. Următorul fragment de cod 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 z devine 0, bucla este întreruptă.

Declarația break vă permite să întrerupeț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ă.

1. Lecția 23. Prezentarea pachetelor de extensii MATLAB

Lecția numărul 23.

Cunoașterea pachetelor de expansiune MATLAV

    Listați pachetele de extindere

    Simulinc pentru Windows

    Pachet de matematică simbolică

    Pachete de matematică

    Pachete de analiză și sinteză pentru sisteme de control

    Pachete de identificare a sistemului

    Instrumente Simulinc suplimentare

    Pachete de procesare a semnalului și a imaginilor

    Alte pachete de aplicații

În această lecție, ne vom familiariza pe scurt cu mijloacele de bază de extindere profesională a sistemului și adaptarea acestuia pentru rezolvarea anumitor clase de probleme matematice și științifice și tehnice - cu pachete de extensie pentru sistemul MATLAB. Nu există nicio îndoială că cel puțin o parte din aceste pachete ar trebui să fie dedicată unui curs de formare separat sau unei cărți de referință, poate mai mult de unul. Cărți separate au fost publicate în străinătate pentru majoritatea acestor extensii, iar volumul de documentație pentru acestea se ridică la sute de megaocteți. Din păcate, lungimea acestei cărți vă permite doar să vă plimbați puțin prin pachetele de expansiune pentru a oferi cititorului o idee despre unde se îndreaptă sistemul.

2. Listarea pachetelor de expansiune

Listați pachetele de extindere

Sistemul complet MATLAB 6.0 conține o serie de componente, al căror nume, numărul versiunii și data creării pot fi afișate cu comanda ver:

MATLAB Versiunea 6.0.0.88 (R12) pe PCWIN Număr licență MATLAB: 0

Caseta de instrumente MATLAB

Versiunea 6.0

06-0ct-2000

Versiunea 4.0

Versiunea 4.0

04-0ct-2000

codificator Stateflow

Versiunea 4.0

04-0ct-2000

Atelier în timp real

Versiunea 4.0

Bloc de referință COMA

Versiunea 1.0.2

Bloc de comunicații

Versiunea 2.0

Cutie de instrumente de comunicații

Versiunea 2.0

Caseta de instrumente a sistemului de control

Versiunea 5.0

DSP Blockset

Versiunea 4.0

Caseta de instrumente pentru achiziția datelor

Versiunea 2.0

05-0ct-2000

Caseta de instrumente a bazei de date

Versiunea 2.1

Caseta de instrumente Datafeed

Versiunea 1.2

Set de blocuri cadrane și indicatori

Versiunea 1.1

Filter Design Toolbox

Versiunea 2.0

Caseta de instrumente pentru instrumente financiare derivate

Versiunea 1.0

Seria de instrumente pentru seria temporală financiară

Versiunea 1.0

Cutie de instrumente financiare

Versiunea 2.1.2

Set de blocuri cu punct fix

Versiunea 3.0

Cutie de instrumente pentru logica fuzzy

Versiunea 2.1

Cutia de scule GARCH

Versiunea 1.0

Caseta de instrumente pentru procesarea imaginilor

Versiunea 2.2.2

Caseta de instrumente pentru controlul instrumentelor

Versiunea 1.0

Caseta de instrumente de control LMI

Versiunea 1.0.6

Compilatorul MATLAB

Versiunea 2.1

Generator de rapoarte MATLAB

Versiunea 1.1

Caseta de instrumente de cartografiere

Versiunea 1.2


Versiunea 1.0.5

Kitul pentru dezvoltatori Motorola DSP

Versiunea 1.1

Ol-Sep-2000

Caseta de instrumente Mi-Analiză și Sinteză

Versiunea 3.0.5

Caseta de instrumente pentru rețeaua neuronală

Versiunea 4.0

Bloc de design de control neliniar

Versiunea 1.1.4

Caseta de instrumente de optimizare

Versiunea 2.1

Caseta de instrumente pentru ecuația diferențială parțială

Versiunea 1.0.3

Bloc de sistem de alimentare

Versiunea 2.1

Atelier în timp real Ada Coder

Versiunea 4.0

Atelier de codare încorporat în timp real

Versiunea 1.0

Interfață de gestionare a cerințelor

Versiunea 1.0.1

Cutie de instrumente robustă de control

Versiunea 2.0.7

SB2SL (conversează SystemBuild în Simu

Versiunea 2.1

Caseta de instrumente pentru procesarea semnalului

Versiunea 5.0

Accelerator Simulink

Versiunea 1.0

Diferențierea modelelor pentru Simulink și...

Versiunea 1.0

Instrumentul de acoperire a modelului Simulink

Versiunea 1.0

Generator de rapoarte Simulink

Versiunea 1.1

Caseta de instrumente Spline

Versiunea 3.0

Caseta de instrumente pentru statistici

Versiunea 3.0

Cutie de instrumente pentru matematică simbolică

Versiunea 2.1.2


Versiunea 5.0

Cutia de instrumente Wavelet

Versiunea 2.0

Versiunea 1.1

Opțiunea încorporată țintă xPC

Versiunea 1.1

Vă rugăm să rețineți că aproape toate pachetele de expansiune din MATLAB 6.0 au fost actualizate și datează din 2000. Descrierea lor a fost extinsă semnificativ, care în format PDF ocupă deja mult mai mult de zece mii de pagini. Mai jos este o scurtă descriere a pachetelor de expansiune principale

3. Simulink pentru Windows

Simulink pentru Windows

Pachetul de extensie Simulink este folosit pentru a simula modele formate din blocuri grafice cu proprietăți (parametri) specificate. Componentele modelului, la rândul lor, sunt blocuri grafice și modele care sunt conținute într-un număr de biblioteci și pot fi trase în fereastra principală cu ajutorul mouse-ului și conectate între ele prin legăturile necesare. Modelele pot include diverse tipuri de surse de semnal, dispozitive virtuale de înregistrare, instrumente de animație grafică. Făcând dublu clic pe blocul model, se afișează o fereastră cu o listă a parametrilor acestuia, pe care utilizatorul o poate modifica. Lansarea simulării oferă o modelare matematică a modelului construit cu o prezentare vizuală clară a rezultatelor. Pachetul se bazează pe construcția de diagrame bloc prin transferul de blocuri din biblioteca de componente în fereastra de editare a unui model creat de utilizator. Apoi modelul este rulat. În fig. 23.1 prezintă procesul de modelare a unui sistem simplu - un cilindru hidraulic. Controlul se realizează folosind osciloscoape virtuale - în Fig. Figura 23.1 prezintă ecranele a două astfel de osciloscoape și fereastra unui subsistem simplu al modelului. Este posibil să se simuleze sisteme complexe constând din mai multe subsisteme.

Simulink creează și rezolvă ecuațiile de stare ale modelului și vă permite să conectați o varietate de instrumente de măsurare virtuale la punctele dorite. Claritatea prezentării rezultatelor simulării este izbitoare. Un număr de exemple de utilizare a pachetului Simulink au fost deja date în Lecția 4. Versiunea anterioară a pachetului este descrisă suficient de detaliat în cărți. Principala inovație este procesarea semnalului matriceal. S-au adăugat pachete separate de performanță Simulink, cum ar fi Simulink Accelerator pentru compilarea codului modelului, Simulink profiler pentru analiza codului etc.

Orez. 23.1. Exemplu de simulare a unui sistem de cilindru hidraulic utilizând extensia Simulink

1.gif

Imagine:

1b.gif

Imagine:

4. În timp real Windows țintă și atelier

Windows în timp real țintă și atelier

Un subsistem puternic de simulare în timp real care se conectează la Simulink (cu hardware suplimentar sub formă de plăci de extensie pentru computer), reprezentat de pachetele de expansiune Real Time Windows Target și Workshop, este un instrument puternic pentru gestionarea obiectelor și sistemelor reale. În plus, aceste extensii vă permit să creați coduri de model executabile. Orez. 4.21 din lecția 4 arată un exemplu de astfel de modelare pentru un sistem descris prin ecuații diferențiale neliniare ale lui van der Pol. Avantajul acestei simulări este claritatea sa matematică și fizică. În componentele modelelor Simulink, puteți specifica nu numai parametrii fixați, ci și relațiile matematice care descriu comportamentul modelelor.

5. Generator de rapoarte pentru MATLAB și Simulink

Generator de rapoarte pentru MATLAB și Simulink

Generatoarele de rapoarte, un instrument introdus din nou în MATLAB 5.3.1, oferă informații despre funcționarea sistemului MATLAB și a pachetului suplimentar Simulink. Acest instrument este foarte util atunci când se depanează algoritmi de calcul complecși sau când se simulează sisteme complexe. Generatoarele de rapoarte sunt lansate prin comanda Raport. Rapoartele pot fi prezentate sub formă de programe și editate.

Generatorii de rapoarte pot rula comenzi și fragmente de program incluse în rapoarte și vă permit să monitorizați comportamentul calculelor complexe.

6. Caseta de instrumente pentru rețele neuronale

Caseta de instrumente pentru rețele neuronale

Un pachet de programe aplicate care conțin instrumente pentru construirea rețelelor neuronale bazate pe comportamentul unui analog matematic al unui neuron. Pachetul oferă suport eficient pentru proiectarea, instruirea și modelarea multor paradigme de rețea cunoscute, de la modele de bază perceptron până la cele mai avansate rețele asociative și auto-organizate. Pachetul poate fi utilizat pentru cercetarea și aplicarea rețelelor neuronale la sarcini precum procesarea semnalului, controlul neliniar și modelarea financiară. Oferă posibilitatea de a genera cod C portabil folosind Real Time Workshop.

Pachetul include mai mult de 15 tipuri cunoscute de rețele și reguli de învățare care permit utilizatorului să aleagă cea mai potrivită paradigmă pentru o anumită aplicație sau problemă de cercetare. Pentru fiecare tip de arhitectură și reguli de antrenament, există funcții pentru inițializare, antrenament, adaptare, creare și modelare, demonstrare și un exemplu de aplicație de rețea.

Pentru rețelele controlate, puteți alege o arhitectură directă sau recurentă folosind o varietate de reguli de predare și tehnici de proiectare, cum ar fi perceptron, backpropagation, backpropagation Levenberg, rețele radiale și rețele recurente. Puteți schimba cu ușurință orice arhitectură, reguli de predare sau funcții de tranziție, puteți adăuga altele noi - și toate acestea fără a scrie o singură linie în C sau Fortran. Un exemplu de utilizare a pachetului pentru recunoașterea modelului unei scrisori a fost dat în lecția 4. O descriere detaliată a versiunii anterioare a pachetului poate fi găsită în carte.

7. Cutie de instrumente Fuzzy Logic

Cutie de instrumente pentru logica fuzzy

Pachetul software Fuzzy Logic aparține teoriei mulțimilor fuzzy (fuzzy). Se oferă suport pentru metodele moderne de clustering fuzzy și rețelele neuronale fuzzy adaptive. Instrumentele grafice ale pachetului vă permit să monitorizați în mod interactiv particularitățile comportamentului sistemului.

Caracteristicile cheie ale pachetului:

  • definirea variabilelor, regulilor fuzzy și funcțiilor de membru;
  • vizualizarea interactivă a inferenței neclare;
  • metode moderne: inferență fuzzy adaptivă folosind rețele neuronale, clustering fuzzy;
  • simulare dinamică interactivă în Simulink;
  • generarea de cod C portabil folosind Real-Time Workshop.

Acest exemplu arată clar diferențele în comportamentul modelului cu și fără logica fuzzy.

8. Cutie de instrumente pentru matematică simbolică

Cutie de instrumente pentru matematică simbolică

Un pachet de programe aplicate care oferă sistemului MATLAB capacități fundamental noi - capacitatea de a rezolva probleme într-o formă simbolică (analitică), inclusiv implementarea aritmeticii exacte a lățimii de biți arbitrare. Pachetul se bazează pe utilizarea nucleului de matematică simbolică a unuia dintre cele mai puternice sisteme de algebră computerizată - Maple V R4. Oferă diferențierea și integrarea simbolică, calculul sumelor și produselor, extinderea în serii Taylor și Maclaurin, operații cu polinoame de putere (polinoame), calculul rădăcinilor polinoamelor, rezolvarea analitică a ecuațiilor neliniare, tot felul de transformări simbolice, substituții și multe altele. Are comenzi pentru acces direct la miezul sistemului Maple V.

Pachetul vă permite să pregătiți proceduri cu sintaxa limbajului de programare Maple V R4 și să le instalați în sistemul MATLAB. Din păcate, în ceea ce privește capacitățile matematicii simbolice, pachetul este mult inferior sistemelor specializate de algebră computerizată, cum ar fi cele mai recente versiuni ale Maple și Mathematica.

9. Pachete de calcule matematice

Pachete de matematică

MATLAB include multe pachete suplimentare care îmbunătățesc capacitățile matematice ale sistemului pentru a crește viteza, eficiența și acuratețea calculelor.

10. NAG Foundation Toolbox

Caseta de instrumente a fundației NAG

Una dintre cele mai puternice biblioteci de funcții matematice create de The Numerical Algorithms Group, Ltd. Pachetul conține sute de funcții noi. Numele funcțiilor și sintaxa pentru apelarea acestora sunt împrumutate de la binecunoscuta bibliotecă a Fundației NAG. Ca rezultat, utilizatorii experimentați NAG FORTRAN pot lucra cu ușurință cu pachetul NAG din MATLAB. Biblioteca Fundației NAG oferă funcțiile sale sub formă de coduri obiect și fișiere m corespunzătoare pentru a le apela. Utilizatorul poate modifica cu ușurință aceste fișiere MEX la nivel de sursă.

Pachetul oferă următoarele caracteristici:

    rădăcinile polinoamelor și metoda Laguerre modificată;

    calculul sumei unei serii: transformată Fourier discretă și hermitian-discretă;

    ecuații diferențiale obișnuite: metodele Adams și Runge-Kutta;

    ecuații cu diferențe parțiale;

    interpolare;

    calcul de valori proprii și vectori, numere singulare, suport pentru matrici complexe și reale;

    aproximarea curbelor și suprafețelor: polinoame, spline cubice, polinoame Chebyshev;

    minimizarea și maximizarea funcțiilor: programare liniară și pătratică, extreme ale funcțiilor mai multor variabile;

    descompunerea matricelor;

    rezolvarea sistemelor de ecuații liniare;

    ecuații liniare (LAPACK);

    calcule statistice, inclusiv statistici descriptive și distribuții de probabilitate;

    analiza de corelație și regresie: modele liniare, multivariate și generalizate;

    metode multidimensionale: componente principale, rotație ortogonală;

    generarea numerelor aleatoare: distribuție normală, distribuții Poisson, Weibull și Koschi;

    statistici neparametrice: Friedman, Kruskal-Wallis, Mann-Whitney; Serii temporale: unidimensionale și multidimensionale;

    aproximarea funcțiilor speciale: exponent integral, funcție gamma, funcții Bessel și Hankel.

În cele din urmă, acest pachet permite utilizatorului să creeze programe FORTRAN care se conectează dinamic cu MATLAB.

11. Caseta de instrumente Spline

Pachet de aplicații pentru lucrul cu spline. Acceptă interpolarea și aproximarea spline unidimensionale, bidimensionale și multidimensionale. Oferă prezentarea și afișarea datelor complexe și suport grafic.

Pachetul vă permite să efectuați interpolarea, aproximarea și transformarea spline-urilor din forma B în polinom pe bucăți, interpolarea cu spline cubice și netezire, efectuarea de operații pe spline: calculul derivatei, integrale și afișare.

Spline este echipat cu programe B-spline descrise în A Practical Guide to Splines de Carl Debour, creatorul spline și autorul cărții Spline. Funcțiile pachetului, în combinație cu limbajul MATLAB și un ghid detaliat al utilizatorului, facilitează înțelegerea splinelor și le aplică în mod eficient la rezolvarea unei varietăți de probleme.

Pachetul include programe pentru lucrul cu cele mai răspândite două forme de reprezentare spline: forma B și forma polinom pe bucăți. Forma B este utilă în etapa de construire a spline-ului, în timp ce forma polinom pe bucăți este mai eficientă în timpul lucrului continuu cu spline. Pachetul include funcții pentru crearea, afișarea, interpolarea, aproximarea și procesarea spline-urilor în formă B și sub formă de segmente polinomiale.

12. Caseta de instrumente pentru statistici

Caseta de instrumente pentru statistici

Un pachet de programe aplicate pentru statistică, extinzând dramatic capacitățile sistemului MATLAB în implementarea calculelor statistice și procesării datelor statistice. Conține un set foarte reprezentativ de instrumente pentru generarea de numere aleatoare, vectori, matrici și tablouri cu legi de distribuție diferite, precum și multe funcții statistice. Trebuie remarcat faptul că cele mai comune funcții statistice sunt incluse în nucleul sistemului MATLAB (inclusiv funcții pentru generarea de date aleatorii cu distribuție uniformă și normală). Caracteristicile cheie ale pachetului:

    Statisticile descriptive;

    distribuții de probabilitate;

    estimarea și aproximarea parametrilor;

    testarea ipotezelor;

    regresie multiplă;

    regresie interactivă în trepte;

    simulare Monte Carlo;

    aproximarea intervalului;

    controlul statistic al procesului;

    planificarea unui experiment;

    modelarea suprafeței de răspuns;

    aproximarea unui model neliniar;

    Analiza componentelor principale;

    grafice statistice;

    interfata grafica cu utilizatorul.

Pachetul include 20 de distribuții de probabilitate diferite, inclusiv t (Student), F și Chi-pătrat. Pentru toate tipurile de distribuții sunt furnizate selecția parametrilor, afișarea grafică a distribuțiilor și o metodă de calcul a celor mai bune aproximări. Există multe instrumente interactive pentru vizualizarea și analiza dinamică a datelor. Există interfețe specializate pentru modelarea suprafețelor de răspuns, vizualizarea distribuțiilor, generarea de numere aleatoare și linii de nivel.

13. Caseta de instrumente de optimizare

Caseta de instrumente de optimizare

Pachet de aplicații - pentru rezolvarea problemelor de optimizare și a sistemelor de ecuații neliniare. Acceptă metode de optimizare de bază pentru funcțiile unui număr de variabile:

    optimizarea necondiționată a funcțiilor neliniare;

    cele mai mici pătrate și interpolare neliniară;

    rezolvarea ecuațiilor neliniare;

    programare liniară;

    programare pătratică;

    minimizarea condiționată a funcțiilor neliniare;

    metoda minimax;

    optimizare multiobiectivă.

O varietate de exemple demonstrează utilizarea eficientă a funcțiilor pachetului. Ele pot fi, de asemenea, folosite pentru a compara modul în care aceeași problemă este rezolvată prin metode diferite.

14. Caseta de instrumente pentru ecuații diferențiale parțiale

Caseta de instrumente pentru ecuații diferențiale parțiale

Un pachet de aplicații foarte important care conține multe funcții pentru rezolvarea sistemelor de ecuații cu diferențe parțiale. Oferă instrumente eficiente pentru rezolvarea unor astfel de sisteme de ecuații, inclusiv a celor rigide. Pachetul folosește o metodă cu elemente finite. Comenzile și interfața grafică a pachetului pot fi utilizate pentru modelarea matematică a ecuațiilor diferențiale parțiale aplicate la o clasă largă de aplicații științifice și de inginerie, inclusiv probleme de rezistență a materialelor, calcule ale dispozitivelor electromagnetice, probleme de transfer de căldură și masă și difuziune. Caracteristicile cheie ale pachetului:

    interfață grafică completă pentru procesarea ecuațiilor diferențiale parțiale de ordinul doi;

    selectarea automată și adaptivă a rețelei;

    stabilirea condițiilor la limită: Dirichlet, Neumann și mixte;

    setare flexibilă a problemelor folosind sintaxa MATLAB;

    partiționarea complet automată a plaselor și selectarea dimensiunii elementelor finite;

    scheme de proiectare neliniare și adaptive;

    capacitatea de a vizualiza câmpurile diferiților parametri și funcții ale soluției, o demonstrație a efectelor de partiționare și animație adoptate.

Pachetul urmează în mod intuitiv cei șase pași de rezolvare a unui PDE folosind metoda elementelor finite. Acești pași și modurile corespunzătoare ale pachetului sunt următoarele: definirea geometriei (modul de desen), stabilirea condițiilor la limită (modul condițiilor la limită), alegerea coeficienților care definesc problema (modul PDE), discretizarea elementelor finite (modul plasă) , stabilirea condițiilor inițiale și rezolvarea ecuațiilor (mod soluție), post-procesarea soluției (modul grafic).

15. Pachete de analiză și sinteză a sistemelor de control

Pachete de analiză și sinteză pentru sisteme de control

Caseta de instrumente a sistemului de control

Pachetul Control System este destinat modelării, analizei și proiectării sistemelor automate de control – atât continue, cât și discrete. Funcțiile pachetului implementează metode tradiționale ale funcției de transfer și metode moderne ale spațiului de stat. Răspunsurile în frecvență și timp, diagramele de locație cu zerouri și poli pot fi calculate rapid și afișate pe ecran. Pachetul contine:

    un set complet de instrumente pentru analiza sistemelor MIMO (multe intrări - multe ieșiri);

    caracteristici de timp: funcții de transfer și tranzitorii, răspuns la un impact arbitrar;

    caracteristici de frecvență: diagrame Bode, Nichols, Nyquist etc.;

    dezvoltarea feedback-urilor;

    proiectarea regulatoarelor LQR / LQE;

    caracteristicile modelelor: controlabilitate, observabilitate, scăderea ordinii modelelor;

    suport pentru sisteme întârziate.

Funcțiile suplimentare de construire a modelelor vă permit să construiți modele mai complexe. Răspunsul în timp poate fi calculat pentru o intrare de impuls, un singur salt sau o intrare arbitrară. Există și funcții pentru analiza numerelor singulare.

Un mediu interactiv pentru compararea răspunsurilor în timp și frecvență ale sistemelor oferă utilizatorului controale grafice pentru afișarea și comutarea simultană între răspunsuri. Pot fi calculate diferite caracteristici de răspuns, cum ar fi timpii de accelerare și control.

Pachetul Sistem de control conține instrumente pentru selectarea parametrilor de feedback. Metodele tradiționale includ analiza punctelor caracteristice, determinarea câștigului și a atenuării. Printre metodele moderne: reglarea liniar-quadratică etc. Pachetul Sistem de control include un număr mare de algoritmi pentru proiectarea și analiza sistemelor de control. În plus, are un mediu personalizabil și vă permite să vă creați propriile fișiere m.

16. Neliniar Control Design Toolbox

Caseta de instrumente de proiectare a controlului neliniar

Nonlinear Control Design (NCD) Blockset implementează o metodă de optimizare dinamică pentru proiectarea sistemelor de control. Conceput pentru a fi utilizat cu Simulink, acest instrument ajustează automat parametrii sistemului pe baza constrângerilor de sincronizare definite de utilizator.

Pachetul folosește obiecte în mișcare cu mouse-ul pentru a modifica constrângerile de timp direct pe grafice, ceea ce vă permite să configurați cu ușurință variabile și să specificați parametrii nedefiniți, oferă optimizare interactivă, implementează simulări Monte Carlo, susține proiectarea SISO (o intrare - o ieșire) și sistemele de control MIMO, vă permite să simulați suprimarea interferențelor, urmărirea și alte tipuri de răspunsuri, acceptă probleme repetitive ale parametrilor și sarcini de control cu ​​sisteme de întârziere, vă permite să alegeți între constrângeri satisfăcute și de neatins.

17. Cutie de instrumente de control robust

Cutie de instrumente robustă de control

Pachetul Robust Control include instrumente pentru proiectarea și analiza sistemelor de control robuste multi-parametri. Acestea sunt sisteme cu erori de simulare, a căror dinamică nu este pe deplin cunoscută sau ai căror parametri se pot modifica în timpul simulării. Algoritmii puternici ai pachetului vă permit să efectuați calcule complexe ținând cont de modificările multor parametri. Caracteristicile pachetului:

    sinteza de controlere LQG pe baza minimizării normelor uniforme și integrale;

    răspuns în frecvență cu mai mulți parametri;

    construirea unui model spațial de stat;

    transformarea modelelor pe baza numerelor singulare;

    scăderea ordinii modelului;

    factorizarea spectrală.

Pachetul Robust Control se bazează pe funcțiile pachetului Control System, oferind în același timp un set avansat de algoritmi pentru proiectarea sistemelor de control. Pachetul oferă o tranziție între teoria modernă a controlului și aplicațiile practice. Are multe funcții care implementează metode moderne de proiectare și analiză pentru controlere robuste cu mai mulți parametri.

Manifestările incertitudinilor care încalcă stabilitatea sistemelor sunt diverse - zgomot și perturbări ale semnalelor, inexactitatea modelului funcției de transfer, dinamică neliniară nesimulată. Pachetul Robust Control vă permite să estimați limita de stabilitate multi-parametrică sub diferite incertitudini. Printre metodele utilizate: algoritmul lui Perron, analiza caracteristicilor funcţiilor de transfer etc.

Pachetul Robust Control oferă diverse metode de proiectare a feedback-urilor, printre care: LQR, LQG, LQG / LTR etc. Necesitatea de a scădea ordinea unui model apare în mai multe cazuri: scăderea ordinii unui obiect, scăderea ordinii unui regulator , modelarea sistemelor mari. O procedură calitativă de scădere a ordinii unui model trebuie să fie stabilă numeric. Procedurile incluse în pachetul Robust Control fac față cu succes acestei sarcini.

18. Model Predictive Control Toolbox

Model Predictive Control Toolbox

Pachetul Model Predictive Control conține un set complet de instrumente pentru implementarea strategiilor de control predictiv (proactiv). Această strategie a fost dezvoltată pentru a rezolva probleme practice de gestionare a proceselor complexe multicanal cu constrângeri asupra variabilelor de stare și control. Metodele de control predictiv sunt utilizate în industria chimică și pentru a controla alte procese continue. Pachetul prevede:

    modelarea, identificarea și diagnosticarea sistemelor;

    suport pentru MISO (multe intrări - o ieșire), MIMO, răspuns tranzitoriu, modele de spațiu de stare;

    analiza de sistem;

    conversia modelelor în diverse forme de reprezentare (spațiu de stare, funcții de transfer);

    oferind tutoriale și demonstrații.

O abordare predictivă a problemelor de control utilizează un model dinamic liniar explicit al unui obiect pentru a prezice impactul schimbărilor viitoare ale variabilelor de control asupra comportamentului unui obiect. Problema de optimizare este formulată sub forma unei probleme de programare pătratică constrânsă, care este rezolvată din nou la fiecare ciclu de simulare. Pachetul vă permite să creați și să testați regulatoare atât pentru obiecte simple, cât și pentru cele complexe.

Pachetul conține peste cincizeci de funcții specializate pentru proiectarea, analiza și modelarea sistemelor dinamice folosind control predictiv. Suporta urmatoarele tipuri de sisteme: impuls, continuu si discret in timp, spatiu de stari. Sunt procesate diferite tipuri de perturbări. În plus, constrângerile asupra variabilelor de intrare și de ieșire pot fi incluse în mod explicit în model.

Instrumentele de simulare permit urmărirea și stabilizarea. Instrumentele de analiză includ calculul polilor în buclă închisă, răspunsul în frecvență și alte caracteristici ale sistemului de control. Pentru a identifica modelul din pachet, există funcții de interacțiune cu pachetul System Identification. Pachetul include și două funcții Simulink care vă permit să testați modele neliniare.

19.mu - Analiză și Sinteză

(Mu) -Analiză și Sinteză

Pachetul p-Analiză și Sinteză conține funcții pentru proiectarea sistemelor de control robuste. Pachetul folosește optimizarea uniform-rate și parametrul singular și. Acest pachet include o interfață grafică pentru a simplifica operațiunile bloc atunci când proiectați controlere optime. Proprietăți pachet:

  • proiectarea controlerelor optime în norme uniforme și integrale;
  • estimarea parametrului singular real și complex mu;
  • Iterații D-K pentru o valoare aproximativă mu-sinteză;

    o interfață grafică pentru analiza răspunsului în buclă închisă;

    mijloace de scădere a ordinii modelului;

    conectarea directă a blocurilor individuale ale sistemelor mari.

Un model de spațiu de stare poate fi creat și analizat pe baza matricelor de sistem. Pachetul acceptă modele continue și discrete. Pachetul are o interfață grafică completă, care include: capacitatea de a seta intervalul de date de intrare, o fereastră specială pentru editarea proprietăților iterațiilor D-K și o reprezentare grafică a caracteristicilor frecvenței. Are funcții pentru adunarea matricelor, înmulțirea, diverse transformări și alte operații pe matrice. Oferă posibilitatea de a reduce ordinea modelelor.

20. Fluxul de stat

Stateflow este un pachet de modelare a sistemului bazat pe teoria mașinilor cu stări finite. Acest pachet este destinat să fie utilizat împreună cu pachetul de simulare a sistemelor dinamice Simulink. În orice model Simulink, puteți insera o diagramă Stateflow (sau diagramă SF) care va reflecta comportamentul componentelor obiectului (sau sistemului) de simulare. Diagrama SF este animată. Prin blocurile și conexiunile evidențiate, puteți urmări toate etapele sistemului sau dispozitivului modelat și puteți face ca funcționarea acestuia să depindă de anumite evenimente. Orez. 23.6 ilustrează simularea comportamentului unui autoturism în cazul unei urgențe pe drum. O diagramă SF (mai precis, un cadru al lucrării sale) este vizibilă sub modelul mașinii.

Pentru crearea diagramelor SF, pachetul are un editor convenabil și simplu, precum și instrumente de interfață cu utilizatorul.

21. Caseta de instrumente pentru teoria feedback-ului cantitativ

Caseta de instrumente pentru teoria feedback-ului cantitativ

Pachetul conține funcții pentru crearea unor sisteme de feedback robuste (stabile). QFT (Teoria Feedback Cantitativ) este o tehnică de inginerie care utilizează reprezentarea în frecvență a modelelor pentru a satisface diverse cerințe de calitate în prezența unor caracteristici incerte ale obiectului. Metoda se bazează pe observația că feedback-ul este necesar în cazurile în care unele caracteristici ale unui obiect sunt incerte și/sau se aplică perturbări necunoscute la intrarea acestuia. Caracteristicile pachetului:

    estimarea limitelor de frecvență ale incertitudinii inerente feedback-ului;

    o interfață grafică cu utilizatorul care vă permite să optimizați procesul de găsire a parametrilor de feedback necesari;

    funcții de determinare a influenței diferitelor blocuri introduse în model (multiplexoare, sumatori, bucle de feedback) în prezența incertitudinilor;

    suport pentru simularea buclelor de feedback analogice și digitale, cascadelor și circuitelor cu mai multe bucle;

    rezoluția incertitudinii în parametrii obiectului folosind modele parametrice și neparametrice sau o combinație a acestor tipuri de modele.

Teoria feedback-ului este o extensie naturală a abordării clasice de proiectare bazată pe frecvență. Scopul său principal este proiectarea de controlere simple, de comandă mică, cu lățime de bandă minimă, care să satisfacă performanța în prezența incertitudinilor.

Pachetul permite calcularea diverșilor parametri de feedback-uri, filtre, testarea controlerelor atât în ​​spațiu continuu, cât și discret. Are o interfață grafică ușor de utilizat, care vă permite să creați controale simple care îndeplinesc cerințele utilizatorului.

QFT permite ca controlerele să fie proiectate pentru a îndeplini cerințe diferite, în ciuda modificărilor în parametrii modelului. Datele măsurate pot fi utilizate direct pentru proiectarea regulatorului, fără a fi nevoie de a identifica răspunsuri complexe ale sistemului.

22. LMI Control Toolbox

Caseta de instrumente de control LMI

Pachetul de control LMI (Linear Matrix Inequality) oferă un mediu integrat pentru stabilirea și rezolvarea problemelor de programare liniară. Destinat inițial pentru proiectarea sistemelor de control, pachetul vă permite să rezolvați orice probleme de programare liniară în aproape orice domeniu de activitate în care apar astfel de probleme. Caracteristicile cheie ale pachetului:

    rezolvarea problemelor de programare liniară: probleme de compatibilitate a constrângerilor, minimizarea obiectivelor liniare în prezența constrângerilor liniare, minimizarea valorilor proprii;

    cercetarea problemelor de programare liniară;

    editor grafic pentru sarcini de programare liniară;

    stabilirea de constrângeri în formă simbolică;

    proiectarea cu mai multe criterii a reglementatorilor;

    testarea stabilității: stabilitatea pătratică a sistemelor liniare, stabilitatea Lyapunov, verificarea criteriului lui Popov pentru sistemele neliniare.

Pachetul LMI Control conține algoritmi simplex moderni pentru rezolvarea problemelor de programare liniară. Utilizează o reprezentare structurală a constrângerilor liniare, care îmbunătățește eficiența și minimizează cerințele de memorie. Pachetul are instrumente specializate pentru analiza și proiectarea sistemelor de control bazate pe programare liniară.

Cu soluții de rezolvare a problemelor de programare liniară, puteți efectua cu ușurință verificări de stabilitate pe sisteme dinamice și sisteme cu componente neliniare. Anterior, acest tip de analiză era considerat prea complex pentru a fi implementat. Pachetul permite chiar și o astfel de combinație de criterii, care anterior era considerată prea complexă și rezolvabilă doar cu ajutorul abordărilor euristice.

Pachetul este un instrument puternic pentru rezolvarea problemelor de optimizare convexe apărute în domenii precum controlul, identificarea, filtrarea, „designul structural, teoria grafurilor, interpolarea și algebra liniară. Pachetul LMI Control include două tipuri de interfață grafică cu utilizatorul: problema de programare liniară. editor (Editor LMI) și interfața Magshape, Editorul LMI permite setarea constrângerilor de caractere, iar Magshape oferă un mijloc ușor de utilizat pentru a lucra cu pachetul.

23. Pachete de identificare a sistemului

Pachete de identificare a sistemului

Caseta de instrumente de identificare a sistemului

Pachetul de identificare a sistemului conține instrumente pentru crearea modelelor matematice ale sistemelor dinamice bazate pe datele de intrare și de ieșire observate. Are o interfață grafică flexibilă pentru a ajuta la organizarea datelor și la crearea modelelor. Metodele de identificare incluse în pachet sunt aplicabile pentru rezolvarea unei clase largi de probleme, de la proiectarea sistemelor de control și procesarea semnalului până la analiza seriilor temporale și a vibrațiilor. Principalele proprietăți ale pachetului:

    interfață simplă și flexibilă;

    preprocesarea datelor, inclusiv prefiltrarea, eliminarea tendințelor și a compensațiilor; O selectarea unei game de date pentru analiză;

    analiza răspunsului în domeniul timp și frecvență;

    afișarea zerourilor și polilor funcției de transfer al sistemului;

    analiza reziduurilor la testarea modelului;

    construirea de diagrame complexe, cum ar fi diagrama Nyquist etc.

Interfața grafică simplifică preprocesarea datelor, precum și procesul interactiv de identificare a modelului. De asemenea, este posibil să lucrați cu pachetul în modul de comandă și folosind extensia Simulink. Operațiunile de încărcare și salvare a datelor, selectarea unui interval, ștergerea decalajelor și tendințelor sunt efectuate cu efort minim și sunt localizate în meniul principal.

Prezentarea datelor și modelelor identificate este organizată grafic în așa fel încât în ​​procesul de identificare interactivă utilizatorul să poată reveni cu ușurință la pasul anterior al lucrării. Pentru începători, este posibil să vizualizați următorii pași posibili. Instrumentele grafice permit specialistului să găsească oricare dintre modelele obținute anterior și să evalueze calitatea acestuia în comparație cu alte modele.

Începând cu măsurarea ieșirii și a intrării, puteți crea un model parametric al unui sistem care descrie comportamentul său dinamic. Pachetul acceptă toate structurile de model tradiționale, inclusiv autoregresiv, structura Box-Jenkins și altele.Acceptă modele liniare de spațiu de stare care pot fi definite atât în ​​spațiu discret, cât și în spațiu continuu. Aceste modele pot include un număr arbitrar de intrări și ieșiri. Pachetul include funcții care pot fi folosite ca date de testare pentru modelele identificate. Identificarea modelului liniar este utilizată pe scară largă în proiectarea sistemelor de control atunci când este necesară crearea unui model al unui obiect. În sarcinile de procesare a semnalului, modelele pot fi utilizate pentru procesarea adaptivă a semnalului. Metodele de identificare sunt aplicate cu succes și aplicațiilor financiare.

24. Caseta de instrumente de identificare a sistemului de domeniu de frecvență

Caseta de instrumente de identificare a sistemului de domeniu de frecvență

Pachetul Frequency Domain System Identification oferă instrumente specializate pentru identificarea sistemelor dinamice liniare după răspunsul lor în timp sau în frecvență. Metodele din domeniul frecvenței au ca scop identificarea sistemelor continue, ceea ce este un plus puternic la metoda discretă mai tradițională. Metodele pachetului pot fi aplicate la probleme precum modelarea sistemelor electrice, mecanice și acustice. Proprietăți pachet:

    perturbații periodice, factor de vârf, spectru optim, secvențe binare pseudoaleatoare și discrete;

    calcularea intervalelor de încredere de amplitudine și fază, zerouri și poli;

    identificarea sistemelor continue și discrete cu întârziere necunoscută;

    diagnosticarea modelului, inclusiv modelarea și calcularea reziduurilor;

    conversia modelelor în format System Identification Toolbox și invers.

Folosind abordarea în domeniul frecvenței, se poate obține cel mai bun model posibil în domeniul frecvenței; evitarea erorilor de eșantionare; ușor de separat componenta constantă a semnalului; îmbunătăți semnificativ raportul semnal-zgomot. Pentru a obține semnale perturbatoare, pachetul oferă funcții pentru generarea de secvențe binare, minimizarea dimensiunii vârfului și îmbunătățirea caracteristicilor spectrale. Pachetul oferă identificarea sistemelor statice liniare continue și discrete, generarea automată a semnalelor de intrare, precum și o reprezentare grafică a zerourilor și polilor funcției de transfer a sistemului rezultat. Funcțiile pentru testarea modelului includ calcularea reziduurilor, funcțiile de transfer, zerourile și polii și rularea modelului folosind datele de testare.

25. Pachete suplimentare de extensii MATLAB

Pachete suplimentare de extensii MATLAB

Cutie de instrumente de comunicații

Un pachet de programe aplicate pentru construcția și modelarea diverselor dispozitive de telecomunicații: linii de comunicații digitale, modemuri, convertoare de semnal etc. Are un set bogat de modele de o mare varietate de dispozitive de comunicații și telecomunicații. Conține câteva exemple interesante de instrumente de comunicare de modelare, cum ar fi un modem v34, un modulator pentru SSB și multe altele.

26. Procesare digitală a semnalului (DSP) Blockset

Procesare digitală a semnalului (DSP) Blockset

Pachet de aplicații pentru proiectarea dispozitivelor care utilizează procesoare de semnal digital. Acestea sunt, în primul rând, filtre digitale de înaltă performanță, cu un răspuns în frecvență dat (AFC) sau adaptabile la parametrii semnalului. Rezultatele modelării și proiectării dispozitivelor digitale folosind acest pachet pot fi folosite pentru a construi filtre digitale extrem de eficiente pe microprocesoare moderne pentru procesarea semnalului digital.

27. Fixed-Point Blockset

Set de blocuri cu punct fix

Acest pachet special este axat pe simularea sistemelor de control digital și a filtrelor digitale ca parte a pachetului Simulink. Un set special de componente vă permite să comutați rapid între calculele în virgulă fixă ​​și în virgulă mobilă. Puteți specifica lungimi de cuvinte de 8, 16 sau 32 de biți. Pachetul are o serie de proprietăți utile:

    folosind aritmetică nesemnată sau binară;

    poziția punctului binar selectabilă de utilizator;

    setarea automată a poziției punctului binar;

    vizualizarea intervalelor de semnal maxime și minime ale modelului;

    comutarea între calcule în virgulă fixă ​​și în virgulă mobilă;

    corectarea depășirii și disponibilitatea componentelor cheie pentru operațiuni în punct fix; operatori logici, tabele de căutare uni și bidimensionale.

28. Pachete pentru procesarea semnalului și a imaginii

Pachete de procesare a semnalului și a imaginilor

Caseta de instrumente pentru procesarea semnalului

Un pachet puternic pentru analiza, modelarea și proiectarea dispozitivelor pentru procesarea tuturor tipurilor de semnale, asigurând filtrarea acestora și multe transformări.

Pachetul de procesare a semnalului oferă un software de procesare a semnalului extrem de cuprinzător pentru aplicațiile științifice și tehnice actuale. Pachetul folosește o varietate de tehnici de filtrare și cei mai recenti algoritmi de analiză spectrală. Pachetul conține module pentru dezvoltarea sistemelor liniare și a analizei serii de timp. Pachetul va fi util, în special, în domenii precum procesarea informațiilor audio și video, telecomunicații, geofizică, sarcini de control în timp real, economie, finanțe și medicină. Principalele proprietăți ale pachetului:

    simularea semnalelor și a sistemelor liniare;

    proiectare, analiză și implementare de filtre digitale și analogice;

    transformată Fourier rapidă, cosinus discret și alte transformări;

    evaluarea spectrelor și procesarea statistică a semnalului;

    prelucrarea parametrică a seriilor de timp;

    generarea de semnale de diferite forme.

Pachetul de procesare a semnalului este cadrul ideal pentru analiza și procesarea semnalului. Utilizează algoritmi dovediți pe teren selectați pentru eficiență și fiabilitate maximă. Pachetul conține o gamă largă de algoritmi pentru reprezentarea semnalelor și a modelelor liniare. Acest set permite utilizatorului să fie suficient de flexibil pentru a crea un script de procesare a semnalului. Pachetul include algoritmi pentru transformarea unui model de la o vedere la alta.

Pachetul de procesare a semnalului include un set complet de metode pentru crearea de filtre digitale cu o varietate de caracteristici. Vă permite să proiectați rapid filtre trece-înaltă și trece-jos, filtre trece-bandă și trece-oprire, filtre cu mai multe benzi, inclusiv Chebyshev, Yula-Walker, eliptice etc.

Interfața grafică vă permite să proiectați filtre prin specificarea cerințelor pentru acestea în modul de mutare a obiectelor cu mouse-ul. Pachetul include următoarele tehnici noi de proiectare a filtrului:

    metoda Chebyshev generalizată pentru crearea de filtre cu răspuns de fază neliniar, coeficienți complexi sau răspuns arbitrar. Algoritmul a fost dezvoltat de McLenan și Karam în 1995;

    metoda celor mai mici pătrate constrânse permite utilizatorului să controleze în mod explicit eroarea maximă (anti-aliasing);

    metoda de calculare a comenzii minime a unui filtru cu o fereastră Kaiser;

    metoda Butterworth generalizată pentru proiectarea filtrelor low-pass cu lățime de bandă și atenuare maxim uniforme.

Bazat pe un algoritm FFT optim, Procesarea semnalului oferă performanțe de neegalat pentru analiza frecvenței și estimarea spectrală. Pachetul include funcții pentru calcularea transformatei Fourier discrete, a transformatei cosinus discrete, a transformării Hilbert și a altor transformări adesea utilizate pentru analiză, codificare și filtrare. Pachetul implementează metode de analiză spectrală precum metoda Welch, metoda entropiei maxime etc.

Noua interfață grafică vă permite să vizualizați și să evaluați vizual caracteristicile semnalelor, să proiectați și să aplicați filtre, să efectuați analize spectrale, investigarea influenței diferitelor metode și a parametrilor acestora asupra rezultatului obținut. Interfața grafică este utilă în special pentru vizualizarea seriilor de timp, a spectrelor, a răspunsurilor în timp și în frecvență, precum și pentru locația zerourilor și a polilor funcțiilor de transfer ale sistemului.

Pachetul de procesare a semnalului este baza pentru multe alte sarcini. De exemplu, combinându-l cu pachetul de procesare a imaginii, puteți procesa și analiza semnale și imagini bidimensionale. Împreună cu pachetul System Identification, pachetul Signal Processing permite modelarea parametrică a sistemelor în domeniul temporal. În combinație cu pachetele Neural Network și Fuzzy Logic, pot fi create multe instrumente pentru procesarea datelor sau extragerea caracteristicilor de clasificare. Generatorul de semnal vă permite să creați semnale de puls de diferite forme.

29. Instrumente de analiză spectrală de ordin superior

Instrumente de analiză spectrală de ordin superior

Pachetul de analiză spectrală de ordin superior conține algoritmi speciali pentru analiza semnalului folosind momente de ordin superior. Pachetul oferă oportunități ample pentru analiza semnalelor non-Gauss, deoarece conține algoritmi, poate cele mai avansate metode de analiză și procesare a semnalelor. Caracteristicile cheie ale pachetului:

    evaluarea spectrelor de ordin înalt;

    abordare tradițională sau parametrică;

    restabilirea amplitudinii și fazei;

    prognoză liniară adaptivă;

    restabilirea armonicilor;

    estimarea decalajului;

    blocarea procesării semnalului.

Pachetul de analiză spectrală de ordin superior vă permite să analizați semnalele deteriorate de zgomotul non-Gauss și procesele care apar în sistemele neliniare. Spectrele de ordin înalt, definite în termenii momentelor de ordin înalt ale semnalului, conțin informații suplimentare care nu pot fi obținute folosind doar autocorelarea sau analiza spectrului de putere a semnalului. Spectrele de ordin înalt permit:

    suprimați zgomotul gaussian de culoare aditivă;

    identificarea semnalelor de fază non-minimă;

    evidențiați informațiile datorită naturii non-Gauss a zgomotului;

    detectează și analizează proprietățile neliniare ale semnalelor.

Aplicațiile potențiale ale analizei spectrale de ordin înalt includ acustică, biomedicină, econometrie, seismologie, oceanografie, fizica plasmei, radare și localizatori. Principalele funcții ale pachetului acceptă spectre de ordin înalt, estimare spectrală reciprocă, modele de predicție liniară și estimare de întârziere.

30. Cutie de instrumente pentru procesarea imaginilor

Caseta de instrumente pentru procesarea imaginilor

Procesarea imaginilor oferă oamenilor de știință, inginerilor și chiar artiștilor o gamă largă de instrumente de procesare și analiză a imaginilor digitale. Strâns conectat la mediul de dezvoltare a aplicațiilor MATLAB, Image Processing Toolbox vă eliberează de codarea și depanarea algoritmului, care necesită timp, permițându-vă să vă concentrați pe rezolvarea problemei principale științifice sau practice. Principalele proprietăți ale pachetului:

    restaurarea și selectarea detaliilor imaginii;

    lucrați cu zona selectată a imaginii;

    analiza imaginii;

    filtrare liniară;

    conversia imaginilor;

    transformări geometrice;

    creșterea contrastului detaliilor importante;

    transformări binare;

    procesare de imagini și statistici;

    conversii de culoare;

    schimbarea paletei;

    conversia tipurilor de imagini.

Pachetul de procesare a imaginii oferă oportunități ample pentru crearea și analizarea imaginilor grafice în mediul MATLAB. Acest pachet oferă o interfață extrem de flexibilă pentru manipularea imaginilor, proiectarea interactivă a graficelor, vizualizarea seturilor de date și adnotarea rezultatelor pentru documente albe, rapoarte și publicații. Flexibilitatea, combinația de algoritmi ai pachetului cu o astfel de caracteristică a MATLAB precum descrierea matrice-vector, fac ca pachetul să fie foarte potrivit pentru rezolvarea aproape oricăror probleme în dezvoltarea și prezentarea graficelor. Exemple de utilizare a acestui pachet în mediul sistemului MATLAB au fost date în lecția 7. MATLAB include proceduri special concepute pentru a îmbunătăți eficiența shell-ului grafic. Se pot remarca, în special, următoarele caracteristici:

    depanare interactivă la dezvoltarea graficelor;

    profiler pentru a optimiza timpul de execuție a algoritmului;

    instrumente pentru construirea unei interfețe grafice interactive de utilizator (GUI Builder) pentru a accelera dezvoltarea șabloanelor GUI, permițându-vă să o personalizați pentru sarcinile utilizatorului.

Acest pachet permite utilizatorului să aloce mult mai puțin timp și efort pentru crearea de imagini grafice standard și, astfel, să concentreze eforturile asupra detaliilor și caracteristicilor importante ale imaginilor.

MATLAB și pachetul de procesare a imaginilor sunt adaptate maxim pentru dezvoltare, implementare de idei noi și metode de utilizare. Pentru aceasta, există un set de pachete interfațate menite să rezolve tot felul de sarcini și sarcini specifice într-un cadru neconvențional.

Procesarea imaginilor este în prezent utilizată intens în peste 4.000 de companii și universități din întreaga lume. În același timp, există o gamă foarte largă de sarcini pe care utilizatorii le rezolvă cu acest pachet, de exemplu, cercetare spațială, dezvoltare militară, astronomie, medicină, biologie, robotică, știința materialelor, genetică etc.

31. Cutia de instrumente Wavelet

Pachetul Wavelet oferă utilizatorului un set complet de programe pentru studierea fenomenelor nestaționare multidimensionale folosind wavelets (pachete cu unde scurte). Metodele create relativ recent ale pachetului Wavelet extind capacitățile utilizatorului în acele zone în care se aplică de obicei tehnica de descompunere Fourier. Pachetul poate fi util pentru aplicații precum procesarea semnalului vocal și audio, telecomunicații, geofizică, finanțe și medicină. Principalele proprietăți ale pachetului:

    interfață grafică de utilizator îmbunătățită și set de comenzi pentru analiza, sintetizarea, filtrarea semnalelor și imaginilor;

    transformarea semnalelor continue multidimensionale;

    conversie de semnal discret;

    descompunerea și analiza semnalelor și imaginilor;

    o gamă largă de funcții de bază, inclusiv corectarea efectelor de limită;

    procesare lot de semnale și imagini;

    analiza pachetelor de semnal bazată pe entropie;

    filtrare cu capacitatea de a seta praguri dure și nedure;

    compresie optimă a semnalului.

Folosind pachetul, puteți analiza caracteristici care sunt trecute cu vederea de alte metode de analiză a semnalului, adică tendințe, valori aberante, discontinuități în derivate de ordin ridicat. Pachetul vă permite să comprimați și să filtrați semnalele fără pierderi evidente, chiar și în cazurile în care este necesar să păstrați atât componentele de înaltă cât și joasă frecvență ale semnalului. Sunt disponibili algoritmi pentru compresie și filtrare și pentru procesarea semnalului de pachete. Programele de compresie extrag numărul minim de coeficienți care reprezintă cel mai bine informația originală, ceea ce este foarte important pentru etapele ulterioare ale sistemului de compresie. Pachetul include următoarele seturi de wavelet de bază: biorthogonal, Haar, „pălărie mexicană”, Mayer, etc. De asemenea, puteți adăuga propriile baze la pachet.

Un ghid extins al utilizatorului explică modul de lucru cu metodele pachetului, însoțit de numeroase exemple și o secțiune completă de link-uri.

32. Alte pachete de programe aplicative

Alte pachete de aplicații

Cutie de instrumente financiare

Un pachet de programe aplicate pentru calcule financiare și economice, care este destul de relevant pentru perioada noastră de reforme de piață. Conține multe funcții pentru calcularea dobânzii compuse, operațiuni asupra depozitelor bancare, calcularea profiturilor și multe altele. Din păcate, din cauza numeroaselor (deși, în general, nu prea fundamentale) diferențe între formulele financiare și economice, utilizarea sa în condițiile noastre nu este întotdeauna rezonabilă - există multe programe interne pentru astfel de calcule, de exemplu, „Contabilitatea 1C”. Dar dacă doriți să vă conectați la bazele de date ale agențiilor de știri financiare - Bloom-berg, IDC prin MATLAB Datafeed Toolbox, atunci, bineînțeles, asigurați-vă că utilizați pachetele de extensie financiară MATLAB.

Financiar este fundamentul pentru rezolvarea unei varietăți de probleme financiare în MATLAB, de la calcule simple până la aplicații distribuite complet. Pachetul financiar poate fi folosit pentru a calcula ratele dobânzilor și profiturile, analiza veniturile derivate și depozitele și optimizarea unui portofoliu de investiții. Caracteristicile cheie ale pachetului:

    procesarea datelor;

    analiza varianței eficienței portofoliului de investiții;

    analiza serii temporale;

    calculul randamentului titlurilor de valoare și evaluarea ratelor;

    analiza statistica si analiza sensibilitatii pietei;

    calculul venitului anual și calculul fluxurilor de numerar;

    metode de amortizare.

Având în vedere importanța datei unei anumite tranzacții financiare, pachetul financiar include mai multe funcții pentru manipularea datelor și orelor în diferite formate. Pachetul financiar vă permite să calculați prețurile și randamentele atunci când investiți în obligațiuni. Utilizatorul are capacitatea de a seta non-standard, inclusiv neregulate și inconsecvente între ele, grafice ale tranzacțiilor de debit și credit și decontarea finală la plata facturilor. Funcțiile economice de sensibilitate pot fi calculate luând în considerare datele de scadență la momente diferite.

Algoritmii pachetului financiar pentru calcularea indicatorilor fluxului de numerar și a altor date reflectate în conturile financiare, vă permit să calculați, în special, ratele dobânzilor la împrumuturi și credite, ratele de rentabilitate, încasările de credit și angajamentele totale, estimați și preziceți valoarea unui portofoliul de investiții, calcularea indicatorilor de amortizare etc. Funcțiile pachetului pot fi utilizate ținând cont de fluxurile de numerar pozitive și negative (cash-flow) (excesul de încasări de numerar asupra plăților sau, respectiv, de plăți de numerar peste încasări).

Pachetul financiar conține algoritmi care vă permit să analizați portofoliul de investiții, dinamica și coeficienții de sensibilitate economică. În special, la determinarea eficienței investițiilor, funcțiile pachetului vă permit să formați un portofoliu care să satisfacă problema clasică a lui G. Markowitz. Utilizatorul poate combina algoritmii pachetului pentru a calcula rapoartele Sharpe și ratele de rentabilitate. Analiza dinamicii și a coeficienților de sensibilitate economică permite utilizatorului să definească poziții pentru tranzacții straddle, hedging și tranzacții cu rată fixă. Suita financiară oferă, de asemenea, opțiuni extinse pentru prezentarea și prezentarea datelor și rezultatelor sub formă de grafice și diagrame tradiționale pentru industriile economice și financiare. Fondurile pot fi afișate la cererea utilizatorului în formate zecimal, bancar și procentual.

33. Mapping Toolbox

Pachetul de cartografiere oferă o interfață grafică și de comandă pentru analiza datelor geografice, afișarea hărților și accesarea surselor de date geografice externe. În plus, pachetul este potrivit pentru lucrul cu multe atlase cunoscute. Toate aceste instrumente, în combinație cu MATLAB, oferă utilizatorilor toate condițiile pentru o muncă productivă cu date geografice științifice. Caracteristicile cheie ale pachetului:

    vizualizarea, prelucrarea și analiza datelor grafice și științifice;

    peste 60 de proiecții hărți (directe și inverse);

    proiectarea și afișarea hărților vectoriale, matriceale și compozite;

    interfata grafica pentru construirea si procesarea hartilor si datelor;

    Atlasuri de date globale și regionale și interfață cu date guvernamentale de înaltă rezoluție;

    statistici geografice și funcții de navigație;

    Prezentarea 3D a hărților cu iluminare și umbrire încorporate;

    convertoare pentru formate de date geografice populare: DCW, TIGER, ETOPO5.

Suita de cartografiere include peste 60 dintre cele mai cunoscute proiecții, inclusiv cilindrice, pseudocilindrice, conice, policonice și pseudo-conice, azimut și pseudoazimut. Sunt posibile proiecții directe și inverse, precum și vizualizări de proiecție non-standard specificate de utilizator.

În pachetul Mapping prin card se numește orice variabilă sau set de variabile care reflectă sau atribuie o valoare numerică unui punct geografic sau unei regiuni. Pachetul vă permite să lucrați cu hărți de date vectoriale, matrice și mixte. O interfață grafică puternică oferă hărți interactive, cum ar fi capacitatea de a muta indicatorul peste un articol și de a face clic pe el pentru a obține informații. Interfața grafică MAPTOOL este un mediu complet de dezvoltare pentru aplicații pentru lucrul cu hărți.

Cele mai cunoscute atlasuri ale lumii, Statele Unite ale Americii, sunt incluse în pachet atlasele astronomice. Structura datelor geografice simplifică extragerea și prelucrarea datelor din atlase și hărți. Structura datelor geografice și funcțiile pentru interacțiunea cu formatele de date geografice externe Digital Chart of the World (DCW), TIGER, TBASE și ETOPO5 sunt reunite pentru a oferi un instrument puternic și flexibil pentru accesarea bazelor de date geografice existente și viitoare. Analiza amănunțită a datelor geografice necesită adesea metode matematice care funcționează într-un sistem de coordonate sferice. Pachetul de cartografiere oferă un subset de funcții geografice, statistice și de navigare pentru analiza datelor geografice. Funcțiile de navigare oferă o gamă largă de opțiuni pentru îndeplinirea sarcinilor de călătorie, cum ar fi poziționarea și planificarea rutei.

34. Power System Blockset

Caseta de instrumente pentru achiziția datelor și Caseta de instrumente pentru controlul instrumentelor

Data Acquisition Toolbox este un pachet de extensie legat de domeniul colectării datelor prin blocuri conectate la magistrala internă a unui calculator, generatoare de funcții, analizoare de spectru – pe scurt, instrumente utilizate pe scară largă în scopuri de cercetare pentru obținerea datelor. Acestea sunt susținute de o bază de calcul adecvată. Noul Instrument Control Toolbox vă permite să conectați instrumente și dispozitive seriale, Public Channel și VXI.

36. Caseta de instrumente pentru baze de date și Caseta de instrumente pentru realitate virtuală

Caseta de instrumente pentru baze de date și Caseta de instrumente pentru realitate virtuală

Viteza casetei de instrumente a bazei de date a fost mărită de peste 100 de ori, cu ajutorul căreia informațiile sunt schimbate cu o serie de sisteme de gestionare a bazelor de date prin drivere ODBC sau JDBC:

  • Acces 95 sau 97 Microsoft;

    Microsoft SQL Server 6.5 sau 7.0;

    Sybase Adaptive Server 11;

    Sybase (fostă Watcom) SQL Server Anywhere 5.0;

    IBM DB2 Universal 5.0

  • Computer Associates Ingres (toate versiunile).

Toate datele sunt pre-convertite într-o matrice de celule în MATLAB 6.0. În MATLAB 6.1, puteți utiliza și o serie de structuri. Visual Query Builder vă permite să compuneți interogări arbitrar complexe în dialectele SQL ale acestor baze de date, chiar și fără cunoștințe de SQL. Multe baze de date eterogene pot fi deschise într-o singură sesiune.

Virtual Reality Toolbox este disponibilă începând cu MATLAB 6.1. Permite animație și animație 3D, inclusiv modele Simulink. Limbajul de programare - VRML - Virtual Reality Modeling Language. Animația poate fi vizualizată de pe orice computer echipat cu un browser VRML activat. Confirmă că matematica este știința relațiilor cantitative și a formelor spațiale ale oricăror lumi reale sau virtuale.

37. Link Excel

Vă permite să utilizați Microsoft Excel 97 ca procesor MATLAB I/O. Pentru a face acest lucru, trebuie doar să instalați fișierul excllinkxla furnizat de Math Works ca funcție suplimentară în Excel. În Excel, trebuie să tastați Service > Suplimente> Răsfoiți, selectați fișierul din directorul \ matlabrl2 \ toolbox \ exlink și instalați-l. Acum, de fiecare dată când porniți Excel, va apărea fereastra de comandă MATLAB, iar panoul de control Excel va fi completat cu butoanele getmatrix, putmatrix, evalstring. Pentru a închide MATLAB din Excel, trebuie doar să tastați = MLC1ose () în orice celulă Excel. Pentru a o deschide după executarea acestei comenzi, trebuie fie să faceți clic pe unul dintre butoanele getmatrix, putmatrix, evalstring, fie să tastați Excel Tools> Macro> Run mat! abi ni t. Cu mouse-ul peste o serie de celule Excel, puteți să faceți clic pe getmatrix și să tastați numele variabilei MATLAB. Matricea apare în Excel. După ce ați completat un interval de celule Excel cu numere, puteți selecta intervalul respectiv, faceți clic pe putmatrix și introduceți numele variabilei MATLAB. Operația este astfel intuitivă. Spre deosebire de MATLAB, Excel Link nu face distincție între majuscule și minuscule: I și i, J și j sunt egale.

Apelați demonstrații ale pachetelor de extensii.

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 problemei
  • 2.3 Formule folosite
  • 2.4 Codul de program al 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 de automatizare a 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. Într-un cadru universitar, a fost un instrument standard pentru lucrul în diferite domenii ale matematicii, ingineriei și științei.
  • Limbajul de programare al sistemului MATLAB este foarte simplu, conține doar câteva zeci de operatori; numărul mic de operatori de aici este compensat de un număr mare de proceduri și funcții, al căror conținut este de înțeles utilizatorului care are cunoștințele de matematică și inginerie adecvate.
  • MATLAB include calcularea, vizualizarea și programarea într-un mediu ușor de utilizat în care problemele și soluțiile sunt exprimate într-o formă care este aproape de matematică. Utilizările tipice pentru MATLAB sunt: ​​calculul matematic, crearea de algoritmi, modelarea, analiza datelor, explorarea și vizualizarea, grafica științifică și de inginerie, dezvoltarea de aplicații, inclusiv crearea GUI.
  • Există două tipuri de programe scrise în MATLAB - funcții și scripturi. Funcțiile au argumente de intrare și de ieșire, precum și propriul spațiu de lucru pentru stocarea rezultatelor și variabilelor intermediare de calcul. Scripturile au un spațiu de lucru comun. Atât scripturile, cât și funcțiile nu sunt compilate în codul mașinii și sunt salvate ca fișiere text.
  • În această lucrare, scopul este de a lua în considerare modul în care un corp (sau un punct material) se mișcă, aruncat într-un unghi față de orizont. Și, de asemenea, pe baza datelor luate în considerare de la mecanică, scrierea unui program care să simuleze 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. (Natick, 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 1980, mai ales după lansarea pe piață a versiunii 4.0. 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ă documenteze rezultatele acestor calcule. MATLAB (prescurtare de la MATrix LABoratory) este un sistem interactiv conceput pentru a efectua calcule de inginerie și științifice și axat pe lucrul cu seturi de date. Sistemul oferă posibilitatea de a accesa programe scrise în FORTRAN, C și C++.

O caracteristică atractivă a sistemului MATLAB este matricea încorporată și aritmetica complexă. Sistemul suportă operații cu vectori, matrice și matrice de date, implementează descompunerea singulară și spectrală, calculul numerelor de rang și condiție ale matricelor, suportă 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.

MATLAB oferă operații vectoriale și matrice chiar și în modul de calcul direct. Poate fi folosit ca un calculator puternic, în care, împreună cu operațiile obișnuite aritmetice și algebrice, pot fi operații complexe precum inversarea matricei, calcularea valorilor proprii și a vectorilor, soluția sistemelor de ecuații algebrice liniare și multe altele. folosit. O trăsătură caracteristică a sistemului este deschiderea acestuia, adică posibilitatea modificării și adaptării acestuia la sarcinile specifice ale utilizatorului.

MATLAB folosește propriul său limbaj M, care combină proprietățile pozitive ale diferitelor limbaje de programare de nivel înalt bine-cunoscute. Sistemul MATLAB este legat de limbajul BASIC prin faptul că este un interpret (compilează și execută programul unul câte unul fără a forma un fișier executabil separat), limbajul M are un număr mic de operatori, nu este nevoie pentru a declara 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 deja existente î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 semne obișnuite ale operațiilor aritmetice și unele semne speciale care sunt utilizate în matematică.

Principiile de stocare a valorilor variabilelor în MATLAB sunt cele mai apropiate de cele inerente limbajului FORTRAN și anume: toate variabilele sunt locale - ele operează numai în limitele acelei unități 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 se pierd (dacă unitatea de program executată este o procedură sau o funcție) fie devin de neatins (dacă programul executat este un program de control) . Spre deosebire de BASIC și Pascal, MATLAB nu are variabile globale care să afecteze toate unitățile de program. Dar, în același timp, 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 calcul tehnic de înaltă performanță. Include calculul, 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 pentru MATLAB sunt:

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 face posibilă rezolvarea diferitelor probleme asociate calculelor tehnice, în special în care sunt utilizate matrice și vectori, de câteva ori mai rapid decât atunci când se scriu 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. Ele sunt foarte importante pentru majoritatea utilizatorilor MATLAB, deoarece vă permit să învățați și să aplicați tehnici 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, modelare 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. Este o colecție de instrumente și accesorii cu care lucrează un utilizator sau un programator MATLAB. Include instrumente pentru manipularea variabilelor din spațiul de lucru MATLAB, intrarea și ieșirea datelor și crearea, monitorizarea și depanarea fișierelor M și aplicațiilor MATLAB.

3. Grafică ghidată. 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 și transformarea Fourier rapidă.

5. Interfata de programare. Este o bibliotecă care vă permite să scrieți programe C și Fortran care interacționează cu MATLAB. Include facilități pentru invocarea programelor din MATLAB (legare dinamică), invocarea MATLAB ca instrument de calcul și pentru citirea-scrierea fișierelor MAT.

Simulink, un program însoțitor al MATLAB, este un sistem interactiv pentru simularea sistemelor dinamice neliniare. Este un mediu condus de mouse care vă permite să simulați un proces prin tragerea și plasarea blocurilor de diagrame pe ecran și manipularea acestora. 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, 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 LUCRUL CU MATLAB

După ce ați făcut clic pe pictograma MATLAB, veți vedea un ecran în partea de sus a căruia există 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 - o linie de interogare în două caractere >> Aceasta este fereastra de comandă MATLAB

Orezunok1. 1 - Instrumentaln / Afereastra de comandă

Meniul derulant standard Fișier conține elemente precum Nou pentru a crea fișiere noi, Deschide fișier M - pentru a deschide un fișier program existent sau un 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șierelor, iar după selectarea fișierului necesar, se deschide fereastra editorului / depanatorului de fișiere m-file.

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

Bara de instrumente (vezi Fig. 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 - acestea sunt copierea (Copy), deschiderea unui fișier (Open), imprimarea (Print) etc. Ar trebui să acordați atenție butonului Path Browser, care vă permite să stabiliți căi către 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 interogare, încheiată prin apăsarea tastei Enter sau a butonului din bara de instrumente cu un semn de întrebare, oferă o listă de funcții pentru care este disponibil ajutorul online. Comanda de ajutor<имя_функции>oferă 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, funcția de calculare a valorilor proprii ale unei matrice. Vă puteți familiariza cu unele dintre capacitățile sistemului MATLAB folosind comanda demo.

În această scurtă introducere, trebuie menționat că obiectele principale - variabilele cu care lucrează MATLAB - sunt matrici dreptunghiulare. Acest lucru face posibilă scrierea programelor foarte pe scurt, face programele ușor de înțeles. Există multe operații efectuate pe matrice. Desigur, trebuie reținută notația pentru operații precum înmulțirea și adunarea matricelor. Să studiezi și să memorezi toate posibilitățile „pentru o utilizare viitoare”, înainte de a fi necesare, este inutil.

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 să utilizați comanda de salvare<имя_файла>... Toate variabilele din binare sunt stocate într-un fișier<имя_файла>.mat. Ulterior, la repornirea sistemului, puteți încărca întreg spațiul de lucru folosind comanda load<имя_файла>și continuă calculele din același 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 Enunțarea 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 DEZVOLTĂRII PROBLEMEI

Mecanica (din greacă. MzchbnykYu 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 secțiuni ale mecanicii sunt mecanica clasică și mecanica cuantică.

Mișcarea unui corp aruncat în unghi față de orizont trebuie considerată ca o mișcare curbilinie, care, la rândul ei, este una dintre ramurile 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 de mișcare a obuzelor de artilerie în acele zile 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 nucleul cade asupra soldatului inamic de sus (vezi Fig. 2.1).

Orez. 2.1 - Traiectoria deplasării obuzelor de artilerie

Legile zborului proiectilelor nu au primit prea multă atenție din partea oamenilor de știință până când au fost inventate arme cu rază lungă de acțiune care trimiteau un proiectil prin dealuri sau copaci, astfel încât trăgătorul să nu le poată vedea zburând.

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

Matematicianul italian Tartaglia s-a apropiat de decizia corectă cu privire la zborul ghiulelor, 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 „New Science” au fost formulate regulile focului, care i-au ghidat pe trăgători 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 de bază: corpurile care se mișcă orizontal și nefiind influențate de alte forțe își vor menține viteza; apariția influențelor exterioare va modifica viteza unui corp în mișcare, indiferent dacă acesta a fost î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ă odată cu mișcarea reală a obuzelor, datorită rezistenței aerului, traiectoria lor nu va mai semăna cu o parabolă: ramura descendentă a traiectoriei va 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 tragerii, ț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 calculatoare electronice - 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ă modificări.

2.3 FORMULE UTILIZATE

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 acest caz, rezistența aerului va fi neglijată, iar câmpul gravitațional va fi considerat uniform (P = const), presupunând că raza de zbor și înălțimea traiectoriei sunt mici în comparație cu raza Pământului.

Plasați originea O în poziția de pornire a punctului. Să direcționăm axa Oy vertical în sus; axa orizontală Ox este situată în planul care trece prin Oy și vectorul V 0, iar axa Oz este trasată perpendicular pe primele două axe (Figura 2.2). Atunci unghiul dintre vectorul V 0 și axa Ox va fi egal cu b.

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

Desenați un punct în mișcare M undeva pe traiectorie. Punctul este acționat numai de forța gravitațională F, ale cărei proiecții pe axele de coordonate sunt egale:

Înlocuind aceste mărimi în ecuații diferențiale și notâ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ă sunt următoarele:

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 metodele cinematicii.

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 CODUL PROGRAMULUI PROBLEMEI FURNIZATE

clc; % șterge fereastra de comandă

v0 = 36; %viteza de pornire

g = 9,81; %accelerarea gravitaţiei

k = 1;

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

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

în timp ce k<5

k = meniu ("selectați o categorie",...

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

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

sprintf ("graficul mișcării unui corp aruncat în unghi față de orizont"), ...

sprintf ("modelul dinamic al mișcării unui corp aruncat în unghi față de orizont"), ...

„ieșire”);

dacă k == 1

t = 0: 0,001: m;

x = v0 * t * cos (alfa);

complot (x);

titlu („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;

parcela (y);

titlu („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;

grafic (x, y);

titlu („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);

titlu („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. Comandă pentru ștergerea 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 ar trebui accesată astfel:

K = MENIU ("MENU HEADER", "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 de meniu

Programul este suspendat temporar și sistemul așteaptă să fie selectat unul dintre butoanele de meniu cu alternative. După selecția 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. Un operator 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 scrisă după cuvântul while. Mai mult, printre operatorii din interiorul buclei trebuie neapărat să fie cei care modifică valoarea uneia dintre variabile.

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

DACĂ... În general, sintaxa operatorului de ramură 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 verificării 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 graficelor pe ecranul de afișare este reprezentarea grafică (vezi Fig. 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 ale argumentului (x1) și funcții (y1) corespunzătoare primei curbe a graficului; х2, у2 - matrice de valori ale argumentului și funcțiilor celei de-a doua curbe etc. Se presupune că valoarea argumentului este trasată de-a lungul axei orizontale a graficului, iar valoarea funcției este 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 se stabilește titlul diagramei.

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

COMETĂ... Procedura cometei (x, y) („cometă”) prezintă treptat dependența lui y (x) sub forma traiectoriei unei comete. În acest caz, 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ă un corp atunci când este aruncat într-un 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 mișcării corpului în sine ( vezi Fig. 2.8).

Figura 2.5 - Graficul dependenței lui x de t.

Figura 2.6 - Graficul dependenței lui y față de 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 realizat în mediul MatLab 6.5. Dezvoltarea proiectului s-a desfășurat în mai multe etape, constând în studierea 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ă modelul 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 atunci când este aruncat într-un unghi față de orizont.

De asemenea, activitatea de curs a contribuit la dezvoltarea abilităților de planificare independentă și efectuare a lucrărilor 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 abilităților de fundamentare a deciziilor de proiectare. și proiectarea profesională a documentației de proiect.

LISTA SURSELOR UTILIZATE

1. Lazarev, Y. Modelarea proceselor și sistemelor în MatLab. Curs de pregatire. / Yu. Lazarev. - SPb .: Petru; Kiev: Grupul editorial BHV, 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: Manual. indemnizatie / G.L. Kotkin, V.S. Cherkassky. - Novosib. un-t. Novosibirsk, 2001 .-- 173 p.

Postat pe Allbest.ru

...

Documente similare

    Caracteristicile generale și proprietățile sistemului Matlab - un pachet de programe aplicate pentru rezolvarea problemelor tehnice de calcul. Dezvoltarea unui model matematic într-un mediu dat, funcții de programare pentru acțiunea de referință. Design interfață 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 versiunea ulterioară a MATLAB și versiunile anterioare. Instrumentul de interfață de control sursă.

    test, adaugat 25.12.2011

    Matlab - laborator matrice - un sistem de programare pentru calcule științifice și tehnice. Caracteristici de intrare vectorială. Matrici speciale, comenzi simple. Exemple simple pentru a ilustra eficacitatea Matlab. Mod grafic de rezolvare a ecuațiilor.

    rezumat, adăugat la 01.05.2010

    Baza matematică pentru calculul 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 secvențială ș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 pentru a ilustra eficacitatea MATLAB. Sisteme de ecuații algebrice liniare și polinoame.

    manual, adăugat 26.01.2009

    Crearea și reprezentarea variabilelor simbolice în Matlab, operații pe polinoame și simplificare a expresiilor. Un exemplu de substituire a unei valori într-o funcție, rezolvare de ecuații și sisteme, diferențiere, integrare și calculare a limitelor funcțiilor.

    prezentare adaugata 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 trei.

    munca de laborator, adaugat 07.04.2009

    Analiza capabilităților pachetului MATLAB și extensiilor acestuia. Limbajul de programare a sistemului. Studiul dispozitivului redresor. Modelarea unui transformator trifazat. Schema schematică a unui convertor reglabil. Capabilitati flexibile de model digital.

    prezentare adaugata la 22.10.2013

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

Top articole similare