Documente Academic
Documente Profesional
Documente Cultură
CURS 6
PROGRAM DE CALCUL NUMERIC
MATHCAD
CURS 6: Mathcad
Mathcad
Produs soft destinat rezolvrii problemelor ce implic
efectuarea de calcule matematice, de la simple formule
pn la rezolvarea de ecuaii, sisteme de ecuaii, ecuaii
difereniale, calcul integral, calcul matricial, att la nivel
numeric ct i la nivel simbolic. Mathcad permite
trasarea de grafice (2D i 3D), prelucrarea de imagini,
interaciunea cu fiiere de date, precum i cu alte
aplicaii
Produsul este destinat studenilor, specialitilor din
industrie i cercetare, cadrelor didactice din nvmntul
mediu i superior.
2
CURS 6: Mathcad
Mathcad
are interfaa de lucru (desktop-ul MathCAD), deosebit de
prietenoas i care utilizeaz tehnica WYSIWYG (What
You See Is What You Get) astfel nct att aspectul
documentelor MathCAD, dar mai ales modul de
completare sunt identice cu cele care s-ar obine n cazul
folosirii hrtiei i creionului
documentele MathCAD pot fi evaluate integral n mod
automat ori de cte ori se produce o modificare n
structura lor, astfel c ntotdeauna rezultatele afiate vor
reflecta starea curent a documentului
CURS 6: Mathcad
Suprafata de
scriere a
formulelor
Functii
Instrumente matematice
CURS 6: Mathcad
CURS 6: Mathcad
CURS 6: Mathcad
Variabile
Numele variabilelor poate conine oricare din urmtoarele caractere :
Caracterele alfabetului latin, a..z, A..Z;
Cifrele de la 0 la 9;
Caracterul _, simbolul
Caracterul %
Caracterele alfabetului grec
Simbolul infinit
Un nume de variabil nu poate ncepe cu o cifr sau cu unul din caracterele
_, , sau %.
Toate caracterele dintr-un nume de variabil trebuie s fie de acelai tip (s
aparin aceluiai font, s aib aceeai dimensiune i acelai stil (bold, italic,
underlined etc)). Deci nu pot fi folosite caractere latine i greceti n acelai
nume de variabil.
Atentie! MathCAD face diferena ntre majuscule i minuscule, astfel c
variabila timp este diferit de variabila TIMP.
7
CURS 6: Mathcad
Variabile
Indicii unei variabile pot fi scrisi diferit:
CURS 6: Mathcad
Inserarea tipurilor de obiecte in MathCAD:
a ) Numerice : cifre de la 0 la 9, operatori matematici (+,-,*,/,^),
functii (log,sin,cos,exp, etc)
introduse direct sau utilizand Arithmetic Toolbar
6
15
= 13
( 15 6 )
3
= 3
15 6
3
15 6
3
= 3
3 4.7 = 14.1
3
4
= 9
log ( 5 )
9= 2.635
CURS 6: Mathcad
10
CURS 6: Mathcad
c) Expresii matematice:
Atribuirea valorilor unei variabile se face utilizand semnul :
pe ecran apare semnul :=
Subiectul nr 1
x := 3.7
x ia valoarea 3.7
1 + x = 4.7
Se calculeaza 1+x
y ia valoarea x2-7
y := x 7
y = 6.69
11
CURS 6: Mathcad
c) Functii:
Initializarea variabilelor
x:=2..20
Scrierea functiei
f(x):x^3-a/x^2-1
Evaluarea functiei
f(x)=
x:=2..20
3
f ( x) :=
x a
2
x 1
f ( x) =
1.667
3
4.067
5.083
f(5)=
6.086
7.083
8.079
f ( 5) = 5.083
9.075
10.071
11.067
12.063
13.06
14.056
15.054
16.051
17.049
12
CURS 6: Mathcad
c) Functii:
g ( a , b ) := a + b + 33
g ( 0 , 0) = 33
g ( 1 , 1) = 35
13
CURS 6: Mathcad
c) Vectori (definirea automata sau manuala)
# spatiu
Scrie i:0;9
Scrie x[i#:2*i
Scrie y[i#:2*x[i#^2
i := 0 .. 9
x := 2 i
i
( i)2
y := 2 x
i
i=
0
0
1
x= 4
10
12
14
16
18
0
0
32
72
y = 4 128
5
200
288
392
512
648
14
CURS 6: Mathcad
c) Vectori (definirea automata sau manuala)
i := 0 , 2 .. 10
Scrie i:0,2;10
Scrie x[i#:2*i
Scrie y[i#:2*x[i#^2
x := 2 i
i
( i)
y := 2 x
i
i=
0
32
x = 2
i
y = 2 128
i
12
288
16
512
10
20
800
2
4
6
i=
x=
y=
15
CURS 6: Mathcad
c) Vectori (definirea automata sau manuala)
Scrie j:0;4
Scrie x[j#:2.01,2.98,4.04,4.97,6.03
j := 0 .. 4
x :=
j
2.01
2.98
4.04
4.97
6.03
y :=
j
1
2
3
4
5
x +y =
j
0
10
Scrie y[j#:1,2,3,4,5
Scrie x[j#+y[j#=
36
78
136
16
CURS 6: Mathcad
Exercitiu
Se considera un gaz ideal. Sa se reprezinte grafic variatia presiunii cu volumul
pentru un mol de gaz la temperatura de 200K.
Constante
n=1 numar de moli
T=200 K temperatura
R= 0.0821 atm L/mol K constanta gazelor
Volumul va fi definit ca un vector de 60 valori intre 0.01 L si 0. 6 L
Se genereaza vectorul presiunilor
n R T
pi =
Vi
Vi:=i.0.01+0.01
17
CURS 6: Mathcad
Exercitiu
Se considera un gaz ideal. Sa se reprezinte grafic variatia presiunii cu volumul
Pentru un mol de gaz la temperatura de 200K.
v =
i
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
0.16
p =
p2 =
1.64210 3
3.28410 3
821
1.64210 3
547.333
1.09510 3
410.5
821
328.4
656.8
273.667
547.333
234.571
469.143
205.25
410.5
182.444
364.889
164.2
328.4
149.273
298.545
136.833
273.667
126.308
252.615
117.286
234.571
109.467
218.933
102.625
205.25
3.28410
R := 0.0821
34000
3000
T := 200
pi
i := 0 .. 59
p2 i
v := i 0.01 + 0.01
i
p :=
1000
n R T
p2 :=
i
2000
27.367
n R T 2
v
0
0.01
0.1
0.2
0.3
0.4
0.5
vi
0.6
0.6
18
CURS 6: Mathcad
c) grafice
-se va poziiona cursorul la dreapta i sub definiia funciei
-se va activa cmpul Insert / Graph / X-Y Plot
-la poziia curent a cursorului va apare o regiune de tip grafic la care se vor
completa numai marcatorii de la jumtile axelor ox i oy
19
CURS 6: Mathcad
-limitele superioar i respectiv inferioar de variaie a variabilei de reprezentare
pot s nu fie precizate n mod explicit, caz n care se vor considera egale cu 10
i respectiv -10;
-limitele superioar i respectiv inferioar pentru domeniul de reprezentat pot s
nu fie precizate, caz n care vor fi folosite valoarea maxim, respectiv minim a
expresiei/funciei de reprezentat, nregistrate pe domeniul de lucru;
-pot fi trasate mai multe curbe pe acelai grafic, curbe ce pot depinde de una
sau mai multe variabile;
-dac se folosesc mai multe variabile, acestea trebuie separate prin virgul
20
CURS 6: Mathcad
21
CURS 6: Mathcad
=0,0.001..8
=0,0.001..12
22
CURS 6: Mathcad
90
90
120
60
120
150
30
( ) 180
150
0
1
210
330
240
300
60
30
( ) 180
0
1
330
240
300
270
( ) := 2 ( 1 + cos ( ) )
210
270
:= 0 , 0.001.. 30
:= 0 , 0.001.. 30
( ) := 2 cos ( 2)
23
CURS 6: Mathcad
24
CURS 6: Mathcad
1000
2000
4000
2000
4000
5000
3500
4000
an := 2005 + i 1
i
an =
i
2005
5000
4000
2006
2007
2008
2009
2010
3000
Productiai
2000
1000
2011
2012
0
2004
2006
2008
2010
2012
ani
25
CURS 6: Mathcad
j := 0 .. 180
x := 4 + 0.1 i
y := 9 + 0.1 j
f ( x , y ) :=
f x ,y
i
i, j
:= f x , y
i
=
13
12.803
12.61
12.422
12.24
12.063
11.89
11.723
11.56
11.402
11.25
11.102
10.96
10.822
10.69
...
26
CURS 6: Mathcad
Rezolvarea ecuatiilor
a) cu o sigura variabila
Initializare variabila
x := 0
Given
2
x 1
Find( x) = 1
inseamna calculeaza
27
CURS 6: Mathcad
Rezolvarea ecuatiilor
b) cu mai multe variabile
x := 0
Initializare variabile
y := 0
Given
2
x + y + 2y
Find( x, y ) =
2.162
CURS 6: Mathcad
Vectori si matrici
a) Introducerea elementelor
- se poziioneaz cursorul n zona dorit n documentul
MathCAD;
- se activeaz opiunea Matrices din meniul Insert
sau se tasteaz Ctrl+M.
- se completeaza nr de linii si coloane
- pentru fiecare element apare un placeholder in
care se completeaza elementele vectorului sau
matricii
-
29
CURS 6: Mathcad
Vectori si matrici
b) Originea indicilor
Referirea elementelor vectorilor sau matricelor presupune
utilizarea indicilor.
Valoarea minim a indicelui/indicilor este dat de variabila
predefinit numit ORIGIN - este implicit setat pe valoarea
0.
V = V0 V1 V2 .... VN
a0 , 0
A = a1, 0
a
2, 0
a0,1
a1,1
a2,1
a0 , 2
a1, 2
a2, 2
30
CURS 6: Mathcad
Vectori si matrici
31
CURS 6: Mathcad
Vectori si matrici
32
CURS 6: Mathcad
Vectori si matrici
1
A := 0
Transpusa
Inversa
Extragerea unei coloane
Produs scalar
Produs vectorial
Suma elementelor
1
b := 2
3
0 0
1 0
0 1
1
b 1 = 0.5
0.333
b0 = 1
b1 = 2
b2 = 3
b = (1 2 3 )
1
T
b b = 2
2 3
4
6
0
6 b b = 0
9
0
1
0
A0 = 0 A1 = 1
0
0
A1 , 1 = 1
A b =
1
2
3
33
CURS 6: Mathcad
Vectori si matrici
Model 1
Model 2
34
CURS 6: Mathcad
Vectori si matrici
Extragerea unei submatrici din matrice :Functia submatrix
Alipirea a unui vector la o matrice: Functia augment
0
ORIGIN:= 1
5
9
A :=
1
5
8 7 6
2 3 4
6 7 8
4
10
11
b :=
B := submatrix( A , 3 , 4 , 2 , 4)
2 3 4
6
7
B=
2 3 4 10
6 7 8 11
C=
35
CURS 6: Mathcad
Diferentiale si integrale
Diferentialele pot fi evaluate dupa doua cai:
- Evaluare simbolica utilizand simbolul
- se tasteaza expresia de diferentiat
- se alege functia SIMBOLICS/Variables/Differentiate
( 2) x
d 2x
( 2) e
e
dx
36
CURS 6: Mathcad
Diferentiale si integrale
37
CURS 6: Mathcad
Diferentiale si integrale
- utilizand butoanele d/dx din meniul Calculus
- se definste functia
- se alege operatorul
- se alege sageata la dreapta
de ( m , v) :=
m
v
1
d
de ( m , v)
v
dm
m
d
de ( m , v)
2
dv
v
38
CURS 6: Mathcad
Diferentiale si integrale
39
CURS 6: Mathcad
Sume si produse
40
CURS 6: Mathcad
Unitati de masura
- Alegerea sistemului de unitati de masura Math/Options
- Scrierea unitatilor in limba engleza
- Alegerea unitatilor din meniul INSERT/Units
F := 100 N
m := 10 kg
F
a :=
m
m
a = 10
s2
41
CURS 6: Mathcad
Ce este un program?
Un program este o expresie construita din mai multe instructiuni. In exemplul de
mai jos este scrisa o expresie singulara (pe o linie) si aceeasi expresie ca un
program:
CURS 6: Mathcad
43
CURS 6: Mathcad
44
CURS 6: Mathcad
Instructiuni conditionale
Utilizati o instructiune conditionala daca doriti ca anumite
operatii sa fie executate numai daca o conditie este
indeplinita (TRUE sau pozitiva!).
Introducerea unei structuri conditionale:
Click pe placeholder-ul in care vreti sa plasati
instructiunea conditionala.
Click pe butonul "If" sau Shift+]. NU scrieti cuvantul
"if".
In placeholder-ul din dreapta, scrieti conditia (o
expresie booleana! numerica este riscanta).
Click pe butonul "Add Line" pentru inserarea de
placeholder-e aditionale daca este necesar daca se f ( x) :=
adauga in stanga, conditia comuta...
Click pe placeholder-ul ramas si click pe butonul
"otherwise". NU scrieti cuvantul "otherwise".
x >2
0 if
4x
f (2) = 0
In placeholder scrieti valoarea ce trebuie returnata de f ( 1 ) = 1.732
program cand conditia este falsa.
45
CURS 6: Mathcad
Calcul functie simpla
Functie cu 2 ramuri
x := 1 .. 10
F( x) :=
y := 1 , 10.. 100
if x < 0
x
f( x, y ) :=
F( x) =
100
log ( z)
81
y =
x=
1
2
3
4
5
6
7
8
9
10
f( x, y ) =
64
1 if x 0
otherwise
2 if x
3 otherwise
49
1
10
0
0.301
19
0.477
25
28
0.602
37
0.699
16
46
0.778
55
0.845
64
0.903
73
0.954
82
91
-1
100
-0.699
36
f( 1) = 1
f( 0)
f( 2) = 3
-1
-4
-0.523
-9
-0.398
-16
-0.301
-25
-0.222
otherwise
f( x) :=
x
y
Functie cu 3 ramuri
46
CURS 6: Mathcad
a := 1
6
11
2
5
6
7
8
0
4
1
c := 1
2
tipsol ( a , b , c) :=
delta b 4 a c
"reale" if delta 0
"complexe" otherwise
x1 :=
delta b 4 a c
m1
m2
b delta
2 a
b
2 a
2 a
x1 = 1
delta b 4 a c
delta
2 a
b
2 a
2 a
x :=
i
x2 = 1
if delta 0
delta
ss+x
rez( n ) = 50
n := 10
i := 1 , 2 .. n
b +
for i 1 .. n
i otherwise
m1
x2 :=
s0
if delta 0
delta
rez( n ) :=
i otherwise
( )
( ))
sol := concat tipsol ( 1 , 4 , 3) , ", x1= " , num2str x1 , ", x2= " , num2str x2
sol = "reale, x1= -1, x2= -1"
6
11
2
5
6
7
8
0
4
1
rez( n ) :=
nr1 0
nr2 0
for i 1 , 2 .. n
(i )
rez( n ) = ( 6 4 )
47
CURS 6: Mathcad
CURS 6: Mathcad
CURS 6: Mathcad
50
CURS 6: Mathcad
CURS 6: Mathcad
sum( n ) :=
s0
for x 1 .. n
ss+x
sum( 5) = 15
52
CURS 6: Mathcad
CURS
6: Mathcad
Exemplu:
Functia
factorial, echivalenta in Mathcad cu operatorul factorial...
F( n) :=
f 1
while n n 1
f f (n + 1)
f
F( 6 ) = 720
Instructiunea RETURN
Orice secventa de program are un return implicit, in sensul ca se revine
in structura superioara cu ultima valoare calculata, dupa ultima linie
Folosind explicit cuvantul return, se iese din program in alta parte si
cu altceva (!) decat se calculeaza la ultima linie
54
CURS 6: Mathcad
f n
while 1
f f ( n 1)
break if n
nn1
f
55