MATLAB: instrumentul viitorului sau o jucărie scumpă. Elemente de bază ale limbajului de programare Matlab Descrierea programului Matlab

UNIVERSITATEA TEHNICĂ DE STAT TAMBOV


DEPARTAMENT

„Procesele și managementul informației”

Dezvoltarea metodologică

pentru lecția de laborator nr.1

la disciplina „Teoria luării deciziilor”

Denumirea disciplinei

numele subiectului

Subiect: Studiul metodelor de optimizare unidimensională

Scopul lucrării:

Studiul metodelor de optimizare unidimensională și metodelor de implementare algoritmică a acestora în mediul unui sistem integrat de automatizare multifuncțional pentru calcule matematice și științifico-tehnice MATLAB 7.1;

Evaluarea comparativă a mărimii costurilor de calcul ale metodelor: scanare directă, dihotomie, „secțiune de aur” și metoda Fibonacci.

Literatură:

1. Aoki M. Introducere în metodele de optimizare. M.: Nauka, 1977. 444 p.

2. Batishchev D.I. Metode optime de proiectare. M.: „Radio și comunicații”, 1984. 248 p.

3. Bodrov V.I., Lazareva T.Ya., Martemyanov Yu.F. Metode matematice de luare a deciziilor: Proc. indemnizatie. Tambov: Editura Tamb. stat acestea. Univ., 2004. 124 p.

4. Polak E. Metode de optimizare numerică. M.: Mir, 1997. 376 p.

5. Himmelblau D. Programare neliniară aplicată. M.: Mir, 1975. 534 p.

6. Yudin D.B. Metode computaționale ale teoriei deciziei. M.: Nauka, 1989. 316 p.

7. Ketkov Yu. L., Ketkov A. Yu., Shultz M. M. MATLAB 7: programare, metode numerice. - Sankt Petersburg: BHV-Petersburg, 2005. - 752 p.

Prin conducerea lecției

Orele de laborator la disciplina „Teoria luării deciziilor” se desfășoară cu scopul aprofundării și consolidării cunoștințelor teoretice dobândite de studenți la diferite tipuri de clase și în procesul de studiu independent al materialului educațional, dobândirea deprinderilor în implementarea practică a metodelor matematice. de luare a deciziilor. Pe baza rezultatelor orelor de laborator, studenții ar trebui

Material teoretic pe baza căruia s-a realizat modelarea, precum și esența proceselor fizice formalizate în programe;

Metode de bază pentru modelarea proceselor relevante;

Selectați și evaluați influența parametrilor principali asupra rezultatului modelării;

Analizați și rezumați rezultatele obținute.

Finalizarea lucrărilor de laborator include trei etape: pregătirea preliminară pentru lecția de laborator, lecția în sine și raportarea lecției de laborator.

Scopul lecției este de a arăta legătura dintre materialul teoretic și practică și de a-i învăța pe studenți să aplice teoria la rezolvarea problemelor practice.

Lucrările de laborator sunt structurate în așa fel încât să nu presupună cunoștințele studenților despre MATLAB. Fiecare laborator începe cu un brief MATLAB care oferă studentului informațiile de bază necesare pentru a finaliza activitatea.

Pregătirea pentru clasă

În ajunul orei, elevii ar trebui:

Citiți manualul pentru acest laborator;

Repetați materialul de curs și studiați literatura propusă pe această temă;

Studiați procedura de efectuare a lucrărilor;

Pregătiți-vă să răspundeți la întrebările de securitate.

Procedura de desfășurare a lecției

În partea introductivă a lecției, se primește grupul de studiu, se oferă o conexiune cu materialul studiat anterior, se anunță subiectul, scopul, ordinea și caracteristicile acestei lecții și se verifică pregătirea grupului de studiu pentru lecție.

În continuare, studenții încep să efectueze cercetări în conformitate cu metodologia. Pentru orice întrebări neclare cu privire la o lecție de laborator, studenții trebuie să contacteze profesorul, personalul de inginerie sau instructorul laboratorului de calculatoare. Rezultatele cercetării și concluziile sunt prezentate sub forma unui raport de laborator. Raportul este documentul de lucru al elevului și este prezentat profesorului conducător în timpul apărării. În continuare, se apără referatele la lecția de laborator, iar la final se sintetizează rezultatele lecției.

Raportarea lecției

Studenții trebuie să primească credit pentru sesiunea de laborator. Principiul raportării este individual și poate fi realizat oral sau în scris după finalizarea părții principale a lecției. La eliberarea unei note, se iau în considerare următoarele: disponibilitatea, alfabetizarea și acuratețea formularului de raport, calitatea lucrărilor de laborator și rezultatele răspunsurilor la întrebările testului. Elevii care nu au primit un credit și sunt absenți de la această lecție de laborator raportează despre acesta în timpul lor.

Scurtă descriere a MATLAB

Sistemul MATLAB (Matrix Laboratory) constă dintr-un număr mare de programe speciale care permit rezolvarea unei game largi de probleme matematice și tehnice din diferite domenii ale științei. Elementul său principal este nucleul sistemului MATLAB. În plus, sistemul conține aproximativ 80 de seturi diferite de comenzi (așa-numitele „Toolboxes”), corespunzătoare diferitelor secțiuni de matematică, fizică matematică, design, comunicații, economie etc. Această lucrare utilizează instrumente de programare de bază MATLAB: M-files - funcții, funcții încorporate, operatori, comenzi etc.

Fig.1. Desktop de sistem

Figura 1 arată desktop-ul sistemului. Bara de meniu (Fișier, Editare etc.) este în multe privințe similară cu cea a editorului Microsoft Word. Și rândul de pictograme situat mai jos efectuează aceleași operațiuni ca în editorul Word (cu excepția ultimelor 3). Desktop-ul sistemului este format din mai multe ferestre, a căror compoziție poate fi modificată folosind comenzile de meniu Desktop. Figura 1 din fereastra de sus din stânga arată conținutul spațiului de lucru Spațiul de lucru, care conține descrieri ale tuturor constantelor și funcțiilor introduse de utilizator în timpul funcționării. În fereastra de jos Istoricul comenzilor Este dată secvența comenzilor executate. Dimensiunile ferestrelor sunt ajustate prin glisarea chenarului cu mouse-ul. Fereastra principală a desktopului - Fereastra de comandă(fereastra de comandă). În fereastra de comandă, după semnul „>>”, se tastează linia de comandă, care se execută după apăsarea tastei „ introduce".

MATLAB vă permite să creați fișiere de program similare cu alte limbaje de programare de nivel înalt. În plus, are proprietățile unui calculator programabil puternic. În această lucrare, implementarea software a algoritmilor de căutare se realizează folosind fișiere cu funcție M, iar programele pot fi lansate și datele inițiale introduse din fereastra de comandă.

Formatul numărului este stabilit de meniu Fişier(Fig. 1) în secțiune Preferințe folosind funcția Format numeric. Cele mai frecvent utilizate dintre cele 12 formate posibile sunt Mic de staturaȘi Lung– formate de numere scurte și lungi.

Unele dintre conceptele de bază ale MATLAB sunt variabile Și declarații .

Variabil notat printr-o singură literă sau un set de litere și numere care încep cu o literă. Numărul total de litere și numere din set nu trebuie să depășească nouăsprezece. Afirmație are următoarea formă:

>>variabilă=expresie

Când introduceți o instrucțiune, variabilei i se atribuie expresia care urmează semnul egal sau, dacă implică operații matematice, rezultatul care se obține după efectuarea acelor operații. Puteți introduce instrucțiunea într-un fișier M sau în fereastra de comandă MATLAB. Semnul „>>” este un prompt de comandă care apare pe ecranul de afișare în fereastra de comandă pentru a indica faptul că pot fi introduse instrucțiuni.

Principalii operatori aritmetici sunt prezentați în Tabelul 1.1. Când efectuați calcule în fereastra de comandă după apăsarea „ introduce"rezultatul este atribuit parametrului" ans", dacă expresiei corespunzătoare nu i se atribuie un nume sau numele său - în caz contrar (numele variabilelor, constantelor și funcțiilor trebuie să înceapă cu o literă (litere latine), poate conține numere și un caracter de subliniere). Pentru a bloca rezultatul calculului rezultat al unei anumite expresii după ea, trebuie să setați semnul; (punct și virgulă).

Tabelul 1.1

De exemplu, doriți să evaluați expresia și atribuiți rezultatul unei variabile X. În acest caz, instrucțiunea (programul) va avea următoarea formă (în fracții zecimale, partea întreagă este separată de partea fracțională printr-un punct):

>> x=log(1+5*((log10(100))^2-0,2*pi)/sqrt(1+2,71828^3))

După introducerea declarației, i.e. apăsând tasta Enter, rezultatul este imediat afișat mai jos. Dacă rezultatul trebuie blocat, de ex. nu trebuie să fie afișat pe ecranul de afișare, apoi la sfârșitul declarației trebuie să puneți semnul „; "(punct şi virgulă). Expresia anterioară poate fi reprezentată sub altă formă:

>> a=(log10(100))^2;

>> b=sqrt(1+2,71828^3);

>> x=log(1+5*(a-0,2*pi)/b)

MATLAB are mai multe variabile încorporate: pi, eps, inf, iȘi j. Variabil pi reprezintă numărul, eps=2 -52 =2.2204*10 -16 – eroare pentru operații pe numere în virgulă mobilă, inf- infinitul ( ), iȘi j– unitate imaginară ( i = j= ).

Când argumentul din stânga nu este specificat, rezultatul expresiei este atribuit variabilei comune ans.

Operatorii relaționali (Tabelul 1.2) sunt utilizați în instrucțiunile condiționate, operatorii de buclă etc. la implementarea algoritmilor de căutare folosind funcții-M (subrutinele-funcțiile sunt scrise în fișiere cu extensia .m).

Tabelul 1.2

Deci, programele din sistemul MATLAB sunt fișiere M în format text care conțin o înregistrare a programelor sub formă de coduri de program.

Limbajul de intrare MATLAB are doar 9 operatori care utilizează 14 cuvinte funcționale. Structurile sintactice corespunzătoare sunt date în tabel. 1.3.

Tabelul 1.3

