Matlab Pentru Inginerie

download Matlab Pentru Inginerie

of 221

Transcript of Matlab Pentru Inginerie

Tiberiu TUDORACHE MEDII DE CALCUL N INGINERIE ELECTRIC MATLAB

MEDII DE CALCUL N INGINERIE ELECTRIC 3 Sumar PREFA...................................................................................................................................... 5 1.INTRODUCERE N MATLAB .............................................................................................. 6 1.1.Ce este MATLAB ?......................................................................................................... 6 1.2.Structura sistemului MATLAB........................................................................................ 7 1.3.Funcii de intrare i ieire................................................................................................. 8 1.4.Ferestrele de lucru MATLAB........................................................................................ 12 1.5.Configurarea MATLAB Desktop................................................................................... 24 2.FUNCII DE MANIPULARE A MATRICELOR................................................................. 33 2.1.Definirea matricelor....................................................................................................... 33 2.2.Indexarea elementelor.................................................................................................... 36 2.3.Operaiuni de baz cu matrice........................................................................................ 38 2.4.Rezolvarea sistemelor de ecuaii liniare folosind operaii cu matrice.............................. 47 2.5.Aplicaii numerice ......................................................................................................... 49 3.FUNCII MATEMATICE UZUALE.................................................................................... 58 3.1.Funcii de aproximare a numerelor................................................................................. 58 3.2.Funcii de operare cu numere complexe......................................................................... 58 3.3.Funciile putere, radical, logaritm i exponenial .......................................................... 59 3.4.Funcii trigonometrice ................................................................................................... 60 3.5.Funcii de matematic discret....................................................................................... 60 3.6.Aplicaii numerice ......................................................................................................... 61 4.FUNCII MATLAB DE INTERES GENERAL.................................................................... 65 4.1.Expresii MATLAB........................................................................................................ 65 4.2.Introducerea variabilelor, funciilor i comenzilor MATLAB......................................... 67 4.3.Opiuni de configurare Command Window.................................................................... 75 4.4.Utilizarea funciei Help.................................................................................................. 76 4.5.Funcii de gestionare a spaiului de lucru, a directoarelor i fiierelor............................. 81 4.6.Funcii de manipulare a datei i orei............................................................................... 86 4.7.Elemente de interfaare MATLAB................................................................................. 87 4.8.Aplicaii numerice ......................................................................................................... 98 5.REPREZENTAREA GRAFICELOR .................................................................................. 101 5.1.Reprezentarea graficelor 2D ........................................................................................ 101 5.2.Reprezentarea graficelor 3D ........................................................................................ 103 5.3.Configurarea i salvarea graficelor............................................................................... 106 5.4.Aplicaii numerice ....................................................................................................... 114 6.ELEMENTE DE PROGRAMARE MATLAB .................................................................... 124 6.1.Fiiere de tip M............................................................................................................ 124 6.2.Tipuri de variabile i de operatori ................................................................................ 129 6.3.Instruciuni de control logic ......................................................................................... 132 6.4.Interaciunea program-utilizator................................................................................... 135 6.5.Operaii cu iruri de caractere ...................................................................................... 142 6.6.Aplicaii numerice ....................................................................................................... 143 7.CALCULE NUMERICE CU POLINOAME....................................................................... 164 7.1.Evaluarea polinoamelor ............................................................................................... 164 7.2.Operaii aritmetice cu polinoame ................................................................................. 165 7.3.Descompunerea n fracii simple.................................................................................. 167 7.4.Calculul derivatei......................................................................................................... 168 7.5.Calculul rdcinilor ..................................................................................................... 169 7.6.Aplicaii numerice ....................................................................................................... 170 4MEDII DE CALCUL N INGINERIE ELECTRIC 8.FUNCII MATLAB DE INTERPOLARE I APROXIMARE A DATELOR..................... 173 8.1.Cutarea datelor n tabele............................................................................................. 173 8.2.Interpolarea funciilor de o singur variabil................................................................ 175 8.3.Interpolarea funciilor de dou variabile....................................................................... 179 8.4.Aproximarea polinomial prin metoda celor mai mici ptrate ...................................... 184 8.5.Interpolarea funciilor de trei variabile......................................................................... 185 8.6.Aplicaii numerice ....................................................................................................... 187 9.DERIVAREA I INTEGRAREA NUMERIC A FUNCIILOR ...................................... 193 9.1.Derivarea numeric...................................................................................................... 193 9.2.Integrarea numeric ..................................................................................................... 199 9.3.Aplicaii numerice ....................................................................................................... 204 10.INTEGRAREA NUMERIC A ECUAIILOR DIFERENIALE.................................. 209 10.1.Ecuaiile difereniale de ordinul nti........................................................................ 209 10.2.Funcii MATLAB pentru integrare numeric a ecuaiilor difereniale....................... 209 10.3.Integrarea ecuaiilor difereniale de ordin superior i a sistemelor de ecuaiidifereniale............................................................................................................... 212 10.4.Aplicaii numerice ................................................................................................... 213 11.FUNCII DE OPTIMIZARE NUMERIC..................................................................... 216 11.1.Minimizarea funciilor de o variabil ....................................................................... 216 11.2.Minimizarea funciilor de mai multe variabile.......................................................... 217 11.3.Calculul zerourilor funciilor de o variabil real ..................................................... 217 11.4.Aplicaii numerice ................................................................................................... 218 12.BIBLIOGRAFIE I WEBOGRAFIE............................................................................... 221 MEDII DE CALCUL N INGINERIE ELECTRIC 5 PREFA Lucrarea de fa este destinat studenilor din nvmntul superior tehnic din domeniul ingineriei electrice care doresc s se familiarizeze cu principalele comenzi, funcii i noiuni de programare specifice pachetului de programe MATLAB. Prin structura i coninutul su, lucrarea este accesibil cu minime cunotine de electricitate i studenilor din alte domenii ale ingineriei cum ar fi inginerie mecanic, electronic, automatic, etc.nelegereanoiunilorprezentatenlucrarepresupuneun minim decunostineprealabile de informatic, programare a calculatoarelor, electricitate, algebr i analiz matematic. Materialulprezentatestestructuratpe13capitoleiareunpronunatcaracterpractic abordnd comenzile, funciile matematice i facilitile MATLAB cu aplicabilitate direct n probleme tehnice de calcul numeric.Capitolul1allucrriiesteunulintroductiviprezintpescurtistoriapachetuluide programeMATLAB,structuraprogramului,comenziledeintrareiieire,ferestrelede lucru i configurarea MATLAB Desktop.Capitolul 2 trateaz principalele funcii de generare, indexare i manipulare a matricelor, vectorilor i tablourilor n mediul MATLAB. Capitolul3trateazprincipalelefunciimatematiceMATLAB,cumarfifunciilede aproximareanumerelor,funciideoperarecunumerecomplexe,funciitrigonometrice, funcii de matematic discret etc. Capitolul4estededicatfunciilorMATLABdeinteresgeneralcumarfifunciilede import i export al datelor, de gestionare a spaiului de lucru, de utilizare a help-ului etc. ncapitolul5suntprezentateprincipaleleelementeMATLABdereprezentarea graficelor2Di3D.Acestcapitolvizeaznsuireaprincipalelorcomenzidecreare, etichetare i salvare a graficelor, respectiv de manipulare a obiectelor grafice specifice. ncapitolul6suntabordateprincipalelenoiunideprogramareMATLAB.nacest capitolseurmretefamiliarizareautilizatoruluicuceledoutipuridefiiereMianume fiierele de tip script i fiierele de tip function. Tot n cadrul acestui capitol este abordat pe scurt tehnica de programare a interfeelor grafice simple. Capitolul 7 este dedicat funciilor de operare cu polinoame.n capitolul 8 sunt tratate problemele specifice interpolrii i aproximrii datelor. Capitolul9abordeazderivareaiintegrareanumericafunciilorfolosindcomenzile MATLAB specifice. ncapitolul10suntprezentatefunciileMATLABdeintegrareaecuaiilordifereniale, respectiv a sistemelor de ecuaii difereniale. Capitolul 11 al lucrrii trateaz problematica minimizrii funciilor cu una sau mai multe variabile. Pentrufixareanoiuniloriacunotinelordobnditepemsuraparcurgeriilucrrii,la sfritulcapitolelorsuntpropuseseturideaplicaiinumericerezolvate.Aplicaiilepropuse constau n abordarea unor probleme de calcul numeric avnd diferite nivele de complexitate.Lucrareadefaesteunrezultatalactivitiididacticeidecercetareefectuatedectre autorncadrulLaboratoruluideProcesareElectromagneticaMaterialeloriModele Numerice (PEM_MN), Facultatea de Inginerie Electric, Universitatea POLITEHNICA din Bucureti. 6MEDII DE CALCUL N INGINERIE ELECTRIC 1.INTRODUCERE N MATLAB 1.1. Ce este MATLAB ? MATLAB(MATtrixLABoratory)esteunpachetdeprogramedenaltperforman, interactiv,destinatcalcululuimatematic,tiinificiingineresc.MATLABintegreaz calcul, programare i vizualizare, ntr-un mediu de lucru prietenos, soluionarea problemelor presupunndfolosireanotaiilormatematiceclasice.UtilizareaprogramuluiMATLAB include: Matematic i calcul numeric,Programare i dezvoltare de algoritmi,Modelare i simulare,Analiz de date, exploatarea rezultatelor i vizualizare,Grafic tiinific i inginereasc,Dezvoltare de aplicaii software, incluznd construcia de interfee grafice (GUI),Etc. MATLABesteunprodusalcompanieiamericaneTheMathworks,Inc. [http://www.mathworks.com]ilucreazsubWindows,Unix,LINUXiMachintosh. MATLABincludetoatefacilitileunuilimbajcompletdeprogramare,admindinterfee cu limbajul de programare C, C++ i FORTRAN. Versiunea cea mai recent a pachetului de programe MATLAB este versiunea 7. MATLABacunoscut oputernicevoluiendecursulultimilorani,reprezentndastzi nmediileuniversitaredinStateleUnite,JaponiaiUniuneaEuropeanounealtstandard decalcul,fiindasociatdiverselorcursuriintroductivesauavansatedematematic,tiin sau inginerie. n industrie, MATLAB este recunoscut ca un mijloc de investigaie numeric performant,utilizatnsprijinuluneiactivitidecercetare,dezvoltareianalizdenalt nivel. VersiuneacompletapachetuluideprogrameMATLABconineontreagfamiliede module specifice, denumite tool-box-uri, respectiv blockset-uri, care permit rezolvarea unor aplicaiidindiversedomeniialeinginerieicumarfi:inginerieelectric,matematic, economic, mecanic, aerospaial, biomedical, statistic i multe altele.Aceste module sunt colecii de funcii MATLAB (M-files), uor de asimilat, care extind putereadecalculapachetuluideprogrameMATLABnvederearezolvriiunorclase particularedeprobleme.ColeciademoduleMATLABconine:Simulink,DSP,Control System,SimPowerSystems,SimMechanics,DataAcquisition,FuzzyLogic,Image Processing,PartialDifferentialEquations,NeuralNetwork,Optimization,System Identification, Financial, Statistics, Communications, Database, Virtual Reality etc. MEDII DE CALCUL N INGINERIE ELECTRIC 7 1.2. Structura sistemului MATLAB Structura sistemului MATLAB este compus din cinci pri principale: 1.2.1Mediuldedezvoltare.Acestaestealctuitdintr-unsetdeuneltecarefaciliteaz folosireafunciilorifiierelorMATLAB.Multedintreacesteasuntcontrolatedeinterfee graficeiincludfereastraprincipalMATLABsauMATLABDesktop,fereastrade comenzi sau Command Window, fereastra ce memoreaz istoria comenzilor sau Command History i browser-ele Help, Workspace, Files, Search Path etc. 1.2.2BibliotecadefunciimatematiceMATLAB.Aceastbibliotecconstdintr-o vastcoleciedealgoritmidecalcul,porninddelafunciielementareprecumsum,sinus, cosinus i aritmetic complex, pan la funcii mai sofisticate precum inversare de matrice, calcul de valori proprii, funcii Bessel, transformata Fourier etc. 1.2.3LimbajulMATLAB.LimbajulMATLABesteunlimbajmatrice/vectordenalt nivelceincludeinstruciunidecontrolalbuclelor,funcii,structuridedate,comenzide intrare/ieire i instruciuni de programare orientat pe obiecte. Limbajul MATLAB permite att o programare simpl pentru crearea rapid a unor mici programe de calcul specifice, ctio"programarecomplex"nvedereadezvoltriiunorprogramelaborioasedenivel superior. 1.2.4 Manipularea graficelor (Handle Graphics). Handle Graphics reprezint sistemul degraficMATLABiincludeattcomenzidenaltnivelpentruvizualizarea2Di3Da datelor,procesaredeimagini,animaieigrafic,cticomenzidejosnivelcepermit personalizareacompletareprezentrilorgraficeiconstruireaintegralainterfeelor grafice (GUI) pentru aplicaiile MATLAB. 1.2.5InterfaaprogramaaplicaiilorMATLAB(ApplicationProgramInterface- API).AceastaesteobiblioteccepermitescriereaprogramelorCiFortrance interacioneazcuMATLAB.Bibliotecaconinefacilitideapeldesubrutinedin MATLAB(dynamiclinking),deapelareaMATLAB-ulcapeomaindecalculide citire/scriere de fiiere de tip MAT. 8MEDII DE CALCUL N INGINERIE ELECTRIC 1.3. Funcii de intrare i ieire 1.3.1. Comenzi de lansare MATLAB. Exist mai multe variante de lansare a pachetului de programe MATLAB, i anume: Varianta A) Dublu-clic pe icoana MATLAB din Windows Desktop Varianta B) Clic pe butonul START, urmat de clic pe opiunea MATLAB 6.5, ca n Fig. 1.1. Fig. 1.1. Lansarea MATLAB din meniul STARTprin clic pe opiunea MATLAB 6.5 Varianta C) Clic pe butonul START, urmat de clic pe opiunea Run , urmat de tastarea cuvntului matlab n fereastra Run, ca n Fig. 1.2. Fig. 1.2. Lansarea MATLAB din meniul STARTprin clic pe opiunea Run MEDII DE CALCUL N INGINERIE ELECTRIC 9 urmat de Enter sau clic pe butonul OK . Varianta D) Dublu-clicpeicoanadetipshortcutMATLAB6.5dindirectoruldeinstalare C:/MATLAB6p5/, ca n Fig. 1.3. Fig. 1.3. Lansarea MATLAB 6.5. prin dublu-clicpe icoana de tip shortcut corespunztoare Varianta E) n cazul lansrii dintr-o fereastr DOS, se tasteaz cuvntul matlab la promptul DOS, ca n Fig. 1.4, fiind urmat de Enter. Fig. 1.4. Lansarea MATLAB dintr-o fereastr DOS Mai sunt i alte variante de lansare a pachetului de programe MATLAB pe care le lsm a fi descoperite de ctre utilizator. 1.3.2.OpiunidelansareMATLAB.ExistmaimulteopiunidelansareMATLAB, acestea putnd fi activate la lansarea programului, n felul urmtor: 10MEDII DE CALCUL N INGINERIE ELECTRIC Clic-dreapta pe icoana MATLAB din Window Desktop, urmat de clic pe Properties n meniul contextual, ca n Fig. 1.5, Fig. 1.5. Apelul ferestrei Properties urmat de tastarea n cmpul Target, (dup calea ctre fiierul executabil matlab.exe), a opiunilor de lansare, cum ar fi de pild opiunea /minimize, Fig. 1.6: Fig. 1.6. Opiuni de lansare MATLAB 6.5. AciunilecorespunztoarediverseloropiunidelansareMATLABsuntprezentaten Tabelul 1.1: Tabel 1.1 OpiuneAciune /minimize LansareMATLABnformatminimizat,fr afiare de splash. /nosplashLansare MATLAB fr afiare splash. /r M_file LansareMATLABmpreunculansarea automat a fiierului cu numele M_file. /logfile logfilenameSenregistreazautomatlistadecomenzi MATLABdinsesiuneacurentnfiierullog specificat. MEDII DE CALCUL N INGINERIE ELECTRIC 11 1.3.3. Alegerea directorului MATLAB de lucru. Directorul MATLAB de lucru poate fi selectat nainte de lansarea programului, respectnd urmtoarea secven de comenzi: Clic-dreapta pe icoana MATLAB de pe Desktop , urmat de clic pe Properties n meniul contextual, ca n Fig. 1.7, Fig. 1.7. Apelul ferestrei Properties urmatdetastareaciideaccesctredirectoruldelucru,ncmpulStartin,cade exemplu calea D:\MATLAB, Fig. 1.8, Fig. 1.8. Alegerea directorului de lucru nainte de lansare urmat de Enter sau clic pe OK. Directorul MATLAB de lucru poate fi selectat i dup lansarea programului. 1.3.4.ComenzideieiredinMATLAB.PentruprsireaprogramuluiMATLABse poate aciona n mai multe feluri, i anume: A)Clic pe meniul File + clic pe Exit MATLAB, ca n Fig.1.9. 12MEDII DE CALCUL N INGINERIE ELECTRIC Fig. 1.9. Opiuni de ncheiere a unei sesiuni MATLAB B) Clic pe icoana close box a ferestrei MATLAB Desktop. C) Tastare exit sau quit n Command Window, ca n Fig. 1.10, Fig. 1.10. Opiuni de ncheiere a unei sesiuni MATLAB urmat de Enter. D) Etc. 1.4. Ferestrele de lucru MATLAB 1.4.1. Fereastra principal MATLAB (MATLAB Desktop). Dup lansarea programului MATLAB,nprimplanaparefereastraprincipalMATLAB(MATLABDesktop),ce conine unelte pentru controlul directoarelor, fiierelor, variabilelor i aplicaiilor MATLAB asociate, Fig. 1.11.MEDII DE CALCUL N INGINERIE ELECTRIC 13 Fig. 1.11. Fereastra principal MATLAB AccesullacomenzileclasiceMATLABestefacilitatdectrebaradeunelteaferestrei MATLABDesktopToolbar,Fig.1.12.inndcursoruldeasupraunuibuton,oindicaie ajuttoaredescriindunealtavaaparentr-ocsugalben.Uneleferestreaupropriullor toolbar inclus n sistemul de afiare. 1.4.2.FerestrelesupervizatedeMATLABDesktop.Urmtoareleferestresunt supervizate de MATLAB Desktop, dei nu toate apar implicit dup lansare: Fereastra de comenzi (Command Window), permite lansarea comenzilor MATLAB; FereastraCommandHistory,permitememorarea,vizualizarea,editareairelansarea funciilor lansate anterior n Command Window; Fereastra Launch Pad, permite lansarea uneltelor i accesarea documentaiei MATLAB;FereastraCurrentDirectory,permitecontrolulasuprafiierelorMATLABiacelor asociate; Fereastra Help, permite vizualizarea i cutarea documentaiei MATLAB;Fereastra Workspace permite vizualizarea i schimbarea coninutului spaiului de lucru;FereastraArrayEditorpermiteeditareaivizualizareaconinutuluivariabilelorntr-un format tabelar. Prin expandare se pot obine informaii despre diverse module MATLAB Prin clic se pot obine informaii ajuttoareSe pot introduce funcii i comenzi MATLAB Vizualizare sau schimbarea directorului curent Clic pentru a muta fereastra n afara desktopului Clic pentru a nchide fereastra Vizualizare sau lansareafunciilor folosite anterior Afiare n prim plan a Workspacesau Current Directory Redimensionarea ferestrelor prin mutarea separatorului 14MEDII DE CALCUL N INGINERIE ELECTRIC Creaz un nou fiier MDeschide un nou fiierFuncia cut Funcia copy Funcia paste Creaz un nou model Simulink Funcia redo Acceseaz fereastra HelpVizualizeaz sau modificdirectorul curent Selecteaz directoare curente folosite anterior Caut directorul curent Indicaie ce descrie butonul. Indicaiile pot fi activate sau dezactivate din General Prefrerences Funcia undo Fereastra Editor/Debugger permite crearea, editarea i depanarea fiierelor M ce conin funcii MATLAB. AlteunelteiferestreMATLABcumarfiferestrelegraficenusuntsupervizatede MATLAB Desktop. Fig. 1.12. Bara de unelte sau MATLAB toolbar. 1.4.2.1. Command Window. Command Window este fereastra principal de comunicare autilizatoruluicuprogramulMATLAB,Fig.1.13.Aceastfereastrpermitelansareade funciiiefectuareadeoperaiiMATLAB.Pentruvizualizareaferestreiseselecteaz Command Window din meniul View. Fig. 1.13. Fereastra Command Window. ProprietilespecificeferestreiCommandWindowpermitmodificareaformatuluide afiareavalorilornumerice,setareaautomataecouluincadruluneisesiuniMATLAB, specificareafontului,astilului,adimensiuniiliterelor,setareaculorilorfolositepentru subliniereainstruciunilorspecificeetc.Pentruafiareacutieidedialogcuproprietile ferestreiCommandWindow,selectaiPreferencesdinmeniulFilealMATLABDesktop. CutiadedialogsedeschidepermindmodificareaproprietilorferestreiCommand Window, Fig. 1.14. MEDII DE CALCUL N INGINERIE ELECTRIC 15 Fig. 1.14. Configurarea fonturilor i culorilor ferestrei Command Window. 1.4.2.2.FereastraCommandHistory.FereastraCommandHistoryaparecndlansai MATLAB.FereastraCommandHistoryafieazolistafunciilorlansaterecentn Command Window, ca n Fig. 1.15. Afiarea funciilor n fereastra Command History. Lista de comenzi afiate n fereastra CommandHistoryincludeattfunciidinsesiuneacurentctifunciidinsesiuni anterioare.Oraidatapentrufiecaresesiuneaparenparteasuperioaralisteidefuncii aferenteaceleisesiunidelucru.Folosiiscroll-bar-ulsausgeileupidownpentrua naviganfereastraCommandHistory.FiierulspecificunelteiCommandHistoryeste history.m.TastaiprefdirnCommandWindowpentruavedealocaiaacestuifiier. Fiierulhistory.mestencrcatodatculansareaprogramuluiMATLABisuprascrisla ieirea din MATLAB. 16MEDII DE CALCUL N INGINERIE ELECTRIC Fig. 1.15. Fereastra Command History. tergerea funciilor din fereastra Command History. Se recomand tergereafunciilor din fereastra Command History cnd se strng prea multe i navigarea devine dificil. Toate funciile sunt nregistrate pn cnd alegei opiunea de a le terge. Pentru a terge o funcie, selectai funcia sau folosii Shift+clic sau Ctrl+clic pentru a selecta mai multe, sau folosii Ctrl+Apentrualeselectapetoate,iarprinclic-dreaptaselectaiunadintreopiunilede tergere din meniul contextual:Delete Selection terge funcia selectat,Delete to Selection terge toate funciile anterioare pn la cea selectat, Delete Entire History terge toate funciile din fereastra Command History. OaltcaledetergereaantregiilistedefunciiconstnselectareacomenziiClear Command History din meniul Edit. LansareafunciilordinfereastraCommandHistory.Pentruaexecutaofunciedin fereastraCommandHistorysepoatefaceundublu-clicpefunciarespectivnfereastra CommandHistory.Deexemplu,pentruarelansafunciaprefdirsefaceundublu-clicpe funciaprefdir.Puteideasemenealansaofunciecuclic-dreaptapefuncieiselectnd Evaluate Selection din meniul contextual, sau copiind funcia n Command Window. Copierea funciilor din fereastra Command History. Selectai o funcie sau cu Shift+clic sau Ctrl+clic selectai mai multe funcii, sau folosii Ctrl+A pentru a selecta toate funciile. Apoi putei executa urmtoarele comenzi, Tabel 1.2. Tabel 1.2 AciuneMod de lucru Lansareafunciilorn Command Window Copiaiselecianclipboardprinclic-dreaptaiselectarea opiunii Copy din meniul contextual. Selecia se copiaz cu Paste nCommandWindow(altalternativconstnexecutareaunui draggingalselecieinCommandWindow).nCommand WindowseediteazlanevoiefunciaiseapaspeEntersau Selectai una sau mai multe linii i clicai dreapta pentru a le copia sau pentru a crea un fiier M Indicaie privind data i ora ce marcheaz nceputul fiecrei sesiuni de lucruMEDII DE CALCUL N INGINERIE ELECTRIC 17 Return pentru executarea funciei. Copiereafunciilornalt fereastrCopiai selecia n clipboard prin clic-dreapta i selecia comenzii Copydinmeniulcontextual.Copiaiseleciantr-unfiierM deschis n Editor sau alt aplicaie. CreareaunuifiierMdin funciile selectate Clic-dreaptapeselecieiselecteazCreateM-Filedinmeniul contextual. Editor-ul deschide un nou fiier M ce conine funciile pe care le-ai selectat din fereastra Command History. 1.4.2.3.FereastraLaunchPad.FereastaLaunchPaddinMATLABpermiteaccesul uorlaunelte,demo-uri,idocumentaiaproduselorMathWorks,Fig.1.16.Pentrulansare selectaiLaunchPaddinmeniulViewdinMATLABDesktop.ndatsuntlistatetoate produsele MathWorks instalate pe sistemul dvs. Fig. 1.16. Fereastra Launch Pad. Pentrulistareandetaliuaunuiprodus,clicaipesemnul+plasatnstngaprodusului. Pentru a anula listarea, clicai pe semnul din stnga produsului. Pentru a deschide una sau mai multe liste, dublu-clic pe list, sau clic-dreapta i selectai Open din meniul contextual. Aciunea depinde de lista pe care ai selectat-o, dup cum este prezentat n Tabelul 1.3. Tabel 1.3. IcoanaDescrierea aciunii n urma lansrii Documentaia produsului respectiv se deschide n fereastra Help Se lanseaz Demo launcher al produsului respectiv Unealta selectat se deschide Pagina web a produsului pe site-ul MathWorks Webcu informaii recente se deschide n browser-ul dvs. Web ActualizareaferestreiLaunchPad.FereastraLaunchPadincludecomenzipentru toateleproduselegsitencaleadecutareMATLABlalansareasesiuniicurente.Dac schimbai calea de cutare dup lansarea unei sesiuni, de pild prin adugarea unui director Help: dublu-clic pentru a accesa direct documentaia MATLAB Demos: dublu-clic pentru a afiaDemo launcherTools: dublu-clic pentru a deschide unealta Product Page: dublu-clic pentru a vizualiza ultimele informaii de pe site-ul MathWorks Web Clic pentru a afia detalii despre un anumit modul MATLAB 18MEDII DE CALCUL N INGINERIE ELECTRIC Folosii csua de editare a ci pentru a vizualiza directoarele i coninutul acestora Clic pe butonul de cutare n fiierele M Dublu-clic pe un fiier pentru a l deschideVizualizarea zonei de help corespunztoare fiierului M selectattoolbox,fereastraLaunchPadnuesteautomatactualizat.Clic-dreaptanfereastra Launch Pad i selectai Refresh din meniul contextual pentru a actualiza fereastra Launch Pad aa nct s afieze toate produsele n calea curent de cutare. 1.4.2.4.FereastraCurrentDirectory.Pentruacuta,vizualiza,deschideipentrua modificadirectoareifiiereasociateMATLAB-ului,folosiifereastraCurrentDirectory, Fig.1.17.PentruadeschidefereastraCurrentDirectory,selectaiCurrentDirectorydin meniulViewdinMATLABDesktop,sautastaifilebrowserlapromptulCommand Window. Putei deasemenea s o deschidei din Launch Pad, sub MATLAB. Fig. 1.17. Fereastra Current Directory. Principaleleoperaiunicudirectoareifiierecepotfiefectuatefolosindfereastra CurrentDirectorysuntoperaiunicefolosescmeniurilegraficetipWindows,respectiv meniurile contextuale, i anume:vizualizarea i modificarea directoarelor, crearea, redenumirea, copierea i tergerea directoarelor i fiierelor,deschiderea fiierelor,lansarea i vizualizarea coninutului fiierelor,cutarea i nlocuirea coninutului fiierelor. 1.4.2.5.FereastraHelp.SefolosetefereastraHelppentrucutareaivizualizarea documentaieiMATLAB,Fig.1.18iproduseleMathWorks.HelpesteunWebbrowser integratnMATLABDesktopcareafieazdocumenteHTML.Pentrulansareaferestrei Help: MEDII DE CALCUL N INGINERIE ELECTRIC 19 Clicai pe butonul help din toolbar sau Tastai helpbrowser n Command Window sau Selectai Help din meniul View sau Folosii meniul Help n orice unealt MATLAB. Fig. 1.18. Fereastra Help. Fereastra Help conine dou paneluri:Panelul Help Navigator din stnga, care se folosete pentru cutarea informaiei. Acesta include un filtru Product Filter i ferestrele Contents, Index, Search, i Favorites.Panelul display din dreapta, folosit pentru vizualizarea documentaiei. ProprietilespecificeferestreiHelppotfimodificateselectndPreferencesdinmeniul FilealferestreiMATLABDesktop.Cutiadedialogsedeschideipermiteselectarea opiuniiHelpnurmacreiasedeschidefereastraHelpPreferencespentrumodificarea Folosiiclose box pentru a nchide panelul Help NavigatorFolosii bara de separaie pentru a redimensiona panelurile Panel ce permite vizualizarea documentaieiTab-urile panelului Help Navigator permit diferite moduri de accesare a documentaiei20MEDII DE CALCUL N INGINERIE ELECTRIC proprietilorferestreiHelp.Sepotmodificacaracteristicilefontuluifolositnferestrele Help, se poate selecta locaia documentaiei, etc. 1.4.2.6.FereastraWorkspace.FolosiiWorkspacepentruexecutareaoperaiunilorn spaiuldelucruMATLAB.PentrualansaWorkspace,Fig.1.19,existmaimultecii anume: Din meniul View din MATLAB Desktop, selectai Workspace, n Launch Pad, dublu-clic pe Workspace, Tastai workspace la promptul Command Window. Fig. 1.19. Fereastra Workspace. Printre operaiunile ce pot fi executate din fereastra Workspace sunt:vizualizarea Current Workspace,salvarea Current Workspace,ncrcarea Saved Workspace,tergerea Workspace Variables,crearea graficelor din fereastra Workspace,vizualizarea i editarea Workspace Variables folosind Array Editor. ProprietilespecificeferestreiWorkspacepotfimodificateselectndPreferencesdin meniul File al ferestrei MATLAB Desktop. Cutia de dialog se deschide i permite selectarea opiuniiWorkspacenurmacreiasedeschidefereastraWorkspacePreferencespentru modificareaproprietilorferestreiWorkspace.Sepotmodificacaracteristicilefontului folositnfereastraWorkspaceisepoateopionapentruafiareauneicsuededialogde confirmare a tergerii variabilelor. MEDII DE CALCUL N INGINERIE ELECTRIC 21 1.4.2.7.FereastraArrayEditor.ArrayEditorsefolosetepentruafiareaieditarea unei reprezentri vizuale 1D i 2D a vectorilor de tip numere, iruri de caractere etc. Pentru a lansa Array Editor din fereastra Workspace se selecteaz n fereastra Workspace variabila pecaredoriisoafiai(Shift+clicsauCtrl+clicpentruaselectamaimultevariabile). Clicai pe butonul Open din toolbar, sau clic-dreapta i selectai Open Selection din meniul contextual.Alternativ,ncazuluneisingurevariabile,puteifacedublu-clicpeaceasta pentruaodeschide.ArrayEditorselanseaz,afindvalorilevariabilelorselectate.Nu putei deschide un vector cu mai mult de 10000 de elemente. PentruaafiaconinutuluneivariabilenWorkspace,tastainumelevariabileila promptul Command Window.PentruaafiaovariabilnArrayEditor,Fig.1.20,folosiifuncia openvar('nume_variabila')tastatlaliniadecomanddinCommandWindowavndca argument numele variabilei pe care dorii s o afiai. Fig. 1.20. Fereastra Array Editor. ModificareavalorilorelementelornArrayEditor.nArrayEditor,clicaipecelulaa creivaloaredoriisomodificai.Tastaionouvaloare.ApsaiEntersauReturn,sau clicainaltcelulimodificareavafiefectuat.Pentruamodificadimensiunileunui vector, tastai noile valori corespunznd numrului de rnduri i coloane n Size fields. Dac cretei dimensiunea vectorului sau matricei, noile rnduri i coloane sunt adugate la sfrit i sunt umplute cu zerouri. Dac reducei dimensiunea, vei pierde datele; MATLAB terge rndurileicoloaneledelasfrit.Anumitetipuridedatenupermitmodificarea dimensiunii; pentru aceste variabile, cmpulSize nu este editabil. Dac deschidei un fiier MATexistentiefectuaimodificriasupraacestuiafolosindArrayEditor,vatrebuis salvai acel fiier MAT dac dorii ca schimbrile s fie salvate. Elemente aleunor variabile de tip vector; valorile pot fi schimbate Alegerea formatului de afiareModificarea dimensiunilor variabilelor de tip vectorFolosii tab-urile pentru vizualizarea variabilelor deschise n Array Editor22MEDII DE CALCUL N INGINERIE ELECTRIC Controlul afirii valorilor n Array Editor. n Array Editor, selectai o variabil n lista Numeric format pentru a controla modul de afiare a valorilor numerice. Proprietile specificeferestrei Array Editor potfimodificate selectnd Preferences din meniul File al ferestrei MATLAB Desktop. Cutia de dialog se deschide i permite selectarea opiuniiArrayEditornurmacreiasedeschidefereastraArrayEditorPreferencesde modificare a proprietilor. Se pot modifica caracteristicile fontului folosit n fereastra Array Editor, se poate selecta formatul numeric implicit etc. 1.4.2.8.FereastraEditor/Debugger.FereastraEditor/DebuggerdinMATLAB, Fig.1.21,puneladispoziieointerfagraficcepermiteeditareaelementardetexti depanarea(debugging)oricruitipdefiierM.Editor/Debuggeresteounealtcarese poatefolosipentrueditare,debuggingsauambele.Existdiferitemodalitidelansarea ferestrei Editor/Debugger: A)LansareaferestreiEditor/DebuggernvedereacreriiunuinoufiierM.Pentrua crea un nou fiier M n Editor/Debugger, fie clicai pe butonul new filedin toolbar-ul MATLAB,sauselectaiFile+New+M-filedinmeniulMATLABDesktop.Putei deasemeneacreaunfiierMfolosindmeniulcontextualnfereastraCurrentDirectory. Editor/Debuggersedeschidedacnucumvaestedejadeschis,cuunfiiergolncare putei scrie instruciunile fiierului M.DacEditor/Debuggerestedeschis,puteicreamaimultefiierenoifolosindbutonul newfiledintoolbar, sau selectaiFile+ New+M-file. Funciaechivalentdecrearea fiierelorMnoinEditor/DebuggerestefunciaedittastatnCommandWindow.Dac tastaieditfilename.mifiierulcuacestnumenuexistnc,apareunmesajcarev ntreabdacdoriiscreaiunnoufiiercunumelefilename.m.Dacalegeida, Editor/Debugger creaz un fiier gol cu numele filename.m, altfel fiierul nu va fi creat. B)LansareaferestreiEditor/DebuggerpentrudeschidereafiierelorMexistente. PentruadeschideunfiierMexistentnEditor/Debugger,clicaipebutonulopendin toolbar-ul MATLAB sau din Editor/Debugger, sau selectai File + Open i apoi din Open dialogbox,selectaifiierulM iClicaipeOpen. Sepotdeasemeneadeschide fiieredin fereastra Current Directory. Putei selecta un fiier n vederea deschiderii din lista celor mai recent folosite fiiere, n parteainferioarameniuluiFilenMATLABDesktopsaunEditor/Debugger.Putei schimba numrul de fiiere care apar n aceast list.OfuncieechivalentfolositpentrueditareasaudeschidereaunuifiierMexistentn Editor/Debugger este funcia edit filename.m. MEDII DE CALCUL N INGINERIE ELECTRIC 23 Fig. 1.21. Fereastra Editor/Debugger. C)LansareaferestreiEditor/DebuggerfralansaMATLAB.Peplatformele Windows,puteifolosiMATLABEditorfrslansaiMATLABprindublu-clicpe fiierulMnWindowsExplorer.FiierulMsedeschidenMATLABEditor.Pentrua deschidefereastraEditorfrfiierimplicit,lansaifiierul MATLAB6p5/bin/win32/meditor.exe.Sepotdeschidemaimultesesiunisimultanede meditor. Cnd lansai MATLAB Editor fr lansare MATLAB, Editor devine o aplicaie de sine stttoare.Proprietile ferestrei Editor/Debugger se pot modifica selectnd Preferences din meniul FilealferestreiMATLABDesktop.Cutiadedialogsedeschideipermiteselectarea opiuniiEditor/DebuggernurmacreiasedeschidefereastraEditor/Debugger Preferences de modificare a proprietilor, Fig. 1.22. Prin intermediul opiunilor disponibile n cadrul ferestrei Preferences se pot modifica caracteristicile fontului i culorilor folosite n fereastra Editor/Debugger, se poate selecta modul de afiare, salvare etc. 24MEDII DE CALCUL N INGINERIE ELECTRIC Fig. 1.22. Configurarea opiunilor ferestrei Editor/Debugger. 1.5. Configurarea MATLAB Desktop 1.5.1.ApeluluneltelorMATLABDesktop.PentruaapelaounealtdinMATLAB Desktop, selectai unealta din meniul View sau executai un dublu-clic pe unealta respectiv nlistadeunelteafiatenLaunchPad.Unealtasedeschidenlocaiapecareoocupa ultima dat cnd a fost deschis. Exist cteva unelte controlate de MATLAB Desktop care nu se pot deschide din meniul View sau Launch Pad, i anume: Array Editor care se deschide prin dublu-clic pe variabil n fereastra Workspace,Editor/Debugger caresedeschideprincreareaunuinoufiierMsauprin deschiderea unui fiier M existent.Uneltelesepotdeschideiprinfolosireafunciilor.Depild,funciahelpbrowser deschide fereastra Help. 1.5.2.CutareadocumentelorfolosindDesktopTools.MeniulWindowafieaztoate documentele Editor/Debugger, toate variabilele din Array Editor, i toate ferestrelefigur. Selectai o entitate n meniul Window pentru a ajunge direct la acea fereastr sau document. SelectaiCloseAllpentruanchidetoateentitilelistatenmeniulWindow.Depild, meniul Window de mai jos, Fig. 1.23, ilustreaz trei documente deschide n Array Editor i doudocumentedeschisenEditor/Debugger.Selectndvariance.m,depild,determin fereastra Editor/Debugger cu fiierul variance.m deschis, s devin fereastr activ. MEDII DE CALCUL N INGINERIE ELECTRIC 25 Fig. 1.23. Alegerea ferestrei active. 1.5.3.Redimensionareaferestrelor.PentruredimensionareaferestrelornMATLAB Desktop,sefolosetebaraseparator,careestebaradintredouferestre:Mutaicursorul deasuprabareiseparator.Cursorulcaptoaltform.Draggaibaraseparatorpentrua modifica dimensiunile ferestrelor, Fig. 1.24. Fig. 1.24. Redimensionarea ferestrelor. 1.5.4.Mutareaferestrelor.Existtreimodalitidebazdemutareaferestrelor MATLABDesktop:mutareninteriorulMATLABDesktop,mutarenafaraMATLAB Desktop, mutare n interiorul MATLAB Desktop prin gruparea ferestrelor (Tabbing). MutareninteriorulMATLABDesktop.Pentruamutaofereastrantr-oaltlocaien interiorulMATLABDesktopmutaititlebar-ulferestreisprenoualocaie.Pemsurace mutaifereastra,unconturalacesteiavadevenivizibil.Cndconturulseapropiedeo poziieposibil,conturulsefixeaznacealocaie.Statusbarafieazinstruciunidespre mutareaferestreintimpulschimbriiconturului.nexempluldemaijos,Fig.1.25, fereastra Command History este iniial la stnga ferestrei Command Window i este mutat Close All nchide toate entitile listate n meniul WindowTrei variabile sunt deschise n Array Editor: x, y i m Dou fiiere sunt deschise n Editor/Debugger: sqsum.m i variance.m Clicai pe o entitate pentru a accesa direct fereastra corespunztoareFolosii bara de separaie pentru a redimensiona subferestrele din desktop 26MEDII DE CALCUL N INGINERIE ELECTRIC deasupra ferestrei Command Window. Cnd title bar-ul ferestrei Command History atinge zona inferioar a toolbar-ului, conturul devine vizibil. Fig. 1.25. Poziionarea ferestrelor. Eliberaimouse-ulpentruavizualizafereastrannoualocaie.Celelalteferestren desktopsuntredimensionatepentruaseadaptalanouaconfiguraie.nfigurademaijos, Fig.1.26,esteilustratnouapoziieaferestrelordindesktopdupmutareaferestrei Command History deasupra ferestrei Command Window. Fig. 1.26. Noua poziie a ferestrelor. Mutai bara de titlu a ferestrei Command History pentru a muta locaia fereastreiEliberai butonul mouse-ului cnd locaia ferestrei Command History v convineBara de stare afieaz instruciuni despre operaia n curs de mutare a ferestreiMEDII DE CALCUL N INGINERIE ELECTRIC 27 MutarenafaraMATLABDesktop.Pentru amutaferestrenafaraMATLAB Desktop exist mai multe variante:Clicaipesgeatadintitlebar-ulferestreipecaredoriisomutainafara MATLAB Desktop, Selectai Undock din meniul View al acelei ferestre; fereastra trebuie s fie activ,Mutaititlebar-ulferestreinafaraMATLABDesktop;pemsurcemutaititle bar,unconturalferestreivaapare.CndcursorulestenafaraMATLABDesktop, eliberaimouse-ul.FereastraaparenafaraMATLABDesktop.nexempluldinFig. 1.27, fereastra Command History a fost mutat n afara MATLAB Desktop. Fig. 1.27. Mutarea ferestrelor n exteriorul MATLAB Desktop. MutareaferestrelordinexteriorulMATLABDesktopninterior.Pentruamutao fereastradinexteriorulMATLABDesktopninterior,selectaiopiuneaDockdinmeniul View al ferestrei respective. Gruparea(Tabbing)ferestrelormpreun.Puteigrupaferestreleaanctacesteas ocupe acelai spaiu n MATLAB Desktop, pstrnd ns accesul la toate ferestrele. Pentru a grupampreunferestremutai(dragging)titlebar-uluneiferestredindesktopdeasupra title bar-ului unei alte ferestre din desktop. Conturul ferestrei pe care o mutai se suprapune peste fereastra a doua i partea inferioar a conturului include un tab. n Fig. 1.28 fereastra CommandHistoryesteiniiallastngaCommandWindowiarprinmutareatitlebar-ului ferestrei deasupra title bar-ului ferestrei Command Window se realizeaz gruparea acestora mpreun (tabbing). 28MEDII DE CALCUL N INGINERIE ELECTRIC Fig. 1.28. Gruparea ferestrelor (tabbing) n interiorul MATLAB Desktop. Apoieliberaimouse-ul.Ambeleferestreocupacelaispaiuinzonainferioara ferestrelor apar tab-urile ce permit identificarea ferestrelor. n Fig. 1.29, fereastra Command History i Command Window sunt grupate mpreun, fereastra Command History fiind cea activ. Fig. 1.29. Noua poziie a ferestrelor grupate n interiorul MATLAB Desktop. Vizualizareaferestrelorgrupate.Pentruavizualizaofereastrdintr-ungrup,clicaipe tab-ulferestrei.Fereastratrecenprimplanidevinefereastrcurentactiv.Dacexist maimultetab-urintr-ofereastrdectsuntvizibile,folosiisgeilespredreaptapentrua vedea i alte tab-uri.Conturul ferestrei inclusiv tab-ulFolosii sgeile pentru a vizualiza tab-urile care nu sunt vizibile. n acest exemplu sgeile sunt gri indicnd c toate tab-urile sunt vizibile Exist mai multe tab-uri grupate mpreun n fereastr pentru fiecare tool. Clicai pe un tab pentru a vizualiza acel tool. MEDII DE CALCUL N INGINERIE ELECTRIC 29 Mutarea ferestrelor grupate. Pentru a muta o fereastr grupat spre o alt locaie, mutai titlebar-ulsautab-ulsprenoualocaie.Puteimutafereastraninteriorulsaunexteriorul MATLAB Desktop.nchiderea ferestrelor grupate. Cnd clicai pe close box-ul ferestrei care este parte a unuigrupdeferestre,senchidedoarfereastrancauz.Nuputeinchidetoateferestrele grupate deodat, ci doar una cte una. 1.5.5. Comenzi de nchidere a unei ferestre MATLAB. Pentru nchiderea unei ferestre MATLAB se poate aciona n mai multe feluri, i anume: Clicai pe close box-ul ferestrei , Deselectai n meniul View fereastra care trebuie nchis , Clicai pe meniul File + clic pe Close, Fig. 1.30. Fig. 1.30. Comenzi de nchidere a ferestrelor. 1.5.6. Configuraia MATLAB Desktop predefinit. Exist ase configuraii predefinite MATLAB Desktop, pe care le putei selecta din meniul View + Desktop Layout:Default - coninenstngafereastreleWorkspaceiCurrentDirectorygrupate mpreun, iar n dreapta fereastra Command History;CommandWindowOnly-coninedoarfereastraCommandWindow;aceastopiune face ca MATLAB Desktop s apar similar cu versiunile de MATLAB anterioare; Simple - conine fereastra Command History i Command Window, una lng alta;ShortHistory-coninefereastreleCurrentDirectoryiWorkspacegrupatempreun deasupraferestreiCommandWindowrespectivdeasupraferestreiCommandHistory care are talie redus;30MEDII DE CALCUL N INGINERIE ELECTRIC TallHistory-conineferestreleCommandHistorynstngaiCurrentDirectoryi Workspace grupate mpreun deasupra ferestrei Command Window;FivePanel-coninefereastraLaunchPaddeasupraferestreiCommandHistoryn stnga,WorkspacedeasupraCurrentDirectoryncentru,iCommandWindown dreapta. Dupselectareauneiconfiguraiipredefinite,puteimuta,redimensionai deschide/nchide ferestrele. 1.5.7.AccesareaadreseiWebacompanieiTheMathWorks.Puteiaccesadin MATLABDesktoppaginileWebalecompanieiTheMathWorks,selectndunadintre urmtoarele opiuni: The MathWorks Web Site, MATLAB Central, MATLAB File Exchange, MATLABNewsgroupExchange,CheckforUpdates,Products,Membership,Technical Support Knowledge Base. 1.5.8.Meniulcontextual.MultedintrefacilitileMATLABDesktopsuntdisponibile dinmeniurilecontextuale,cunoscutecapop-upmeniuri.Pentruaaccesaunmeniu contextual,seexecutclic-dreaptapeoentitate,iarmeniulcontextualmpreuncu operaiunilespecificedevinvizibile.Maijos,Fig.1.31,seprezintmeniulcontextualal ferestrei Command History. Fig. 1.31. Meniul contextual al ferestrei Command History. 1.5.9.Tastecurolde prescurtareiaccelerare.Puteiaccesamultearticoledemeniu folosind prescurtri sau taste acceleratoare cum ar fi Ctrl+X care este identic cu operaiunea CutpeplatformeWindows,sauAlt+FpentruaccesareameniuluiFile.Multedintre prescurtri sunt listatemai jos:Enterechivalental unuidublu-clic,executaciuneacurentasuprauneiselecii;de pild,apsndEntercndesteselectatolinienfereastraCommandHistoryacea comand este executat n Command Window; Escape anuleaz aciunea curent; Ctrl+TabsauCtrl+F6deplasarespretab-ulurmtorndesktop,sausprefiierul urmtor deschis n Editor/Debugger; Accesarea meniului contextual este posibil prin clic dreapta pe o entitate selectatMEDII DE CALCUL N INGINERIE ELECTRIC 31 Ctrl+Shift+Tabdeplasarespretab-ulanteriorndesktop,sausprefiierulanterior deschis n Editor/Debugger; Ctrl+PageUpdeplasarelatab-ulurmtorntr-ungrupdeuneltesaufiieregrupate mpreun; Ctrl+Page Down deplasare spre tab-ul anterior ntr-o fereastr; Alt+F4 nchide desktop-ul sau fereastra n afara desktop-ului; Alt+Space afieaz meniul sistem. 1.5.10.Selectareasimultanamaimultorentiti.nmulteferestrealedesktop-ului, puteiselectasimultanmaimulteentitiiapoiputeiexecutaoaciuneasupratuturor entitilor.Puteiselectasimultanmaimulteentiticlicndpeprimaentitateinnd apsat tasta Ctrl i apoi clicnd pe entitatea urmtoarea pe dorii s o selectai. Repetai acestultimpaspnaiselectattoateentitiledorite.DacineiapsattastaShiftn locultasteiCtrlntimpceclicaipeoentitate,veiselectatoateentitilecuprinsentre celedouentitiselectate.Puteiexecutaasupraentitilorselectateocomandcomun cum ar fi de pild Delete. 1.5.11.FolosireaClipboard-ului.Puteiexecutaoperaiunicuticopyasupraunei seleciidintr-ofereastrdinDesktopspreClipboardiapoisexecutaipastenalt fereastrdinMATLABDesktop.FolosiimeniulEdit,meniurilecontextualesau prescurtrilestandard.Depild,puteiexecutacopyasuprauneiseleciidecomenzidin fereastraCommandHistoryisexecutaipastenCommandWindow.ArticolulPaste SpecialdinmeniulEditdeschideseleciadinClipboardnImportWizard.Puteifolosi aceast facilitate pentru a copia datele dintr-o alt aplicaie, cum ar fi Excel, n MATLAB.Pentruaanulaceamairecentexecuiecut,copy,saupaste,selectaiUndodinmeniul Edit.FolosiiRedopentruaexecutadinnouaceleoperaiuni(aciuneopusluiUndo). Puteideasemenearealizacopiereaprinmutarea(dragging)seleciei.Depild,dac efectuaioseleciedinfereastraCommandHistoryimutaiselecianCommand Window, este echivalent cu execuia comenzii paste. Putei n continuare s editai liniile n Command Window. 1.5.12.ProprietigeneralealeMATLABDesktop.Puteimodificaproprietile predefinite ale MATLAB Desktop, cum ar fi de pild fontul utilizat n Command Window. Proprietile rmn valabile pe durata sesiunii MATLAB. Unele ferestre v permit controlul acestoraspectedinmeniulpropriuferestreirespective.Pentrumodificareaproprietilor selectaiPreferencesdinmeniulFile.CutiadedialogPreferencessedeschideipermite modificarea proprietilor prin selecia tipului de proprieti. nexempluldemaijos,Fig.1.32,suntmodificateproprietilegeneralealeMATLAB Desktop, reprezentate prin articolul de meniu General.Dacapareunsemn+nstngaunuiarticoldinmeniu,clicaipe+pentruaafian detaliuopiunileconinute,iapoiselectaiopiuneaalecreiproprietidoriisle modificai. Panelul din dreapta reflect tipul de proprieti pe care le-ai selectat. n panelul dindreaptaspecificaiproprietiledoriteiclicaipeOK.Proprietilesevorschimba imediat. 32MEDII DE CALCUL N INGINERIE ELECTRIC Fig. 1.32. Configurarea opiunilor MATLAB Desktop. MEDII DE CALCUL N INGINERIE ELECTRIC 33 2.FUNCII DE MANIPULARE A MATRICELOR 2.1.Definirea matricelor OmetodeficientdeancepeiniiereanmediuldelucruMATLABestedeanva operaiunile de generare imanipulare amatricelor. Definireamatricelor n MATLAB este posibil pe mai multe ci. De pild putei: Defini explicit matrice prin introducerea unor liste de elemente n Command Window;Defini matrice prin ncrcarea datelor din fiiere externe;Genera matrice folosind funcii MATLAB incluse;Crea matrice folosind propriile dvs. funcii scrise n fiiere M. 2.1.1. Definirea explicit amatricelor n Command Window. O metod de definire a matricelorconstnintroducereaexplicitaelementelormatricelorlaliniadecomandn fereastraCommandWindow.Prezenaprompt-ului(>>)nCommandWindowindic faptul c MATLAB este gata de a accepta o comand din partea dvs. Astfel putei introduce o variabil, lansa o funcie etc. ncepei prin introducerea unei matrice ca o list de elemente. Trebuiesc respectate cteva convenii de baz: Separai elementele unui rnd cu spaii blanc sau virgule; Folosii un semn punct i virgul, ;, pentru a indica sfritul fiecrui rnd; Includei ntreaga list ntre paranteze ptrate, [ ]. Astfel pentru a defini o matrice, tastai la linia de comand n Command Window: A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1](2.1) Dupceaitastatliniadecomanddemaisus,cndapsaitastaEntersauReturn, MATLAB va afia matricea pe care tocmai ai introdus-o: A =(2.2) 16 3 213 51011 8 9 6 712 41514 1 Odatintrodusmatriceademaisus,aceastaesteautomatmemoratnMATLAB Workspace. Putei accesa i vizualiza aceast matrice tastnd simplu A la linia de comand urmat de Enter.n mod similar introducerii unei matrice, pentru a lansa o funcie, tastai funcia inclusiv toateargumenteleiapsaitastaReturnsauEnter.MATLABvaafiarezultatul.De pild, tastai: det(A) 34MEDII DE CALCUL N INGINERIE ELECTRIC MATLAB va calcula determinantul matricei A definite anterior i va rspunde cu: ans = (2.3)0 Cnd nu specificai o variabil de ieire (variabil rspuns), MATLAB folosete variabila predefinitans,oprescurtarepentrucuvntulenglezescanswer,pentruastocarezultatul unei calculaii. 2.1.2. Definireamatricelorprin ncrcareadatelordinfiiere externe. Matricelepot ficreatedeasemeneaprinncrcareadatelordinfiiereexternefolosindfunciaload. FuncialoadcitetefiierebinareconinndmatricegeneratensesiuniMATLAB anterioare,saucitetefiieretextconinnddatenumerice.Fiierultexttrebuieorganizat sub forma unui tabel de numere, separate de blancuri, cu numr egal de elemente pe fiecare rnd, respectiv pe fiecare coloan.nurmaunuiastfeldeimportdedatenumericedintr-unfiiercunumelematrice.txt, folosindsintaxaloadmatrice.txt,MATLABvacitifiierulmatrice.txtivacrean MATLAB workspace o variabil cu numele matrice, coninnd datele din respectivul fiier. Pentru a denumi altfel variabila creat n workspace, (de pild A) se poate folosi urmtoarea sintax a funciei load. A = load('matrice.txt'); (2.4) O metod uoar de a importa n MATLAB Workspace date scrise n diverse formate de tiptextsaubinareconstnfolosireafuncieiImportWizarddinmeniulEdit+Paste Special. 2.1.3.GenerareamatricelordebazfolosindfunciiMATLABincluse.MATLAB dispune de mai multe funcii de generare a matricelor de baz, cum ar fi, Tabel 2.1: Tabel 2.1 zerosMatrice ce conine doar elemente nule onesMatrice ce conine doar elemente unitate randMatrice cu elemente aleatoare, uniform distribuite, cuprinse ntre 0 i 1 eyeMatricecuelementenule,cuexcepiadiagonaleiprincipalececonine elemente unitate diagMatrice diagonal linspaceVectori cu elemente avnd valori distribuite liniarlogspaceVectori cu elemente avnd valori distribuite logaritmic Iat cteva exemple. Tastai: Z = zeros(2, 3) (2.5) Z =(2.6) 0 0 0 0 0 0MEDII DE CALCUL N INGINERIE ELECTRIC 35 F = 5*ones(2, 2)(2.7) F =(2.8) 5 5 5 5 N = fix(10*rand(1, 10)) (2.9) N = (2.10) 4 9 4 4 8 5 2 6 8 0 R = rand(4, 4) (2.11) R = (2.12) 0.44470.73820.91690.3529 0.61540.17630.41030.8132 0.79190.40570.89360.0099 0.92180.93550.05790.1389 S = eye(3, 4) (2.13) S = (2.14) 1 0 0 0 0 1 0 0 0 0 1 0 2.1.4.DefinireamatricelorfolosindfunciiscrisenfiiereM.Puteicreapropriile dvs.matricefolosindfiieredetipM.Acestefiieresuntfiieretextceconininstruciuni MATLABiau extensia.m.Un astfeldefiierMlputeicreafolosindMATLABEditor sau oricare alt editor de text (de pild Notepad sau Wordpad) i trebuie s conin aceleai instruciuni pe care le-ai tasta la linia de comand n Command Window. Dup ce ai creat fiierul acesta trebuie salvat sub un nume dorit ns trebuie s aib extensia .m.De pild, creai un fiier coninnd urmtoarele cinci linii. A = [(2.15) 16.0 3.0 2.013.0 5.010.011.0 8.0 9.0 6.0 7.012.0 4.015.014.0 1.0 ]; Stocaifiierulsubnumelematricem.m.Tastndncontinuarelaliniadecomandn Commandwindowinstruciuneamatricem.mMATLABvacitifiierulivacreao variabil, A, coninnd matricea de mai sus. 36MEDII DE CALCUL N INGINERIE ELECTRIC 2.2.Indexarea elementelor Elementul din rndul i i coloana j a matricei A este notat cu A(i, j). De pild, A(4, 2) este elementuldinrndul4icoloana2,adic,ncazulmatriceidemaisus,estenumrul15. Pentru a calcula suma elementelor din coloana a patra a matricei A, tastai: A(1, 4) + A(2, 4) + A(3, 4) + A(4, 4) (2.16) MATLAB va rspunde cu ans = (2.17) 34 Aceastametodnuestensceamaieficientdeasumaelementeleuneicoloane.Este posibilaccesareaelementelorelementeloruneimatricecuunsingurindice,A(k).Acesta estemoduluzualdeaccesareaunorvectoritiprndsaucoloan.Aceastmetodpoatefi aplicatdeasemeneauneimatricebidimensionale,cazncarevectorulesteprivitcaun vector lung de tip coloan format din coloanele matricei originale. Astfel, n cazul matricei Adefiniteanterior,A(8)esteoaltcaledeaccesareavalorii15stocatnA(4,2).Dac ncercaisaccesaivaloareaunuielementdinafaramatricei,apareunmesajdeeroare. Tastai: t = A(4, 5)(2.18) MATLAB va rspunde cu: ??? Index exceeds matrix dimensions. (2.19) Pedealtparte,dacstocaiovaloarentr-unelementdinafaramatricei,dimensiunea matricei crete pentru a include noua valoare. Tastai de pild : X = A; (2.20) X(4, 5) = 17 (2.21) MATLAB va rspunde cu: X = (2.22) 16 3 213 0 51011 8 0 9 6 712 0 41514 117 2.2.1. Operatorul : este foarte important n MATLAB. Acesta apare n diferite forme. De pild expresia 1:10 este un vector rnd coninnd ntregii de la 1 la 10. Tastai: 1:10 (2.23) MEDII DE CALCUL N INGINERIE ELECTRIC 37 MATLAB va rspunde cu: ans = (2.24) 1 2 3 4 5 6 7 8 910 Pentruaobineunecartdiferitdeunitatentreelementelevectoruluiastfelgenerat, specificai un increment. De pild tastai: 100: -7: 50 (2.25) MATLAB va rspunde cu:

ans = (2.26) 10093867972655851 Tastai: 0: pi/4: pi (2.27) MATLAB va rspunde cu:

ans = (2.28) 00.78541.57082.35623.1416 Expresiile cu indici ce conin operatorul : se refer la poriuni dintr-o matrice. De pild A(1:k,j)reprezintprimelekelemente(rnduri)alecoloaneijalematriceiA.Astfel folosindoperatorul:ifunciadesumaresumesteposibilcalcululsumeielementelor coloaneiapatraamatriceisum(A(1:4,4)). Darexistoaltcalemaieficient.Operatorul :nsine,sereferdefaptlatoateelementeleunuirndsaualeuneicoloaneaunei matriceicuvntulcheieendsereferlaultimulrndsaucoloan.Prinurmaresum(A(:, end)) calculeaz suma elementelor de pe ultima coloan a matricei A. Dac tastai: sum(A(:, end)) (2.29) MATLAB va rspunde cu: ans = (2.30) 34 2.2.2.Indexarealogic.Vectoriilogicicreaidinoperaiilogiceirelaionalepotfi folosii pentru a face referin la subvectori. Dac presupunem c X este o matrice clasic i Lomatricedeaceaidimensiunecareesterezultatuluneioperaiilogice,atunciX(L) furnizeaz elementele lui X unde elementele lui L sunt diferite de zero.Indexareaelementeloruneimatricesepoateefectuaspecificndooperaielogic.S presupunem c avem urmtorul set de date sub forma de vector: x = (2.31) 2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8 38MEDII DE CALCUL N INGINERIE ELECTRIC NaNesteunsimbolpentru(Not-a-Number).Pentruaeliminaaceastadatirelevant utilizndindexarealogic,sefolosetefunciafinite(x),careesteadevaratpentrutoate valorile numerice finite i fals pentru NaN i Inf. x = x(isfinite(x)) (2.32) MATLAB va rspunde cu: x = (2.33) 2.1 1.7 1.6 1.5 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8 2.3.Operaiuni de baz cu matrice MATLABpuneladispoziiautilizatoruluiunnumrimportantdefunciidecalculcu matrice. 2.3.1.Operaiimatematicecumatrice.Operaiilematematicedebazcumatrice presupun utilizarea operatorilor din Tabelul 2.2. Tabel 2.2 OperatorOperaie + Adunare -Scdere *nmulire / mprire \mprire la stnga ^Putere Transpusa complex conjugat ( )Pentru ordinea operaiilor Operaiilematematiceefectuateasupramatricelorreprezintobiectuldestudiual algebrei liniare. De pild adugnd la o matrice transpusa sa se obine o matrice simetric: A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]; (2.34) A + A' (2.35) ans = (2.36) 32 81117 8201723 11171426 172326 2 Operatoruldemultiplicare,*,aplicatmatricelordeterminmultiplicareamatricelor utilizndprodusulinternntrernduriicoloane.nmulindtranspusauneimatricecu matricea nsi se obine o matrice simetric: MEDII DE CALCUL N INGINERIE ELECTRIC 39 A'*A (2.37) ans = (2.38) 378 212 206 360 212 370 368 206 206 368 370 212 360 206 212 378 DeterminantulmatriceiAfiindzero,matriceaestesingularinuareinvers.Dac ncercai s calculai inversa cu: X = inv(A) (2.39) Vei obine un mesaj de avertizare: Warning: Matrix is close to singular or badly scaled.(2.40) Results may be inaccurate. RCOND = 1.175530e-017. Eroriledetrunchierengreuiazalgoritmuldedetectarecuprecizieasingularitii.n acestcazvaloarealuircond,caredesemneazniveluldecondiionarealmatriceiestede ordinulluieps,adicpreciziarelativnvirgulmobil,decipreciziadecalculainversei este mediocr. Valorile proprii ale matricei A se calculeaz cu: e = eig(A)(2.41) e = (2.42) 34.0000 8.0000 0.0000 -8.0000 Matricelei scalariipotficombinainmultefeluri.Depild,n cazuln careunscalar esteadunatsaunmulitcuomatrice,operaiaseefectueazasuprafiecruielemental matricei. Tastai de pild: A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] ; (2.43) B = A - 8.5 (2.44) Se formeaz astfel o matrice avnd sumele elementelor coloanelor egale cu zero. B = (2.45) 7.5 -5.5 -6.54.5 -3.51.52.5 -0.5 0.5 -2.5 -1.53.5 -4.56.55.5 -7.5 40MEDII DE CALCUL N INGINERIE ELECTRIC sum(B)(2.46) ans = (2.47) 0 0 0 0 MATLABpermiteasignareaunuianumitscalartuturorindicilordintr-undomeniu.De pild, B(1:2,2:3) = 0 afecteaz valoarea zero unei poriuni a matricei B. B = (2.48) 7.5004.5 -3.500 -0.5 0.5 -2.5 -1.53.5 -4.56.55.5 -7.5 2.3.2.Operaiimatematiceelementcuelement.Operaiilematematicedeadunarei scderecumatricesaucuvectori,efectuateelementcuelement,suntidenticecucele efectuatedirectasupramatricelor,daroperaiadenmulireestediferit.MATLAB foloseteoperatorulpunct,".",capartedinnotaiaaferentoperaieidenmulirea vectorilor. Lista de operatori include, Tabel 2.3: Tabel 2.3 OperatorOperaie + Adunare -Scdere .*nmulire element cu element ./ mparire element cu element .\mparire la stnga element cu element .^Putere element cu element .Transpusa matricei cu elementele neconjugate complex DacmatriceaAsenmuletecueansifolosindnmulireavectorialelementcu element A.*A(2.49) Rezultatul este o matrice coninnd ptratele elementelor matricei A iniiale: ans = (2.50) 256 9 4 169 25 100 12164 813649 144 16 225 196 1 Operaiile cu vectori sunt folositoare pentru construirea tablourilor. S presupunem c n este vectorul coloan n = (0:9)'. Folosind comanda: pows = [nn.^22.^n] (2.51) putei construi un tablou cu ptratele i puterile lui 2 de la 0 la 9.MEDII DE CALCUL N INGINERIE ELECTRIC 41 pows = (2.52) 0 0 1 1 1 2 2 4 4 3 9 8 41616 52532 63664 749 128 864 256 981 512 Funciile matematice elementare opereaz asupra vectorilor element cu element. Tastai: format short g (2.53) x = (1:0.1:2)'; logs = [x log10(x)] Rspunsul MATLAB const n construcia unui tabel de logaritmi. logs = (2.54) 1.001.10.04139 1.20.07918 1.30.11394 1.40.14613 1.50.17609 1.60.20412 1.70.23045 1.80.25527 1.90.27875 2.00.30103 2.3.3.Funciideinformaregeneral.Funciilemaiimportantedeinformaregeneral referitoarelamatricepotfistructuratenTabelul2.4.SeconsiderA=[123;234],B = [1 2 3; 2 3 5]. Tabel 2.4 FuncieDescriereExemplu dispAfieaz vectori sau matricedisp(A) 1 2 3 2 3 4displayAfieaz vectori sau matricedisplay(A) A=1 2 3 2 3 4isemptyTesteaz dac vectorii sau matricele sunt goaleisempty(A) 0 42MEDII DE CALCUL N INGINERIE ELECTRIC isequalTesteaz dac vectorii sau matricele sunt egaleisequal(A, B) 0 isnumericTesteaz dac elementele vectorilor sau matricelor sunt numere isnumeric(A) 1 issparseTesteaz dac vectorii sau matricele sunt de tip rarissparse(A) 0 isfiniteTesteaz dac vectorii sau matricele au elemente de valoare finitisfinite(A) 1 1 1 1 1 1 isnanTesteaz dac vectorii sau matricele au elementul NaN (not a number)isnan(A) 0 0 00 0 0isinfTesteaz dac vectorii sau matricele au elementul Inf (infinity)isinf(A) 0 0 0 0 0 0lengthDetermin lungimea unui vector i cea mai mare dimensiune a unei matrice length(A) 3 ndimsDetermin numrul de dimensiuni al matricelor ndims(A) 2 numel Determin numrul de elemente al vectorilor i matricelor numel(A) 6 sizeDetermin dimensiunile vectorilor i matricelor size(A) 2 3 2.3.4.Funciideprelucrareamatricelor.PrintrefunciileMATLAButilizaten vedereamanipulriimatricelorsuntceleprezentatenTabelul2.5.Pentruexemplificarese consider A = [1 2 3; 2 3 4], B = [1 2 3; 2 3 5], C = [1 2 3], D = [2 3 4], E = [5 2; 1 3]. Tabel 2.5 FuncieDescriereExemplu blkdiagCreaz o matrice cu diagonala format din blocuriblkdiag([1 2; 3 4], 2) 1 2 03 4 00 0 2 catConcateneaz vectori cat(1, A, B) 1 2 3 2 3 4 1 2 3 2 3 5 crossCalculeaz produsul vectorial a doi vectoricross(C, D) -1 2 -1 cumprodCalculeaz produsul cumulativ a doi vectori cumprod(D) 2 6 24 cumsumCalculeaz suma cumulativ a doi vectori cumsum(D) 2 5 9 diagDefinete sau ntoarce diagonalele matricelordiag(A) 1 3 dotCalculeaz produsul scalar a doi vectori dot(C, D) 20 endIncheiebuclelefor,while,switch,try,ifsau definete ultimul index al matricelor sau vectorilor A(1:end, 2) 2 3 findGseteindiciiielementelenenule alevectorilor sau matricelor find(A) 1 2 3 4 5 6 fliplrPermut matricele stnga-dreapta fliplr(A) 3 2 1 4 3 2 flipudPermut matricele sus-josflipud(A) 2 3 4 1 2 3 flipdimPermut matricele dup o dimensiuneflipdim(A,1) 2 34 1 23horzcatRealizeaz concatenarea orizontal a matricelorhorzcat(A, B) 1 2 3 1 2 3 MEDII DE CALCUL N INGINERIE ELECTRIC 43 2 3 4 2 3 5 maxCalculeazmaximulelementelorunuivectorsau maximul elementelor dup o anumit direcie max(C) 3 minCalculeazminimulelementelorunuivectorsau minimul elementelor dup o anumit direcie max(C) 1 prodCalculeaz produsul elementelor unui vectorprod(C) 6 reshapeCreaz o alt matrice de dimensiuni impusereshape(A,3,2) 13 23 24 rot90Rotete o matrice cu 90rot90(A) 34 2 3 1 2 sortSorteaz elementele n ordine cresctoaresort(E) 1 2 5 3 sortrowsSorteaz rndurile n ordine cresctoaresortrows(E) 1 3 5 2 sumnsumeaz elementele unui vectorsum(C) 6 sqrtmCalculeaz matricea radical, adic matricea care se obine astfel nct X*X = E sqrtm(E) 2.20650.5128 0.25641.6937 trilReturneaz elementele de sub diagonala principal auneimatrice,inclusivaceasta(triunghiul inferior)tril(E) 5 0 13 triuReturneazelementelededeasupradiagonalei principaleauneimatrice,inclusivaceasta (triunghiul superior)triu(E) 5 2 03 vertcatRealizeaz concatenarea vertical a matricelorvertcat(A, B) 1 2 3 2 3 4 1 2 3 2 3 5 De pild dac efectuai suma elementelor matricei particulare A = [16 3 2 13; 5 10 11 8; 96712;415141]de-alunguloricruirndsaucoloan,saude-alunguloricrei diagonaleprincipale,veiobinentotdeaunaacelainumr.Sverificmaceast caracteristic a matricei A n MATLAB. nti s efectum suma elementelor de pe coloanele matricei. Pentru aceasta vom folosi funcia sum(A) care realizeaz tocmai acest lucru: sum(A)(2.55) MATLAB rspunde cu: ans = (2.56) 34343434 Folosindfunciasum(A)secalculeazunvectorlinieconinndsumeleelementelorde pe coloanele matricei A. Pe fiecare coloan se obine aceeai sum, 34.Pentru a calcula suma elementelor de pe rndurile matricei o idee este de a utiliza funcia de transpunere a matricelor, de a aplica apoi aceeai funcie sum pe matricea transpus i n finaldeatranspunerezultatulfolosindaceeaifunciedetranspunereamatricelor.Funcia 44MEDII DE CALCUL N INGINERIE ELECTRIC detranspunereamatriceloresteA,iconstnadugareaunuiapostrofdupvariabila matrice A: A(2.57) MATLAB va rspunde cu: ans = (2.58) 16 5 9 4 310 615 211 714 13 812 1 Aplicnd funcia: sum(A')' (2.59) MATLAB va rspunde cu: ans = (2.60) 34 34 34 34 Sumaelementelordepediagonalaprincipalseobinefolosindfunciilesumidiag. Funciadiag(A)scoatecarezultatunvectorconinndelementeledepediagonala principal. Tastai: diag(A)(2.61) MATLAB va rspunde cu: ans = (2.62) 16 10 7 1 Tastnd: sum(diag(A))(2.63) se va obine rezultatul dorit: ans = (2.64) 34 MEDII DE CALCUL N INGINERIE ELECTRIC 45 Suma elementelor de pe anti-diagonala matricei A, se poate obine folosind funcia, fliplr, caregenereazmatriceapermutatstanga-dreapta(flipleft-right).Astfelpentruaobine suma dorit tastai: sum(diag(fliplr(A))) (2.65) MATLAB va rspunde cu: ans = (2.66) 34 Aflareadimensiunilormatricelorivectoriloresteposibilfolosindfunciilesizei length. Deoarece matricea A este o matrice 4x4, executnd comanda size(A) se obine: size(A) (2.67) ans = (2.68) 44 Funcia find determin indicii elementelor unui vector care ndeplinesc o condiie logic dat.nformasaceamaisimpla,findntoarceunvectorcoloandeindicicuelemente nenule.Transpunndacelvectorseobineunvectordetiprnddeindici.DacdefinimB = [ 0 1 2; 1 0 3; 1 2 0] i aplicm funcia find, gsim locaiile numerelor nenule folosind indexarea unidimensional n matricea B: k = find(B)' (2.69) k = (2.70) 2 3 4 6 7 8 Pentru a afia acele numere nenule ca un vector rnd n ordinea determinat de k, folosim operaia B(k) ans = (2.71) 1 1 1 2 2 3 Cndfolosiivectorulkdreptindexstngantr-oinstruciunedeasignare,structura matricei este pstrat. De pild tastai: B(k) = NaN (2.72) B = (2.73) 0 NaN NaN NaN 0 NaN NaN NaN 0 2.3.5.Concatenareaireconfigurareamatricelor.Concatenareaesteprocesulde alturare a matricelor mici pentru a construi matrice mai mari. De fapt, o matrice reprezint concatenarea elementelor sale individuale. Perechea de paranteze ptrate, [ ], este operatorul 46MEDII DE CALCUL N INGINERIE ELECTRIC de concatenare. De pild, plecnd de la matricea A, construii matricea B = [AA+32; A+48A+16]. Rezultatul este o matrice 8 x 8, obinut alturnd cele patru sub-matrice. B = (2.74) 16 3 21348353445 51011 837424340 9 6 71241383944 41514 136474633 6451506132191829 5358595621262724 5754556025222328 5263624920313017 Sumele elementelor de pe coloanele matricei B se obin folosind funcia sum(B): ans = (2.75) 260 260 260 260 260 260 260 260 Sumele elementelor de pe rndurile matricei B se obin folosind funcia sum(B')'. ans = (2.76) 196 196 196 196 324 324 324 324 Puteitergernduriicoloanedintr-omatricefolosinddoaroperechedeparanteze ptrate.ncepeicuX=A.Apoi,pentruatergeceade-adouacoloanaluiX,folosii X(:, 2) = [ ]. Astfel X devine: X = (2.77) 16 213 511 8 9 712 414 1 Dactergeiunsingurelementdintr-omatrice,rezultatulnumaiesteomatrice.Deci expresii ca X(1, 2) = [ ] sunt incorecte i generatoare de erori. 2.3.6.Funciideanalizmatriceal.MATLABincludeobibliotecdefunciide analiz matriceal din care fac parte cele din Tabelul 2.6. Pentru exemplificare se consider B = [5 2; 1 3]. MEDII DE CALCUL N INGINERIE ELECTRIC 47 Tabel 2.6 FuncieDescriereExemplu cond Numrul de condiionare cond(B) 2.6180detCalculeaz determinantul unei matricedet(B) 13 eigCalculeaz valorile proprii ale unei matrice eig(B) 5.7321 2.2679 normCalculeaz norma unei matrice sau a unui vector norm(B) 5.8339 rankCalculeaz rangul unei matrice rank(B) 2 traceCalculeaz urma unei matrice sau suma elementelor de pe diagonala principaltrace(B) 8 2.4.Rezolvarea sistemelor de ecuaii liniare folosind operaii cu matrice Unadintreproblemeleimportantencalculultehnicconstnsoluionareasimultana ecuaiilorliniare.nlimbajmatriceal,aceastproblempoatefiformulatdupcum urmeaz: FiinddatomatriceAiunvectorB,existunvectorunicXastfelnctAX=BsauXA = B ? PutemconsideranprimafazexempluluneimatriceAdedimensiune1x1,A=7i B=21.Areecuaia7.X=21osoluieunic?Binenelesisoluiaaceastaesteobinut prin mprire, X = 21/7 = 3. Soluia nu este n general obinut prin calculul inversului lui 7,adic7-1=0.142857...,iapoiprinnmulirealui7-1cu21.Acesteoperaiuniar presupunemaimultecalculei,dac7-1estereprezentatdeunnumarfinitdedigii, operaiunilearputeaconducelaunrezultatafectatdeerori.Consideraiisimilaresunt valabilencazulseturilordeecuaiiliniarecumaimultdeonecunoscut.MATLAB rezolvasemeneaecuaiifracalculainversamatricei.Celedou simboluri demprire, / i \ sunt folosite pentru cele dou situaii n care matricea necunoscut apare n stnga sau n dreapta matricei coeficienilor. X = A\B reprezint soluia ecuaiei matriceale AX = B. X = B/A reprezint soluia ecuaiei matriceale XA = B. n practic, ecuaiile liniare de forma AX = B sunt mult mai frecvente dect cele de forma XA = B. Matricea coeficienilor A nu trebuie s fie neaprat ptratic. Dac A este de dimensiune m x n, exsist trei cazuri posibile: m = n sistem patratic, caz n care se caut o soluie exact. m>nsistemsupradeterminat,cazncaresecautosoluiensensulcelormaimici patrate.mX = A \ B(2.79) Astfel pentru a rezolva aplicaia numeric de mai sus se face apel la urmtoarea secven de comenzi MATLAB: A = [3 2 -1; -1 3 2; 1 -1 -1]; (2.80) B = [10; 5; -1]; X = A\B Rezultatul calculelor efectuate este urmtorul: X = [-2.0000;5.0000;-6.0000](2.81) Ceea ce semnific faptul c soluia sistemului este: x = -2, y = 5 i z = -6. 2.4.3. Rezolvarea sistemelor prin inversarea matricelor. O alt metod de rezolvare a sistemelor de ecuaii liniare const n inversarea matricelor. n cazul aplicaiei numerice de mai sus rezolvarea ecuaiei matriceale presupune inversarea matricei A. Astfel nmulind la stnga sistemul matriceal AX = B cu A-1 se obine: A-1AX = A-1B=>I X = X = A-1B (2.82) InversareauneimatricenMATLABpresupuneutilizareafuncieispecificeinv.Astfel pentruarezolvaaplicaianumericdemaisussefaceapellaurmtoareasecvende comenzi MATLAB: A = [3 2 -1; -1 3 2; 1 -1 -1]; (2.83) B = [10; 5; -1]; MEDII DE CALCUL N INGINERIE ELECTRIC 49 X = inv(A)*B Rezultatulcalculelorefectuateesteacelaicucelobinutprinmetodampririi matricelor: X = [-2.0000;5.0000;-6.0000](2.84) Aceasta semnific faptul c soluia sistemului este x = -2, y = 5 i z = -6. Folosindansambluldecomenzidecronometrareatimpuluidecalcultictocsepoate constatacmetodaderezolvareasistemelorfolosindinversareamatricelorconducelaun timp de calcul sensibil mai lung dect metoda mpririi matricelor. 2.5.Aplicaii numerice APLICAIA 1:Generai o matrice 4x4 cu numere reale aleatoare cuprinse ntre 0 i 100 folosind funcia MATLABrand. Se folosete comanda MATLAB: 100*rand(4, 4) n urma lansrii n execuie a comenzii anterioare rezultatul MATLAB este similar cu cel de mai jos: ans = 95.0129 89.1299 82.1407 92.1813 23.1139 76.2097 44.4703 73.8207 60.6843 45.6468 61.5432 17.6266 48.59821.8504 79.1937 40.5706 APLICAIA 2:Generai matricea A =[162 3NaN;NaN 11108;Nan7612;4Nan151]. AfectaivaloareazeroelementelorNaNalematriceiAiafiatirezultatulpeecran folosindfunciaMATLABisnandegsireaelementelorcarenusuntnumere(caresunt NaN Not a Number) ale unei matrice. Se folosete setul de comenzi MATLAB: A = [162 3nan;nan 11108;nan7612;4nan151] A (isnan(A)) = 0 Rezultatul MATLAB va fi: 50MEDII DE CALCUL N INGINERIE ELECTRIC A = 16 2 3 NaN NaN1110 8 NaN 7 612 4 NaN15 1 A = 16 2 3 0 01110 8 0 7 612 4 015 1 APLICAIA 3:Creaintr-uneditor exteriorMATLAB-ului(de pildNotepad)unfiiertext matrice.dat sau matrice.txt coninnd urmtoarele date: 16.0 3.0 2.013.0 5.010.011.0 8.0 9.0 6.0 7.012.0 4.015.014.0 1.0 Importai fiierul n MATLAB workspace folosind una din sintaxele funciei load: load matrice.dat sau load matrice.txt. Se deschide aplicaia Windows Notepad i se tasteaz valorile de mai jos separate de tab. 16.0 3.02.013.0 5.010.011.08.0 9.06.07.012.0 4.015.014.01.0 Se salveaz informaiile de mai sus n directorul curent, n fiierul cu numele matrice.txt. Se ncarc n Workspace matricea de mai sus n variabila A, folosind comanda MATLAB : A = load('matrice.txt'); APLICAIA 4:Se dau vectorii x = [1 5 2 8 9 0 1] iy = [5 2 2 6 0 0 2]. Executai comenzile de mai jos i explicai rezultatele obinute:x > yy < x y(y y) | (y < 4) (x > y) & (x < y) Se lanseaz setul de comenzi MATLAB: x = [1 5 2 8 9 0 1]y = [5 2 2 6 0 0 2] x > yans = 0 1 0 1 1 0 0 Vectorulobinutmaisusareaceeailungimecuxicuy,iarelementulkarevaloarea0 acolo unde x(k) y(k), respectiv valoarea 1 acolo unde x(k) > y(k). y < x ans = 0 1 0 1 1 0 0 Vectorul obinut este identic cu cel obinut n urma apelului comenzii x > y. y(y= x ans = 1 0 1 0 0 1 1 Rspunsul este identic cu cel obinut n urma apelului comenzii x y) | (y < 4) ans = 0 1 1 1 1 1 1 Se obine un vector de aceeai lungime cu x i cu y n care elementul k are valoarea 0 acolo unde x(k) y(k) i y(k) 4, respectiv valoarea 1 acolo unde x(k) > y(k) sau y(k) < 4. (x > y) & (x < y) ans = 0 0 0 0 0 0 0 Seobineunvectordeaceeailungimecuxicuyncaretoateelementelesuntnule ntruct condiiile x > y i x < y sunt contradictorii i nu pot fi ndeplinite simultan niciodat. APLICAIA 5: Localizai elementele matricei A =[162 313;511108;97612;414151] care sunt mai mici dect 10 i afiati-le pe ecran. Se face apel la setul de comenzi MATLAB: A =[162 313;511108;97612;414151]; A>10; A(A>10)' Rspunsul MATLAB este urmtorul: ans =161114151312 APLICAIA 6:Creai matricea A =[162 313;511108;97612;414151] si determinai numrul de elemente i dimensiunile matricei folosind funciile MATLAB numel, i size. Se folosete setul de comenzi MATLAB: A = [162 313;511108;97612;414151]; numel(A) size(A) Rspunsul MATLAB este: ans = 16 MEDII DE CALCUL N INGINERIE ELECTRIC 53 ans =4 4 Prin urmare matricea A are 16 elemente i are dimensiunile 4 x 4. APLICAIA 7:SsecreezendirectorulcurentunfiierscriptcaresgenerezeomatriceAde dimensiune10x10iunvectorBdedimensiune10x1,ambelecuelementealeatoare cuprinse ntre 0 i 100. Apois se determine numrul de condiionare al matricei A i s se rezolve sistemul AX = B prin dou metode. Se folosesc comenzile MATLAB: A = 100*rand(10, 10); B = 100*rand(10, 1); cond(A) X1= A\BX2= inv(A)*B Rspunsul MATLAB este similar cu cel de mai jos: ans = 110.7713 X1 = 3.8843 2.5836 -0.9715 -1.2489 0.9733 -3.9952 -0.6386 -0.6295 -0.0911 -0.4651 X2 = 3.8843 2.5836 -0.9715 -1.2489 0.9733 -3.9952 -0.6386 -0.6295 -0.0911 -0.4651 54MEDII DE CALCUL N INGINERIE ELECTRIC Prinurmarenumruldecondiionarealmatriceieste110.7713iarsoluiaecuaieiestefie X1 fie X2. APLICAIA 8:Creai o matrice B adugnd 16 la fiecare din elementele matricei A =[162 313;511108;97612;414151]. Generai o nou matrice C avnd elementele egale cu rdcina ptrat a elementelelor matricei B. Generai o nou matrice D avnd elementele egalecuptratulelementelelormatriceiC.Folosiifunciasqrtdeextragerea radicalului. Se face apel la setul de comenzi MATLAB de mai jos: A =[162 313;511108;97612;414151]; B = A + 16 C = sqrt(B) D = C.^2 Rspunsul MATLAB este: B = 32181929 21272624 25232228 20303117 C = 5.65694.24264.35895.3852 4.58265.19625.09904.8990 5.00004.79584.69045.2915 4.47215.47725.56784.1231 D = 32.0000 18.0000 19.0000 29.0000 21.0000 27.0000 26.0000 24.0000 25.0000 23.0000 22.0000 28.0000 20.0000 30.0000 31.0000 17.0000 APLICAIA 9:CreaiunvectorcuelementeleXn=(-1)n+1/(2n-1)undeniavaloareadela1la100. Calculai suma elementelor acestui vector. Se folosesc comenzile MATLAB: n = 1:100; Xn = (-1).^(n+1)./(2*n-1); MEDII DE CALCUL N INGINERIE ELECTRIC 55 Suma = sum(Xn) Rspunsul MATLAB este: Suma = 0.7829 APLICAIA 10:Calculai numeric limita seriei Xn pentru n=1... , n care Xn=1/[n(n+1)]. Vom calcula seria pentru valori din ce n ce mai mari ale lui n folosind seturile de comenzi MATLAB de mai jos: n = 1:100; Xn = 1./(n.*(n+1)); format long Suma = sum(Xn) Funciaformatlongpermiteafiarearspunsulcumaimultezecimalepentruaevidenia mai clar evoluia acestuia. MATLAB va rspunde cu: Suma = 0.99009900990099 n = 1:1000 Xn = 1./(n.*(n+1)) Suma = sum(Xn) MATLAB va rspunde cu: Suma = 0.99900099900100 n = 1:10000 Xn = 1./(n.*(n+1)) Suma = sum(Xn) MATLAB va afia rspunsul: Suma = 0.99990000999900 n = 1:100000 Xn = 1./(n.*(n+1)) Suma = sum(Xn) MATLAB va rspunde cu: Suma = 0.99999000010001 56MEDII DE CALCUL N INGINERIE ELECTRIC Se observ c pe msur ce n crete Suma tinde asimptotic la 1. Deci limita seriei este 1. APLICAIA 11:CalculaivalorilecurenilorI1,I2,I3folosindteoremeleluiKirchoffioperaiilecu matricedinMATLAB.Cele3ecuaiipunei-lesubforma[R]*[I]=[U],unde[R] reprezintomatricecunoscutdedimensiune3x3,[I]reprezintunvectorcoloan necunoscut care conine cei 3 cureni, iar [U] reprezint un vector coloan cunoscut. Se scriu ecuaiile lui Kirchoff corespunztoare circuitului studiat: I1 - I2 + I3 = 0 I1 + 2I2 = 7 2I2 + 3I3 = 12 Sistemul de ecuaii trebuie pus sub forma matriceal [R][I] = [U] ca mai jos: 1I1 - 1I2 + 1I3 = 0 1I1 + 2I2 + 0I3 = 7 0I1 + 2I2 + 3I3 = 12 adic sub forma: ||||

