3. functii matematice uzuale - apar.pub.ro · functii de matematica discreta perms([2, 3]) → 3 2...

Post on 09-Sep-2019

17 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

3. Functii matematice uzuale3.1. Functii de aproximare a numerelor

sign(-5.2) → -1sign(5.2) → +1sign(0) → 0

Returnează semnul argumentului sign

rats(5.2) → 26/5Returnează aproximarea unui număr cu fractii rationalerats

rat(5.2) → 5 + 1/(5)Returnează aproximarea unui număr cu fractii rationale continue rat

mod(-5,2) → 1Returnează modulul restului împărtirii argumentelormod

rem(-5,2) → -1Returnează restul împărtirii argumentelor rem

round(3.2) → 3Returnează un număr întreg rotunjit la cel mai apropiat număr întreg

round

floor(3.2) → 3Returnează un număr întreg rotunjit la cel mai apropiat număr întreg spre –infinit

floor

fix(-3.2) → -3Returnează un număr întreg rotunjit la cel mai apropiat număr întreg spre zero

fix

ceil(3.2) → 4Returnează un număr întreg rotunjit la cel mai apropiat număr întreg spre +infinit

ceil

ExempluDescriereFunctia

3.1. Functii de aproximare a numerelor - exemple

>> ceil(3.2)

ans =

4

>> fix(-3.2)

ans =

-3

>> floor(3.8)

ans =

3

>> round(3.2)

ans =

3

>> round(3.8)

ans =4

>> ceil(3.7)

ans =

4

>> fix(-3.8)

ans =-3

>> floor(3.2)

ans =

3

3.1. Functii de aproximare a numerelor - exemple

>> rem(14, 3)

ans =

2

>> rem(-5, 2)

ans =

-1

>> mod(-5, 2)

ans =

1ans =

0

>> rem(14, 7) -5 = 2*(-2) -1

-5 = 2*(-2) -1

14 = 7*2 + 0

14 = 3*4 + 2

3.2. Functii de operare cu numere complexe

isreal([2 3]) → 1Determină dacă elementele matricelor sau vectorilor sunt numere reale

isreal

complex(2,3) → 2+3iConstruieste numere complexe dacă se cunosc părtile reală si imaginară

complex

real(3+i) → 3Calculează partea reală a numerelor complexereal

imag(1+3i) → 3Calculează partea imaginară a numerelor complexeimag

conj(1+i) → 1-iCalculează conjugata complexă a numerelor complexeconj

unwrap(1+i) → 1+iCalculează părtile reală si imaginară a numerelor complexe exprimate sub formă polară

unwrap

angle(1+i) → 0.7854Calculează faza numerelor complexeangle

abs(3+4i) → 5Calculează (valoarea absolută) modulul numerelor complexeabs

ExempluDescriereFunctia

3.2. Functii de operare cu numere complexe - exemple

>> abs(3 + 4i)

ans =

5

>> conj(5 + 2i)

ans =5.0000 - 2.0000i

>> V = [1 2+i 3 4 ];>> isreal(V)

ans =

0

ans =

0.7854

>> angle(1 + i)

1+i = sqrt(2).[cos(π/4) + i.sin(π/4)]

5 = sqrt(32 + 42)

Pentru ordinea operatiilor( )

Transpusa complex conjugată’

Ridicarea la putere^

Împărtire la stânga\

Împărtire/

Înmultire*

Scădere-

Adunare+

OperatieOperator

Operatii vectori si matrice ce contin numere complexe

3.3. Functiile putere, radical, logaritm si exponentiala

realsqrt(16) → 4Calculează radicalul de ordinul 2 al numerelor pozitiverealsqrt

realpow(2,3) → 8Calculează puterea numerelor pozitiverealpow

reallog(9) → 2.1972Calculează logaritmul natural pentru numere pozitivereallog

sqrt(36) → 6Calculează radicalul de ordinul 2 al numerelorsqrt

pow2(5) → 32Calculează puterea lui 2pow2

nextpow2(15) → 4Calculează puterea N a lui 2 care majorează modulul lui 2Nnextpow2