Format operator Explicaţie
var = expr Operator de atribuire. Calculează valorile expresiei expr și stochează rezultatele calculelor într-o variabilă var
ifcondition_1 statements_1 end Operator condiționat. Dacă condiția_1 este adevărată, atunci grupul operators_1 este executat, dacă condiția_2 este adevărată, atunci grupul operators_2, ... Dacă toate condițiile specificate sunt false, atunci operatorii situati între else și end sunt executați
switchexpr casevail operators_1 caseval2 operators_2 . . . . . . . . . [alte afirmații] se încheie Comutare după valoarea expresiei expr. Dacă se potrivește cu valoarea vail , atunci se execută grupul operators_1, dacă se potrivește cu valoarea val2, atunci se execută grupul operators_2, ... Dacă valoarea expr nu coincide cu niciuna dintre valorile enumerate, atunci operatorii situati între altfel şi sfârşitul sunt executate
forvar=el:e3 instrucțiuni de final Un ciclu de tip progresie aritmetică, în care variabila var, cu fiecare repetare a corpului buclei, se modifică de la valoarea inițială el cu pasul e2 la valoarea finală e3
instrucțiunile whilecondition se termină O buclă cu o precondiție care se repetă până când o condiție specificată este adevărată
try statements_1 catch statements 2 end Încercarea de a executa operatori de grup_1. Cu condiția ca în urma executării acestora să apară o excepție, controlul este transferat operatorilor de grup_2 (tratarea situațiilor de defecțiune). Dacă nu apare nicio eroare, atunci grupul operators_2 nu este executat
pauză Ieșire timpurie din structurile de control, cum ar fi pentru , în timp ce, comutați, încercați - prindeți
funcția f1 funcție f2 (x1,x2, . . . .) funcție y=f3(xl,x2,...) funcție =f4(xl,x2, . . .) Antet funcție (xl, x2, ... - parametri de intrare; y, yl, y2, ... - parametri de ieșire)
întoarcere Ieșirea devreme dintr-un corp funcțional

La scrierea programelor cu funcții, este necesar ca numele fișierului M în care este stocat programul să coincidă în mod necesar cu numele funcției.

Toate variabilele care apar în corpul unei funcții, cu excepția variabilelor globale (declarate de operatorul global), a parametrilor de intrare și a parametrilor de ieșire, sunt considerate locale. Ele formează un spațiu de lucru local și sunt disponibile numai în corpul funcției care le-a generat și nicio altă funcție nu le poate folosi.

Limbajul MATLAB nu conține operatorul mergi la. În acest sens, nu există etichete de operator în textele fișierelor m. Pentru a identifica liniile în care apar situații de urgență, se folosesc numere interne care sunt atribuite automat de către sistem.

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


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

Pentru astfel de situații extraordinare, dar care apar periodic în rândul elevilor, există o armă matematică puternică. Pentru cei care nu știu deja, întâlniți pachetul software MATLAB.

Matlab va rezolva ecuația, o va aproxima și va construi un grafic al funcției. Înțelegeți ce înseamnă asta, prieteni?

Aceasta înseamnă că este unul dintre cele mai puternice pachete de procesare a datelor disponibile astăzi. Numele reprezintă MatriceLaborator. Laboratorul Matrix, dacă în rusă . Capacitățile programului acoperă aproape toate domeniile matematicii. Deci, folosind Matlab, puteți:

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

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

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

MATLAB ca limbaj de programare


Este, de asemenea, un limbaj de programare utilizat direct atunci când lucrați cu programul. Nu vom intra în detalii, să spunem doar că programele scrise în MATLAB vin în două tipuri: funcții și scripturi.


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

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

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

