Documente Academic
Documente Profesional
Documente Cultură
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
Sub-meniul View conine urmtoarele comenzi privind apectul ecranului : Tools bar bara de instrumente, coninnd tipurile: Standard include butoanele corespun-znd celor mai utilizate comenzi ale sub-meniurilor File, Edit. Ea se plaseaz sub bara de meniu principal ; Formating are butoane pentru stabilirea tipurilor i dimensiunii caracterelor, poziia i indentarea textului ; Math conine butoane corespunznd barelor instrumentelor (palete) pentru : calcule aritmetice (Calculator), evaluri de expresii aritmetice (Evaluation) i logice (Boolean), reprezentri grafice de funcii (Graph), definirea vectorilor i matricelor i calcul matriceal (Matrix), calcul de sume, integrale, derivate, limite (Calculus), comenzi pentru scrierea programelor MathCAD (Programming), caractere ale alfabetului grecesc (Greek), calcul simbolic (Symbolic) . Status bar bara de stare a documentului curent. Ea se plaseaz la baza ecranului; Header and Footer permite inserarea numrului de pagin ntr-un document fie n antetul paginii, fie n subsol; Regions pentru identificarea zonelor documentului (de text i coninnd expresii matematice, programe etc); Zoom pentru stabilirea dimensiunii caracterelor n vederea afirii pe ecran; Refrech pentru refacerea imaginii afiate pe ecran. Sub-meniul Insert are comenzi pentru inserarea n document a graficelor, matricelor, funciilior, imaginilor, pentru stabilirea unitilor de msur etc. Cteva comenzii ale acestui sub-meniu : Graph MathCAD permite repezentarea grafic a funciilor n dou sau trei dimensiuni sub forme diferinte ; Matrix pentru stabilirea dimensiunilor unui tablou (vector sau matrice) ; Function permite inserarea funciilor care se gsesc n biblioteca aplicaiei ; Unit MathCAD, avnd possibilitatea de a rezolva probleme de fizic, mecanic etc, are nevoie de uniti de msur n care sunt exprimate datele ; Picture pemite inserarea unei imagini n documentul MathCAD ; Area pentru separarea documentului n zone distincte ; Math/Text Region pentru delimitarea zonelor documentului n care sunt formule matematice i programe pe de o parte de zonele de text (comentarii) pe de alt parte. Sub-meniul Format are comenzi pentru aranjarea aspectui documentului. De exemplu : Equation pentru stabilirea tipurilor de caractere pentru variable i constante incluse ntr-o ecuaie; Result pentru precizarea formei rezultatelor (numrul de cifre zecimale, simbolul pentru numrul complex 1 etc); Text permite stabilirea tipului i dimensiunii caracterelor unui text ; Paragraph pentru indentarea textului ; Style pentru editarea documentului mprit n seciuni, capitole, sub-capitole etc ;
Utilizarea calculatoarelor
Color permite stabilirea culorii fondului documentului ; Separate Regions pentru delimitarea (fr linii) a regiunilor documentului ; Headers/Footers pentru inserarea antetului i sub-solului n document ; Repaginate Now pentru numerotarea paginilor documentului. Sub-meniul Tools conine comenzii pentru lasarea calculelor (fie numerice, fie simbolice). De exemplu : Calculate determin execuia calcu-lelor pentru zona unde se gsete cursorul ; Calculate Worksheet execut calcu-lele cuprinse n documentul curant ; Automatic Calculation execut automat calculele de fiecare dat cnd o formul este scis; Options permite stabilirea valorii iniiale pentru indicele vectorilor i matricelor, sistemul de uniti de msur, tipul de entiti; Animation pentru realizarea unei animaii ntr-o reprezentare grafic a unei funcii. Sub-meniul Symbolics are comenzi care permit calcul simbolic (calculul derivatelor, primitivelor, dezvoltri n serie Taylor etc). Cteva comenzi ale acestui sub-meniu : Simplify pentru simplificarea expresiilor matematice ; Factor pentru scrierea expresiilor ca un produs de factori ireductibili ; Polinomial Coefficients pentru deter-minarea vectorului coeficienilor unui polinom ; Variable are la rndul su o list de opiuni care devin accesibile dac se plaseaz cursorul pe o variabil, pentru aflarea rdcinii (Solve) unei ecuaii, pentru calcularea derivatei (Differentiate), a primitivei (Integrate), pentru dezvoltarea n serie Taylor (Expand to Series) etc ; Matrix pentru determinarea matricei transpuse (Transpose), a matricei inverse (Inverse), determinantul unei matrice (Determinant) ; Transform pentru determinarea transformatei directe i a transformatei inverse de tip Fourier, Laplace, Z ; Sub-meniul Window are comenzi pentru divizarea ferestrei n dou pri, fie orizontale, fie verticale, pentru aranjarea feres-trelor n cascad i are o list a documentelor deschise n sesiunea curent. Sub-meniul Help are informaii asupra acestei aplicaii i se pot accesa aceste informaii fie apsnd tasta F1, fie fcnd clic deasupra sub-meniului Help. 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.
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 Variabile, constante i funcii numerice
Adunarea, scderea, produsul vectorilor i matricelor se realizeaz foarte simplu scriind operanzii i operatorii corespunztori.
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
f( x) := e
cos ( 3 x) x :=
1 2
d3 dx
3
f( x) = 30.638
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
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:
f( x , y) := atan
y x
x
x := 1 y := 2
f( x , y) = 0.4
f( x , y) = 0.2
2 x
f( x , y) = 0.16
x y
2
f( x , y) = 0.12
f( x , y) = 0.16
x y
f( x , y) = 0.032
. Se precizeaz funcia i
limitele se integrare.
Exemple.
x2 2
a) Pentru a calcula
e
0
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 )
1 dx = 0.347 x 1 + x2 1
c)
ln x 1 x2
dx cu secvena
Utilizarea calculatoarelor
ln( x) 1x
2
dx = 1.089
MathCAD permite i calculul integralelor duble, dac domeniul de integrare este bine precizat.
Exemplu. S se calculeze x2 y 2 dxdy , unde D este domeniul mrginit de curbele D xy = 1 , x = 2 , y = x . Domeniul D se poate caracteriza i prin relaiile
g( y) := y
h( y) := 2
l( y) := 1
Domeniul D
5 y
10
1
x
x y
2 2
dy dx = 2.25
Calculul limitelor funciilor este de asemenea posibil a fi efectuat utiliznd MathCAD. Exemple. x2 +1 . Ca s se x2 calculeze limita stng se folosete operatorul lim . Secvena MathCAD pentru acest caz este
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.
n
lim
n
n + n+ 1
n 2 n + 1
3 2
b) S se calculeze secven:
lim
n
3 3 3 2 4 3 2 n + n + 1 n 3 n + 1
1 c) S se calculeze lim1 + 2 n n 1
1 lim 1 + 2 n n 1
exp( 1)
Calculul vectorial i matriceal este bine implementat n MathCAD, operaiile cu vectori i matrice efectundu-se scriind comenzi apropiate de scrierea matematic obinuit. Vectorii i matricele se insereaz ntr-un document MathCAD fie
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.
Exemplu. Pentru a calcula produsul scalar al vectorilor x = (2 3 5 6 ) , y = (1 4 7 8) , se folosete secvena:
2 3 x := 5 6
1 4 y := 7 8
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.
Exemplu. S se calculeze produsul vectorial al vectorilor x = (1 2 4 ) i y = (8 5 3) . Se va folosi secvena MathCAD
1 x := 2 4
8 y := 5 3
14 x y = 35 21
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 1 1 A := 1 9 1 1 1 8
7 b := 9 10 7 9 10
x := A
1 x = 1 1
7 1 1 A := 1 9 1 b := 1 1 8
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
Ay
y0 := 0
y1 := 0
y2 := 0
1 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 A := 1 9 1 1 1 8
Ay
7 b := 9 10
y0 := 0
y1 := 0
y2 := 0
Given
Y := Minerr( y)
1 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 A := 2 1 2 0 2 0
i := 0 .. 2
:= eigenvalsA) (
v i := eigenvec A , i) (
Extragerea unei submatrice dintr-o matrice se face cu funcia submatrix(), preciznd matricea, linia de nceput i sfrit, coloana de nceput i sfrit.
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 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 9 A := 1 5
b :=
4 8
3 7
2 B := submatrixA , 2 , 3 , 1 , 3) ( B=
6 2 3 4 6 7 8
2 3 4 6 7 8
10 11
C := augment B , b) (
C=
2 3 4 10 6 7 8 11
fie din paleta Symbolic (din meniul principal View, Toolbars, apoi Symbolic)
13
Utilizarea calculatoarelor
Derivarea simbolic a unei funcii de o variabil real se poate face astfel: a) se poziioneaz cursorul pe variabil n expresia funciei de derivat i din meniul Symbolics se alege Variable, apoi Differentiate; d , se precizeaz funcia i se cere evaluarea b) din paleta Calculus se alege operatorul dx simbolic () din paleta Symbolic.
Exemplu. Secvena urmtoare determin derivata simbolic a funciei ambele moduri. a)
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
Dezvoltarea n serie MacLaurin a unei funcii de o variabil real se poate obine: a) fie fixnd cursorul pe variabil i lund din meniul principal Symbolics, Variable, Expand to Series, urmnd a preciza ordinul de aproximare, b) fie alegnd series din paleta Symbolic i preciznd n zona de editare din stnga funcia de dezvoltat, iar n zona de editare din dreapta, variabila i ordinul de aproximare.
Exemplu. Secvena de mai jos permite obinerea dezvoltrii n serie MacLaurin a funciei f ( x ) = ln(1 + x ) . a)
ln( 1 + x) b)
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
( )
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
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
k =1
k=1
1 1 3 1 2 1 k ( n + 1) ( n + 1) + n + 3 2 6 6
2
k=1
k ( n + 1)
).
Gruparea n factori ireductibili a unei expresii algebrice se realizeaz utiliznd a) din sub-meniul Symbolics, Factor (mai nainte trebuie selectat expresia care trebuie redus),
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)
Reducerea termenilor asemenea dintr-o expresie algebric se realizeaz n cele dou modaliti de mai nainte, astfel: a) se poziioneaz cursorul pe variabil i din sub-meniul Symbolics se selecteaza Collect, b) din paleta Symbolic se selecteaz collect, n zona de editare din stnga se precizeaz expresia, iar n cea din dreapta, variabila.
Exemplu. s se simplifice expresia 2 x 2 + 5 x 6 x 2 + x 3 + x + 4 . Se procedeaz ca n figura care urmeaz. a)
b) 2 x + 5 x 6 x + x + x + 4 collect, x 3 x + 5 x + x + 4
2 2 3 2 2 3
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
Calculul determinantului, inversei i transpusei unei matrice depinznd de parametri se poate realiza astfel: a) se selecteaz matricea i din sub-meniul Symbolics se alege Matrix, apoi operaia dorit, b) se selecteaz din paleta Symbolic operaia dorit i se precizeaz n zona de editare matricea iniial. 1 x x Exemplu. Pentru matricea A( x, y ) = x 2 1 y , s se calculeze determinantul i inversa sa. y x 1
Se folosesc secvenele: a)
18
MathCAD
b)
Pentru reprezentarea grafic a unei funcii de o variabil se precizeaz funcia, apoi domeniul de variaie al variabilei independente. Din paleta Graph se alege butonul corespunztor tipului de reprezentare dorit. Altfel, se poate ca din sub-meniul Insert, s se selecteze Graph i de aici tipul de grafic pentru reprezentarea funciei. Se poate alege reprezentarea ntr-un sistem de axe cartezian (X-Y Plot) sau reprezentare polar (Polar Plot). Precizarea domeniului de variaie al variabilei se poate face astfel: a) dac x [a, b] se scrie x:a,a+p:b , unde p este pasul cu care se modific valorile lui x. b) se precizeaz pe grafic n colul din stnga jos a , iar n colul din dreapta jos b. Domeniul implicit de variaie al variabilei independente se poate modifica folosind oricare dintre cele dou posibiliti de mai sus.
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.
n exemplele urmtoare sunt prezentate secvenele MathCAD care permit reprezentarea grafic a curbelor date de ecuaia cartezian explicit, ecuaia n coordonate polare i ecuaii parametrice.
Exemple. A. Reprezentarea grafic a curbelor n coordonate carteziene
f ( x) g ( x) 5 0 5
1 x unghiul
20
MathCAD
25.075
h ( x) 1 20 25.082 40 2 x 2 0 1
v( x) := e
l( x) := ln( x)
u ( x) v ( x)
100
50
0 x
21
Utilizarea calculatoarelor
1.609
ln( x) 2 2.303 4
0.1
:= 0 , 0.001 .. 3
0 2.25 4.5
330
90
60 30 0 330
22
MathCAD
3) Roza cu 3 bucle
( ) := 4 sin( 3 )
Rosa cu 3 bucle
120 90 60 30 0 330 240 270 300
( )
Roza cu 4 bucle
120 90 60 30 0 330 240 270 300
( )
0 1 2 3
( ) := 4
90
60 30 0 330
0 10 20 30
23
Utilizarea calculatoarelor
6) Spirala logaritmica
( ) := e
:= 0 , 0.001 .. 12
Spirala logaritmica
( )
Astroida
5
y ( t) 5 0 5
5 x ( t)
2) Cicloida x ( t ) := 3 ( t sin ( t ) ) y ( t ) := 3 ( 1 cos ( t ) ) t := 0 , 0.01 .. 4
10
Cicloida
y ( t)
10
15
20
25
30
35
40
x ( t)
24
MathCAD
a := 2
b := 1
x( t) := a + r cos ( t)
y( t) := b + r sin( t)
10
x ( t) , a
x( t) := u + a cos ( t)
y( t) := v + b sin( t)
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 ] , 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
n care se precizeaz valoare iniial i final pentru variabila FRAME, precum i numrul de cadre pe secund se selecteaz zona de grafic ce se dorete a fi animat se apas butonul Animate din fereatra de mai sus apare fereastra Play Animation i se apsnd butonul Play realizeaz animaia. Se poate modifica viteza de deplasare a spotului luminos ca n figura alturat. Figura urmtoare art cum se poate realiza animarea graficului funciei f .
Vom evidenia dou modaliti de reprezentare a suprafeelor n MathCAD: punctele suprafeei vor fi depuse ntr-o matrice
26
MathCAD
folosind QuickPlot Data din 3-D Plot Format . Pentru reprezentarea suprafeelor folosind o matrice se procedeaz astfel: - se precizeaz funcia de reprezentat, - se depun n vectori valori ale celor dou variabile, - se depun valorile funciei n punctele precizate ntr-o matrice, - din sub-meniul Insert, se selecteaz Graph, apoi Surface Plot i n zona de editare care apare se trece matricea n care s-au depus punctele suprafeei, sau din paleta Graph se selecteaz butonul Surface Plot ca n figur. Ca i n cazul curbelor, se poate da un nume graficului, axelor, se poate colora graficul, se pot reprezenta mai multe suprafee pe aceleai axe etc. Prinznd cu mouse-ul de grafic, acesta poate fi rotit pentru a gsi o poziie mai avantajoas a figurii. Fcnd clic cu butonul drept al mouse-ului deasupra graficului apare meniul imediat din figura alturat i de aici selectnd Format apare fereastra 3-D Plot Format, care permite aranjarea ntr-o manier personalizat a graficului.
i := 0 .. 80
j := 0 .. 180
ai , j := f( xi , yj)
reduse.
27
Utilizarea calculatoarelor
2) Paraboloidul hiperbolic f( x , y) :=
y x 4 9
i := 0 .. 80 ai , j := f( xi , yj)
a
x
2
i := 0 .. 80
j := 0 .. 180
yj := 9 + 0.1 j
ai , j := f( xi , yj)
b := a
Hiperboloidul cu o panza
a,b
28
MathCAD
i := 0 .. 80 b := a
j := 0 .. 180
ai , j := f( xi , yj)
Hiperboloidul cu 2 panze
a,b
5) Elipsoidul f( x , y) := xi := 4 + 0.1 i
x y 4 9
i := 0 .. 80 ai , j := f( xi , yj)
j := 0 .. 180 b := a
yj := 9 + 0.1 j Elipsoidul
a,b
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
Observaie. Dac n fiierul nestructurat se afl n nregistrri, pentru a le citi pe toate se folosete un ciclu i valorile citite se depun ntr-un vector. 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 i := 0 .. 2 APPEND( "ns.dat") := b vi := READ( "ns.dat") APPEND( "ns.dat") := c 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.
Pentru lucrul cu fiiere structurate se folosesc urmtoarele comenzi: - scrierea se face cu WRITEPRN(nume_extern.PRN):variabila - citirea se face cu variabila:READPRN(nume_extern.PRN) - adugarea de nregistrri noi la sfritul unui fiier existent APPENDPRN(nume_extern.PRN):variabila
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.
Urmtorul document MathCAD d un exemplu de utilizare a comenzilor pentru lucrul cu fiiere structurate i utilizarea ctorva funcii referitoare la vectori i matrice.
Lucrul cu fisiere structurate 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 A := 1 1
1 1 1 8 2 2 1 9 1
1 1 10
8 10 b := 11 11
n := 4
WRITEPRN( "f.prn" := A )
APPENDPRN( "f.prn" := b )
X := READPRN( "f.prn" )
7 1 X = 1 1 8
1 1 1 8 2 2 1 9 1
1 1 10
10 11 11
C := submatrixX , 0 , n 1 , 0 , n 1) (
d := submatrixX , n , n , 0 , n 1) (
7 1 1 8 C= 1 2 1 1 8 10 T d = 11 11
1 1 2 1 9 1 1 10
D. Solutia sistemului x := C
1 T
1 1 x= 1 1
32
MathCAD
X := READPRN 1 1 1 8 2 2 1 9 1
7 1 1 X= 1 8 1
n 1 n 1
1 1 10 10 11 11 1 1 1
i= 0 j= 0
( Ci , j) 2
ne = 17.66352
nm := norme( C) nm = 1
3
det ( C) := C
det( C) = 4.293 10
0.15351 0.02819 0.02562 0.02073 0.02819 0.14023 0.03657 0.0205 = 0.02562 0.03657 0.12416 0.01863 0.02073 0.0205 0.01863 0.10599
0 0 0 2.64575 0.37796 2.80306 0 0 R= 0.37796 0.76447 2.87623 0 0.37796 0.40772 0.50571 3.07167
R := cholesky( C)
y := R
( T ) 1 dT
x := R
33
Utilizarea calculatoarelor
R := submatrixQR , 0 , n 1 , n , 2 n 1) (
7.2111 1.6641 1.80278 2.08013 8.19944 4.26859 2.25156 0 R= 0 0 8.09501 3.62705 0 0 8.96928 0
1 T
y := Q
x := R
1 1 x= 1 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
Exemplu. Polinomul de interpolare al lui Lagrange Fiind dat o funcie, f, cunoscut prin msurtori efectuate asupra ei, n punctele x0,..., xn, numite noduri de interpolare, yi=f(xi) , se cere s se determine valoare aproximativ a acestei funcii n punctul a xi , ()i = 0, n . Exist mai multe modaliti de a aproxima funcia necunoscut f, dar cele mai utilizate sunt cele care consider ca funcie aproximant polinoamele. n a x n j Polinomul de interpolare al lui Lagrange, Pn (a) = y i , este unic cu i =0 j = 0 xi x j
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
j i
S se afle valoare aproximativ a acestei funcii n punctul a=1. MathCAD rezolv aceast problem.
Urmtoarea
secven
2 1 x := 0 2
i := 0 .. n vi :=
1 3 y := 1 3
if i j ,
n := last( x)
a := 1
j= 0
a xj xi xj
,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
Ciclurile cu numr necunoscut de repetri se realizeaz cu while. Se precizeaz condiia, iar cu linia urmtoare ncepe corpul ciclului. Instruciunea condiional if are n zona de editare din stnga instruciunea ce trebuie realizat dac expresia boolean din zona de editare din dreapta lui if are valoarea adevr (true). Dac exist otherwise i valoarea expresiei booleene era fals (false) se execut instruciunea din partea stng a instruciunii otherwise. Dac nu exist otherwise se execut instruciunea de dup if . Zona de editare din stnga instruciunilor if sau otherwise poate conine o instruciune compus. Pentru aceasta se apas n zona de editare respectiv Add Line de attea ori cte instruciuni simple sunt n acea instruciune compus. Tabelul urmtor prezint operaiile i operatorii logici care se pot folosi n instruciunile if i while (T True, F False; X, Y variabile booleene). X T T F F 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
i= 1
f( a + 2 ih)
s2 h 3
i= 1
f[ a + ( 2 i 1) h ]
( 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 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
h 2
( f( a) + f( b) + 2 s1)
( x3)
int := Calcul 1 , 2 , 10 , 12 , g) (
int = 0.24658
9.8. Aplicaii
9.8.1. Rezolvarea ecuaiilor i inecuaiilor A. Ecuaii algebrice
Funcia polyroots(v) returneaz rdcinile polinomului ai crui coeficieni sunt depui n vectorul v , pe prima poziie fiind termenul liber.
37
Utilizarea calculatoarelor
Exemplu. S se gseasc toate rdcinile ecuaiei 2 x 3 3 x 2 + 1 = 0 . Se introduc coeficienii n vectorul v (pe prima poziie fiind termenul liber, apoi coeficienii lui x, x2 .a.m.d.), apoi din sub-meniul Inset, selectm Function, iar din fereastra Insert Function, alegem polyroots, ca n figura de mai jos, unde sunt determinate soluiile ecuaiei 2 x 3 3 x 2 + 1 = 0 .
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
g( x) := x + 1 z1 := root( g( x) , x)
4
Valoarea initiala
x := 1 + i z1 = 0.70712 + 0.70712i
g( x) , x z2 := root x z1
g( x) z3 := root , x x z1 x z2
z2 = 0.70687 0.70687i
)(
z3 = 0.70711 + 0.70711i
g( x) z4 := root , x x z1 x z2 x z3
)(
)(
z4 = 0.70732 0.70755i
C. Inecuaii neliniare
Pentru rezolvarea inecuaiilor se scrie inecuaia, se poziioneaz cursorul pe variabila n raport cu care trebuie rezolvat inecuaia, se selecteaz Variable din sub-meniul Symbolics i de aici Solve, ca n figura de mai jos, n care se gsete soluia inecuaiei (x 2 9)(x 2) > 0 .
39
Utilizarea calculatoarelor
Pentru rezolvarea acestor sisteme se folosete funcia find(v1,,vn) sau Find(v1,,vn). Se procedeaz astfel : se iniializeaz necunoscutele cu valori din vecintate soluiei ; se ncepe cu cuvntul cheie given sau Given; se scrie blocul de restricii (ecuaii sau inectuaii) ; afiarea vectorului soluie ca rezultat al funciei find sau Find.
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 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 Given x +y x +y
4 2 2 4
=6 = 20
. Se iniializeaz algoritmul
y := 1
6 20
S := Find( x , y)
S=
1.414 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 Given x +y x +y
4 2 2 4
y := 1
6 20
S := Find( x , y)
S=
1.414 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).
Optimizarea folosind Mathcad
Se dau: functia de optimizat valori initiale pentru variabile se scrie cuvantul cheie Given se trec restrictiile se scrie cuvantul cheie Maximize/Minimize se afiseaza solutia
A. Cazul programarii liniare 1. Problema de maximizare S-a observat c n fiecare lun, masinile M1, M2, M3 , ce lucreaz ntr-o sectie a unei ntreprinderi, nu sunt folosite 8 ore, 24 de ore si respectiv 18 ore. Se ia hotrrea s se foloseasc si acest timp, punndu-le s lucreze la fabricarea a 2 produse suplimentare, P1 si P2 , ca produse anexe ale sectiei, care aduc un profit la unitatea de produs fabricat de 4 si respectiv 3 unitti monetare. Timpul necesar de lucru la fiecare masin este, pe fiecare produs, dat de tabelul urmator P1 P2 M1 2 1 M2 3 2 M3 1 3 S se determine planul de productie al sectiei pentru cele doua produse care sa dea profitul maxim
41
Utilizarea calculatoarelor
2 x + y 8 3 x + 2 y 24
x 0
y 0 x + 3 y 18 S := Maximizef , x , y) (
Solutia optima S= Valoarea functiei obiectiv f( S1 , S2) = 21.6
1.2 5.6
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 3 4
x1 0 x2 0 x3 0 x4 0 S := Minimizef , x1 , x2 , x3 , x4) (
Solutia optima Valoarea functiei obiectiv f( S1 , S2 , S3 , S4) = 29
0 1.5 S= 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 Statie betoane S1 S2 S3 Necesar B1 8 4 1 5 B2 3 1 9 10 B3 5 6 4 20 B4 2 7 3 15 Disponibil 10 15 25
S se gseasc un plan de transport care s determine cantittile zilnice de mortar ce xij trebuie aduse de la statia de betoanei la blocul j, astfel nct cheltuielile de transport s fie minime.
43
Utilizarea calculatoarelor
8 3 5 2 A := 4 1 6 7 1 9 4 3
10 a := 15 25
f( x) :=
5 10 b := 20 15
0 0 0 0 x := 0 0 0 0 0 0 0 0
Functia obiectiv
i= 1
i i A ( x)
i 1
Given
(x) 1
b1
(x) 2
a1
b2
(x) 3
a2
b3
(x) 4
a3
b4 x 0
( xT ) 1
Solutia
( xT ) 2
( xT ) 3
X := Minimizef , x) (
0 0 0 10 X = 0 10 5 0 5 0 15 5
f( X) = 140
x2 := 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