Sunteți pe pagina 1din 152
Marin Ghinea Virgiliu Fireteanu MATLAB CALCUL NUMERIC GRAFICA APLICATII Teora Titlul: MATLAB Calcul numeric. Grafica. Aplicat Copyright @ 2003, 1997 Teora “Toate dreptule asupra acestel cri aparin Editi Teora, Reproducerea integrala sau partial a textului sau a lustraillor din aceasta carte esto interzisd ra acordul prealabl srs al Editi Tora, Teora Calea Mosilor nt. 211, sector 2, Bucuresti, Romania fax: 021/210.38.28 email offce@teora.r0 Teora ~ Cartea prin post CP 73-30, cod 72450 Bucurestl, Romania tol: 021/252.14.91 e-mail: cpp@teora.r0 Copertii: Gheorghe Popescu Director Editorial; Diana Rotary Pregedinte: Teodor Raducanu NOT 5784 CAL MATLAB-CALCUL NUMERIC, AR ISBN 973-601-275-1 Printed in Romania CUPRINS CUPRINS Partea |. INTRODUCERE IN MATLAB 1. CE ESTE MATLAB? 16 2. MATLAB SUB WINDOWS: 20 2.4. instalerea 20 2.2. Lansatea in execute 20 2.3, Ferestele de lucru i 24 2.3.1. Fereastra de comenzi .... a4 2.3.1.1. Gestionarea figerelor 24 2.3.1.2. Editarea programelor 22 2.8.1.8. Alegerea opfiunilor 23 23.1.4, Selectarea ferestrelor 24 2.3.1.5. Documentalia de ajutor - Help 24 2.8.2. Fereastra de reprezenti gras... 25 2.3.2.4. Gestionarea ferestrolor grafice 25 2.3.22. Editarea grafioolor 25 8. FUNCTII MATLAB DE INTERES GENERAL a 8.1. Functi pentru lansarea gi legitea din MATLAB 27 3.2. Funofi de control gene! 27 8.2.1. Holp-ul ,ondin® 2B 3.2.2. formalii despre figierele unui director 28 8.2.3, Afigarea conjinutulul unui figier 20 3.2.4, Ctile de cdutare . 29 3.2.5. Informatii despre variabllele unui figior| : 30 ‘8.3. Funeti pentru controlul directoarelor, figieralar gi ala victoria’ 0 OPTI rn 8.3.1. Control directoareior 9 igiarelor 3.3.2. Ruiarea programelor externe ‘3.4. Funofii de control al marimar de timp 3.5. Funotl asooiate ferestrei de comenzi_. 3.5.1, Controlulferestrei de comenzi 93.5.2. Formatele de afigare a numerelor 3.6.3. Controlul execuiel unui program... 8.6. Funoti de control ale variablelor din memoria +" 8.6.1 Aigarea unui text 3.6.2. Stergerea variabilelor 3.6.3. Compactarea memoriei 8.6.4. Dimensiunea variabillor 8.7, Variabile speciale gi constante in MATLAB 8.8, Importul gi exportulfigiereior de date 4. INTRODUGERE IN PROGRAMAREA MATLAB 4.1. Matrice, vector gl ecalar, Notatil 4.2. Introducerea matricelor simple 4.8, Elementele matricelor 4.4, Deciarati gi variable. 45. Numere si expresii artmetice 4.6. Structura unui program th MATLAB. 4.6.1. Figierole script 4.6.2. Figlerele functie = 4.7. Comentarile gi help-ul int-un program 4.8. Un exemplu simplu de program complet 5, INSTRUCTIUNI $1 FUNCT DE CONTROL. 5.1, Instrucfiunl de control iogie : 5.1.1. Instructiunea conditional 5.1.1.4. Operatori relational 5.1.1.2. Operatoril logic! 1.1.3. Instructiunea i simpid 5.1.1.4. Clauza else" e 5.1.1.5. Clauza ‘elsoit 5.1.2. Inetructiunea repetiva for”. a 5.1.3, Instructiunea repetitvs “while” 5.4.4. instructiunea break .. . 5.1.5. Instructiunea ratum 5.1.6, Instructiunea error = ‘5.2, Functii de contro! logic 5.2.1, Testarea conditilorfogio8 wn -ncrnneegeove : 5.2.2. Determinarea Indiclor elemenieior cara verificd 6 condi. 5.2.8. Determinarea poziici elementelor finite, infinite sau NaN ~ 5.2.4, Testarea matricelor goale : ae 5.2.5. Testarea existenfel unel variabila 5.8, Vectorizarea Calculer rnnrnnen “6. OPERAREA CU SIRURI DE CARACTERE 6.1. Funotii generale .. f * 6.2, Compatarea girurlor de caractere 6.3, Conversia gir-numér si numérgir ~ 6.4. Conversia girurior in formate numerice fe Partea a Il-a. CALCUL NUMERIC CU MATLAB <> 7. OPERATI ARITMETICE . 7.4. Operati aritmetice cu scalari 7.1.1. Ordinea operatilor artmatice Limitele calculeor .... = 7.2. Operati aritmetice cu tablouri 7.2.4, Adunarea gi scderoa MATLAB, Calcul numeric gi grafic. Aplicafi mn a 2 73 B Cuprins 7.2.2. Inmuttrea-tablourior 723, Imparjrea la dreapta.. 72.4, Impaiiea la stanga 7.2.5. Riicarea la putere 7.2.6. Transpunerea tablourilor 7.3. Operati aritmetice cu vector... 7.3.4, Produsul scalar 7.3.2, Produsul vectorial” 7.4, Operatitaritmetice cu matrice 7.4.1. Adunarea gi sc&derea 7.4.2. Inmuttrea matricelor 7.4.3, Imparjrea la dreapta 7.4.4, Impartrea la stnga 7.4.5, Riicarea la puters 7.4.86. Transpunerea mattiesior 8. GENERAREA VECTORILOR $1 A MATRICELOR UZUALE 8.1. Genetarea vectotlor ve. 8.1.1. Generarea vectoriir cu pas linia 8.1.2. Generarea vectoriior cu pas logaritmis 8.2. Generarea matricelor . 8.21. Matricea goal 8.2.2. Matricoa unitate 8.28, Matricea zer0 8.2.4, Matricoa identitate 8.25, Matricea aleatoare 8.8. Generarea unel rejele (mesh) 9. FUNCTII MATEMATICE UZUALE 9.1. Aproximarea numerelor 9.1.4. Aproximarea cu numere inivagi 9.4.2, Aproximarea cu numere rajionala 8.1.3, Aproximarea cu fracti continue 9.1.4. Funetia rest 8.1.5, Funefia eamn . 9.2. Divizori si multip comuni 92.1. Cal mai mare divizor comun 9.2.2. Cel mai mic multiplu comun 9.3, Numere complexe a 9.3.". Definirea numereior compiexe th MATLAB 9.32. Medutul gi argument numerelor complexe... 9.8.5, Parte real gi imaginars si conjugatul nurnerelor ‘complexe a 9.4, Functile putere, radical, logartm 31 exponential 8.4.4, Funofia puter annem 9.4.2. Funotia radical 9.4.3, Funcfia logaritm”. 9.4.4, Functia exponential a MATLAB. Caloul numeri gi grafic, Aplicati 8.8. Funotile trigonometrioe e 99 1.5.4. Functiletrigonometrice directo 89 9.5.2. Funcliletrigonometice inverse. +400 8.6, Functile hipetboiice 10% 9.6.1. Fundtile hiperbolce directe jot 916.2. Func{ile hiperbolice verse tot 40. MATRICE SPECIALE . t02 10. 1. Companionul matriceal 102 40. 2, Matricea diagonal 403 10. 9, Matricea Hadamard 104 10. 4, Matricea Hankel 105 10. 5, Matricea Hilbert 108 10. 6. Inversa matricei Hibert 406 40. 7. Tensorul Kroneker 107 10. 8. P&tratul magic 107 10. 9, Matricea Pascal 108 40.10, Matricea Toeplitz 109 10.11, Matricea Vandermonde 110 10.12: Matrices Wikinson att 14. CALCULE CU MATRICE 11.1. Manipularea matricelor 14.1.1. Extragerea submatricelor pin indici a 11.1.2. Extragerea submatricelor prin vectori cu elemento 0 git... 115 14.1.8, Asamblarea matricelor mari ve 11.1.4, Redimensionarea unei matics : 11.1.5, Rotirea matical in jurul unei coloane sau ini 14.1.6. Rotirea matricei cu mutipl de 80 de grade in jurul unt element : cs 117 11.4.7, Matrioe diagonale gi tiunghiulare 117 11.2, Anaiizi matriceala .... ve 118 44.2.1, Determinantul unei matrioe 118 14.2.2. Inversa unei matrice 41.2.8. Rangul unei matiice 14.2.4, Uma unel mative. 41.2.5. Calcuiul nomnelor vectoror gi maticeior 11.2.6, Conditionarea unei mattice — : 44.3, Descompunerea gi factorizarea matroalor nee, 123 11.3.1. Valoti si vectori propril 11.3.2, Calcuiulvalorior singuiare 11.3.3, Factorizarea Cholesky... 11.9.4, Factorizarea LU (lower-upper) 44.3.5, Factorizarea QR enn 11.3.6, Psoudoinversa unei mairice 12, PRELUCRAREA DATELOR $I CALCULE STATISTICE wiwccsnnnnnnn 129 12.4. Maximul gi minimul : Cuprins 8 412.2, Media gl mediana .. 190 i 12.3 Stane i produse . 130 \ 124, Sortareaetamensior una rnalice 132 | 12.5. Variarta $i cispersia datelor 439 | 12.8, Coofizentl de coreaje a dato 194 | 12.7. Valor n6M6hAA2 occ 135 128, Eliminereadatolor eronaio 195 | 129. Histogame oe 135 18, MINIMIZAREA FUNCTILOR eso 137 48,4. Cale minimal function doo vaiabig 187 i 18.2. Cale minimuii finer de mal mute varabia 138 183, Calcul zerourorfncjior do o variable real 139 14, REZOLVAREA SISTEMELOR DE ECUATII LINIARE 140 14.4. Descrierea matriosal a siatomolor de ecuafi 140 14.2; Rezoharea sistomelor pin impairoa maticloy +40 14.3. Rezoivarea siatemelor prin folosirea maticel inverse. 141 | 15. CALCULE NUMERICE CU POLINOAME 143 15.1. Evalua’ea polnoarnolor 143 15.2. Adunaa gi sofderea 144 15.3. Inmutioa si imparfea : 145 15.4, Descompunerea in fracfi snp 148 ! 15.5. Calcul dervatoi 147 45.6, Calcul radacinior : 148 16. INTERPOLAREA $1 APROXIMAREA DATELOR 149 46.1. Cautarea dateior in tabele ca 149 18.1.4, Cdutarea dateior in taboie nimnansionaia 149 16.1.2, CAutaroa datelrintabele bidimonsionale 450 16.2. Interpolarea functor deo singuré vatabli 154 18.2.4, Inorpolarea Inia ea. 152 Interpolarea spline cubicd - : 16.2.3, interpolarea prin meloda transtormatel Fourior 184 16.2.4, Interpolarea multipla : 16.3, Interpoiarea funofilor de dou variable 16.3.1. trterpolarea dup o lage biarmonic 16.3.2. Interpolarea dupa o lege biiniard 16.3.3. Interpolarea dup o lage bicubic” 16.3.4, Iterpolarea prin metoda distanji inverse 16.3.5. Irterpolarea muttipla 7 16.4. Aproximarea prin metoda colar mai mii patrate.. 16.4.1. Regresia iniard 16.4.2. Regresia polinomialé 17. INTEGRAREA $I DERIVAREA NUMERICA A FUNCTILOR ovens 166 Y7-1, Integrarea numeticl omens sinnnennencns 164 17.4.1. Metoda trapezeior gi metoda lui Simpson oe 164 10 MATLAB. Caleul numeric gi grafick, Apli 47.1.2. Catculul numeric al integralelor pe intervale infinite 17.4.3, Caloulul numeric al integralelor funcfitor cu singulartayi 17.1.4. Funofii MATLAB pentru integrarea numeric& 17.2. Derivarea numeric’ ... 17.2.1. Aproximarea derivatelor cu difere 17.2.2. Aproximarea numeric’ a derivatelor... 17.2. Darvaren numer baa pe pono deepak Newton 17.2.4, Aproximarea numericd & Laplaceani 17.25. Aproximarea numeric a gradientulul 18. INTEGRAREA NUMERICK A ECUATILOR DIFERENTIALE 18.1. Ecuati diferentiale de ordinul intl 18.2. Functiile MATLAB pentru integrarea numeric a ecualfior diferentiale 18.3. Integrarea ecuatil de ecuati dferentiale 19. FUNCTII SPECIALE 19.1. Ecualia gl funofiia Bessel 19.2. Funcjia Gamma 19.8. Funct Beta 494, Functia eroare 195. Funciia de reparie Laplace. Partea a Ill-a, GRAFICA IN MATLAB 20, REPREZENTARI GRAFICE 2D 20.1. Reprezentiri grafice elementare 20.1.1. Reprezentarea grafic tn coordonate liniare 20:12, Repezentare graf Tn cordonate logartrice i ‘semilogaritmice .. 20.1.8, Reprezentarea graficd a poligoanelor 20.2. Reprezentiri grafice speciale X-Y : 20.2.1. Reprezentarea graficd tn coordonate polare 20.2.2. Reprezentarea graficalor cu bare... 20.2.3. Reprezentarea discret a datolor 20.2.4. Reprezentarea graficelor In trepte 20.2.5. Reprezentarea grafict a erarlior 20.2.6. Reprezentarea grafic’ a histogramelor 20.2.7. Reprezentarea grafic’ a vectorlor 20.2.8, Reprezentiri grafioe cu parametrl impusi 20.2.9. Reprezentari grafice dinamice 20 21, REPREZENTARI GRAFICE aD . 21.1, Reprezentarea linilor de contur . 24:4.1. Calculul matricai tinlor de contur . 21.1.2. Reprezentarea grafic& tn plan a inillor de contur 24.1.8, Etichetarea cotetor inilor de contur io ordin superior gia sistomelor qt i al 174 174 175 17 192 182 185, 185 408 187 189 Cuprins : _ it 21.1.4, Repfezentarea graficé fn spefiu a lnllor de contr... 203 211.5, Reprezertarea graf a cimpurtr de veto! rena 204 21.2, Reprezentir spatiale cu lnil ere : E 208 21.2.1. Reprezentarea linilor in epafiu 205 21.2.2. Reprezentarea grafic& spatial a poliedrelor 208 21.2.3, Reprezenta gratice spatiale dinamice ... 208 21.3, Reprezentarea 3D a suprafelelor gi inilor de contur 207 21.3.4. Reprezentarea suprafojelor cu ,mesh’ 208 21.3.2, Reprezentarea grafica a suprafetelor netede 200 at 21.4, Reprezentarea obiectelor spalialo 21.4.1. Reprezentarea grafic a oblectului ciindru 21.4.2, Reprezentarea grafic’ a obiectului sferd 21.5, Pozitionarea observatorului fafa de obiect ‘25:1, Defnirea poziiel observatoruli fala de obiect 212 24.5.2, Vizualizarea gi ascunderea suprafefelor suprapuse, 213 22, PERSONALIZAREA GRAFICELOR ata 22.1, Precizarea tilulul graficului 216 22.2, Precizarea etichetolor axelor .. 214 22.3, Plasarea unui text pe grafic 214 22.4, Trasarea unei refele (,grid”) po grafic 215 28, CREAREA $1 CONTROLUL AXELOR 216 28.1, Divizarea ferestrel grafice 216 28.2. Schimbarea limitelor axelor f 216 28.3, Suprapunerea succesivi a graficelor 218 23.4, Stergorea axelor curente .. — 218 23.5, Determinarea identicatoriui axelor Curente nn. 218 23.6, Crearea unui oblect grafic axe... 218 23.6.1, Propristile generale ale abisctulul grafic axe 220 23.6.2, Proprietaiile de control ale axelor (X, Y siZ) 228 24, CREAREA $1 CONTROLUL FIGURILOR 225 24.1. Crearea unui object figura 225 24.2, Determinarea Identificatorului une’ figui 225 24.3. Proprietijie oblectulu figura. 228, 24.4, Stergerea une figur 230 24'5. inchiderea unel figur 230 25, CREAREA UNOR OBIECTE GRAFICE 231 25.1. Crearea unui obiect grafic text zat 25.1.1. Proprietitie oblectulul grafic text 231 25.2. Crearea unui object gratic line 233 25.2.1, Proprietile obiectulul grafic nia 234 25.3, Crearea unul obiect grafic suprafat on 235 25.8.1. Proprictajiie obiectulul grafic suprafata 236 25.4, Orearea unui obiect grafic imagine... 237 25.4.1. Proprietaile obiectului grafic imagine 238 12 MATLAB, Calcul numeric si grafic. Aplicati Cuprins 26, CONTROLUL CARACTERISTICILOR GRAFICE 299 | Partea a IV-a. APLICATII 26.1. Stabilrea proprietaitlor obiectolor 239 | 5 26.2. Citirea proprietajior obiectelor 240 BYE Sermate ou e00U sn 26.3. Inliatzaren proptajior cbloctlcg 22 | 31.2. Sermale aleatoare cu distribulia uniforma 284 Astinlenree al Petes succes aaa 81.3, Semnale aleatoare cu distrbufie normala 31.4. Rapcrtul somnal - zgomot ... 27. CONTROLUL CULORILOR REPREZENTARILOR GRAFICE 243 81.5, Curent nt-un circuit electric 27.1, Controlul culorior reprezentiilor grafice ... 27.1.1. Spectticarea culorii in MATLAB. 27.4.2. Stabila matricel de culoare 27.1.3. Scalarea matricel de culoare 27.4.4, Stabiliea modului de colorare 27.1.5, Matricea de pseudoculoare ........... 27.1.6. Conversia culorior RGB-HSV gi HSV-AGB 27.4.7. Controlul contrastului gi luminoziti 27.1.8. Rotirea culori reprezentairi grafice et 27.1.9, Reprezentarea graficd a ponderil culorlor fundamentals 27.2. Controlul iumindti reprezentarior grafice ..... 27.2.1. Reprezentarea grafic a normalel la suprataja 27.2.2. Controlul nuanjelor de culoare prin surse de lumind 27.2.3. Reprezentarea suprafeelor cu reflex Modele de culoare folosite tn reprezentrle grafice 27.3.1. Modelul,bone" a : 27.3.2 Modelul ,coor 27.3.3. Modelul copper" 27.2.4. Modolul flag". 27.3.5. Modelul gray" 27.3.6, Modelul -hot" 27.8.7, Modell “hev" 27.3.8, Modelul et" 81.8, Circut electric in regim tranzitor 31.7. Simuarea numeri a fabiltii 81.8. Evaluarea prin interpolare a tempera 31.9. Temperatura de echilibra a unel plici 31.10. Patrunderea cldutii In semispatiul omogen 81.44. Timpul de topire al unui fr UzIbH res 31.12, Campul magnetic armonie intr-un conductor clindiie 31.13, Interfaé grafic’ interactiv : | ANEXA. Indexul functilor MATLAB BIBLIOGRAFIE a7: 254 27.3.9. Modelul,pinie 254 27.3.10. Modelui ,prism . 284 28. MISCAREA $I ANIMATIA IMAGINILOR 7 25 29, INREGISTRAREA REPREZENTARILOR GRAFICE 257 80, CREAREA INTERFETELOR GRAFICE INTERACTIVE ... 259 20.1. Crearea elementeior de control pentru interfofele grafice IMCFBCHVE error a = 90.1.1, Proprisiie elementelor de control ale intorfajelorgrafice| interactive Spee part 2600 80.2, Crearea meniurilor pentru interiejele gralice 264 30.2.1, Propritajile obiectului meniu zs 90.8, Citi interactiv’ a datelor de pe grafice 268 30.4, Selectarea interactiva a figierelorcitito 267 20.5, Stabilrea interactiva a figierelor salvate 268 80.6. Selectarea interactvi a fontutior one 289 30.7. Selectarea interactivd a culorior 270. Partea| INTRODUCERE IN MATLAB 1. CE ESTE MATLAB ? MATLAB este un pachet de programe de tnaltt performanté, dedicat caleululul ‘numeric si reprezentérilor grafice tn domeniul gtinfei si ingineriei, Integreaz& analiza numeric, calculul matriceal, procesarea semnalulul gt Yeprezentirile graflce, tntr-un mediu ugor de invafat gi folosit, In oare enunturile problemelor si rezolvarle acestora sunt exprimate In modul cel mai natural posibil, aga. ‘cum sunt sorise matematio, fard a fl necesard programarea traditional. Elementul de ‘baz cu care operoeazk MATLAB-ul este matricea. Cu aesta so pot rezolva probleme fr a finecesara scrierea unui program int-un imbaj de programare. Dezvcttat de-a lungul mai multor ani, acum MATLAB-ul este un standard tn medille universitare, precum si in domeniile cercatari gi rezolvaril practice a problemelor legate de prcesarea semnalelor, identificarea — sistomelor, controlul_statistio, prelucrarea datelor experimental etc, Dintre resursele de calcul si reprezentare grafic ale MATLAB-ulul se ‘menfioneaza urméitoarele: 1. Operatit matematice tundamentaie calcule cumatrice gi tablour, ‘operatoriralational si logil; functi triganometrice gi hiperbotice, exponentiala, logaritmul ete; {uncle speciale: Gamma, Bessel, Euler, ellptic etc. calcule cupotinoame; aritmetic’ in virqulk mobilé IEEE (15 clfre zecimale tn rezutat) Algebré liniard gi functii matriceate analiza matricealt ecu descompunerea in valor propril gi valori singulare; factorizares QR; generarea matricelor, algoritmi pentru matrice rare, Analiza detelor gi transformatele Fourier corelatia, covarianta, diferente finite; transformata Fourier rapid (FFT) ; media statistics, mediana gl deviajia standard; interpolarea datelor, 16 4 ° ° ° ° 5 ° ° ° ° 6. ° ° ca ° ° ° ° ° ° 8, ° ° ° 9. ° ° Introducere In MATLAB Analizé numeric’ nel ‘ecuati diferentiale; integrarea numeric; aproximarea trecerllor prin zero; minimizarea, Programare structuri de control; citirea/scrierea dinvin figlere format ASCII eau binar, depanarea figierelor program; crearea de interfefe gralice interactive (GUN). Reprezentarea graficelor 2D gi 30 folosirea pixeilor, tinilor, poligoanelor pine, Inilor de contur, utiizarea.diagramolor polare, do bare eau a histogramelor, reprezentarea In coortonale iiniare, semilogaritmice gi logaritmice; reprezentarea suprafetelor. Vizualizarea graficelor Ccontrolul culorilor gi a pozitfel sursel de luring; vizualiziri volumetrice; afigarea imaginilor, animati Proprietiii gi resurse gratice crearea gi manipularea figurilor, desenarea, scalarea, etichetarea gl colorarea axelor, aribii foiostd pentru ‘reprezentarea tui Nota-Number (NaN), in aritmetica IEEE, rezultat al impartii nedefinite 0.0/0 35 Introducore In MATLAB. = variabiia permanent pentru testarea numérulu argumentelor de intrare ce Trabuie introduse pent apelarea unel func; - variab permanent peniru testarea numéruluiargumentelr de iogire ale tne! funeti = feureazi numaul do operat in virgulé mobi fectate de calla. ‘Adunaio gi sciderio. sunt conttizate fecare cite 0 operate, dac8 vo Gfectuear inte numere rena, si doUk operai daca so efectuaaza inte valor Complexe. inmuatiie 91 mpéiie sunt fsca o operat dacd rezutatl esta ‘eal $16 opera dack rezuatl este complex. Aducerea la 2er0 a contri se realizeaza cu mstructianea fleps(Ot < varia folostd pentru -obfinerea_infornaliior refertoare ta tipul Calcuatoruvi gi numarul maxim do eloments po care le poate gestiona \ersunoa respectiva de MATLAB, Cu istructiunea Tealculator, elenente) = computer 0 objne Calcuator'= PCWIN blemente = 268435455 reprozinl'cea mai mare valoare pozitva in virgulé mobili care poate fi folosita in call, respectv 1.79776+308; reprezini& cea mai mick valoare poztvé in vrgu& mobili care poate fi folosté in calcul, respectv 2.22516-908; -functie care retueazi 1 daci caleuiatorlluereaza cu arimeticd IEEE gi 0 incaz contra vorsion, vor: functhpenttu determinarea versiunt MATLAB gia toolbox-utlorinstalate pe calculator. nnargin nargout flops computer realmax roalmin isieee 3.8. Importul gi exportul figierelor de date Funofilo foad si save sunt comenzi MATLAB de inclrcare gl ealvare a figlrelor do pe (pe) disc curent Toad Incarc& variablole dint-un tiger de date de pe disc; save _—_Salveaz& variabllele int-un figler de date pe dise. Incdrcaroa unui igor do date so face cu funcfia lad 6 ape cu sntaca Toad numer format. dato undo ,nume fj” este numele fie care se dorete incrat iar Jormat date" este formaiul datelor (ASCII sau BINAR) dn ace gir. Funcja bad se utizenz’ pent + incércarea datelor din figierul matlab,mat load + incitearea daelor din fore Tn formal bina, cu exensio “mat ‘oad nume- fier crearea datelor din gee in format binar, ‘ond rime Tir extensie at + incircarea datelo din foro in format asc, fra extenso: foad ume fier asc 1 extensie 3, Funclii MATLAB de interes general a ‘+ Incarearea daielor din figiore tn format ascil, cu extensie: ‘ac nume_figiorextonsie -ascll Ins toate cazuite, dato tncircate trebuie si tablouri complete. Dupa inceare dalle 2e reise in memoria calculator cu nuele po care a avtt finde data a extonse), indferent de forma in care fuseserd stocate anterior. Spre exompll, Poni ‘nclcarea fijerub de date in format ASCII cu numele tomp.dat se foleagte ntrucjuwou Tosd temp. dae ares Daca figirul nu are extonsie, 2 flosesteinstrucjunea: Toad temp -ascit In ambete cazur dateleconjnute de feu! inesreat se tegisesc In memorie cu numela- temp. Savon raaoor dn spa do hu fou fuji eave; ee apaoash aod i sagt i ye; 82 ape ou ve an geet rath a uno sure. fier ets rrr gary care se sea vrbioesaune_ vale fea sora sata ASCH ca NA). nares n Funciia save se utlizeazi pentru ‘+ salvarea in fornat binar a tuturor variabilelor din spafil de cru, in fgioral matiab.mat: + saNvarea in format binar a tuturor variabi 4 fe Wucru, spans bi olor din spajul de lucra, in fisierul save nue figior + salvarea In format binar a a variablielor fin spatiu in figin satvren nm lelor AB C din spatiul de lucru, in fisirul ‘save nume_igier ABC ‘+ salvarea in format ascii (cu 8 digi) a variabilelor A B C din spatiul de lucru, in figiorul nume_figier.ext: ‘save nume_fgierext AB C-asci ‘+ salvarea in format ascii (cu 16 dig) a variabllor A B-C din spatial de lucry, in figerul ‘nume_figier.ext: ‘sare nume.figier. ext A B C -asci double + salvarea in fermat ascii (cu 16 digi) a variabllelor A BC din spaljul de luc, cu ‘sopararea dataor prin TAB-uri, tn figierul nume-_figier.ext: ‘save nume_tsier.ext A'B C -ascli-double abs he 4, INTRODUCERE IN PROGRAMAREA MATLAB 4.1, Matrice, vector! si scalari. Notatii MATLAB-ul este un pachet de programe care luoreazi numal ou un singur tip de Obiecte, matrice numerice rectangulare, cu elemente reale sau complexe, In acest sens, ‘scalar sunt asimial! matricelor cu o tnie gio coloand (1x1), lar vector sunt asimtal imatricolor cu o linie (1xn) sau 0 coloand (nxt). Operatila gi comenzile tn MATLAB sunt ‘proape naturale, n sens matriceal, aseméndtor modulul de calcul obignut. Astel entitle: i al! 7) ol?) old [es : .| _ a2is Ina) Paz 0 2 2 4 5707 357) ‘Sunt toate mattice In acceptiunea MATLAB. A este o matrice 2x2, B este 2x3, C este Sxt, Deste 3x4 gi Extx4, Elementcle unci matrice, fle aceasta A, pot fi identiicate prin una dintre notatiie: Ay Ali, Al) eto. gi semnificx elementul de la intersect lini cu coloana Utima notatie, A(i), este cea care a fost adoptatt gi in MATLAB gi va fi folosit2 th ‘aceasta lucrare. Dimensiunea unei matrice este precizati de o pereche de numere care frat numarul de nil gi coloane al matricel respective. (D este o mattioa 3x4), © ‘matrice cu © singurd fnia sau © singurd coloand se numeste vector linia (E) sau vector coloana (C), elementele acesteia puténd fi identificate cu un singur indice, O matties eu © singura tinie gio singuré coloand este un scalar. Frntru a face referire fa un element (ij) al.unei mattice A, sunt necesari doi Indic, indicele de finie $1 ndicele de coloand, tn aceasti ordine. Referitea unui element «al unul vector poate fi facuté numai cu un singur indice, Astiel, A@1)=3; B(1,3)=5, C2)=2; D@A)=7: Eld)=7. 4.2. Definirea matricelor simple Dafinirea matricelor se face prin una dntre urmétoarele metode: ~ introducerea explict a Istei de elements; + generarea prin instrucyini gi functi, + crearea de fisiere Mi ttebule respectate umatoarele regult ~ elementele une! Ini trebuie separate prin blanc-uri sau ving; = tnile 80 separ prin somnul punct-virgulé "; ~elementele matice! sunt cuprinse trie paranteze drepte J", 4, Introducere in programarea MATLAB. 30 Astfl, matrioea A din §4.1 poate fi Introdus& cu seoventa: Ae(L 2; 3 4) care retumeaz’ rezuitatu 1 2 3 4 Mativee A. asf defint, poate ftizaté th calele sau pont salva nts fier de date eins ofolosi uteroai a Pentru rratricele mari, la care datele de intrare nu Incap pe singura lini, se poate proceda la Inbeutea semnuid, "ou Enter’ ca in exemplul unr caren ieeir! Speer al Un at mod de dfiite a unel mates const in apelarea nmol unl fier de date allt pe dis. Acestfgler tebuie s& fe Tnvegaial in format ASCI (ex), organioat cao matioe rectangular (complet) gs aii extonsia “mm, Astol, dack po dee 96 gcoste un fsler cu numele datezm cave conjine umitoarela dou ni'de txt 1 2 34 Instructiunea care citeste fisioru si genereazA matricea A este: aedate Posiiitatea de a importa date de la ate programe este prezentat fn §3.8, 4.3, Elementele matricelor Elementels matricelr pot fi numere reale sau complexe, precum gl orice expresie MATLAB, De exemplu, pent: we(-1.3 sqrt (3) (223) +475) rezultis “1.9000 1.7821 4.8000 J Elementele unel matiice pot fi referte cu indici cupring! ine paranteze rotunde ,( )', ca th exemplut: @ care rotumeazi: a=1.7321 De romareat cf dac se asignoazi o valoare unui element care ocupai o pozitie In lara dimensiunii maxime a matrcei sau vectorulu rfert, dimensiunoa acestuia este mari ‘automat pan la veloarea indicelui noulul element, iar elementele nedefinte sunt setae la valoarea zero. In acest sens, instructimea: 2(5)= aba ((1)) ‘etumeazi rezuitatu x=[ 1.9000 1.7921 4.8000 0 4.9000 } larinstructiunea: A(2,4)= 6 retumeaz’ rezulatu 40 Introducere in MATLAB, A 1200 3406 (© modaiitate de a construi matrico marl const in folosirea matrcelor mici ca ‘elomente, Spre exemplu, din doui marice 2x3 se poate construi o matrce 4x3; dimensiunile ‘maticelor uiilzate trebuie sa fie astfel alese Inca s& realizeze tablour reclangulare complet. Fle At gi A2 cele dou matrice ulzale, Cu secvenja urmatoare: AL = (1 2; 3 4) 22 = (5 6 7 8) A = (Al: A] se objine rezutatut As 1 3 5 7 (© matrice mai mica poate fi extrasd din malice mai maui utlizand sernul De exempl: (doua puncte), B= A(2:3,3) cextrage nile doi si tro g toate coloanele din matrcea curenta A, objinandu-se matricea B: as 4.4, Declaratii si variabile MATLAB-Ul este un limba} do. oxpresi Expresilotpate de utizator sunt inerpretate evaluate Inerufurie MATLAB sunt, de cle mai mute or, de forma: alla = expresie au, mai simpki Expr sn eompuna dln para state caractre special, dn func gramme do variable, Evaluarea expresici produce o mace, care esle aligaté po evtan stn tunel valle, Dao numolevarabie gl eernnul egal (variila=) sunt omise, MATLAB- creazi automa ovariabla cu numele ans” cath exemple 7 care retuneazi ‘ans = 0.7500 Otieinstuejune este in mod normal tenrinaté cu Ente’. Dac umulcaacter al aoostoia este punctvirgu ,:",istucjunon osteexeculai, dar tipaitea este supra Utizaroa acest caracer a slg uel instruc In igee-M este necesara Insti in care ne dorogteafigarea datlrirtermedare. De exempt Rel 2 3; 45 677 8 8]7 introduce mations A, dar nu 0 algeazi, Tastarea numeli unel variable uma de Enter atlgeaza valoarea aoesteia act expresia este aga de mare incdt decaraja nu incape po o singu Ini, se 4, Introducere in programarea MATLAB a uilizeazi semnul ..." (rei puncte), umat de ,Enter, pentru a preciza cdi instucfiunea continu pe lnis umtoare, Aste, Intructiunea: +2454 44546 cevalucazii suma celor sase numero gio altbuie variabiei S. Spajile dintre semnele y=" 17" ginumere sunt opfionaie. Numele de variable si func au ca prim caracter 0 iter’, urmati de litte, cifre sau caracterul niu de sublinire” (adica , _"). Desi se pot folos|oricéte caractere, MATLAB -ul refine ca nume de variabiét nual primele 19 caractere. MATLAB-ul face deosebirea intro Horele mari gi mic, asfel incdt ,a" gi .A* sunt dou variable dinstinte, Funofia ,caseser!" permite treceree MATLAB-uiui in modul senzlivinesenzity, in vederea separa ltsrelor mati de cele mick, Nurnelo de functi este obligatoriu sa fie redate cu ltere mic. MATLAB-ul este fa lansare in modul senzitv, adic& face dinstinlia Inte iterele mari gi cele mic, dar cu comanda: casesen off luece in modul nssenzit; revenirea se face cu comanda: 4.5. Numere gi expresii aritmetice MATLAB-Ul_ utiizeazi pentru reprezentarea numerelor notalia_zecimalt ‘conventional, cu punct zecimal, Pulerea este un factor de scald inclus ca sux, ca $i in otala gtinfficd. Exemple de reprezentiri de numera in MATLAB, sunt: 3 99 0.0001 9.6997238 4.602106-20 6.02252003 Calculatsarole care utizeaza aritmetica In virgula mobil IEEE au precizia rolativl a ‘humerelor .eps", aproximata cu 16 digit semnificatv, Limitele numerelorfoloste in MATLAB sunt: 10°51 10%, MATLAB-Ulutiizeaza urmsitorl operator aritmetick + adunarea = salderoa * tte (——impirirea ta dreapta \ impair ia sing % —_siicarea fa putere xis dout simbok penirimpétie,utizate in mod special pentru operate cu ‘atize, Pent expresile scalro 1/4 gi 4\ 80 objne acelag ezutat (0.25). Into expresia, Parantezele sunt itizato penru a procia orinea execu operator 4.6. Siructura programelor MATLAB MATLAG-ul lucreaza fie in modul nia de comands, situajia in care fiscaretnie este Prelucratd media! gi rezuttatele sunt agate, fe cu programe con{iute in figere. Aceste douk ‘moduri fonneaza impreund un ,mediu de programare. Figietele 26 confininstructiuni MATLAB se numesc figiere-M (deoarece au extensia ve) gi sunt programe MATLAB, Un figie-M consti dio succesiune de instrucjun MATLAB, cu posilitatea apeli aor fisiore-M precum si a apeli recursive

S-ar putea să vă placă și