Pentru a arăta în mod clar cum se întâmplă munca în MATLAB, dăm mai jos un exemplu de creare a unei funcții în Matlab. Această funcție va calcula valoarea medie a vectorului.
f funcția y = medie(x)
% MEDIA Valoarea medie a elementelor vectoriale.
% MEDIE(X), unde X este un vector. Calculează media elementelor unui vector.
% Dacă argumentul de intrare nu este un vector, este generată o eroare.
= dimensiune(x);
dacă (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
error ("Matricea de intrare trebuie să fie un vector")
Sfârşit
y = suma(x)/lungimea(x); % Calculul propriu-zis

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

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

Deci, pentru a scrie o funcție în Matlab, trebuie să vă amintiți că fiecare funcție din sistemul MATLAB conține o linie de definiție a funcției similară cu cea de mai jos.

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

Dezavantajele lucrului cu MATLAB


Care sunt dificultățile în lucrul cu MATLAB? Există poate o singură dificultate. Dar fundamentale. Pentru a dezvălui pe deplin capacitățile MATLAB și pentru a rezolva cu ușurință problemele care apar în fața dvs., va trebui să lucrați din greu și să înțelegeți mai întâi Matlab-ul însuși (cum să creați un fișier, cum să creați o funcție etc.). Și acest lucru nu este atât de simplu, pentru că puterea și oportunitățile largi necesită sacrificii.

Chiar dacă am vrea, nu putem spune că MATLAB esteprogram simplu. Cu toate acestea, sperăm că toate cele de mai sus vor fi un argument suficient pentru a prelua dezvoltarea sa.

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

Acum cunoașteți capabilitățile Matlab. În domeniul educației, MATLAB este adesea folosit în predarea metodelor numerice și algebrei liniare. Mulți studenți nu se pot descurca fără ea atunci când procesează rezultatele unui experiment efectuat în timpul lucrului de laborator. Pentru a stăpâni rapid și eficient elementele de bază ale lucrului cu MATLAB, ne puteți contacta oricând, care suntem gata să vă răspundă la orice întrebări în orice moment.

Numele au fost schimbate, toate potrivirile sunt aleatorii.

Uvertură

Permiteți-mi să spun imediat că MATLAB este un instrument excelent. Un instrument grozav pe care l-am folosit greșit.

Aruncă o privire la compania noastră. Domeniul nostru de activitate este dezvoltarea de software pentru industrie și multe altele. Compania are aproximativ 100 de angajați, iar eu sunt unul dintre angajații acestei companii, dezvoltând algoritmi. Avem și un produs emblematic care aduce profitul principal.

Produsul emblematic este o aplicație de afaceri. Are multe formulare și rapoarte, propria bază de date și nucleu de calcul. Nucleul de calcul este scris în C# fără a utiliza cod nativ. Această decizie a fost luată de dezvoltatori în mod conștient. Parallel.For a fost atât de tentant, dar toată lumea dorea să uite de C++ ca pe un vis urât.



Realitatea, așa cum se întâmplă adesea, nu ne-a ascultat dorințele, iar viteza C# a devenit curând insuficientă. O altă problemă este că, după cum s-a dovedit, programatorii, indiferent cât de bun ar fi codul pe care îl scriu, înțeleg puțin algebra liniară.

Apoi, algoritmistul nostru șef a propus o idee. O descriere a acestei idei și a ceea ce a ieșit din ea este esența acestui articol.

Idee

Ideea era simplă. În loc să plătiți un salariu unui programator inteligent (care ar fi capabil să scrie cod bun în C# și să înțeleagă complexitatea „matanului” nostru, iar așa ceva nu este ușor de găsit), puteți angaja doi „pe jumătate deștepți”. Primul va scrie prototipuri în MATLAB, al doilea va transfera soluția în C#.
MATLAB în acest caz a fost prezentat ca un instrument de documentare a algoritmului. Această soluție a avut următoarele avantaje:

  • MATLAB este un limbaj simplu pe care un programator experimentat îl poate învăța într-o zi
  • Toți matematicienii scriu în MATLAB

Este de remarcat faptul că, anterior, Mathcad, diagramele UML și chiar și doar o foaie de hârtie erau folosite pentru a documenta algoritmul.

S-au certat cu ideea, nu a fost acceptată. Dar, în cele din urmă, algoritmul șef a convins pe toată lumea și a fost creată o echipă de algoritmi care scriau în Matlab. M-am alăturat și eu acestei echipe. Echipa noastră a inclus și un programator dintre dezvoltatori, care ar trebui, fără să se gândească, să transfere exercițiile noastre Matlab în C#.

Observ că, pe lângă propunerile de a abandona această idee, a existat și o propunere de a folosi cel puțin python+numpy. Numai pentru motivul că nimeni nu avea experiență semnificativă în dezvoltarea în MATLAB (obișnuiam să scriu în python și R, restul erau matematicieni și ingineri care foloseau MATLAB ca calculator avansat). Propunerile, după cum puteți înțelege, au fost respinse.

A trecut un an...

A trecut un an și acum putem rezuma câteva rezultate:

  • Matematicienii nu știu să scrie cod. Și ei înșiși nu își pot da seama de tăițeii care ies din condeiul lor. Nu există cunoștințe specifice, experiență, cultură de programare
  • Din moment ce am abandonat diagramele și Mathcad, am vrut să folosim surse de date reale pentru programele noastre MATLAB. Drept urmare, am petrecut mult timp duplicând o parte din funcționalitatea produsului emblematic pe Matlab
  • În timp ce făceam programare, nu aveam timp să lucrăm la real algoritm mai rămăsese puțin
  • MATLAB nu este potrivit pentru dezvoltarea de programe mari. Cel puțin nu ne convine. Tastare slabă dinamică, bucle lente, OOP foarte, foarte lent (atât de mult încât a trebuit să renunț parțial la utilizarea OOP), suport incomplet pentru matrice rare
  • Portarea codului de la MATLAB la C# nu este ușoară. Este și mai greu să retroportezi refactorizările și optimizările
Ca urmare, nu putem estima în avans cât timp va dura implementarea unei anumite caracteristici. O săptămână sau poate o lună?

În loc de o concluzie

Chiar la începutul articolului am mințit puțin, pentru că... povestea continuă până în zilele noastre. Continuăm să scriem în MATLAB, codul nostru continuă să fie transferat în C#. Deși acum toată lumea este de acord că ideea algoritmului șef are defecte. Dar e prea târziu pentru a schimba ceva.

Între timp, încep să vorbească despre recodificarea suplimentară a soluțiilor de la MATLAB la C++...

1. Lecția 23. Introducere în pachetele de extensii MATLAB

Lecția #23.

Introducere în pachetele de expansiune MATLAB

    Lista pachete de expansiune

    Simulinc pentru Windows

    Pachetul de matematică simbolică

    Pachete de matematică

    Pachete pentru analiza si sinteza sistemelor 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 principalele mijloace de extindere profesională a sistemului și adaptarea acestuia pentru a rezolva anumite clase de probleme matematice, ș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 dedicate 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 pe majoritatea acestor extensii, iar volumul de documentație privind acestea se ridică la sute de megaocteți. Din păcate, scopul acestei cărți permite doar o scurtă plimbare prin pachetele de expansiune pentru a oferi cititorului o idee despre direcțiile în care se dezvoltă sistemul.

2. Lista pachetelor de expansiune

Lista pachete de expansiune

Compoziția completă a sistemului 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 de licență MATLAB: 0

Caseta de instrumente MATLAB

Versiunea 6.0

06-0ct-2000

Versiunea 4.0

Versiunea 4.0

04-0ct-2000

Stateflow Coder

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

Caseta 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 pentru baze de date

Versiunea 2.1

Caseta de instrumente Datafeed

Versiunea 1.2

Blockset cadrane și instrumente

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

Caseta de instrumente financiare

Versiunea 2.1.2

Set de blocuri cu punct fix

Versiunea 3.0

Caseta 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

Cutie 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

Setul 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ții diferențiale parțiale

Versiunea 1.0.3

Set de blocuri pentru sistemul 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 de control robust

Versiunea 2.0.7

SB2SL (conversează SystemBuild în Simu

Versiunea 2.1

Caseta de instrumente pentru procesarea semnalului

Versiunea 5.0

Simulink Accelerator

Versiunea 1.0

Diferențierea modelelor pentru Simulink și...

Versiunea 1.0

Instrument 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 extensie din MATLAB 6.0 sunt actualizate și datează din 2000. Descrierea lor a fost considerabil extinsă, 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 utilizat pentru modelarea de simulare a modelelor constând 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 transferate în fereastra principală folosind mouse-ul și conectate între ele cu conexiunile necesare. Modelele pot include surse de semnal de diferite tipuri, instrumente de înregistrare virtuală și instrumente de animație grafică. Făcând dublu clic pe un bloc model, se afișează o fereastră cu o listă a parametrilor acestuia pe care utilizatorul îi poate modifica. Rularea unei simulări oferă o modelare matematică a modelului construit cu o reprezentare vizuală clară a rezultatelor. Pachetul se bazează pe construcția de diagrame bloc prin transferul blocurilor din biblioteca de componente în fereastra de editare a modelului creat de utilizator. Apoi modelul este lansat. În fig. Figura 23.1 prezintă procesul de modelare a unui sistem simplu - un cilindru hidraulic. Monitorizarea se realizează cu ajutorul osciloscoapelor virtuale - în Fig. Figura 23.1 prezintă ecranele a două astfel de osciloscoape și fereastra unui subsistem simplu al modelului. Este posibil să se modeleze sisteme complexe constând din mai multe subsisteme.

Simulink compilează ș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 semnalelor matriceale. 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 modelare a unui sistem de cilindri hidraulici folosind 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 conectat 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. Figura 4.21 din Lecția 4 prezintă un exemplu de astfel de modelare pentru un sistem descris de ecuațiile diferențiale neliniare van der Pol. Avantajul unei astfel de modelări este claritatea sa matematică și fizică. În componentele modelului 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 în MATLAB 5.3.1, oferă informații despre funcționarea sistemului MATLAB și a pachetului de extensie 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 cu comanda Raport. Rapoartele pot fi prezentate ca 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 de aplicație care conține instrumente pentru construirea de rețele neuronale bazate pe comportamentul unui analog matematic al unui neuron. Pachetul oferă suport eficient pentru proiectarea, antrenamentul și simularea unei varietăți de paradigme de rețea binecunoscute, de la modele de bază perceptron până la cele mai moderne rețele asociative și auto-organizate. Pachetul poate fi folosit pentru a explora și aplica rețelele neuronale la probleme precum procesarea semnalului, controlul neliniar și modelarea financiară. Este oferită capacitatea de a genera cod C portabil folosind Real Time Workshop.

Pachetul include mai mult de 15 tipuri de rețele cunoscute și reguli de instruire, permițând utilizatorului să selecteze cea mai potrivită paradigmă pentru o anumită aplicație sau problemă de cercetare. Pentru fiecare tip de arhitectură și reguli de învățare, există funcții de inițializare, instruire, adaptare, creare și simulare, demonstrație și exemplu de aplicație de rețea.

Pentru rețelele supravegheate, puteți alege o arhitectură înainte sau recurentă folosind o varietate de reguli de învățare și tehnici de proiectare, cum ar fi perceptron, backpropagation, backpropagation Levenberg, rețele de bază radială și rețele recurente. Puteți schimba cu ușurință orice arhitectură, reguli de învățare sau funcții de tranziție sau puteți adăuga altele noi - totul fără a scrie o singură linie de C sau FORTRAN. Un exemplu de utilizare a unui pachet pentru a recunoaște o imagine de literă a fost dat în Lecția 4. O descriere detaliată a versiunii anterioare a pachetului poate fi găsită în carte.

7. Fuzzy Logic Toolbox

Caseta de instrumente pentru logica fuzzy

Pachetul de aplicație Fuzzy Logic se referă la teoria mulțimilor fuzzy (fuzzy). Oferă suport pentru metodele moderne de grupare fuzzy și rețelele neuronale fuzzy adaptive. Instrumentele grafice ale pachetului vă permit să monitorizați în mod interactiv comportamentul sistemului.

Principalele caracteristici ale pachetului:

  • definirea variabilelor, regulilor fuzzy și funcțiilor de membru;
  • vizualizarea interactivă a inferenței logice 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 atunci când logica fuzzy este luată în considerare și fără o astfel de luare în considerare.

8. Cutie de instrumente pentru matematică simbolică

Cutie de instrumente pentru matematică simbolică

Un pachet de programe de aplicație care oferă sistemului MATLAB capacități fundamental noi - capacitatea de a rezolva probleme în formă simbolică (analitică), inclusiv implementarea aritmeticii exacte a adâncimii 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țiere și integrare simbolică, calcul de sume și produse, expansiune în seriile Taylor și Maclaurin, operații cu polinoame de putere (polinoame), calcul de rădăcini de polinoame, rezolvare de ecuații neliniare în formă analitică, tot felul de transformări simbolice, substituții și multe Mai mult. Are comenzi pentru acces direct la nucleul sistemului Maple V.

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

9. Pachete matematice

Pachete de matematică

MATLAB include multe pachete de expansiune care îmbunătățesc capacitățile matematice ale sistemului, crescând 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, creată de un grup special al 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 apelarea acestora. Utilizatorul poate modifica cu ușurință aceste fișiere MEX la nivel de cod 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 matricei;

    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ții ortogonale;

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

    statistici neparametrice: Friedman, Kruskal-Wallis, Mann-Whitney; Despre seriile temporale: univariate și multivariate;

    aproximări ale funcțiilor speciale: exponențială integrală, funcție gamma, funcții Bessel și Hankel.

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

11. Caseta de instrumente Spline

Pachet de aplicații pentru lucrul cu spline. Suportă interpolare și aproximare 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 splinelor 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.

Pachetul Spline este echipat cu programe pentru lucrul cu B-splines, descrise în lucrarea „A Practical Guide to Splines” de Karl DeBoer, creatorul de spline și autorul pachetului Spline. Caracteristicile pachetului, combinate cu limbajul MATLAB și un manual de utilizare detaliat, fac spline ușor de înțeles și aplicat eficient la o varietate de probleme.

Pachetul include programe pentru lucrul cu cele mai utilizate două forme de reprezentare spline: forma B și forma polinomială pe bucăți. Forma B este convenabilă în etapa de construire a spline-ului, în timp ce forma polinomială pe bucăți este mai eficientă în timpul lucrului constant cu spline. Pachetul include funcții pentru crearea, afișarea, interpolarea, aproximarea și procesarea spline-urilor în formă B și ca segmente polinomiale.

12. Caseta de instrumente pentru statistici

Caseta de instrumente pentru statistici

Un pachet de aplicații statistice care extinde dramatic capacitățile sistemului MATLAB în implementarea calculelor statistice și a procesării datelor statistice. Conține un set foarte reprezentativ de instrumente pentru generarea de numere aleatoare, vectori, matrici și tablouri cu diverse legi de distribuție, 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 o distribuție uniformă și normală). Principalele caracteristici ale pachetului:

    Statisticile descriptive;

    distribuții de probabilitate;

    estimarea și aproximarea parametrilor;

    testarea ipotezelor;

    regresie multiplă;

    regresie interactivă în trepte;

    simulare Monte Carlo;

    aproximare pe intervale;

    controlul statistic al procesului;

    planificarea experimentelor;

    modelarea suprafeței de răspuns;

    aproximarea modelului 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. Selecția parametrilor, afișarea grafică a distribuțiilor și o metodă pentru calcularea celor mai bune aproximări sunt furnizate pentru toate tipurile de distribuții. Există multe instrumente interactive pentru vizualizarea și analiza dinamică a datelor. Există interfețe specializate pentru modelarea suprafeței 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 probleme aplicate - pentru rezolvarea problemelor de optimizare si a sistemelor de ecuatii neliniare. Acceptă metode de bază pentru optimizarea funcțiilor unui număr de variabile:

    optimizarea necondiționată a funcțiilor neliniare;

    metoda celor 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 multicriterială.

Diverse exemple demonstrează utilizarea eficientă a funcțiilor pachetului. Cu ajutorul lor, puteți compara și 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ă mijloace eficiente pentru rezolvarea unor astfel de sisteme de ecuații, inclusiv a celor rigide. Pachetul folosește metoda elementelor finite. Comenzile pachetului și interfața grafică pot fi utilizate pentru a modela matematic ecuații diferențiale parțiale pentru o gamă largă de aplicații științifice și de inginerie, inclusiv probleme de rezistență a materialelor, calcule de dispozitive electromagnetice, probleme de transfer de căldură și masă și probleme de difuzie. Principalele caracteristici ale pachetului:

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

    selectare automată și adaptivă a grilei;

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

    formularea flexibilă a problemei folosind sintaxa MATLAB;

    plasare complet automată și selectare a dimensiunilor elementelor finite;

    scheme de proiectare neliniare și adaptive;

    capacitatea de a vizualiza câmpuri ale diferiților parametri și funcții ale soluției, de a demonstra efectele de partiție și animație acceptate.

Pachetul urmează în mod intuitiv cei șase pași de rezolvare a 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), prelucrarea ulterioară a soluției (modul grafic).

15. Pachete pentru analiza si sinteza sistemelor de control

Pachete pentru analiza si sinteza sistemelor 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 cu poli zero pot fi calculate și afișate rapid pe ecran. Pachetul include:

    un set complet de instrumente pentru analiza sistemelor MIMO (multiple input multiple output);

    caracteristici de timp: funcții de transfer și tranziție, răspuns la influența arbitrară;

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

    dezvoltarea buclelor de feedback;

    proiectarea controlerelor LQR/LQE;

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

    suport pentru sisteme cu întârziere.

Caracteristicile 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, o intrare cu un singur pas sau un semnal de intrare aleatoriu. Există și funcții pentru analiza numerelor singulare.

Un mediu interactiv pentru compararea răspunsului în timp și în frecvență al sistemelor oferă utilizatorului controale grafice pentru a afișa și comuta simultan între răspunsuri. Pot fi calculate diferite caracteristici de răspuns, cum ar fi timpul de accelerare și timpul de accelerare.

Pachetul Sistem de control conține instrumente pentru selectarea parametrilor de feedback. Metodele tradiționale includ: analiza punctelor singulare, determinarea câștigului și a coeficienților de atenuare. Printre metodele moderne: control 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

Designul de control neliniar (NCD) Blockset implementează o metodă de optimizare dinamică pentru proiectarea sistemului 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 mouse-drag pentru a modifica constrângerile de sincronizare direct pe grafice, permițându-vă să configurați cu ușurință variabile și să specificați parametrii nedefiniți, oferă optimizare interactivă, implementează simularea Monte Carlo, acceptă proiectarea SISO (o intrare - o ieșire) și controlul MIMO sisteme, permite modelarea suprimării interferențelor, urmărirea și alte tipuri de răspunsuri, suportă probleme de parametri repetate și probleme de control al sistemelor cu întârziere și permite alegerea între constrângeri satisfăcute și de neatins.

17. Cutie de instrumente de control robust

Cutie de instrumente de control robust

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

    sinteza controlerelor 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 valorilor singulare;

    scăderea ordinii modelului;

    factorizarea spectrală.

Pachetul Robust Control se bazează pe funcționalitatea pachetului Control System, oferind în același timp un set avansat de algoritmi pentru proiectarea sistemului de control. Pachetul oferă o punte între teoria modernă a controlului și aplicațiile practice. Are multe funcții care implementează metode moderne pentru proiectarea și analiza controlerelor robuste multivariabile.

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

Pachetul Robust Control oferă diverse metode de proiectare a feedback-ului, printre care: LQR, LQG, LQG/LTR, etc. Necesitatea de a scădea ordinea modelului apare în mai multe cazuri: scăderea ordinii unui obiect, scăderea ordinii controlerului, modelarea mari. sisteme. O procedură calitativă de reducere 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 unei strategii de control predictiv (proactiv). Această strategie a fost dezvoltată pentru a rezolva probleme practice de control al 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 (intrări multiple - o ieșire), MIMO, caracteristici tranzitorii, modele de spațiu de stare;

    analiza sistemelor;

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

    furnizarea de tutoriale și demonstrații.

Abordarea predictivă a problemelor de control utilizează un model dinamic liniar explicit al centralei pentru a prezice impactul schimbărilor viitoare ale variabilelor de control asupra comportamentului plantei. Problema de optimizare este formulată ca o problemă de programare pătratică cu constrângeri, care este rezolvată din nou la fiecare ciclu de simulare. Pachetul vă permite să creați și să testați controlere 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. Suportă următoarele tipuri de sisteme: timp pulsat, continuu și discret, spațiu de stări. 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, pachetul are 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 norma uniformă și optimizarea parametrilor singulari și. Acest pachet include o interfață grafică pentru a simplifica manipularea blocurilor la proiectarea controlerelor optime. Proprietăți pachet:

  • proiectarea unor regulatoare care sunt optime în normele uniforme și integrale;
  • estimarea parametrului singular real și complex mu;
  • Iterații D-K pentru aproximativ mu-sinteză;

    GUI pentru analiza răspunsului în buclă închisă;

    mijloace de reducere a ordinii modelelor;

    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ă lucrul cu modele continue și discrete. Pachetul are o interfață grafică completă, inclusiv: 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.Stateflow

Stateflow este un pachet pentru modelarea sistemelor conduse de evenimente bazate pe teoria mașinilor cu stări finite. Acest pachet este destinat utilizării cu pachetul de modelare a sistemelor dinamice Simulink. Puteți insera o diagramă Stateflow (sau diagramă SF) în orice model Simulink, care va reflecta comportamentul componentelor obiectului (sau sistemului) de modelare. Diagrama SF este animată. Folosind blocurile și conexiunile codificate în culori, puteți urmări toate etapele funcționării sistemului sau dispozitivului simulat și puteți face ca funcționarea acestuia să depindă de anumite evenimente. Orez. Figura 23.6 ilustrează modelarea comportamentului unei mașini atunci când apare o urgență pe drum. O diagramă SF (mai precis, un cadru al funcționării sale) este vizibilă sub modelul mașinii.

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

21. Cutia de instrumente pentru teoria feedback-ului cantitativ

Caseta de instrumente pentru teoria feedback-ului cantitativ

Pachetul conține funcții pentru crearea de sisteme robuste (stabile) cu feedback. QFT (Teoria Feedback Cantitativ) este o metodă de inginerie care utilizează modele de reprezentare a frecvenței pentru a satisface diverse cerințe de calitate în prezența unor caracteristici incerte ale plantei. 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:

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

    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, sumatoare, bucle de feedback) în prezența incertitudinilor;

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

    rezolvarea incertitudinii în parametrii instalației 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 frecvență a proiectării. Scopul său principal este de a proiecta controlere simple, de comandă mică, cu lățime de bandă minimă, care să satisfacă caracteristicile de performanță în prezența incertitudinilor.

