Pachetul software Matlab. Descrierea programului Matlab

). 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 de nivel înalt care are sursa deschisa, care permite utilizatorilor experimentaț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 la care puteți accesa diverse module ToolBox și la conținutul mediului de lucru;

    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. A vedea Zona de lucru convenabil de utilizat barele de defilare sau Cheile de acasă, End , pentru a vă deplasa la stânga sau la dreapta și PageUp , Pagedown 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 cel mai simplu mod este să utilizați rezultatul existent, care este stocat în variabila ans. Tastați ans/4.5 (când introduceți zecimale se folosește punctul) ș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 recomandă 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 sub-elementul 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. Alte comenzi tastate ș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;

Uitați-vă la conținutul fișierului exampl-1.txt în unele 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ă mai multe comunicare convenabilă cu alte subiecte de ajutor. Folosind adresa paginii web Math Works, puteți accesa serverul companiei și puteți obține maximum ultimele informații pentru întrebări 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 capital și litere mari, deci 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ă incluse în paranteze rotunde, de exemplu, comanda B(2,3) va produce elementul din al doilea rând și 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 a adăuga sau scădea, 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 rezultat al 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 diverse funcții pentru lucrul cu matrici. Deci, de exemplu, transpunerea unei matrice se face folosind un apostrof "

Găsind matrice inversă efectuate cu ajutorul funcției 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. Implementele suplimentului excllink.xla această extensie Capabilitati 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ă 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 cele disponibile acest moment suprastructuri. Utilizând butonul Răsfoire, specificați calea către fișierul excllink.xla. În lista de suplimente căsuță de dialog va apărea linia 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.

De acord Excel lucru iar MatLab necesită încă câteva 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ă totul a fost făcut setările necesare 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 concepută pentru a specifica numele variabilei de mediu de lucru MatLab în care ar trebui să exportați datele din celule Excel. De exemplu, introduceți M și închideți fereastra folosind butonul OK. Schimba cu fereastra de comandă MatLab și asigurați-vă că este creată o variabilă M în bancul de lucru care conține o matrice de trei câte 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 î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 matricea în MatLab, ar trebui să selectați celule adecvate Foaie Excel, iar pentru a importa este suficient 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. Importarea vectorilor rând și a 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. Cel mai într-un mod convenabil Executarea grupurilor de comenzi MatLab este utilizarea fișierelor M, în care puteți introduce comenzi, le puteți executa pe toate odată sau în părți, le puteți salva într-un fișier și le puteți utiliza 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

Apelează redactor de echipă, ceea ce duce la construirea a două grafice pe 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 cu mouse-ul în timp ce țineți apăsat butonul din stanga, sau 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:

Deschidere fișier M existent se realizează utilizând elementul de meniu Deschidere 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ă, dacă selectați Salvare sau Salvare ca din meniul Fișier, apare 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 oportunități ample pentru imagine grafică vectori și matrice, 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 lui y față de indicii lor. Dacă doi vectori sunt dați ca argumente, plot(x,y) va produce un grafic al lui 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 la ieșire și permite controlul asupra tipăririi din fișiere 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 după abaterea sa standard. A fost 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 lor 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 proiecției la structuri latente (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 se construieşte 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, este utilizat 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 = EAt p 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 acesta preț mare. În plus, MatLab este bun pentru calculele de rutină. Lipsa interactivității face incomod atunci când se efectuează căutări, calcule de cercetare pentru seturi de date noi, neexplorate.

    Principalele caracteristici ale pachetuluiMatlab

    Pachetul seturi de instrumenteMatlab

    Structura și ferestrele de lucru ale pachetuluiMatlab

    Lucrul în mod de echipă

    Elemente de bază ale unui limbaj de programareMatlab

1. Principalele caracteristici ale pachetului Matlab

MATLAB(Prescurtare de la „Matrix Laboratory”) este un pachet de programe de aplicație pentru rezolvarea problemelor tehnice de calcul și limbajul de programare cu același nume utilizat în acest pachet. MATLAB este folosit de peste 1.000.000 de ingineri și oameni de știință și rulează pe majoritatea sistemelor de operare moderne, inclusiv Linux, Mac OS, Solaris (Solaris nu mai este acceptat începând cu R2010b) și Microsoft Windows.

Poveste. MATLAB ca limbaj de programare a fost dezvoltat de Cleve Moler la sfârșitul anilor 1970, când era decan al departamentului de informatică de la Universitatea din New Mexico. Scopul dezvoltării a fost de a oferi studenților facultății posibilitatea de a utiliza bibliotecile software Linpack și EISPACK fără a fi nevoie să studieze Fortran. Noua limbă s-a răspândit curând printre alte universități și a fost primită cu mare interes de oamenii de știință care lucrau în domeniul matematicii aplicate. O versiune din 1982 scrisă în Fortran, distribuită ca sursă deschisă, mai poate fi găsită pe Internet. Inginerul John N. (Jack) Little a fost introdus în limbă în timpul vizitei lui Cleve Mowler la Universitatea Stanford în 1983. Realizând că noua limbă are un mare potențial comercial, a făcut echipă cu Cleve Mowler și Steve Bangert. Împreună au rescris MATLAB în C și au fondat compania The MathWorks în 1984 pentru a dezvoltare ulterioară. Aceste biblioteci, rescrise în C, au fost cunoscute de multă vreme sub numele JACKPAC. MATLAB a fost inițial destinat proiectării sistemelor de control (specialitatea lui John Little), dar a câștigat rapid popularitate în multe alte domenii științifice și inginerie. De asemenea, a fost utilizat pe scară largă în educație, în special pentru predarea algebrei liniare și a metodelor numerice.

Descrierea limbajului MATLAB. Limbajul MATLAB este de nivel înalt limbaj de programare interpretat, inclusiv cele bazate pe matrici structuri de date, o gamă largă de funcții, un mediu de dezvoltare integrat, capabilități orientate pe obiecte și interfețe pentru programe scrise în alte limbaje de programare.

Programele scrise în MATLAB sunt de două tipuri - funcțiiȘi scenarii.

Funcțiile au argumente de intrare și de ieșire, precum și ale lor spatiu de lucru pentru stocarea rezultatelor de calcul intermediare și a variabilelor.

Scripturile folosesc un spațiu de lucru comun. Atât scripturile, cât și funcțiile nu se compilează la Codul mașiniiși sunt salvate ca fișiere text.

De asemenea, este posibil să salvați așa-numitele pre-analizat programe - funcții și scripturi procesate într-o formă convenabilă pentru execuția mașinii. ÎN caz general Astfel de programe rulează mai repede decât cele obișnuite, mai ales dacă funcția conține comenzi de graficare.

Principala caracteristică a limbajului MATLAB este capabilitățile sale largi de lucru cu matrici, pe care creatorii limbajului le-au exprimat în sloganul „gândesc vectorial”. Gândi vectorizat).

Aplicarea MATLAB.

Matematică și calcule. MATLAB oferă utilizatorului un număr mare (câteva sute) de funcții pentru analiza datelor, acoperind aproape toate domeniile matematicii, în special:

    Matrici și algebră liniară - algebră matrice, ecuații liniare, valori propriiși vectori, singularități, factorizare matrice și altele.

    Polinoame și interpolare - rădăcini de polinoame, operații pe polinoame și diferențierea lor, interpolare și extrapolare de curbe și altele.

    Statistici matematice și analiza datelor - funcții statistice, regresie statistică, filtrare digitală, transformată Fourier rapidă și altele.

    Procesarea datelor - un set de funcții speciale, inclusiv plotare, optimizare, căutare zero, integrare numerică (în cuadraturi) și altele.

    Ecuații diferențiale - rezolvarea ecuațiilor diferențiale și diferențiale-algebrice, ecuații diferențiale cu întârziere, ecuații constrânse, ecuații cu diferențe parțiale și altele.

    Matricele rare sunt o clasă de date specială a pachetului MATLAB utilizată în aplicații specializate.

    Aritmetica intregi - efectuarea de operatii aritmetice intregi in MATLAB.

Dezvoltarea algoritmilor. MATLAB oferă mijloace convenabile să dezvolte algoritmi, inclusiv cei de nivel înalt, folosind concepte de programare orientată pe obiecte. Are toate instrumentele necesare unui mediu de dezvoltare integrat, inclusiv un depanator și un profiler. Funcțiile pentru lucrul cu tipuri întregi de date facilitează crearea de algoritmi pentru microcontrolere și alte aplicații acolo unde este necesar.