log10(100) → 2Calculează logaritmul în baza 10log10

log2(4) → 2Calculează logaritmul în baza 2log2

log(7.3891) → 2Calculează logaritmul natural log

exp(2) → 7.3891Calculează exponentiala exp

mpower(2,2) → 4Ridicare la putere a matricelor mpower

power(2,2) → 4Ridicare la putere a numerelor sau matricelor element cu element

power

2^2 → 4Ridicare la putere a numerelor sau matricelor ^

ExempluDescriereFunctia

3.3. Functiile putere, radical, logaritm si exponentiala - exemple

>> 10^3

ans =

1000

>> log2(16)

ans =4

>> sqrt(16)

ans =

4

>> 10^(-3)

ans =

1.0000e-003

>> log10(1000)

ans =

3

>> sqrt(-16)

ans =0 + 4.0000i

103

10-3 = 0.001

>> exp(3)

ans =

20.0855

>> log(20.0855 )

ans =3

e3

ln(e3) = 3

3.4. Functii trigonometrice

atanh(2) →0.5493 + 1.5708i

Calculează arctangenta hiperbolică a argumentului atanh

tanh(2+2i) →1.0238 - 0.0284i

Calculează tangenta hiperbolica a argumentului tanh

atan(1) → 0.7854Calculează arctangenta argumentului atan

tan(pi/4) → 1Calculează tangenta argumentului tan

acosh(2) → 1.3170Calculează arcosinusul hiperbolic al argumentului acosh

cosh(2+2i) →-1.5656 + 3.2979i

Calculează cosinusul hiperbolic al argumentuluicosh

acos(-1) → 3.1416Calculează arcosinusul argumentului acos

cos(pi) → -1Calculează cosinusul argumentului cos

asinh(2) → 1.4436Calculează arcsinusul hiperbolic al argumentului asinh

sinh(2+2i) →-1.5093 + 3.4210i

Calculează sinusul hiperbolic al argumentuluisinh

asin(1) → 1.5708Calculează arcsinusul argumentului asin

sin(pi/2) → 1Calculează sinusul argumentului sin

ExempluDescriereFunctia

3.4. Functii trigonometrice - continuare

acsch(2) → 0.4812Calculează arccosecanta hiperbolică a argumentului acsch

csch(2+2i) →-0.1080 - 0.2447i

Calculează cosecanta hiperbolică a argumentului csch

acsc(1) → 1.5708Calculează arccosecanta argumentului acsc

csc(pi/2) → 1Calculează cosecanta argumentului csc

asech(2) → 1.0472iCalculează arcsecanta hiperbolică a argumentului asech

sech(2+2i) →-0.1175 - 0.2475i

Calculează secanta hiperbolică a argumentului sech

asec(-1) → 3.1416Calculează arcsecanta argumentului asec

sec(pi) → -1Calculează secanta argumentului sec

acoth(2) → 0.5493Calculează arcotangenta hiperbolică a argumentului acoth

coth(2+2i) →0.9760 + 0.0271i

Calculează cotangenta hiperbolică a argumentului coth

acot(1) → 0.7854Calculează arcotangenta argumentului acot

cot(pi/4) → 1Calculează cotangenta argumentului cot

3.4. Functii trigonometrice - exemple

>> sin(90)

ans =

0.8940

>> atan(inf)

ans =

1.5708

>> sin(pi/2)

ans =

1

>> asin(1)

ans =

1.5708

>> tan(pi/2 )

ans =

1.6332e+016

pi/2

tg(pi/2)= ∞

pi/2

3.5. Functii de matematica discreta

perms([2, 3]) → 3 2

2 3

Calculează toate permutările posibile perms

nchoosek(3, 2) → 3Calculează combinări de n luate câte knchoosek

isprime([4 5 7]) → 0 1 1Determină dacă elementele unui vector sau matrice sunt numere prime

isprime

primes(7) → 2 3 5 7Întoarce un vector ce contine numerele prime mai mici decât nprimes

lcm(115, 35) → 805Calculează cel mai mic multiplu comun a două numere lcm