Pachetul vă permite să calculați diferiți parametri de feedback, filtre și controlere de testare atât în ​​spațiu continuu, cât și discret. Are o interfață grafică convenabilă care vă permite să creați controlere simple care îndeplinesc cerințele utilizatorului.

QFT vă permite să proiectați controlere care îndeplinesc cerințe diferite, în ciuda modificărilor parametrilor modelului. Datele măsurate pot fi utilizate direct pentru proiectarea controlerului, fără a fi nevoie de a identifica răspunsul complex al sistemului.

22.LMI Control Toolbox

Caseta de instrumente de control LMI

Pachetul de control LMI (Linear Matrix Inequality) oferă un mediu integrat pentru prezentarea și rezolvarea problemelor de programare liniară. Pachetul, destinat inițial pentru proiectarea sistemelor de control, vă permite să rezolvați orice probleme de programare liniară în aproape orice domeniu de activitate în care apar astfel de probleme. Principalele caracteristici 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 probleme de programare liniară;

    stabilirea de restricții în formă simbolică;

    proiectarea multicriterială a regulatorilor;

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

Pachetul LMI Control conține algoritmi moderni simplex pentru rezolvarea problemelor de programare liniară. Utilizează o reprezentare structurată 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ă.

Rezolvatorii de programare liniară pot testa cu ușurință stabilitatea sistemelor dinamice și a sistemelor cu componente neliniare. Anterior, acest tip de analiză era considerat prea complex pentru a fi implementat. Pachetul permite chiar și o 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 care apar in domenii precum control, identificare, filtrare, proiectare structurala, teoria graficelor, interpolare si algebra liniara.Pachetul LMI Control include doua tipuri de interfata grafica cu utilizatorul: editor de probleme de programare liniara (LMI). Editor) și interfața Magshape. LMI Editor vă permite să setați restricții în formă simbolică, iar Magshape oferă utilizatorului instrumente convenabile 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ă care vă ajută să organizați datele și să creați modele. Metodele de identificare incluse în pachet sunt aplicabile unei game 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 pre-filtrarea, eliminarea tendințelor și părtinirilor; О selectarea intervalului de date pentru analiză;

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

    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 a modelelor identificate este organizată grafic în așa fel încât în ​​timpul procesului de identificare interactivă utilizatorul să poată reveni cu ușurință la pasul anterior de lucru. Pentru începători, există o opțiune de a vizualiza următorii pași posibili. Instrumentele grafice permit unui specialist 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 sistemului care descrie comportamentul acestuia în timp. Pachetul acceptă toate structurile de model tradiționale, inclusiv autoregresia, Box-Jenkins, etc. 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 să se creeze un model al unui obiect. În problemele de procesare a semnalului, modelele pot fi utilizate pentru procesarea adaptivă a semnalului. Metodele de identificare au fost 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 bazate pe frecvență urmăresc identificarea sistemelor continue, oferind un complement puternic tehnicii discrete mai tradiționale. 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;

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

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

    diagnosticarea modelelor, inclusiv modelarea și calcularea reziduurilor;

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

Prin utilizarea abordării domeniului de frecvență, cel mai bun model poate fi realizat în domeniul frecvenței; evitarea erorilor de eșantionare; ușor de izolat componenta DC a semnalului; îmbunătăți semnificativ raportul semnal-zgomot. Pentru a obține semnale de perturbare, pachetul oferă funcții pentru generarea de secvențe binare, minimizarea mărimii 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

Caseta de instrumente de comunicații

Un pachet de programe de aplicație pentru construirea și modelarea unei varietăți de dispozitive de telecomunicații: linii de comunicații digitale, modemuri, convertoare de semnal etc. Are un set bogat de modele pentru o mare varietate de dispozitive de comunicații și telecomunicații. Conține o serie de exemple interesante de instrumente de comunicare de modelare, de exemplu, un modem care funcționează folosind protocolul v34, un modulator pentru a oferi modulație cu bandă laterală unică etc.

26. Procesare digitală a semnalului (DSP) Blockset

Procesare digitală a semnalului (DSP) Blockset

Un pachet de programe de aplicație pentru proiectarea dispozitivelor care utilizează procesoare de semnal digital. Acestea sunt, în primul rând, filtre digitale de mare eficiență, cu un răspuns în frecvență (răspuns în frecvență) specificat sau adaptat la parametrii semnalelor. Rezultatele modelării și proiectării dispozitivelor digitale folosind acest pachet pot fi folosite pentru a construi filtre digitale extrem de eficiente pe microprocesoarele moderne de procesare a semnalului digital.

27. Fixed-Point Blockset

Set de blocuri cu punct fix

Acest pachet special este axat pe modelarea sistemelor digitale de control ș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 o lungime a cuvântului de 8, 16 sau 32 de biți. Pachetul are o serie de proprietăți utile:

    folosind aritmetică nesemnată sau binară;

    selectarea de către utilizator a poziției punctului binar;

    setarea automată a poziției punctului binar;

    vizualizarea intervalelor maxime și minime ale semnalului modelului;

    comutați între calculele î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 unidimensionale ș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ă capabilități extrem de cuprinzătoare pentru crearea de programe de procesare a semnalului pentru aplicații științifice și de inginerie moderne. Pachetul folosește o varietate de tehnici de filtrare și cei mai recenti algoritmi de analiză spectrală. Pachetul contine module pentru dezvoltarea sistemelor liniare si analiza seriilor temporale. 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:

    modelarea 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 un shell ideal pentru analiza și procesarea semnalului. Utilizează algoritmi testați în practică 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 o abordare destul de flexibilă pentru crearea unui script de procesare a semnalului. Pachetul include algoritmi pentru transformarea unui model de la o reprezentare la alta.

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