Vizualizarea datelor. Pachetul MATLAB are un număr mare de funcții pentru crearea de grafice, inclusiv cele tridimensionale, analiza vizuală a datelor și crearea de videoclipuri animate.

Mediul de dezvoltare încorporat vă permite să creați interfețe grafice de utilizator cu diverse comenzi, cum ar fi butoane, câmpuri de introducere și altele.

Aplicații independente. Programele MATLAB, atât consolă, cât și GUI, pot fi compilate folosind componente Compilatorul MATLABîn aplicații executabile independente de MATLAB sau biblioteci dinamice, care, totuși, necesită instalarea unui mediu redistribuibil liber pentru a rula pe alte computere Timpul de execuție al compilatorului MATLAB(MCR).

Interfețe externe. MATLAB include diverse interfețe pentru accesarea rutinelor externe scrise în alte limbaje de programare, date, clienți și servere care comunică prin tehnologiile Component Object Model sau Dynamic Data Exchange și dispozitiv periferic, care interacționează direct cu MATLAB. Multe dintre aceste capabilități sunt cunoscute ca MATLAB API.

COM. MATLAB oferă acces la funcții care vă permit să creați, să manipulați și să ștergeți obiecte COM (atât clienți, cât și servere). Tehnologia ActiveX este, de asemenea, acceptată. Toate obiectele COM aparțin unei clase COM speciale a pachetului MATLAB. Toate programele care au funcții de controler de automatizare (engleză) Automatizare controlor) poate accesa MATLAB ca server de automatizare. Automatizare Server).

.NET. MATLAB pe Microsoft Windows oferă acces la .NET Framework. Este posibil să încărcați ansambluri .NET și să lucrați cu obiecte de clasă .NET din mediul MATLAB. MATLAB versiunea 7.11 (R2010b) acceptă versiunile .NET Framework 2.0, 3.0, 3.5 și 4.0.

DDE. MATLAB conține funcții care îi permit să acceseze alte aplicații Windows, iar acele aplicații să acceseze datele MATLAB, prin tehnologia Dynamic Data Exchange (DDE). Fiecare aplicație care poate fi un server DDE are propriul nume de identificare unic. Pentru MATLAB acest nume este - Matlab.

Servicii web.În MATLAB, este posibil să apelați metode de servicii web. Funcție specială creează o clasă bazată pe metodele API a serviciului web.

MATLAB interacționează cu clientul serviciului web acceptând mesaje de la acesta, procesându-le și trimițând un răspuns. Sunt acceptate următoarele tehnologii: Protocolul de acces simplu la obiect (SOAP) și Limbajul de descriere a serviciilor web (WSDL).

Port COM. Interfața cu portul serial a MATLAB oferă acces direct la dispozitive periferice, cum ar fi modemuri, imprimante și echipamente științifice care se conectează la un computer printr-un port serial (port COM). Interfața funcționează prin crearea unui obiect clasa speciala pentru portul serial. Metodele disponibile ale acestei clase vă permit să citiți și să scrieți date pe un port serial, să utilizați evenimente și handlere de evenimente și să scrieți informații pe discul computerului în timp real. Acest lucru este necesar atunci când se efectuează experimente, simulează sisteme în timp real și pentru alte aplicații.

Fișierele MEX. Pachetul MATLAB include o interfață pentru interacțiunea cu aplicații externe scrise în C și Fortran. Această interacțiune se realizează prin fișiere MEX. Este posibil să apelați rutine scrise în C sau Fortran din MATLAB ca și cum ar fi funcții încorporate ale pachetului. Fișierele MEX sunt biblioteci de legături dinamice care pot fi încărcate și executate de interpretul încorporat în MATLAB. Procedurile MEX au, de asemenea, capacitatea de a apela comenzi MATLAB încorporate.

DLL. Interfața DLL generică MATLAB vă permite să apelați funcții găsite în bibliotecile de legături dinamice comune direct din MATLAB. Aceste funcții trebuie să aibă o interfață C.

