Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Functii Matlab
Cuprins
1. Generarea unei retele (mesh) 2
2. Aproximarea cu fractii continue (rat) 3
3. Functia putere (pow2, ^) 4
4. Functia radical (sqrt) 5
5. Functia logaritm (log, log2, log10) 6
6. Functia exponentiala (exp(a)) 7
7. Aproximarea cu numere intregi (fix, floor, ceil, round) 8
8. Aproximarea cu numere rationale (rats) 9
9. Cel mai mare divizor comun (gcd) 10
10. Cel mai mic multiplu comun (lcm) 10
Generarea unei retele (mesh)
Functia meshgrid transforma domeniul specificat prin vectorii x si y in tablourile X si Y care pot fi folosite atat pentru evaluarea functiilor de doua variabile cat si pentru reprezentari 3D de tipul mesh sau surface.
Se apeleaza cu unu dintre sintaxele :
[ X, Y] = meshgrid ( x, y) [ X, Y] = meshgrid (x)
si returneaza datele in tablourile X si Y, care sunt copii ale vectorului x si ale vectorului y. Cu alte cuvinte, functia meshgrid returneaza in tablourile X si Y perechile de coordonate ale tuturor punctelor din domeniul definit de vectorii x si y. Pentru exemplificare vezi figura (1).
Fig(1) Mesh-ul rezultat prin divizarea domeniului xy.
Exemplul (1): Sa se genereze tablourile X si Y pentru domeniul:
-2 ≤ x ≤ 2, -2 ≤ y ≤ 3
Cu pasul 2 pe axa Ox si pasul 1 pe axa Oy.
Cu instrunctiunea:
[X, Y] = meshgrid (-2: 2:2, -2: 2)
Se obtine rezultatul:
Functia MATLAB rat aproximeaza un numar cu fractii continue; se apeleaza cu una dintre sintaxele:
y=rat(x) [a, b]=rat(x)fgds
y=rat(x, tol) [a, b]=rat(x, tol)
unde:
x - este numarul care trebuie aproximat cu fractii continue;
tol - este toleranta care se accepta intre numarul x si numarul y (y-x<=tol);
implicit, tol=
y - exprimarea lui x ca fractie continua;
a si b - numaratorul si numitorul fractiei care aproximeaza pe x cu un numar de forma:
Exemplul (2.1): Sa se aproximeze cu fractii continue numerele :
0.25 , 1.25 , -2.25 si 1.343. Cu secventa MATLAB
rat( [ 0.251.25-2.251.343
se obtine rezultatul:
0 + 1/(4)
1 + 1/(4)
-2 + 1/(4)
1 + 1/(3 + 1/(-12 +1/(6)))
Exemplul(2.2): Sa se aproximeze prin fractii rationale numerele:2.25, 3.5, 6.57, 10. Se inscriu aceste numere intr-un vector si se aplica functia rat, ca in secventa de mai jos:
X=[2.253.56.57 10];
[A, B]=rat(X)
obtinandu-se rezultatul:
X=[2.253.56.5710]
A=[9 7 65710]
B=[421001]
MATLAB-ul dispune de doua functii pentru ridicarea la putere:
pow2 - pentru a ridica 2 la puterea n (2n);
- pentru a ridica un numar la puterea n (x=an).
Se apeleaza cu sintaxele:
y=pow2(x) calculeaza numarul y=2x.Daca x este o matrice ,y va fi o matrice de aceleasi
dimensiuni cu elementele calculate dupa aceasta regula, functia actionand
element cu element;
y=pow2(m,n) calculeza numarul y=m*2n;
x=a^n calculeaza puterea n a numarului a, x=an. Exponentul n poate avea orice
valoare reala sau complexa. Pentru calculul radicalului de ordinul n dintr-un
numar a, se utilizeaza functia putere sub forma: x=a1/n.
Functia nextpow2 avand ca argument scalarul P, se apeleaza cu sintaxa:
N=nextpow2(P)
si returneaza cel mai mic numar natural N astfel incat
Daca P este vector, functia returneaza scalarul N,astfel incat 2N majoreza numarul
de elemente ale vectorului.
Exemplul(3.1): Sa se calculeze: A=[23 25 213,5].
Cu secventa:
A=[pow2(3)pow2(5)pow2(13.5)]
rezulta:
A=1.0e+004*
0.00080.00321.1585
adica: A=[83211585]
Exemplul(3.2) : Sa se efectueze aceleasi calcule ca la punctul anterior , utilizand operatorul de ridicare la putere ^.
Cu secventa:
A=[2^3 2^5 2^13.5]
se obtin aceleasi rezultate.
Exemplul(3.3) :Sa se calculeze: x
Cu secventa:
x=125^(1/3)
se obtine:
x=5.0000
Calculul radicalului de ordinul 2 dintr-un numar, x= , poate utiliza functia putere,sau functia sqrt, apelata cu sintaxa: x=sqrt(a).
Argumentul a poate fi orice numar real sau complex. Daca numarul a este negativ sau complex, rezultatul calculului este un numar complex.
Exemplul(4.1): Sa se calculeze radicalul fiecarui element al matricei:
Cu secventa de instructiuni:
X=[1 2; 4 -9];
C=sqrt(X)fsad
se obtine rezultatul:
Calculul logaritmului natural al logaritmului in baza 2 sau al logaritmului in baza 10 al unui numar a utilizeaza functiile log , log2 , respectiv log10,apelate cu sintaxele:
X=log(a) x=log2(a) x=log10(a)
Exemplul(5.1): Sa se calculeze logaritmul natural si zecimal din numerele e2 si 100.
Cu secventa:
X1=[log(exp(2)) log(100)] ggfdhhtryed
X2=[log10(exp(2)) log10(100)]
sau: A=[exp(2)100];
X1=log(A)
X2=log10(A)
se obtine rezultatul:
X1=[2.0000 4.6052]
X2=[0.8686 2.0000]
Exemplul(5.2): Sa se calculeze logaritmul in baza 2 al elementelor matricei:
A=[42382 10].
Cu secventa:
A=[4 2^3 8^2 10]
X=log2(A) fdgdsdfsfsf
se obtine rezultatul:
Calculul exponentialei: x=ea(unde e=2.71828182845), foloseste functia exp, apelata cu sintaxa:
x=exp (a)
Daca argumentul este un numar complex z=x+iy ,rezultatul este calculat cu relatia:
Exemplul(6.1):Sa se calculeze: e , e2 si e-3.
Cu secventa:
x=[exp(1) exp(2) exp(-3)]
A=[1 2 -3]; jfhfjffhtrtyd
sau:
X=exp (A)
se obtine rezultatul:
X=[2.7183 7.3891 0.0498] .
Functiile MATLAB folosite pentru aproximarea cu numere intregi sunt: fix, floor, ceil, round. Aceste functii opereaza asupra fiecarui element al unei matrice sau al unui vector si se apeleaza cu sintaxa:
nume_functie(argument)
unde:
nume_functie este numele uneia dintre functiile de mai sus;
argument poate fi un scalar, un vector sau o matrice, ale caror elemente se doresc a fi rotunjite.
Exemplul(7.1):Sa se rotunjeasca elementele vectorului:
V=
la cel mai apropiat intreg;
la cel mai apropiat intreg spre 0;
la cel mai apropiat intreg spre
la cel mai apropiat intreg spre
Sa se determine semnul elementelor vectorului V.
Cu secventa de instructiuni:
V=[0 2 2.3 4.7 -5.2 -7.8];
A=round(V)
B=fix(V)
C=ceil(V)
D=floor(V)
E=sing(V)
se obtin rezultatele:
A=[0 2 2 5 -5 -8]
B=[0 2 2 4 -5 -7]
C=[0 2 3 5 -5 -7]
D=[0 2 2 4 -6 -8]
E=[0 1 1 1 -1 -1]
Functia MATLAB rats realizeaza aproximarea cu numere rationale; se apeleaza cu una dintre sintaxele:
y= rats (x) y=rats(x, 's')
Argumentele de intrare 's' determina afisarea rezultatului simbolic intr-o matrice sir.
Exemplul(8.3): Sa se aproximeze cu numerele rationale, numerele:1.25, 0.25, si 1.2596.
Cu secventa:
X= [1.250.25 pi1.2596];
Y=rats(X)
se obtin rezultatele:
Y=[5/41/4 355/113820/651]
Functia MATLAB gcd calculeaza cel mai mare divizor comun a doua numere intregi; se apeleaza cu sintaxa:
a= gcd(x, y)
Exemplul(9.1):Sa se determine cel mai mare divizor comun al numerelor:30 si 21.
Cu secventa:
a=gcd(30, 21)
rezulta:
a=3
Functia MATLAB lcm returneaza cel mai mic multiplu comun a doua numere intregi.Se apeleaza cu sintaxa:
a=lcm(x, y)
Exemplul(10.2): Sa se determine cel mai mic multiplu comun al numerelor: 9 si 30. Cu secventa:
a=lcm(9, 30)
rezulta:
a=90
Copyright © 2024 - Toate drepturile rezervate