Interfața grafică vă permite să proiectați filtre prin specificarea cerințelor pentru acestea în modul de glisare a obiectelor cu mouse-ul. Pachetul include următoarele metode 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 McLennan și Karam în 1995;

    cele mai mici pătrate constrânse permit utilizatorului să controleze în mod explicit eroarea maximă (netezire);

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

    o metodă Butterworth generalizată pentru proiectarea filtrelor low-pass cu benzi de trecere și atenuare maxim uniforme.

Bazat pe un algoritm optim de transformare rapidă Fourier, Procesarea semnalului oferă performanțe de neegalat pentru analiza frecvenței și estimarea spectrală. Pachetul include funcții pentru calcularea transformării discrete Fourier, a transformării cosinus discrete, a transformării Hilbert și a altor transformări utilizate adesea 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 semnalului, să proiectați și să aplicați filtre, să efectuați analize spectrale, să explorezi influența diferitelor metode și a parametrilor acestora asupra rezultatului obținut. Interfața grafică este utilă în special pentru vizualizarea serii de timp, spectre, caracteristici de timp și frecvență, precum și locația zerourilor și polilor funcțiilor de transfer ale sistemelor.

Pachetul de procesare a semnalului este baza pentru rezolvarea multor alte probleme. De exemplu, prin combinarea acestuia cu pachetul de procesare a imaginii, semnalele și imaginile 2D pot fi procesate și analizate. Atunci când este asociat cu pachetul de identificare a sistemului, pachetul de procesare a semnalului permite modelarea parametrică a sistemelor în domeniul temporal. Atunci când sunt combinate cu pachetele Neural Network și Fuzzy Logic, pot fi create o varietate de instrumente pentru procesarea datelor sau extragerea caracteristicilor de clasificare. Instrumentul de generare a semnalului vă permite să creați semnale de puls de diferite forme.

29. Instrumente de analiză spectrală de ordin superior

Caseta de instrumente de analiză spectrală de ordin superior

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

    evaluarea spectrelor de ordin înalt;

    abordare tradițională sau parametrică;

    restabilirea amplitudinii și fazei;

    prognoză liniară adaptivă;

    restaurare armonică;

    Estimarea decalajului;

    bloc de procesare a 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 termeni de momente de ordin înalt ale semnalului, conțin informații suplimentare care nu pot fi obținute folosind numai 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 din cauza naturii non-gaussiene a zgomotului;

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

Aplicațiile posibile ale analizei spectrale de ordin înalt includ acustică, biomedicină, econometrie, seismologie, oceanografie, fizica plasmei, radar și radar. Funcțiile de bază ale pachetului acceptă spectre de ordin înalt, estimare spectrală încrucișată, modele de predicție liniară și estimare lag.

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 pentru procesarea și analiza digitală a imaginilor. Strâns cuplat cu mediul de dezvoltare a aplicațiilor MATLAB, Image Processing Toolbox vă eliberează de codarea și depanarea algoritmilor, care necesită timp, permițându-vă să vă concentrați pe rezolvarea problemei științifice sau practice principale. Principalele proprietăți ale pachetului:

    restaurarea și evidențierea detaliilor imaginii;

    lucrul cu o zonă selectată a imaginii;

    analiza imaginii;

    filtrare liniară;

    conversia imaginii;

    transformări geometrice;

    creșterea contrastului detaliilor importante;

    transformări binare;

    procesare de imagini și statistici;

    transformări de culoare;

    schimbarea paletei;

    conversie tip imagine.

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ă care vă permite să manipulați imagini, să dezvoltați grafice în mod interactiv, să vizualizați seturi de date și să adnotați rezultatele pentru documente albe, rapoarte și publicații. Flexibilitatea, combinația algoritmilor pachetului cu o astfel de caracteristică MATLAB ca descrierea matrice-vector fac ca pachetul să fie foarte potrivit pentru rezolvarea aproape oricărei probleme în dezvoltarea și prezentarea graficelor. Exemple de utilizare a acestui pachet în mediul de sistem MATLAB au fost date în Lecția 7. MATLAB include proceduri special concepute pentru a îmbunătăți eficiența shell-ului grafic. În special, pot fi remarcate următoarele caracteristici:

    depanare interactivă la dezvoltarea graficelor;

    profiler pentru a optimiza timpul de execuție al 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 la sarcinile utilizatorului.

Acest pachet permite utilizatorului să petreacă mult mai puțin timp și efort creând grafică standard și astfel să concentreze eforturile asupra detaliilor și caracteristicilor importante ale imaginilor.

MATLAB și pachetul de procesare a imaginii sunt adaptate maxim pentru dezvoltarea și implementarea de noi idei și metode ale utilizatorului. În acest scop, există un set de pachete asociate menite să rezolve tot felul de probleme și probleme specifice într-o formulare neconvențională.

Procesarea imaginilor este utilizată în prezent pe scară largă de peste 4.000 de companii și universități din întreaga lume. În același timp, există o gamă foarte largă de probleme pe care utilizatorii le rezolvă cu ajutorul acestui pachet, de exemplu, cercetarea spațială, dezvoltarea 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 de unde scurte). Metodele create relativ recent în pachetul Wavelet extind capacitățile utilizatorului în acele zone în care se utilizează de obicei tehnica de descompunere Fourier. Pachetul poate fi util pentru aplicații precum procesarea vorbirii ș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 analiză, sinteză, filtrare de semnale și imagini;

    transformarea semnalelor continue multidimensionale;

    conversie discretă a semnalului;

    descompunerea și analiza semnalelor și imaginilor;

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

    procesare lot de semnale și imagini;

    analiza pachetelor bazată pe entropie;

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

    compresie optimă a semnalului.

Folosind pachetul, puteți analiza caracteristici pe care alte metode de analiză a semnalului le lipsesc, adică tendințe, valori aberante, pauze în derivate de ordin înalt. Pachetul vă permite să comprimați și să filtrați semnalele fără pierderi evidente, chiar și în cazurile în care trebuie să păstrați atât componentele de înaltă, cât și de joasă frecvență ale semnalului. Există algoritmi de compresie și filtrare pentru procesarea semnalului în lot. Programele de compresie selectează 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 baze wavelet: biorthogonal, Haar, Mexican Hat, Mayer, etc. De asemenea, puteți adăuga propriile baze la pachet.

Un manual de utilizare extins explică modul de lucru cu metodele pachetului, însoțit de numeroase exemple și o secțiune completă de referință.

32. Alte pachete de aplicații

Alte pachete de aplicații

Caseta de instrumente financiare

Un pachet de programe de aplicare pentru calcule financiare și economice destul de relevant pentru perioada noastră de reforme de piață. Conține multe funcții pentru calcularea dobânzii compuse, tranzacții de depozit bancar, calcule de profit și multe altele. Din păcate, din cauza numeroaselor (deși, în general, nu foarte 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 pachetul Datafeed Toolbox MATLAB, atunci, bineînțeles, asigurați-vă că utilizați pachetele de extensie financiară MATLAB.

Pachetul financiar este baza pentru rezolvarea unei varietăți de probleme financiare în MATLAB, de la calcule simple până la aplicații distribuite la scară largă. Pachetul financiar poate fi folosit pentru a calcula ratele dobânzilor și profiturile, pentru a analiza veniturile și depozitele derivate și pentru a optimiza un portofoliu de investiții. Principalele caracteristici ale pachetului:

    procesarea datelor;

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

    analiza serii temporale;

    calcularea randamentului titlurilor de valoare și evaluarea ratelor;

    analiza statistică și a sensibilității pieței;

    calculul veniturilor anuale și calculul fluxului de numerar;

    metode de calcul al amortizarii.

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 pentru investițiile în obligațiuni. Utilizatorul are posibilitatea de a stabili programe non-standard, inclusiv neregulate și inconsecvente pentru tranzacțiile de debit și credit și decontarea finală la rambursarea facturilor. Funcțiile de sensibilitate economică pot fi calculate luând în considerare diferitele scadențe.

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 profitabilitate, încasările de credite și angajamentele totale, să evaluați și să prognozați valoarea unui portofoliu de investiții , și calculați indicatorii 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 față de plăți sau, respectiv, de plăți de numerar față de încasări).

Pachetul financiar conține algoritmi care vă permit să analizați un portofoliu de investiții, dinamica și factorii de sensibilitate economică. În special, atunci când se determină eficacitatea investițiilor, funcțiile pachetului vă permit să creaț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 factorilor de dinamică și de sensibilitate economică permite utilizatorului să determine poziții pentru tranzacții straddle, hedging și tranzacții cu rată fixă. Pachetul financiar oferă, de asemenea, capacități extinse de prezentare și prezentare a datelor și rezultatelor sub formă de grafice și diagrame tradiționale pentru domeniile economic și financiar. Numerarul poate fi afișat în formate zecimale, bancare și procentuale, la discreția utilizatorului.

33. Mapping Toolbox

Pachetul de cartografiere oferă o interfață grafică și de linie de comandă pentru analiza datelor geografice, afișarea hărților și accesarea surselor de date geografice externe. În plus, pachetul este potrivit pentru a lucra 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. Principalele caracteristici 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 interfețe cu date guvernamentale de înaltă rezoluție;

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

    reprezentarea tridimensională a hărților cu evidențiere și umbrire încorporate;

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

Pachetul de cartografiere include peste 60 dintre cele mai cunoscute proiecții, inclusiv cilindrice, pseudo-cilindrice, conice, policonice și pseudo-conice, azimutale și pseudo-azimutale. Sunt posibile proiecții înainte și invers, precum și tipuri nestandard de proiecție specificate de utilizator.

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