În plus, MATLAB are capacitatea de a-și accesa funcțiile încorporate printr-o interfață C, care permite ca funcțiile pachetului să fie utilizate în aplicații externe scrise în C. Această tehnologie din MATLAB se numește C motor.

Pachete alternative. Există un numar mare de pachete software pentru rezolvarea problemelor de analiză numerică. Multe dintre aceste pachete sunt software liber.

Compatibil cu MATLAB la nivel de limbaj de programare:

Similar ca funcționalitate:

    APL și descendenții săi: de exemplu J

    Python, atunci când este utilizat cu pachetul software Python(x,y), precum și cu biblioteci precum NumPy, SciPy și matplotlib, implementează capabilități similare.

    IDL (engleză) Interactiv Date Limba, limbaj interactiv descrierile datelor), cândva concurent comercial al MATLAB, acum rămâne un concurent serios în multe domenii de aplicație, deși cota sa de piață în software-ul de analiză numerică a scăzut brusc.

    Fortress, un limbaj de programare creat de Sun Microsystems, este un descendent al lui Fortran, dar nu este compatibil cu acesta.

    Dacă este necesar să se dezvolte proiecte mari de analiză numerică, este posibil să se utilizeze limbaje de programare de uz general care acceptă tastarea statică și structura modulară. Exemplele includ Modula-3, Haskell, Ada, Java. În acest caz, se recomandă utilizarea bibliotecilor specializate cunoscute în mediul științific și ingineresc.

2. Cutii de instrumente Matlab

În Matlab, un rol important este acordat grupurilor specializate de programe numite cutii de scule. Toolboxes este o colecție cuprinzătoare de funcții (m-fișiere) scrise în limbajul MATLAB pentru a rezolva o anumită clasă de probleme. Mathworks oferă seturi de instrumente care sunt utilizate în multe domenii, inclusiv următoarele:

    Prelucrare digitală a semnalului, imaginilor și datelor: Caseta de instrumente DSP, Caseta de instrumente pentru procesarea imaginilor, Cutia de instrumente Wavelet, Cutie de instrumente de comunicare, Filter Design Toolbox- seturi de funcții care permit rezolvarea unei game largi de probleme de prelucrare a semnalului și imaginilor, proiectarea filtrelor digitale și a sistemelor de comunicație.

    Sistem de control: Caseta de instrumente pentru sistemele de control, µ-Setul de instrumente de analiză și sinteză, Cutie de instrumente de control robust, Caseta de instrumente de identificare a sistemului, Caseta de instrumente de control LMI, Model Predictive Control Toolbox, Caseta de instrumente de calibrare bazată pe model- seturi de funcţii care facilitează analiza şi sinteza sisteme dinamice, proiectarea, modelarea și identificarea sistemelor de control, inclusiv algoritmi moderni de control, cum ar fi controlul robust, controlul H∞, sinteza LMN, sinteza µ și altele.

    Analiza financiară: Cutia de scule GARCH, Caseta de instrumente cu venit fix, Seria de instrumente pentru seria temporală financiară, Caseta de instrumente pentru instrumente financiare derivate, Caseta de instrumente financiare, Caseta de instrumente Datafeed- seturi de funcții care vă permit să colectați, să procesați și să transmiteți rapid și eficient diverse informații financiare.

    Analiza si sinteza harti geografice, inclusiv tridimensional: Caseta de instrumente de cartografiere.

    Colectarea și analiza datelor experimentale: Caseta de instrumente pentru achiziția datelor, Caseta de instrumente pentru achiziția imaginilor, Cutie de instrumente pentru controlul instrumentelor, Legătură pentru Cod Studio de compozitor- seturi de funcții care vă permit să salvați și să procesați datele obținute în timpul experimentelor, inclusiv în timp real. Este acceptată o gamă largă de echipamente de măsurare științifice și de inginerie.

    Vizualizarea și prezentarea datelor: Caseta de instrumente pentru realitate virtuală- vă permite să creați lumi interactive și să vizualizați informații științifice folosind tehnologii de realitate virtuală și limbajul VRML.

    Instrumente de dezvoltare: MATLAB Builder pentru COM, MATLAB Builder pentru Excel, MATLAB Builder pentru NET, Compilatorul MATLAB, Design filtru HDL Coder- seturi de funcții care vă permit să creați aplicații independente din mediul MATLAB.

    Interacțiunea cu exteriorul produse software : Generator de rapoarte MATLAB, Link Excel, Caseta de instrumente pentru baze de date, Server Web MATLAB, Link pentru ModelSim- seturi de funcții care vă permit să salvați datele în așa fel încât alte programe să poată lucra cu ele.

    Bază de date: Caseta de instrumente pentru baze de date- instrumente de lucru cu baze de date.

    Pachete de știință și matematică: Caseta de instrumente pentru bioinformatică, Cutie de instrumente pentru montarea curbei, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Algoritm genetic și caseta de instrumente de căutare directă, Caseta de instrumente OPC, Caseta de instrumente de optimizare, Caseta de instrumente pentru ecuații diferențiale parțiale, Caseta de instrumente Spline, Caseta de instrumente statistice, Caseta de instrumente RF- seturi de funcții matematice specializate care permit rezolvarea unei game largi de probleme științifice și de inginerie, inclusiv dezvoltarea de algoritmi genetici, rezolvarea problemelor cu derivate parțiale, probleme cu numere întregi, optimizarea sistemului și altele.

    Rețele neuronale: Caseta de instrumente pentru rețeaua neuronală- instrumente de sinteză și analiză a rețelelor neuronale.

    Logica neclară: Fuzzy Logic Toolbox- instrumente pentru construirea și analiza mulțimilor fuzzy.

    Calcule simbolice: Cutie de instrumente pentru matematică simbolică- instrumente pentru calcule simbolice cu capacitatea de a interacționa cu procesorul simbolic al programului Maple.

