Documente Academic
Documente Profesional
Documente Cultură
CAPITOLUL 7
FUNCII
7.1. Funcii matematice
Mathcad-ul este dotat cu o bogat bibliotec de funcii implicite.
Aceste funcii pot fi explorate i introduse n foia de lucru cu ajutorul
comenzilor prezentate la paragraful 5.3 (figurile 5.8, 5.9).
n continuare se prezint unele dintre cele mai utilizate funcii
coninute n biblioteca implicit din Mathcad.
Funcii trigonometrice
Tab. 7.1
Funcia
1.
angle(x,y)
2.
3.
4.
5.
cos(x)
sin(x)
tan(x)
cot(x)
6.
sec(x)
7.
csc(x)
8.
acos(x)
9.
asin(x)
10.
atan(x)
11.
atan2(x)
Aciune
ntoarce valoarea pozitiv (n radiani) a
unghiului dintre axa 0-x i punctul de
coordonate (x,y)
ntoarce valoarea cosinusului pentru x
ntoarce valoarea sinusului pentru x
ntoarce valoarea tangentei pentru x
ntoarce valoarea cotangentei pentru x
ntoarce valoarea secantei pentru x
(sec(x)=1/cos(x))
ntoarce valoarea cosecantei pentru x
ntoarce valoarea unghiului a crui cosinus
este x
ntoarce valoarea unghiului a crui sinus este
x
ntoarce valoarea unghiului a crui tangent
este x
ntoarce valoarea pozitiv (n radiani)a
unhgiului dintre axa axa 0-x i punctul de
coordonate (x,y)
56
Funcii
Funcii exponeniale
Tab. 7.2
Funcia
1.
exp(x)
2.
ln(x)
3.
log(x, [b])
Aciune
ntoarce valoarea constantei e ridicat la
puterea x
ntoarce valoarea logaritmului natural din x
ntoarce valoarea logaritmului de baz b din
x (dac b lispete, se ntoarce valoarea
logaritmului zecimal)
arg(x)
2.
csgn(x)
3.
Im(x)
4.
Re(x)
5.
signum(x)
Aciune
ntoarce valoarea unghiului, din planul
complex, ntre axa real i x
ntoarce valoarea nul dac x = 0, valoarea 1
dac Re(x) > 0 sau dac (Re(x) = 0 i Im(x)
> 0) i valoarea 1 n celelalte cazuri
ntoarce valoarea imaginar a numrului
complex x
ntoarce valoarea real a numrului complex
x
ntoarce valoarea 1 dac x = 0 i x/|x| n
celelalte cazuri
Funcii de rotunjire
Tab. 7.4
Funcia
1.
ceil(x)
2.
floor(x)
3.
round(x, n)
5.
trunc(x)
Aciune
ntoarce valoarea celui mai mic ntreg mai
mare sau egal cu x
ntoarce valoarea celui mai mare ntreg mai
mic sau egal cu x
ntoarce valoarea numrului x rotunjit cu n
zecimale
ntoarce partea ntreag a numrului x
57
Funcii logice
Tab. 7.5
Funcia
1.
if(cond, a, b)
2.
(a, b)
3.
(i, j, k)
5.
(x)
6.
sign(x)
Aciune
ntoarce valoarea a, dac condiia cond este "true"
i valoarea b dac condiia cond este "false"
funcia delta a lui Kronecker, ntoarce valoarea 1
dac a = b i valoarea 0 n rest (a i b ntregi)
tensorul antisimetric complet de rangul trei (i, j, k
trebuie s fie ntregi i cuprinse ntre 0 i 2),
ntoarce valoarea 0 dac sunt dou argumente
egale, valoarea 1 pentru permutri pare i -1
pentru permutri impare
funcia lui Hearviside, ntoarce 1 dacx este mai
mare sau egal cu 0 i 0 n rest
ntoarce valoarea 0 dac x = 0, valoarea 1 dac x
> 0 i -1 n rest
combin(n, k)
2.
permut(n, k)
3.
4.
5.
gcd(A)
lcm(A)
mod(x, y)
Aciune
ntoarce numrul combinaiilor de n luate cte k,
n i k ntregi, cu n cuprins ntre 0 i k
ntoarce numrul permutrilor de n luate cte k, n
i k ntregi, cu n cuprins ntre 0 i k
ntoarce cel mai mare divizor comun
ntoarce cel mai mic multiplu comun
ntoarce valoarea restului mpririi lui x cu y
58
Funcii
Funcii speciale
Tab. 7.7
Funcia
Aciune
1.
erf(x)
2.
erfc(x)
3.
fhyper(a, b, c, x)
4.
(x)
5.
(x, y)
6.
Her(n, x)
7.
ibeta(a, x, y)
8.
Jac(n, a, b, x)
9.
Lag(n, x)
10.
Leg(n, x)
11.
mhyper(a, b, x)
12.
Tcheb(n, x)
13.
Ucheb(n, x)
59
Aciune
1.
cfft(A)
2.
icfft(A)
3.
fft(v)
4.
ifft(v)
5.
CFFT(A)
6.
ICFFT(A)
7.
FFt(v)
8.
IFFT(v)
Funcii
cols(A)
2.
last(v)
3.
length(v)
4.
max(A)
5.
min(A)
6.
rows(A)
7.
diag(v)
8.
geninv(A)
9.
identity(n)
10.
tr(M)
11.
augment(A, B)
Aciune
ntoarce numrul coloanelor matricei A, dac A
este scalar, ntoarce valoarea 0
ntoarce valoarea indexului ultimului element al
vectorului v
ntoarce numrul de elemente al vectorului v
ntoarce elementul cu valoare maxim din
matricea A, dac A are elemente imaginare se
ntoarce cea mai mare parte real adunat cu de
i ori cea mai mare parte imaginar
ntoarce elementul cu valoare minim din
matricea A, dac A are elemente imaginare se
ntoarce cea mai mic parte real adunat cu de i
ori cea mai mic parte imaginar
ntoarce numrul liniilor matricei A, dac A este
scalar, ntoarce valoarea 0
ntoarce o matrice diagonal ce conine pe
diagonal elementele vectorului v
ntoarce matricea invers stng a lui A astfel
nct L - A = I
ntoarce o matrice de n x n elemente nule cu
elemente unitare pe diagonal
ntoarce suma elementelor diagonale ale
matricei M
ntoarce un tablou format prin plasarea matricei
B la dreapta matricei A, cele dou matrice
avnd acelai numr de linii
61
matrix(m, n, f)
13.
stack(A, B)
14.
submatrix(A,
ir, jr, ic, jc)
15.
isolve(A, v)
16.
cholesky(A)
17.
lu(A)
18.
csort(A, n)
19.
reverse(A)
20.
sort(v)
Aciune
creeaz o matrice n care fiecare element i,j este
calculat cu f(i,j) cu i = 0m-1 i j = 0n-1
ntoarce un tablou format prin plasarea matricei
B sub matricea A, cele dou matrice avnd
acelai numr de coloane
ntoarce o matrice coninnd toate elementele de
la rndul ir pn la rndul jr i de la coloana ic
pn la coloana jc
ntoarce un vector soluie x astfel nct A*x = v
ntoarce cea mai mic matrice triunghiular L
astfel nct L*LT = A
ntoarce o matrice unic ce conine trei matrice
ptrate P, L, i U, toate cu aceeai mrime ca i
A, unite mpreun una lng alta i satisfcnd
condiia P*A=L*U
ntoarce un tablou format prin rearanjarea
rndurilor matricei A, astfel nct elementele din
coloana n s fie ordonate cresctor
ntoarce o matrice obinut prin inversarea
ordinii rndurilor matricei A
ntoarce vectorul v cu elementele ordonate
cresctor
Funcii
foia de lucru de definirea unei valori iniiale pentru x. Funcia face evaluri
succesive i ntoarce rezultatul n momentul n care dou evaluri sunt mai
apropiate de valoarea variabilei implicite Tol.
Mathcad-ul include o serie de rutine deosebit de eficiente pentru
rezolvarea sistemelor liniare i optimizare. Pot fi tratate urmtoarele tipuri
de probleme:
- sisteme liniare de ecuaii cu egaliti sau cu inegaliti;
- sisteme neliniare de ecuaii;
- optimizarea unei funcii obiectiv (maximizare sau minimizare);
- optimizarea unei funcii obiectiv pornind de la condiii iniiale;
n funcie de varianta programului Mathcad numrul de
necunoscute variaz: pentru varianta profesional maximum 200 de
variabile n sisteme neliniare i maximum 500 de variabile n sisteme liniare
Metoda optim de a optimiza sistemele de ecuaii este de ale
introduce ntr-un "bloc de optimizare".
Un bloc de optimizare poate fi creat prin parcurgerea a patru etape:
- Furnizarea unei valori iniiale previzionate pentru fiecare dintre
necunoscute. Mathcad-ul rezolv ecuaiile pe cale iterativ, cutnd o
convergen ctre soluia corect. Furnizarea unei valori iniiale constituie
punctul de plecare pentru procesul iterativ.
- Introducerea cuvntului Given, ntr-o regiune matematic
separat, amplasat sub valorile iniiale ale necunoscutelor.
- Introducerea condiiilor iniiale sub cuvntul Given, folosind
operatorii booleeni.
- Introducerea ecuaiilor ce include una dintre funciile de
optimizare (prezentate n tabelul 7.10) sub condiii.
n procesul de rezolvare Mathcad-ul urmrete ncadrarea n dou
tolerane:
- tolerana de convergen, se calculeaz valorile succesive pn
cnd diferena dintre dou valori este mai mic dect valoarea variabilei
implicite Tol;
- tolerana impus de condiiile iniiale, determinat de valoarea
variabilei implicite Ctol.
Ca i n cazul integrrii numerice i n rezolvarea ecuaiilor
Mathcad-ul folosete o serie de metode aproximative, alegerea metodei
optime fiind implicit. Dac se dorete impunerea unui anumit algoritm de
rezolvare, se poate valida opiune corespunztoare n meniul contextual
accesibil prin click dreapta-mouse pe blocul de optimizare
63
Funcii de optimizare
Tab. 7.10
Funcia
Aciune
1.
2.
3.
4.
Minerr(x0, x1..)
corr(A, B)
2.
cvar(A, B)
3.
gmean(A)
4.
hist(int, A)
5.
hmean(A)
6.
mean(A)
Aciune
ntoarce coeficientul de corelaie Pearsons
pentru tablourile A i B
ntoarce covariantul elementelor tablourilor A i
B
ntoarce media geometric a elementelor
tabloului A
ntoarce un vector ce reprezint frecvena cu car
valorile din A se regsesc n intervalele
reprezentate de vectorul int
ntoarce media armonic a elementelor tabloului
A
ntoarce media aritmetic a elementelor
tabloului A
64
Funcii
mode(A)
8.
stdev(A)
9.
Stdev(A)
10.
var(A)
11.
Var(A)
Aciune
ntoarce valoarea tabloului A cu frecvena de
apariie cea mai mare
ntoarce deviaia standard de populaie pentru
elementele tabloului A
ntoarce deviaia standard etalon pentru
elementele tabloului A
ntoarce
variaia
populaiei
elementelor
tabloului A
ntoarce variaia etalon pentru elementele
tabloului A
65
Funcii de interpolare
Tab. 7.12
Funcia
1.
bspline(vx, vy, u, n)
2.
cspline(vx, vy)
3.
4.
linterp(vx, vy, x)
5.
lspline(vx, vy)
6.
predict(v, p, q)
7.
pspline(vx, vy)
Aciune
ntoarce un vector al coeficienilor unei
curbe spline de grad n, utilizat n funcia
interp
ntoarce un vector al coeficienilor unei
curbe spline cubice, utilizat n funcia interp
ntoarce
valoarea
interpolat
y
corespunztoare argumentului x, vs este un
vector cu rezultate intermediare obinute
prin evaluri bspline, cspline, lspline sau
pspline
utilizeaz datele din vectoriivx i vy pentru a
ntoarce o valoare interpolat liniar y
corespunztoare argumentului x
ntoarce un vector al coeficienilor unei
curbe spline cubice, utilizat n funcia interp
ntoarce q valori prezise pe baza a p valori
consecutive din vectorul v
ntoarce un vector al coeficienilor unei
curbe spline cubice, utilizat n funcia interp
intercept(vx, vy)
2.
slope(vx, vy)
Aciune
ntoarce un scalar y, obinut prin metoda
celor mai mici ptrate pe baza datelor din vx
i vy
ntoarce un scalar - panta, obinut prin
metoda celor mai mici ptrate pe baza
datelor din vx i vy
66
Funcii
3.
Funcia
Aciune
stderr(vx, vy)
Aciune
1.
regress(vx, vy, n)
2.
linfit(vx, vy, F)
2.
Aciune
ntoarce un vector coninnd coeficienii
folosii pentru a crea o combinaie liniar de
funcii F care s aproximeze cel mai bine
datele din vectorii vx i vy
ntoarce parametrii pentru cea mai bun
aproximare a funiei F n punctele date de
vectorii vx, i vy, vg este un vector cu
elemente predicionate
Funcii
lsArray(x)
2.
lsScalar(x)
3.
lsString(x)
4.
5.
error(S)
6.
num2str(x)
7.
str2vec(S)
8.
search(S, S1, n)
9.
strien(S)
Aciune
ntoarce 1 dac x este o matrice sau un
vector i 0 n rest
ntoarce 1 dac x este un numr real
sau complex i 0 n rest
ntoarce 1 dac x este un ir de
caractere i 0 n rest
ntoarce un ir de caractere obinut prin
concatenarea argumentelor
ntoarce un ir sub forma unui mesaj de
eroare
ntoarce un ir de caractere obinut prin
convertirea numrului real sau complex
x n valoare decimal
ntoarce un vector de coduri ASCII
corespunztoare caracterelor din irul S
ntoarce poziie de nceput a subirului
S1 din irul S, ncepnd cu poziia n
ntoarce numrul de caractere din irul
S
69
READPRN(file)
2.
3.
WRITEPRN(file)
APPENDPRN(file)
4.
READBMP(file)
5.
READRGB(file)
6.
WRITEBMP(file)
7.
WRITERGB(file)
8.
READ_IMAGE(file)
9.
LoadColormap(file)
10.
SaveColormap(file)
Aciune
citete un fiier de date structurate i
ntoarce o matrice
scrie un fiier pornind de la o matrice
adaug o matrice la un fiier existent
creeaz
o
matrice
coninnd
reprezentarea unei imagini alb-negru n
format BMP
creeaz
o
matrice
coninnd
reprezentarea unei imagini n culori n
format BMP
creeaz o imagine alb-negru BMP
pornind de la o matrice
creeaz o imagine color BMP pornind
de la o matrice
creeaz o matrice pornind de la un
fiier de imagine tip BMP, JPG, GIF
etc.
ntoarce un tablou coninnd valorile
din fiierul colormap
creeaz un fiier tip colomap pornind
de la informaiile coninute ntr-o
matrice cu trei coloane.
70