Documente Academic
Documente Profesional
Documente Cultură
Math Cad
Math Cad
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
Utilizarea calculatoarelor
MathCAD
Utilizarea calculatoarelor
MathCAD
ntr-un document MathCAD calculele se fac de la stnga spre dreapta de sus n jos!
Numele de variabile (identificatori) se formeaz cu litere i/sau cifre prima obligatoriu
liter, la care se pot aduga i indici cum se art mai jos.
Indicii n MathCAD sunt folosii pentru:
a) identificarea elementelor unui vector v R n , vi desemnnd a i-a component a vectorului v,
sau unei matrice A M n ,m (R ) , Ai,j desemnnd elementul de pe linia i i coloana j a matricei
A. Acest indice se obine fie din paleta Matrix, fie cu [ .
Not: Implicit, n MathCAD, indicii ncep cu valoarea zero
!
Se poate schimba valoarea iniial a indicilor utiliznd
Worksheet Options din sub-meniul Tools, nlocuind zero cu
noua valoare n cmpul Array Origin, ca n figura
alturat.
b) identificarea coloanelor unei ma-trice, A M n ,m (R ) ,
A<i> desemnnd coloana a i-a a matricei A. Indicele de
coloan se ia fie din paleta Matrix, fie se folosete
combinaia de taste Ctrl i ^ apsate simultan.
c) identificarea variabilelor (nume de variabile)
xi
reprezentnd variabila cu acest nume i nu componenta a i-a a unui vector. Acest indice se
obine punnd dup liter caracterul punct ( . ) apoi indicele.
Atribuirea n MathCAD se face utiliznd simbolul : care devine n documentul MathCAD
:=
Afiarea pe ecran se face folosind semnul =
Se pot face calcule vectoriale i matriceale utiliznd MathCAD, fie numerice, fie simbolice.
Tabelul urmtor prezint operatorii aritmetici i tipul operanzilor.
Operaie
Adunare
Scdere
nmulire
mprire
Produs
vectorial
Ridicare la
putere
Simbol
+
*
/
Operanzi
Variabile, constante i funcii numerice, vectori i matrice
Variabile, constante i funcii numerice, vectori i matrice
Variabile, constante i funcii numerice, vectori i matrice
Variabile, constante i funcii numerice
Vectori tridimensionali
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.
se
f( x) := atan( x)
x :=
d
f( x) = 0.477
dx
x2
2
cos( 2 x ) n punctul x =
1
se scrie
2
secvena MathCAD:
2
f( x) := e
cos ( 3 x) x :=
1
2
d3
3
f( x) = 30.638
dx
MathCAD
Exemplu.
S
se
calculeze
derivatele
2
2
2
3
f f f f f
f
,
pentru
funcia
,
,
,
,
,
2
2
x y x
xy y
xy 2
y
f ( x, y ) = arctg , n punctul (1,2) .
x
Pentru aceasta se scrie urmtoare secven MathCAD:
y
x
f( x , y) := atan
x := 1 y := 2
2
2
f( x , y) = 0.4
f( x , y) = 0.16
f( x , y) = 0.16
f( x , y) = 0.2
x y
f( x , y) = 0.12
x y
f( x , y) = 0.032
b
. Se precizeaz funcia i
limitele se integrare.
Exemple.
3
a) Pentru a calcula
x2
2
x2
2
dx = 1.25
e
0
Se pot de asemenea calcula integrale improprii convergente, ca n exemplele urmtoare:
dx
cu secvena
b)
2
1 x (1 + x )
dx = 0.347
x 1 + x2
1
c)
ln x
1 x2
dx cu secvena
Utilizarea calculatoarelor
ln( x)
2
dx = 1.089
1x
MathCAD permite i calculul integralelor duble, dac domeniul de integrare este bine
precizat.
x2
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
Exemplu. S se calculeze
1
D = ( x, y ) R 2 1 x 2 , y x .
x
1
y
g( y) := y
h( y) := 2
l( y) := 1
Domeniul D
3
f ( y)
g ( y)
h ( y)
l( y)
10
dy dx = 2.25
x=2
pentru funcia
f ( x) =
MathCAD
x +1
lim
x 2 x 2
x3 + 4
. Pentru a
x+5
calcula limita dreapt se folosete operatorul lim+ . Rezolvm aceast problem cu secvena
f ( x) =
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
x +4
lim
+
x
+
5
x 5
Pentru operaia de evaluare () se ia operatorul sgeat din paleta Symbolic.
Calculul limitelor irurilor este posibil a fi efectuat utiliznd MathCAD, ca n exemplele
urmtoare.
Exemple.
lim
n + n+ 1
n 2 n + 1
b) S se calculeze
3
2
secven:
lim
n
3
3 3 2
4
3
2
n
+
n
+
1
n 3 n + 1
c) S se calculeze lim1 + 2
n
n 1
lim 1 +
2
n
n 1
exp( 1)
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.
Produsul scalar a doi vectori: se precizeaz vectorii x i y i cu comanda x*y= , sau cu
v v
opertorul x y din paleta Matrix, urmat de = , se obine rezultatul.
3
x :=
5
4
y :=
7
xy = 23
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.
1
x := 2
4
8
y := 5
3
14
x y = 35
21
1 0 1
folosete secvena:
1 0 1
1 2 5
T
A := 2 1 3 A = 0 1 4
5 4 2
1 3 2
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.
Exemplu. S se rezolve sistemul de ecuaii liniare
10
MathCAD
7 x1 x 2 + x3 = 7
x1 + 9 x 2 + x3 = 9 .
x + x + 8 x = 10
2
3
1
Secvena MathCAD corespunztoare este
a)
7 1 1
A := 1 9 1
1 1 8
7
b := 9
10
x := A
1
x = 1
1
7 1 1
A := 1 9 1 b :=
1 1 8
7
9
10
1
x := lsolve( A , b) x = 1
1
c) Funcia Find permite rezolvarea ecuaiilor i sistemelor de ecuaii liniare i/sau neliniare.
Pentru nceperea calculelor corespunztoare metodei aplicat n rezolvarea pe aceast cale,
necunoscutele trebuie iniializate cu o valoare, de preferin n vecinatatea soluiei, naintea
cuvntului cheie Given. Urmeaz sistemul (ecuaia) i afiarea soluiei gsite cu Find, ca n
secvena urmtoare.
7 1 1
A := 1 9 1
1 1 8
Given
7
b := 9
10
y0 := 0
y1 := 0
y2 := 0
1
b Y := Find( y) Y = 1
1
Ay
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
A := 1 9 1
1 1 8
Given
7
b := 9
10
Ay
y0 := 0
Y := Minerr( y)
11
y1 := 0
1
Y = 1
1
y2 := 0
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
2 2 0
A := 2 1 2
0 2 0
i := 0 .. 2
0.667
v 0 = 0.667
0.333
:= eigenvalsA
( )
4
= 1
2
v i := eigenvec( A , i)
0.667
v 1 = 0.333
0.667
0.333
v 2 = 0.667
0.667
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 ) .
4
3
2
5
8
7
6
9
Exemplu. Din matricea A =
, s se extrag matricea B format din liniile 3
1 2 3 4
5 6 7 8
9
A :=
1
6
2 3 4
8
B := submatrixA
( , 2 , 3 , 1 , 3)
6 7 8
10
11
b :=
C := augment( B , b)
2 3 4
6 7 8
B=
2 3 4 10
6 7 8 11
C=
fie din paleta Symbolic (din meniul principal View, Toolbars, apoi Symbolic)
13
Utilizarea calculatoarelor
f ( x ) = arctg (2 x ) , n
b)
2
d
atan( 2 x)
2
dx
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
ln( 1 + x)
1 x
( )
1 2 1 3 1 4 1 5 1 6
7
x + x x + x x + O x
2
3
4
5
6
b)
ln( 1 + x) series, x , 7 1 x
1 2 1 3 1 4 1 5 1 6
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)
1 2
1
3
2
3
ln( 1 + x)
x a
1 x x + O x
x a ( x a) + O ( x a)
2
2
( )
15
Utilizarea calculatoarelor
b)
ln( 1 + x) series, x
a , 3 ln( 1 + a) +
1
1
2
( x a) +
( x a)
2
1+ a
2 ( 1 + a)
Calculul sumelor i produselor formale este uor de realizat n MathCAD, dup cum
rezult i din exemplul urmtor.
Exemplu. S se calculeze
k 2 i
k =1
k=1
k =1
1
1
3 1
2 1
k ( n + 1) ( n + 1) + n +
3
2
6
6
k ( n + 1)
k=1
).
b) se folosete secvena
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.
Exemplu. S se simplifice expresia x 3 6 x 2 y + 12 xy 2 8 y 3 , utiliznd ambele modaliti. Se
procedeaz ca n figura urmtoare.
x 6 yx + 12 xy 8 y factor ( x 2 y)
b)
2
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
Se folosesc secvenele:
a)
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.
1. Functiile trigonometrice
f( x) := sin( x)
g( x) := cos ( x)
h( x) := tan( x)
f ( x)
g ( x)
1
x
unghiul
20
MathCAD
25.075
40
20
h ( x)
1
20
25.082
40
u( x) := e
v( x) := e
l( x) := ln( x)
x := 5 , 4.9 .. 5
Graficul functiei exponentiale
150
100
u ( x)
v ( x)
50
0
x
21
Utilizarea calculatoarelor
1.609
ln( x)
2
2.303
4
0.1
( ) := 2 ( 1 + cos ( ) )
:= 0 , 0.001 .. 3
Graficul cardioidei
120
90
60
150
30
180
0 2.25 4.5
210
330
240
300
270
90
60
150
30
180
210
0
330
240
270
22
300
MathCAD
( ) := 4 sin( 3 )
3) Roza cu 3 bucle
Rosa cu 3 bucle
90
120
60
150
( )
30
180
210
330
240
300
270
Roza cu 4 bucle
90
120
60
150
( )
30
180
0 1 2 3
210
330
240
300
270
( ) := 4
90
60
150
30
180
0 10 20 30
210
0
330
240
270
23
300
Utilizarea calculatoarelor
6) Spirala logaritmica
( ) := e
:= 0 , 0.001 .. 12
Spirala logaritmica
( )
y( t) := 4 sin( t)
Astroida
5
y ( t)
5
5
x ( t)
2) Cicloida
x ( t ) := 3 ( t sin ( t ) )
y ( t ) := 3 ( 1 cos ( t ) )
Cicloida
10
y ( t)
t := 0 , 0.01 .. 4
10
15
20
x ( t)
24
25
30
35
40
MathCAD
a := 2
x( t) := a + r cos ( t)
b := 1
y( t) := b + r sin( t)
10
x ( t) , a
v := 1
a := 5
x( t) := u + a cos ( t)
b := 3
y( t) := v + b sin( t)
10
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
, 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
1) Paraboloidul eliptic f( x , y) :=
y
x
+
4
9
i := 0 .. 80
ai , j := f( xi , yj)
xi := 4 + 0.1 i yj := 9 + 0.1 j
Paraboloidul eliptic
reduse.
j := 0 .. 180
27
Utilizarea calculatoarelor
y
x
4
9
2) Paraboloidul hiperbolic f( x , y) :=
i := 0 .. 80
ai , j := f( xi , yj)
xi := 4 + 0.1 i yj := 9 + 0.1 j
Paraboloidul hiperbolic
a
2
3) Hiperboloidul cu o panzaf( x , y) :=
xi := 4 + 0.1 i
yj := 9 + 0.1 j
ai , j := f( xi , yj)
Hiperboloidul cu o panza
a,b
28
i := 0 .. 80
j := 0 .. 180
b := a
MathCAD
4) Hiperboloidul cu 2 panze f( x , y) := 4 1 +
xi := 4 + 0.1 i
ai , j := f( xi , yj)
yj := 9 + 0.1 j
i := 0 .. 80
j := 0 .. 180
b := a
Hiperboloidul cu 2 panze
a,b
2
5) Elipsoidul f( x , y) :=
xi := 4 + 0.1 i
x
y
4
9
yj := 9 + 0.1 j
i := 0 .. 80
ai , j := f( xi , yj)
j := 0 .. 180
b := a
Elipsoidul
a,b
n exemplul urmtor se consider domeniul de variaie pentru x i y implicit, adic
29
Utilizarea calculatoarelor
x +y
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
APPEND( "ns.dat") := b
APPEND( "ns.dat") := c
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.
se
face
cu
Observaie. Tabloul care se adaug la un fiier PRN trebuie s aib acelai numr de coloane ca
i tabloul deja existent n fiier.
31
Utilizarea calculatoarelor
1
A :=
1
1 1 1
8
2
10
b :=
11
11
2 1
9 1
1 1 10
n := 4
WRITEPRN( "f.prn") := A
APPENDPRN( "f.prn") := b
X := READPRN( "f.prn")
7
1
X = 1
1
1 1 1
8
2 1
1 1 10
10 11 11
C := submatrixX
( , 0 , n 1 , 0 , n 1)
d := submatrixX
( , n , n , 0 , n 1)
D. Solutia sistemului
x := C
1 T
32
7 1
1 8
C=
1 2
1 1
8
10
T
d =
11
11
1 1
1
x=
1
2 1
9 1
1 10
MathCAD
APPENDPRN( "f.prn") := x
1
1
X=
1
8
X := READPRN
1 1 1
8
2
2 1
9 1
1 1 10
10 11 11
1
ne :=
n 1
( Ci , j) 2
i= 0 j= 0
ne = 17.66352
det ( C) := C
nm := norme( C) nm = 1
det( C) = 4.293 10
R := cholesky( C)
0
0
0
2.64575
0.37796 2.80306
0
0
R=
( T ) 1 dT
y := R
2.50894
3.21711
y=
3.1948
3.58111
x := R
33
0.94829
1.01985
x=
0.96431
1.02577
Utilizarea calculatoarelor
Q := submatrixQR
(
, 0 , n 1 , 0 , n 1)
0.97073
0.13868
Q =
0.13868
0.13868
0.07505
0.18595
0.13223
0.27206 0.93745
0.1501
0.23357 0.95062
R := submatrixQR
(
, 0 , n 1 , n , 2 n 1)
0
0
8.96928
0
y := Q
1 T
9.15255
10.21646
y=
11.72206
8.96928
x := R
1
x=
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
j i
1
x :=
0
2
n
i := 0 .. n
vi :=
j= 0
3
y :=
1
n := last( x)
,1
if i j ,
a xj
xi xj
Urmtoarea
secven
a := 1
P := yv
P = 1
n secvena de mai sus funcia last(x) returneaz indicele ultimei componente a vectorului
x.
9.7.2. Subprograme MathCAD
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 parametrii 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
Y
T
F
T
F
X (notX)
F
F
F
T
X Y (XandY)
T
F
F
F
X Y )(XorY)
T
T
T
F
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.
Exemplu de apelare intr-un subprogram MathCAD a altui subprogram
MathCAD
Calculul aproximativ al integralei definite
Se dau: a, b capetele intervalului de integrare
n , m numarul de noduri
g(x) functia de integrat
Daca 2m>n se caluleaza cu formula Simpson, altfel cu
formula trapezelor
36
MathCAD
Simpson( a , b , m , f) :=
n 2 m
h
ba
n
m1
s1
f( a + 2 ih)
i= 1
m
s2
f[ a + ( 2 i 1) h ]
i= 1
( f( a) + f( b) + 2 s1 + 4 s2)
Trapez( a , b , n , f) :=
ba
n
s1 0
for i 1 .. n 1
s1 s1 + f( a + ih)
I
h
2
( f( a) + f( b) + 2 s1)
I
Calcul( a , b , m , n , f) :=
I Simpson( a , b , m , f) if 2 m > n
I Trapez( a , b , n , f) otherwise
I
Apelarea g( x) := cos
( x3)
int := Calcul( 1 , 2 , 10 , 12 , g)
int = 0.24658
9.8. Aplicaii
9.8.1. Rezolvarea ecuaiilor i inecuaiilor
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.
Exemplu. S se gseasc soluia ecuaiei f ( x) = e x sin x x + 1 = 0 , folosind ambele forme ale
funciei root.
Pentru forma root(f(x),x,a,b) , reprezentm grafic funcia f , apoi cu ajutorul ferestrei X-Y
Trace stabilim intervalul [a,b] care conine soluia. n acest caz a=1 i b=2.
Figura urmtoare reprezint documentul MathCAD care rezolv ecuaia de mai sus i
soluia ecuaiei.
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.
Exemplu. S se gseasc toate rdcinile ecuaiei x 4 + 1 = 0 .
Urmtoarea secven MathCAD rezolv aceast problem. Pentru a scrie x = 1 + i n
MathCAD scriem x :1+1i , iar variabilele zk au indicii obinui prin tastarea z.k
4
g( x) := x + 1
Valoarea initiala
z1 := root( g( x) , x)
z1 = 0.70712 + 0.70712i
g( x) , x
z2 := root
x z1
z2 = 0.70687 0.70687i
g( x)
z3 := root
, x
x z1 x z2
)(
z3 = 0.70711 + 0.70711i
g( x)
z4 := root
, x
x z1 x z2 x z3
x := 1 + i
)(
)(
z4 = 0.70732 0.70755i
C. Inecuaii neliniare
39
Utilizarea calculatoarelor
x 2 + y 2
Exemplu. S se rezolve sistemul de ecuaii neliniare 4
4
x + y
cu valorile x = 1 , y = 1 .
Problema se rezolv cu urmtoarea secven MathCAD.
x := 1
=6
= 20
. Se iniializeaz algoritmul
y := 1
Given
2
x +y
x +y
6
20
1.414
2
S=
S := Find( x , y)
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
x +y
x +y
6
20
1.414
2
S=
S := Find( x , y)
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).
Optimizarea folosind Mathcad
41
Utilizarea calculatoarelor
Modelarea problemei
f( x , y) := 4 x + 3 y
x := 0
Given
y := 0
2 x + y 8
3 x + 2 y 24
x 0
y 0
x + 3 y 18
S := Maximizef
( , x , y)
Solutia optima
1.2
5.6
S=
2. Problema de minimizare
La o sectie de productie a unei ntreprinderi de constructii, unde se lucreaz
n flux continuu de band, sunt necesare pentru fabricarea de panouri pentru
cofraje 4 tipuri de materii prime (panelP),
( scndur de brad (SB), dulapi (D),
cuie (C)) care sunt prelucrate la 3 standuri. Repartitia materiilor prime si a
cheltuielilor de munc necesare prelucrrii pe cele 3 standuri este dat de
tabelul urmator.
Materie prim
S1
S2
S3
Cheltuieli
P SB D
1 1
0
1 2
1
0 1
1
6 8
12
C Necesar panouri
1
2
0
4
1
3
10
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
x2 + x3 + x4
4
3
x1 0 x2 0 x3 0 x4 0
S := Minimizef
( , x1 , x2 , x3 , x4)
Solutia optima
1.5
S=
1
0.5
f( S1 , S2 , S3 , S4) = 29
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
Statie betoane
S1
S2
S3
Necesar
B1
8
4
1
5
B2
3
1
9
10
B3
B4
5
6
4
20
Disponibil
2
7
3
15
10
15
25
43
Utilizarea calculatoarelor
8 3 5 2
A := 4 1 6 7
1 9 4 3
10
b :=
20
15
10
a := 15
25
4
Functia obiectiv
i
i
A ( x)
f( x) :=
0 0 0 0
x := 0 0 0 0
0 0 0 0
i= 1
Given
(x) 1
b1
T) 1
(
x
(x) 2
b2
T) 2
(
x
a1
(x) 3
b3
T) 3
(
x
a2
(x) 4
a3
b4
x 0
X := Minimizef
( , x)
Solutia
0 0 0 10
X = 0 10 5 0
5 0 15 5
f( X) = 140
1 2 1 2
x1 + x2 2 x1 + 3 x2 + x3
2
2
x2 := 0
x3 := 0
Given
x1 2 x2 + x3
x1 0
x2 0
4
x3 0
S := Minimizef
( , x1 , x2 , x3)
44
MathCAD
Solutia optima
3
S = 0
1
45