Cele mai cunoscute atlasuri din lume, Statele Unite, și atlasele astronomice sunt incluse în pachet. Structura datelor geografice simplifică extragerea și prelucrarea datelor din atlase și hărți. Structura datelor geografice și funcționalitatea pentru interacțiunea cu datele geografice externe în formatele 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 atentă 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. Caracteristicile de navigare oferă capabilități puternice 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 extindere legat de domeniul achiziției de date 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 cu o interfață serială și cu interfețele 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ă creaț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. Vă permite să efectuați animație și animație tridimensională, inclusiv modele Simulink. Limbaj de programare - VRML - limbaj de modelare a realitatii virtuale (Virtual Reality Modeling Language). Animația poate fi vizualizată de pe orice computer echipat cu un browser care acceptă VRML. 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 suplimentat cu butoane getmatrix, putmatrix, evalstring. Pentru a închide MATLAB din Excel, trebuie doar să tastați =MLC1ose() în orice celulă Excel. Pentru a 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 > Execute mat! abi ni t. Cu mouse-ul selectat într-un interval de celule Excel, puteți să faceți clic pe getmatrix și să tastați numele variabilei MATLAB. Matricea va apărea în Excel. După ce ați completat un interval de celule Excel cu numere, puteți evidenția intervalul, faceți clic pe putmatrix și introduceți numele variabilei MATLAB. Operația este așadar intuitivă. Spre deosebire de MATLAB, Excel Link nu face distincție între majuscule și minuscule: I și i, J și j sunt echivalente.

Apelați demonstrații ale pachetelor de extensii.

). Printre instrumentele de uz general utilizate în chimiometrie, pachetul MatLab ocupă un loc special. Popularitatea lui este neobișnuit de mare. Acest lucru se datorează faptului că MatLab este puternic și versatil pentru procesarea datelor multidimensionale. Însăși structura pachetului îl face un instrument convenabil pentru efectuarea calculelor matriceale. Gama de probleme care pot fi studiate folosind MatLab include: analiza matricei, procesarea semnalului și a imaginilor, rețelele neuronale și multe altele. MatLab este un limbaj open-source de nivel înalt, care permite utilizatorilor avansați să înțeleagă algoritmii programați. Un limbaj de programare simplu încorporat facilitează crearea propriilor algoritmi. De-a lungul multor ani de utilizare a MatLab, au fost create un număr mare de funcții și ToolBoxes (pachete de instrumente specializate). Cel mai popular este pachetul PLS ToolBox de la Eigenvector Research, Inc.

1. Informații de bază

1.1. Mediul de lucru MatLab

Pentru a lansa programul, faceți dublu clic pe pictogramă. Mediul de lucru prezentat în figură se va deschide în fața dvs.

Mediu de lucru MatLab 6.x ușor diferit de spațiul de lucru al versiunilor anterioare, are o interfață mai convenabilă pentru accesarea multor elemente suport

Mediu de lucru MatLab 6.x conţine următoarele elemente:

    bară de instrumente cu butoane și listă derulantă;

    fereastra cu file Launch Pad și Spațiul de lucru, de pe care puteți accesa diverse module ToolBox și conținutul workbench;

    fereastra cu file Istoricul comenzilorȘi Directorul curent, destinat pentru vizualizarea și reapelarea comenzilor introduse anterior, precum și pentru setarea directorului curent;

    o fereastră de comandă care conține promptul „input” și un cursor vertical care clipește;

    bara de stare.

Dacă într-un mediu de lucru MatLab 6.x Dacă unele ferestre prezentate în figură lipsesc, ar trebui să selectați elementele corespunzătoare din meniul Vizualizare: Fereastra de comandă, Istoricul comenzilor , Directorul curent , Spațiul de lucru , Launch Pad .

Comenzile trebuie introduse în fereastra de comandă. Simbolul » , care indică o linie de comandă promptă, nu trebuie să fie introdus. Pentru a vizualiza zona de lucru, este convenabil să utilizați barele de defilare sau tastele Acasă, Sfârșit pentru a vă deplasa la stânga sau la dreapta și Pagină în sus, Pag în jos pentru a vă deplasa în sus sau în jos. Dacă brusc, după ce vă deplasați în zona de lucru a ferestrei de comandă, linia de comandă cu cursorul intermitent dispare, trebuie doar să apăsați Enter.

Este important să ne amintim că tastarea oricărei comenzi sau expresii trebuie să se încheie cu apăsarea Enter pentru ca MatLab să execute acea comandă sau să evalueze expresia.

1.2. Calcule simple

Tastați 1+2 la linia de comandă și apăsați Enter. Ca rezultat, fereastra de comandă MatLab afișează următoarele:

Orez. 2 Reprezentarea grafică a analizei componentelor principale

Ce a făcut programul MatLab? Mai întâi, ea a calculat suma 1+2, apoi a scris rezultatul într-o variabilă specială ans și a afișat valoarea acesteia, egală cu 3, în fereastra de comandă. Sub răspuns este o linie de comandă cu un cursor care clipește, indicând faptul că MatLab este pregătit pentru calcule suplimentare. Puteți introduce expresii noi pe linia de comandă și puteți găsi semnificațiile acestora. Dacă trebuie să continuați să lucrați cu expresia anterioară, de exemplu, să calculați (1+2)/4,5, atunci cea mai ușoară modalitate este să utilizați rezultatul existent, care este stocat în variabila ans. Tastați ans/4.5 (se folosește un punct când introduceți zecimale) și apăsați introduce, se dovedește

Orez. 3 Reprezentarea grafică a analizei componentelor principale

1.3. Echo comenzi

Executarea fiecărei comenzi în MatLab este însoțită de un ecou. În exemplul de mai sus, răspunsul este ans = 0,6667. Adesea, ecoul face dificilă perceperea funcționării programului și apoi poate fi oprit. Pentru a face acest lucru, comanda trebuie să se încheie cu punct și virgulă. De exemplu

Orez. 4 Exemplu de introducere a funcției ScoresPCA

1.4. Conservarea mediului de lucru. fișiere MAT

Cel mai simplu mod de a salva toate valorile variabilelor este să utilizați opțiunea Salvare spațiu de lucru ca din meniul Fișier. Aceasta va deschide caseta de dialog Salvare variabile spațiu de lucru, în care trebuie să specificați directorul și numele fișierului. În mod implicit, se propune salvarea fișierului în subdirectorul de lucru al directorului principal MatLab. Programul va salva rezultatele muncii sale într-un fișier cu extensia. Acum puteți închide MatLab. În următoarea sesiune de lucru, pentru a restabili valorile variabilelor, ar trebui să deschideți acest fișier salvat folosind subelementul Deschidere din meniul Fișier. Acum toate variabilele definite în ultima sesiune sunt din nou disponibile. Ele pot fi folosite în comenzile nou introduse.

1.5. Revistă

MatLab are capacitatea de a scrie comenzi executabile și rezultate într-un fișier text (păstrați un jurnal de lucru), care poate fi apoi citit sau tipărit dintr-un editor de text. Pentru a începe înregistrarea, utilizați comanda jurnal. Ca argument de comandă jurnal ar trebui să specificați numele fișierului în care va fi stocat jurnalul de lucru. Comenzile tastate mai departe și rezultatele executării lor vor fi scrise în acest fișier, de exemplu o secvență de comenzi

efectuează următoarele acțiuni:

    deschide jurnalul în fișierul exampl-1.txt;

    efectuează calcule;

    salvează toate variabilele în fișierul MAT work-1.mat ;

    salvează jurnalul în fișierul exampl-1.txt în subdirectorul de lucru al directorului rădăcină MatLab și închide MatLab;

Priviți conținutul fișierului exampl-1.txt într-un editor de text. Fișierul va conține următorul text:

a1=3;
a2=2,5;
a3=a1+a2

Salvați munca-1
părăsi

1.6. Sistem de ajutor

Fereastra de ajutor MatLab apare după selectarea opțiunii Fereastra de ajutor din meniul Ajutor sau făcând clic pe butonul de întrebare din bara de instrumente. Aceeași operațiune poate fi efectuată prin tastarea comenzii helpwin. Pentru a afișa ferestre de ajutor pentru subiecte individuale, tastați helpwin subiect. Fereastra de ajutor vă oferă aceleași informații ca și comanda de ajutor, dar interfața ferestrei oferă o legătură mai convenabilă către alte subiecte de ajutor. Folosind adresa paginii Web Math Works, puteți accesa serverul companiei și puteți obține cele mai recente informații despre problemele care vă interesează. Puteți verifica noi produse software sau puteți găsi răspunsuri la problemele dvs. pe pagina de asistență tehnică.

2. Matrici

2.1. Scalari, vectori și matrici

În MatLab puteți utiliza scalari, vectori și matrici. Pentru a introduce un scalar, este suficient să îi atribuiți valoarea unei variabile, de exemplu

Rețineți că MatLab face distincție între literele mari și mari, astfel încât p și P sunt variabile diferite. Pentru a introduce matrice (vectori sau matrice), elementele lor sunt cuprinse între paranteze pătrate. Deci, pentru a introduce un vector rând 1x3, utilizați următoarea comandă, în care elementele rând sunt separate prin spații sau virgule.

La introducerea unui vector coloană, elementele sunt separate prin punct și virgulă. De exemplu,

Este convenabil să introduceți matrice mici direct din linia de comandă. În intrare, o matrice poate fi gândită ca un vector coloană, fiecare element al căruia este un vector rând.

sau o matrice poate fi tratată ca un vector rând, fiecare element al căruia este un vector coloană.

2.2. Accesarea elementelor

Accesul la elementele matricei se realizează folosind doi indici - numere de rând și de coloană cuprinse între paranteze, de exemplu, comanda B(2,3) va returna elementul din al doilea rând și din a treia coloană a matricei B. Pentru a selecta o coloană sau un rând dintr-o matrice, utilizați numărul coloanei sau rândului matricei ca unul dintre indecși și înlocuiți celălalt index cu două puncte. De exemplu, să scriem al doilea rând al matricei A în vectorul z

De asemenea, puteți selecta blocuri matrice folosind două puncte. De exemplu, să selectăm din matricea P un bloc marcat cu culoare

Dacă trebuie să vizualizați variabilele mediului de lucru, trebuie să introduceți comanda pe linia de comandă cui .

Se poate observa că mediul de lucru conține un scalar (p), patru matrice (A, B, P, P1) și un vector rând (z).

2.3. Operații de bază cu matrice

Când utilizați operații cu matrice, rețineți că pentru adunare sau scădere, matricele trebuie să aibă aceeași dimensiune, iar la înmulțire, numărul de coloane din prima matrice trebuie să fie egal cu numărul de rânduri din a doua matrice. Adunarea și scăderea matricelor, precum și a numerelor și a vectorilor, se realizează folosind semnele plus și minus

iar înmulțirea este marcată cu un asterisc *. Să introducem o matrice de dimensiune 3×2

Înmulțirea unei matrice cu un număr se face și cu ajutorul unui asterisc și puteți înmulți cu un număr atât în ​​dreapta cât și în stânga. Ridicarea unei matrice pătrate la o putere întreagă se face folosind operatorul ^

Verificați rezultatul înmulțind matricea P cu ea însăși.