gcd(115, 35) → 5Calculează cel mai mare divizor comun a două numeregcd

factorial(4) → 24Calculează factorialul unui număr nfactorial

factor(39) → 3 13Întoarce un vector ce contine factorii primii ai unui număr nfactor

ExempluDescriereFunctia

3.5. Functii de matematica discreta - exemple

>> gcd(60, 15)

ans =

15

>> lcm(10, 15)

ans =

30

4. Functii MATLAB de interes general4.1. Despre variabile si constante

NotiuniNotiuni utile:utile:

-Variabilele nu necesita instructiuni de declaratie sau dimensionare

-Cand intalneste un nume nou de variabila MATLAB o creaza automat si ii

aloca spatiul de memorie necesar

-Daca o variabila deja exista MATLAB ii schimba continutul si o

redimensioneaza daca e cazul

-Numele variabilelor incep cu o litera

-MATLAB este “case sensitive” (a ≠ A)

4.1. Despre variabile si constante - exemple

Not a numberNaN

InfinitInf

Cel mai mare număr în virgulă mobilă (2-eps)21023realmax

Cel mai mic număr în virgulă mobilă 2-1022realmin

Precizia relativă în virgulă mobilă 2-52eps

sqrt(-1)j

sqrt(-1)i

3.14159265...pi

4.2. Introducerea functiilor si comenzilor

NotiuniNotiuni utile:utile:

-MATLAB ruleaza doar un proces (functie, comanda, program) simultan

-Pentru a intrerupe un proces se folosesc tastele Ctrl+Break sau Ctrl+C

-Pentru a lansa mai multe functii pe aceeasi linie de comanda acestea se

separa cu “,” sau “;” si sunt urmate de Enter

>> x = pi/2, y = sin(x); z = log(abs(y)+10)

-Intructiunile prea lungi se pot scrie pe mai multe linii. La sfarsitul unei

linii se foloseste “…”

>> x = 1/3 + 3*sin(pi/13) + …

cos(pi/22) + asin(0.34)

4.2. Introducerea functiilor si comenzilor - continuare

NotiuniNotiuni utile:utile:

-Instructiunile utilizate anterior pot fi reapelate folosind tastele “↑” si “↓”

-Continutul ferestrei Command Window se sterge cu comanda “clc” sau “home”

-Formatul numeric in Command Window este controlat de functia “format”

>> format short

>> x = 4/3

x =

1.3333

>>format short e

>> x = 4/3

x =

1.3333e+000

4.2. Introducerea functiilor si comenzilor - continuare

NotiuniNotiuni utile:utile:

>> format long

>> x = 4/3

x =

1.33333333333333

>>format long e

>> x = 4/3

x =

1.33333333333333e+000

>> format loose (afiseaza liniile vide)

>> x = 4/3

x =

1.33333333333333e+000

>> format compact (suprima liniile vide)

>> x = 4/3

x =

1.33333333333333e+000

4.3. Inregistrarea unei sesiuni de lucru

NotiuniNotiuni utile:utile:

Comanda “diary” permite inregistrarea intr-un fisier pe disc a uneisesiuni de lucru

>> diary(‘mai_02.out’);

>> x = 1/3

x =

0.3333

>>y = x^2

y =

0.1111

>> diary off

x = 1/3

x =

0.3333

y = x^2

y =

0.1111

diary off

mai_02.out

4.4. Utilizarea functiei Help

Afisează în Command Window o listă si o scurtă descriere pentru toate functiile a căror scurtă descriere include cuvântul cheie specificat

lookfor

Afisează în fereastra Help o listă a tuturor functiilor ce permit acces la M-file helphelpwin

Deschide fereastra Help helpbrowser, helpdesk

Afisează M-file help în Command Window pentru functia specificatăhelp

Afisează pagina de referintă pentru functia specificată în fereastra Help, furnizând informatii despre sintaxă, descriere, exemple si link-uri la functii similare

doc

DescriereFunctia

4.4. Utilizarea functiei Help - exemple

>> help trace

TRACE Sum of diagonal elements.

