You are on page 1of 3

1

Laborator 1 - Introducere n Mathematica


In cele ce urmeaz
a, paragrafele/rndurile care ncep cu simbolul contin
explicatii iar cele care ncep cu aliniat contin expresii/comenzi Mathematica.
Orice comand
a Mathematica are asociata o pagina de Help, pagina care
poate fi accesat
a select
and numele comenzii (fara parantezele drepte si
interiorul lor) si ap
as
and F1. Pentru fiecare comanda Mathematica
prezentata mai jos consultati pagina de Help asociata avand n vedere mai
ales exemplele (interactive) incluse.
Spatiul de lucru dintr-un document (fisier) Mathematica este mpartit n
asa-numite celule (cells), mp
artirea propriu-zisa fiind pusa n evidenta n
partea dreapt
a a ecranului.
Celulele ce contin expresii/comenzi introduse de utilizator se evalueaza folosind
Shift+Enter, n urma evalu
arii primind eticheta In (de la Input),
eticheta ce apare n partea st
ang
a a ecranului. Rezultatul/rezultatele evaluarii
apar n casute de tip Output care primesc eticheta Out. Etichetele In si
Out sunt numerotate n ordinea n care s-a facut evaluarea.
Celulele de tip Input pot fi oric
and modificate si reevaluate folosind din nou
Shift+Enter, c
asutele de Output corespunzatoare reflectand rezultatul
reevaluarii.
Definirea unui vector se face folosind o pereche de acolade, elementele fiind
separate prin virgule:
v = {1,-2,3}
Numarul de elemente ale vectorului se poate determina folosind comanda
Length:
Length[v]
O matrice in Mathematica este un vector a carui elemente sunt vectorii ce
contin elementele de pe liniile matricei:
M = {{1, 3, -4}, {0, 4, 2}, {5, -7, 1}}
Pentru a vizualiza forma real
a a matricei se poate proceda astfel:
MatrixForm[M]
Alternativ, pentru definirea unei matrice se poate accesa din bara de meniu
tab-ul Input, select
and apoi Create Table/Matrix/Palette.
Elementul de pe linia i si coloana j a matricei este M[[i, j]]:
M[[1, 3]]
Numarul n1 de linii si num
arul n2 de coloane ale matricei M se pot
determina folosind comanda Dimensions:
{n1, n2} = Dimensions[M]
Calculul determinantului si a inversei lui M se pot face astfel:
Det[M]
Mi = Inverse[M]; MatrixForm[Mi]
Inmultirea unei matrice cu un vector se face folosind punctul:

2
M.v
Rezolvarea sistemului de ecuatii liniare M x = v se poate face folosind
comanda LinearSolve:
LinearSolve[M, v]
Rezolvarea unui sistem alc
atuit din de ecuatiile (nu neaparat liniare)
f 1(x1, x2, ...xn) = 0, f 2(x1, x2, ...xn) = 0, ...f m(x1, x2, ...xn) = 0 se poate
face folosind comanda Solve (forma generala - nu introduceti n program):
Solve[{f1(x1,x2,...xn)==0, f2(x1,x2,...xn)==0, ...,
fm(x1,x2,...xn)==0}, {x1,x2,...xn }]
Exemplu: Sistemul format din ecuatiile 3x + y = 5, x + 2y = 0 poate fi
rezolvat folosind comanda Solve astfel:
Solve[{3*x + y - 5 == 0, x + 2*y == 0}, {x, y}]
Exemplul de mai sus poate fi rezolvat si folosind comanda LinearSolve,
obtinandu-se binenteles aceeasi solutie:
A = {{3, 1}, {1, 2}}; b = {5, 0}; LinearSolve[A,
b]