2.4. Crearea de matrici de tip special

Umplerea unei matrice dreptunghiulare cu zerouri este realizată de funcția încorporată zerouri

Matricea de identitate este creată folosind funcția ochi

O matrice formată din unii se formează ca urmare a apelării funcției cele

MatLab oferă capacitatea de a umple matrice cu numere aleatorii. Rezultatul funcției rand este o matrice de numere distribuite uniform între zero și unu și funcțiile randn- o matrice de numere distribuite după o lege normală cu medie zero și varianță unitară.

Funcţie diag formează o matrice diagonală dintr-un vector, dispunând elementele de-a lungul diagonalei.

2.5. Calculele matriceale

MatLab conține multe funcții diferite pentru lucrul cu matrice. Deci, de exemplu, transpunerea unei matrice se face folosind un apostrof "

Matricea inversă se găsește folosind funcția inv pentru matrice pătrată

3. Integrarea MatLab și Excel

Integrarea MatLab și Excel permite utilizatorului Excel să acceseze numeroase funcții MatLab pentru prelucrarea datelor, diferite calcule și vizualizarea rezultatului. Suplimentul excllink.xla implementează această extensie Excel. Sunt definite funcții speciale pentru comunicarea între MatLab și Excel.

3.1. Configurare Excel

Înainte de a configura Excel pentru a lucra împreună cu MatLab, ar trebui să vă asigurați că Excel Link este inclus în versiunea instalată a MatLab. În subdirectorul exclink al directorului principal MatLab sau în subdirectorul toolbox-ului ar trebui să existe un fișier cu programul de completare excllink.xla. Lansați Excel și selectați Add-in-uri din meniul Instrumente. Se va deschide o casetă de dialog care conține informații despre suplimentele disponibile în prezent. Utilizând butonul Răsfoire, specificați calea către fișierul excllink.xla. Linia apare în lista de suplimente din caseta de dialog Excel Link 2.0 pentru utilizare cu MatLab cu steagul pus. Faceți clic pe OK, programul de completare necesar a fost adăugat în Excel.

Vă rugăm să rețineți că Excel are acum o bară de instrumente Excel Link care conține trei butoane: putmatrix, getmatrix, evalstring. Aceste butoane implementează acțiunile de bază necesare implementării relației dintre Excel și MatLab - schimbul de date matrice și executarea comenzilor MatLab din mediul Excel. Când Excel este lansat din nou, programul de completare excllink.xla este conectat automat.

Lucrarea coordonată a Excel și MatLab necesită mai multe setări, care sunt acceptate implicit în Excel (dar pot fi modificate). În meniul Instrumente, accesați Opțiuni, se deschide caseta de dialog Opțiuni. Selectați fila General și asigurați-vă că indicatorul de stil de referință R1C1 este dezactivat, de exemplu. celulele sunt numerotate A1, A2 etc. În fila Editare, trebuie setată selecția Mutare după Enter.

3.2. Schimb de date între MatLab și Excel

Lansați Excel, verificați dacă toate setările necesare au fost făcute așa cum este descris în secțiunea anterioară (MatLab trebuie să fie închis). Introduceți o matrice în celulele de la A1 la C3, folosind un punct pentru a separa zecimale, așa cum este cerut de Excel.

Selectați datele celulei de pe foaie și faceți clic pe butonul putmatrix, apare o fereastră Excel cu un avertisment că MatLab nu rulează. Faceți clic pe OK, așteptați deschiderea MatLab.

Apare o casetă de dialog Excel cu o linie de introducere pentru a specifica numele variabilei de lucru MatLab în care ar trebui să fie exportate datele din celulele Excel selectate. De exemplu, introduceți M și închideți fereastra folosind butonul OK. Accesați fereastra de comandă MatLab și asigurați-vă că variabila M este creată în bancul de lucru, care conține o matrice de trei pe trei:

Faceți unele operații în MatLab cu matricea M, de exemplu, inversați-o.

Apel inv Pentru a inversa o matrice, ca orice altă comandă MatLab, o puteți face direct din Excel. Făcând clic pe butonul evalstring situat în panoul Excel Link, apare o casetă de dialog, în a cărei linie de introducere ar trebui să tastați comanda MatLab

IM=inv(M).

Rezultatul este similar cu cel obținut la executarea comenzii în mediul MatLab.

Reveniți la Excel, faceți din celula A5 celula curentă și faceți clic pe butonul getmatrix. Apare o casetă de dialog cu o linie de introducere care vă cere să introduceți numele variabilei de importat în Excel. În acest caz, o astfel de variabilă este IM. Faceți clic pe OK, celulele A5 până la A7 au elementele matricei inverse introduse.

Deci, pentru a exporta o matrice în MatLab, ar trebui să selectați celulele corespunzătoare ale foii Excel, iar pentru a o importa, trebuie doar să specificați o celulă, care va fi elementul din stânga sus al matricei importate. Elementele rămase vor fi scrise în celulele foii de lucru în funcție de dimensiunile matricei, suprascriind datele conținute în ele, așa că ar trebui să fiți atenți când importați matrice.

Abordarea de mai sus este cea mai simplă modalitate de a face schimb de informații între aplicații - datele sursă sunt conținute în Excel, apoi exportate în MatLab, procesate acolo într-un fel și rezultatul este importat în Excel. Utilizatorul transferă date utilizând butoanele din bara de instrumente Excel Link. Informațiile pot fi prezentate sub forma unei matrice, de ex. zona dreptunghiulară a foii de lucru. Celulele aranjate într-un rând sau coloană sunt exportate, respectiv, în vectori rând și, respectiv, în vectori coloană MatLab. Importul vectorilor rând și al vectorilor coloane în Excel are loc într-un mod similar.

4. Programare

4.1. Fișiere M

Lucrul din linia de comandă MatLab devine dificil dacă trebuie să introduceți o mulțime de comenzi și să le schimbați frecvent. Păstrarea unui jurnal folosind o comandă jurnal iar menținerea mediului de lucru ușurează puțin munca. Cea mai convenabilă modalitate de a executa grupuri de comenzi MatLab este să utilizați fișiere M, în care puteț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 utilizați mai târziu. Editorul de fișiere M este proiectat să funcționeze cu fișiere M. Cu ajutorul acestuia, puteți crea propriile funcții și le puteți apela, inclusiv din fereastra de comandă.

Extindeți meniul Fișier al ferestrei principale MatLab și, în elementul Nou, selectați subelementul M-file. Noul fișier se deschide în fereastra editorului de fișiere M, care este prezentată în figură.

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 de fișier, ( Funcția M-Files), care descriu funcțiile definite de utilizator.

4.2. Program de fișiere

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

Acum salvați fișierul numit mydemo.m în subdirectorul de lucru al directorului principal MatLab, selectând Salvare ca din meniul Fișier al editorului. Pentru a rula toate comenzile conținute în fișier, selectați Executare din meniul Depanare. Pe ecran va apărea o fereastră grafică figura 1, care conțin grafice ale funcțiilor.

Fișier comenzile programului de ieșire în fereastra de comandă. Pentru a suprima ieșirea, trebuie să terminați comenzile cu punct și virgulă. Dacă se comite o eroare la tastare și MatLab nu poate recunoaște comanda, atunci se execută comenzile până la cea introdusă incorect, după care se afișează 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 1. Selectați folosind mouse-ul în timp ce țineți apăsat butonul din stânga sau folosind tastele săgeți în timp ce țineți apăsată tasta Schimb, primele patru comenzi și executați-le din elementul Text. Vă rugăm să rețineți că în fereastra grafică a fost afișat un singur grafic, corespunzător comenzilor executate. Amintiți-vă că pentru a executa unele comenzi, selectați-le și apăsați tasta F9.

Blocurile individuale ale fișierului M pot fi furnizate cu comentarii, care sunt sărite în timpul execuției, dar sunt convenabile atunci când lucrați cu fișierul M. Comentariile încep cu un semn de procent și sunt evidențiate automat în verde, de exemplu:

Deschiderea unui fișier M existent se face folosind elementul Deschidere din meniul Fișier al mediului de lucru sau editorul de fișiere M.

4.3. Funcția fișier

Programul de fișiere discutat mai sus este doar o secvență de comenzi MatLab; nu are argumente de intrare sau de ieșire. Pentru a utiliza metode numerice și atunci când vă programați propriile aplicații în MatLab, trebuie să puteți crea funcții de fișier care efectuează acțiunile necesare cu argumente de intrare și returnează rezultatul acțiunii în argumente de ieșire. Să ne uităm la câteva exemple simple pentru a vă ajuta să înțelegeți cum să lucrați cu funcțiile fișierelor.

La preprocesarea datelor din analiza chimiometrică multivariată, centrarea este adesea folosită. Este logic să scrieți funcția de fișier o dată și apoi să o apelați oriunde trebuie să faceți centrarea. Deschideți un fișier nou în editorul de fișiere M și tastați

Cuvântul funcție din prima linie specifică faptul că acest fișier conține un fișier de funcție. Prima linie este antetul funcției, care conține numele funcției și o listă de argumente de intrare și de ieșire. În exemplu, numele funcției este centrare, un argument de intrare este X și unul de ieșire este Xc. Antetul este urmat de comentarii, iar apoi corpul funcției (în acest exemplu este format din două linii), unde este calculată valoarea acesteia. Este important ca valoarea calculată să fie scrisă în Xc. Nu uitați să includeți un punct și virgulă pentru a preveni afișarea informațiilor inutile pe ecran. Acum salvați fișierul în directorul dvs. de lucru. Vă rugăm să rețineți că selectarea Salvare sau Salvare ca din meniul Fișier are ca rezultat o casetă de dialog Salvare fișier, cu câmpul Nume fișier conținând deja centrarea numelui. Nu-l schimbați, salvați fișierul cu funcție într-un fișier cu numele sugerat!

Acum funcția creată poate fi folosită în același mod ca și sin, cos și altele încorporate. Funcțiile proprii pot fi apelate dintr-un program de fișiere și dintr-o altă funcție de fișier. Încercați să scrieți singur o funcție de fișier care va scala matrice, de exemplu. împărțiți fiecare coloană la abaterea standard pentru acea coloană.

Puteți scrie un fișier funcție cu mai multe argumente de intrare, care sunt plasate într-o listă separată prin virgulă. De asemenea, puteți crea funcții care returnează mai multe valori. Pentru a face acest lucru, argumentele de ieșire sunt adăugate, separate prin virgule, la lista de argumente de ieșire, iar lista în sine este cuprinsă între paranteze drepte. Un bun exemplu este o funcție care convertește un timp specificat în secunde în ore, minute și secunde.

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