Pe lângă cele de mai sus, există mii de alte seturi de instrumente MATLAB scrise de alte companii și entuziaști.

MATLAB este un limbaj tehnic de calcul la nivel înalt, un mediu interactiv de dezvoltare a algoritmilor și un instrument modern de analiză a datelor.
În comparație cu limbajele de programare tradiționale (C/C++, Java, Pascal, FORTRAN), MATLAB vă permite să reduceți timpul necesar pentru rezolvarea problemelor tipice cu un ordin de mărime și simplifică semnificativ dezvoltarea de noi algoritmi.
MATLAB este fundamentul întregii familii de produse MathWorks și este instrumentul principal pentru rezolvarea unei game largi de probleme științifice și aplicate în domenii precum: proiectarea obiectelor și sistemelor de control, sistemele de comunicații, procesarea semnalului și a imaginii, măsurarea și testarea semnalului, modelare financiară și biologie computațională etc.
Nucleul MATLAB facilitează lucrul cu matrici de tipuri de date reale, complexe și analitice, precum și cu structuri de date și tabele de căutare. MATLAB conține funcții încorporate pentru algebră liniară (LAPACK, BLAS), transformată Fourier rapidă (FFTW), funcții pentru lucrul cu polinoame, funcții pentru statistică de bază și soluție numerică a ecuațiilor diferențiale; biblioteci de matematică extinse pentru Intel MKL. Toate funcțiile încorporate ale nucleului MATLAB sunt proiectate și optimizate de experți și funcționează mai rapid sau la fel de rapid ca echivalentul lor C/C++.

Descrierea limbii

Limbajul MATLAB este limbaj de nivel înalt programare, inclusiv structuri de date bazate pe matrice, o gamă largă de funcții, un mediu de dezvoltare integrat, capabilități orientate pe obiecte și interfețe pentru programe scrise în alte limbaje de programare.

Programele scrise în MATLAB sunt de două tipuri - funcții și scripturi. Funcțiile au argumente de intrare și de ieșire, precum și propriul spațiu de lucru pentru stocarea rezultatelor și variabilelor intermediare de calcul. Scripturile folosesc un spațiu de lucru comun. Atât scripturile, cât și funcțiile nu sunt interpretate în codul mașinii și sunt salvate ca fișiere text. De asemenea, este posibil să salvați așa-numitele programe pre-analizate - funcții și scripturi procesate într-o formă convenabilă pentru execuția mașinii. În general, astfel de programe rulează mai repede decât cele obișnuite.

