Software Matematic - Matlab

Embed Size (px)

Citation preview

  • 7/30/2019 Software Matematic - Matlab

    1/63

    Lector univ. dr. A. Dunca

    Software matematic Matlab

    Universitatea Spiru Haret, 2008

  • 7/30/2019 Software Matematic - Matlab

    2/63

    Cuprins

    1 Introducere 8

    2 Lucrul cu fisiere in Matlab 10

    3 Functii de gestionare a timpului 14

    4 Lucrul cu vectori si matrici 18

    5 Instructiuni de control 23

    6 Siruri de caractere 27

    7 Numere Complexe 29

    8 Functii matematice 29

    9 Operatii cu matrici 31

    10 Functii pentru calcule statistice 34

    11 Optimizari de functii, rezolvari de ecuatii neliniare 36

    12 Operatii cu polinoame 40

    13 Derivare si integrare numerica 47

    14 Functii pentru grafica 49

    5

  • 7/30/2019 Software Matematic - Matlab

    3/63

    Prefata

    Prezentele notite de curs se adreseaza studentilor de la Facul-

    tatea de Matematica-Informatica a Universitatii Spiru Haret care

    sunt nscrisi la cursul de Software Matematic.

    Prezentele notite au fost redactate utilizand pachetul MikTex,

    www.miktex.org, versiunea pentru Windows a sistemului LATEX.Editia electronica utilizeaza formatul PDF al companiei Adobe

    Systems.

    Lector univ. dr. A. Dunca

    Facultatea de Matematica-Informatica

    Universitatea Spiru Haret, Bucuresti, 2008

    6

  • 7/30/2019 Software Matematic - Matlab

    4/63

    7

  • 7/30/2019 Software Matematic - Matlab

    5/63

    8

    1 Introducere

    Pachetul software Matlab al companiei MathWorks este un soft-ware special conceput pentru rezolvarea cu usurinta a problemelorde calcul numeric ce apar in domeniul stiintei si ingineriei. El are ogama bogata de rutine ce permite scrierea rapida de cod datoritafelului natural in care variabilele pot fi definite si initializate inMatlab. Printre domenii de aplicabilitate se afla:

    1. calcul matricial si vectorial

    2. operatii cu functii trigonometrice, exponentiale, polinomiale

    3. rezolvarea de sisteme de ecuatii liniare si neliniare

    4. interpolare

    5. optimizari

    6. statistica

    7. grafica

    8. operatii cu siruri de caractere

    Pachetul software Matlab nu este gratis. Pentru rularea exem-

    plelor din aceste note vom folosi Octave, versiunea free a softuluiMatlab. La data scrierii acestor note Octave putea fi downloa-dat de pe situl http://sourceforge.net, efectuati pe acel site ocautare dupa cuvantul cheie Octave. Downloadati de acolo fisierulOctave Forge Windows. Fisierul are aprox. 32Mb. Puteti gasiOctave deasemenea in distributia cygwin (linux emulator for win-dows),www.cygwin.com. Daca sunteti utilizator de linux atunciputeti instala Octave selectand in sectiunea Math din pachetele

    dumneavoastra distributia Octave corespunzatoare versiunii de

    http://sourceforge.net/http://www.cygwin.com/http://www.cygwin.com/http://www.cygwin.com/http://sourceforge.net/
  • 7/30/2019 Software Matematic - Matlab

    6/63

    9

    linux pe care o aveti. Exista compatibilitate foarte mare intreOctave si Matlab, scripturile Octave putand fi rulate pe platformaMatlab si invers.

    Se poate spune ca Matlab e cel mai eficient limbaj de progra-mare pentru proiectarea de soft ce presupune un bogat continutmatematic precum calcule extinse sau grafica. Ca drawback, da-torita flexibilitatii ce duce la scriere foarte rapida de cod el ruleaza

    mai incet decat executabile in C si chiar Java, de aceea pentruprobleme foarte mari ce presupun foarte multe calcule (de pildarezolvarea unui sistem cu matrice de dimesiunea milioanelor) e depreferat ca Matlab sa fie utilizat numai ca unealta pt proiectarearutinelor, verificarea lor pe probleme mai mici si apoi convertirearutinelor Matlab in cod C/C++ sau alt limbaj de programare mairapid.

    Atat Matlab cat si versiunea free Octave sunt amplu documen-

    tate atat online cat si in editii tiparite. Se pot consulta de pildasiturilesite-ul Gnu Octave, in englezaMathWorks site, in englezatutorial Matlab al Univ. of Ottawa, in englezatutorial Matlab al Univ. of Michigan, in englezatutorial Matlab, Univ. A.I. Cuza, Iasisau cartea [1].

    http://www.gnu.org/software/octave/doc/interpreter/http://www.mathworks.com/access/helpdesk_r13/help/techdoc/ref/ref.htmlhttp://www.site.uottawa.ca/~adler/octave/octave_manual.pdfhttp://www.engin.umich.edu/group/ctm/basic/basic.htmlhttp://thor.info.uaic.ro/~fliacob/An2/2007-2008/Materiale%20pentru%20seminarii%20si%20laborator/Introducere%20in%20Matlab-Index%20cu%20exemple.pdfhttp://thor.info.uaic.ro/~fliacob/An2/2007-2008/Materiale%20pentru%20seminarii%20si%20laborator/Introducere%20in%20Matlab-Index%20cu%20exemple.pdfhttp://www.engin.umich.edu/group/ctm/basic/basic.htmlhttp://www.site.uottawa.ca/~adler/octave/octave_manual.pdfhttp://www.mathworks.com/access/helpdesk_r13/help/techdoc/ref/ref.htmlhttp://www.gnu.org/software/octave/doc/interpreter/
  • 7/30/2019 Software Matematic - Matlab

    7/63

    10

    2 Lucrul cu fisiere in Matlab

    Presupunand ca ati instalat versiunea Windows a pachetului Oc-tave, trebuie doar ca sa deschideti terminalul de lucru Octave se-lectand Octave din sectiunea All Programs a calculatorului dum-neavoastra. Daca lucrati pe cygwin sau linux, tipariti comandaoctave in terminal si apoi apasati enter.Din acest moment aveti acces la comenzile built-in din Octave/Matlab.Comanda path

    Puteti vedea caile de acces la aceste comenzi executand comandapath. In cazul meu, comanda path returneaza

    octave:1> path

    Octaves search path contains the following directories:

    .

    /usr/lib/octave/2.1.73/site/oct/i686-pc-cygwin//

    /usr/lib/octave/site/oct/api-v13/i686-pc-cygwin//

    /usr/lib/octave/site/oct/i686-pc-cygwin//

    /usr/share/octave/2.1.73/site/m//

    /usr/share/octave/site/api-v13/m//

    /usr/share/octave/site/m//

    /usr/lib/octave/2.1.73/oct/i686-pc-cygwin///usr/share/octave/2.1.73/m//

    m-files

    Fisierele in care dumneavoastra veti scrie instructiuni matlab tre-buie sa aiba extensia .m. Daca ele sunt plasate in directorul curent,adica directorul returnat de comanda pwd, ele pot fi apelate direct,altfel ele se apeleaza impreuna cu intreaga cale la ele.

  • 7/30/2019 Software Matematic - Matlab

    8/63

    11

    Instructiunile matlab se pot scrie la linia de comanda in terminaluloctave sau se pot plasa intr-un fisier si apoi executa apeland la liniade comanda numele fisierului respectiv.Presupunand ca ati scris instructiuni matlab in fisierul test.m indirectorul curent pentru a le executa tipariti la linia de comandadin octavetest

    De pilda, daca fisierul test.m contine linia de codx=1atunci comanda test afiseaza valoarea 1. Fisierele matlab pot con-tine doar instructiuni matlab(scripturi matlab) sau pot continefunctii. Fisierele ce contin o functie trebuie sa aiba acelasi numeca si functia pe care o contin iar prima linie din fisier trebuie sacontina antetul functiei. De exemplu pentru implementarea uneifunctii numita patrat care calculeaza patratul unui numar real vom

    crea fisierul patrat.m(cu notepad, de exemplu) in directorul curentdupa care adaugam in el liniile de cod

    function z=patrat(x)

    z=x^2;

    Dupa efectuarea in terminalul octave a comenziipatrat(2)octave va afisa numarul 4.

    Comanda help

    Comanda help urmata de numele unei comenzi built-in matlabafiseaza intructiuni ajutatoare in legatura cu acea comanda.Comanda help urmata de numele unei functii matlab create dedumneavoastra si care se afla in path afiseaza intructiunile co-

    mentate cu % pe care le-ati plasat imediat dupa antetul functiei.

  • 7/30/2019 Software Matematic - Matlab

    9/63

    12

    Revenind la exemplul anterior, daca vom considera functia pa-trat.m

    function z=patrat(x)

    %calculeaza patratul unui numar x

    z=x^2;

    comandahelp patratva afisa textul calculeaza patratul unui numar x. Acest mod decomentare a modului de utilizare a unei functii poate fi foarte utilpentru a obtine cu unsurinta informatii despre functii precum ceinput accepta si ce anume returneaza.

    Tipuri de date

    In matlab exista o flexibilitate foarte mare in ce priveste utilizareavariabilelor din spatiul de lucru.Variabilele pot fi printre altele de tip real, intreg, complex, sir decaractere, vectori sau matrici, ele nu necesita declarare si tipul lor edetectat automat de matlab la momentul intializarii lor. Deaseme-nea in timpul executiei tipul variabilei se poate schimba dand vari-abilei respective o valoare de un tip diferit.De pilda, se pot efectua succesiv la linia de comanda operatiile

    x=1;

    x=[1 2];

    initializeaza mai intai variabila x cu valoare de tip intreg 1, dupacare se stocheaza in x vectorul linie de componente 1,2.

  • 7/30/2019 Software Matematic - Matlab

    10/63

    13

    Comanda which urmata de o comanda matlab functioneazaprecum comanda similara din sistemul linux. Ea returneaza caleacatre comanda matlab respectiva.

    Comanda who listeaza numele variabilelor din sesiunea curenta.

    Comanda whos listeaza numele variabilelor din sesiunea curenta

    precum si tipul si dimensiunea lor.

    Comanda diary test stocheaza in fisierul test din directorulcurent toate comenzile efectuate la linia de comanda si rezultateleafisate dupa efectuarea comenzii diary. Inregistrarea comenzilor sia rezultatelor se poate opri cu comanda diary off.

    Pentru mai multe informatii si exemple in ce priveste utilizareacomenzilor which, whos, who, diary consultati [1] sau siturile re-comandate in primul capitol, Introducere.

  • 7/30/2019 Software Matematic - Matlab

    11/63

    14

    3 Functii de gestionare a timpului

    Functiile matlab tic,toc,clock, etime ne dau informatii despre tim-pul de executia al unei comenzi si informatii despre data si ora mo-mentului curent conform ceasului calculatorului. Aceste comenzisunt utile atunci cand se doreste optimizarea timpului de executieal unei rutine.Liniile de cod

    tic;

    for(i=1:100)

    i

    end

    toc

    vor masura timpul necesar pentru afisarea tuturor numerelor in-tregi intre 1 si 100.Linia de codtic;lagrange1(12);tocva afisa timpul de executie in secunde al comenzii lagrange1(12).

    Acelasi rezultat poate fi obtinut cu liniile de cod

    t=clock;

    lagrange1(12);

    etime(clock,t)

    Pentru a afla informatii despre data si ora curente se poate utilizacomanda clock. De exemplu,

    data_curenta=fix(clock)

    returneaza in vectorul data curenta (in aceasta ordine) anul, luna,

    ziua, ora, minutul, secunda curente.

  • 7/30/2019 Software Matematic - Matlab

    12/63

    15

    octave:2> data_curenta=fix(clock)

    data_curenta =

    2008 4 21 9 30 40

    octave:3>

  • 7/30/2019 Software Matematic - Matlab

    13/63

    16

    Variabile predefinite

    Comenzile format long si format short pot fi folosite pen-tru controlul numarului de cifre ce vor fi afisate dintr-un numarzecimal. format short permite afisarea primelor 5 cifre iar formatlong afisarea primelor 15 cifre.

    octave:3> format shortoctave:4> pi

    pi = 3.1416

    octave:5> format long

    octave:6> pi

    pi = 3.14159265358979

    octave:7>

    Vezi deasemenea [1] sau siturile recomandate in primul capitol,Introducere, pentru cateva exemple.Pentru afisarea de text sau valori numerice in interiorul unui pro-gram se poate folosi comanda disp . De exemplu, instructiuneadisp(soft matematic)va afisa textulsoft matematicIn cazul in care disp primeste ca input un vector sau matrice ea

    va afisa valorile din vector sau matrice fara a mai afisa numelevariabilei.

    octave:9> x=[1 2 3]

    x =

    1 2 3

    octave:10> disp(x)

  • 7/30/2019 Software Matematic - Matlab

    14/63

    17

    1 2 3

    octave:11>

    Comenzile size si length

    In calculul matricial este necesar sa se cunoasca dimensiunile unei

    matrici precum si lungimea unui vector de finit in program. Pentruaceasta se pot utiliza functiile size si length.De exemplusize([1 2;3 7])va returna dimensiunea matricii cu linii 1 2 si 2 3, adica dimensi-unea 2,2 iar comandalength([1 2 3 9 5])va returna 5, adica lungimea vectorului linie [1 2 3 9 5].

    variabila ans

    Dupa fiecare instructiune efectuata, variabila ans stocheaza rezul-tatul obtinut in urma efectuarii acelei operatii, cata vreme rezul-tatul acelei operatii nu e deja stocat intr-o variabila deja definitade programator.

    Iata mai jos un exemplu de utilizare a variabilei ans.

    octave:21> 3

    ans = 3

    octave:22> x=4

    x = 4

    octave:23> ans

    ans = 3

  • 7/30/2019 Software Matematic - Matlab

    15/63

    18

    octave:24> 5

    ans = 5

    octave:25> x=ans*6

    x = 3 0

    octave:26>

    Alte variabile predefinite in matlab sunt eps, realmin, realmax, pi,i. Puteti consulta [1] sau siturile recomandate in primul capitol,

    Introducere, sau executatihelp numele variabileipentru a afla informatii in legatura cu aceste variabile.

    4 Lucrul cu vectori si matrici

    Vectorii se definesc prin listarea componentelor incadrate de paran-

    teze drepte.x=[1 2 3 4]e vectorul linie de componente 1 2 3 4. comandax=[1,2,3,4]returneaza acelasi lucru.Comandax=[1;2;3;4]e vectorul coloana de componente 1 2 3 4.

    Comandaxcreeaza transpusul vectorului x. Deci daca x e un vector linie, xe vectorul coloana cu aceleasi componente, si invers.De pilda liniile

    x=[1 2 3 4]

    x

  • 7/30/2019 Software Matematic - Matlab

    16/63

    19

    vor returna vectorul coloana de componente1 2 3 4.Sunt valide operatii de concatenare de tipul

    x=[1 2]

    y=[3 4]

    z=[x,y]

    In urma acestor operatii z este vectorul linie de componente 1 2 34. Liniile

    x=[1 2]

    y=[3;4]

    z=[x,y]

    au acelasi efect.Comandax=0:3:9creeaza un vector obtinut prin impartirea segmentului [0,9] in treiparti egale si stocarea celor 4 numerelor echidistante aparute. decix=[0 3 6 9]Acelasi efect poate fi obtinut cu functia linspacex=linspace(0,9,4)gaseste 4 puncte echidistante in intervalul 0,9, primul fiind 0 iar

    ultimul 9. decix=[0 3 6 9]Indexarea vectorilor in matlab incepe de la 1(spre deosebire de Csau Java unde incepe de la 0). Pentru a accesa prima componentaa vectoruluix=[1 2 3 4]putem efectua comandax(1)

    Ea va afisa valoarea 1. In acelasi mod,

  • 7/30/2019 Software Matematic - Matlab

    17/63

    20

    dacax=[4 5 6 7]comandax(1:3)returneaza un vector ce contine toate componentele lui x de la 1la 3 , adica vectorul linie[4 5 6].

    x(2:3) va afisa [5,6].Pentru a selecta din vectorul x componentele de index impar(adicaprima si a treia) se poate utiliza comandax(1:2:4)Ea selecteaza componentele lui x din 2 in 2, adica[4 6]Pentru a defini o matrice A de linii 1 2 si 3 4 se utilizeaza comandaA=[1 2;3 4]

    Se specifica deci succesiv liniile separate de ;Urmatoarele linii

    x=[1 2]

    y=[3 4]

    A=[x;y]

    creeaza matricea de linii 1,2 si 3,4.Comandasize(A)returneaza dimensiunea lui A adica numerele 2,2.Pentru a acesa componenta matricii A de pe linia 2, coloana 1 sepoate utiliza comandaA(2,1)Pentru a selecta coloana 2 din A si stoca intr-un vector x putemfolosi comanda

    x=A(:,2)

  • 7/30/2019 Software Matematic - Matlab

    18/63

    21

    Pentru a selecta linia 1din A si stoca intr-un vector x putem folosicomandax=A(1,:)ComandaB=[A;A]creeaza matricea 4x2 cu prima linie 1 2, a doua 3 4,a treia 1 2,apatra 3 4. (deci se pune A sub matricea A)

    ComandaB=[A,A]creeaza matricea 2x4 cu linii 1 2 1 2 si 3 4 3 4 (deci se pune A indreapta lui A)Fie matriceaA=[1 2 3; 2 3 4; 4 5 6]pentru a selecta submatricea obtinuta prin intersectarea primelor2 linii cu primele doua coloane poate fi folosita comanda

    A(1:2,1:2)ComandaAcalculeaza transpusa matricii A, deci daca A=[ 1 2; 3 4]A va fi matricea [1 3;2 4].Comandadet(A) calculeaza determinantul matricii A iar comanda trace(A)calculeaza suma elementelor de pe diagonala lui A.

    Comandaeye(3) sau eye(3,3) genereaza matricea identica de dimensiune 3.Comandazeros(3,4)genereaza o matrice de dimensiune 3x4 cu toate componentele 0.Comandaones(3,4)

  • 7/30/2019 Software Matematic - Matlab

    19/63

    22

    genereaza o matrice de dimensiune 3x4 cu toate componenteleegale cu 1.Comandarand(3,3)genereaza o matrice de dimensiune 3x3 cu toate componentele gen-erate aleator in intervalul [0,1). Pentru mai multe exemple con-sultati [1] sau siturile recomandate in primul capitol, Introducere.

  • 7/30/2019 Software Matematic - Matlab

    20/63

    23

    5 Instructiuni de control

    Operatorii relationali folositi in matlab sunt:

    1. = mai mare sau egal

    5. == egal cu

    6. = diferit de

    Formatul de utilizare este

    A= B (operator relational) CDe pilda executandx = 2 = 3variabila x va stoca valoarea 1.

    iar x = 2 = 2variabila x va stoca valoarea 0.In cazul comparatiilor intre vectori se compara fiecare componentedin vectorii respectivi.De pilda

    x = [1 2 3] >= [3 2 1]initializeaza x cu valoarea [0 1 1].Operatorii logici folositi in matlab sunt

    1. non2. & si

    3.|

    sau

  • 7/30/2019 Software Matematic - Matlab

    21/63

    24

    De pilda, operatiax = (2 > 3)|(3 < 4)da lui x valoarea 1 pe cand operatiax = (2 > 3)|(3 > 4)da lui x valoarea 0.Forma generala a instructiunii if esteif (expresie logica)

    instructiuniendDaca expresia logica e adevarata se executa instructiunile.De exemplu, linia de cod

    x=2;

    if(x

  • 7/30/2019 Software Matematic - Matlab

    22/63

    25

    daca expresia logica e adevarata, executa instructiunile A, altfelexecuta B.Se mai poate utiliza si forma

    if (expresie logica 1)

    instructiuni 1

    elseif (expresie logica 2)

    instructiuni 2

    elseif (expresie logica 3)

    instructiuni 3

    end

    Daca expresia logica 1 e adevarata se executa instructiunile 1, al-tfel, daca expresia logica 2 e adevarata se executa instructiunile 2,altfel, daca expresia logica 3 e adevarata se executa instructiunile3.Vezi [1] sau siturile recomandate in primul capitol, Introducerepentru exemple.

    Instructiunea repetitiva for. Forma generala este

    for(i=a:b)

    instructiuni

    end

    Pentru fiecare valoare i de la a la b(inclusiv) executa instructiunile.De pilda dupa executarea liniilor de cod

    x=0;

  • 7/30/2019 Software Matematic - Matlab

    23/63

    26

    for(i=1:3)

    x=x+i;

    end

    x va avea valoarea 6.o instructiune for de tipul

    for(i=1:2:5)

    instructiuniend

    va executa instructiunile pentru i de la 1 la 5 din 2 in 2, adicai=1,3,5.Instructiunile while, break, return, switch ce se intalnesc si in altelimbaje de programare au variante similare in matlab, vezi [[1]]sau siturile recomandate in primul capitol, Introducere.Instructiunea any(conditii logice) testeaza daca vreuna din conditiie satisfacuta, caz in care returneaza valoarea 1, altfel returneazavaloarea 0. De pilda

    any([1 2 3]>1)

    va returna valoarea 1.Instructiunea all(conditii logice) testeaza daca toate conditiile suntsatisfacute, caz in care returneaza valoarea 1, altfel returneaza

    valoarea 0. De pildaall([1 2 3] > 1) va returna valoarea 0.Instructiunea exist poate fi utilizata pentru a verifica daca o vari-abila exista.De pilda

    x=1;

    exist(x)

    va returna valoarea 1.

  • 7/30/2019 Software Matematic - Matlab

    24/63

    27

    6 Siruri de caractere

    Functia abs(x) returneaza codurile ASCII ale caracterelor din sirulde caratere x. Atentie, functia abs are o functionalitate diferitaatunci cand inputul este un numar real. abs(abc)returneaza vectorul de componente 97 98 99.In cazul in care un sir de caracatere contine o comanda matlab,aceasta comanda poate fie executata utilizand functia eval.De pilda

    x=2;

    z=x^2;

    eval(z)

    va returna valoarea 4.Comanda feval poate fi utilizata pentru evaluarea functiilor.

    De pildafeval(f,2)va evalua functia f in valoarea 2. Functia feval e utila atunci candvrem ca o functie f1 sa accepte ca input o alta functie f2. Aceastase realizeaza pasand in functia f1 ca input sirul de caractere f2 siapoi apeland functia f2 cu comanda feval (f2, valoare).Sirurile de caractere se pot compara cu comanda strcmp. De pildastrcmp(xyz,Xyz) va returna valoarea 0 pentru ca xyz si Xyz

    nu sunt identice.Comanda findstr(sir1,sir2) va cauta verifica daca sir2 contine sir1si va returna pozitia de inceput in care sir1 incape prima oara insir2.De pilda,findstr(sa,acasa) va returna valoarea 4.Comanda upper(sir) transforma toate caracterele din sir in literemari.

  • 7/30/2019 Software Matematic - Matlab

    25/63

    28

    De pildaupper(xyZ)returneaza sirul de caractere XYZlower(sir) transforma toate caracterele din sir in litere mici.Comanda str2num converteste un sir de caractere ce reprezinta unnumar in acel numar. de pilda comandax=str2num(12.3)

    da lui x valoarea reala 12.3.Similar, num2str converteste o valoare reala intr-un sir de carac-tere. de pilda

    y=2.3;

    x=num2str(y)

    va da lui x valoarea 2.3. Pentru mai multe explicatii si exemple ince priveste lucrul cu siruri de caractere consultati [[1]] sau siturile

    recomandate in primul capitol, Introducere.

  • 7/30/2019 Software Matematic - Matlab

    26/63

    29

    7 Numere Complexe

    Comandax=2+3*idefineste numarul real x cu parte reala 2 si parte imaginara 3.Partea reala a unui numar real dat x se calculeaza cu comandareal(x)iar partea imaginara cu imag(x). Conjugatul lui x se calculeazacu formula conj(x) argumentului lui cuangle(x) iar modulul cu comanda abs(x). Pentru mai multeexemple consultati [1] sau siturile recomandate in primul capitol,Introducere.

    8 Functii matematice

    Comandaceil(x) calculeaza cel mai mic numar intreg mai mare ca x. Depilda ceil(2.3) returneaza 3.Comanda floor(x) returneaza partea intreaga a lui x. Pentru acalcula restul impartirii unui numar natural x la numarul naturaly se poate utiliza comanda rem(x,y).De pilda rem(5,2) returneaza valoarea 1.Daca x si y sunt vectori atunci rem(x,y) va calcula restul impartirii

    fiecarei componente din x la componenta corespunzatoare din y.Pentru a detecta scrierea fractionara a unui numar zecimal sepoate utiliza comanda rats.De pilda rats(1.5) va returna valorile 3 si 2 pentru ca 3/2 = 1.5Pentru a detecta semnul unei valori reale se poate utiliza functiasign.Daca x > 0 , sign(x) returneaza 1, daca x < 0 sign(x) returneaza-1 iar daca x=0 sign(x) returneaza 0.

  • 7/30/2019 Software Matematic - Matlab

    27/63

    30

    Pentru mai multe exemple consultati [1] sau siturile recomandatein primul capitol, Introducere.Operatia de ridicare la putere 23 se apeleaza cu comanda

    2^3

    Logaritmul natural al lui 2 se calculeaza cu formulalog(2)

    iar logaritmul in baza 10 cu formulalog10(2).Pentru a calcula e2 se efectueaza comanda exp(2).

    2 se calculeaza cu comanda sqrt(2)In ce priveste functiile trigonometrice, ele se apeleaza cu comenzilecos(x), sin(x), tan(x), cot(x)

    unde x e un numar real.Functiile trigonometrice inverse se apeleaza cu comenzile

    asin, acos, atan, acot. Comanda gcd(x,y) calculeaza cel mai maredivizor comun al numerelor naturale x si y iar lcm(x,y) cel mai micmultiplu comun al celor doua numere.de pilda gcd(12,15) returneaza valoarea 3iarlcm(4,3)returneaza valoarea 12.

  • 7/30/2019 Software Matematic - Matlab

    28/63

    31

    9 Operatii cu matrici

    Valorile proprii precum si vectorii proprii ai unei matrici patraticedate se obtin cu comanda eig.x=eig(A)va stoca in vectorul x valorile proprii ale lui A iar[x y]=eig(A)va stoca pe diagonala lui y valorile proprii ale lui A iar in coloanelematricii x vectori proprii unitari asociati acelor valori proprii.Operatiainv(A) returneaza inversa unei matrici nesingulare A.comanda diag(A) returneaza un vector cu componentele de pediagonala lui A.de pilda diag([1 2; 2 3]) va returna vectorul linie de componente1,3.

    Daca x e un vector dat atunci diag(x) returneaza o matrice ce arepeste tot 0 cu exceptia diagonalei unde regasim componentele luix.Rotirea unei matrici.Comandafliplr(A) inverseaza coloanele lui A. de pildafliplr ([1 2 3; 1 2 3])va returna matricea cu liniile 3 2 1 si 3 2 1, adica, in sintaxa matlab

    [ 3 2 1; 3 2 1].Comandaflipud(A) functioneaza similar, numai ca se inverseaza liniile luiA. De pilda, daca A=[1 2;2 1] atunciflipud(A)va returna matricea[2 1; 1 2]Exemplu:

  • 7/30/2019 Software Matematic - Matlab

    29/63

    32

    octave:27> A=[1 2; 3 4]

    A =

    1 2

    3 4

    octave:28> fliplr(A)

    ans =

    2 1

    4 3

    octave:29> flipud(A)

    ans =

    3 41 2

    octave:30>

    Comanda triu(A) returneaza o matrice ce are deasupra diagonaleisi pe diagonala aceleasi componente ca si A si 0 in rest. De pildatriu([ 1 2;2 1]) va returna

    [1 2;0 1].Comanda tril(A) returneaza o matrice ce are sub diagonala si pediagonala aceleasi componente ca si A si 0 in rest. De pilda tril([1 2;2 1]) va returna[1 0;2 1].Exemplu:

    octave:30> A=[1 2 3;4 5 6;7 8 9]

    A =

  • 7/30/2019 Software Matematic - Matlab

    30/63

    33

    1 2 3

    4 5 6

    7 8 9

    octave:31> triu(A)

    ans =

    1 2 3

    0 5 6

    0 0 9

    octave:32> tril(A)

    ans =

    1 0 04 5 0

    7 8 9

  • 7/30/2019 Software Matematic - Matlab

    31/63

    34

    10 Functii pentru calcule statistice

    Comanda mean(x) calculeaza media aritmetica a componentelorvectorului x. de pilda mean([1 2]) returneaza 1.5.Comandamedian(x)va sorta crescator componentele lui x si apoi va alege componentadin mijloc sau media aritmetica a componentelor din mijloc, dacasunt 2. De pildamedian([3 1 2])returneaza 2iar median([3 1 2 3]) va returna 2.5Comanda sum(x) calculeaza suma componentelor vectorului x.daca x este o matrice sum(x) calculeaza suma elementelor de pefiecare coloana a lui x.

    Comanda prod(v) calculeaza produsul valorilor vectorului v.Abaterea medie patratica a componentelor unui vector x se cal-culeaza cu formula std(x).Comanda sort(x) sorteaza in ordine crescatoare elementele vec-torului x.Apelata sub forma[a,b]=sort(x)ea va returna in a componentele lui x ordonate crescator iar in b

    indexul lor.De pilda [a,b]=sort([7 5 6]);va returna

    a=[5 6 7]

    b=[2 3 1]

    Comanda max(x) va returna valoarea maxima a componentelorvectorului x.

  • 7/30/2019 Software Matematic - Matlab

    32/63

    35

    Apelat cu comanda [a b]=max(x)a va contine valoarea maxima iar b indicele acestei componente.daca x este o matrice max(x) devine un vector ce contine valorilemaxime pe fiecare coloana a lui x.De pilda comandamax([ 1 2;3 0]) va returna3 2

    Comanda min(x) se defineste similar, vezi [1] sau siturile recoman-date in primul capitol, Introducere.

  • 7/30/2019 Software Matematic - Matlab

    33/63

    36

    11 Optimizari de functii, rezolvari de ecu-atii neliniare

    Exemplele din acest capitol au fost verificate in Octave, imple-mentarea free a sistemului Matlab. E posibil ca rularea exemplelorin matlab sa necesite mici modificari.Pentru minimizarea unei functii de o singura variabila reala date

    se poate utiliza comanda fmin.fmin(f,a,b, optiuni) va determina o aproximare(in functie de otoleranta specificata in optiuni) a valorii din intervalul [a,b] undefunctia f atinge cea mai mica valoare.Daca vom considera functia f(x) = x2 pe intervalul [-1,2], cea maimica valoare e atinsa in 0, deci o comanda de tipulfmin(f,-1,2) va returna o aproximare a valorii 0.In exemplul de mai jos, functia f al carei minim in intervalul [-1,1]

    este aproximat este definita inline

    octave:33> f=inline(x.^2);

    octave:34> fmin(f,-1,1)

    ans = -1.44247747862210e-17

    octave:35>

    Alternativ, functia f de mai sus putea fi definita intr-un m-filenumit f.m.Comandafmin(cos,3,4,[1,1.e-12])va calcula o aproximare cu 12 zecimale exacte a valorii (din mo-ment ce minimizeaza functia cos(x) pe intervalul [3, 4].Comanda fmax se defineste similar, vezi [1] sau siturile recoman-date in primul capitol, Introducere.Pentru minimizarea functiilor de mai multe variabile reale se poate

    utiliza functia fmins. Aceasta functie necesita specificarea unei

  • 7/30/2019 Software Matematic - Matlab

    34/63

    37

    predictii initiale pentru gasirea unui minim local apropiat de pre-dictia initiala. E posibil ca functia sa nu returneze o aproximarea unui minim local in cazul cand schema numerica utilizata nuconverge. Sa consideram functia f1

    function z=f1(x)

    z=x(1)^4+x(2)^2

    Un apel de tipulfmins(f1,[1,1],[0,0.0001])va calcula o aproximare a vectorului bidimensional unde f1 areun minim local, adica vectorul [0,0]. Toleranta aleasa, 0.0001, seaplica ambelor componente.

    Pentru simplificarea exemplului se poate utiliza un function-handler de tipul

    octave:48> f1=@(x)x(1)^4+x(2)^2;octave:49> fmins(f1,[1,1],[0,0.0001])

    ans =

    0 0

    octave:50>

    Pentru a rezolva o ecuatie de tipulf(x)=0unde x e o variabila reala, se poate utiliza comandafmin prezentata anterior tinandu-se seama de faptul casolutia x a ecuatiei f(x) = 0 minimizeaza functiaf2(x).De pilda, pentru rezolvarea ecuatiei cos(x) = 12 pe [0, /2]se poate minimiza functia

    f(x) = (cos(x) 1/2)2 pe intervalul [0, /2]. Exemplu:

  • 7/30/2019 Software Matematic - Matlab

    35/63

    38

    octave:50> f=inline((cos(x)-1/2).^2);

    octave:51> fmin(f,0,pi/2)

    ans = 1.04719755119660

    octave:52> pi/3

    ans = 1.04719755119660

    Altfel, se poate utiliza functia fzero care gaseste solutia uneiecuatii f(x) = 0 in preajma unei predictii initiale specificate x0

    sau intr-un interval dat. Apelul functiei fzero estefzero(f, x0, optiuni)sau fzero(f, [a, b], optiuni)unde optiunile pot contine toleranta cu care solutia e aproximata.In prima varianta x0 este o predictie a solutiei iar in a doua seincearca gasirea unei solutii in intervalul [a,b].De exemplu, sa consideram functia f

    function z=f(x)

    z=sin(x);

    x = fzero(f,0.1);va returna valoarea 0. iar x = fzero(f,-0.1,0.1); va returna val-oarea 0.Fie

    function z=f(x)z=exp(x)-1;

    Comandaoptions.abstol=0.01;x = fzero(f,-0.1,0.1,options);va aproxima solutia exacta a ecuatiei ex 1 = 0, adica 0, cu douazecimale exacte.Acelasi rezultat ca si fzero poate fi obtinut cu comanda fsolve. Sa

    consideram functia matlab f definita mai jos

  • 7/30/2019 Software Matematic - Matlab

    36/63

    39

    function z=f(x)

    z=exp(x)-1;

    Comandax = fsolve(f,0.1);va calcula o aproximare a unei solutii a ecuatiei f(x) = 0 cu pre-dictie initiala 0.1 iar comandax = fsolve(f,-1,1)

    va calcula o aproximare a unei solutii a ecuatiei f(x) = 0 in inter-valul [-1,1]. In ambele Cazuri comanda returneaza o aproximarea valorii 0.

  • 7/30/2019 Software Matematic - Matlab

    37/63

    40

    12 Operatii cu polinoame

    Comanda poly(x) unde x este un vector va calcula coeficientii poli-nomului monic care admite ca radacini componentele vectorului x.De pilda poly([1 -1])va returna numerele1 0 -1, adica coeficientii polinomului x2 1.

    octave:67> poly([-1,1])

    ans =

    1 0 -1

    octave:68>

    pentru a calcula radacinile unui polinom cu coeficienti stocati inordinea descrescatoare a puterilor lui x in vectorul v se poate uti-liza comanda roots(v).Exemplu:

    octave:68> v=[1 -5 4]

    v =

    1 -5 4

    octave:69> roots(v)

    ans =

    4

    1

    octave:70>

  • 7/30/2019 Software Matematic - Matlab

    38/63

    41

    ceea ce confirma previziunile noastre din moment ce polinomulde coeficienti 1,-5,4 este p(x) = x2 5x + 4 de radacini 1,4.Pentru a evalua intr-o valoare data a un polinom cu coeficientiistocati in vectorul x se poate utiliza comanda polyval(x,a). Depildapolyval([1 0 -1], 2)va returna valoarea 3. Observati ca 1 0 -1 sunt exact coeficientii

    polinomuluix2 1.Comanda polyder(v) calculeaza derivata polinomului p ai carui

    coeficienti sunt stocati in vectorul v in ordine descrescatoare aputerilor lui x din polinomul p.Exemplu:

    octave:70> v=[1 0 -1];

    octave:71> polyder(v)

    ans =

    2 0

    octave:72>

    Calculul de mai sus confirma ca derivata lui x2 1 este exact2x.

    Comanda conv(p,q) calculeaza coeficientii produsului polinoamelorale caror coeficienti sunt stocati in vectorii p,q.Exemplu:

    octave:72> p=[1 1 1];q=[1 -1];

    octave:73> conv(p,q)

    ans =

    1 0 0 -1

  • 7/30/2019 Software Matematic - Matlab

    39/63

    42

    octave:74>

    ceea ce confirma ca

    (x2 + x + 1)(x 1) = x3 1

    Comanda deconv poate fi utilizata pentru a afla restul si catul

    impartirii unui polinom la alt polinom. Sintaxa este[q,r]=deconv(f,g)unde f contine coeficientii polinomului ce este inpartit, g srocheazacoeficientii polinomului prin care se imparte iar q si r contin coefi-cientii catului, respectiv restului in aceasta operatie de impartire.De pilda,

    octave:74> f=[1 0 0 1 -1];g=[1 0 1];

    octave:75> [q,r]=deconv(f,g)q =

    1 0 -1

    r =

    0 0 0 1 0

    octave:76>

    ceea ce confirma faptul ca catul si restul impartirii lui f(x) =x4 + x 1 la g(x) = x2 + 1 sunt q(x) = x2 1 respectiv r(x) = x.Pentru aproximarea datelor dintr-un tabel cu graficul unui poli-nom de grad specificat se poate utiliza metoda celor mai micipatrate. Aceasta metoda e implementata in matlab cu ajutorul

    comenzii polyfit.

  • 7/30/2019 Software Matematic - Matlab

    40/63

    43

    Daca x si y contin prima, respectiv a doua linie din tabelul datatuncio comanda polyfit(x,y,1) va returna coeficientii polinomului f degrad 1 care minimizeaza suma patratelor distantelor de la fiecarey din tabel la f(x) corespunzator lui.Exemplu:

    octave:89> x=[-1,0,1,2]

    x =

    -1 0 1 2

    octave:90> y=[0.2,0.8,2.2,2.9]

    y =

    0.2 0.8 2.2 2.9

    octave:91> c=polyfit(x,y,1)

    c =

    0.95 1.05

    octave:92> plot(x,y,*);hold on;plot(x,c(1)*x.+c(2))

    va produce urmatorul grafic

  • 7/30/2019 Software Matematic - Matlab

    41/63

    44

    unde graficul verde reprezinta polinomul aproximant iar punctelenegre valorile aproximate.O comanda polyfit(x,y,3) va returna coeficientii polinomului f degrad 3 care minimizeaza suma patratelor distantelor de la fiecarey din tabel la f(x) corespunzator lui.Exemplu

    octave:114> x=[-1.75 -1 -0.5 0 0.5 1 1.75]

    x =

    Columns 1 through 4:

    -1.75 -1.0 -0.5 0.0

    Columns 5 through 7:

  • 7/30/2019 Software Matematic - Matlab

    42/63

    45

    0.5 1.0 1.75

    octave:115> y=[-6.5 0.3 0.4 -0.5 -0.5 -0.2 6]

    y =

    Columns 1 through 4:

    -6.5 0.3 0.4 -0.5

    Columns 5 through 7:

    -0.5 -0.2 6.0

    octave:116> c=polyfit(x,y,3)

    c =

    Columns 1 through 2:

    1.7627568077263764 -0.0218522146044181

    Columns 3 through 4:

    -1.8418921621853301 -0.1159320927195561

    octave:117> plot(x,y,*);

    hold on;

    plot(a,c(1)*a.^3+c(2)*a.^2+c(3)*a+c(4))

    va produce graficul

  • 7/30/2019 Software Matematic - Matlab

    43/63

    46

    Aici graficul verde este graficul polinomului aproximant iarpunctele negre sunt punctele ce se doreste a fi aproximate.

    Pentru mai multe exemple vezi [1] sau siturile recomandate inprimul capitol, Introducere.

  • 7/30/2019 Software Matematic - Matlab

    44/63

    47

    13 Derivare si integrare numerica

    Comanda diff(v) calculeaza diferentele dintre componentele succe-sive ale vectorului v.De exemplu

    octave:122> diff([-1 0 1])

    ans =

    1 1

    Aceasta comanda poate fi utilizata pentru aproximarea derivateiunei functii. Se foloseste formula

    f(a) = limxaf(x) f(a)

    x a

    ce conduce la formula de aproximare a derivatei

    f(a) f(x) f(a)x a

    atunci cand x este aproape de a. Pentru mai multe detalii ince priveste aceasta formula de aproximare consultati sintezele deanaliza numerica.Exemplu: Sa se aproximeze derivata functiei f(x) = x2

    exp(x)

    pe intervalul [-1,1].Pentru aceasta vom efectua comenzile

    octave:124> x=-1:0.01:1;

    octave:125> xprim=diff(x);

    octave:126> y=x.^2-exp(x);

    octave:127> yprim=diff(y);

    octave:128> fprim=yprim./xprim;

  • 7/30/2019 Software Matematic - Matlab

    45/63

    48

    La sfarsitul acestui calcul vectorul fprim va stoca aproximari alederivatei lui f in numerele -0.99,-0.98,....,0.99,1.

    O alta functie ce poate fi utilizata pentru calculul derivatelorpartiale ale unei functii este gradient, vezi [1] sau siturile recoman-date in primul capitol, Introducere.

    Pentru a aproxima integrala unei functii date se pot utilizacomenzile quad (utilizeaza metoda lui Simpson, vezi sintezele de

    analiza numerica) sau trapz(utilizeaza metoda trapezului, vezi sin-tezele de analiza numerica).Exemplu: Sa se aproximeze

    10 e

    (x2)dx.Cu quad

    octave:132> f=inline(exp(x.^2))

    f =

    f(x) = exp(x.^2)

    octave:133> quad(f,0,1)

    ans = 1.46265174590718

    Cu trapz

    octave:134> x=0:0.01:1;

    octave:135> y=exp(x.^2);

    octave:136> trapz(x,y)ans = 1.46269704984927

  • 7/30/2019 Software Matematic - Matlab

    46/63

    49

    14 Functii pentru grafica

    In foarte multe situatii graficele sunt utile pentru a obtine infor-matii despre o anumita functie, informatii ce nu pot fi extrase cuusurinta din forma analitica a functiei respective. In matematicade liceu ele pot fi utilizate de pilda pentru studiul derivabilitatiiunei functii, limita unei functii sau sir, monotonia unei functii saupentru generarea si studiul de suprafete in geometrie.

    La baza rutinelor de grafica in matlab sta comanda plot.Pentru vectori x,y comandaplot(x,y) realizeaza graficul punctelor x(i),y(i) si apoi uneste punctesuccesive cu segmente.Comandaplot([1 2 3],[3 4 5])va face graficul punctelor (1,3),(2,4),(3,5) si apoi va uni

    (1,3) cu (2,4) si (2,4) cu (3,5) prin segmente , vezi graficul urmator.

  • 7/30/2019 Software Matematic - Matlab

    47/63

    50

    Comandaplot(x,y,*) va reprezenta grafic numai punctele (x(i),y(i)).Exemplu: Comanda

    plot([1 2 3],[3 4 5],*)

    va produce graficul

  • 7/30/2019 Software Matematic - Matlab

    48/63

    51

    pentru mai multe optiuni vezi [1] sau siturile recomandate in primulcapitol, Introducere.Pentru a reprezenta vectori in coordonate semilogaritmice se potutiliza comenzilesemilogy si semilogx , vezi [1] sau siturile recomandate in primulcapitol, Introducere.

    Exemplu Comandasemilogy([1 2 3],[10^3 10^4 10^5],*)

    va produce graficul

  • 7/30/2019 Software Matematic - Matlab

    49/63

    52

    Pentru a realiza graficul functiei f(x) = sin(x) pe intervalul [, ]se pot utiliza comenzile

    x=-pi:0.01:pi;

    plot(x,sin(x))

    Graficul produs este

  • 7/30/2019 Software Matematic - Matlab

    50/63

    53

    Pentru a realiza simultan graficul a doua functii f(x) = sin(x), g(x) =x2 pe intervalul [, ] se pot utiliza comenzilex=-pi:0.01:pi;

    plot(x,sin(x)); hold on; plot(x,x.^2);

    Graficul produs este

  • 7/30/2019 Software Matematic - Matlab

    51/63

    54

    Comanda hold on permite suprapunerea graficului lui g(x) =x2 peste graficul lui f(x) = sin(x). In cazul in care nu este efec-tuata comanda hold off orice alta comanda grafica va scrie pestegraficul curent fara a-l sterge.

    Comanda grid permite suprapunerea unui grid pe grafic. Ex-emplu:

    x=-pi:0.01:pi;

    plot(x,sin(x)); hold on; plot(x,x.^2);grid

    produce graficul

  • 7/30/2019 Software Matematic - Matlab

    52/63

    55

    Pentru a da un titlu graficului curent se poate utiliza comandatitle.Exemplu de utilizare:

    plot(x,sin(x));grid;title(graficul lui sin)

  • 7/30/2019 Software Matematic - Matlab

    53/63

    56

    Comenzile xlabel si ylabel permit scrierea de text pe axa Oxrespectiv Oy.Exemplu de utilizare:

    plot(x,sin(x));grid;title(graficul lui sin);

    xlabel(valorile lui x);ylabel(valorile lui f(x))

  • 7/30/2019 Software Matematic - Matlab

    54/63

    57

    Pentru controlul axelor de coordonate se poate utiliza comandaaxis.

    De pilda axis(on) va permite desenarea axelor de coordonatepe grafic in timp ce comanda axis(off) le va sterge.

    Comanda axis(equal) stopeaza scalarea axelor, unitatea demasura in directia x e egala cu unitatea de masura in directia y.Pentru alte argumente pentru comanda axis efectuati comandahelp axis.

    Alte comenzi utile sunt legend, text, vezi [1] sau siturile reco-mandate in primul capitol, Introducere.Comandafill(X,Y,c) va reprezenta grafic poligonul cu varfurile de coordonate

    x stocate in X si coordonate y stocate in Y. Indexul c decide

  • 7/30/2019 Software Matematic - Matlab

    55/63

    58

    culoarea interiorului poligonului. Pentru mai multe optiuni si altefunctii de realizare de grafice vezi [1] sau siturile recomandate inprimul capitol, Introducere.

    Pentru realizarea unui grafic tridimensional ce reprezinta osuprafata se poate utiliza comanda mesh. Pentru aceasta se genereazamai intai doua matrici x, y ce contin coordonatele punctelor inplanul xOy si apoi se construieste matricea ce contine coordonata

    Z a punctelor de pe suprafata respectiva. de exemplu pentru a con-strui graficul unei functii f(x, y) = x2 + y2 pentru x, y [1, 1] sepot folosi comenzile

    octave:179> x=-1:0.01:1;

    octave:180> y=-1:0.01:1;

    octave:181> [X,Y]=meshgrid(x,y);

    octave:182> Z=X.^2+Y.^2;

    octave:183> mesh(X,Y,Z)

    va produce graficul

  • 7/30/2019 Software Matematic - Matlab

    56/63

    59

    Comanda surf(X,Y,Z) va produce un grafic identic cu cel pro-dus mai sus de comanda mesh.

    Comanda surfc(X,Y,Z) realizeaza graficul suprafetei in acelasitimp cu liniile de acelasi nivel in planul xOy(sectiuni ale suprafeteicu plane paralele cu xOy).

    De exemplu comanda

    octave:179> x=-1:0.01:1;octave:180> y=-1:0.01:1;

    octave:181> [X,Y]=meshgrid(x,y);

    octave:182> Z=X.^2+Y.^2;

    octave:183> surfc(X,Y,Z)

    va produce graficul

  • 7/30/2019 Software Matematic - Matlab

    57/63

    60

    Se pot utiliza si pentru grafice in 3 dimensiuni comenzile xlabel,ylabel, legend, title, grid, text, axis mentionate anterior.

    Toate setarile grafice efectuate se sterg cu comanda clf.

  • 7/30/2019 Software Matematic - Matlab

    58/63

    61

  • 7/30/2019 Software Matematic - Matlab

    59/63

    LISTA DE FIGURI 62

    Lista de figuri

  • 7/30/2019 Software Matematic - Matlab

    60/63

    Index

    abs, 27, 29acos, 30acot, 30all, 26angle, 29ans, 17any, 26asin, 30atan, 30axis, 57

    break, 26

    ceil, 29clf, 60clock, 14concatenarea vectorilor, 19conj, 29conv, 41cos, 30cot, 30

    deconv, 42determinantul unei matrici, 21diag, 31diary, 13diary off, 13diff, 47disp, 16

    eig, 31eps, 18etime, 14eval, 27exist, 26eye, 21

    feval, 27fill, 57findstr, 27flipr, 31flipud, 31floor, 29fmin, 36fmins, 36for, 25format long, 16format short, 16functii matlab, 11fzero, 38

    gcd, cel mai mare divizor comun,30

    gradient, 48grid, 54

    help, 11hold off, 54hold on, 54

  • 7/30/2019 Software Matematic - Matlab

    61/63

    INDEX 64

    i, 18imag, 29Indexarea vectorilor in matlab,

    19inline, 36inv, 31

    lcm, cel mai mic multiplu co-mun, 30

    length, 17linspace, 19logaritm in baza 10, 30logaritm natural, 30lower, 28

    m-files, 10matrice, definire, 20matrici, 18max, 34mean, 34median, 34min, 35

    NaN, 18num2str, 28

    path, 10pi, 18plot, 49poly, 40polyder, 41polyfit, 43

    polyval, 41prod, 34pwd, 10

    radacina patrata, 30rand, 22rats, 29real, 29realmax, 18realmin, 18rem, 29return, 26ridicarea la putere, 30

    scripturi matlab , 11semilogx, 51semilogy, 51sign, 29sin, 30size, 17sort, 34std, abaterea medie patratica, 34str2num, 28

    strcmp, 27sum, 34surf, 59surfc, 59switch, 26

    tan, 30tic,toc, 14

    tipuri de date, 12

  • 7/30/2019 Software Matematic - Matlab

    62/63

    INDEX 65

    title, 55trace, 21transpusa unei matrici, 21transpusul unui vector, 18tril, 32triu, 32

    upper, 27

    vector coloana, 18vector generat cu pas constant,

    19vector linie, 18vectori, 18

    which, 13

    while, 26who, 13whos, 13

    xlabel, 56

    ylabel, 56

    zeros, 21

  • 7/30/2019 Software Matematic - Matlab

    63/63

    BIBLIOGRAFIE 66

    Bibliografie

    [1] V. Fireteanu M. Ghinea. Matlab-Calcul numeric, Grafica,Aplicatii. Editura Teora, 2007.