4.4 Crearea unui grafic

MatLab are capacități extinse pentru afișarea grafică a vectorilor și matricelor, precum și pentru crearea de comentarii și imprimarea graficelor. Să descriem câteva funcții grafice importante.

Funcţie complot are diverse forme asociate cu parametrii de intrare, de exemplu plot(y) creează un grafic liniar pe bucăți al elementelor y față de indicii acestora. Dacă doi vectori sunt dați ca argumente, plot(x,y) va crea un grafic de y față de x. De exemplu, pentru a reprezenta grafic funcția sin în intervalul de la 0 la 2π, faceți următoarele

Programul a construit un grafic de dependență, care este afișat în fereastră figura 1

MatLab atribuie automat o culoare diferită fiecărei parcele (cu excepția cazului în care utilizatorul face acest lucru), permițându-vă să distingeți între seturile de date.

Echipă stai vă permite să adăugați curbe unui grafic existent. Funcţie subplot vă permite să afișați mai multe grafice într-o singură fereastră

4.5 Tipărirea graficelor

Elementul Imprimare din meniul Fișier și comanda imprimare tipăriți grafice MatLab. Meniul Imprimare afișează o casetă de dialog care vă permite să selectați opțiunile standard de imprimare comune. Echipă imprimare oferă o mai mare flexibilitate în ieșire și permite controlul asupra tipăririi din fișierele M. Rezultatul poate fi trimis direct la imprimanta implicită sau salvat într-un fișier specificat.

5. Exemple de programe

Această secțiune descrie cei mai des utilizați algoritmi utilizați în analiza datelor multidimensionale. Sunt luate în considerare atât cele mai simple metode de transformare a datelor - centrarea și scalarea - cât și algoritmii de analiză a datelor - PCA, PLS.

5.1. Centrare și scalare

Adesea, în timpul analizei, este necesară transformarea datelor originale. Cele mai frecvent utilizate metode pentru transformarea datelor sunt centrarea și scalarea fiecărei variabile prin abaterea sa standard. S-a dat codul funcției pentru centrarea matricei. Prin urmare, mai jos este afișat doar codul funcției care cântare date. Vă rugăm să rețineți că matricea originală trebuie să fie centrată

funcția Xs = scalare(X)
% scalare: matricea de ieșire este Xs
% matricea X trebuie să fie centrată

Xs = X * inv(diag(std(X)));

% sfârşit de scalare

5.2. SVD/PCA

Cea mai populară metodă de compresie a datelor în analiza multivariată este analiza componentelor principale (PCA). Din punct de vedere matematic, PCA este o descompunere a matricei originale X, adică reprezentarea sa ca produs a două matrici TȘi P

X = TP t+ E

Matrice T se numește matrice de scoruri, matricea se numește matrice de reziduuri.

Cel mai simplu mod de a găsi matrici TȘi P- utilizați descompunerea SVD printr-o funcție standard MatLab numită svd .

funcția = pcasvd(X)

Svd(X);
T = U * D;
P=V;

%final de pcasvd

5.3 PCA/NIPALS

Pentru a construi conturi și încărcări PCA, se folosește algoritmul recurent NIPALS, care calculează o componentă la fiecare pas. Mai întâi matricea originală X se transformă (la minim - centrat; vezi) și se transformă într-o matrice E 0 , A=0. În continuare, se aplică următorul algoritm.

t 2. p t = t t EA / t t t 3. p = p / (p t p) ½ 4. t = EA p / p t p 5. Verificați convergența, dacă nu, atunci treceți la 2

După calcularea următoarei ( A-th) componente, presupunem tA=tȘi pA=p E A+1 = EAt p A pe A+1.

Codul pentru algoritmul NIPALS poate fi scris chiar de cititori; în acest manual, autorii prezintă propria versiune. Când calculați PCA, puteți introduce numărul de componente principale (număr variabilPC). Dacă nu știți de câte componente sunt necesare, ar trebui să scrieți = pcanipals (X) pe linia de comandă și apoi programul va seta numărul de componente egal cu cea mai mică dintre dimensiunile matricei originale. X.

funcția = pcanipals(X, numărPC)

% calcul al numărului de componente
= dimensiune(X); P=; T=;

Dacă lungimea (numărPC) > 0
pc = numărPC(1);
elseif (lungime (numărPC) == 0) și X_r< X_c
pc = X_r;
altfel
pc = X_c;
Sfârşit;

pentru k = 1:buc
P1 = rand(X_c, 1); T1 = X * P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1))"; P1 = P1/normă(P1); T1 = X * P1; d = T1" * T1;

În timp ce d - d0 > 0,0001;
P1 = (T1" * X/(T1" * T1)); P1 = P1/norma(P1); T1 = X * P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1)); P1 = P1/norma(P1); T1 = X * P1; d = T1"*T1;
Sfârşit

X = X - T1 * P1; P = cat(1, P, P1"); T = ;
Sfârşit

Cum se calculează PCA utilizând suplimentul Chemometrics este descris în tutorial

5.4PLS1

Cea mai populară metodă de calibrare multivariată este metoda Projection to Latent Structures (PLS). Această metodă implică descompunerea simultană a matricei predictoare Xși matrice de răspuns Y:

X=TP t+ E Y=UQ t+ F T=XW(P t W) –1

Proiecția este construită în mod consecvent - astfel încât să maximizeze corelația dintre vectorii corespunzători X-conturi tAȘi Y-conturi uA. Dacă blocul de date Y include răspunsuri multiple (de ex. K>1), se pot construi două proiecții ale datelor inițiale – PLS1 și PLS2. În primul caz, pentru fiecare dintre răspunsuri y k este construit propriul său subspațiu de proiecție. În același timp, facturile T (U) și încărcături P (W, Q) depind de răspunsul utilizat. Această abordare se numește PLS1. Pentru metoda PLS2, este construit un singur spațiu de proiecție, care este comun tuturor răspunsurilor.

O descriere detaliată a metodei PLS este dată în această carte.Pentru a construi conturi și încărcări PLS1, se folosește un algoritm recurent. Mai întâi matricele originale XȘi Y centru

= mc(X);
= mc(Y);

și se transformă într-o matrice E 0 și vector f 0 , A=0. Apoi li se aplică următorul algoritm

1. w t = fA t E A 2. w = w / (w t w) ½ 3. t = EA w 4. q = t t fA / t t t 5. u = qfA / q 2 6. p t = t t EA / t t t

După calcularea următoarei ( A-th) componente, presupunem tA=tȘi pA=p. Pentru a obține următoarea componentă, trebuie să calculați restul E A+1 = EAt p t și le aplicați același algoritm, înlocuind indexul A pe A+1.

Iată codul pentru acest algoritm luat din carte

funcția = pls(x, y)
%PLS: calculează o componentă PLS.
% Vectorii de ieșire sunt w, t, u, q și p.
%
% Alegeți un vector din y ca vector de pornire u.

u = y(:, 1);

% Criteriul de convergență este stabilit foarte ridicat.
kri = 100;

% Comenzile de aici până la capăt se repetă până la convergență.
în timp ce (kri > 1e - 10)

% Fiecare vector de pornire u este salvat ca uold.
uold = u; w = (u" * x)"; w = w/normă(w);
t = x * w; q = (t" * y)"/(t" * t);
u = y * q/(q" * q);

% Criteriul de convergenţă este norma u-uold împărţită la norma u.
kri = norm(uold - u)/norm(u);
Sfârşit;

% După convergenţă, se calculează p.
p = (t" * x)"/(t" * t);

% Sfârșitul pls

Despre calcularea PLS1 folosind programul de completare ChimiometrieAdauga la descrise în manualul Metode de proiecție în Excel.

5.5PLS2

Pentru PLS2 algoritmul este următorul. Mai întâi matricele originale XȘi Y transformă (cel puțin - centru; vezi), și se transformă în matrici E 0 și F 0 , A=0. Apoi li se aplică următorul algoritm.

1. Selectați vectorul inițial u 2. w t = u t E A 3. w = w / (w t w) ½ 4. t = EA w 5. q t = t t FA / t t t 6. u = FA q/ q t q 7. Verificați convergența, dacă nu, atunci treceți la 2 8. p t = t t EA / t t t

După calcularea următoarei ( A oh) Componentele PLS2 trebuie puse: tA=t, pA=p,wA=w, uA=uȘi q a = q. Pentru a obține următoarea componentă, trebuie să calculați restul E A+1 = EAtp t si FA +1 = F Atq t și le aplicați același algoritm, înlocuind indexul A pe A+1.

Iată codul, care este și el împrumutat din carte.

funcția = plsr(x, y, a)
% PLS: calculează o componentă PLS.
% Matricele de ieșire sunt W, T, U, Q și P.
% B conține coeficienții de regresie și SS sumele
% pătrate pentru reziduuri.
% a este numărul de componente.
%
% Pentru componente: utilizați toate comenzile pentru a termina.

Pentru i=1:a
% Calculați suma pătratelor. Utilizați funcția ss.
sx = ;
sy = ;

% Utilizați funcția pls pentru a calcula o componentă.
= pls(x, y);

% Calculați reziduurile.
x = x - t * p";
y = y - t * q";

% Salvați vectorii în matrice.
W = ;
T = ;
U = ;
Q = ;
P = ;
Sfârşit;

% Calculați coeficienții de regresie după buclă.
B=W*inv(P"*W)*Q";

% Adăugați SS rezidual final la suma vectorilor pătrate.
sx=;
sy=;

% Faceți o matrice a vectorilor ss pentru X și Y.
SS = ;

%Calculați fracția de SS utilizată.
= dimensiune(SS);
tt = (SS * diag(SS(1,:).^(-1)) - cele (a, b)) * (-1)

% Sfârșitul plsr

functie = ss(x)
%SS: calculează suma pătratelor unei matrice X.
%

ss=sum(sum(x. * x));
%Sfârșitul ss

Despre calcularea PLS2 folosind programul de completare ChimiometrieAdauga la descrise în manualul Metode de proiecție în Excel.

Concluzie

MatLab este un instrument foarte popular pentru analiza datelor. Potrivit sondajului, până la o treime din toți cercetătorii îl folosesc, în timp ce programul Unsrambler este folosit de doar 16% dintre oamenii de știință. Principalul dezavantaj al MatLab este prețul ridicat. În plus, MatLab este bun pentru calcule de rutină. Lipsa interactivității face incomod atunci când se efectuează căutări, calcule de cercetare pentru seturi de date noi, neexplorate.