Principala caracteristică a limbajului MATLAB este capacitățile sale largi de lucru cu matrice, pe care creatorii limbajului le-au exprimat în sloganul Think.

Matematică și calcule

MATLAB oferă utilizatorului un număr mare (câteva sute) de funcții pentru analiza datelor, acoperind aproape toate domeniile matematicii, în special:
Matrici și algebră liniară - algebră matriceală, ecuații liniare, valori proprii și vectori, singularități, factorizare matriceală și altele.
Polinoame și interpolare - rădăcini de polinoame, operații pe polinoame și diferențierea lor, interpolare și extrapolare de curbe și altele.
Statistica matematica si analiza datelor - functii statistice, regresie statistică, filtrare digitală, transformată Fourier rapidă și altele.
Procesarea datelor - un set de funcții speciale, inclusiv plotare, optimizare, căutare zero, integrare numerică (în cuadraturi) și altele.
Ecuații diferențiale - rezolvarea ecuațiilor diferențiale și diferențiale-algebrice, ecuații diferențiale cu întârziere, ecuații constrânse, ecuații cu diferențe parțiale și altele.
Matricele rare sunt o clasă de date specială a pachetului MATLAB utilizată în aplicații specializate.
Aritmetica intregi - efectuarea de operatii aritmetice intregi in MATLAB.


Dezvoltarea algoritmului

MATLAB oferă instrumente convenabile pentru dezvoltarea algoritmilor, inclusiv a celor de nivel înalt, folosind concepte de programare orientată pe obiecte. Are toate instrumentele necesare pentru un mediu de dezvoltare integrat, inclusiv un depanator și un profiler. Funcțiile pentru lucrul cu tipuri întregi de date facilitează crearea de algoritmi pentru microcontrolere și alte aplicații acolo unde este necesar.


Vizualizarea datelor

Pachetul MATLAB are un număr mare de funcții pentru construirea de grafice, inclusiv cele tridimensionale, analiza vizuală a datelor și crearea de videoclipuri animate.

Mediul de dezvoltare încorporat vă permite să creați interfețe grafice de utilizator cu diverse comenzi, cum ar fi butoane, câmpuri de introducere și altele. Folosind componenta MATLAB Compiler, aceste interfețe grafice pot fi convertite în aplicații de sine stătătoare.


Interfețe externe

MATLAB include diverse interfețe pentru accesarea rutinelor externe scrise în alte limbaje de programare, date, clienți și servere care comunică prin tehnologiile Component Object Model sau Dynamic Data Exchange și dispozitive periferice care comunică direct cu MATLAB. Multe dintre aceste capabilități sunt cunoscute ca MATLAB API.


COM

MATLAB oferă acces la funcții care vă permit să creați, să manipulați și să ștergeți obiecte COM (atât clienți, cât și servere). De asemenea, susținut Tehnologia ActiveX. Toate obiectele COM aparțin unei clase COM speciale a pachetului MATLAB. Toate programele care au funcții de controler de automatizare pot accesa MATLAB ca server de automatizare.


DDE

MATLAB conține funcții care îi permit să acceseze alte aplicații Windows, iar acele aplicații să acceseze datele MATLAB, prin tehnologia Dynamic Data Exchange (DDE). Fiecare aplicație care poate fi un server DDE are propriul nume de identificare unic. Pentru MATLAB, acest nume este Matlab.


Servicii web

În MATLAB, este posibil să apelați metode de servicii web. O funcție specială creează o clasă bazată pe metodele API-ului serviciului web.

Matlab interacționează cu clientul serviciului web acceptând mesaje de la acesta, procesându-le și trimițând un răspuns. Sunt acceptate următoarele tehnologii: Protocolul de acces simplu la obiect (SOAP) și Limbajul de descriere a serviciilor web (WSDL).


Port COM

Interfața cu portul serial a MATLAB oferă acces direct la dispozitive periferice, cum ar fi modemuri, imprimante și echipamente științifice care se conectează la un computer printr-un port serial (port COM). Interfața funcționează prin crearea unui obiect de clasă specială pentru portul serial. Metodele disponibile ale acestei clase vă permit să citiți și să scrieți date pe un port serial, să utilizați evenimente și handlere de evenimente și să scrieți informații pe discul computerului în timp real. Acest lucru este necesar atunci când se efectuează experimente, simulează sisteme în timp real și pentru alte aplicații.