TRACE(A) is the sum of the diagnonal elements of A, which is

also the sum of the eigenvalues of A.

>> lookfor sqrt

SQRT Square root.

SQRTM Matrix square root.

4.5. Spatiul de lucru MATLAB (MATLAB Workspace)

NotiuniNotiuni utile:utile:

- MATLAB Workspace contine ansambul variabilelor utilizate intr-o sesiune de lucru

- Lista variabilelor existente se afiseaza folosind comenzile ”who” si “whos”:

>> clear

>> a = 3; b = 2;

>> who

Your variables are:

a b

>> whos

Name Size Elements Bytes Density Complex

a 1 by 1 1 8 Full No

b 1 by 1 1 8 Full No

Grand total is 2 elements using 16 bytes

4.5. Spatiul de lucru MATLAB - continuare

NotiuniNotiuni utile:utile:

-Comanda “exist” testeaza daca o anumita variabila exista in MATLAB Workspace

>> exist(‘a’)

ans =

1

-Variabilele se sterg cu comanda “clear”

>> clear a (sterge variabila a)

>> clear (sterge toate variabilele)

4.6. Operatii cu fisiere

Execută comezi ale sistemului de operare!

Sterge fisiere din directorul curent sau obiecte graficedelete

Listează fisierele si subdirectoarele din directorul curentdir, ls

Afisează directorul curent pwd

Schimbă directorul curentcd

DestinatiaFunctia

4.6. Operatii cu fisiere - exemple

Schimbarea directorului de lucru

>> cd C:/111A

ans =

C:\111A

Afisarea continutului directorului de lucru

>> dir

. .. algoritm1.m mai_02.out

Stergerea fisierelor din directorul de lucru

>> delete mai_02.out

Afisarea continutului directorului de lucru

>> ls

. .. algoritm1.m

4.7. Functii de manipulare a datei si orei

Afisează timpul scurs între cele două comenzitic, toc

Afisează timpul scurs în secunde etime

Afiseaza CPU time în secunde de când a fost lansat MATLAB cputime

Afisează calendarul lunii curentecalendar

Indică data curentă ca sir de caractere de tip datădate

Indică data curentă si ora ca vector de tip datăclock

DescriereFunctie

4.7. Functii de manipulare a datei si orei - exemple

>> date

ans =

7 – Mar – 6

>> tic, A = rand(100, 100); toc

elapsed_time =

0.0600

5. Reprezentarea graficelor5.1. Reprezentarea graficelor 2D

TrasareTrasarex = 0:pi/100:2*pi;

y = sin(x);

plot(x, y);

5.1. Reprezentarea graficelor 2D - continuare

EtichetareEtichetarexlabel('x = 0:2.pi');

ylabel('sin( x)');

title('Graficul funcţiei sinus','FontSize',15);

grid on;

5.2. Functii de reprezentare grafica 2D

Grafice 2D, de reprezentare a poligoanelorfill

Grafice 2D, reprezentare cu ariiarea

Grafice 2D, reprezentare în scarăstairs

Grafice 2D, reprezentare cu bare orizontalebarh

Grafice 2D, reprezentare cu bare bar

Grafice 2D pentru seturi de date discrete stem

Grafice cu etichetare pe partea dreaptă si stângă plotyy

Grafice 2D cu scară logaritmică pe axa Y si scară liniară pe axa Xsemilogy

Grafice 2D cu scară logaritmică pe axa X si scară liniară pe axa Ysemilogx

Grafice 2D cu scară logaritmică pe ambele axe X si Yloglog

Grafice 2D cu scară liniară pe ambele axe X si Yplot

DestinatiaFunctia

5.2. Functii de reprezentare grafica 2D - exemple

TrasareTrasarex = 0:pi/20:2*pi;

y = sin(x);

stem(x, y);

5.2. Functii de reprezentare grafica 2D - exemple

TrasareTrasarex = 0:pi/20:2*pi;

y = sin(x);

bar(x, y);

5.2. Functii de reprezentare grafica 2D - exemple

TrasareTrasarex = 0:pi/20:2*pi;

