Professional Documents
Culture Documents
9. MathCAD
9. MathCAD....................................................................................................................................1
9.1. Prezentare general...............................................................................................................2
9.2. Descrierea ferestrei principale ..............................................................................................2
9.3. Calcul numeric......................................................................................................................6
9.3.1. Aplicaii n analiza matematic.....................................................................................6
9.3.2. Aplicaii n algebr........................................................................................................9
9.4. Calcul simbolic ...................................................................................................................13
9.4.1. Calcul simbolic n analiza matematic .......................................................................14
9.4.2. Calcul simbolic n algebr ..........................................................................................16
9.5. Reprezentri grafice............................................................................................................19
9.5.1. Funcii de o variabil ..................................................................................................19
9.5.2. Funcii de dou variabile.............................................................................................26
9.6. Lucrul cu fiiere..................................................................................................................30
9.7. Programare n MathCAD....................................................................................................34
9.7.1. Calcule directe ............................................................................................................34
9.7.2. Subprograme MathCAD .............................................................................................35
9.8. Aplicaii ..............................................................................................................................37
9.8.1. Rezolvarea ecuaiilor i inecuaiilor............................................................................37
9.8.2. Rezolvarea sistemelor de ecuaii.................................................................................40
9.8.3. Optimizri n MathCAD .............................................................................................41
1
Utilizarea calculatoarelor
2
MathCAD
3
Utilizarea calculatoarelor
n zona de editare regiunile pot fi: regiune de calcule (implicit), Text Region (comentarii),
regiune de grafice. Dac se suprapun dou regiuni, cu Separate Regions din sub-meniul Format,
aceste devin vizibile. Un comentariu se deschide cu semnul sau din sub-meniul Insert se
selecteaz Text Region. Pentru prsirea unei regiuni de text se face clic n afara acesteia sau se
folosesc sgeile direcionale.
n MathCAD se face distincie ntre literele majuscule i cele minuscule n zonele de calcul.
4
MathCAD
ntr-un document MathCAD calculele se fac de la stnga spre dreapta de sus n jos!
Se pot face calcule vectoriale i matriceale utiliznd MathCAD, fie numerice, fie simbolice.
Tabelul urmtor prezint operatorii aritmetici i tipul operanzilor.
5
Utilizarea calculatoarelor
Exemple.
a) Fie X , Y R n , atunci U = X+Y, V = X-Y.
b) Z = X*Y
c) fie A, B M m ,n ( K ) , K fiind R sau C. E = A + B, D = A-B.
d) fie A M m ,n ( K ), B M n , p ( K ) , atunci F=A*B.
Vom prezenta cteva aplicaii n analiza matematic i algebra liniar, care au o mare
frecven n activitile curente n inginerie, efectuate fr dificultate n MathCAD.
Calculul derivatelor unei funcii de o variabil: ntr-un document MathCAD dup definirea
funciei i precizarea punctului n care se dorete evaluarea derivatei, din paleta Calculus se alege
d
, dup care se precizeaz variabila n raport cu care se calculeaz deriata i apoi funcia. Dup
dx
semnul egal, MathCAD va afia valoarea derivatei. Analog pentru derivatele de ordin superior,
dn
ns de aceast dat se alege operatorul .
dx n
Exemple.
a) Pentru calculul derivatei de ordinul nti al funciei f ( x ) = arctg ( x ) , n punctul x = se
3
scrie urmtoarea secvent MathCAD:
d
f( x) := atan( x) x := f( x) = 0.477
3 dx
x2
1
b) pentru derivata de ordinul al treilea a funciei f ( x ) = e 2
cos( 2 x ) n punctul x = se scrie
2
secvena MathCAD:
2
x
2 1 d3
f( x) := e cos ( 3 x) x := f( x) = 30.638
2 3
dx
Calculul derivatelor pariale ale unei funcii de mai multe variabile
Pentru a aprea semnul se face clic cu butonul drept al mouse-ului deasupra operatorului
x
d
. Din meniul imediat care apare se selecteaz View Derivate As i de aici Partial Derivate.
dx
6
MathCAD
f( x , y) := atan
y x := 1 y := 2
x
f( x , y) = 0.4 f( x , y) = 0.2
x y
2
f( x , y) = 0.16 f( x , y) = 0.12
2
x x y
2 2
f( x , y) = 0.16 f( x , y) = 0.032
2 2
y x y
b
Calculul integralelor definite se face utiliznd operatorul
a
. Se precizeaz funcia i
limitele se integrare.
Exemple.
3 x2
a) Pentru a calcula e
0
2
dx se scrie secvena MathCAD
3
x2
2
e dx = 1.25
0
Se pot de asemenea calcula integrale improprii convergente, ca n exemplele urmtoare:
dx
b) cu secvena
1 x (1 + x )
2
1
dx = 0.347
(
x 1 + x2
1
)
1
ln x
c)
0 1 x2
dx cu secvena
7
Utilizarea calculatoarelor
1
ln( x)
dx = 1.089
1x
2
0
MathCAD permite i calculul integralelor duble, dac domeniul de integrare este bine
precizat.
x2
Exemplu. S se calculeze D y 2 dxdy , unde D este domeniul mrginit de curbele
xy = 1 , x = 2 , y = x . Domeniul D se poate caracteriza i prin relaiile
1
D = ( x, y ) R 2 1 x 2 , y x .
x
n figura de mai jos, domeniul D este dat de triunghiul curbiliniu.
1
f( y) := g( y) := y h( y) := 2 l( y) := 1
y
Domeniul D
3
f ( y)
g ( y) 2
h ( y)
l( y) 1
0 5 10
y
Exemple.
x2 +1
a) S se calculeze limita stng n punctul x=2 pentru funcia f ( x) =
. Ca s se
x2
calculeze limita stng se folosete operatorul lim . Secvena MathCAD pentru acest caz este
a
8
MathCAD
2
x +1
lim
x 2 x 2
x3 + 4
b) S se calculeze limita dreapt n punctul x = 5 pentru funcia f ( x) =
. Pentru a
x+5
calcula limita dreapt se folosete operatorul lim+ . Rezolvm aceast problem cu secvena
a
3
x +4
lim
x 5 + x + 5
c) Pentru a calcula limita unei funcii ntr-un punct se folosete operatorul lim ca n secvena
a
3
x +4
lim
x 5 + x + 5
Exemple.
( )
a) S se calculeze lim n 2 + n + 1 n 2 2n + 1 . Se folosete secven MathCAD
n
lim ( 2
n + n+ 1
2
n 2 n + 1 ) 3
n 2
b) S se calculeze ( )
lim 3 n 3 + n 2 + 1 3 n 3 3n 2 + 1 . Folosim, pentru rezolvare, urmtoarea
n
secven:
3 3 2 3
3 2 4
lim n + n + 1 n 3 n + 1
n 3
2
n
1
c) S se calculeze lim1 + 2 . Se folosete secven MathCAD de mai jos.
n
n 1
2
n
lim 1 +
1
exp( 1)
2
n n 1
9.3.2. Aplicaii n algebr
9
Utilizarea calculatoarelor
utiliznd combinaia de taste Ctrl i M, fie din sub-meniul Insert, se selecteaz Matrix, iar n
caseta de dialog care apare (Insert Matrix) se precizeaz numrul de linii i de coloane.
Exemplu. Pentru a calcula produsul scalar al vectorilor x = (2 3 5 6 ) , y = (1 4 7 8) ,
se folosete secvena:
2 1
3 4
x := y := xy = 23
5 7
6 8
Produsul vectorial a doi vectori se calculeaz dup ce cei doi vectori au fost precizai cu
v v
operatorul x y din paleta Matrix, urmat de = , ca n exemplul urmtor.
Exemplu. S se calculeze produsul vectorial al vectorilor x = (1 2 4 ) i y = (8 5 3) . Se
va folosi secvena MathCAD
1 8 14
x := 2 y := 5 x y = 35
4 3 21
1 0 1
Exemplu. Pentru a determina transpusa, inversa i determinantul matricei A = 2 1 3 , se
5 4 2
folosete secvena:
1 0 1 1 2 5 0.824 0.235 0.059
T 1
A := 2 1 3 A = 0 1 4 A = 1.118 0.176 0.294
5 4 2 1 3 2 0.176 0.235 0.059
A = 17 .
Astfel, sistemele de ecuaii liniare de tip Cramer, se pot rezolva cu comenzile x:A-1*b, x=
dup precizarea matricei coeficienilor A i a vectorului termenilor liberi b.
10
MathCAD
7 x1 x 2 + x3 = 7
x1 + 9 x 2 + x3 = 9 .
x + x + 8 x = 10
1 2 3
7 1 1 7
A := 1 9 1 b := 9 y0 := 0 y1 := 0 y2 := 0
1 1 8 10
1
Given Ay b Y := Find( y) Y = 1
1
d) funcia Minerr determin soluia aproximativ a ecuaiei sau sistemului de ecuaii liniare
i/sau neliniare. Ca i n cazul precedent, necunoscutele trebuie iniializate cu valori situate n
vecintatea soluiei, naintea cuvntului cheie Given. Urmeaz sistemul (ecuaia) i afiarea
soluiei aproximative obinute cu Minerr, ca n secvena urmtoare.
7 1 1 7
A := 1 9 1 b := 9 y0 := 0 y1 := 0 y2 := 0
1 1 8 10
1
Given Ay b Y := Minerr( y) Y = 1
1
11
Utilizarea calculatoarelor
Valori i vectori proprii pentru o matrice se pot obine preciznd matricea i apelnd la
funciile MathCAD eigenvals() i respectiv eigenvec() , (din sub-meniul Insert se alege
Function, iar din fereastra Insert Function se selecteaz funcia respectiv) ca n figura
urmtoare.
Reamintim c dat fiind o matrice ptratic A M n ( K ) , K = R , C , se numete polinom
caracteristic P( ) = det ( A I n ) . Se numete valoare proprie a matricei A orice rdcin a
polinomului caracteristic. Vectorul propriu al matricei A corespunztor valorii proprii este
orice vector nenul v R n {0 }, soluie a sistemului A I n = 0 .
Exemplul care urmeaz determin valorile proprii i vectorii proprii pentru matricea A
precizat.
2 2 0
Exemplu. Pentru matricea A = 2 1 2 s se determine valorile i vectorii proprii. Se
0 2 0
folosete urmtoarea secven MathCAD.
2 2 0 4
A := 2 1 2 := eigenvalsA
( ) = 1
0 2 0 2
i := 0 .. 2 v i := eigenvec( A , i)
12
MathCAD
Alipirea a dou matrice avnd acelai numr de linii se realizeaz cu funcia augment(), n
care se precizeaz cele dou matrice care se unesc, A M n ,m (R ) , B M n ,k (R ) , rezultnd
C M n,m+ k (R ) .
5 4 3 2
9 8 7 6
Exemplu. Din matricea A = , s se extrag matricea B format din liniile 3
1 2 3 4
5 6 7 8
i 4 i coloanele 2, 3 i 4 din matricea A. La matricea obinut s se alipeasc vectorul
10
b = . Se folosete secvena urmtoare.
11
5 4 3 2
A :=
9 8 6
7
2 3 4
1 2 3 4 B := submatrixA
( , 2 , 3 , 1 , 3) B=
6 7 8
5 6 7 8
10 2 3 4 10
b := C := augment( B , b) C=
11 6 7 8 11
Pentru evaluarea simbolic se pot folosi comenzi luate fie din meniul principal Symbolics
fie din paleta Symbolic (din meniul principal View, Toolbars, apoi Symbolic)
13
Utilizarea calculatoarelor
b)
d 2
atan( 2 x)
dx 2
1 + 4 x
Primitiva unei funcii se poate obine folosind meniul principal sau paleta Calculus, ca n
exemplul urmtor.
Exemplu. Secvena de mai jos determin o primitiv a funciei f ( x) = e 2 x cos 3x , n cele dou
modaliti.
14
MathCAD
2 3
2 x
e cos ( 3 x) dx exp( 2 x) cos ( 3 x) + exp( 2 x) sin( 3 x)
13 13
Exemplu. Secvena de mai jos permite obinerea dezvoltrii n serie MacLaurin a funciei
f ( x ) = ln(1 + x ) .
a)
ln( 1 + x) 1 x
1 2 1 3 1 4 1 5 1 6
x + x x + x x + O x
7 ( )
2 3 4 5 6
b)
1 2 1 3 1 4 1 5 1 6
ln( 1 + x) series, x , 7 1 x x + x x + x x
2 3 4 5 6
Dezvoltarea n serie Taylor a unei funcii de o variabil n vecintatea unui punct se poate
realiza ca mai sus, cu precizarea punctului a, n jurul cruia se face dezvoltarea. Pentru
precizarea punctului a, se procedeaz astfel:
a) dup dezvoltarea n serie MacLaurin se trece n Clipboard x-a, iar din Symbolics, Variable se
alege Substitute, sau
b) din paleta Symbolic se selecteaz series, n zona de editare din dreapta se trece funcia, iar n
zona de editare din stnga x=a i ordinul de aproximare (pentru = se tasteaz Ctrl i =).
Exemplu. Secvena de mai jos dezvolt n serie Taylor n jurul punctului a , funcia
f ( x ) = ln(1 + x ) , n ambele moduri.
a)
ln( 1 + x) x a
1 2
1 x x + O x
3 ( ) 1
x a ( x a) + O ( x a)
2 3
2 2
15
Utilizarea calculatoarelor
b)
1 1 2
ln( 1 + x) series, x a , 3 ln( 1 + a) + ( x a) + ( x a)
1+ a 2 ( 1 + a)
2
Calculul sumelor i produselor formale este uor de realizat n MathCAD, dup cum
rezult i din exemplul urmtor.
n n
Exemplu. S se calculeze k 2 i
k =1
k
k =1
. Aceste calcule sunt realizate de secvena:
n n
1
3 1 2 1 1
2
k ( n + 1) ( n + 1) + n + k ( n + 1)
3 2 6 6
k=1 k=1
unde (n + 1) este funcia lui Euler de spea a II-a (generalizarea factorialului ( ) = x 1e x dx
0
).
b) se folosete secvena
2 2
( x + y + 1) ( x y 1) expand x y 2 y 1
16
MathCAD
b) din paleta Symbolic, comanda factor. n zona de editare din partea stng se precizeaz
expresia care trebuie redus, iar zona de editare din dreapta se terge.
3 2 2 3 3
x 6 yx + 12 xy 8 y factor ( x 2 y)
b)
2 2 3 2 2 3
2 x + 5 x 6 x + x + x + 4 collect, x 3 x + 5 x + x + 4
Coeficienii unui polinom se pot obine sub forma unui vector care are pe prima poziie
termenul liber, utiliznd
a) se selecteaz variabila n raport cu care s se ordoneze vectorul coeficienilor polinomului,
apoi din sub-meniul Symbolics, Polynomial Coefficients, sau
b) din paleta Symbolic, coeffs, ca n exemplul care urmeaz.
17
Utilizarea calculatoarelor
18
MathCAD
b)
19
Utilizarea calculatoarelor
Observaii
1. Se pot reprezenta pe aceleai axe mai multe funcii, putndu-se astfel face comparaii ntre
comportrile acelor funcii.
2. Fcnd clic cu butonul drept al mouse-ului deasupra graficului, apare un meniu imediat, din
care se poate alege Trace. n fereastra care apare (Trace) MathCAD nscrie coordonatele
punctului de pe grafic, atunci cnd se puncteaz cu mouse-ul pe acel punct. Acest lucru este
util n rezolvarea aproximativ a ecuaiilor, punctul cu care se iniializeaz algoritmul fiind
ales n vecintatea soluiei.
3. Graficului i se poate ataa un nume, astfel: clic cu butonul drept al mouse-ului deasupra
graficului, iar din meniul imediat care apare se alege Format. Din fereastra Format,
selectnd Labels, se poate da un nume graficului i de asemenea axelor. Aceast fereastr
permite i selectarea de culori pentru grafic, tipuri de linii pentru reprezentare, careiaj, scal
etc.
Exemple.
A. Reprezentarea grafic a curbelor n coordonate carteziene
1. Functiile trigonometrice
f ( x)
g ( x)
5 0 5
x
unghiul
20
MathCAD
20
h ( x)
1 0 1
20
25.082
40
x
2 2
x x
u( x) := e v( x) := e l( x) := ln( x)
x := 5 , 4.9 .. 5
u ( x) 100
v ( x)
50
5 0 5
x
21
Utilizarea calculatoarelor
0 2 4 6
ln( x)
2.303
4
0.1 x 5
Graficul cardioidei
90
120 60
150 30
180 0
0 2.25 4.5
210 330
240 300
270
150 30
( )
180 0
0 1 2
210 330
240 300
270
22
MathCAD
Rosa cu 3 bucle
90
120 60
150 30
( )
180 0
1 3
210 330
240 300
270
Roza cu 4 bucle
90
120 60
150 30
( )
180 0
0 1 2 3
210 330
240 300
270
150 30
( )
180 0
0 10 20 30
210 330
240 300
270
23
Utilizarea calculatoarelor
( ) := e
4
6) Spirala logaritmica := 0 , 0.001 .. 12
Spirala logaritmica
( )
C. Reprezentarea grafic a curbelor date de ecuaii parametrice
Astroida
5
y ( t)
5 0 5
x ( t)
2) Cicloida x ( t ) := 3 ( t sin ( t ) ) y ( t ) := 3 ( 1 cos ( t ) ) t := 0 , 0.01 .. 4
Cicloida
10
y ( t)
5
0 5 10 15 20 25 30 35 40
x ( t)
24
MathCAD
x( t) := a + r cos ( t) y( t) := b + r sin( t)
y ( t)
b
5 0 5 10
x ( t) , a
u := 2 v := 1 a := 5 b := 3
x( t) := u + a cos ( t) y( t) := v + b sin( t)
y ( t)
v
10 5 0 5
x ( t) , u
Pentru cerc i elips trebuie s fie menionate valori pentru x i y care s conduc la un
ptrat
((x, y ) [ , ] [
1 1 2 , 2 ] , 1 2 = 1 2 ) .
Animaie. Se poate vizualiza spotul luminos care traseaz graficul folosind Animation din
Tools. Animaia are la baz variabila FRAME, care se iniializeaz n fereastra Record
Animation. Pentru realizarea unei animaii se procedeaz astfel:
se precizeaz funcia de reprezentat, f(x):expresie
se precizeaz domeniul de variaie al variabilei independdente, astfel x:vi,vi+p;FRAME
se reprezint grafic funcia
se selecteaz Animation din Tools, i de aici Record. Apare fereastra Record Animation
25
Utilizarea calculatoarelor
26
MathCAD
Paraboloidul eliptic
a
reduse.
27
Utilizarea calculatoarelor
2 2
x y
2) Paraboloidul hiperbolic f( x , y) := i := 0 .. 80
4 9
xi := 4 + 0.1 i yj := 9 + 0.1 j ai , j := f( xi , yj)
Paraboloidul hiperbolic
2 2
x y
3) Hiperboloidul cu o panzaf( x , y) := + 1 i := 0 .. 80 j := 0 .. 180
4 9
Hiperboloidul cu o panza
a,b
28
MathCAD
2 2
x y
4) Hiperboloidul cu 2 panze f( x , y) := 4 1 + + i := 0 .. 80 j := 0 .. 180
4 9
Hiperboloidul cu 2 panze
a,b
2 2
x y
5) Elipsoidul f( x , y) := 1 i := 0 .. 80 j := 0 .. 180
4 9
Elipsoidul
a,b
29
Utilizarea calculatoarelor
2 2
x +y
6
Suprafata cu domeniul de reprezentare implicitf( x , y) := e
f
Dac se dorete modificarea valorilor implicite pentru domeniul de variaie al variabilelor
x i y se face clic cu butonul drept deasupra graficului, din meniul imediat se alege Format i
din fereatra 3-D Plot Format se alege Quick Plot Data. Acum se pot modifica valorile
domeniului de reprezentare i densitatea careiajului, ca n figura urmtoare.
30
MathCAD
Exemplu. n fiierul ns.dat se vor depune valorile a=-129.35, b=254, c=369. Aceste valori vor
fi citite din fiier i depuse n vectorul v. Secvena urmtoare realizeaz aceste aciuni.
a := 129.35 b := 254 c := 369
WRITE( "ns.dat") := a APPEND( "ns.dat") := b APPEND( "ns.dat") := c
i := 0 .. 2 vi := READ( "ns.dat") v :=
Fiierele structurate sunt proprii lucrului cu masive (vectori i matrice). Implicit este dat
numrul de poziii ocupate de un element al tabloului. Acast valoare se poate modifica n
fereastra Worksheet Options din sub-meniul Tools.
Observaie. Tabloul care se adaug la un fiier PRN trebuie s aib acelai numr de coloane ca
i tabloul deja existent n fiier.
Intr-un fisier se afla matricea coeficientilor unui sistem si vectorul termennilor liberi
Solutia sistemului va fi scrisa in continuarea acestui fisier
Se determina norma euclidiana a matricei coeficientilor, determinantul principal,
inversa matricei coeficientilor, descompunerea Cholesky, descompunerea QR
31
Utilizarea calculatoarelor
7 1 1 1 8
1 8 2 1 10
A := b := n := 4
1 2 9 1 11
1 1 1 10 11
T
WRITEPRN( "f.prn") := A APPENDPRN( "f.prn") := b
B. Citirea informatiei din fisierul f
7 1 1 1
1 8 2 1
X := READPRN( "f.prn") X = 1 2 9 1
1 1 1 10
8 10 11 11
C. Extragem matricea coeficientilor si vectorul termenilor liberi
7 1 1 1
1 8 2 1
C := submatrixX
( , 0 , n 1 , 0 , n 1) C=
1 2 9 1
1 1 1 10
8
d := submatrixX
( , n , n , 0 , n 1)
10
d =
T
11
11
D. Solutia sistemului
1
x := C
1 T
d x=
1
1
1
32
MathCAD
E. Scrierea solutiei in continuare fisierului f
T
APPENDPRN( "f.prn") := x X := READPRN
7 1 1 1
1 8 2 1
1 2 9 1
X=
1 1 1 10
8 10 11 11
1 1 1 1
F. Norma euclidiana, determinantul si inversa matricei coeficientilor
n 1 n 1
ne := ( Ci , j) 2 ne = 17.66352 nm := norme( C) nm = 1
i= 0 j= 0
3
det ( C) := C det( C) = 4.293 10
2.64575 0 0 0
0.37796 2.80306 0 0
R := cholesky( C) R=
0.37796 0.76447 2.87623 0
0.37796 0.40772 0.50571 3.07167
Sistemele care se obtin R*R"x=d'
R"x=y si Rx=y
2.50894 0.94829
( T ) 1 dT
y := R y=
3.21711
3.1948
x := R
1
y x=
1.01985
0.96431
3.58111 1.02577
33
Utilizarea calculatoarelor
QR := qr ( C) Q := submatrixQR
( , 0 , n 1 , 0 , n 1)
9.15255 1
10.21646
y=
1 T 1
y := Q d x=
1
11.72206 x := R y
1
8.96928 1
n biblioteca MathCAD sunt incluse comenzi care realizeaz anumite funcii direct, ceea ce
face aceast aplicaie extrem de atractiv.
n continuare exemplificm utilizarea unor astfel de comenzi pe probleme simple.
Ciclurile simple se pot realiza folosind variabila de tip ir var:vinit,pas;vfinal , unde vinit
reprezint valoarea iniial, iar vfinal valoarea final a variabilei de ciclare var , pas fiind raia
cu care se modific la fiecare iteraie var.
Dac vinit i vfinal sunt numere naturale, iar pas este egal cu 1, atunci pas poate lipsi!
Ciclurile cu condiie final se realizeaz cu comanda until , care are sintax
var:until(cond,expresie) . Variabila var ia valoarea rezultat n urma evalurii expresiei
expresie , pn cnd condiia va fi verificat.
Versiunile superioare (>2000) de MathCAD nu ncurajeaz utilizarea acestei comenzi.
34
MathCAD
( )
proprietatea c Pn ( xi ) = f ( xi ) , i = 0, n , are gradul n, iar dac funcia necunoscut este chiar
un polinom de gradul n, polinomul lui Lagrange coincide cu funcia necunoscut. Pentru
polinomul lui Lagrange se cunoate o margine a erorii de aproximare pentru anumite condiii ce
trebuie impuse asupra funciei f.
Fie funcia dat de tabelul
x -2 -1 0 2
y -1 3 1 3
n MathCAD se pot realiza subprograme care la rndul lor pot apela alte
subprograme MathCAD. Pentru relizarea subprogramelor MathCAD se folosete
paleta Programming. Se scrie numele subprogramului, iar ntre paranteze parame-
trii de intrare. Dup semnul : se alege Add Line din paleta Programming,
realizndu-se o linie nou.
Atribuirile se fac cu simbolul .
Ciclurile cu numr cunoscut de repetri se realizeaz cu for . Se precizeaz variabila de
ciclare, valoarea iniial i valoare final a acesteia. Cu linia urmtoare ncepe corpul ciclului.
35
Utilizarea calculatoarelor
n alctuirea expresiilor logice (booleene) se folosesc parantezele rotunde ori de cte ori
este nevoie.
n exemplul urmtor se calculeaz valoarea aproximativ a integralei definite cu metoda
Simpson sau metoda trapezelor, n funcie de numrul de noduri precizat.
Subprogramul Calcul apeleaz cele dou subprograme: Simpson i Trapez. Este de
remarcat faptul c un parametru al subprogramului MathCAD poate fi o funcie.
36
MathCAD
Simpson( a , b , m , f) := n 2 m
ba
h
n
m1
s1
f( a + 2 ih)
i= 1
m
s2 f[ a + ( 2 i 1) h ]
i= 1
h
I ( f( a) + f( b) + 2 s1 + 4 s2)
3
I
ba
Trapez( a , b , n , f) := h
n
s1 0
for i 1 .. n 1
s1 s1 + f( a + ih)
h
I ( f( a) + f( b) + 2 s1)
2
I
9.8. Aplicaii
A. Ecuaii algebrice
37
Utilizarea calculatoarelor
B. Ecuaii transcendente
Pentru rezolvarea acestor ecuaii se poate folosi funcia root . Trebuie precizat intervalul
care conine soluia (forma root(f(x),x,a,b)) sau o valoare n apropierea unei soluii a ecuaiei de
rezolvat (forma root(f(x),x)), pentru iniializarea algoritmului utilizat de funcia root. n acest
scop se poate folosi reprezentarea grafic a funciei ale crei zerouri se caut i folosind fereastra
Trace, se gsete un punct n vecintatea soluiei, ca n exemplul urmtor.
38
MathCAD
Pentru forma root(f(x),x), folosind fereastra X-Y Trace, gsim valoarea cu care se
iniializeaz algoritmul de determinare a soluiei ecuaiei ( x = 1.26 ). Figura urmtoare reprezint
documentul MathCAD pentru rezolvarea problemei.
Pentru cazul cnd ecuaia are soluii complexe, valoare iniial a variabilei trebuie s fie un
numr complex n vecintatea soluiei.
z4 := root
g( x)
, x
( )( )(
x z1 x z2 x z3 ) z4 = 0.70732 0.70755i
C. Inecuaii neliniare
39
Utilizarea calculatoarelor
Observaii.
1. Restriciile nu trebuie s conin semnul diferit ( # ) ;
2. Nu se fac atribuiri n cadrul blocului de restricii ;
3. Operatorii = > < din interiorul blocului de restricii, se iau din paleta Boolean.
x 2 + y 2 =6
Exemplu. S se rezolve sistemul de ecuaii neliniare 4 . Se iniializeaz algoritmul
x + y = 20
4
cu valorile x = 1 , y = 1 .
Problema se rezolv cu urmtoarea secven MathCAD.
x := 1 y := 1
Given
2 2
x +y 6
4 4
x +y 20
1.414
S := Find( x , y) S=
2
Pentru a gsi i celelalte soluii este necesar ca s se fac iniializarea necunoscutelor cu valori n
vecintatea soluiei, ca n secvena urmtoare :
40
MathCAD
x := 1 y := 1
Given
2 2
x +y 6
4 4
x +y 20
1.414
S := Find( x , y) S=
2
Secvenele MathCAD care urmeaz arat cum se poate utiliza aceast aplicaie n
optimizarea unor probleme care modeleaz procese economice. Sunt prezentate exemple de
programare liniar pentru care se cere maximul / minimul funciei obiectiv (obinut cu funcia
Maximize / minimul, obinut cu funcia Minimize), o problem de transport i un extrem cu
legturi liniare pentru o funcie obiectiv ptratic (problema de programare ptratic).
41
Utilizarea calculatoarelor
Modelarea problemei
f( x , y) := 4 x + 3 y
x := 0 y := 0
Given
2 x + y 8
x 0
3 x + 2 y 24
y 0
x + 3 y 18
S := Maximizef
( , x , y)
Solutia optima Valoarea functiei obiectiv
1.2
S= f( S1 , S2) = 21.6
5.6
2. Problema de minimizare
42
MathCAD
f( x1 , x2 , x3 , x4) := 6 x1 + 8 x2 + 12 x3 + 10 x4
x1 := 0 x2 := 0 x3 := 0 x4 := 0
Given
x1 + x2 + x4 2
x1 + 2 x2 + x3 4
x2 + x3 + x4 3
x1 0 x2 0 x3 0 x4 0
( , x1 , x2 , x3 , x4)
S := Minimizef
0
S=
1.5 f( S1 , S2 , S3 , S4) = 29
1
0.5
3. Problema de transport
O ntreprindere de constructii are n lucru 4 blocuri de locuinte n diferite locuri n oras si
aprovizioneaz cu mortar de la 3 statii de betoane de asemenea amplasate n diferite locur
Prin contract, prima statie de betoane asigur 10 mc , a doua 15 mc , iar a treia 25 mc .
Necesarul zilnic de mortar pentru fiecare bloc este de 5 mc pentru primul, 10 mc pentru a
doilea, 20 mc pentru al treilea si 15 mc pentru al patrulea. Pretul de transport pentru 1 mc
la o statie de betoane la un bloc este dat de tabelul urmator.
Bloc B1 B2 B3 B4 Disponibil
Statie betoane
S1 8 3 5 2 10
S2 4 1 6 7 15
S3 1 9 4 3 25
Necesar 5 10 20 15
43
Utilizarea calculatoarelor
8 3 5 2 10 5
0 0 0 0
A := 4 1 6 7 a := 15
b :=
10 x := 0 0 0 0
1 9 4 3 25 20 0 0 0 0
15
4
i i
Functia obiectiv f( x) :=
A ( x)
i= 1
i 1
Given
(x) 1 b1 (x) 2 b2 (x) 3 b3 (x) 4 b4
( x
T) 1
a1 ( x
T) 2
a2 ( x
T) 3
a3 x 0
X := Minimizef
( , x)
0 0 0 10
Solutia X = 0 10 5 0 Valoarea functiei obiectiv f( X) = 140
5 0 15 5
B. Cazul programarii patratice
Sa se rezolve urmatoare problema de programare patratic
Sa se determine min f unde
1 2 1 2
f( x1 , x2 , x3) := x1 + x2 2 x1 + 3 x2 + x3
2 2
x1 := 0 x2 := 0 x3 := 0
Given
x1 2 x2 + x3 4
x1 0 x2 0 x3 0
( , x1 , x2 , x3)
S := Minimizef
44
MathCAD
3
S = 0 f( S1 , S2 , S3) = 0.5
1
45