\|=||||

\|||||

\| 12703213 2 00 2 11 1 1III Setul de comenzi MATLAB care genereaz matricele cunoscute [R] i [U] este: R = [1 -1 1; 1 2 0; 0 2 3]; U = [0; 7; 12]; 7 V 1 2 3 12 V I1I2I3 MEDII DE CALCUL N INGINERIE ELECTRIC 57 Soluia sistemului se obine cu una din comenzile MATLAB de mai jos: I = R\UsauI = inv(R)*U MATLAB va rspunde cu: I = 1.0000 3.0000 2.0000 Deci valorile celor trei cureni sunt:I1 = 1 A I2 = 2 A I3 = 3 A 58MEDII DE CALCUL N INGINERIE ELECTRIC 3.FUNCII MATEMATICE UZUALE MATLABpuneladispoziiautilizatoruluiobibliotecbogatdefunciimatematicede diferite tipuri. 3.1.Funcii de aproximare a numerelor Funciile MATLAB de rotunjire a numerelor sunt prezentate succint n Tabelul 3.1. Tabel 3.1 FunciaDescriereExemplu ceilReturneazunnumrntregrotunjitlacelmaiapropiat numr ntreg spre +infinit ceil(3.2) 4 fixReturneazunnumrntregrotunjitlacelmaiapropiat numr ntreg spre zero fix(-3.2) -3 floorReturneazunnumrntregrotunjitlacelmaiapropiat numr ntreg spre infinit floor(3.2) 3 roundReturneazunnumrntregrotunjitlacelmaiapropiat numr ntreground(3.2) 3 remReturneaz restul mpririi argumentelor rem(-5,2) -1 modReturneaz modulul restul mpririi argumentelormod(-5,2) 1 ratReturneazaproximareaunuinumrcufraciiraionale continuerat(5.2) 5 + 1/(5) ratsReturneaz aproximarea unui numr cu fracii raionalerats(5.2) 26/5 signReturneaz semnul argumentului sign(-5.2) -1 sign(5.2) +1 sign(0) 0 Funciiledemaisuspotfiaplicateunorscalarisaupotfiaplicateelementcuelement unor matrice sau vectori. 3.2.Funcii de operare cu numere complexe OperaiileprincipalespecificenumerelorcomplexedinpachetulMATLABsunt prezentate n Tabelul 3.2. Tabel 3.2 FunciaDescriereExemplu absCalculeaz(valoareaabsolut)modululnumerelor complexe abs(3+4i) 5 angleCalculeaz faza numerelor complexeangle(1+i) 0.7854 unwrapCalculeazprilerealiimaginaranumerelor complexe exprimate sub form polar unwrap(1+i) 1+i conjCalculeazconjugatacomplexanumerelor complexe conj(1+i) 1-i imagCalculeaz partea imaginar a numerelor complexeimag(1+3i) 3 MEDII DE CALCUL N INGINERIE ELECTRIC 59 realCalculeaz partea real a numerelor complexereal(3+i) 3 complexConstruietenumerecomplexedacsecunosc prile real i imaginar complex(2,3) 2+3i isrealDetermin dac elementele matricelor sau vectorilor sunt numere reale isreal([2 3]) 1 Operaiilearitmeticeclasicermnvalabilepentrunumerelecomplexe,respectivpentru vectori i matrice avnd ca elemente numere complexe, Tabel 3.3. Tabel 3.3 OperatorOperaie + Adunare -Scdere *nmulire / mprire \mprire la stnga ^Putere Transpusa complex conjugat ( )Pentru ordinea operaiilor 3.3.Funciile putere, radical, logaritm i exponenial FunciileMATLABderidicarelaputere,deextragerearadicalului,decalculal logaritmului i al exponenialei sunt prezentate n Tabelul 3.4.