y = sin(x);

stairs(x, y);

5.3. Reprezentarea graficelor 3D5.3.1. Reprezentarea suprafetelor

Creare de obiecte tip suprafatăsurface

Trasare de suprafete luminate dintr-o anumită directiesurfl

Trasare de suprafete în plan (valoare proportională cu culoarea)pcolor

Trasare de suprafete cu perdea verticalămeshz

Trasare de suprafete cu contur dedesubtmeshc, surfc

Trasare de suprafete mesh, surf

ActiuneFunctia

5.3.1. Reprezentarea suprafetelor - exemple

TrasareTrasare[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2) + eps;

Z = sin(R)./R;

mesh(X, Y, Z);

5.3.1. Reprezentarea suprafetelor - exemple

TrasareTrasare[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2) + eps;

Z = sin(R)./R;

surf(X, Y, Z);

5.3.1. Reprezentarea suprafetelor - exemple

TrasareTrasare[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2) + eps;

Z = sin(R)./R;

meshc(X, Y, Z);

5.3.1. Reprezentarea suprafetelor - exemple

TrasareTrasare[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2) + eps;

Z = sin(R)./R;

surfc(X, Y, Z);

5.3.1. Reprezentarea suprafetelor - exemple

TrasareTrasare[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2) + eps;

Z = sin(R)./R;

meshz(X, Y, Z);

5.3.1. Reprezentarea suprafetelor - exemple

TrasareTrasare[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2) + eps;

Z = sin(R)./R;

pcolor(X, Y, Z);

5.3.1. Reprezentarea suprafetelor - exemple

TrasareTrasare[X,Y] = meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2) + eps;

Z = sin(R)./R;

surfl(X, Y, Z);

5.4. Configurarea si salvarea graficelor5.4.1. Ferestre de tip figure

InformatiiInformatii utileutile-MATLAB traseaza grafice in

ferestre de tip figure-Daca exista mai multe ferestre

figure graficul curent este

afisat in fereastra figure activa

-Daca nu exista nici o fereastra

figure deschisa MATLAB

creaza automat una in

momentul afisarii unui grafic

5.4.2. Reprezentări multiple în acelaşi sistem de coordonate

TrasareTrasarex = 0:pi/100:2*pi;y1 = sin(x);

y2 = sin(x-.25);

plot(x, y1, x, y2)legend('sin(x)', 'sin(x-.25)')

5.4.3. Adăugarea unor curbe la grafice existente

TrasareTrasare[x, y, z] = peaks;pcolor(x, y, z);

shading interp;

hold on;contour(x, y, z, 20, 'k');

hold off;

5.4.4. Reprezentări grafice multiple pe o figură

TrasareTrasare[X,Y,Z] = peaks;subplot(2, 2, 1); mesh(X);

subplot(2, 2, 2); mesh(Y);

subplot(2, 2, 3); mesh(Z);subplot(2, 2, 4); mesh(X, Y, Z);

5.4.5. Specificarea tipului de linie şi culoarea

TrasareTrasarex = 0:pi/100:2*pi;y = sin(x);

plot(x, y, 'y+')

y yellow . point

m magenta o circle

c cyan x x-mark

r red + plus

g green - solid

b blue * starw white : dotted

k black -. dashdot

-- dashed

5.4.6. Controlul axelor

SetareaSetarea limitelorlimitelor axeloraxeloraxis([xmin xmax ymin ymax])

SetareaSetarea aspectuluiaspectului axeloraxelor

axis squareaxis equal

axis auto normal

Setarea vizibilitSetarea vizibilităăţţii axelorii axelor

axis on

axis off

5.4.7. Setarea gridului

SetareaSetarea limitelorlimitelor axeloraxelorgrid ongrid off

5.4.8. Etichetarea axelor şi a titlului

t = -pi:pi/100:pi;y = sin(t);

plot(t, y)

axis([-pi pi -1 1])

xlabel('-pi < t < pi')ylabel('sin(t)')

title('Graficul functiei sinus')

text(1,-1/3,'Functia sinus')

top related