Fișiere MEX

Pachetul MATLAB include o interfață pentru interacțiunea cu aplicații externe scrise în C și Fortran. Această interacțiune se realizează prin fișiere MEX. Este posibil să apelați rutine scrise în C sau Fortran din MATLAB ca și cum ar fi funcții încorporate ale pachetului. Fișierele MEX sunt biblioteci de legături dinamice care pot fi încărcate și executate de interpretul încorporat în MATLAB.


DLL

Interfața DLL generică MATLAB vă permite să apelați funcții găsite în bibliotecile de legături dinamice comune direct din MATLAB. Aceste funcții trebuie să aibă o interfață C.

În plus, MATLAB are capacitatea de a accesa funcțiile încorporate printr-o interfață C, care vă permite să utilizați funcțiile pachetului în aplicații externe scrise în C. Această tehnologie din MATLAB se numește C Engine.


Seturi de scule

Pentru MATLAB, este posibil să se creeze cutii de instrumente speciale care să-și extindă funcționalitatea. Cutiile de instrumente sunt colecții de funcții scrise în MATLAB pentru a rezolva o anumită clasă de probleme. Mathworks oferă seturi de instrumente care sunt utilizate în multe domenii, inclusiv următoarele:
Prelucrarea digitală a semnalelor, imaginilor și datelor: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox - seturi de funcții care vă permit să rezolvați o gamă largă de probleme în procesarea semnalului, procesarea imaginilor, proiectarea filtrelor digitale și sisteme de comunicații.
Sisteme de control: Control Systems Toolbox, µ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox - seturi de funcții care facilitează analiza și sinteza sistemelor dinamice, proiectarea, modelarea și identificarea sistemelor de control, inclusiv algoritmi moderni controale, cum ar fi controlul robust, controlul H∞, sinteza LMN, sinteza µ și altele.
Analiză financiară: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Toolbox, Datafeed Toolbox - seturi de funcții care vă permit să colectați, să procesați și să transmiteți rapid și eficient diverse informații financiare.
Analiza și sinteza hărților geografice, inclusiv a celor tridimensionale: Mapping Toolbox.
Colectarea și analiza datelor experimentale: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link for Code Composer Studio - seturi de funcții care vă permit să salvați și să procesați datele obținute în timpul experimentelor, inclusiv în timp real. Este acceptată o gamă largă de echipamente de măsurare științifice și de inginerie.
Vizualizarea și prezentarea datelor: Virtual Reality Toolbox - vă permite să creați lumi interactive și să vizualizați informații științifice folosind tehnologia realitate virtualași limbajul VRML.
Instrumente de dezvoltare: MATLAB Builder pentru COM, MATLAB Builder pentru Excel, MATLAB Compiler, Filter Design HDL Coder - seturi de funcții care vă permit să creați aplicații independente din mediul MATLAB.
Interacțiune cu produse software externe: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim - seturi de funcții care vă permit să salvați date în tipuri variate astfel încât alte programe să poată lucra cu ele.
Baze de date: Caseta de instrumente pentru baze de date - instrumente pentru lucrul cu baze de date.
Pachete științifice și matematice: Bioinformatică Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Algoritm genetic și Instrumente de căutare directă, OPC Toolbox, Optimization Toolbox, Partial Differential Equation Toolbox, Spline Toolbox, Statistic Toolbox, RF Toolbox - seturi de funcții matematice specializate care permit rezolvarea unei game largi de probleme științifice și de inginerie, inclusiv dezvoltarea de algoritmi genetici, rezolvarea problemelor cu derivate parțiale, probleme cu numere întregi, optimizarea sistemului și altele.
Rețele neuronale: Neural Network Toolbox - instrumente pentru sinteza și analiza rețelelor neuronale.
Calcule simbolice: Symbolic Math Toolbox - instrumente pentru calcule simbolice cu capacitatea de a interacționa cu programul simbolic Maple.

Pe lângă cele de mai sus, există mii de alte seturi de instrumente MATLAB scrise de alte companii și entuziaști.