Tabel 3.4 FunciaDescriereExemplu ^ Ridicare la putere a numerelor sau matricelor 2^2 4 powerRidicarelaputereanumerelorsaumatricelor element cu element power(2,2) 4 mpowerRidicare la putere a matricelor mpower(2,2) 4 expCalculeaz exponeniala exp(2) 7.3891 logCalculeaz logaritmul natural log(7.3891) 2 log2Calculeaz logaritmul n baza 2log2(4) 2 log10Calculeaz logaritmul n baza 10log10(100) 2 nextpow2Calculeaz puterea N a lui 2 care majoreaz modulul lui 2N nextpow2(15) 4 pow2Calculeaz puterea lui 2pow2(5) 32 sqrtCalculeaz radicalul de ordinul 2 al numerelorsqrt(36) 6 reallogCalculeazlogaritmulnaturalpentrunumere pozitive reallog(9) 2.1972 realpowCalculeaz puterea numerelor pozitiverealpow(2,3) 8 realsqrtCalculeazradicaluldeordinul2alnumerelor pozitive realsqrt(16) 4 60MEDII DE CALCUL N INGINERIE ELECTRIC 3.4.Funcii trigonometrice MATLAB dispune de o bibliotec bine pus la punct de funcii trigonometrice care sunt prezentate n Tabelul 3.5. Funciile trigonometrice pot aciona asupra unor scalari sau asupra elementelorunorvectorisaumatrice,nfunciede tipul argumentuluitransmis. Unghiurile sunt n general considerate n radiani.

