N02R

download N02R

of 3

description

Matlab Aplicatii

Transcript of N02R

  • Fisiere script si fisiere functie. Toate fisirele MATLAB au extensia m.Putem crea fisiere script si fisiere functie. Un fisier script este corpul prin-cipal al unui program(driver-ul). Deasemenea putem crea fisiere functie.MATLAB are propriile functii. Sunt posibile apelari ale functiilor dintr-unfisier script si dintr-un fisier functie. Trebuie sa organizam fiecare functie sisa o declaram ca fisier de tip functie. Este destul de simplu de a face acestlucru. Vom ncepe prin a prezenta urmatorul exemplu. Programul nostrucontine un fisier script numit graf.m si un fisier functie numit cerc.m. Fiecaredintre fisiere trebuie editat dupa cum a fost descris mai sus. Numele implicital functiei este exact numele dat de header-ul functiei.

    % Fisierul script graf.m% Deseneaza un cerc prin apel la% functia cerc(x0,y0,R)x0 = input(x pentru centru = ) ;y0 = input(y pentru centru = ) ;R = input(raza = ) ;cerc(x0,y0,R)

    Declaratia cerc(x0,y0,R) apeleaza functia cerc care contine parametrii x0, y0,R. Fisierul cerc.m este dat mai jos

    function cerc(x0,y0,R)% Fisierul functiei cerc.m% Se folosesc ecuatiile parametrice ale cercului% de centru = (x0,y0) si raza = Rtheta = 0:pi/1000:2*pi ;x = x0 + R*cos(theta) ;y = y0 + R*sin(theta) ;plot(x,y,) ; grid

    Prima linie din functia de mai sus se numeste header-ul functiei. Declaratiagrid cere ca o retea sa fie inserata n figura corespunzatoare compilarii pro-gramului dupa cum putem vedea {in Figure 1. In mod obisnuit, un fisierfunctie are numele functiei. Putem acum lansa n executie programul graf.mn fereastra de lucru apelandu-l cu numele lui

    >> graf

    si programul va cere sa introducem variabilele de intrare si va apela functiacerc. Figura 1 este realizata de catre graf.m cu variabilele de intrare x0 = 3,

    1

  • y0 = 0, R = 10.De asemenea, putem apela direct functia cerc, cu parametrii care i dorim.De exemplu

    >> cerc(3, 2, 7)va desena un cerc de centru (3, 2) si raza 7.

    10 5 0 5 10 1510

    8

    6

    4

    2

    0

    2

    4

    6

    8

    10

    Figure 1

    Revenim la fisierele script pentru a spune cateva lucruri despre variabilele pecare le contine. Variabilele folosite de un fisier script sunt stocate n zonade memorie (zona de lucru) cat timp MATLAB ruleaza. Acest lucru nueste adevarat pentru variabilele dintr-un fisier functie decat daca o asemeneavariabila este declarata ca o variabila globala. Pentru a vedea ce variabilesunt stocate n zona de lucru vom da urmatoarea comanda

    >> whos

    Daca dorim sa stergem unele variabile din zona de memorie folosim comandaclear.

    >> clear lista de variabileVariabilele din lista ar trebui separate prin spatiu. Daca dorim sa stergemtoate variabilele vom face urmatoarea declaratie

    2

  • >> clear Revenim acum la fisierele de tip functie si vom da forma generala

    pe care trebuie sa o aiba header-ul unei functii

    function [parametri-de-iesire] = numele-functiei(parametri-de-intrare)

    Parametri de intrare sunt parametri formali. Daca o functie nu are parametride intrare atunci parantezele ( ) vor fi omise. Daca o functie nu are parametride iesire atunci [ ] si = vor fi omise. Daca o functie are doar o variabilade iesire parantezele [ ] pot fi omise. De exemplu, functia corespunzatoareexpresiei f(x) = x2 poate fi scrisa ca

    function y = f(x)y = x*x ;

    Functia de mai sus returneaza valoarea lui y.

    Secventa help: Fiecare functie poate avea o secventa help. Putem gasiinformatii despre o asemenea functie folosind declaratia help astfel>> help numelefunctiei

    De asemenea putem crea o sectiune de help(ajutor), folosind urmatorul model:

    Header-ul Functiei% prima linie de help% a doua linie de help% ...% ultima linie de help

    Folsind declaratiile de help(ajutor) de mai sus

    >> help numele functieivor fi afisate toate liniile de help de la prima pana la ultima vor fi afisate.

    Alte functii care pot fi create in Matlab sunt functiile inline . De exemplu:f = inline(x*x) ;

    3