Geom Comp Cap1 2

download Geom Comp Cap1 2

of 145

  • date post

    14-Jul-2015
  • Category

    Documents

  • view

    139
  • download

    0

Embed Size (px)

Transcript of Geom Comp Cap1 2

VALERNIMINEGeometrie computaional7 CAPITOLUL 1 ELEMENTE DE MATLAB 1.1Introducere Obiectelegeometricecapunct,liniesaupoligonreprezint bazapentrufoartemulteaplicatiioferindu-neogamalargade problemesialgorimti.Termenuldegeometrienereamintete desigur de cele mai vechi utilizri ale sale: msurri de terenuri i materiale.Inzilelenoastre,apariiacalculatoruluiafacilitat rezolvarea unor probleme geometrice tot mai diverse. Termenul de geometriecomputaionalsedatoreazluiShamos(1975)is-a dezvoltat considerabil n ultimii ani, cu precdere din 1985 cnd au fostrealizateprimaconferin(ACMSymposiumon ComputationalGeometry)iprimuljurnalndomeniu(jurnalul Springer-Verlag, Discret and Computational Geometry) Matlabreprezintunlimbajspecializatpentrudezvoltarea aplicaiilor tehnice, ce include faciliti destinate proiectrii asistate decalculator.ProgrameledetipCAD(ComputerAidedDesign) suntnzilelenoastretotmaiutilizatendomeniidiversede activitatedelaceledeproiectarenconstrucii,arhitectura,etc. MatlabesteunprodusalcompanieiTheMathworks, Inc.[http://www.mathworks.com] si lucreazsub Windows, Unix, Linux,sauMachintosh.Versiuneaceamairecentesteversiunea 7. O versiune complet a acestui mediu de calcul cuprinde module specifice,numitetool-box-uri,carepermitrezolvareaunor problemespecificedindiferitedomeniidelucru :statistic, inginerie,arhitectur,matematic,fiindastfelunmijlocde investigaienumericperformant.Aceastcoleciedemodule cuprinde:Simulink,DSP,ControlSystem,SimMechanics, SimPowerSystems,DataAcquisition,FuzzyLogic,Image VALERNIMINEGeometrie computaional8 Processing,PartialDifferentialEquations,NeuralNetwork, Optimization,SystemIdentification,Financial,Statistics, Communications, Database, Virtual Reality., etc. Matlab reprezint i un mediu util de rezolvare a problemelor din domeniulmatematicii,nspecialacelordindomeniulnumericn caredemulteoriovizualizaregraficarmbuntirezultatul experimentului numeric. Matlaboferaogamalargadeinstrumentecarerezolvaprobleme denaturageometrica.Convexhull,triangulatiileDelaunaysau diagrameleVoronoisuntproblemepentrucareacestlimbajofera comenzi si functii predefinite pentru a fi rezolvate. Ce este Matlab? Dupcum sugereazinumele,Matlab(MatrixLaboratory)este destinatnprimulrndlucruluicumatriciiaproblemelorcare implic calcul matriceal : rezolvarea de sisteme de ecuaii, calculul vectorilorivalorilorproprii,etc,oferindifacilitiprivind reprezentrilegraficeceaulabazdatestructuratenmatricide diversedimensiuni.Matlabesteunsisteminteractiv,alcarui element de baza este o matrice care nu trebuie specificata.Astfel un vector este o matrice cu o linie sau o coloana iar scalarii realisaucomplexisuntinterpretaicamatrici1x1.Acesteobiecte suntdefinitentimpullucruluinMatlabisenumescvariabile. Datorita facilitatilor sale extraordinare de vizualizare grafica softul seutilizeazafoarteeficientsiindomeniulgeometriei computationale fiind in acelasi timp util si usor de folosit de catre ceicarestudiazaaceastadisciplina.AstfelMatlabpunela dispozitia utilizatorului functii si comenzi specifice de reprezentari a curbelor si suprafetelor din domeniul geometriei computationale. Lucrareaimbinaintr-unmodutilrezultateteoreticedindomeniu cu aplicatii intr-un soft performant si de actualiate. Matlablucreazfienmodulliniedecomanda,situaien carefiecarelinieesteprelucratimediat,rezultateleputndfi afisate,fiecuprogramme(maimulteinstruciuniMatlabcu posibilitateaapelriialtorfiieredeacelaitipiaapelrii VALERNIMINEGeometrie computaional9 recursive ) coninute n fiiere numite fiiere-M ( M-files ) ce au extensia .m DuplansareaaplicaieiMatlabvaapareafereastraprincipal Matlab,dincarepotfideschiseapoialteferestresupervizatede Matlab.Lavariantelemaiavansate(6,7)alturidefereastrade comand (Command Window), mai pot aprea implicit Fereastra CommandHistory,cepermitememorarea,vizualizarea,editarea i relansarea funciilor utilizate anterior, fereastra Lunch Pad, care permite lansarea uneltelor i accesarea documentaiei Matlab. Alte ferestre care nu apar implicit mai pot fi-fereastra Current Directory, ce controleaz fiierele Matlab -fereastra Help -fereastraWorkspaceundesevizualizeazimodific coninutul spaiulu de lucruCommandWindowestefereastraprincipaldecomunicarecu utilizatorul i permite lansarea de funcii i comenzi Matlab. Dac doriimodificareaproprietiloracesteiferestreselectai Preferences din meniul File al Matlab Desktop. Programele create n Matlab pot fi- fiiere script care sunt fiiere cu comenzi Matlab - fiiere function Pentru crearea unui fiier .m selectai File- New- M-file din meniul Matlab Desktop. PentrurulareaunuiprogramcreatnMatlabenecesardoar tastareacomenziicunumelefiieruluicuextensia.mnfereastra de comand.Existena ferestrei de comanda face din Matlab un mediu interactiv deosebitdeutilinrezolvareadeaplicaiidiverse.Astfeldup tastareacomenzilorndreptulprompter-luidinfereastrade comand,calculelesevorefectualaacionareatasteiEnter.La nivelulcelmaidejos,Matlabpoatefifolositcaicalculatorde buzunar. VALERNIMINEGeometrie computaional10 (1+sqrt(5))/2 ans = 1.6180 OcaracteristicaMatlab-luiesteceaaexisteneispaiuluide lucru n care se pot pstra i regsi variabilele definite i valori ale acestora calculate prin comenzi sau funcii Matlab. Fiierele script au proprietatea c dup apelarea i execuia lor, variabilel rmn n spaiul de lucru. Fiierele function au urmtoarea form: function[parametri_iesire] = nume_funcie[parametri_intrare].Acestefiiereauproprietateacdupexecutarealor,variabilele interne nu rman n zona de memorie a spaiului de lucru, ci doar cele de ieire. ProgramelecreatenMatlabsescriucuuneditordetextsiau extensia .m. Funciilerecunoscutedeacestlimbajsuntgrupatentoolbox-uri specializatepecategoriideproblemedindomeniidiversede activitate.Olistareaacestorcategoriiiafunciilor corespunzatoare poate fi facut cu uurin utiliznd comanda help n fereastra de comanda. >> help [lista cu categoriile de funcii existente] Dac dup comanda help se tiparete numele exact al comenzii sau funcieicareneintereseaz,atuncisevortipariinformaiile corespunztoareacestoraexistentenmeniulhelpalmediului Matlab.DeasemeneadacsunteiconectatlaInternetaveii posibilitateadeaviseoferiajutoronline. Dacduphelpvei tiprinumeleunuidirectoratunci,atuncisevorafiafiierele coninutendirectorulspecificatLaapelarenuestenecesarsse scrientreagacaleadirectorului,ultimacomponenteste suficient. Matlab utilizeaz deasemenea cteva funcii de control general : what-listeazfiierele*.m,*.mati*.mexdindirectorul curent ; VALERNIMINEGeometrie computaional11 type- listeaz fiierul m, menionat ; lookfor- returneaz numele fiierelor care au n prima linie a help-lui (linia H1) cuvintele precizate ca argument ; which- returneaz calea n care este localizat un fiier sau o funcie Matlab ; who- listeaz variabilele curente din memorie ; whos- listeaz variabilele curente, dimensiunile lor, precum i tipul acestora (reale sau complexe) ; CelmaiuormoddeanvaMatlabestedea-lexperimenta singuri i astfel s v convingei singuri de flexibilitatea i usurina dea lucra cu acest mediu interactiv. Startul i terminarea sesiunilor de lucru PeplatformeledetipWindows,programuldeinstalare creeaz un shortcut la programul executabil, shortcut care poatefiplasatpedesktop(pedisplay-uldelucrual calculatorului).Prinefectuareaunuidubluclickpeicon-ul care reprezint acest shortcut se starteaz MATLAB-ul. Pentru startarea MATLAB-ului pe un sistem UNIX trebuie tastat matlab la prompterul sistemului de operare. Fiiere de pornire (Startup Files) Lapornire,MATLAB-ulexecutautomatfiierulmaster matlabrc.m i, dac exist, fiierul startup.m.Fiierulmatlabrc.mesterezervatpentru administratoruldesistem(reea),ntimpce fiierul startup.m este destinat utilizatorilor. De aici se pot seta cile de acces, se pot defini setrile implicite pentru instrumentele Handle Graphics i se pot predefini variabile n spaiul de lucru.De exemplu, dac n startup.m se introduce linia addpath /home/me/mytools VALERNIMINEGeometrie computaional12 se adaug un director de instrumente proprii pentru calea implicit de cutare. PeplatformeleWindows,fiierulstartup.mseplaseazn directorul local din directorul toolbox. Cum prsesc mediul Matlab ? PrsireauneisesiunidelucruMatlabsefacecuuurintastnd n dreptul promter-ului Matlab >>, comenzile exit sau quit. 1.2 Calcule simple n Matlab. Vectori i matrice Seciunea ofer o introducere n modul de lucru al Matlab-lui cu numere,vectori,matriciioperatiicaresepotrealizacuacestea. Matlabofernprimulrndposibilitatearealizariioperaiilor aritmeticecuvectori,matricisauscalaridarialtoroperaii specializatepentrulucrulcumatriciunisaubidimesionale.Daca presupunem c a i b sunt doua numere ntregi ce pot primi diverse valori,Matlabpoaterealizaoperaiilestandardaritmeticecu aceste valori : a =5; b =12; a+b ans = 17 Variabila ans se creeaz n momentul n care expresiei nu i este asociat nici o variabil. x=sin(2) x = 0.9093 Dac nu este necesar afiarea variabilei de ieire, putem folosi semnul ; dupa tastarea expresiei : y=3*exp(x)+cos(x); VALERNIMINEGeometrie computaional13 Virgula se poate folosi n situaia n care avem mai multe expresii pe aceeai linie de intrare, pentru a le separa : x=sin(22), y=exp(3) x = -0.0089 y = 20.0855 Dac expresia este prea lung pentru ca declaraia s ncap pe o singur linie, se utilizeaz semnele.urmat de enter pentru a preciza c instruciunea continu i pe linia urmtoare. Exemplu S=1+2+3+. +4+5+6 ; In Matlab exist cateva variabile i constante speciale, ale cror nume e bine s nu le ntrebuinm n alte asocieri de variabile. O parte din acestea ar fi : ans- variabil creat automat, n care este returnat rezultatul unui calcul, atunci cnd expresia nu a avut asignat un nume ; eps- variabil permanent n care este memorat eroarea relativ pentru calculele efectuate n virgul mobil. Valoarea implicit este eps=2.2204e-016, dar poate fi redefinit la orice alt valoare ; pi- variabil permanent care are asignat valoarea 3.14159265358 ; 1 = i - variabil folosit pentru introducerea numerelor complexe ; 1 = j - alternativ la utilizarea nitii imaginare i; inf- variabil folos