Tabel 3.5 FunciaDescriereExemplu sin Calculeaz sinusul argumentului sin(pi/2) 1 asin Calculeaz arcsinusul argumentului asin(1) 1.5708 sinhCalculeaz sinusul hiperbolic al argumentuluisinh(2+2i) -1.5093 + 3.4210i asinhCalculeaz arcsinusul hiperbolic al argumentului asinh(2) 1.4436 cos Calculeaz cosinusul argumentului cos(pi) -1 acos Calculeaz arcosinusul argumentului acos(-1) 3.1416 cosh Calculeaz cosinusul hiperbolic al argumentuluicosh(2+2i) -1.5656 + 3.2979i acosh Calculeaz arcosinusul hiperbolic al argumentului acosh(2) 1.3170 tanCalculeaz tangenta argumentului tan(pi/4) 1 atan Calculeaz arctangenta argumentului atan(1) 0.7854 tanhCalculeaz tangenta hiperbolica a argumentului tanh(2+2i) 1.0238 - 0.0284i atanhCalculeaz arctangenta hiperbolic a argumentului atanh(2) 0.5493 + 1.5708i cotCalculeaz cotangenta argumentului cot(pi/4) 1 acotCalculeaz arcotangenta argumentului acot(1) 0.7854 cothCalculeaz cotangenta hiperbolic a argumentului coth(2+2i) 0.9760 + 0.0271iacothCalculeaz arcotangenta hiperbolic a argumentului acoth(2) 0.5493 secCalculeaz secanta argumentului sec(pi) -1 asecCalculeaz arcsecanta argumentului asec(-1) 3.1416 sechCalculeaz secanta hiperbolic a argumentului sech(2+2i) -0.1175 - 0.2475i asechCalculeaz arcsecanta hiperbolic a argumentului asech(2) 1.0472i cscCalculeaz cosecanta argumentului csc(pi/2) 1 acscCalculeaz arccosecanta argumentului acsc(1) 1.5708 cschCalculeaz cosecanta hiperbolic a argumentului csch(2+2i) -0.1080 - 0.2447i acschCalculeaz arccosecanta hiperbolic a argumentului acsch(2) 0.4812 3.5.Funcii de matematic discret MATLABconineunansambludefunciidematematicdiscretcumarfifunciilede calcul al divizorilor i multiplilor comuni etc. dup cum sunt prezentate n Tabelul 3.6. MEDII DE CALCUL N INGINERIE ELECTRIC 61 Tabel 3.6 FunciaDescriereExemplu factorntoarceunvectorceconinefactoriiprimiiaiunui numr n factor(39) 3 13 factorialCalculeaz factorialul unui numr nfactorial(4) 24 gcdCalculeazcelmaimaredivizorcomunadou numere gcd(115, 35) 5 lcmCalculeazcelmaimicmultiplucomunadou numerelcm(115, 35) 805 primesntoarceunvectorceconinenumereleprimemai mici dect n primes(7) 2 3 5 7 isprimeDetermindacelementeleunuivectorsaumatrice sunt numere primeisprime([4 5 7]) 0 1 1 nchoosekCalculeaz combinri de n luate cte knchoosek(3, 2) 3 permsCalculeaz toate permutrile posibile perms([2, 3]) 3 2 2 3 3.6.Aplicaii numerice APLICAIA 12:Se d un transformator monofazat funcionnd n gol i avnd urmtoarele date: R1=1, X1=2,Rw=2000,Xm=2000.TensiuneaprimaresteU1=220V.Ssescrieun fiier script care s aib ca parametri datele transformatorului i care s permit calculul mrimilor: a)Curentul I10 i tensiunea U20 n gol, b)Puterile activ P10i reactiv Q10 absorbite de transformator. FolosindsetuldecomenziMATLABdemaijossedefinescmrimilecunoscute, caracteristice transformatorului: R1 = 1; Xs1 = 2; Xm = 2000; Rw = 2000; U1 = 220; U1 I10 R1jX1 jXmU20 Rw 62MEDII DE CALCUL N INGINERIE ELECTRIC Pentru a calcula mrimile cerute se face apel la comenzile MATLAB: I10 = U1/(R1 + j*Xs1 + j*Rw*Xm/(Rw + j*Xm)) U20p = I10*j*Xm*Rw/(Rw + j*Xm) P10 = R1*abs(I10^2) + abs(U20p^2)/Rw Q10 = Xs1*abs(I10^2) + abs(U20p^2)/Xm Rspunsul MATLAB va fi: I10 = 0.1098 - 0.1099i U20p = 2.1967e+002 -1.0967e-001i P10 = 24.1517 Q10 = 24.1758 APLICAIA 13:SsegenerezeunvectorX=1:10iunvectorYcu10deelementenumerentregi aleatoare ntre 0 i 100. Programul va crea un alt vector Y1 care se obine nlocuind cu 0 toate numerele divizibile cu 7 i va afia cei trei vectori X, Z, Y1. Se folosesc instruciunile MATLAB: X = 1 :10 Y = round(100*rand(1, 10)) Y1 = Y ; Y1(rem(Y1, 7)==0) = 0 MATLAB va afia cei trei vectori n mod similar ca n exemplul de mai jos : X =1 2 3 4 5 6 7 8 910 Y =84376273199057632355 Y1 =0376273199057 02355 APLICAIA 14:S se genereze vectorul x=[3 15 9 12 -1 0 -12 9 6 1] i s se precizeze comenzile care vor efectua urmtoarele operaiuni: a)creazunvectory1careconinevalorilevectoruluixnsncaretoatevalorile pozitive sunt egalate cu zerob)creazunvectory2careconinevalorilevectoruluixnsncaretoatenumerele multiple de 3 sunt egalate cu 3 c)creazunvectory3careconinevalorilevectoruluixnsmultiplicndcu5valorile pare ale lui xd) extrage valorile lui x care sunt mai mari ca 10 i le grupeaz ntr-un vector y4 e)creazunvectory5careconinevalorilevectoruluixnsncaretoatevalorilemai mici dect media elementelor sunt egalate cu zerof)creazunvectory6careconinevalorilevectoruluixnsncaretoatevalorilemai mari dect media elementelor sunt egalate cu diferena acestora fa de medie. MEDII DE CALCUL N INGINERIE ELECTRIC 63 Comenzile MATLAB necesare pentru generarea vectorilor x, y1, y2 y6 sunt urmtoarele: x=[3 15 9 12 -1 0 -12 9 6 1] y1 = x; y1(y1>0) = 0 y2 = x; y2(rem(y2, 3) == 0) = 3 y3 = x; y3(rem(y3, 2) == 0) = y3(rem(y3, 2) == 0)*5 y4 = x; y4 = y4(y4>10) y5 = x; y5(y5sum(y6)/length(y6)) = y6(y6>sum(y6)/length(y6)) - sum(y6)/length(y6) Rspunsurile MATLAB corespunztoare sunt: x =315 912-1 0 -12 9 6 1 y1 =0 0 0 0-1 0 -12 0 0 0 y2 =3 3 3 3-1 3 3 3 3 1 y3 =315 960-1 0 -60 930 1 y4 =1512 y5 =015 912 0 0 0 9 6 0 y6 =3.0000 10.80004.80007.8000 -1.0000 0-12.00004.80001.80001.0000 APLICAIA 15:AfectaivaloareazeroelementelormatriceiA=[16541;51106;3761; 211310]carenusuntprimeiafiatirezultatulpeecranfolosindfunciaMATLAB ~isprime de gsire a numerelor neprime aplicat unei matrice. n MATLAB operatorul ~ nseamn nu logic). Se folosesc urmtoarele comenzi MATLAB: A = [165 41;51106;3761;211310] ; A(~isprime(A)) = 0 MATLAB va rspunde cu: A = 0 5 0 0 5 0 0 0 3 7 0 0 2 013 0 APLICAIA 16:S se calculeze cel mai mic divizor comun al numerelor 55878, 112782, 1278. Se folosesc urmtoarele instruciuni MATLAB: ab = gcd(55878, 112782); cmmdc = gcd(ab, 1278) 64MEDII DE CALCUL N INGINERIE ELECTRIC MATLAB va rspunde cu: cmmdc = 6 Deci cel mai mic divizor comun al celor trei numere naturale este 6. MEDII DE CALCUL N INGINERIE ELECTRIC 65 4.FUNCII MATLAB DE INTERES GENERAL 4.1.Expresii MATLAB Caaltelimbajedeprogramare,MATLABpuneladispoziieexpresiimatematice,dar spredeosebiredemultealtelimbajedeprogramareacesteexpresiilucreazcumatrice.n clasa expresiilor pot fi incluse variabilele, numerele, operatorii i funciile. 4.1.1.Variabile.MATLABnunecesitniciuntipdeinstruciunidedeclaraiesau dimensionareavariabilelor.CndMATLABntlneteunnounumedevariabil,acesta creazautomatvariabilaialocmemorianecesar.Dacvariabiladejaexist,MATLAB schimb coninutul acesteia i dac este necesar aloc o alt cantitate de memorie. De pild tastai: num_studenti = 25(4.1) MATLABcreazomatrice1x1numitanum_studentiialocvaloarea25singurului elementalmatricei.Numeledevariabileconstaudintr-oliter,urmatdeunnumrde litere,cifre,etc.MATLABfolosetedoarprimele31caracterealeunuinumedevariabil. MATLAB face deosebirea ntre litere mari i mici (este case sensitive). A i a nu reprezint aceeaivariabil.Pentruavizualizamatriceaasociatoricreivariabile,tastainumele acestei variabile. 4.1.2.Numere.MATLABfolosetepentrunumerenotaiazecimalconvenional,cu punct zecimal opional i semne plus sau minus. Notaia tiinific folosete litera e pentru a specifica 10 la o putere. Numerele imaginare folosesc fie i fie j ca sufix. Iat cteva exemple de numere: 3-990.0001(4.2) 9.63972381.60210e-206.02252e23 1i -3.14159j3e5i Toate numerele sunt stocate internfolosind formatul long standardizat. Avnd o precizie de circa 16 cifre semnificative, variind ntre aproximativ 10-308 i 10+308. 4.1.3.Operatori.OperatoriiaritmeticifamiliarifolosiinMATLABsuntprezentain Tabelul 4.1. Tabel 4.1 OperatorOperaie + Adunare -Scdere *nmulire / mprire \mprire la stnga 66MEDII DE CALCUL N INGINERIE ELECTRIC ^Putere Transpusa complex conjugat ( )Pentru ordinea operaiilor 4.1.4.Funcii.MATLABpuneladispoziiautilizatoruluiunmarenumrdefuncii matematicestandard,cumarfi depildabs,sqrt, exp, i sin. Scondradicalsauaplicnd logaritmunuinumrnegativnuesteeroarecirezultatulesteunnumrcomplexcalculat automat.MATLAB dispunedeomultitudinede altefunciimatematicemultmaiavansate cumarfidepildcazulfunciilorBessel.Multedintreacestefunciiacceptargumente complexe. O list a funciilor elementare se poate obine tastnd help elfun. Pentru a obine olistafunciilormaiavansatedematematicidemanipulareamatricelortastaihelp specfun, help elmat. Anumitefunciicumarfisqrtisin,suntinclusenMATLABcore.Acesteasuntprin urmarefoarteeficiente,dardetaliiledecalcul nusuntuoraccesibile.Altefunciicasinh, sunt implementate n fiiere de tip M avnd codul accesibil, acesta putnd fi chiar modificat. Diverse funcii speciale furnizeaz valori ale unor constante folositoare, ca n Tabelul 4.2. Tabel 4.2 pi3.14159265... isqrt(-1) jsqrt(-1) epsPrecizia relativ n virgul mobil 2-52 realminCel mai mic numr n virgul mobil 2-1022 realmaxCel mai mare numr n virgul mobil (2-eps)21023 InfInfinit NaNNot a number Infinite (Inf) este generat prin mprirea cu zero a uni numr ne-nul, sau prin evaluarea unor expresii matematice care depesc realmax.Not-a-number (NaN) este generat cnd se ncearc evaluarea expresiilor de genul 0/0 sau Inf-Inf care nu au valori matematice bine definite. Numele funciilor nu sunt rezervate, deci putemsuprascriepesteoricaredintreeleonouvariabil,depildeps=1.e-6iapois utilizmaceavaloarencalculeulterioare.Funciaoriginalpoatefirestauratcufuncia clear eps. 4.1.5.Exempledeexpresii.IatctevaexempledeexpresiiMATLABirezultatele corespunztoare. Tastai: rho = (1+sqrt(5))/2 (4.3) rho =(4.4) 1.6180 a = abs(3+4i) (4.5) a = (4.6) 5 MEDII DE CALCUL N INGINERI