1
k
Exercitiu: Pentru valoare a lui k matricea A =
are
2 8
determinantul nul?
Indicatie: Se defineste matricea A, se calculeaza determinantul ei folosind
comanda Det si se rezolv
a folosind comanda Solve ecuatia care se obtine prin
anularea determinantului.
Definirea unei functii se face ad
augand la variabila o liniuta de subliniere:
f[x ] = Exp[x] + x2 + x + 1
In expresia de mai sus, puterea lui x se poate scrie folosind caciulita:
Shift+6 sau acces
and de pe bara de meniu tab-ul Palletes si apoi
selectand simbolul corespunz
ator din BasicMathAssistant/Calculator/Basic:
Evaluarea unei functii f (definite anterior) intr - un punct x0 dat se face
scriind f[x0]. De exemplu, valoarea functiei f definite mai sus in zero este:
f[0]
Calculul derivatei unei functii (definite anterior) se poate face automat
folosind apostroful:
f[x]
Reprezentarea grafic
a a unei functii de o variabila se face folosind comanda
Plot. In exemplul ce urmeaz
a intervalul pe care se face reprezentarea este [0,2]:
Plot[f[x], {x, 0, 2}]
Exercitiu: Calculati punctele critice ale functiei x3 - 3 x + 1. Folosind o
reprezentare grafic
a a functiei, precizati pentru fiecare punct critic n parte
daca este sau nu punct de extrem.
Indicatie: Se rezolv
a folosind comanda Solve ecuatia care se obtine prin
anularea derivatei.
O functie de dou
a variabile se poate defini de exemplu astfel :
g[x , y ] = Sin[x + y]
Reprezentarea grafic
a a functiei anterioare pentru x si y lund valori pe
intervalul [-10, 10] este:
Plot3D[g[x, y], {x, -10, 10}, {y, -10, 10}]

3
Secventa de algoritm :
Pentru i de la 1 la 10
Scrie i
se poate implementa folosind comenzile For si Print astfel:
For[i=1, i<=10, i++, Print[i]]
Aceeasi secventa de algoritm poate fi implementata folosind comanda Do:
Do[Print[i], {i, 1, 10}]
Aceeasi secventa implementat
a folosind comanda While:
i = 1; While[i <= 10, Print[i]; i++]
Exercitiu : Construiti folosind comenzile For, Do si While programe ce
calculeaza suma primelor 10 numere naturale nenule.
Comanda Module, cu sintaxa Module[{list
a variabile locale},
expresii/comenzi], permite creearea unor functi de tip procedura, ce se
definesc ca rezultat al unui sir de expresii/comenzi. In cadrul unui Module,
expresiile/comenzile succesive se despart prin ;, expresia ce da rezultatul
fiind cea care se g
aseste pe ultimul loc. Programul urmator asociaza sub forma
unei functii fiecarui num
ar natural n suma 1 + 2 + 3 + ... + n corespunzatoare:
suma[n ] := Module[{s = 0}, Do[s = s + i, {i, 1, n}]; s]
Pentru a implementa secventa de algoritm ce tipareste elementele matricei M
definite mai sus:
Pentru i de la 1 la 3
Pentru j de la 1 la 3
Scrie Mij
se poate folosi programul:
For[i=1, i<=3, i++,For[j=1, j<=3, j++, Print[M[[i, j]]]]]
Exercitiu : Construiti un program care tipareste doar elementele pozitive
ale matricei M folosind comanda If.
Indicatie: Secventa de algoritm:
Dac
a conditie atunci rezultat
se poate scrie n Mathematica astfel:
If[condit
ie, rezultat]).
Exercitiu : Algoritmii/programele de mai sus se pot folosi doar n cazul
unor matrice cu trei linii si trei coloane. Generalizati programul astfel ncat sa
poate fi aplicat unei matrice de orice dimensiuni.
Indicatie: Se poate folosi comanda Dimensions prezentata mai sus.
Comanda Manipulate permite construirea unei interfete grafice n cadrul
careia diversi parametrii pot fi modificati folosind slidere si butoane.
Urmatorul program Mathematica construieste o interfata grafica ce contine
graficul functiei sin(n x, n y), parametrul n fiind controlat de un slider ce ia
valori ntre 1 si 2 cu pasul 0.1:
Manipulate[Plot3D[g[n*x, n*y], {x,-3,3}, {y,-3,3}], {n,1,2,0.1}]
Interfata urm
atoare afiseaz
a suma de mai sus a primelor n numere naturale:
Manipulate[suma[n], {n,1,10,1}]
Exercitiu : Construiti o interfat
a grafica ce afiseaza produsul primelor n
numere naturale nenule.

You might also like