Sunteți pe pagina 1din 288

Ionu Lambrescu

MATHCAD

Editura Universitii din Ploieti


2004

Coperta 2

Autorul aduce deosebite mulumiri


Societii Naionale a Petrolului PETROM S. A. Bucureti
pentru sprijinul acordat n vederea apariiei acestei lucrri.
2

Ionu Lambrescu

MATHCAD

Editura Universitii din Ploieti


2004

Pagina cu ISBN-ul

Prefa
Rezolvarea multor probleme inginereti implic utilizarea
calculatorului electronic. n fapt, este de neconceput s se
obin rezultate de calitate, n timp scurt, sau s se imagineze
munca n echip (ai crei membri pot fi distribuii pe mari
spaii geografice), fr utilizarea calculatorului.
Pe piaa produselor software de calcul tiinific-ingineresc (i
nu numai), oferta este relativ variat. MathCAD, Matlab,
Mathematica, sunt numai cteva din mrcile ce acoper
aceast zon de activitate.
Ca ntotdeauna exist tentaia ierarhizrilor. Care soft e mai
bun?, este ntrebarea la care rspunsul nu este chiar aa de
uor de dat. Cel mai bun produs este cel pe care-l stpneti
cel mai bine, cu care ai lucrat, cu care ai o experien.
Tentaia (manifest mai ales la utilizatorii tineri) este de lucra
cu toate (sau aproape toate) produsele similare. Firete este o
greeal. Dup cum o greeal este cantonarea ncpnat
la unul singur. Probabil c o soluie echilibrat ar fi acoperirea
acceptabil a dou produse (ceea ce nu este att de greu pe
ct poate prea, pentru c exist multe similitudini n tehnica
de operare sau n logica de lucru).
Pentru studeni sau specialiti crora li se adreseaz aceast
carte - un anumit nivel de aplicaii poate fi abordat prin

utilizarea [i a] Mathcad-ului, un produs cu o interfa


prietenoas, cu algoritmi acceptabili pentru niveluri de
complexitate medii i mai ales un produs foarte uor de
nvat. Cartea se dorete un sprijin pentru cei care vor s
nvee s lucreze cu Mathcad, sau pentru cei care vor s se
perfecioneze. Parcurgerea ei nu asigur automat obinerea de
rezultate de nalt nivel, dar poate fi un punct de pornire, de la
care se poate continua prin studiu individual i mai ales prin
ncercarea de a folosi MathCAD-ul pentru rezolvarea unor
probleme reale.
Adresez mulumiri domnului Liviu Dumitracu, Prorector al
Universitii Petrol Gaze din Ploieti, pentru sfaturile i
ndrumarea acordate pe parcursul redactrii lucrrii.
Autorul aduce i pe aceast cale mulumiri desosebite
domnului Coloja Pascu Mihai, Prorector al Universitii Petrol
Gaze din Ploieti, fr ajutorul cruia aceast carte nu ar fi
putut s apar aa cum a aprut.
Mulumiri se cuvin i celor doi referenii, pentru rbdare i
observaiile utile pe care le-au fcut
Autorul

CUPRINS
1

PRODUSUL MATHCAD. PREZENTARE ................................................. 13


1.1 INTRODUCERE ............................................................................... 14
1.2 NOUTI ADUSE DE MATHCAD 2001........................................... 14
1.3 CERINE HARD I SOFT PENTRU INSTALARE .................................. 15
1.4 FIIERE MATHCAD ...................................................................... 16
1.5 MEDIUL DE LUCRU MATHCAD. ECRANUL MATHCAD,
FERESTRE, DOCUMENTE................................................................. 16
1.6 STRUCTURA UNUI DOCUMENT MATHCAD.
NOTIUNEA DE REGIUNE ................................................................. 18
1.7 TEHNICI DE LUCRU ........................................................................ 19
2
LANSAREA COMENZILOR N MATHCAD.............................................. 21
2.1 MENIURI MATHCAD. PREZENTARE GENERAL ............................ 22
2.2 BARE DE UNELTE (TOOLBARS) ...................................................... 22
2.3 AGENDE ELECTRONICE (ELECTRONIC BOOKS)............................... 23
3
DOCUMENTE MATHCAD .................................................................... 27
3.1 CREAREA DE REGIUNI DE TIP EXPRESIE, TEXT SAU GRAFIC ............ 28
3.2 CONSTANTE, VARIABILE, OPERATORI, FUNCII.............................. 31
3.2.1
OPERATORI .......................................................................... 31
3.2.2
CONSTANTE ......................................................................... 32
3.2.3
UTILIZAREA DE BAZE DE NUMERATIE,
ALTELE DECAT CEA ZECIMALA............................................. 32
3.2.4
VARIABILE........................................................................... 33
3.2.5
FUNCII ............................................................................... 37
3.3 CONTROLUL REGIUNILOR INTR-UN DOCUMENT MATHCAD......... 38

EDITAREA SI FORMATAREA REGIUNILOR DE TIP EXPRESIE


SI DE TIP TEXT INTR-UN DOCUMENT MATHCAD ........................... 41
3.4.1
EDITAREA DE EXPRESII ........................................................ 41
3.4.2
INSERAREA SI STERGEREA DE PARANTEZE.
APLICAREA UNEI FUNCTII .................................................... 42
3.5 FONTURI IN EXPRESII MATEMATICE. ETICHETE (TAG-URI) ............. 44
3.5.1
APLICAREA I CREAREA DE ETICHETE ................................. 46
3.6 EDITAREA I FORMATAREA REGIUNILOR DE TIP TEXT. STILURI ..... 46
3.6.1
STILURI................................................................................ 47
3.6.2
CONTROLUL DIMENSIUNILOR UNEI REGIUNI DE TIP TEXT ..... 48
3.7 FORMATAREA REZULTATELOR NTR-UN DOCUMENT MATHCAD . 50
3.8 EVALUARE DOCUMENTELOR MATHCAD...................................... 56
3.8.1
DEZACTIVAREA UNEI ECUAII ............................................. 57
3.8.2
OPTIMIZAREA EVALURILOR ............................................... 58
3.9 DEFINIREA DE HYPERLINK-URI ....................................................... 59
4
CALCUL MATRICEAL NUMERIC ............................................................ 61
4.1 CREAREA UNUI VECTOR SAU A UNEI MATRICE .............................. 62
4.1.1
VARIABILE DE TIP VECTOR SAU MATRICE ........................... 64
4.1.2
REFERIREA ELEMENTELOR VECTORILOR SAU MATRICELOR . 64
4.1.3
ORIGINEA INDICILOR ........................................................... 65
4.1.4
LIMITRI ASUPRA DIMENSIUNILOR MATRICELOR ................. 67
4.2 OPERATORI PENTRU CALCUL MATRICEAL ..................................... 67
4.3 FUNCII PENTRU CALCUL MATRICEAL ........................................... 69
4.3.1
DESCOMPUNEREA L U......................................................... 77
4.3.2
DESCOMPUNEREA CHOLESKY.............................................. 78
4.3.3
DESCOMPUNEREA QR ......................................................... 78
4.3.4
DESCOMPUNEREA SVD
(SINGULAR VALUE DECOMPOSITION).................................. 78
4.3.5
EXEMPLE DE UTILIZAREA A FUNCIILOR
DE CUTARE N TABLOURI ................................................... 82
4.3.6
VECTORIZRI I ATRIBUIRI SIMULTANE ............................... 84
4.3.7
CREAREA DE MATRICE STRUCTURATE ................................. 86
5
REPREZENTRI GRAFICE ...................................................................... 93
5.1 GRAFICE 2D .................................................................................. 94
5.1.1
GRAFICE DE TIP X-Y............................................................ 94
5.1.2
FORMATAREA GRAFICELOR DE TIP X-Y............................... 97
5.1.3
GRAFICE N COORDONATE POLARE .................................... 100
5.1.4
FORMATAREA GRAFICELOR N COORDONATE POLARE ....... 101
5.1.5
CONTROLUL VIZUALIZRII GRAFICELOR 2D ...................... 101
3.4

5.2 GRAFICE 3D ................................................................................ 106


5.2.1
GRAFICE DE TIP SUPRAFA .............................................. 106
5.2.2
GRAFICE DE TIP CURBE DE NIVEL (CONTOUR PLOT) .......... 112
5.2.3
GRAFICE DE TIP PUNCTE DISTRIBUITE N SPAIU
(3D SCATTER PLOTS) ........................................................ 114
5.2.4
GRAFICE DE TIP 3D BAR .................................................... 115
5.2.5
FORMATAREA GRAFICELOR 3D.......................................... 117
5.3 GRAFICE DE TIP VECTOR PLOT .................................................... 123
5.3.1
FORMATAREA GRAFICELOR DE TIP VECTOR....................... 124
6
REZOLVAREA NUMERIC A ECUAIILOR
I A SISTEMELOR DE ECUAII ............................................................. 125
6.1 REZOLVAREA ECUAIILOR ALGEBRICE........................................ 126
6.2 REZOLVAREA ECUAIILOR TRANSCENDENTE .............................. 126
6.3 REZOLVAREA SISTEMELOR ALGEBRICE LINIARE.......................... 128
6.4 REZOLVAREA SISTEMELOR NELINIARE ........................................ 129
6.5 REZOLVAREA APROXIMATIV A SISTEMELOR NELINIARE............ 132
7
DERIVARE I INTEGRARE NUMERIC. CALCUL DE SUME I PRODUSE . 133
7.1 DERIVAREA NUMERIC ............................................................... 134
7.2 INTEGRAREA NUMERIC ............................................................. 135
7.3 CALCUL DE SUME I PRODUSE ..................................................... 136
8
UTILIZAREA UNITATILOR DE MASURA IN DOCUMENTELE MATHCAD 139
8.1 MOD DE LUCRU ........................................................................... 140
8.2 DEFINIREA DE UNITI DE MSUR ............................................ 141
8.3 MODIFICAREA UNITILOR DE MSUR
N CARE ESTE EXPRIMAT UN REZULTAT ....................................... 142
8.4 ALEGEREA SISTEMULUI DE UNITI DE MSUR I CONTROLUL
FORMATULUI DE AFIARE A REZULTATELOR
CU UNITI DE MSUR .............................................................. 144
UTILIZAREA UM N CALCULUL INTEGRAL SAU DIFERENIAL ...... 147

8.5
SCHIMB DE INFORMATIE INTRE MATHCAD SI ALTE APLICATII .......... 149
9.1 INSERAREA UNEI COMPONENTE EXCEL ....................................... 150
9.2 INSERAREA UNEI COMPONENTE MATLAB ................................. 155
9.3 INSERAREA UNEI COMPONENTE DE TIP BAZ DE DATE ................ 159
9.4 INSERAREA UNEI COMPONENTE DE TIP INPUT TABLE .................. 168
9.5 INSERAREA UNEI COMPONENTE DE TIP CONTROL MATHSOFT ..... 169
9.6 INSERAREA UNEI COMPONENTE DE TIP CITIRE (READ), SCRIERE
(WRITE) DIN/N FIIERE ............................................................... 172

9.7

FUNCII PREDEFINITE PENTRU CITIREA/SCRIEREA


DIN/N FIIERE DE DATE ASCII.................................................... 175

10
PROGRAMARE N MATHCAD ........................................................ 177
10.1 PREZENTARE GENERAL ............................................................. 178
10.2 INSTRUCIUNEA DE TEST (IF) ...................................................... 181
10.2.1 DEFINIREA DE FUNCII PE INTERVALE. .............................. 182
10.3 INSTRUCIUNI DE CICLARE .......................................................... 183
10.3.1 INSTRUCIUNEA FOR.......................................................... 183
10.4 CONTROLUL EXECUIEI PROGRAMELOR ...................................... 186
10.4.1 SECVENA BREAK............................................................... 186
10.4.3 SECVENA RETURN ............................................................ 189
10.4.4 SECVENA ON ERROR ......................................................... 189
10.5 SUBRUTINE (PROGRAM N PROGRAM).......................................... 191
10.6 RECURSIVITATE .......................................................................... 192
11
CALCUL SIMBOLIC ......................................................................... 193
11.1 PREZENTARE GENERAL ............................................................. 194
11.2 MODALITI DE EVALUARE SIMBOLIC ...................................... 196
11.2.1 EVALUAREA CU AJUTORUL OPERATORULUI
DE EVALUARE SIMBOLIC .............. ERROR! BOOKMARK NOT
DEFINED.
11.2.2 EVALUAREA CU AJUTORUL OPERATORULUI
DE EVALUARE SIMBOLIC I A CUVINTELOR CHEIE ............ 197
11.2.3 MODIFICATORI DE CUVINTE CHEIE .................................... 208
11.2.4 UTILIZAREA SUCCESIV SAU SIMULTAN
A MAI MULTOR CUVINTE CHEIE .......................................... 209
11.2.5 EVALUAREA CU AJUTORUL MENIULUI SYMBOLICS ............ 211
11.2.6 CONTROLUL FORMATULUI REZULTATELOR SIMBOLICE ..... 218
12
ANIMAIE N MATHCAD .............................................................. 221
12.1 CREAREA I RULAREA UNEI ANIMAII ......................................... 222
12.2 SALVAREA UNEI ANIMAII .......................................................... 225
12.3 RULAREA UNEI APLICAII SALVATE ANTERIOR ........................... 226
13
OPERATORI PERSONALIZAI .......................................................... 227
13.1 INTRODUCERE ............................................................................. 228
13.2 DEFINIREA I UTILIZAREA OPERATORILOR PERSONALIZAI ......... 229
14
FIIERE ABLON (TEMPLATE) ......................................................... 231
14.1 INTRODUCERE ............................................................................. 232
14.2 CREAREA UNUI [FIIER] ABLON ................................................. 234
14.3 MODIFICAREA UNUI ABLON ....................................................... 236
10

FORMATAREA DE PAGINA SI TIPARIREA IN MATHCAD.................. 237


15
15.1 FORMATAREA DE PAGIN............................................................ 238
15.2 TIPRIREA ................................................................................... 240
16
INTERPOLAREA I EXTRAPOLAREA DATELOR.
METODE DE REGRESIE ................................................................... 243
16.1 INTERPOLAREA DATELOR N 2 DIMENSIUNI ................................. 244
16.1.1 FUNCIA LINTERP .............................................................. 245
16.1.2 FUNCIA INTERP ................................................................ 246
16.1.3 FUNCIILE SCPLINE, PSPLINE I LSPLINE ............................ 246
16.2 INTERPOLAREA DATELOR N 3 DIMENSIUNI ................................. 248
16.3 EXTRAPOLAREA DATELOR .......................................................... 253
16.4 REGRESIE LINIAR I NELINIAR................................................. 255
16.4.1 REGRESIA LINIAR ............................................................ 255
16.4.3 REGRESIE POLINOMIAL 3D (NELINIAR) ......................... 260
16.4.4 APROXIMAREA DATELOR
PRIN UTILIZAREA UNOR COMBINAII LINIARE DE FUNCII .. 261
16.4.5 APROXIMAREA DATELOR
PRIN UTILIZAREA UNOR FUNCII ARBITRARE ..................... 263
17
PRELUCRAREA SEMNALELOR - ANALIZA FOURIER ........................ 267
17.1 CALCULUL INTEGRALEI FOURIER ................................................ 268
17.2 CALCULUL TRANSFORMRII FOURIER DISCRETE ........................ 271
18
PROBLEME DE VALORI SI VECTORI PROPRII .................................... 279
18.1 BAZA TEORETIC ........................................................................ 280
18.2 VALORI I VECTORI PROPRII GENERALIZAI ................................ 282
18.3 VALORI I VECTORI PROPRII NELINIARI ....................................... 282
BIBLIOGRAFIE ........................................................................................... 287

Produsul MathCAD. Prezentare


general

Obiective
Familiarizarea cititorului cu facilitile oferite

de MathCAD

Introducerea unor noiuni primare despre

fiierele i structura documentelor MathCAD

Prezentarea mediului de lucru MathCAD i a

unor tehnici de lucru

13

Capitolul 1
1.1 Introducere
MathCAD este un 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 rspndite (Excel, Axum, Smartsketch).
Produsul este destinat studenilor, specialitilor din industrie i
cercetare, cadrelor didactice din nvmntul mediu i superior.
Marea for a MathCAD este 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
(generare) sunt identice cu cele care s-ar obine/utiliza n cazul
folosirii hrtiei i creionului (de subliniat c documentele MathCAD
pot conine i seciuni de comentarii, deci de text, ceea ce le va face
mult mai uor de neles). Mai mult dect att, 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 (instantanee) a documentului.
1.2 Nouti aduse de MathCAD 2001
Versiunea 2001 a produsului pune la dispoziia utilizatorului o serie
de noi faciliti, succint descrise n paragrafele urmtoare:
Accesare de componente SGBD. Este posibil conectarea la
baze de date. Componenta de accesare [a bazelor de date]
permite efectuarea de operaii de interogare a oricrei baze
de date compatibile SQL.
Achiziie de date. Este posibil att achiziia, ct i trimiterea
de date n timp real de la/ctre dispozitive acceptate de
MathCAD.
14

Produsul MathCAD. Prezentare general

Faciliti de generare de elemente (casete de dialog) de


control. MathCAD 2001 permite crearea de butoane sau

casete de text cu ajutorul crora se poate mbuntii


interactivitatea documentelor de lucru.
Modulul de dezvoltare (SDK). Permite crearea rapid de
componente MathCAD, inclusiv documentaie sau exemple la
nivel de cod.
Compatibilitate fiiere wav. MathCAD citete, scrie i poate
extrage informaie pentru fiiere n format pulse cod
modulated (PCM) Microsoft Wav, cu ajutorul noilor funcii
wav.
Faciliti WEB. MathCAD ofer posibilitatea salvrii
documentelor n format HTML, cu elemente MathML
(Mathematical Markup Language) incluse i implicit citirea lor
cu oricare din browser-ele curente.

Crearea de documentaii electronice (Electronic Books).

Astfel de documente pot conine legturi de tip hyperlink i


regiuni de tip index. Este disponibil i un mecanism de
detectare a erorilor documentaiilor electronice (HBK
debugging).
Import de fiiere imagine. Versiunea 2001 permite importul
de imagini ntr-o gam larg de formate (JPEG, GIF i PCX),
n afar de formatul BMP, disponibil i la versiunile mai
vechi. O imagine odat importat, exist posibilitatea
procesrii acesteia (faciliti de zoom, decupare, control
strlucire, contrast, culoare, orientare).
Noi funcii. Au fost introduse, pe lng numeroasele funcii
MathCAD cunoscute de la versiunile mai vechi, funcii pentru
transformarea de coordonate, sau funcii pentru cutarea de
valori n tablouri de mari dimensiuni.

1.3 Cerine hard i soft pentru instalare


Structura minim necesar instalrii i utilizrii versiunii MathCAD
2001 este urmtoarea:
Pentium 133MHz sau compatibil;
CD-ROM drive;
15

Capitolul 1

Windows 95 sau superior, Windows NT 4.0 sau superior;


Cel puin 32 MB RAM (64 MB este o valoare recomandat);
Pentru utilizarea comod a Help-ului, este recomandat
instalarea Internet Explorer 4.0, Service Pack 2, sau mai
nou.

1.4 Fiiere MathCAD


Dei MathCAD va genera la instalare un mare numr de fiiere de
tipuri (i deci cu extensii) foarte diverse, utilizatorul obinuit, trebuie
s rein n aceast faz c executabilul principal este mcad.exe,
fiierul help principal este mcad.hlp, dar mai ales c extensia
implicit a fiierelor de lucru MathCAD este *.mcd. Fiierele ablon
(template), despre care se va vorbi ntr-unul din capitolele viitoare,
au extensia *.mct. De interes sunt i fiierele readme.mcd, sau
readme.txt, care conin informaii de ultim or despre MathCAD
(ulterioare editrii manualelor de utilizare). Ambele conin acelai
lucru, doar c readme.mcd poate fi citit ca document MathCAD.
Este recomandabil ca dup instalare, s se creeze cel puin un
director de lucru, care s conin fiierele *.mcd generate de
utilizator. Aceasta deoarece nu este bine ca fiierele create de
utilizator s se amestece cu cele ce fac parte din pachetul iniial de
fiiere MathCAD.
1.5 Mediul de lucru MathCAD. Ecranul MathCAD, ferestre,
documente
Ca orice fereastr Windows, i cea n care va opera MathCAD are o
bar de titlu, o zon de meniuri pull-down, precum i mai multe bare
de instrumente (toolbars) dintre care unele sunt asemntoare ca
aspect i funcionalitate cu cele ce apar la multe aplicaii Windows.
Exist i o zon de stare (n partea inferioar a ferestrei MathCAD),
cursor vertical i cursor orizontal, precum i butoanele pentru
controlul strii ferestrei (n partea din dreapta sus).
MathCAD creeaz documente, sau foi de calcul, similare, aa cum s-a
mai spus, ca aspect i mod de completare cu foile de hrtie pe care
16

Produsul MathCAD. Prezentare general


s-ar scrie cu creionul. MathCAD permite deschiderea simultan a mai
multor documente, dintre care doar unul este activ la un moment
dat. Dac nu este strict necesar nu se va abuza de aceast facilitate,
deoarece orice document deschis (chiar dac nu este activ),
consum resurse ale sistemului, ceea ce, n cazul unor documente de
mari dimensiuni, poate duce la reducerea vitezei de lucru n mod
inutil.
Fiecare document MathCAD fiineaz tot ntr-o fereastr (ce poate fi
controlat ca orice fereastr n mediul Windows), cu observaia c
ferestrele n care se gsesc documentele MathCAD nu pot s se
gseasc dect n spaiul de lucru al ferestrei aplicaiei MathCAD.
Ferestrele document pot fi aranjate n sistem dale (tile) sau
cascad ca orice ferestre n mediul Windows. Controlul ferestrelor
document se face din meniul Window.
n figura 1.1 este prezentat fereastra MathCAD cu dou documente
deschise i aranjate n sistem dale pe vertical. Documentul activ
este cel din dreapta.

Fig. 1-1 - Fereastra MathCAD


17

Capitolul 1
1.6 Structura unui document MathCAD.
..Noiunea de regiune
Pe spaiul de lucru al unui document MathCAD se pot insera trei mari
tipuri de obiecte : expresie, text, grafic. Zona ocupat de un astfel
de obiect se va numi regiune. Tot n figura 1.1 sunt prezentate cele
trei tipuri de obiecte.
Zonele ncadrate cu dreptunghiuri desenate cu linie ntrerupt
delimiteaz regiunea ocupat de un obiect. Prin utilizarea tehnicii
drag and drop, regiunile pot fi mutate oriunde pe document
(regiunile se pot chiar suprapune, ceea ce n general nu este de
dorit), iar unele regiuni de exemplu cele de tip grafic pot fi
scalate dup un mecanism asemntor cu cel folosit la controlul
dimensiunilor unei ferestre n mediul Windows (deci prin aducerea
pointerului de mouse fie n colul din dreapta jos al regiunii selectate,
fie pe laturile vertical dreapta sau orizontal jos). Selectarea unei
regiuni (care va avea ca efect apariia dreptunghiului desenat cu linie
ntrerupt n jurul regiunii) se face prin plasarea pointerului de
mouse n vecintatea obiectului i deplasarea lui nspre obiect cu
butonul din stnga apsat. De subliniat c n aceast manier pot fi
selectate mai multe regiuni simultan.
O regiune selectat poate fi deplasat prin plasarea pointerului de
mouse n interiorul ei pn cnd acesta se transform n +. Din
acest moment, cu butonul din stnga apasat se va trage regiunea
(sau regiunile) pn la noua poziie. ntr-un document MathCAD, se
pot folosi dou cursoare. Unul se va utiliza pentru inserarea de
obiecte de tip expresie sau grafic, iar cellalt pentru inserarea
obiectelor de tip text. Cele dou cursoare sunt un semn plus de
culoare roie, respectiv o bar verical de culoare roie. Deplasarea
cursorului +, se face fie prin utilizarea grupului de sgei , , ,
, fie prin utilizarea mouse-ului (la un simplu clic n poziia curent a
pointerului de mouse (care este identic cu cel implicit al mediului
Windows) deci sgeata pe direcia SE-NV - se va insera cursorul +.

18

Produsul MathCAD. Prezentare general


1.7 Tehnici de lucru
Aa dup cum s-a menionat, MathCAD folosete tehnica WYSIWYG,
ceea ce presupune, ca una din consecine, inserarea n document a
unor simboluri care nu se regsesc pe tastatur (semnul pentru
radical, integral, sum, produs etc). Inserarea lor se poate face fie
prin utilizarea unor combinaii de taste (short-cuts), fie prin utilizarea
grupului de butoane corespunztor ales dintre cele aparinnd
paletei de butoane Math:

n ceea ce privete combinaiile de taste care pot fi folosite pentru


inserarea simbolurilor nedisponibile la tastatur, se recomand
consultarea seciunii Help Operators.
Este posibil i inserare n documentele MathCAD a caracterelor
, fie mai simplu,
greceti (fie utilizarea grupului de butoane
prin tastarea literei corespunztoare din alfabetul latin, urmat de
combinaia de taste CTRL + G).
O alt particularitate a modului de operare a MathCAD, este
utilizarea poziiilor de scriere premarcate, aa numitele placeholdere. Astfel n cazul n care se dorete inserarea ntr-un document
a unei expresii de forma

sin( x 2 )dx , se va insera la poziia

curent a cursorului (prin utilizarea paletei de butoane


)
operatorul integral definit, care n prima faz va arta ca mai jos :
Place-holder

19

Capitolul 1
Cele patru dreptunghiuri de culoare neagr se numesc n MathCAD
place-holdere. Rolul lor este de a indica utilizatorului unde (i deci
cte) s fie elementele expresiei ce trebuie completate. Pn cnd
toate aceste poziii de scriere premarcate nu sunt completate,
expresia nu poate fi utilizat. Trecerea de la un place-holder la altul
se face prin utilizarea grupului de sgei , , , , sau a tastei
TAB, sau nc, prin utilizarea mouse-ului.
Orice tip de regiune dintr-un document MathCAD poate suporta
operaiile de copiere (Copy, Paste), mutare (Cut, Paste) sau
tergere (Delete). Pentru aceste operaii, se va utiliza meniul Edit,
combinaii de taste (regsite tot n meniul Edit) sau tehnica meniului
pop-up (care se poate deschide printr-un simplu clic dreapta pe zona
de lucru a unui document MathCAD).

20

Lansarea comenzilor n MathCAD

Obiective
Prezentarea structurii de meniuri MathCAD
Prezentarea barelor de unelte MathCAD
Prezentarea agendelor electronice standard

21

Capitolul 2
2.1 Meniuri MathCAD. Prezentare general
Aa dup cum s-a menionat deja, aplicaia MathCAD dispune de
propriul sistem de meniuri pull-down. Utilizarea lor nu prezint nici
un fel de particulariti care s le diferenieze de orice meniu pulldown. Chiar n timpul lucrului n MathCAD, se pot obine informaii
despre funciile fiecrui cmp al fiecrui meniu, prin apsarea
simultan a tastelor
SHIFT+F1. Pointerul MathCAD se va
transforma prin ataarea unui semn de ntrebare. Orice clic pe un
cmp al unui meniu pull-down, va avea ca efect nu lansarea unei
comenzi, ci deschiderea unei ferestre de tip help care va conine
informaii succinte despre efectul activrii cmpului respectiv.
Apsarea tastei ESC, va determina transformarea pointerului
modificat n cel obinuit.
2.2 Bare de unelte (toolbars)
n cazul butoanelor, simpla oprire a pointerului de mouse deasupra
unui buton va determina apariia unei mini ferestre n care sunt date
explicaii (la nivel de unu dou cuvinte) despre funcia butonului n
cauz. n afar de cele dou bare de unelte cu structur cel puin
parial asemntoare cu cea a barelor de unelte compatibile
Microsoft (n figura 2.1 barele de pe rndurile doi i trei de pe bara
de meniuri), MathCAD mai dispune i de apte palete de butoane
organizate n bara de unelte Math, vizibil i ea n figura 2.1.

Fig. 2-1 - Barele de unelte MathCAD


Apsarea unuia dintre butoanele barei de unelte Math, va avea ca
efect apariia propriu-zis a paletei [cu butoanele] aferente. Cele
nou palete de butoane au urmtoarele funcii :
22

Lansarea comenzilor n MathCAD

Paleta aritmetic. Ea conine butoane pentru


inserarea n documente a cifrelor precum i a operatorilor
de calcule matematice (*, +, -, radical etc);

Paleta operatorilor booleeni. Conine operatori de


tipul <, >, diferit, egal, evaluare, atribuire etc;

Paleta pentru reprezentri grafice. Conine butoanele


pentru inserarea n documente a diferitelor tipuri de grafice;

Paleta de calcul matriceal. Conine butoane dedicate


calculelor cu vectori i matrice;

Paleta pentru calculul de sume, produse, limite,


derivate i integrale;

Paleta pentru inserarea n documentele MathCAD a


structurilor de programare (bucle FOR, WHILE, blocul
decizional IF etc);

Paleta caracterelor greceti. Conine butoane pentru


inserarea n documente a caracterelor alfabetului grecesc;

Paleta operatorilor de evaluare. Conine butoanele


ce insereaz n documente operatorii de evaluarea numeric
i simbolic;

Paleta ce conine cuvintele cheie pentru evalurile


simbolice.

Poziia oricrei palete pe spaiul de lucru MathCAD se poate modifica


prin utilizarea tehnicii drag and drop.
2.3 Agende electronice (electronic books)
Agendele electronice MathCAD sunt colecii de formule i relaii
matematice i inginereti, constante fizice, proprieti de material,
precum i alte informaii utile.
23

Capitolul 2
n principiu o agend electronic (handbook) este o colecie de
documente MathCAD integrate ntr-un fiier cu extensie *.hbk.
Deschiderea unei agende se poate face cu ajutorul cmpului Help
Open Book. Unul din subdirectoarele create la instalarea
MathCAD-ului se numete chiar HANDBOOK i conine o agend
numit solve.hbk.
Cmpul Help Handbooks Solving and Optimization
Extension Pack determin i el deschiderea unei agende
electronice (de aceast dat chiar cea anunat prin titlu).
O agend odat deschis, ofer utilizatorului posibilitatea de a
naviga cu ajutorul unei bare de instrumente specializat, ale crei
butoane au funcii uor de bnuit (sau de aflat prin meninerea
pointerului de mouse deasupra fiecruia din ele).
Un alt exemplu de agend electronic, este chiar aa numitul
Resource Center.
n figura 2.2 este prezentat fereastra
Resource Center. Accesul la oricare din cele trei mari componente,
Overview and Tutorials, QuickSheets and Reference Tables,
respectiv Extending Mathcad, se poate face printr-un simplu clic
cu mouse-ul pe butonul respectiv.

Fig. 2-2 - Resource Center


24

Lansarea comenzilor n MathCAD


De un interes aparte este componenta QuickSheets and
Reference Tables, care este de fapt o colecie de documente
MathCAD exemplu, deosebit de interesante i care trebuie cercetate
cu atenie chiar de utilizatorul cu oarecare experien.
De subliniat c una din facilitile de mare utilitate ale agendelor
electronice, sau a documentelor coninute n seciunea QuickSheets
and Reference Tables, este posibilitatea de a realiza transfer de
informaii prin copiere (din agend ntr-un document MathCAD).
Copierea propriu zis se face n maniera clasic, adic printr-o
secven de tip Copy Paste.
De interes sunt i cmpurile Help Developers Reference i
respectiv Help Authors Reference.
n principiu, ambele sunt destinate utilizatorilor avansai de
MathCAD. Primul furnizeaz indicaii pentru generarea de biblioteci
dinamice (*.dll) cu ajutorul crora se pot defini noi funcii MathCAD.
Aceast operaie necesit cunotine de programare n C++, Java,
sau Visual Basic.

25

Documente MathCAD

Obiective

nsuirea tehnicilor de
diferitelor tipuri de regiuni

creare

Prezentarea metodelor de control,


formatare i editare a regiunilor

Prezentarea metodelor de evaluare a


documen-telor MathCAD

27

Capitolul 3
3.1 Crearea de regiuni de tip expresie, text sau grafic
Aa dup cum s-a artat deja n paragraful 1.5, ntr-un document
MathCAD pot exista trei tipuri de regiuni : expresii, comentarii
(regiuni de tip text) sau grafice.
Se reamintete c la cursorul + se insereaz fie expresii, fie grafice,
iar la cursorul | , regiuni de tip text. La versiunea 2001, se poate
insera text i fr precizarea explicit a acestui lucru. Pur i simplu
se scrie, iar la tastarea primul [caracter de tip] spaiu, MathCAD
nelege c este vorba de text i nu de numele unei variabile sau
unei funcii. Se impune totui pruden, pentru c scrierea unui
singur cuvnt poate produce confuzii, cci MathCAD va interpreta
acel cuvnt ca pe numele unei variabile sau funcii. Acest lucru este
de evitat, pentru c n MathCAD, numele unei variabile trebuie s
apar ntr-o expresie (cum se va vedea mai trziu), sau trebuie
urmat de operatorul de atribuire (:=, ), sau de evaluare (=, =).
Pentru crearea n mod explicit a unei regiuni de tip text, se va utiliza
cmpul Insert Text Region (cu prescurtarea ).
n cazul regiunilor de tip grafic, se va utiliza pentru inserare unul din
cmpurile submeniului Insert Graph.
Spre exemplificare se va crea un document MathCAD cu o structur
simpl i care realizeaz definirea unei variabile de tip ir de valori, a
unei funcii pentru care se obine i reprezentarea grafic.
Documentul va conine i comentarii sub forma a dou regiuni de tip
text.
Etapele n crearea documentului sunt :
1. Din meniul File se puncteaz pe cmpul New (sau se
folosete direct shortcut-ul CTRL + N, sau nc, se folosete
)
butonul
2. La poziia curent a cursorului MathCAD se tasteaz
urmtoarea secven:

28

Documente MathCAD
x : 0 ; 20

a:3

f(x) : (x^3-a)/(x^2+1)
Pe documentul MathCAD va aprea scris :

Acest comportament este consecina modului de lucru WYSIWYG,


pe care MathCAD-ul l folosete. n exemplul de mai sus, apsarea lui
: a produs operatorul de atribuire MathCAD (acelai cu cel folosit
de Pascal de exemplu), apsarea lui ; a produs inserarea simbolului
ce indic intervalul de variaie a unei variabile (aici x ia valori ntregi
ntre 0 i 20), iar apsarea lui / a produs o linie de fracie n
adevratul neles al cuvntului.
Din punct de vedere logic cele dou rnduri ale documentului
MathCAD prezentate mai sus, definesc o variabil cu numele x i
care ia valori ntregi ntre 0 i 20, o variabil numit a, creia i se
atribuie valoare 3 i respectiv o funcie pentru care variabila x
definit mai sus este chiar argument (variabila a intervine ca
parametru n expresia funciei).
Ordinea n care regiunile de tip expresie incluse n document sunt
poziionate este extrem de important. Se va reine ca o regul de
baz, c MathCAD citete documentele de la stnga la
dreapta i de sus n jos, astfel c orice variabil ce intervine ntr-o
expresie trebuie definit naintea (deci la stnga sau deasupra)
expresiei propriu-zise, dup cum orice funcie folosit pentru
trasarea unui grafic se va defini la stnga sau deasupra graficului.
Pentru a continua exemplificarea, se va insera n document i
graficul n coordonate xy al funciei definite. Pentru aceasta se va
poziiona cursorul la dreapta i sub definiia funciei i se va activa

Spaiile lsate au doar rolul de a face expresia mai lizibil i nu


sunt permise ntr-un document MathCAD
29

Capitolul 3
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, ca n figura 3.1.a.
Un simplu clic n interiorul graficului, sau apsarea tastei F9 va
produce desenarea [graficului], aa cum se poate vedea n figura
3.1.b.

a.

b.

Fig. 3-1 - Inserarea unui grafic ntr-un document MathCAD


Pentru a-l face mai uor de neles, se vor insera n document i
dou regiuni de tip text. Una deasupra graficului i una la sfritul
documentului. Pentru aceasta se va utiliza cmpurl Insert Text
Region.
n final micul document MathCAD, va arta ca n figura 3.2.

30

Documente MathCAD

Fig. 3-2 - Documentul MathCAD rezultat

3.2 Constante, variabile, operatori, funcii


Orice expresie MathCAD, este format din operanzi i operatori.
Operanzii sunt nume de variabile, de funcii, valori numerice sau
constante predefinite. Pentru operatori, se poate porni de la simplii
operatori aritmetici (+, -, /, *) i se poate ajunge la operatori
specializai pentru calcul matriceal de exemplu.
3.2.1

Operatori

Operatorii cei mai folosii sunt cei aritmetici : +, -, *, ^ (ridicarea la


putere), /, la care se adaug o gam larg de operatori scalari sau
vectoriali specifici diferitelor tipuri de operaii matematice.

31

Capitolul 3
3.2.2

Constante

n MathCAD exist 6 constante matematice predefinite : (cu


shortcut-ul CTRL + z), (cu shortcut-ul p + CTRL + g), e (se va
tasta pur i simplu e), i (se va tasta 1i i NU 1*i), j (se va tasta 1j) i
% (se va tasta pur i simplu %). n afara celor 6 constante
matematice predefinite, mai exist i un numr de 4 constante
sistem, despre care se va face vorbire ntr-un paragraf urmtor.
Constantele i %, au respectiv valorile 10307 i 0.01.
3.2.3 Utilizarea de
zecimal

baze de numeraie, altele dect cea

n MathCAD este posibil lucrul n bazele de numeraie, 10, 2, 8 i 16.


Pentru a opera cu valori scrise n bazele 2, 8 i 16, se vor insera
literele b (de la binar), o (de la octal), respectiv h (de la hexa), dup
valoarea propriu zis, asa cum se poate vedea n exemplul de mai
jos:

Fig. 3-3 Utilizarea bazelor de numeraie


Se remarc faptul c n cazul scrierii n baza 16, dac valoarea
ncepe cu una din literele a, b, c, d, e sau f, este obligatorie
inserarea unui 0 iniial (pentru a se evita confuzia cu o variabil de
tip ir de caractere).
32

Documente MathCAD
3.2.4

Variabile

n MathCAD numele unei variabile (regul valabil i pentru numele


de funcii), 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, n sensul c trebuie 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.
MathCAD face diferena ntre majuscule i minuscule, astfel c
variabila timp este diferit de variabila TIMP.
n figura 3.4 sunt prezentate cteva exemple de variabile MathCAD.

Fig. 3-4 - Variabile MathCAD


Se atrage atenia c n cazul variabilei amin , indicele min este pur
descriptiv i nu indic n nici un fel poziia variabilei ntr-un ir de
valori. n MathCAD este posibil s se scrie a[1 (se va vedea a1) unde
indicele 1 spune c este vorba de prima valoare dintr-un ir (sau
primul element al unui vector), dar se poate scrie i a.1 (se va vedea
tot a1), unde indicele 1 este pur descriptiv, n sensul c putea fi
nlocuit cu indicele unu. Primul tip de indice (asupra cruia se va
reveni) se obine cu secvena a[1, iar al doilea cu secvena a.1.
Se atrage nc odat atenia asupra modului cum se realizeaz
33

Capitolul 3
atribuirea de valori variabilelor. Este vorba de operatorul de atribuire
:=, care se obine cel mai uor prin apsarea tastei :.
n afara variabilelor de tipul celor de mai sus, n MathCAD pot fi
definite variabile de tip scalar, variabile de tip ir, sau de tip ir de
caractere.
3.2.4.1 Variabile de tip scalar
O secven de tipul :
t:0.3,0.5;2
va produce pe documentul MathCAD efectul :
t:= 0.3, 0.5 .. 2
Acest tip de variabil (e drept o form ceva mai simpl), a fost
utilizat n exemplul prezentat n figura 3.2. Acolo variabila x lua
valori ntregi ntre 0 i 20. Era vorba deci de o progresie aritmetic
cu raia 1. n cazul de mai sus este vorba tot de o progresie
aritmetic, de aceast dat cu raia diferit de 1. Semnificaiile
notaiei sunt:
Prima cifr indic prima valoare pe care o va lua variabila;
A doua valoare definete mpreun cu prima raia progresiei,
care este egal cu valoarea a doua minus prima;
A treia valoare indic ultima valoare pe care o va lua
variabila.
Deci variabila t va lua valorile : 0.3, 0.5, 0.7, 0.9.1.9.
3.2.4.2 Variabile de tip ir (variabile indexate)
Pot fi definite variabile indexate ca n exemplul de mai jos :
s-a scris :
i:1,5
x[i:i^2+4*i

Produce n
documentul
MathCAD:

Indicele i este complet diferit de cel din figura 3.3. Aici i indic
poziia ntr-un ir i trebuie neles exact ca un indice ataat unui
vector.
Variabilele de tip ir mai pot fi definite i ca n exemplul urmtor:
34

Documente MathCAD
i:1,5
y[i:12,23,12,34,22
ceea ce va produce n documentul MathCAD :

Orice variabil, indiferent de tip, poate fi evaluat.


Operatorul de evaluare este =, pentru care evident nu este
necesar utilizarea nici unui shortcut.
Astfel pentru evaluarea oricrei variabile, se tasteaz numele
variabilei urmat de operatorul = (evident fr ghilimele) i de
apsarea tastei ENTER (CR). n cazul variabilelor scalare sau de tip
ir, se vor obine rezultate ca n figura 3.5. n cazul variabilei x, se
pot face evaluri n dou moduri. Dac se scrie x=, se obine irul de
valori sub forma unui vector, iar dac se scrie x[i=, se obine un
format de afiare asemntor cu cel de la variabilele de tip scalar. De
menionat c n cazul unor variabile cu numr mare de valori,
MathCAD nu afieaz dect primele 50 [de valori] din ir.

35

Capitolul 3

Fig. 3-5 - Evaluri de variabile scalare sau de tip ir


3.2.4.3 Variabile de tip ir de caractere
MathCAD 2001 permite definirea de variabile de tip ir de caractere.
Definirea este extrem de simpl i se face ca i n cazul celorlalte
tipuri de variabile. Singura diferen este c valoarea variabilei, va fi
nchis ntre ghilimele duble (double quote).
n exemplul din figura 3.6 sunt definite dou variabile, care apoi sunt
concatenate (scrierea fcndu-se tot ntr-o variabil de tip ir de
caractere) i n final se realizeaz evaluarea variabilei sum.

Fig. 3-6 Definire de variabile


de tip ir de caractere
36

Documente MathCAD
Se atrage atenia c valoarea variabilei nume, conine i un spaiu,
necesar separrii prenumelui de nume n cazul irului sum.
Asupra funciilor specifice lucrului cu iruri de caractere se va reveni
ntr-unul din capitolele urmtoare.
3.2.4.4 Variabile globale
n paragraful 3.1 s-a enunat regula de baz utilizat de MathCAD
pentru citirea documentelor. Exist totui o excepie de la ea.
Astfel, se pot defini aa numitele variabile globale, care pot fi folosite
i n expresii situate deasupra sau la stnga definiiei [de variabil].
Aceste variabile sunt citite de MathCAD la nceputul parcurgerii
unui document (de fapt MathCAD parcurge un document de dou
ori, prima dat citete atribuirile globale, iar la a doua citire ia n
considerare atribuirile obinuite), deci cu eludarea regulii enunat
paragraful 3.1. Pentru definirea unei variabile globale se va folosi
[pentru atribuire] operatorul , care se obine prin apsarea tastei
~. Dac ntr-un document se gsesc mai multe variabile globale,
citirea acestora se face tot dup regula enunat. Nu se recomand
excesul de atribuiri globale n documente MathCAD.
3.2.5

Funcii

Cum se definete o funcie s-a vzut n exemplele precedente. Se va


mai preciza doar c regulile enunate pentru numele variabilelor i
menin valabilitatea i n cazul numelor de funcii. Pot fi definite i
funcii de mai multe variabile. n definirea funciilor, se folosete tot
operatorul de atribuire (: =). Ca i variabilele, funciile pot fi
evaluate. Acest lucru se va realiza tot prin utilizarea operatorului de
evaluare, ca n figura 3.7. Se observ c evaluarea se poate face
pentru toate valorile pe care le poate lua argumentul funciei (se va
scrie f(x)=), sau se poate realiza pentru o anume valoare a
argumentului (se va scrie f(1.5)=).

37

Capitolul 3

Fig. 3-7 - Evaluri de funcii

3.3 Controlul regiunilor ntr-un document MathCAD


Asupra regiunilor dintr-un document MathCAD pot fi executate mai
multe tipuri de aciuni. Acestea sunt :
Selecia unei regiuni, sau a unui grup de regiuni;
tergerea unei regiuni (sau grup de regiuni);
Copierea unei regiuni (sau grup de regiuni);
Mutarea (deplasarea) unei regiuni (sau grup de regiuni);
Redimensionarea unei regiuni;
Alinierea a dou regiuni;
Separarea regiunilor;
Evidenierea regiunilor dintr-un document;
Inserarea/tergerea de linii goale ntre dou regiuni;
Blocarea regiunilor ntr-un document MathCAD.
Pentru realizarea acestor aciuni, se va folosi meniul Edit. n
paragrafele urmtoare vor fi prezentate comenzile necesare
executrii aciunilor enunate mai sus. n ceea ce privete selecia
unei regiuni sau a unui grup de regiuni, trebuie precizat c ea
trebuie s precead ntotdeauna celelalte aciuni ce se pot exercita
asupra regiunilor ntr-un document MathCAD. Pentru selecie se va
folosi tehnica drag and drop, specific de altfel i altor aplicaii
Windows. Semnul c o regiune sau un grup de regiuni au fost
38

Documente MathCAD
selectate, este ncadrarea lor n chenare dreptunghiulare, desenate
cu linie ntrerupt, ca n figura 3.8.
Dup selectarea unei regiuni (sau grup de regiuni), tergerea se
realizeaz fie prin utilizarea cmpurilor Cut sau Clear din meniul
de pe bara de unelte, fie prin
Edit, fie prin utilizarea butonului
utilizarea tastei DEL. Aceste variante NU sunt complet echivalente.
i tasta DEL, sunt echivalente i
Astfel, cmpul Cut, butonul
dup tergerea regiunii (sau regiunilor) din documentul MathCAD,
plaseaz informaia n Clipboard, astfel nct ea poate fi restaurat,
fie prin utilizarea cmpului Paste din meniul Edit (restaurarea se va
face la poziia curent a cursorului), fie prin utilizarea cmpului
Undo Last Edit, sau a butonului

Fig. 3-8 - Regiuni selectate

39

Capitolul 3
n acest din urm caz, restaurarea se va face exact pe vechea poziie
a regiunii (sau regiunilor). n cazul ns al cmpului Clear din
acelai meniu Edit, informaia tears nu mai este depus n
Clipboard, astfel c tergerea este definitiv.
Copierea sau mutarea unei regiuni (sau grup de regiuni) se
realizeaz prin secvene Copy Paste, respectiv Cut Paste, ca
n orice aplicaie compatibil Windows, aa c nu vor mai fi furnizate
detalii suplimentare asupra acestor aciuni. n cazul deplasrilor
unei regiuni (sau grup de regiuni), mai este posibil utilizarea
tehnicii drag and drop, aa cum s-a precizat deja n paragraful 1.6.
Redimensionarea unei regiuni presupune ca dup faza de
selecie (absolut obligatorie), deci dup ce regiunea (una singur)
este ncadrat de un dreptunghi desenat cu linie ntrerupt, s se
poziioneze pointerul fie pe colul din dreapta jos al dreptunghiului
de ncadrare, fie pe latura vertical dreapta sau orizontal jos, astfel
c pointerul se va transforma fie ntr-o sgeat dubl nclinat, fie
ntr-o sgeat dubl vertical respectiv orizontal, aa cum se poate
vedea n figura 3.9. Din acest moment, cu butonul din stnga al
mouse-ului apsat, se trage pn la obinerea noii dimensiuni a
regiunii. Trebuie precizat c nu orice regiune poate suporta
redimensionri. Regiunile de tip expresie nu pot fi redimensionate,
dar regiunile de tip grafic pot.

Fig. 3-9 Redimensionare


a unei zone de tip grafic
Ct privete alinierea regiunilor, aceasta se poate realiza pe
orizontal sau pe vertical. Pentru acest scop se pot folosi fie
40

Documente MathCAD
.
cmpul Align Regions din meniul Format, fie butoanele
Alinierea pe orizontal va produce alinierea regiunilor selectate, dup
o linie imaginar aflat la mijlocul distanei dintre extremitatea
superioar a celei mai nalte regiuni i extremitatea inferioar a celei
mai joase regiuni. Alinierea pe vertical va produce alinierea
regiunilor selectate, dup o linie imaginar aflat la mijlocul distanei
dintre extremitatea din stnga a regiunii celei mai din stnga i
extremitatea din dreapta a celei mai din dreapta regiuni. Uneori
alinierile pot produceri suprapuneri ale regiunilor, fapt pentru care se
recomand pruden n utilizarea acestor comenzi.
i n asemenea situaii este posibil separarea regiunilor care se
suprapun (total sau doar parial). Pentru aceasta se va utiliza cmpul
Separate Regions din meniul Format. De menionat c n acest
caz nu este necesar selecia de regiuni naintea separrii.
Trebuie subliniat c separarea regiunilor realizat aa (deci
automat), poate produce efecte nedorite n sensul c poate strica
ordinea logic a regiunilor astfel ca regiuni care nainte de
suprapunere se gseau naintea altora, pot ajunge acum dup
acestea din urm. Separri de regiuni se pot face i manual prin
deplasarea regiunilor folosind tehnica drag and drop.
Cmpul View Regions, evideniaz toate regiunile dintr-un
document MathCAD. Efectul va fi colorarea difereniat a regiunilor i
respectiv a zonelor libere din document. n acest fel se poate stabili
apartenena fiecrui obiect dintr-un document la o anumit regiune.
Selecia tuturor regiunilor din document se poate realiza cu ajutorul
cmpului Edit Select All.
3.4 Editarea i formatarea regiunilor de tip expresie i de tip
text ntr-un document MathCAD

3.4.1

Editarea de expresii

Construirea unei expresii MathCAD se realizeaz natural prin


tastarea cifrelor, literelor i operatorilor expresiei, n ordinea n
care s-ar face acelai lucru pe o foaie de hrtie. S-a precizat deja
41

Capitolul 3
n paragraful 1.7, c datorit tehnicii WYSIWYG, nu ntotdeauna ceea
ce se tasteaz va apare i n document.
Editarea unei expresii deja construite presupune n prima etap
selectarea sa. Acest lucru se realizeaz prin punctarea cu mouse-ul
n zona expresiei respective.
n funcie de tipul regiunii selectate, n interiorul acesteia va apare
fie un cursor vertical de culoare roie (la regiunile de tip text), fie un
cursor de forma __| sau |__, sau nc _|_, aa cum se poate vedea
n figurile 3.11, respectiv 3.10.

Fig. 3-10 Editarea expresiilor

Fig. 3-11 Editarea regiunilor de tip text


Deplasarea cursorului n interiorul regiunii selectate se face cu
ajutorul sgeilor , sau prin simpla punctare ntr-o anumit
zon a regiunii. Pentru cazul regiunilor de tip expresie, deplasarea
dintr-o zon ntr-alta se mai poate face prin apsarea tastei SPACE.
tergerile se fac cu ajutorul tastelor BkSp sau Delete, sau prin
selecie a unei poriuni din expresie sau text urmat de comanda
Cut (executat din meniul pull-down, din bara de instrumente sau
din meniul de tip pop-up).
3.4.2 Inserarea i tergerea de paranteze. Aplicarea unei
funcii
Inserarea unei perechi de paranteze (este preferabil inserrii
separate a celor dou), se face astfel:
42

Documente MathCAD

Se ncadreaz zona de nchis ntre paranteze ntr-un cursor


de tip |___ - vezi figura 3.12;
Se tasteaz caracterul (virgula).

a.

b.

Fig. 3-12 Inserarea de paranteze


tergerea unei perechi de paranteze se face astfel:
Se amplaseaz cursorul la dreapta caracterului (
(parantez deschis)
Se apas tasta BkSp
Aplicarea unei funcii se face prin parcurgerea etapelor
urmtoare:
Se ncadreaz ntre paranteze zona de expresie creia i se va
aplica funcia (care va deveni deci argument pentru funcie).
Pentru aceasta se procedeaz ca mai sus;
Se apas tasta Space, astfel ca s fie selectate i
parantezele; Se apas tasta Ins; Bara vertical a
cursorului se va poziiona la stnga parantezei ( (vezi
figura 3.13);
Se scrie numele funciei.

a.

Fig. 3-13 Aplicarea unei funcii

b.

43

Capitolul 3
3.5 Fonturi n expresii matematice. Etichete (tag-uri)
Ori de cte ori se tasteaz numele unei variabile (inclusiv ntr-o
expresie), MathCAD aplic irului de caractere care formeaz numele
variabilei, eticheta (tag-ul) Variables. n mod similar, ori de cte
ori se tasteaz o valoare numeric (o constant deci), irului
respectiv de caractere i se aplic eticheta (tag-ul) Constants.
Etichetele (tag-urile) sunt deci un fel de tampile care se pun pe
numele variabilelor sau constantelor i care vor avea un rol n
identificarea acestora.
Efectul acestui mod de lucru este c n momentul n care se schimb
tipul de font pentru o constant sau variabil, modificarea va afecta
toate constantele sau variabilele cu aceeai etichet, indiferent unde
ar fi poziionate n document.
Pentru a ti care sunt caracteristicile etichetei (tag-ul) asociat unei
variabile, unei constante sau unei alte zone dintr-o expresie, se
puncteaz pe expresia respectiv, dup care se activeaz cmpul
Format Equation. Pe ecran va apare fereastra Equation
Format, prezentat n figura 3.14.

Fig. 3-14 Tag-uri ataate variabilelor


sau constantelor
Implicit toate numele de variabile au asignat tag-ul Variables i
toate constantele pe cel numit Constants.
Se apas pe butonul Modify i se deschide o fereastr de control al
44

Documente MathCAD
atributelor de formatare la nivel de font (din care rezult care este
fontul ataat zonei respective din expresie).
n afara celor dou etichete (tag-uri) despre care s-a vorbiT deja,
utilizatorul mai are la dispoziie nc apte etichete, cu numele
User1..User7, pe care le poate aplica unei zone dintr-o expresie
care a fost n prealabil selectat - astfel c n afara zonelor care au
ataate etichetele Variables sau Constants, pot s mai apar zone
(de fapt tot nume de variabile sau constante) crora li se aplic alte
etichete.
Numele User1User7 pot fi modificate n caseta de editare New
Style Name din fereastra Equation Format vezi figura 3-15.

Fig. 3-15 Definirea unei noi etichete


n exemplul de mai jos, expresia conine trei tipuri de zone crora li
s-au ataat trei etichete, cele standard (Variables i Constants),
precum i una numit variabila_2. Din analiza figurii rezult i de
ce ar putea fi necesar o asemenea abordare.

constants

variables

variabila_2

45

Capitolul 3
ntr-adevr, n expresie apar dou variabile cu acelai nume b,
numai c ele nu sunt scrise cu acelai tip de font, astfel c MathCAD
le va trata ca pe dou variabile complet distincte. Aceasta deoarece
numele de variabile sau de funcii sunt, nu numai, ceea ce n limba
englez se numete case sensitive adic dependente de scrierea cu
minuscul sau cu majuscul, ci se individualizeaz i prin
caracteristicile fontului folosit pentru scrierea lor. Deci b i b, sunt
distincte. Aceasta deoarece n individualizarea unei variabile sau
funcii, MathCAD verific n primul rnd eticheta asociat variabilei
sau numelui de funcie i abia apoi citete efectiv numele variabilei.
3.5.1

Aplicarea i crearea de etichete

Pentru definirea de noi etichete, se va proceda astfel :


Se activeaz cmpul Format Equation;
n caseta de editare de sub numele ferestrei, se puncteaz pe
cmpul User1;
Textul User1 va apare n caseta de editare New Style
Name. Acest text se nlocuiete cu noul nume al etichetei
(ceea ce nu este obligatoriu, dar este indicat);
Prin utilizarea butonului Modify, se stabilesc caracteristicile
de formatare la nivel de font.
Pentru ataarea unui tag deja creat unei zone dintr-un document
MathCAD se va proceda astfel :
Se selecteaz expresia creia i se va aplica noua etichet;
Se poziioneaz cursorul |__ pe numele de variabil creia i
se va aplica eticheta (care deci se aplic unui nume de
variabil sau constant i nu ntregii expresii);
n meniul Format se puncteaz pe cmpul Equation i din
fereastra ce se va deschide se va selecta numele etichetei pe
care dorim s o atam zonei de expresie selectat.
3.6 Editarea i formatarea regiunilor de tip text. Stiluri
n cazul regiunilor de tip text, formatarea se poate face, la nivel de
caracter, prin simpla selectare a regiunii de text, urmat de
punctarea pe cmpul Format Text.
46

Documente MathCAD
Cu ajutorul ferestrei Text Format, se vor putea modifica toate
caracteristicile de formatare la nivel de font, ca ntr-un editor de text
obinuit.
Pentru formatarea la nivel de paragraf, se va utiliza cmpul Format
Paragraph. El permite modificarea caracteristicilor de formatare
la nivel de paragraf. Este vorba de opiunile de aliniere, de cele de
indentare sau indentare a primei linii, respectiv de definire de stopuri
de tabulare.

Fig. 3-16 Formatare la nivel de paragraf


3.6.1

Stiluri

MathCAD dispune de facilitatea de a utiliza stiluri predefinite, de a le


modifica pe acestea, sau de a crea altele noi. Toate acestea se pot
face cu ajutorul cmpului Format Style , ceea ce va conduce
la caseta de dialog prezentat n figura 3.17.

47

Capitolul 3

Fig. 3-17 Stiluri de paragrafe


Modul de lucru cu stiluri este principial identic cu cel folosit de
exemplu la editorul de text MSWORD.
Un stil se poate aplica unui paragraf printr-un procedeu simplu:
- Se selecteaz paragraful cruia i se va aplica stilul;
- Se selecteaz un stil din lista Styles (vezi figura 3-17);
- Se apas butonul Apply.
3.6.2

Controlul dimensiunilor unei regiuni de tip text

Dimensiunea zonei ocupat de o regiune de tip text se poate


controla manual, cu ajutorul mouse-ului. Pentru aceasta se vor
folosi marcatorii amplasai n zona din dreapta a regiunii de tip text
vezi figura 3-18.

Fig. 3-18 Controlul dimensiunii zonei ocupat


de o regiune de tip text
48

Documente MathCAD
Dac se dorete ca textul s se extind pn la marginea din dreapta
a documentului (marcat de o linie vertical de culoare gri), se va
utiliza cmpul Occupy Page Width, din caseta Properties. La ea
se poate ajunge utiliznd cmpul Format Properties vezi
figura 3-19.

Fig. 3-19 - Controlul dimensiunilor


unei regiuni de tip text
Controlul Push Regions Down As You Type, va controla modul
cum se va comporta o regiune de tip text cnd ntlnete o alt
regiune. n mod implicit, textul se va suprapune peste regiunea pe
care o ntlnete (aa cum se vede n figura 3-20). Dac se dorete
mpingerea regiunii ntlnite spre n jos, se va bifa controlul Push
Regions Down As You Type vezi figura 3-19.

Fig. 3-20 Comportarea textului la ntlnirea unei alte regiuni

49

Capitolul 3

Fig. 3-21 Seciunea Display


a casetei de dialog Properties
Seciunea Display a casetei Properties (figura 3.21), permite
evidenierea regiunii selectate (Highlight Region), afiarea unui
chenar n jurul regiunii (Show Border), sau ataarea unei etichete
de regiunea selectat (Tag), etichet ce va fi ulterior folosit la
definirea unui hyperlink (de la o alt regiune spre cea pentru care
s-a definit hyperlink-ul).
3.7 Formatarea rezultatelor ntr-un document MathCAD
Formatarea rezultatelor (obinute n urma evalurii unor expresii sau
funcii) n mediul MathCAD, se poate realiza global sau local. n
primul caz, caracteristicile de formatare se vor aplica tuturor
rezultatelor din documentul curent, n cel de-al doilea caz, ele se vor
aplica numai regiunii de tip rezultat selectat anterior operaiei de
formatare. Pentru formatarea global se procedeaz astfel :
Se puncteaz cu mouse-ul oriunde n document, pe o zon
liber;
Din meniul Format se activeaz cmpul Result
Pe ecran va apare fereastra Result Format, prezentat n figura 322. Pentru formatare local se procedeaz ca n cazul celei globale,
50

Documente MathCAD
cu diferena c naintea formatrii propriu-zise se puncteaz pe
regiunea (rezultatul) de formatat.

Fig. 3-22 Formatare rezultate


Cnd se face formatare local, apare i butonul Set as Default
(inexistent n cazul formatrii globale). Apsarea sa transform
formatarea local ntr-una global.
Semnificaiile controalelor ferestrei Result Format sunt n marea lor
majoritate foarte uor de intuit, astfel c nu se va insista dect
asupra celor a cror nelegere nu este imediat.
- Seciunea Number Format (vezi figura 3-22)

Exponential Threshold

n caseta de editare corespunztoare se va introduce o valoarea


cuprins ntre 0 i 15. Fie aceasta n. Rezultatele mai mici dect 10-n
i mai mari dect 10n, vor fi afiate in notaie tiinific
(exponenial).

Show trailing Zeros

n cazul n care caseta de selecie are n interior o bif (un simplu clic
pe caset sau textul din dreapta activeaz sau dezactiveaz bifa),
zerourile din coada unui numr care apar n conformitate cu
setarea din seciunea Number of decimal places, sunt afiate,
dei prezena lor nu spune nimic n plus. Dac bifa lipsete, aceste
zerouri inutile nu mai sunt afiate. Astfel dac la Number of
decimal places s-a precizat 4, un rezultat de forma 12/5, va fi
51

Capitolul 3
afiat ca 2.4, dac exist bif n caseta Show trailing zeros,
respectiv 2.400, dac nu exist.

Number of decimal places

Stabilete cum e uor de bnuit numrul de zecimale cu care se vor


afia rezultatele. Evident la ultima cifr se va produce o trunchiere a
rezultatului. Se poate afia totui un rezultat cu precizia maxim, se
poate proceda astfel:
- Se selecteaz rezultatul;
- Se tasteaz CTRL+SHIFT+N.
- Seciunea Display Options (vezi figura 3-23)

Fig. 3-23 Display Options


Matrix display style

Controleaz modul n care sunt afiate matricile. Stilul Table,


introduce (atunci cnd dimensiunea matricii este suficient de mare)
dou cursoare cu ajutorul crora se poate defila pe spaiul matricii
vezi figura 3-24.a.
Stilul Matrix afieaz matricile n forma clasic de scriere vezi
figura 3-24.b

52

Documente MathCAD

a.

b.

Fig. 3-24 Afiare de matrice


53

Capitolul 3
Expand nested arrays

n MathCAD este posibil definirea de tablouri (matrice) ale cror


elemente sunt vectori sau matrice. Un astfel de exemplu este
prezentat n figura 3-25.a. Se poate observa c evaluarea unui astfel
de tablou, va furniza doar informaia legat de dimensiunile
submatricelor incluse (A i B n exemplu). Dac se opteaz pentru
activarea controlului Expand nested arrays, atunci rezultatul va fi
cel din figura 3-25.b.

a.

b.

Fig. 3-25 Vizualizarea tablourilor

54

Documente MathCAD
Imaginary value

Prin deschiderea listei derulabile se pot alege caracterele folosite (i


sau j) pentru reprezentarea numrului complex i.

Radix

Permite stabilirea bazei de numeraie n care rezultatele vor fi


afiate. n cazul n care se opteaz pentru baza 8 sau 16, rezultatul
n zecimal nentreg va fi trunchiat la valoarea de ntreg, dup care
are loc transformarea rezultatului. Acesta va fi urmat de un h sau un
o, dup cum s-a folosit baza 16 sau 8. MathCAD asigur rezultate
corecte pentru valori mai mici dect 231 (sau aproximativ 2*109).
- Seciunea Tolerance vezi figura 3-26

Fig. 3-26 Seciunea Tolerance


Complex Tolerance

Setarea se refer la modul n care vor fi afiate numerele complexe.


Valoarea introdus n caseta de dialog corespunztoare trebuie s fie
un ntreg ntre 0 i 63. Fie acest numr n i fie numrul complex
a+bi. Dac

min( a , b )
max( a , b )

< 10 n

atunci rezultatul complex se va scrie sub forma :


a sau bi
dup cum min(|a|,|b|)=b, respectiv min(|a|,|b|)=a. Sau altfel spus
nu se mai afieaz coeficientul mai mic n valoare absolut, dac
55

Capitolul 3
raportul dintre valorile absolute ale coeficientului mai mic, respectiv
mai mare, este mai mic dect 10-n.
MathCAD lucreaz n continuare cu forma corect (deci complet) a
rezultatului, ca atare precizia rezultatelor nu va fi afectat de aceast
setare.

Fig. 3-27 Controlul afirii rezultatelor cu uniti de msur


Zero Threshold

n caseta de editare se va introduce un ntreg ntre 0 i 307. Fie el n.


Toate rezultatele mai mici dect 10-n vor fi afiate ca zero, dei n
continuare MathCAD va opera cu valoarea exact.
- Seciunea Unit Display
3.8 Evaluare documentelor MathCAD
Controleaz modul n care se vor afia rezultatele ce conin i uniti
de msur. n figura 3-27 sunt prezentate exemple ce ilustreaz
efectul activrii sau inhibrii celor dou controale Format units i
Simplify units when possible.
Prin evaluarea unei variabile sau funcii se nelege calculul valorii
variabilei sau funciei respective. Acest lucru se face principial n
dou moduri: automat i manual.
Evaluri automate se realizeaz ori de cte ori se modific ceva n
expresia unei variabile sau funcii. Toate variabilele sau funciile care
urmeaz n document sunt evaluate, realizndu-se automat
reactualizarea acestora. Evalurile manuale se realizeaz la cererea
56

Documente MathCAD
expres a utilizatorului, care se exprim prin apsarea tastei F9 sau
prin utilizarea cmpului Calculate din meniul Math. De subliniat c
n acest caz se va realiza doar o evaluare a expresiilor vizibile pe
ecran n momentul respectiv. Dac se dorete evaluarea ntregului
document (deci inclusiv a zonelor ce nu sunt vizibile pe ecran la un
moment dat), se va utiliza cmpul Calculate Worksheet din acelai
meniu Math.
Comutarea ntre evaluarea automat i cea manual se face prin
punctarea pe cmpul Automatic Calculation din meniul Math.
Prezena unei bife n stnga cmpului Automatic Calculation
semnaleaz c modul de evaluare automat este activ.
Dei este din multe puncte de vedere mai comod s se fac evaluare
automat, dac documentul MathCAD este de mari dimensiuni i
cuprinde calcule laborioase, evaluarea automat poate deveni
stnjenitoare, deoarece de exemplu la orice defilare prin document
(deci fr s se fi fcut vreo modificare), MathCAD evalueaz
expresiile din zona vizibil, ceea ce ncetinete uneori suprtor
viteza de lucru. Pentru a ntrerupe un calcul - o evaluare- (n colul
din dreapta jos al ecranului MathCAD, pe linia de stare este afiat
mesajul WAIT atta timp ct se efectueaz efectiv calculul), se apas
tasta ESC. Va apare pe ecran fereastra MathCAD din figura 3-28.
Apsarea butonului OK va ntrerupe evaluarea, ceea ce evident ar
putea lsa anumite calcule neterminate (sau ne actualizate).

Fig. 3-28 ntrerupere forat


evaluare
3.8.1

Dezactivarea unei ecuaii

MathCAD evalueaz automat toate expresiile care folosesc variabile


asupra crora s-au efectuat modificri, actualiznd rezultatele
(evident dac setarea Automatic Calculation este activ). Acest
57

Capitolul 3
lucru poate deveni stnjenitor din motive expuse n paragraful
precedent. Una din modalitile de evitare a acestui gen de neplceri
este dezactivarea lui Automatic Calculation. Nu este ns singurul.
Cea de a doua metod este dezactivarea selectiv a expresiilor
matematice, astfel ca modificarea ulterioar a acestora s nu aib
influen asupra celorlalte expresii din document. Dezactivarea unei
expresii presupune parcurgerea etapelor urmtoare :
Punctare cu mouse-ul pe ecuaia pe care dorim s o
dezactivm
Punctarea n meniul Format pe cmpul Properties vezi
figura 3-29.

Fig. 3-29 Dezactivarea evalurii


MathCAD va afia dup ecuaia dezactivat un dreptunghi de mic
dimensiuni, ca n exemplul de mai jos:

Reactivarea unei ecuaii dezactivat anterior se va realiza prin acelai


procedeu parcurs n ordine invers.
3.8.2

Optimizarea evalurilor

Cmpul Math Optimization permite activarea sau dezactivarea


optimizrii expresiilor. Dac o expresie este optimizat, nainte de
evaluarea numeric se verific (cu ajutorul procesorului simbolic)
58

Documente MathCAD
dac se mai poate face vreo simplificare. Dac da, nti se realizeaz
simplificarea i abia apoi se efectueaz evaluarea numeric.
n figura 3-30 se prezint un exemplu de optimizare a unei expresii.
Optimizarea presupune n prima faz selectarea expresiei. Va urma
utilizarea cmpului Math Optimization. Pentru c expresia este
simplificabil, a aprut asteriscul din partea dreapt (figura 3-30).
Efectuarea unui dublu clic pe expresie va conduce la deschiderea
casetei Optimized Result, n care apare rezultatul evalurii
numerice.

Fig. 3-30 - Optimizarea expresiilor


n cazul expresiei din exemplu, se realizeaz simplificarea, deci se
ajunge la forma simplificat a+b i abia apoi se face calculul 5+4=9.
Marele avantaj l constituie faptul c reducndu-se numrul de
evaluri (calcule) numerice, se reduce eroarea implicat de acestea.
3.9 Definirea de hyperlink-uri
Presupune parcurgerea urmtoarelor etape:
Selectarea unei regiuni (int) i ataarea unei etichete (tag)
de aceasta vezi paragraful 3.5
Selectarea unei regiuni (surs) de care se va lega hyperlinkul. Pentru aceasta se folosete cmpul Insert
Hyperlink; n caseta de dialog Edit Hyperlink (vezi
59

Capitolul 3
figura 3-31) se precizeaz numele fiierului (cu calea de
cutare inclus) care conine regiunea care a primit etichet
(chiar dac aceasta se gsete n acelai document cu
regiunea surs). Dup numele fiierului se insereaz
caracterul #, urmat de eticheta (tag-ul) definit.
Un simplu dublu clic pe regiunea surs (de care s-a legat hyperlinkul) va produce accesarea regiunii int (ceea ce poate presupune
deschiderea documentului care o conine dac este altul dect cel
care conine regiunea surs).

Fig. 3-31 Definirea de hyperlink-uri


Evident se pot defini i hyperlink-uri la adrese de Internet (legtura
se va face la un URL Uniform Resource Locator).

60

Calcul matriceal numeric

Obiective

Familiarizarea cititorului
oferite de MathCAD

cu

facilitile

Introducerea unor noiuni primare despre


fiierele i structura documentelor
MathCAD

Prezentarea mediului de lucru MathCAD i


a unor tehnici de lucru

61

Capitolul 4
4.1 Crearea unui vector sau a unei matrice
MathCAD pune la dispoziia utilizatorilor faciliti de lucru cu vectori
i matrice. Acestea pot fi folosite direct n expresii matematice sau
prin intermediul variabilelor de tip vector sau matrice, aa cum se
poate observa i n figura 4.1

Fig. 4-1- Variabile tip vector i matrice


Pentru a crea un vector sau o matrice se parcurg urmtorii pai:
se poziioneaz cursorul n zona dorit n documentul
MathCAD;
se activeaz opiunea Matrices din meniul Insert sau se
tasteaz Ctrl+M. Efectul acestei aciuni const n
deschiderea unei ferestre de dialog ca cea din figura 4-2, n
care se poate completa numrul de linii i coloane ale
matricei, respectiv ale vectorului (vectorul este un caz
particular de matrice cu o singur linie sau o singur
coloan);

Fig. 4-2 Inserarea unei matrice


62

Calcul matriceal numeric

se completeaz, n casetele corespunztoare, numrul de


linii i de coloane dorit. Se observ c matricea este afiat
la poziia indicat i avnd n poziiile corespunztoare
elementelor cte un placeholder (un dreptunghi de culoare
neagr);
se completeaz vectorul sau matricea cu valorile dorite.
Pentru aceasta se puncteaz cu mouse-ul pe placeholder-ul
dorit i se tasteaz valoarea corespunztoare. Se mai poate
folosi i tasta Tab, sau grupul de sgei care
permit trecerea de la un placeholder la altul.
Odat definit, unei matrice sau unui vector i se pot modifica
dimensiunile prin tergerea sau adugarea de linii sau coloane.
Pentru aceasta se vor parcurge etapele:
se plaseaz cursorul pe un element situat pe linia sau
coloana fa de care se vor face inserri sau tergeri;
se activeaz caseta de dialog de mai sus prin selecia
opiunii Matrices din meniul Insert sau tastnd Ctrl+M
(se va observa c n acest moment sunt active opiunile
Insert i Delete);
se tasteaz n casetele corespunztoare numrul de linii i
coloane care se insereaz sau se terg;
se activeaz opiunea dorit (Insert sau Delete) punctnd
cu mouse-ul sau prin combinaiile de taste Alt+I, respectiv
Alt+D.
Mecanismul dup care se realizeaz inserrile sau tergerile de
elemente ntr-un vector sau ntr-o matrice este urmtorul (vezi figura
4-3) :
dac se insereaz linii noi acestea vor fi create sub linia pe
care se afl elementul selectat;
dac se insereaz coloane noi acestea vor fi create la
dreapta coloanei pe care se afl elementul selectat;
pentru a insera o linie nou deasupra primei linii a matricei
se marcheaz ntreaga matrice prin folosirea tastei Space
de cte ori este necesar i apoi se procedeaz ca la o
inserare obinuit;
pentru a insera coloane noi la stnga primei coloane se
ncadreaz toat matricea, la fel ca mai sus, i se
procedeaz n maniera deja precizat;
63

Capitolul 4

tergerea de linii sau coloane se face ncepnd cu linia sau


coloana pe care se afl poziionat elementul selectat.

Fig. 4-3- Inserarea unei linii


4.1.1

Variabile de tip vector sau matrice

Dup cum s-a vzut n paragraful anterior, cu vectori i matrice se


poate lucra n mod direct, n expresii matematice sau prin
intermediul unor variabile de tip corespunztor.
Pentru a defini variabile de tip vector sau matrice se procedeaz la
fel ca la atribuirea unei singure valori numerice. Att doar c, dup
tastarea numelui variabilei i a operatorului de atribuire, se insereaz
(cu Ctrl+M) vectorul sau matricea dorit, conform procedurii
specificate mai sus. Din acest moment vectorul sau matricea sunt
legate de variabila definit, aceasta din urm fiind folosit n
probleme de calcul matriceal.
4.1.2

Referirea elementelor vectorilor sau matricelor

n afar de relaiile de calcul matriceal exist numeroase situaii cnd


este necesar referirea unui anumit element dintr-un vector sau
dintr-o matrice. Acest lucru se realizeaz prin folosirea unor variabile
indice de tip ntreg, care indic poziia elementului n vector,
respectiv n matrice.
Pentru a crea o referin la un anumit element al unui vector se
tasteaz numele vectorului, caracterul [ i valoarea indicelui
corespunztor. n cazul matricelor vor fi folosii doi indici cu
precizarea c se va utiliza o secven de taste ca n exemplul
urmtor: A[i,j: valoare. Aceasta are ca efect atribuirea unei valori
elementului situat pe linia i i coloana j a matricei A.
n figura 4.4 sunt prezentate cteva exemple privind referirea
elementelor unui vector i unei matrice. Se poate observa c prin
64

Calcul matriceal numeric


acest procedeu se pot atribui valori anumitor elemente ale unui
vector sau ale unei matrice ori se pot vizualiza aceste elemente.

Fig. 4-4 - Referirea elementelor unui vector sau ale unei matrice
Mecanismul prezentat mai sus este valabil pentru referirea
individual a elementelor. Pe lng acest mecanism, MathCAD
permite referirea unei ntregi coloane a unei matrice. Pentru aceasta
se va folosi combinaia de taste Ctrl + ^ sau simbolul corespunztor
din paleta de simboluri Vector and Matrix Toolbar.

Fig. 4-5 - Referirea ntregii coloane a unei matrice


4.1.3

Originea indicilor
65

Capitolul 4
Pentru a referi o anumit coloan a matricei M se va tasta numele
matricei urmat de combinaia de taste precizat mai sus. Matricea va
primi un indice superior situat ntre caracterele < >, a crui valoare
specific de fapt coloana care se va referi. n figura 4.5 sunt
prezentate exemple de referire a coloanelor unei matrice.
Referirea elementelor vectorilor sau matricelor presupune utilizarea
indicilor.
Valoarea minim a indicelui/indicilor este dat de variabila
predefinit numit ORIGIN. Aceasta este o variabil MathCAD care
este implicit setat pe valoarea 0.
Vor exista astfel elementele V0 sau A0,0, funcie de caz.
Deoarece acest mod de lucru nu este totdeauna cel mai indicat,
valoarea variabilei ORIGIN poate fi modificat astfel:
se folosete cmpul Math Options. Se va deschide o
fereastr de dialog ca n figura 4-6 i se modific valoarea
variabilei ORIGIN.
se atribuie explicit valoarea dorit variabilei ORIGIN, aa
cum se atribuie o valoare oricrei variabile.
Numele variabilei ORIGIN trebuie scris cu majuscule i pot fi definii
i indici negativi.

Fig. 4-6 Modificarea originii indicilor


66

Calcul matriceal numeric

4.1.4

Limitri asupra dimensiunilor matricelor

Cnd se creeaz o matrice sau un vector cu ajutorul cmpului


Insert Matrix, vectorul sau matricea nu pot avea mai mult de
100 de elemente. Pot fi create matrice sau vectori de dimensiuni mai
mari, prin utilizarea uneia din urmtoarele metode:
citirea (vectorului sau matricei) dintr-un fiier de date;
concatenarea vectorilor sau matricelor;
utilizarea variabilelor cu indice (Ai,j);
crearea aa numitelor input table.
n cazul evalurii unei matrice n sistem Matrix (vezi paragraful 3.7),
se vor reprezenta maxim 200 de rnduri i coloane.
Exist totui o limit a numrului de elemente pe care le poate avea
o matrice sau un vector i acest numr depinde de memoria intern
a sistemului de calcul. Un milion de elemente este o valoare n
general acceptat, dar limita impus de MathCAD este de 8 milioane
de elemente.
4.2 Operatori pentru calcul matriceal
Pentru folosirea vectorilor i a matricelor, MathCAD ofer o serie de
operatori specifici. n continuare sunt prezentai aceti operatori i
operaiile pe care le efectueaz:
Operaia

Aspect

Tasta

Produs scalar

zA

Produs de vectori

u v

Produs matricial

A B

nmulire
vector/matrice

A v

Descriere
nmulete fiecare element al
matricei A cu scalarul z
ntoarce un scalar egal cu
ui vi , unde u i v sunt

vectori cu acelai numr de


elemente
Efectueaz produsul matricelor A
i B
Efectueaz
produsul
dintre
matricea A i vectorul v

67

Capitolul 4
Operaia
mprire de tip
scalar
Adunare
de
vectori (matrice)
Adunare cu un
scalar
Diferen
de
matrice
Diferen de tip
scalar
Negativarea unei
matrice

Aspect

Tasta

A/z

A+B

Adun matricele A i B

A+z

Adun scalarul z la
elementele matricei A

A-B

Scade matricea B din matricea A

A-z

-A

Ridicare la putere

An

Norma
vector

|v|

unui

Determinant
Transpusa

toate

Scade scalarul z din toate


elementele matricei A
Schimb
semnul
tuturor
elementelor matricei A
Ridicarea unei matrice la o
putere oarecare. Dac aceasta
este 1 atunci se realizeaz de
fapt inversarea matricei

Calculeaz norma unui vector v

|A|

AT

Calculeaz
determinantul
matricei ptrate A

Ctrl +
!

Produs vectorial

uxv

Ctrl +
8

Extragere
de
coloan
Suma termenilor
unui vector

M<n>

Ctrl+6

Ctrl +
4

Vectorizare

Descriere
mparte
toate
elementele
matricei A la scalarul z

Ctrl+-

Determin transpusa matricei A


Calculeaz produsul vectorial al
vectorilor coloan u i v cu cte
3 elemente
Extrage coloana n a unei
matrice
nsumeaz elementele vectorului
v
Operatorii i funciile matriciale
sub acest operator se aplic
fiecrui element al matricei (vezi
paragraful 4.3.6)

n figura 4-7 sunt prezentate cteva exemple simple de aplicare a


acestor operatori.

68

Calcul matriceal numeric

Fig. 4-7 - Operatori pentru calcul matriceal


4.3 Funcii pentru calcul matriceal
n afar de operatorii matematici prezentai n paragraful anterior,
MathCAD ofer utilizatorului o serie de funcii care pot fi aplicate
vectorilor sau matricelor. Aceste funcii i rezultatul aplicrii lor sunt
prezentate mai jos.
Numele funciei

Rezultatul obinut n urma aplicrii


funciei

Dimensiunea/dimensiunile unui tablou


rows(A)
cols(A)
length(v)
last(v)
identity(n)

Numrul de linii al matricei A


Numrul de coloane al matricei A
Numrul de elemente al vectorului v
Indicele ultimului element al vectorului v
Matricea identitate de ordinul n

Extremele unui tablou


max(A,B,C,..)

Elementul de valoare
tablourile A, B, C,

maxim

din

69

Capitolul 4
Numele funciei
min(A,B,C,)

Rezultatul obinut n urma aplicrii


funciei
Elementul de valoare minim din matricea
A, B, C,

Crearea de tablouri
matrix(m,n,f)

CreateMesh(F,...)

CreateSpace(F,)

O matrice cu dimensiunea m x n, pentru


care elementul de poziie i,j are valoarea
f(i,j), unde f este o funcie de dou
variabile.
O matrice format din trei submatrice, x, y
i z, ce reprezint coordonatele unei
suprafee parametrice definit de o funcie
sau un set de funcii. Pentru clarificri
privind argumentele, vezi exemplele ce vor
urma.
O matrice format din trei submatrice, x, y
i z, ce reprezint coordonatele unei curbe
parametrice strmb n spaiu, definit de
o funcie sau un set de funcii. Pentru
clarificri
privind
argumentele,
vezi
exemplele ce vor urma.

Concatenarea de tablouri
stack(A,BC,)
augment(A,B,C,..)

O matrice obinut prin alipirea matricelor


A, B, C, una peste alta
O matrice obinut prin alipirea matricelor
A, B, C, una dup alta

Valori i vectori proprii


70

Calcul matriceal numeric


Numele funciei

Rezultatul obinut n urma aplicrii


funciei
Un vector format din valorile proprii ale
matricei ptrate A.
Vectorul propriu al matricei A, asociat
valorii proprii z. Vectorul este normalizat
(suma ptratelor elementelor este 1).
O matrice coninnd pe coloane vectorii
proprii ai matricei A.
Un vector coninnd valorile proprii pentru
o problema general de vectori i valori
proprii
O matrice coninnd vectorii proprii pentru
o problema general de vectori i valori
proprii

eigenvals(A)
eigenvec(A,z)
eigenvecs(A)
genvals(M,N)
genvecs(M,N)

Extragerea de submatrice
submatrix(A,ir,jr,ic,j
c)

O submatrice a matricei A, obinut prin


extragerea [din A] a unei zone delimitat
de indicii ir, jr (linia cu indice minim,
respectiv maxim) i ic, jc (coloana cu
indice minim, respectiv maxim).

Tipuri speciale de matrice


diag(v)
geninv(A)

O matrice diagonal, ale crei elemente


[de pe diagonala principal] sunt chiar
elementele vectorului v.
Matricea invers la stnga a lui A, fie ea L,
astfel ca L * A = I (matricea A trebuie s
fie real)

71

Capitolul 4
Numele funciei
rref(A)

Rezultatul obinut n urma aplicrii


funciei
Ealonul redus al matricei sau vectorului A.
Matricea sau vectorul A trebuie s fie
reale.

Caracteristici speciale ale matricelor


tr(A)
rank(A)
norm1(M)
norm2(M)
norme(M)
normi(M)
cond1(M)
cond2(M)
conde(M)
condi(M)
cholesky(M)
Re(A)
Im(A)

Urma matricei ptratice A (suma


elementelor
situate
pe
diagonala
principal)
Rangul matricei A
Norma L1 a matricei ptrate M
Norma L2 a matricei ptrate M
Norma Euclidian a matricei M
Norma infinit a matricei M.
Numrul de condiionarea a
matricei
ptrate M, bazat pe norma L1
Numrul de condiionarea a
matricei
ptrate M, bazat pe norma L2
Numrul de condiionarea a
matricei
ptrate M, bazat pe norma Euclidian
Numrul de condiionarea a
matricei
ptrate M, bazat pe norma infinit
O matrice inferior triunghiular, fie ea L,
astfel nct L * L T =M. Matricea M trebuie
s fie simetric.
O matrice ale crei elemente sunt prile
reale ale elementelor matricei A
O matrice ale crei elemente sunt prile
imaginare ale elementelor matricei A

Descompuneri de matrice

72

Calcul matriceal numeric


Numele funciei
gr(A)

lu(M)

svd(A)

svds(A)

Rezultatul obinut n urma aplicrii


funciei
O matrice ale crei prime n coloane conin
matricea ortonormal Q, restul coninnd
matricea superior triunghiular R, astfel ca
A=Q * R. Pentru extragerea lui Q i R se
va utiliza funcia submatrix.
O matrice care conine trei sub matrice
ptrate, fie ele P, L i U, toate avnd
dimensiunea lui M, concatenate una dup
alta n aceast ordine (pentru extragerea
lor se va utiliza funcia submatrix).
Matricele satisfac relaia :
P * M = L * U. M trebuie s fie ptrat.
O matrice coninnd una peste alta,
dou matrice. Fie ele U i V. Aceste
matrice satisfac relaia : A=U * diag(s) *
V, unde s este vectorul ntors de funcia
svds(A). Matricea A trebuie s aib
dimensiunea m,n cu mn i trebuie s fie
real
Un vector coninnd valorile singulare ale
matricei A, care trebuie s aib
dimensiunea m,n cu mn i trebuie s fie
real

Funcii de cutare n tablouri


lookup(z,A, B)

O valoare sau un vector ce reprezint


elementul/elementele din matricea B care
ocup aceeai poziie [n B] cu cea
ocupat de valoarea z n A.

73

Capitolul 4
Numele funciei
hlookup(z, A, r)

vlookup(z, A, c)

match(z, A)

Rezultatul obinut n urma aplicrii


funciei
Un element sau un vector ce reprezint
elementul/elementele din matricea A ce se
gsesc pe rndul r (din A), situate pe
aceeai/aceleai
coloan/coloane
cu
elementele de pe primul rnd avnd
valoarea z.
Un element sau un vector ce reprezint
elementul/elementele din matricea A ce se
gsesc pe coloana c (din A), situate pe
acelai/aceleai
rnd/rnduri
cu
elementele de pe prima coloan avnd
valoarea z.
Indicii (sub form de tablouri incluse)
poziiilor n care apare valoarea z n
matricea A.

nainte de a se prezenta cteva exemple de utilizare a unor funcii


aplicabile vectorilor i matricelor, vor fi reamintite cteva relaii
matematice importante :
Norma L1 returneaz cea mai mare sum a elementelor de pe
N

coloane, adic :

L1 = max ( m kj
1 j N

k =1

Norma L2 returneaz cea mai mare valoare singular, adic :

L2 = ( M ) = max , ( M ) .
unde cu (M ) s-a notat mulimea valorilor proprii ale matricei M
(numit i spectrul acesteia), iar cu

(M )

s-a notat raza spectral a

matricei. Cu s-au notat valorile proprii ale lui M.


Se reamintete c pentru o matrice M, se pot gsi trei matrice U, S,
i V, astfel nct M=U.S.VT, unde det(U)=det(V)=1, iar matricea S
are elemente nenule numai pe diagonala principal. Aceste valori se
numesc valori singulare ale matricei M.
74

Calcul matriceal numeric


Norma Euclidian ntoarce valoarea : M

2
jk

j ,k

Norma infinit returneaz suma cea mai mare sum a elementelor


de pe linii, adic : L = max (
1 k N

m
j =1

kj

Cteva exemple privind utilizarea acestor funcii sunt prezentate n


figurile urmtoare.

Fig. 4-8 Funciile rows, cols, max, min,


length, tr, last, augment, identity

Fig. 4-9 - Funciile stack, diag, submatrix,


75

Capitolul 4
norm1, normi, norme, norm2
n legtur cu normele i numerele de condiionare ale matricelor,
sunt prezentate mai jos cteva consideraii teoretice.
Sunt valabile urmtoarele relaii ntre norme i numerele de
condiionare:

norm x( M ) norm x( M 1 ) = cond x( M ) , unde x poate fi

oricare din caracterele i, e, 1 sau 2.


numrul de condiionare 2 (cond2) este egal cu raportul
dintre cea mai mare i cea mai mic valoare singular a unei
matrice. Valorile singulare sunt ntoarse de funcie svds
(vezi mai jos).
Numrul de condiionare ntors de funcia condi este util pentru
cuantificarea gradului de stabilitate a sistemelor de ecuaii de forma
A x = b, la variaii ale elementelor matricei coeficienilor. Astfel,
valori mari ale numrului de condiionare indic matrice (sisteme)
ru condiionate. Dac numrul de condiionare este infinit,
matricea [sistemului] este singular.
Rezolvarea unor astfel de sisteme se poate face i prin utilizarea
funciei svd (vezi paragrafele urmtoare).
Aceste consideraii sunt ilustrate de exemplele din figura 4-10.

76

Calcul matriceal numeric

Fig. 4-10 Norme i numere de condiionare


n ceea ce privete descompunerile de matrice ce se pot realiza n
MathCAD, sunt reamintite mai jos cteva consideraii teoretice
minimale, necesare unei bune nelegeri a acestui subiect, precum i
a utilizrilor care se pot da funciilor de descompunere a matricelor.
4.3.1

Descompunerea L U

Fie sistemul Ax=b (scriere matricial).


Dac se poate scrie A=L . U, unde L este inferior triunghiular i U
superior triunghiular, sistemul se va [re]scrie :
(L.U) x=b sau L (U.x)=b, i se rezolv astfel :
L.y =b, prin substituie nainte
U.x=y prin substituie napoi.
n cazul MathCAD, funcia lu(M) ntoarce trei matrice ptrate P, L si
U, astfel nct :
P.M=L.U,
77

Capitolul 4
deci un sistem Ax=b revine la a rezolva sistemul P.A.x=P.b i mai
apoi :
L.(U.x)=P.b
4.3.2

Descompunerea Cholesky

Dac n sistemul Ax=b, matricea A este simetric i pozitiv definit


(v.A.v>0, oricare ar fi vectorul v), se poate gsi o matrice L, astfel
nct LLT =A (deci LT=U din descompunerea LU).
Obs : O matrice este pozitiv definit dac are toate valorile proprii
pozitive
Exemplu :

4.3.3

9 1 1 0
1 9 0 1

A=
1 0 9 1

0 1 1 9

Descompunerea QR

Dac o matrice A se poate scrie ca :


A=Q.R,

unde Q este o matrice ortogonal (QT.Q=I), iar R este superior


triunghiular, atunci sistemul :
A.x=b se poate la rndul su scrie:
Q.R.x=b i apoi R.x=QT.b, i se rezolv prin substituie napoi.
4.3.4

Descompunerea SVD (Singular Value Decomposition)

Se folosete pentru sistemele singulare sau foarte aproape de


sistemele singulare.
Pentru o matrice A, se poate gsi descompunerea :
A=U.diag(S).VT
unde U i V sunt ortogonale.
Funcia svd ntoarce o matrice ce conine concatenate prin
suprapunere matricele U i V.
Soluia unui sistem de forma A.x=b este:
x=V.diag(1/Sj)(UT.b)
n cazul MathCAD, S este vectorul ntors de funcia svds(A)
78

Calcul matriceal numeric


n figura 4-11 sunt este prezentat descompunerea SVD pentru o
matrice.

Fig. 4-11 - Descompunerea svd


Descompunerea SVD este extrem de util n rezolvarea sistemelor
pentru care matricea coeficienilor este singular sau foarte aproape
de aceast stare.

79

Capitolul 4

Fig. 4-12 Rezolvarea sistemelor qvasi singulare cu ajutorul


descompunerii svd
Se reamintete c determinantul unei matrice singulare este 0, ceea
ce constituie un impediment de netrecut pentru orice algoritm de
rezolvare a sistemelor algebrice liniare care face apel la inversarea
matricei A.
80

Calcul matriceal numeric


Pentru o bun nelegere, n figura 4-12 este prezentat cazul unui
sistem algebric liniar, a crui matrice a coeficienilor M, este
aproape singular.
Se poate observa din analiza figurii 4-12 c soluiile obinute prin
utilizarea funciilor svd, respectiv lsolve (care rezolv sistemul prin
aplicarea relaiei x=M-1.b) nu sunt identice, ba mai mult, cea oferit
de lsolve este mai corect. Se recomand cititorului s recreeze
secven MathCAD din figura 4-12 i s mai adauge un 9 la valoarea
elementului M0,2, apropiind i mai mult matricea M de singularitate.
Se va constata c lsolve nu mai ntoarce soluie, n vreme ce
metoda care face uz de funcia svd, nc mai produce o soluie.
Aceast situaie este prezentat n figura 4-13.

Fig. 4-13 Rezolvarea unui sistem singular cu ajutorul funciei svd

81

Capitolul 4

4.3.5 Exemple de utilizarea a funciilor de cutare n


tablouri
- lookup
Fie dou tablouri, ce conin date despre 5 persoane. Primul tablou,
M, conine numele, anul naterii i locul naterii. Al doilea, N,
conine localitatea de domiciliu, numrul de telefon i pe ultima
coloan, numrul de fax.

Observaie: A se nota c toate datele au fost introduse ca iruri de

caractere.
Utiliznd funcia lookup, se vor extrage, n prima etap, anul
naterii celor nscui n Ploieti. n a doua etap, se vor extrage
numerele de telefon ale tuturor celor nscui n Ploieti.
Dup cum s-a putut observa, n prima etap informaia se gsete
ntr-un singur tablou, n vreme ce n cel de-al doilea, vor fi necesare
ambele [tablouri].
n figura 4-14 este reprodus secvena de document MathCAD care
extrage anii de natere, precum i evaluarea variabilei n care acetia
au fost extrai.

Fig. 4-14 Funcia lookup opernd asupra unui singur tablou


82

Calcul matriceal numeric


Semnificaia scrierii de mai sus este urmtoarea: se caut n coloana
cu indicele 2 (atenie, originea indicilor este 0), valoarea "Ploieti" i
sunt ntoarse valorile de pe coloana cu indicele 1 (a doua deci), din
dreptul valorilor gsite pe coloana a treia.
Pentru extragerea numerelor de telefon, se va utiliza secvena de
document MathCAD din figura 4-15.

Fig. 4-15 Funcia lookup opernd asupra a dou tablouri


Semnificaia scrierii de mai sus este, acum, uor de dedus: se vor
ntoarce valorile pe coloana a doua (cu indicele 1) din tabloul N, din
dreptul (cu poziiile) celor cu valoarea Ploieti, de pe coloana a
treia din tabloul M.
- hlookup, vlookup
Tabloul M, din exemplele precedente a fost transpus i din el se va
extrage cu ajutorul funciei hlookup, locul naterii persoanei cu
numele Pripici. Se va urmri figura 4-16.

Fig. 4-16 Funcia hlookup


83

Capitolul 4
Utiliznd tabloul N de la exemplele precedente i funcia vlookup,
se vor extrage numerele de telefon ale celor domiciliai n Ploieti. Se
va urmri figura 4-17.

Fig. 4-17 Funcia vlookup


- match
n exemplul din figura 4-18, s-a realizat extragerea indicilor poziiilor
din tabelul M, care au valoarea Ploiesti. Pentru ca rezultatul s
arate ca n figura amintit, trebuie s se seteze ON opiunea de
afiare a tablourilor incluse (Format Result Display
Options Expand nested arrays).

4.3.6

Vectorizri i atribuiri simultane

Fig. 4-18 Funcia match


Operatorii prezentai n paragraful 6.5. permit efectuarea de operaii
de calcul matriceal. Exist ns i situaii cnd asupra elementelor
unei matrice trebuie efectuat aceeai operaie scalar.
84

Calcul matriceal numeric


n acest caz se poate folosi operatorul de vectorizare care determin
aplicarea operatorilor i funciilor element cu element vectorilor sau
matricelor.
Astfel, dac pentru o matrice M aplicarea funciei sin(M) este
incorect, prin vectorizare se aplic funcia sin( ) fiecrui element al
matricei M.
Vectorizarea se realizeaz prin tastarea combinaiei Ctrl + - (sau
selectnd simbolul respectiv din toolbar-ul Operators) dup ce sa selectat membrul unei relaii de atribuire. Se observ din exemplul
de mai jos c deasupra acestuia va apare o sgeat, ca simbol al
operaiei de vectorizare.

Fig. 4-19 - Vectorizare


Folosirea vectorilor permite realizarea de atribuiri simultane. Acesta
nseamn c, n cursul unei singure secvene de atribuire pot primi
valori mai multe variabile.
Un exemplu de atribuire simultan este prezentat mai jos

Fig. 4-20 - Atribuire simultan

85

Capitolul 4
4.3.7

Crearea de matrice structurate

4.3.7.1 Funcia CreateMesh


Funcia creeaz o matrice format din trei submatrice (dispuse n
sistem stack) ce reprezint coordonatele x, y, z ale unei suprafee
parametrice definit prin intermediul unei funcii vector, unei funcii
de dou variabile, sau unui set de 3 funcii.
Sintaxa de apelare a funciei este una din urmtoarele:
CreateMesh (F, [s0], [s1], [t0], [t1], [sgrid], [tgrid], [fmap])
CreateMesh (G, [s0], [s1], [t0], [t1], [sgrid], [tgrid], [fmap])
CreateMesh (f1, f2, f3, [s0], [s1], [t0], [t1], [sgrid], [tgrid],

[fmap])
Parametrii din parantezele drepte sunt opionali. Semnificaiile
tuturor parametrilor sunt:

F este un vector funcie cu 3 elemente, fiecare o funcie de


dou variabile u i v;

G este o funcie de dou variabile u i v;

f1 este o funcie de dou variabile u i v;

f2 este o funcie de dou variabile u i v;

f3 este o funcie de dou variabile u i v;

86

s0 este limita inferioar a variabilei u. Valoarea implicit este

-5;

s1 este limita superioar a variabilei u. Valoarea implicit


este 5;

Calcul matriceal numeric

t0 este limita inferioar a variabilei v. Valoarea implicit este


-5;

t1 este limita superioar a variabilei v. Valoarea implicit


este 5;

sgrid este numrul de intervale n care este mprit


domeniul de variaie al parametrului u. Valoarea implicit
este 20 i sgrid>0

tgrid este numrul de intervale n care este mprit


domeniul de variaie al parametrului v. Valoarea implicit
este 20 i tgrid>0

fmap este o funcie vector cu trei elemente, de trei variabile


care definete maparea (proiectarea) din orice sistem de
coordonate n cel cartezian. n MathCAD exist dou funcii
de tip fmap, specializate n maparea din coordonate
cilindrice, respectiv sferice n coordonate carteziene (cyl2xyz,
respectiv sph2xyz).

Exemplu de funcie de tip fmap:

87

Capitolul 4
Exemple:

1. Utilizarea unei funcii vector

Fig. 4-21 Utilizarea unei funcii vector i reprezentarea grafic


corespunztoare

88

Calcul matriceal numeric


2. Utilizarea unei funcii de dou variabile

Fig. 4-22 Utilizarea unei funcii de dou variabile


i reprezentarea grafic corespunztoare

89

Capitolul 4
3. Utilizarea a trei funcii de dou variabile

Fig. 4-23 Utilizarea a trei funcii de dou variabile


4.3.7.2 Funcia CreateSpace
Funcia CreateSpace
creeaz o matrice format din trei
submatrice-vector (aranjate n sistem stack). Cei trei vectori conin
coordonatele x, y, respectiv z ale unei curbe strmbe n spaiu.
Sintaxa de apelare a funciei este una din urmtoarele:
CreateSpace(F, [t0], [t1], [tgrid], [fmap])
CreateSpace(f1, f2, f3, [t0], [t1], [tgrid], [fmap])

90

Calcul matriceal numeric


Semnificaiile notaiilor sunt uor de dedus prin analogie cu cele
prezentate n cazul funcie CreateMesh, cu observaia c funcia F,
ca i funciile f1, f2, i f3 depind de o singur variabil.
Exemplu:

1. Utilizarea unei funcii vector

Fig. 4-24 Utilizarea unei funcii vector

91

Reprezentri grafice

MathCAD permite obinerea unui numr mare de tipuri de


reprezentri grafice 2D i 3D, punnd la dispoziia utilizatorilor
multiple faciliti de formatare a acestor reprezentri.

Obiective

Prezentarea tipurilor de reprezentri


grafice ce se pot realiza cu ajutorul
MathCAD

Prezentarea facilitilor de formatare a


graficelor

93

Capitolul 5
5.1 Grafice 2D
5.1.1 Grafice de tip X-Y
Inserarea unui grafic de tip X-Y presupune parcurgerea urmtoarelor
etape:
1.
Alegerea cmpului Insert Graph X-Y Plot sau a
butonului corespunztor de pe bara de instrumente Graph (vezi
figura 5-1)
2. Completarea marcatorilor cu elementele corespunztoare (nume
variabil de reprezentare, limite, nume funcie sau expresie de
reprezentat etc.) vezi figura 5-1.

Fig. 5-1 Completarea marcatorilor

pentru graficele de tip X-Y


n legtur cu modul de completare a marcatorilor se fac
urmtoarele precizri:

94

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;

Reprezentri grafice

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;

n figura 5-2, sunt prezentate mai multe grafice de tip X-Y.

i := 1 .. 20
xi := .5 i

yi := ( xi) 5 xi
2

60
40
yi

20
0
20

10

xi

a. Reprezentarea unui vector funcie de alt vector

95

Capitolul 5
x := 0 , .1 .. 20
sin ( x) +cos ( x)

f ( x) := e

sin ( x) cos ( x)

f ( x)

10

15

20

c. Reprezentarea unei funcii


x := 0 , .1 .. 20
sin ( x) +cos ( x)

f ( x) := e

sin ( x) +cos ( x)

g( x) := e

sin ( x) cos ( x)

sin ( x) cos ( x)

+e

10

f ( x)
g ( x)

5
0
5

10

15

20

d. Reprezentarea mai multor funcii dependente de o singur

variabil

96

Reprezentri grafice

e. Reprezentarea mai multor funcii dependente de mai multe

variabile

Fig. 5-2 Reprezentri grafice de tip X-Y


5.1.2

Formatarea graficelor de tip X-Y

MathCAD ofer multiple faciliti de control al aspectului (formatului)


graficelor. Pentru a declana procesul de formatare, dup ce se
selecteaz graficul asupra cruia se intervine, se poate folosi una din
metodele enumerate mai jos:
Format Graph X-Y Plot
Clic dreapta pe zona graficului urmat de acionarea
cmpului Format
Dublu clic pe o anumit zon a graficului (axe, legend,
trasee etc.)
Dac se folosete una din primele dou metode, se ajunge la caseta
de dialog prezentat pe parcursul figurilor 5-3, 5-4, 5-5 i 5-6.

97

Capitolul 5

a.

Se pot controla la nivel


de ax urmtoarele:
- utilizarea unei scri
logaritmice;
- prezena liniilor de
caroiaj;
valorilor
- prezena
numerice pe axe;
- amplasarea automat
a acestora;
- prezena unui numr
de
maxim
2
marcatori pe fiecare
ax;
- controlul
desimii
caroiajului;
- autoscalarea valorilor
graficului;
- utilizarea de scri egale
pe cele dou axe.
n figura 5-3.b se poate
vedea un grafic pentru
care setrile sunt cele
din figura 5-3.a.
Marcatorii nu apar dect
pe axa X n dreptul
i
valorilor
2,5
respectiv 4.

b.

Fig. 5-3 Seciunea X-Y Axes


n figura 5-4.a se poate vedea un grafic pe care sunt reprezentate
dou trasee. Setrile sunt cele din figura 5-4.b.
98

Reprezentri grafice

a.

Seciunea Traces permite


controlul
caracteristicilor
traseelor graficelor:
- denumire
traseu:
Legend Label;
- modul de marcarea a
punctelor
traseelor:
Symbol;
- tipul de linie cu care sunt
unite punctele traseelor:
Line;
- culoarea
traseelor:
Color;
- tipul de unire a punctelor
traseelor: Type;
- grosimea
liniilor
de
reprezentare a traseelor:
Weight;
- ascunderea sau nu a
legendei
sau
argumentelor:
Hide
Legend, respectiv Hide
Arguments;

b.

Fig. 5-4 Seciunea Traces


99

Capitolul 5
Seciunea Labels permite definirea unui titlu al graficului (Title), a
poziiei acestuia, sau a unor legende la nivel de axe (Axis labels).
Seciunea Defaults permite fie revenirea la setrile de formatare a
graficelor implicite pentru document (Change to Defaults), fie
dimpotriv, transformarea setrilor curente n setri implicite pentru
ntregul document.
5.1.3

Grafice n coordonate polare

Inserarea unui grafic n coordonate polare presupune parcurgerea


urmtoarelor etape:
1. Alegerea cmpului Insert Graph Polar Plot sau a
butonului corespunztor de pe bara de instrumente Graph (vezi
figura 5-6)
2. Completarea marcatorilor cu elementele corespunztoare (nume
variabil de reprezentare, respectiv nume funcie sau expresie de
reprezentat etc.). A se consulta figura 5-5)

Fig. 5-5 Marcatori pentru grafice n coordonate polare


n figura 5-6 este reprezentat un grafic n coordonate polare.

100

Reprezentri grafice

Fig. 5-6 Grafic n coordonate polare


5.1.4

Formatarea graficelor n coordonate polare

Pentru formatare se va proceda ca n cazul graficelor n coordonate


XY. Particularitile specifice graficelor n coordonate polare vor fi
uor de neles. Declanarea formatrii se face, dup selectarea unui
grafic, prin acionarea cmpului Format Graph Polar Plot
5.1.5

Controlul vizualizrii graficelor 2D

5.1.5.1 Facilitatea de tip Trace (urmrire a valorilor de pe


grafic)
Facilitatea Trace permite citirea valorilor de pe un grafic i
eventual copierea lor n afara graficului (firete n documentul
MathCAD ce conine graficul). Modul Trace se activeaz prin
intermediul cmpului Format Graph Trace n figura 5-7
este surprins procesul de citire a unei valori de pe grafic (se citesc
cele dou coordonate). Este suficient un clic stnga pe curba
reprezentat i valoarea din dreptul pointerului este citit.
101

Capitolul 5
Eliminarea bifei din dreptul cmpului Track Data Points, va permite
i citirea unor valori din exteriorul curbei sau a punctelor de pe curb
ce nu corespund valorilor discrete ale variabilei abscis.

Fig. 5-7 Citirea de valori de pe un grafic


n figura 5-8 se este surprins utilizarea facilitii Trace n condiiile
eliminrii Track Data Points.

102

Reprezentri grafice

Fig. 5-8 Citirea de valori cu Track Data Points dezactivat


n cazul graficelor n coordonate polare citirea de valori decurge ca
n figura 5-9.

103

Capitolul 5

Fig. 5-9 - Citirea de valori de pe un grafic n coordonate polare

5.1.5.2 Facilitatea de tip Zoom (controlul factorului de


mrire)
Pentru realizarea de focalizri care s pun n eviden detalii ale
reprezentrilor grafice, se poate folosi modul zoom. Acest lucru este
posibil prin utilizarea cmpului Format Graph Zoom .
Executarea de focalizri (zoom) se poate repeta (pentru obinerea
de detalii tot mai clare), dar se poate i anula, pas cu pas
(Unzoom), sau complet (Full View).
n figura 5-10.a se poate vedea modul cum se realizeaz o
focalizare, pentru ca n figura 5-10.b s se poat vedea rezultatul
operaiei.
Modul zoom poate fi folosit (printre altele) i pentru aprecierea
soluiilor reale ale unor ecuaii. Un rezultat mai bun se poate obine
prin utilizarea combinat a facilitilor zoom i trace.
Dup realizarea unui zoom, n caseta de dialog X-Y Zoom se pot
citi limitele zonei mrite.
104

Reprezentri grafice

a.

b.

Fig. 5-10 Facilitatea zoom


105

Capitolul 5
n figura 5-11 este surprins modul de operare zoom n cazul unui
grafic n coordonate polare.

Fig. 5-11 Zoom n cazul graficelor polare


5.2.1
Grafice
5.2
Grafice
3D de tip suprafa
Pentru includerea ntr-un document MathCAD a unui grafic de tip
suprafa (Surface Plot), se poate utiliza cmpul Insert Graph
Surface Plot sau butonul corespunztor de pe bara de unelte
Graph (vezi figura 5-12).

106

Reprezentri grafice

Fig. 5-12 Crearea unui grafic de tip suprafa


Pentru obinerea graficului, se completeaz marcatorul cu:
- numele unei variabile de tip matrice;
sau
- numele separate prin virgul - a trei variabile de tip matrice (totul
se nchide n paranteze rotunde) ;
sau
- numele separate prin virgul a trei variabile de tip vector (totul
se nchide n paranteze rotunde);
sau
- numele unei funcii sau unui set de funcii de dou variabile (dac
e vorba de un set de funcii, numele se vor separa prin virgul).
Este posibil reprezentarea pe acelai grafic a mai multor suprafee.
Pentru aceasta, se vor separa prin virgul argumentele fiecrei
suprafee. Pentru exemplificare se recomand urmrirea atent a
figurilor 5-13..5-19 . Mai trebuie precizat c n exemplele ce
urmeaz pentru a obine aspectul reprezentrilor au fost realizate i
anumite operaii de formatare.

107

Capitolul 5

Fig. 5-13 Grafic de tip suprafa obinut


pornind de la o matrice

108

Reprezentri grafice

Fig. 5-14 Grafic de tip suprafa obinut pornind de la trei matrice


Pentru acest tip de grafic sunt necesare urmtoarele precizri:
1. Toate cele 3 matrice trebuie s aib acelai numr de linii i
coloane;
2. Acest tip suprafa se numete parametric i nu poate fi
ulterior (prin formatare) transformat n celelalte tipuri de
grafice 3D.

109

Capitolul 5

Fig. 5-15 Grafic de tip suprafa obinut pornind de la trei vectori

Fig. 5-16 - Grafic de tip suprafa


obinut pornind de la ecuaia unei funcii vector
110

Reprezentri grafice

Fig. 5-17 Grafic de tip suprafa


obinut pornind de la ecuaia unei funcii
de dou variabile

Fig. 5-18 - Grafic de tip suprafa obinut


pornind de la ecuaia a trei funcii de dou variabile
111

Capitolul 5

5.2.2

Grafice de tip curbe de nivel (Contour Plot)

Fig. 5-19 - Reprezentarea pe acelai grafic a dou suprafee


Pentru includerea ntr-un
curbe de nivel (Contour
Graph Contour Plot
unelte Graph (vezi figura

document MathCAD a unui grafic de tip


Plot), se poate utiliza cmpul Insert
sau butonul corespunztor de pe bara de
5-20).

Fig. 5-20 Inserarea unui grafic


de tip curbe de nivel

112

Reprezentri grafice
Graficele de tip curbe de nivel se obin de fapt din suprafee
secionate de plane paralele cu planul XOY (sau YOZ sau XOZ).
Curbele de intersecie se proiecteaz pe planul XOY (sau YOZ sau
XOZ) i se reprezint. Cum la baza graficelor de tip contur stau de
fapt nite suprafee, vor fi aceleai i metodele de generare a unor
astfel de reprezentri: se va porni deci tot de la o matrice, trei
matrice, trei vectori, sau expresia unei funcii (vector sau simpl de
trei variabile) sau unui numr de trei funcii de dou variabile.

Fig. 5-21 Grafic de tip Contour Plot obinut pornind de la trei


vectori

113

Capitolul 5
5.2.3 Grafice de tip puncte distribuite n spaiu (3D Scatter
Plots)
Graficele de acest tip permit vizualizarea de puncte n spaiu, iar
dac se opteaz pentru unirea acestora cu segment de dreapt, se
pot folosi pentru reprezentarea de curbe parametrice n spaiu. Un
grafic de tip scatter poate fi transformat n oricare din celelalte
grafice 3D.
Pentru inserarea unei astfel de reprezentri, se vor folosi cmpul
Insert Graph 3D Scatter Plot, sau butonul corespunztor de
pe bara de instrumente Graph (vezi figurile 5-225-24 ).

Fig. 5-22 Inserarea de grafice


de tip Scatter Plot

Fig. 5-23 Grafic de tip scatter obinut pornind


de la expresia unei funcii vector de dou variabile
114

Reprezentri grafice

Fig. 5-24 Grafic de tip scatter obinut pornind


5.2.4

Grafice de tip 3D Bar

de la trei vectori de coordonate

Se pot obine prin acionarea cmpului Insert Graph 3D Bar


Plot, sau a butonului indicat i n figura 5-25 de pe bara de
instrumente Graph.

115

Capitolul 5

Fig. 5-25 Inserarea de grafice de tip 3D Bar


Argument pentru astfel de grafice pot fi numele unei variabile de tip
matrice, numele a trei variabile de tip vector (nchise ntre
paranteze), sau numele unei funcii vector cu 3 elemente i de dou
variabile, al unei funcii de dou variabile, sau a unui set de 3 funcii
de dou variabile (ntocmai ca la graficele de tip suprafa de
exemplu). Se va obine o reprezentare ca cea din figura 5-26, n
care nlimea fiecrei coloane este chiar valoarea elementului de
matrice corespunztor (n cazul n care argument este un nume de
funcie/funcii corespondena este indirect, cci nainte de
reprezentare tot la o matrice se ajunge).

Fig. 5-26 Grafic de tip 3D Bar obinut pornind de la o matrice


116

Reprezentri grafice
Trebuie precizat (i se va reveni n cadrul explicaiilor legate de
formatarea graficelor 3D), c este posibil aproape oricnd
transformarea unui tip de grafic 3D n alt tip de grafic 3D.
5.2.5

Formatarea graficelor 3D

Facilitile de formatare a graficelor 3D oferite de MathCAD sunt


extrem de complexe i cuprind pe lng simpla modificare a
vectorului de vizualizare, o serie de alte setri ce in de aspectul
general al graficului, modul de conectare a punctelor, condiiile de
iluminare, controlul axelor, al factorilor de scalare etc.
Declanarea procesului de formatare presupune, firete, selecia
unui grafic existent.
n figurile urmtoare sunt furnizate informaii despre semnificaiile
seciunilor, zonelor i cmpurilor casetei de dialog 3-D Plot
Format.
Declanarea procesului de formatare se face prin acionarea
cmpului Format Graph 3D Plot (dup ce n prealabil s-a
selectat un grafic).

Fig. 5-27 Seciunea General


117

Capitolul 5

Fig. 5-28 Seciunea Axes

Fig. 5-29 Seciunea Appearance


118

Reprezentri grafice
Ct privete zona Fill Options, se fac urmtoarele precizri:
Fill Surface Umple o suprafa cu o hart de culoare, conform
specificaiilor din seciunea Color Options.
Fill Contours Umple suprafaa cu culoare, n conformitate cu tipul
de contur (curb de nivel) folosit (x, y sau z). Implicit se folosesc
contururi obinute prin secionarea suprafeei cu plane paralele cu
planul XOY.
No Fill Suprafaa nu este colorat.
Alternate Mesh Umple cu culoare numai o jumtate de faet
dreptunghiular.
Smooth Shading Realizeaz o interpolare a culorilor, astfel c
aspectul acestora variaz i n interiorul faetelor.
Color Options :
Colormap Colorarea se face cu o hart de culori ale crei
caracteristici sunt specificate n seciunea Advanced.
Solid Color Coloreaz monocrom suprafaa.

Fig. 5-30 Seciunea Lighting


119

Capitolul 5
Directed light (Lumina direct)
Lumina direct este produs de o surs punctual i este emis ntro direcie anume. Lumina direct are dou componente: lumina
difuz i lumina reflectat (specular light).
Lumina difuz
Lumina de acest tip vine dintr-o direcie anume, dar este reflectat
de suprafa uniform (n toate direciile). Lumina difuz face un
obiect s strluceasc (de exemplu lumina fluorescent).
Lumina ambiental i cea difuz au un mare efect asupra culorii unui
grafic.
Lumina reflectat
Lumina reflectat vine dintr-o direcie anume i este reflectat ntr-o
anume direcie. O lumin reflectat creeaz o pat de lumin pe
obiectul iluminat.
Lumina reflectat nu are un efect important asupra aspectului
graficului. Efectul poate fi amplificat de controlul Shininess din
seciunea Advanced.

Fig. 5-31 Seciunea Backplanes

120

Reprezentri grafice
Fereastra de dialog controleaz modul de afiare a planelor
sistemului de axe (planele XOY, XOZ i YOZ). Sunt posibile reglaje
ale caroiajelor majore (Grids), dar i minore (Sub-Grids).

Fig. 5-32 Seciunea Special

121

Capitolul 5

Fig. 5-33 Seciunea Advanced


Seciunea Advanced servete la controlul unor caracteristici de
vizualizare, precum i a unor setri de printare a graficului.

Fig. 5-34 Seciunea QuickPlot Data

122

Reprezentri grafice
Caseta de dialog servete la controlul desimii caroiajului de pe
suprafa (# of Grids), a intervalului de variaie a variabilelor
independente corespunztoare axelor OX i OY, precum i la
schimbarea sistemului de coordonate folosit pentru reprezentare.

5.3 Grafice de tip Vector Plot


Acest tip de reprezentare permite vizualizarea cmpurilor de vectori.
Argumentul unui astfel de grafic este o matrice cu elemente
complexe, sau dou matrice (cu acelai numr de linii i de coloane).
Inserarea unui grafic de tip Vector Plot se face acionnd cmpul
Insert Graph Vector Field Plot,
sau a butonului
corespunztor de pe bara de instrumente Graph (vezi figura 5-35).

Fig. 5-35 Inserarea unui grafic


de tip Vector Plot
n figura 5-36 este prezentat un grafic de tip Vector, obinut pornind
de la o matrice cu elemente complexe. Vectorii orizontali corespund
unor elemente pur reale ale matricei, cei verticali unor elemente pur
complexe. Fiecare vector este de fapt definit prin componenta
orizontal (real) i cea vertical (coeficientul prii imaginare), ce se
compun (n sensul cunoscut de la calculul vectorial). Se va mai
remarca i faptul c prima coloan de vectori corespunde primei linii
a matricei (ultimul element de pe coloan corespunde primului
vector din colul din stnga sus al reprezentrii).
123

Capitolul 5

Fig. 5-36 - Grafic de tip Vector


5.3.1

Formatarea graficelor de tip Vector

Se va face utiliznd cmpul Format Graph 2D Plot , cu


precizarea c multe din cmpurile casetei de dialog nu vor fi active.

124

Rezolvarea numeric a ecuaiilor


i a sistemelor de ecuaii

Obiective

nsuirea tehnicilor
numeric a ecuaiilor

de

rezolvare

nsuirea tehnicilor de rezolvare


numeri7c a sistemelor de ecuaii

nsuirea tehnicilor de rezolvare a


numeric aproximativ a sistemelor de
ecuaii

125

Capitolul 6
6.1 Rezolvarea ecuaiilor algebrice
Pentru rezolvarea ecuaiilor de forma:
P ( x) = 0 , unde

P ( x) = a0 + a1 x + a2 x 2 + ....an x n
se poate folosi funcia polyroots, cu sintaxa:
polyroots(v),
unde v este vectorul coeficienilor polinomiali, n ordinea cresctoare
a puterilor necunoscutei. n figura 6-1 este prezentat un exemplu de
utilizare a funciei polyroots.
Exemplul prezentat determin
toate soluiile ecuaiei:

0.5 2 x 2 x 2 = 0

Fig. 6-1 funcia polyroots

Pot fi obinute i soluii complexe.


Funcia
folosete
metoda
LaGuerre
sau
pe
cea
a
companionului
matriceal.
Forarea uneia sau alteia dintre
metode se face executnd clic
dreapta pe numele funciei i
alegerea variantei de lucru (vezi
figura 6-2).

6.2 Rezolvarea ecuaiilor transcendente


Pentru ecuaiile de forma:

f ( x) = 0 ,

sau

f ( x) = g ( x) ,

unde

funciile f i g pot avea orice form, se va utiliza funcia root, cu una


din sintaxele:
root(f(x),x)
root(f(x)-g(x),x)
root(f(x),x,a,b)
root(f(x)-g(x),x,a,b)
Semnificaiile notaiilor sunt urmtoarele:
126

Rezolvarea numeric a ecuaiilor i a sistemelor de ecuaii


- x este numele variabilei necunoscut
- a i b sunt limitele ntre care se va cuta o soluie.

Fig. 6-2 Alegerea algoritmului


Dac argumentele a i b lipsesc, este obligatorie furnizarea unei
valori estimative pentru soluie. Funcia root va cuta soluia cea
mai aproape de aceast valoare.
n legtur cu funcie root, se fac precizrile:
funcia ntoarce o singur soluie, cea mai apropiat de
estimarea furnizat;
funcia ntoarce i soluii complexe;
pentru furnizarea unei estimri ct mai apropiate de o soluie
se recomand trasarea graficului funciei f(x) sau f(x)-g(x)
pe intervalul de interes;
funcia root nu produce o soluie ntr-una din urmtoarele
situaii:
- astfel de rdcin nu exist;
- rdcinile sunt prea departe de estimarea iniial;
- expresia f(x) sau f(x)-g(x) are un extrem local ntre
estimarea iniial a soluiei i rdcin;
- expresia are discontinuiti ntre estimarea iniial i
rdcin;
- estimarea iniial este real i rdcinile sunt
complexe (sau invers).
Funcia root apelat cu sintaxa root(f(x),x), sau root(f(x)-g(x),x)
folosete metoda secantei n determinarea soluiei, n vreme ce n
127

Capitolul 6
cazul n care se utilizeaz sintaxa root(f(x),x,a,b), sau root(f(x)g(x),x,a,b), algoritmul folosit este Ridder/Brent;
n cazul utilizrii metodei secantei, precizia rezultatului depinde de

valoarea variabile predefinite TOL. Modificarea acesteia se face cu


ajutorul cmpului Math Options, seciunea Buil-In Variables.
Mecanismul este urmtorul: dac |f(x)|<TOL, unde x este o
estimare a soluiei, atunci x este considerat soluie.
Funcia root poate fi folosit i pentru rezolvarea ecuaiilor algebrice
de tip polinomial. n figura 6-3 se exemplific utilizarea funciei root.

Fig. 6-3 Funcia root

6.3 Rezolvarea sistemelor algebrice liniare


Pentru un sistem algebric liniar de forma: A x = b , unde A este o
matrice ptrat nesingular iar b vectorul termenilor liberi, se poate
folosi una din urmtoarele metode de rezolvare:
- funcia lsolve;
- descompunerile de matrice prezentate n paragraful 4.3.
Funcia lsolve care se apeleaz cu sintaxa lsolve(A,b), rezolv
1

sistemul prin inversarea matricei A, adic x = A b , ceea ce


impune pruden n cazul sistemelor (matricelor) de mari dimensiuni
- ceea ce pentru MathCAD poate nsemna ce depete 20-30 de
necunoscute. n astfel de cazuri, sau pentru sistemele instabile (vezi
paragraful 4.3) se recomand utilizarea descompunerilor de matrici.
n figura 6-4 este prezentat un exemplu de rezolvare a sistemului:

128

Rezolvarea numeric a ecuaiilor i a sistemelor de ecuaii


2 x y + 0.5 z + u = 2.75
x + 2 y 3 u = 0
cu ajutorul funciei lsolve.

x
y
z
u

=
0
.
5
1
.
5
2
.
5

x + y + z + u = 4.5

Fig. 6-4 Funcia lsolve


6.4 Rezolvarea sistemelor neliniare
Pentru sistemele algebrice neliniare, sau pentru cele transcendente,
se va folosi funcia Find, apelabil cu sintaxa: Find(x1, x2, x3,xn),
unde x1, x2, x3,xn sunt necunoscutele cutate. Funcia Find se
utilizeaz n cadrul unei secvene de forma:

x1:= a1 x2:=a2

xn:=an

Estimare iniial a soluiei (ca n


cazul funciei root)

Given
Ecuaii.
[Constrngeri]

Opionale

Find(x1, x2, x3,xn)


129

Capitolul 6
n figura 6-5 se pot vedea dou exemple de ntrebuinare a funciei
Find, cu i fr utilizarea de constrngeri.

Fig. 6-5 Funcia Find


Atenie: Pentru inserarea egalului ce intervine n ecuaii, se va
utiliza combinaia de taste CTRL i = , sau butonul indicat n figura
6-6. Cuvntul cheie Given este obligatoriu i se va scrie ca n
exemple.

Fig. 6-6 Operatorul =

Funcia Find poate utiliza diferii algoritmi pentru rezolvarea de


sisteme de ecuaii. Alegerea se poate face automat (AutoSelect,
sau manual - vezi figura 6-7).
130

Rezolvarea numeric a ecuaiilor i a sistemelor de ecuaii

Fig. 6-7 Alegerea algoritmului utilizat de funcia Find


Procesul de cutare a soluiei de ctre funcia Find este influenat de
variabile predefinite TOL i CTOL.
Variabila TOL controleaz procesul de rezolvare n sensul precizat n
paragraful 6-2.
Variabila CTOL
controleaz nivelul de precizie cu care o
constrngere dintr-un bloc Given este satisfcut. Astfel condiia
x>0 din figura 6-5 va fi considerat satisfcut i dac x>0,001 dac
valoarea CTOL este 0,001. Este evident c i variabila CTOL
determin nemijlocit precizia soluiei ntoars de funcia Find.
Funcia Find poate fi utilizat i pentru rezolvarea de sisteme
algebrice liniare, sau a ecuaiilor (algebrice sau transcendente), care
pot fi privite ca sisteme cu o singur ecuaie i o singur
necunoscut.
Constrngerile dintr-un bloc Given se pot defini cu ajutorul
operatorilor booleeni (vezi figura 6-6), mai puin operatorul .
Funcia Find impune limitarea numrului de ecuaii i constrngeri la
200.

131

Capitolul 6
6.5 Rezolvarea aproximativ a sistemelor neliniare
Dac funcia Find nu ntoarce o soluie (ceea ce se poate ntmpla
fie pentru c ea nu exist, fie pentru c este prea departe de
estimarea iniial), se poate recurge le funcia Minerr. Aceasta va
ntoarce ntotdeauna un rspuns care trebuie privit ca o soluie
aproximativ (ce poate fi eventual folosit ca o nou estimare pentru
soluie n cazul reutilizrii funciei Find).
Modul de utilizare e lui Minerr, este identic cu cel prezentat n cazul
lui Find (inclusiv precizarea unei estimri iniiale pentru soluie).
n figura 6-8 este prezentat un exemplu de utilizare a funciei
Minerr.

Fig. 6-8 Utilizarea funciei Minerr


Se recomand nlocuirea lui Minerr cu Find n secvena din
figura 6-8.

132

Derivare i integrare numeric.


Calcul de sume i produse

Obiective

Prezentarea tehnicilor de integrare i


derivare numerice

Calculul de sume i produse n MathCAD

133

Capitolul 7
7.1 Derivarea numeric

Pentru realizarea de derivri numerice se pot folosi operatorii

. Ei pot fi obinui fie prin utilizarea combinaiilor de taste


sau
?, respectiv CTRL+SHIFT+?, fie prin folosirea butoanelor de pe
bara de instrumente Calculus (vezi figura 7-1).

Fig. 7-1 Operatorii pentru derivare numeric


Se vor reine urmtoarele:
naintea aplicrii unui operator de derivare trebuie precizat
punctul n care se calculeaz derivata;
funcia f(t) poate s fie i complex, dar variabila de
integrare (t) trebuie s fie real;
parametrul n, ce precizeaz ordinul de derivare poate avea
valorile 1, 2, 3, 4, 5;
rezultatele obinute sunt corecte n limitele unei precizii de 78 cifre semnificative dup virgul;
algoritmul folosit pentru integrare este o variant a metodei
Ridder;
precizia rezultatului ntors de operatorii de derivare depinde
de valoarea variabilei predefinite TOL.
134

Derivare i integrare numeric. Calcul de sume i produse


n figura 7-2 sunt prezentate cteva exemple de utilizare a
operatorilor de derivare.

Fig. 7-2 - Derivri numerice

7.2 Integrarea numeric


Pentru calculul de integrale definite se poate folosi operatorul

.
El poate fi inserat ntr-un document MathCAD fie prin utilizarea tastei

&, fie a butonului corespunztor (

) de pe bara de instrumente

Calculus (vezi figura 7-1).

, elementele componente
ntr-o secven de forma:
trebuie s respecte urmtoarele condiii:
funcia f s fie scalar, real sau complex;
argumentul x s fie o variabil real i neindexat;
limitele de integrare a i b s fie reale, iar dac se
lucreaz cu uniti de msur, s o utilizeze ambele pe
aceeai (folosit i pentru variabila de integrare);
135

Capitolul 7

metoda de calcul a integralei este aleas automat de


MathCAD, se poate ns fora un anume algoritm.
Pentru aceasta se va respecta succesiunea:
- clic dreapta pe operatorul de integrare i alegerea
metodei dorite (vezi figura 7-3);
- evaluarea integralei;

Fig. 7-3 Stabilirea algoritmului de calcul a integralei


) se
Dac se apas de mai multe ori pe tasta & (sau pe butonul
pot calcula integrale multiple (dubl, tripl etc.).
n figura 7-4 se pot vedea mai multe exemple de utilizare a
operatorului

Fig. 7-4 Integrarea numeric

7.3 Calcul de sume i produse


Evaluarea numeric a sumelor sau produselor se poate face utiliznd
operatorii:
136

Derivare i integrare numeric. Calcul de sume i produse

Au fost precizate i combinaiile de taste aferente fiecrui operator.


Se pot utiliza i butoanele barei de instrumente Calculus (vezi figura
7-1).
Utilizarea operatorilor este ilustrat n figura 7-5.

Fig. 7-5 - Calcul de sume i produse

137

Utilizarea unitilor de msur n


documentele MathCAD

Obiective

Prezentarea modului de lucru cu uniti


de msur n MathCAD

Utilizarea unitilor de msur n calculul


diferenial i integral

139

Capitolul 8
8.1 Mod de lucru
Posibilitatea de a lucra cu uniti de msur este una din facilitile
extrem de utile ale MathCAD. Aceasta prezint dincolo de avantajele
care in de aspectul i inteligibilitatea unui document, i alte dou
avantaje de o cu totul alt natur. Astfel, cnd se lucreaz cu uniti
de msur (UM), MathCAD realizeaz n afara calculelor i
urmtoarele dou aciuni :
Verific dac expresiile sunt omogene din punct de vedere
dimensional;
Execut toate transformrile pe care o expresie ce conine
UM le presupune. Astfel un calcul ca cel de mai jos, evident
incorect din punct de vedere dimensional (liter nseamn n
MathCAD litru) va produce mesajul de eroare (vezi figura 81.a).
Dup cum un calcul ca cel din figura 8-1.b, unde din 2 metri se scad
30 de centimetri, va produce rezultatul corect, adic 1.7 metri.

a.

b.

Fig. 8-1 Verificarea omogenitii dimensionale


i realizarea de transformri
n MathCAD, unitile de msur sunt de fapt nite variabile cu valori
prestabilite. Din acest motiv, ataarea unei UM de o variabil sau
constant, se face nmulind variabila sau constanta cu numele UM.
Astfel cele dou expresii de mai sus au fost obinute cu secvenele :
2*kg-3*liter=, respectiv 2*m-30*cm=
Trebuie totui precizat c n MathCAD 2001, atunci cnd o valoarea
numeric este urmat imediat de numele unei uniti de msur,
este posibil eliminarea operatorului de nmulire (*).
Acest mod de lucru presupune n mod evident cunoaterea numelor
corecte (pentru MathCAD) ale UM. Cum aceste nume nu coincid
140

Utilizarea unitilor de msur n documentele Math


ntotdeauna cu cele romneti, se poate utiliza cmpul Insert
Unit (se poate folosi i shortcut-ul CTRL + U). Rezultatul va fi
apariia ferestrei Insert Unit, prezentat n figura 8-2, care va
insera n document numele UM selectate. Ateniune, n fereastra
Insert Unit exist dou liste, una cu numele mrimilor fizice
(Dimension) i una cu numele unitilor de msur propriu-zise
(Units). Selectarea unei mrimi fizice, va determina apariia n lista
Units a unitilor de msur disponibile n MathCAD specifice
mrimii fizice considerate.

Fig. 8-2 Inserare de uniti de msur

8.2 Definirea de uniti de msur


Este posibil i definirea de noi uniti de msur, sau a unor multipli
sau submultipli unor uniti de msur existente. Cum unitile de
msur n MathCAD sunt de fapt nite variabile, procesul este extrem
de simplu. n figura 8-3 este prezentat un exemplu de definire a
unui multiplu de unitate de msur.

141

Capitolul 8

Fig. 8-3 Definirea de noi uniti de msur,


multipli sau submultipli de UM
Se atrage atenia asupra posibilelor conflicte ce pot aprea atunci
cnd se folosesc nume de variabile identice cu numele unor uniti
de msur definite. Astfel dac ntr-un document a fost definit o
variabil cu numele m, nu se va mai putea utiliza unitatea de msur
metru, cu prescurtarea m, oriunde dedesubtul definirii variabilei m.

8.3 Modificarea unitilor de msur n care este exprimat


un rezultat
Un rezultat care are ataat o unitate de msur (rezultat al unei
expresii care conine UM), poate fi exprimat fr a mai face odat
calculul n alte UM. n exemplul din figura 8-4, rezultatul se obine
iniial n kg*m/sec2 (adic Newtoni). Se observ c la sfritul
rezultatului apare un marcator, n care utilizatorul poate scrie
numele unei UM. Dac de exemplu, n acest marcator, se va scrie
km, dup apsarea tastei F9, rezultatul va fi cel de mai jos.

142

Utilizarea unitilor de msur n documentele Math

a.

b.

Fig. 8-4 Modificarea unitilor de msur


n care este exprimat un rezultat
Se vede c dac rezultatul iniial s-a nmulit cu 1 km, deci el este
exprimat acum n kg*km/sec2, valoarea se va mpri la 1000, astfel
nct rezultatul s rmn cel corect.
Un alt exemplu ar putea fi calculul din figura 8-5. Rezultatul este
exprimat iniial n metri cubi. Dac n placeholder-ul din dreapta
rezultatului se scrie liter -i se apas F9 rezultatul afiat va fi :

a.

b.

Fig. 8-5 - Modificarea unitilor de msur


n care este exprimat un rezultat
Dac se terge cuvntul liter, se va reveni la rezultatul iniial,
exprimat n metri cubi.
Uneori se dorete eliminarea unitilor de msur ce nsoesc o
variabil. n figura 8-6, este prezentat un astfel de exemplu.
Eliminarea temporar a unitii de msur se face prin mprirea la
143

Capitolul 8
funcia predefinit UnitsOf(..), unde argumentul este numele
variabilei de care se desprinde temporar o anumit unitate de
msur.

Fig. 8-6 Eliminarea temporar a unei uniti de msur


ataat unei variabile

8.4 Alegerea sistemului de uniti de msur i controlul


formatului de afiare a rezultatelor cu uniti de msur
Alegerea sistemului de uniti de msur n care vor fi afiate
rezultatele calculelor cu uniti de msur, se face prin utilizarea
casetei de dialog Math Options (meniul Math Options),
seciunea Unit System (vezi figura 8-7).

144

Utilizarea unitilor de msur n documentele Math

Fig. 8-7 Alegerea sistemului de uniti de msur


Rezultatele calculelor cu UM, se pot exprima fie n nume de mrimi
fizice, fie n nume de uniti de msur. Alegerea modului de afiare
se face din seciunea Dimensions a casetei de dialog Math
Options.
n cazul n care se opteaz pentru afiarea rezultatelor n nume de
mrimi fizice (dimensions), este posibil redefinirea numelor
mrimilor fizice de baz. Acest lucru se poate face prin scrierea n
casetele de editare ale seciunii Dimensions a casetei de dialog
Math Options (vezi figura 8-8).

145

Capitolul 8

Fig. 8-8 Schimbarea numelor mrimilor fizice de baz


n figura 8-9 acelai rezultat este exprimat n nume de mrimi fizice,
respectiv n nume de uniti de msur.

a.

b.

Fig. 8-9 Rezultate exprimate n nume de mrimi fizice


sau n nume de uniti de msur
Alte elemente legate de formatarea rezultatelor cu uniti de msur
au fost prezentate n paragraful 3.7.

146

Utilizarea unitilor de msur n documentele Math


8.5 Utilizarea UM n calculul integral sau diferenial
Este posibil utilizarea UM n calculul integral sau cel diferenial. n
figura 8-10, sunt prezentate astfel de exemple.

a.

b.

Fig. 8-10 Uniti de msur n calcul integral i diferenial

147

Schimb de informaie
MathCAD i alte aplicaii

ntre

Obiective

Prezentarea modalitilor prin care se


poate face schimp de informaie ntre
MathCAD i alte aplicaii Windows:
o

Excel

Matlab

Baz de date

Prezentarea modului de lucru cu fiiere de


date n MathCAD

149

Capitolul 9
MathCAD poate schimba informaii cu alte aplicaii. Acest lucru este
posibil principial n dou moduri:
prin intermediul fiierelor de date (ASCII sau nu);
prin inserarea de componente n documentele MathCAD.
Componentele sunt obiecte OLE (Object Linking and Embedding) i
permit accesarea din interiorul MathCAD a unor funcii i
capabiliti specifice aplicaiei (componentei) incluse. O component
poate primi date de la MathCAD, dar poate s i transmit date
spre MathCAD, n mod dinamic, realiznd astfel o legtur
permanent ntre component i documentul MathCAD gazd.
Componentele ce pot fi conectate la MathCAD sunt:
Axum pentru realizarea de reprezentri grafice AXUM
Excel
MATLAB
Baze de date (Access, FoxPro, Excel)
SmartSketch - pentru realizarea de desene parametrizate
S-PLUS Graph pentru crearea de grafice S-PLUS
S-PLUS Script pentru accesarea mediului de programare SPLUS
MathCAD poate transmite unei componente un scalar, un vector, o
matrice sau un ir de caractere i poate primi aceeai categorie de
date. Tranzacia se face prin intermediul unor variabile de intrare
(input variables), sau a unor variabile de ieire (output variables).
Ct privete schimbul de informaie prin intermediul fiierelor de
date, este posibil fie utilizarea inserrii unei componente de tip
scriere/citire n/din fiier, fie prin utilizarea unor funcii de acces la
fiiere (pstrate de la versiuni anterioare, din dorina de a se
menine compatibilitatea).
9.1 Inserarea unei componente Excel
Se va simula n paragrafele ce urmeaz inserarea unui obiect Excel
ntr-un document MathCAD. Iniial structura documentului MathCAD
este simpl i nu conine dect definirea a dou variabile, Adaos i
respectiv TVA (vezi figura 9-1). Valorile din cei doi vectori vor fi
transmise unui document Excel existent (vezi figura 9-2).
150

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-1 Structura iniial a documentului MathCAD


Se observ c n coloanele D i E (Adaos, respectiv TVA), iniial nu
se gsete nimic. Acolo vor fi aduse valorile din documentul
MathCAD.

Fig. 9-2 Structura iniial a documentului Excel


Paii ce trebuie parcuri pentru inserarea componentei Excel sunt
urmtorii:
Insert Component. Se alege din lista din caseta de dialog
Component Wizard componenta Excel;
Dac fiierul Excel exist deja (cum este cazul n exemplul de fa),
n caseta Excel Setup Wizard, se alege numele fiierului [Excel] cu
care se stabilete legtura (vezi figura 9-3);

151

Capitolul 9

Fig. 9-3 Alegerea fiierului Excel cu care se stabilete legtura


Etapa cea mai important presupune stabilirea numrului de
variabile de intrare pentru (n) componenta Excel (Inputs),
respectiv numrul de variabile de ieire (transmise de Excel ctre
MathCAD (Outputs). Tot acum se mai stabilesc zonele din
documentul Excel n care vor fi transferate variabilele de intrare,
respectiv de unde se vor prelua variabilele (sau variabila) de ieire
(vezi figura 9-4);

152

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-4 Stabilirea numrului de variabile de intrare/ieire


i a zonelor din Excel unde acestea vor aciona
Dup apsarea butonului Finish, n documentul MathCAD va aprea
un obiect ca cel din figura 9-5;

153

Capitolul 9

Fig. 9-5 Obiectul Excel n prima faz de inserare n documentul


MathCAD
Marcatorii se vor completa cu numele variabilelor de intrare,
respectiv ieire (vezi figura 9-6);

Fig. 9-6 Completarea numelor variabilelor


de intrare/ieire
154

Schimb de informaie ntre MathCAD i alte aplicaii


Un simplu clic n afara obiectului Excel va determina transformarea
acestuia n ceea ce se poate vedea n figura 9-7. Se poate observa
c n coloanele Adaos i TVA (din obiectul Excel) a fost transferat
coninutul variabilelor MathCAD omonime i c spre MathCAD a fost
transferat coninutul coloanei Pret de vanzare. Transferul s-a
fcut n variabila [MathCAD] Pret, evaluat de altfel chiar sub
obiectul Excel.
9.2 Inserarea unei componente MATLAB

Fig. 9-7 Forma final (evaluat) a componentei Excel


Pentru exemplificare se consider un exemplu care transmite
aplicaiei MATLAB 3 variabile (de tip scalar) i primete de la acesta
valoarea unei variabile de tip vector. Cele 3 valori transmise MATLAB
vor deveni argumente ale funciei logspace, care creeaz un vector
ale crui elemente sunt egal spaiate pe o scar logaritmic.
Structura iniial a documentului MathCAD este cea din figura 9-8.
155

Capitolul 9

Fig. 9-8 Structura iniial a documentului MathCAD


Inserarea unei componente de tip MATLAB, presupune parcurgerea
urmtoarelor etape:
- Prin utilizarea cmpului Insert Component MATLAB, se va
obine inserarea n documentul MathCAD a unui obiect ca cel din
figura 9-9;

Fig. 9-9 Prima faz a inserrii


unei componente MATLAB
- Se execut clic dreapta pe obiectul inserat i se puncteaz cmpul
Edit Script;
- n fereastra Script Editor [MATLAB], se scrie secvena din
figura 9-10;

Fig. 9-10 Generarea secvenei MATLAB

156

Schimb de informaie ntre MathCAD i alte aplicaii


- Din meniul File (al casetei de dialog Script Editor - [MATLAB],
se puncteaz pe cmpul Close and Return i se rspunde cu Yes
la ntrebarea Apply changes?
Odat rentori n mediul MathCAD este obligatorie setarea corect a
numelor variabilelor de intrare i respectiv de ieire. Aceasta pentru
c implicit acestea se numesc in0, in1, in2,., respectiv out0,
out1,. Setarea numelor variabilelor se face prin executarea unui clic
dreapta pe obiectul MATLAB inclus i alegerea cmpului Properties.
Tot implicit se consider c exist o singur variabil de intrare
(input) i tot una singur de ieire (output). Modificarea acestei stri
se poate face prin utilizarea cmpurilor Add Input Variable,
respectiv Add Output Variable (este uor de dedus funcionalitatea
cmpurilor Remove Input Variable, sau Remove Output
Variable). n cazul de fa se va utiliza de dou ori cmpul Add
Input Variable, astfel c se va ajunge la o situaie ca cea din figura
9-11;

Fig. 9-11 Adugarea de variabile de intrare


Dup adugarea a dou variabile de intrare, se realizeaz efectiv
schimbarea numelor implicite ale variabilelor de intrare/ieire. Acest
lucru se face prin utilizarea cmpului Properties, ceea ce va
conduce la caseta de dialog din figura 9-12.a. Schimbarea numelor
variabile de ieire se face aa cum se vede n figura 9-12.b.

157

Capitolul 9

a.

b.

Fig. 9-12 Modificarea numelor variabilelor de intrare/ieire


Apsarea butonului OK, determin revenirea n mediul MathCAD,
unde se va realiza completarea marcatorilor cu numele variabilelor,
aa cum se poate vedea n figura 9-13;

158

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-13 Completarea numelor de variabile


Un simplu clic n afara obiectului MATLAB, sau apsarea tastei F9, va
determina actualizarea componentei MATLAB i implicit transferul de
variabile ntre aplicaii. O eventual evaluarea a variabilei vector, va
produce efectul din figura 9-14.

Fig. 9-14 Evaluarea variabile de ieire


Rspunsul l reprezint efectul utilizrii n mediul MATLAB a funciei
logspace i transmiterii ctre MathCAD a ceea ce aceast funcie
ntoarce.
9.3 Inserarea unei componente de tip baz de date
unei componente de tip ODBC (Open Database
Connectivity), permite interogarea unei baze de date al crei driver
suport SQL (Structured Query Language). n aceast categorie

Inserarea

intr de exemplu Microsoft Access, sau FoxPro.

159

Capitolul 9
Trebuie subliniat c pentru inserarea unei componente de tip ODBC
ntr-un document MathCAD, este obligatorie parcurgerea unei faze
de configurare ce se realizeaz cu ajutorul componentei
Administrative Tools din Control Panel. De altfel acest proces
este imperios necesar ori de cte ori se ncearc accesarea unei baze
de date dintr-o alt aplicaie dect cea de tipul celei n care aceasta
a fost creat.
Pentru ilustrarea tehnicii de inserarea a unei componente de tip
ODBC, se va porni de la o baz de date Access stocat n fiierul
tabel_centralizator.mdb i care conine un singur tabel, numit chiar
Tabel1, cu structura din figura 9-15.

Fig. 9-15 Structura bazei de date


(echivalent aici chiar cu un tabel)
Pentru a fi posibil inserarea ntr-un document MathCAD a unei
componente ODBC, trebuie ca independent de acest proces s fie
parcurse urmtoarele etape:
Activarea Control Panel i deschiderea aplicaiei Administrative
Tools;
Lansarea aplicaiei Data Sources (ODBC);
n caseta de dialog ODBC Data Source Administrator, se alege o
surs de date (o baz de date), sau se definete una nou (este
vorba de fapt despre un link - o legtur - spre o baz de date de
un anumit tip (vezi figura 9-16);
n eventualitatea ca s-a optat pentru o nou surs, se va folosi
butonul Add, care conduce la caseta de dialog Create New Data
Source (vezi figura 9-17), de unde se alege de fapt driver-ul
(programul) care permite legtura la baza de date propriu zis;
160

Schimb de informaie ntre MathCAD i alte aplicaii


Dup alegerea driver-ului i apsarea butonului Finish, se va ajunge
la caseta de dialog ODBC Microsoft Access Setup (vezi figura 918), de unde se alege baza de date cu care se va stabili legtura
(butonul Select din seciunea Database), se d un nume sursei de
date (Data Source Name), se furnizeaz un text descriptiv
(Description) i se poate trece n caseta de dialog Set Advanced
Options (butonul Advanced), unde se precizeaz numele unui
utilizator i o parol pentru accesarea ulterioar a bazei de date (vezi
figura 9-19);

Fig. 9-16 Definirea unei noi surse de date


Procesul se ncheie prin apsarea butoanelor OK pn la ieirea din
procesul de configurare a bazei de date (a legturii la o baz de
date).

161

Capitolul 9

Fig. 9-17 Alegerea driver-ului (programului)


ce va permite accesul la baza de date

Fig. 9-18 Alegerea bazei de date propriu zise (a fiierului)


162

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-19 Stabilirea unui utilizator


i a unei parole de acces ulterior
Dup ce procesul de configurare a legturii la o baza de date s-a
ncheiat, poate s nceap includerea ntr-un document MathCAD a
unei componente de tip ODBC.
Pentru aceasta se vor realiza urmtoarele aciuni:
Din meniul Insert Component se alege ODBC Read;
Din caseta de dialog ODBC IO Wizard (vezi figura 9-20), se alege
legtura spre baza de date din lista Select ODBC data source (vezi
i figura 9-18) i se precizeaz numele de utilizator (Username),
respectiv parola de acces (Password);

163

Capitolul 9

Fig. 9-20 Selectarea legturii la baza de date,


precizarea utilizatorului i parolei

Fig. 9-21 Alegerea tabelului din baza de date


164

Schimb de informaie ntre MathCAD i alte aplicaii


Din caseta de dialog File Read or Write Wizard (vezi figura 9-21),
se alege tabelul din componena bazei de date ce va fi interogat. n
exemplul considerat baza de date conine doar un tabel (numit chiar
Tabel1);
Din lista de cmpuri se va selecta (alege) cmpul (sau cmpurile) ce
vor fi comunicate MathCAD-ului (vezi figura 9-22);

Fig. 9-22 Stabilirea cmpului (cmpurilor)


ce vor fi transmise MathCAD

n documentul MathCAD se va insera o secven de tipul celei din


figura 9-23.a. Este obligatorie completarea numelui variabilei de
ieire (pentru baza de date), sau de intrare pentru MathCAD (vezi
figura 9-23.b);

a.

b.

Fig. 9-23 Definirea variabilei n care vor fi extrase datele


din baza de date

165

Capitolul 9
O evaluare a variabilei (A n exemplu), va produce un rezultat ca cel
din figura 9-24;

Fig. 9-24 Evaluarea variabilei de ieire


Este posibil i filtrarea datelor prin utilizarea unei clauze SQL de tip
where. Astfel dac se execut un clic dreapta pe pictograma
ODBC Read i se acceseaz cmpul Properties, se poate ajunge
la seciunea Advanced a casetei de dialog din figura 9-25, cu
ajutorul creia se poate impune o clauz de tip WHERE. n exemplul
considerat s-a impus o condiie de tipul Salariul > 8000000, ceea
ce a condus la o evaluare a variabilei de ieire (A), ca n figura 9-26.

166

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-25 Impunerea unei clauze WHERE

Fig. 9-26 Evaluarea precedat de o filtrare a datelor


167

Capitolul 9
9.4 Inserarea unei componente de tip Input Table
Este posibil scrierea ntr-o variabil MathCAD a coninutului unui
tabel (asemntor cu unul generat n Excel) creat ad-hoc, sau
eventual citirea dintr-un fiier de date de unul din tipurile enumerate
n paragraful 9.6.
Dac se dorete citirea ntr-o variabil MathCAD a coninutului unui
tabel creat ad-hoc se va proceda astfel:
1. Se insereaz o component de tip Input Table (Insert
Component Input Table);
2. Se execut clic stnga n oricare dintre celulele tabelului i se
completeaz coninutul;
3. Iniial sunt afiate numai dou linii i dou coloane ale
tabelului, dar prin utilizarea grupului de patru sgei sus, jos,
stnga, dreapta , este posibil accesarea (i completarea)
altor zone ale tabelului;
4. Se completeaz n colul din stnga sus numele variabilei n
care se scrie tabelul (vezi figura 9-27).

Fig. 9-27 - Citirea unui tabel creat ad-hoc


Dac se dorete citirea dintr-un fiier de date, dup parcurgerea
primei etape din cele patru descrise, se execut clic dreapta pe zona
tabelului i din meniul pop-up se selecteaz cmpul Import . Se
va ajunge la o caset de dialog de tip Read From File, cu ajutorul
creia se selecteaz fiierul din care se va face citirea.
n ambele cazuri, este posibil formatarea tabelului, prin executarea
aceluiai clic dreapta, urmat de opiunea Properties, ceea ce va
168

Schimb de informaie ntre MathCAD i alte aplicaii


conduce la caseta de dialog din figura 9-28, ale crei cmpuri au
semnificaii uor de neles.

Fig. 9-28 Formatarea tabelelor de tip Input Table

9.5 Inserarea unei componente de tip control MathSoft


Este posibil inserarea n documentele MathCAD a aa numitelor
elemente de control de tipul celor enumerate i reprezentate n
figura 9-29. Aceste elemente [de control] funcioneaz similar cu
cele din categoria Microsoft Forms Controls.

169

Capitolul 9
Check Box
ListBox

PushButton
RadioButton
Slider
TextBox

Fig. 9-29 Elemente de control


Trebuie subliniat c aceste componente mai fac parte din categoria
aa numitelor Scriptable Object Component (SOC). Utilizarea la
maxim a acestor obiecte presupune cunotine de programare ntrun limbaj de tipul Java sau Visual Basic. Astfel se vor putea asocia
controalelor evenimente complexe i dezvolta aplicaii personalizate
de mare complexitate. n exemplul ce va urma se va face uz doar de
primul nivel (i cel mai simplu) de utilizare a componentelor de tipul
elementelor de control.
Analiza figurii 9-29 pune n eviden c de orice control se leag
numele unei variabile MathCAD. n funcie de tipul elementului de
control i a aciunii exercitat asupra lui, variabila va lua o anumit
valoare. Este posibil ca de un element de control s fie legate mai
multe variabile, nu numai de ieire (output) cum este cea
implicit, plasat n colul din stnga sus, dar i de tip input (de
intrare). Se recomand pruden n ataarea de mai multe variabile
de un element de control i oricum se face precizarea c ntr-o astfel
de situaie este obligatorie folosirea facilitilor de programare.

170

Schimb de informaie ntre MathCAD i alte aplicaii


Un element de control odat inserat, folosind tehnica clicului dreapta
se poate face apel la cmpul Properties, cu ajutorul cruia se poate
controla aspectul i comportarea obiectului.
Avnd n vedere complexitatea subiectului, nu se va insista prea mult
asupra acestui tip de componente, urmnd ca cei interesai s
aprofundeze pe cont propriu domeniul.
n fine se mai atrage atenia asupra faptului c utilizarea facilitilor
de configurare (programare) ataate obiectelor de tip elemente de
control presupune instalarea unuia din limbajele de programare de
tip script pe care le poate utiliza MathCAD. Acestea sunt:
Microsoft VBScript (Visual Basic Scripting Edition) i Microsoft JScript
(o implementare a JavaScript). Ambele se pot obine gratuit de la
adresa: http://msdn.microsoft.com/scripting
n figura 9-30 este prezentat un exemplu simplu de utilizare a unor
elemente de control MathCAD.

Fig. 9-30 Exemplu de utilizare a elementelor de control MathCAD

171

Capitolul 9
n partea dreapt a documentului MathCAD sunt evaluate variabilele
legate de elementele de control. Aplicaia pornete de la precizarea
numelui unei persoane i a vrstei. Se mai precizeaz dac persoana
lucreaz ntr-un mediu periculos. n funcie de aceste date, folosind
funcia if se stabilesc sporurile de vrsta i respectiv de mediu
periculos. n final toate datele sunt centralizate ntr-o variabil de tip
vector ce conine numele, vrsta i totalul sporurilor pentru persoana
al crei nume a fost precizat iniial.
9.6 Inserarea unei componente de tip citire (Read), scriere
(Write) din/n fiiere
Este posibil scrierea sau citirea n/din fiiere de diverse tipuri, prin
utilizarea componentei de tip File Read or Write. Inserarea unei
astfel de componente se realizeaz prin parcurgerea urmtoarelor
etape:
1. Insert Component File Read or Write;
2. Alegerea tipului de operaie ce se va executa (citire sau
scriere) vezi figura 9-31;

Fig. 9-31 Stabilirea tipului de operaie


ce se va executa
Stabilirea tipului de fiier n care se va scrie sau din care se va citi,
precum i numele acestui fiier i poziia sa n arborele de directoare
(vezi figura 9-33). MathCAD tie s scrie sau s citeasc n/din
urmtoarele tipuri de fiiere:
Formatted Text (text formatat);
Tab Delimited text (text n care cmpurile sunt separate
de caractere TAB);
172

Schimb de informaie ntre MathCAD i alte aplicaii

Comma Separated Values (text n care cmpurile sunt


separate prin punct i virgul);
Matlab;
Excel;
Lotus 1-2-3;
Quattro Pro;
dBase III;
S-Plus.

Fig. 9-32 Stabilirea tipului de fiier


i a poziiei n structura de directoare
Dac este vorba de operaii de citire din fiiere, MathCAD citete
coninutul fiierelor n variabile de tip matrice.
Pentru exemplificare se consider scrierea n fiiere de tip text, a
unei variabile de tip matrice prezentat n figura 9-33.

173

Capitolul 9

Fig. 9-33 Generarea de fiiere de tip text (ASCII)


Rezultatele sunt prezentate n figura 9-35.

a.

b.

c.

Fig. 9-34 Fiiere ASCII obinute cu ajutorul unei componente de


tip File Read or Write

174

Schimb de informaie ntre MathCAD i alte aplicaii


9.7 Funcii predefinite pentru citirea/scrierea din/n fiiere
de date ASCII
n versiunile mai vechi de MathCAD, accesul la fiiere de date era
posibil prin utilizarea unor funcii predefinite. Astfel de funcii operau
numai cu fiiere text (ASCII), de dou tipuri: structurate i
nestructurate. Nu se puteau scrie n fiiere dect valori numerice,
mai precis vectori sau matrice.
Primul [tip de fiiere] conine datele structurate (de unde i numele)
pe rnduri i coloane, astfel c o coresponden fiiermatrice este
imediat. Al doilea tip conine datele aranjate sub forma unui ir de
valori, ceea ce conduce imediat la concluzia c astfel de fiiere sunt
destinate stocrii de vectori. Este ct se poate de corect s se scrie
matrice n fiiere nestructurate, dar va fi imposibil restaurarea
matricei (revenirea la un anumit numr de linii i coloane). Are sens
s se scrie vectori n fiiere structurate, pentru c astfel se va putea
face distincia ntre vectorii linie i cei coloan.
Funciile de citire/scriere predefinite corespund componentelor de tip
File Read or Write, cnd se opteaz pentru fiiere cu extensia
*.dat (acestea sunt fiiere nestructurate), sau *.prn (acestea sunt
fiiere structurate).
Funciile de citire/scriere din/n fiiere de date ASCII sunt:
Pentru fiiere nestructurate
- WRITE(nume-fiier) scrie ntr-un fiier
nestructurat
- READ(nume_fiier) citete dintr-un fiier
nestructurat
- APPEND(nume_fiier) adaug date la un fiier
nestructurat
Pentru fiiere structurate
- WRITEPRN(nume-fiier) scrie ntr-un fiier
structurat
- READPRN(nume_fiier) citete dintr-un fiier
structurat
- APPENDPRN(nume_fiier) adaug date la un
fiier structurat
175

Capitolul 9
Funciile de tip scriere obinuit (WRITE, WRITEPRN) n cazul n
care au ca argument numele unui fiier existent n momentul
apelrii, va scrie peste fiierul vechi, distrugnd complet i
IREMEDIABIL datele din acesta. Dac fiierul argument nu exist n
momentul apelrii funciei, acesta va fi creat. Spre deosebire de
funciile WRITE i WRITEPRN, funciile APPEND i APPENDPRN,
atunci cnd au ca argument numele unui fiier existent n momentul
apelrii, scriu n continuarea datelor, fr s le distrug pe cele
existente.
Se mai face precizarea c n cazul fiierelor structurate este posibil ca
fiierul s conin o prim linie de text (care ns s nu nceap cu o
cifr).
O alt regul ce trebuie reinut este c funciile de scriere (WRITE,
WRITEPRN, APPEND, APPENDPRN), trebuie s apar singure n
membrul stng al unei relaii de atribuire, n vreme ce funciile de
citire (READ, READPRN) apar n membrul drept al unor relaii de
atribuire. Funciile de citire pot fi i evaluate (dup nume se poate
insera operatorul de evaluare =).
n exemplele ce urmeaz sunt ilustrate cteva ipostaze de utilizare a
funciilor predefinite de acces la fiiere de date.

176

10

Programare n MathCAD

Obiective

Familiarizarea cititorului cu structurile de


programare oferite de MathCAD

Prezentarea tehnicilor
execuiei programelor

de

control

177

Capitolul 10
10.1

Prezentare general

MathCAD dispune de faciliti de programare, dei nu se poate vorbi


despre un limbaj [de programare] propriu zis, ci mai degrab despre
o serie de operatori [de programare], ce nu pot fi folosii dect n
corpul unor structuri de programare ce fac parte din foile de lucru
MathCAD.
Programele scrise n MathCAD sunt de tipul funciilor utilizate n
limbajele de programare avansate (de tip Pascal, C, Fortran etc).
Funciile create n MathCAD cu ajutorul operatorilor de programare
primesc de la documentul n interiorul cruia se gsesc date prin
intermediul unor variabile argument i ntorc spre documentul
gazd, rezultatul ultimei evaluri din corpul funciei.
n figura 10.1, este prezentat structura unui program MathCAD
care calculeaz media aritmetic a elementelor pozitive ale unei
matrice.

Fig. 10-1 Exemplu de program MathCAD


Programul din figura 10-1 definete o funcie care primete de la
documentul MathCAD numele variabilei argument. n corpul funciei
178

Programare n MathCAD
este calculat suma i numrul elementelor pozitive. Ultima
instruciune din corpul funciei calculeaz media, iar valoarea
rezultat este transmis documentului MathCAD.
Odat definit, funcia poate fi apelat ori de cte ori este nevoie n
cadrul documentului n care a fost creat. La apelare, se va folosi
pentru argument orice nume al unei variabile matrice. Generarea
unei secvene ca cea din figura 10-1, se poate face numai prin
utilizarea paletei de butoane Programming (vezi figura 10-2)
deci nu se scrie niciodat if, while etc.

a.

b.

Fig. 10-2 Paleta de butoane Programming


Structurile de programare specifice MathCAD funcioneaz dup
filozofia clasic, fapt pentru care nu se vor explica n detaliu
elemente ce in de logica fiecrei structuri n parte. Pentru aceasta
se poate eventual consulta Help-ul MathCAD.
Se vor face totui cteva observaii cu caracter general.
n general, definirea de structuri de programare n MathCAD nu se
poate realiza dect cu ajutorul butoanelor de pe paleta de
programare i nu prin scrierea direct la prompter +. Este evident c
pentru a deveni funcionale, toate seciunile de mai sus trebuie sa
aib completate CORECT, toate placeholder-ele (marcatoarele).
Toate structurile de programare TREBUIE sa apar, NUMAI n
dreapta unei seciuni de tip Add Line;
Inserarea ntr-un document MathCAD a unui program trebuie s
nceap deci cu apsarea butonului
. Primul efect va fi
apariia unei linii verticale la dreapta creia se vor gsi dou
placeholdere, ca n exemplul din figura 10-3.
179

Capitolul 10

Fig. 10-3 Marcatori inserai de secvena Add Line


Fiecare placeholder (marcator) corespunde unei linii de program.
Dac sunt necesare mai mult de dou linii, se selecteaz unul din
cele dou marcatoare iniiale i se apas nc odat pe butonul Add
Line. Sub marcatorul selectat se va mai insera unul nou. Procesul
poate continua pn cnd se va obine numrul de marcatoare (linii
de program) necesare;
n cadrul programelor [MathCAD] pentru atribuire nu se folosete
(vezi figura 10.2);
:=, ci operatorul
Variabilele din corpul unui program [MathCAD] au regim de variabil
local, deci se poate folosi acelai nume de variabil att n corpul
unui program ct i n documentul [MathCAD] care conine
programul, fr s se produc nici o confuzie. Cu toate acestea ntrun program MathCAD se poate face referire la o variabil sau o
funcie definit anterior n documentul MathCAD vezi figura 10-4;

Fig. 10-4 Variabile locale


Se poate observa c n definirea funciei f(x), corpul funciei
recunoate variabila a ce vine din documentul MathCAD i c n
cazul funciei g(y), variabila a ia n corpul funciei o valoare ce nu se
simte n documentul gazd.
Secvenele de program MathCAD pot conine i evaluri simbolice, cu
observaia c nu pot fi evaluate simbolic secvenele ce conin
180

Programare n MathCAD
declaraiile return i on error. n figura 10-5 este prezenta un
program MathCAD ce conine elemente de calcul simbolic. Programul
definete structura unui polinom de grad n. Dup definirea funciei,
pentru evaluare se vor parcurge urmtorii pai:
Dup ce se scrie f(3), se tasteaz CTRL+SHIFT+. (ceea ce va
insera operatorul de evaluare simbolic);
n marcatorul ce apare (vezi figura 10-5.a), se scrie cuvntul cheie
expand;
Se tasteaz F9. Se va obine rezultatul din figura 10-4.b.

a.

b.

Fig. 10-5 Secven de programare ce conine elemente de calcul


simbolic
Pentru ilustrarea tehnicilor de programare n MathCAD, mai jos sunt
prezentate cteva exemple:
10.2

Instruciunea de test (if)

Clasica secven if funcioneaz n context MathCAD n logica bine


cunoscut.
Expresia din stnga cuvntului cheie if este evaluat numai dac
expresia (condiia) din dreapta lui if este evaluat TRUE, sau la o
valoare pozitiv (echivalentul numeric al lui FALSE este orice valoare
negativ) vezi figura 10-6.a.
181

Capitolul 10
Dac se dorete executarea mai multor instruciuni n cazul n care
condiia de dup if este evaluat TRUE, dup selectarea
marcatorului din stnga cuvntului cheie if (vezi figura 10-6.a), se
apas butonul Add line i se obine o secven ca cea din
figura 10-6.b.

a.

Fig. 10-6 Secvena if

b.

Pentru exemplificare, mai jos sunt sugerate cteva probleme


rezolvate cu ajutorul secvenei if.
10.2.1 Definirea de funcii pe intervale.
n figura 10-7 sunt definite dou funcii cu expresii diferite pe
intervale. Cuvntul cheie otherwise se traduce prin n rest.

182

Programare n MathCAD

Fig. 10-7 Funcii definite pe intervale

10.3

Instruciuni de ciclare

Structurile de ciclare permit executarea unei secvene de instruciuni


de mai multe ori. Numrul de execuii poate fi cunoscut (ca n cazul
secvenei for), sau nu (ca n cazul lui while). Mai jos sunt
prezentate cteva exemple simple de utilizare a unor secvente de
ciclare.
10.3.1 Instruciunea for
10.3.1.1

Calculul sumei primelor n numere naturale

n figura 10-8 se poate vedea cum arat un program foarte simplu


ce calculeaz suma primelor n numere naturale.

183

Capitolul 10

Fig. 10-8 Calcului sumei primelor n numere naturale


10.3.1.2

Calculul lui n!

n figura 10-9 apare un program pentru calculul lui n!

Fig. 10-9 - Calculul lui n!


10.3.1.3

Bucl FOR cu incrementare nentreag

Este posibil proiectarea unei structuri de ciclare utiliznd secvena


for, dar cu incrementare nentreag. n figura 10-10 se poate
analiza un astfel de exemplu.

Fig. 10-10 Bucl for cu incrementare nentreag


184

Programare n MathCAD
10.3.1.4

Instruciunea while

Problema n cazul secvenelor while este s se asigure intrarea n


ciclu, dar i ieirea din acesta. Logica unei construcii de tip while
(vezi fig 10-11) este urmtoarea:
Atta timp ct condiie este evaluat TRUE sau la o valoare
pozitiv, vor fi executate instruciunile 1n. Pentru a se asigura
ieirea din bucla while trebuie ca n cadrul instruciunilor 1n s
se ajung la evaluarea FALSE sau la o valoare negativ a condiiei.

Fig. 10-11 - Secvena while


Pentru o mai bun nelegere a utilizrii construciei while, mai jos
sunt prezentate cteva exemple.
10.3.1.5

Calculul lui n!

Fig. 10-12 - Calculul lui n!

185

Capitolul 10
10.3.1.6
Gsirea primului element al unui vector mai
mare dect o anumit valoare
n figura 10-13 este prezentat un program care gsete primul
element al unui vector mai mare dect o anumit valoare (prag).

Fig. 10-13 - Gsirea primului element al unui vector


mai mare dect o anumit valoare
10.4

Controlul execuiei programelor

10.4.1 Secvena break


Secvena de tip break permite ieirea forat dintr-o bucl la
ndeplinirea unei anumite condiii. Aceast logic impune asocierea
lui break cu o construcie if. Aciunea de tip break are loc numai
cnd condiia din dreapta lui if este evaluat TRUE sau la o valoare
strict pozitiv.
n figura 10-14 se prezint o variant de calcul a lui n! cu utilizarea
unei secvene de tip break.
Calculul lui n! utiliznd secvena BREAK
186

Programare n MathCAD

Fig. 10-14 Utilizarea secvenei break


Observaie: Se va nota c pentru scrierea condiiei din dreapta lui if
s-a folosit egalul ce apare i n structura funciei Find (CTRL+=).
10.4.2 Secvena continue
Structura de tip continue permite ieirea forat dintr-o iteraie.
Dac aceasta este coninut ntr-o alta (iteraii imbricate), se execut
iteraia de nivel superior urmtoare. Dac iteraia nu este coninut
ntr-o alta, se sare la urmtorul pas de iterare de dup cel
ntrerupt.
Ca i n cazul lui break, continue se asociaz cu o construcie de
tip if. n figura 10-15 este prezentat un exemplu de program care
utilizeaz o secven de tip continue pentru a calcula suma
elementelor pozitive ale unei matrice. n figura 10-16, este reprodus
un exemplu ce figureaz n modului Quicksheets, la capitolul
Programming. Funcia calculeaz suma numerelor impare de la 0
la n. n program se face apel la funcia predefinit mod, care
ntoarce restul mpririi primului argument la cel de-al doilea.

187

Capitolul 10

Fig. 10-15 Calculul sumei elementelor pozitive ale unei matrice

Fig. 10-16 Calculul sumei numerelor naturale impare mai mici


dect n

188

Programare n MathCAD
10.4.3 Secvena return
Aa cum s-a mai spus, un program MathCAD ntoarce rezultatul
ultimei evaluri. Construcia return permite ca un program s se
ntrerup i s ntoarc documentului din care face parte altceva
dect rezultatul evalurii ultimei linii de program. Ca i n cazul
secvenelor break sau continue, return se asociaz cu o structur
de tip if.
n figura 10-17 este prezentat un program care determin primul
element negativ al unei matrice i ntoarce indicii acestuia precum i
elementul propriu zis.

Fig. 10-17 Stabilirea primului element negativ al unei matrice


Se face observaia c aa cum e scris programul matricea este
parcurs pe coloane. Rezultatul nu ar fi fost acelai dac s-ar fi
inversat ntre ei indicii i i j.
10.4.4 Secvena on error
Secvena on error permite detectarea unor erori de program, care
n general ar fi produs ntreruperea execuie acestuia i trimiterea
unui mesaj de eroare general, care nu permite o depistare imediat
189

Capitolul 10
a cauzei care a condus la eroare. Construcia on error permite chiar
i definirea unor mesaje de eroare clare, ce fac astfel mai facil
depanarea programelor.
n figura 10-18 apare un program care calculeaz media elementelor
pozitive ele unei matrice. Dac astfel de elemente nu exist, se va
ajunge la o mprire cu zero. O astfel de situaie poate fi stpnit
prin utilizarea construciei on error. Se poate observa
c este
posibil i generarea unui mesaj de eroare ct se poate de clar i
care se produce numai cnd are loc mprirea la zero.

Fig. 10-18 Structura on error

190

Programare n MathCAD

Fig. 10-19 Funcia error


Este posibil generarea unui anumit mesaj de eroare i prin utilizarea
funciei error, aa cum se poate vedea mai jos, n figura 10-19.
Diferena este c de aceast dat funcia nu se va executa, iar
mesajul de eroare apare numai atunci cnd se execut clic stnga pe
numele funcie (colorat n rou, ca semn de eroare).

10.5

Subrutine (program n program)

Odat o funcie definit printr-o secven de programare MathCAD,


este posibil folosirea ei n corpul unui alt program (funcie), cu
191

Capitolul 10
respectarea regulii de parcurgere a documentelor de ctre MathCAD
(de la stnga la dreapta i de sus n jos).
10.6

Recursivitate

Programarea n MathCAD permite recursivitate, adic definirea unei


funcii n raport cu ea nsi. Acest lucru este posibil cu respectarea
condiiilor:
s existe o definiie a unei funcii n raport cu o valoare
anterioar a ei;
s fie definit o condiie iniial care s asigure c
recursivitatea nu va avea loc la infinit.
n figura 10-20 se poate vedea cum se utilizeaz recursivitatea.
Prima linie a micului program reprezint condiia care asigur
evitarea recursivitii la infinit, iar a doua [linie] definete funcia n
raport cu o valoare anterioar a acesteia.
De menionat c recursivitatea dei produce programe mai compacte
i deci mai uor de urmrit nu este o metod care asigur o eficien
de calcul pe msur.

Fig. 10-20 Recursivitate

192

11

Calcul simbolic

Obiective

Familiarizarea cititorului cu facilitile


oferite de MathCAD n domeniul calcului
simbolic

Prezentarea
simbolic

tehnicilor

de

evaluare

193

Capitolul 12
11.1

Prezentare general

Una din cele mai spectaculoase faciliti ale MathCAD, este


posibilitatea de evaluare simbolic a expresiilor. Spre deosebirea de
evaluarea obinuit care produce numai rezultate strict numerice,
evaluarea simbolic tie s opereze cu simboluri, astfel nct
rezultatele nsei ale evalurilor simbolice conin simboluri. Acestea
sunt nume de variabile, de constante predefinite, sau chiar de
funcii. n figura 11-1 sunt prezentate doar cteva exemple de
evaluri simbolice.

Fig. 11-1 Exemple de evaluri simbolice


Trebuie precizat c n funcie de calculul (evaluarea) simbolic dorit,
expresia de evaluat va trebui selectat ntr-un anumit fel. Astfel
pentru factorizarea unei expresii (scrierea unei expresii sub form de
produs de factori), se va selecta (evident nainte de evaluare)
ntreaga expresie, ca n exemplul din figura 11-2:

Fig. 11-2 Selectarea total a unei expresii ce se va evalua simbolic


194

Animaie n MathCAD
n alte situaii, se va selecta numai numele unei variabile sau o
subexpresie dintr-o expresie, ca n exemplul din figura 11-3, care
rezolv simbolic o ecuaie de gradul 2 :

Modul
de
selectare

Fig. 11-3 Selectarea unei variabile dintr-o expresie


ce se va evalua simbolic
n acest din urm caz, cursorul a fost pur i simplu plasat n imediata
vecintate a variabilei n raport cu care se va face calculul simbolic
(aici gsirea soluiilor ecuaiei de gradul 2 n x).
n general, modul cum se realizeaz selecia ce precede calculul
simbolic, este n acord logic cu calculul. Este normal ca n cazul
rezolvrii simbolice a unei ecuaii s se specifice care s fie variabila
care denumete necunoscuta, dup cum dac se dorete factorizarea
unei expresii este logic s se selecteze toat expresia (ca n
exemplele de mai sus). Asupra acestor chestiuni se va reveni cnd
vor fi prezentate mai pe larg diferitele tipuri de calcul simbolic pe
care MathCAD tie s le fac.
Expresiile care pot fi evaluate simbolic pot fi scalare sau matriciale i
pot conine urmtorii operatori :
Operatorii scalari i matriceali +, -, *, /, putere (^), radical,
conjugat, complex, sum, produs, derivare, integrare, transpusa i
determinantul unei matrice;
Funciile trigonometrice, hiperbolice, inversele acestora, logaritmic,
exponenial, Re, Im, erf, mod, max, min, identity, i eigenvals
pentru matrice;
Nume de variabile i constante, inclusiv constantele predefinite , e,
i simbolul infinit.

195

Capitolul 12
11.2

Modaliti de evaluare simbolic

11.2.1 Evaluarea
simbolic

cu

ajutorul

operatorului

de

evaluare

n cazul evalurilor simbolice, rolul operatorului = este luat de


operatorul de evaluare simbolic . Acesta, atunci cnd este
folosit fr alt indicaie explicit, ntoarce o versiune simplificat a
expresiei (termenul simplificat avnd aici un neles foarte larg). n
general operatorul de evaluare simbolic se va utiliza ca atare n
cazul calculelor [simbolice] de integrale sau difereniale, aa cum se
poate vedea n figura 11-4.
Operatorul de evaluare simbolic se folosete astfel:
se selecteaz expresia de evaluat;
se tasteaz combinaia de taste CTRL + . (sau se
folosete butonul de pe bara de instrumente Symbolic
vezi figura 11-5);
se puncteaz cu mouse-ul n afara expresiei sau se
apas tasta F9.
n figura 11-4 sunt prezentate fazele utilizrii operatorului de
evaluare simbolic.

CTRL +.

F9 sau clic stnga n afara expresiei

Fig. 11-4 Utilizarea operatorului de evaluare simbolic


196

Animaie n MathCAD

Fig. 11-5 Operatorul de evaluare simbolic


Pentru evaluri simbolice mai bine intite, se vor utiliza cuvinte
cheie (vezi paragraful 11.2.2).
11.2.2 Evaluarea cu ajutorul
simbolic i a cuvintelor cheie

operatorului

de

evaluare

Pentru realizarea de evaluri simbolice de un anumit tip, se


recomand utilizarea urmtoarei tehnici:
se selecteaz expresia de evaluat;
se tasteaz combinaia de taste CTRL + SHIFT + . ,
sau se folosete butonul

(vezi figura 11-6);

Fig. 11-6 Operatorul de evaluare cu cuvnt cheie


se ajunge la o situaie ca cea din figura 11-7.a. n marcatorul
necompletat se va scrie un cuvnt cheie (vezi figura 11-7.b);
se apas tasta Enter i se ajunge la o situaie ca cea din
figura 11-7.c.

a.

b.
197

Capitolul 12

c.

Fig. 11-7 Evaluarea simbolic cu cuvnt cheie


Pentru evitarea oricror probleme se recomand utilizarea
butoanelor cu cuvinte cheie, de pe bara de instrumente Symbolic
(vezi figura 11-8).

Fig. 11-8 Bara de instrumente Symbolic


Cuvintele cheie recunoscute de MathCAD sunt prezentate n tabelul
de mai jos.

198

Animaie n MathCAD
Cuvnt
cheie
complex

Efect (semnificaie)
Evaluarea complex a unei expresii (cu separarea
prilor real, respective complex).
Exemple:
- Evaluare cu operatorul

- Evaluare cu cuvntul cheie complex

Se observ c n cel de-al doilea caz rezultatul are


prile imaginar i real bine separate.
float, [m] Foreaz evaluarea numeric cu m (0m250) cifre
(care includ i partea ntreag, dar nu i punctul
zecimal) a unei expresii. Dac parametrul m lipsete,
valoarea implicit a numrului de zecimale este 20.
Exemple:

simplify

Simplific (prin reduceri de termeni, simplificri, sau


prin utilizarea formulelor trigonometrice sau a
funciilor inverse) o expresie.

Exemple:

expand,
[expr]

Dezvolt
produsele
de
sume,
sau
funcii
trigonometrice de sume, sau fracii (care sunt
descompuse n sume de fracii simple). Dac
parametrul expr exist, atunci subexpresia expr nu va
fi afectat de expandare.

Exemple:

199

Capitolul 12
- Evaluare fr parametrul expr

- Evaluare cu parametrul expr

factor,
[expr]

Factorizeaz (transform n produse de factori) o


expresie. Dac argumentul expr exist (el este
opional) n cazul factorizrii expresiilor ce conin
radicali factorizarea se va face n raport cu expr.
Tot cu ajutorul cuvntului cheie factor se poate
realiza descompunerea unui numr ntreg n factori
primi. Cuvntul cheie factor se mai poate folosi i
pentru transformarea unei sume de fracii ntr-o
fracie simpl (aceast operaie presupune i
aducerea la acelai numitor).

Exemple:

200

Animaie n MathCAD
solve, var Rezolv o ecuaie sau un sistem de ecuaii.
Parametrul var poate fi un scalar sau un vector ce
conine numele necunoscutei/necunoscutelor.

Exemple:

- Rezolvarea unei ecuaii

- Rezolvarea unui sistem

collect,
var1varn

Ordoneaz o expresie n ordinea descresctoare a


puterilor variabilelor precizate de var1,varn.

Exemple:

coeffs, var

ntoarce sub forma unui vector coeficienii


polinomiali ai expresiei argument, n raport cu
variabila var.

Exemple:

201

Capitolul 12

sau

substitute,var1=var2 nlocuiete toate apariiile variabilei


var1 dintr-o expresie, cu o subexpresie
sau cu o alt variabil. Expresia sau
variabila de nlocuire sunt simbolizate
de parametrul var2. pentru semnul =
se va folosi combinaia de taste
CTRL+=.

Exemple:

series,var=z,m Dezvolt n serie de puteri (Taylor sau Laurent)


o expresie. Parametrul var precizeaz variabila
considerat pentru dezvoltarea n serie, scalarii
z i m, semnific punctul n jurul cruia se face
dezvoltarea, respectiv ordinul de dezvoltare.
Argumentele z i m sunt opionale. Dac
lipsesc, dezvoltarea se face n jurul punctului 0
ntr-o serie de ordin 6. Ordinul precizat de
parametrul m d o indicaie asupra nivelului
erorii ce se face prin considerarea unui numr
finit de termeni.

Exemple:

202

Animaie n MathCAD

convert,
parfrac,
var

Transform o expresie ntr-o sum de fracii simple.


Parametrul var precizeaz variabila ce se va
considera pentru determinarea fraciilor simple.

Exemple:

fourier, var

Calculeaz transformata Fourier a unei expresii


n raport cu variabila var. Rezultatul este o
funcie de forma:
+

f (t ) e

it

dt , unde f(t) este funcia pentru

care se determin transformata Fourier.

Exemple:

203

Capitolul 12
invfourier,
var

Calculeaz inversa transformrii Fourier pentru o


expresie, n raport cu variabila var. Rezultatul
este o funcie de forma:
+
1
F ( ) eit d , unde F() este funcia
2
pentru care se determin transformata invers.

Exemple:

laplace, var

Calculeaz transformata Laplace a unei expresii


n raport cu variabila var. Rezultatul este o
funcie de forma:

f (t ) e

st

dt , unde f(t) este funcia pentru

care se determin transformata.

Exemple:

204

Animaie n MathCAD
Calculeaz inversa transformrii Laplace
pentru o expresie, n raport cu variabila
var. Rezultatul este o funcie de forma:
+ i
1
F ( s) e st ds , unde F(s) este funcia
2 i

invlaplace,var

pentru care se determin transformata


invers.

Exemple:

ztrans, var

Calculeaz transformata Z a unei expresii n raport


cu variabila var. Rezultatul este o funcie de
forma:

f ( n) z

, unde f(n) este funcia pentru care se

n =0

determin transformata.

Exemple:

205

Capitolul 12
Se menioneaz c n stnga liniei verticale sunt prezentate
semnalele continui de la care s-a plecat. Expresia ce sufer efectul
evalurii cu cuvntul cheie ztrans, reprezint semnalul discret.
Pentru cteva detalii suplimentare legate de transformata Z, vezi
notele ce urmeaz imediat dup tabelul curent.
invztrans, var

Calculeaz inversa transformrii Z pentru o


expresie, n raport cu variabila var. Rezultatul
este o funcie de forma:
1
F ( z ) z n 1 dz , unde F(z) este funcia
2 i C
pentru care
invers.

se

determin

transformata

Exemple:

assume
constraint

Realizeaz o evaluare simbolic impunnd o


anumit condiie explicitat de secvena
constraint. n cadrul acestei secvene, se pot
folosi operatorii relaionali (<, >, , )

Exemple:

Transformata Z se folosete pentru prelucrarea semnalelor


eantionate (digitale), obinute n urma unui traseu ca cel din
figura 11-9.
206

Animaie n MathCAD
Se pornete de la un semnal continuu. n prima faz se realizeaz
eantionarea valorilor de pe abscis (n general timpul), obinnduse astfel semnalul eantionat, dup care se realizeaz o discretizare
a valorilor semnalului (se obine aa numitul semnal numeric).
Transformata Z opereaz cu semnalul numeric, pentru care deci se
poate vorbi de un ir discret de valori. Dei ele nu sunt dect rareori
identice, vom considera c semnalul eantionat i cel numeric sunt
practic identice (ceea ce corespunde unui cuantificator intrare-ieire
cu trepte foarte mici (vezi Metode n analiza circuitelor electronice
de Mugur Svescu, Ed. t i Enc, Buc, 1985).
Surs de
semnal
continuu

Eantionator
x(t)

Cuantificator
xT(t)

Fig. 11-9 - Circuit de formare a semnalului eantionat xT(t) i a


semnalului numeric xd(t), din semnalul continuu x(t)
Dac se noteaz cu x[n] semnalul numeric, relaia folosit pentru
calculul transformatei Z este :

X ( z ) = x[ n] z n
n =0

n figura 11-10, sunt prezentate semnalul continuu i cel eantionat.

Fig. 11-10 - Semnal continuu i semnal eantionat


207

Capitolul 12
Se mai face precizarea c dei sensibile la diferena majusculminuscul, cuvintele cheie nu sunt sensibile la caracteristicile
fonturilor (cum este cazul numelor de variabile sau de funcii - vezi
paragraful 3.5).
Rezolvarea simbolic a sistemelor de ecuaii se poate face i cu
ajutorul blocului Given-Find, aa cum se poate vedea n figura 1111.

Fig. 11-11 Rezolvarea simbolic


a unui sistem folosind
blocul Given Fiind
Se atrage atenia c dup scrierea Find(x,y,z) se insereaz
(sau combinaia de taste
operatorul de evaluare simbolic
CTRL + .). Se mai remarc i faptul c nu a fost necesar o
estimare iniial a soluiei.
11.2.3 Modificatori de cuvinte cheie
Pentru calculele simbolice ce fac uz de cuvintele assume i simplify
este posibil un reglaj fin al evalurii prin folosirea aa numiilor
modificatori de cuvinte cheie.
Pentru nelegerea modului de funcionare a modificatorilor se va
urmri figura 11-12.

208

Animaie n MathCAD

Fig. 11-12 Modificatori de cuvinte cheie


Se mai face precizarea c pentru cuvntul cheie simplify, se mai
poate folosi modificatorul trig. Acesta va determina simplificarea
expresiilor trigonometrice innd cont numai de relaiile:

sin 2 ( x) + cos 2 ( x) = 1
cosh 2 ( x) sinh 2 ( x) = 1

11.2.4 Utilizarea succesiv sau simultan a mai multor


cuvinte cheie
Este posibil i folosirea succesiv sau simultan a mai mult de un
cuvnt cheie pentru evalurile simbolice.
Utilizarea succesiv va permite vizualizarea rezultatelor intermediare,
n vreme ce utilizarea simultan va produce direct rezultatul final.
11.2.4.1
cheie

Utilizarea succesiv a mai multor cuvinte

Tehnica de lucru pentru ntrebuinarea succesiv a mai multor


cuvinte cheie este urmtoarea:
1. Se scrie expresia de evaluat;
209

Capitolul 12
(fie cu
2. Se insereaz operatorul de evaluare simbolic
ajutorul combinaiei de taste CTRL + SHIFT + ., fie folosind
bara de instrumente Symbolic). Se va ajunge la o situaie
de tipul celei de mai jos:

3. Se apas ENTER pentru obinerea primului rezultat. Se va


ajunge la:

4. Se face clic stnga pe rezultat i se insereaz nc odat


operatorul

. Se ajunge la:

5. n marcatorul liber se completeaz noul cuvnt cheie. Se


poate ajunge la:

6. Se apas ENTER pentru obinerea noului rezultat, adic (n


cazul exemplului prezentat):

7. Se pot insera n continuare noi cuvinte cheie.


11.2.4.2
cheie

Utilizarea simultan a mai multor cuvinte

Dac rezultatele intermediare nu intereseaz, se poate ajunge direct


la cel final prin utilizarea simultan a mai multor cuvinte cheie.
Modul de operare este urmtorul:
1. Se scrie expresia de evaluat;
2. Se insereaz operatorul de evaluare simbolic
ajunge la o situaie ca cea de mai jos:
210

. Se

Animaie n MathCAD

3. Se execut nc odat combinaia de taste CTRL + SHIFT


+ . . Se ajunge la:

4. Se scrie al doilea cuvnt cheie:

5. Se poate continua cu inserarea de noi cuvinte cheie, sau se


apas ENTER pentru obinerea rezultatului final:

11.2.5 Evaluarea cu ajutorul meniului Symbolics


Exist dou diferene majore ntre utilizarea meniului Symbolic sau
a cuvintelor cheie pentru realizarea de evaluri simbolice. Acestea
sunt:
Evalurile simbolice realizate cu ajutorul meniului
Symbolic nu verific dac variabilele sau funciile din
expresia de evaluat au fost definite anterior, spre
deosebire de situaia n care se folosesc cuvinte cheie,
caz n care aceast verificare are loc, urmnd ca
MathCAD-ul s nlocuiasc n expresie variabilele sau
funciile anterior definite cu valorile lor n momentul
evalurii simbolice (exist dou excepii, cnd o variabil
a fost definit recursiv, respectiv cnd variabila e de tip
ir de valori);
Evalurile simbolice realizate cu ajutorul meniului
Symbolic nu se actualizeaz automat.
Modul de lucru pentru evalurile simbolice realizate cu ajutorul
meniului Symbolic este urmtorul:
211

Capitolul 12

Se selecteaz expresia (o subexpresie, sau o variabil,


dup caz);
Se execut clic stnga pe cmpul din meniul Symbolic
dorit.
Acest mod de lucru mai pune n eviden o deosebire ntre cele dou
modaliti de evaluare simbolic. n cazul meniului [Symbolic], prin
posibilitatea de a selecta o subexpresie sau o variabil din
componena expresiei de evaluat [simbolic] se pot realiza evaluri
simbolice mai nuanate.
Meniul Symbolic pune la dispoziia utilizatorului o serie de operatori
de evaluare simbolic specializai n calcul matriceal (unii din ei sunt
disponibili i n bara de instrumente Symbolic).
n figurile 11-13 11-20 sunt prezentate cteva exemple de calcul
simbolic utiliznd meniul Symbolic.
Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-13 Evaluri simbolice

212

Animaie n MathCAD
Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-14 Calcul integral i diferenial simbolic

213

Capitolul 12
Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-15 Transformarea n fracii simple


Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-16 Determinarea coeficienilor polinomiali


214

Animaie n MathCAD
Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-17 Calculul simbolic al valorilor proprii

Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-18 Calculul simbolic al determinantului unei matrice

215

Capitolul 12

Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-19 Evaluarea simbolic a unor inegaliti

Rezultatul obinut la evaluarea celei de a doua inegaliti se poate


nc prelucra, aa cum se poate vedea n figura 11-20.

216

Animaie n MathCAD

b.

a.

c.

Fig. 11-20 Prelucrarea suplimentar


a rezultatului evalurii unei inegaliti
De multe ori, evalurile simbolice produc rezultate stufoase, care
ocup mult spaiu (mai ales pe direcie orizontal). Astfel de situaii
pot fi rezolvate prin utilizarea operatorului de scindare a unei expresii
pe dou (sau mai multe) rnduri.
De altfel acest operator se poate folosi i pentru scindarea pe mai
multe rnduri a unei expresii.
Se va proceda astfel:
1. Se execut clic stnga pe termenul din expresie care apare
imediat nainte de operatorul n dreptul cruia se va
fragmenta expresia;
2. Se apas tasta SPACE pn cnd este selectat subexpresia
din stnga operatorului n dreptul cruia se va fragmenta
expresia;
3. Se apas tasta DEL;
4. Se apas simultan tastele CTRL + ENTER;
Aceste faze sunt ilustrate n figura 11-21.

217

Capitolul 12
1
2
3
4

Fig. 11-21 Fragmentarea unei expresii (sau a unui rezultat)


Uneori rezultatele sunt att de lungi nct MathCAD propune de la
bun nceput plasarea acestora n CLIPBOARD. De aici el poate fi
inserat printr-un procedeu de tip PASTE n orice aplicaie.
11.2.6 Controlul formatului rezultatelor simbolice
Poziia rezultatelor evalurilor simbolice n raport cu expresia iniial,
atunci cnd se folosete meniul Symbolic, se stabilete cu ajutorul
cmpului Symbolic Evaluation Style. . n figura 11-22 se
poate vedea caseta de dialog ce permite alegerea poziiei relative
ntre rezultat i expresia iniial.

Fig. 11-22 Formatarea rezultatelor simbolice


218

Animaie n MathCAD
n figura 11-23 sunt prezentate efectele diferitelor setri din caseta
de dialog Evaluation Style.

Fig. 11-23 Formatarea rezultatelor simbolice


n cazul Evaluate In Place expresia iniial va fi nlocuit de
rezultat.

219

12

Animaie n MathCAD

Obiective

Familiarizarea cititorului cu tehnicile de


realizare de animaii oferite de MathCAD

221

Capitolul 12
12.1

Crearea i rularea unei animaii

n MathCAD pot fi animate regiunile de tip expresie care realizeaz o


evaluare (deci o secven de tip nume_variabil =, sau
nume_funcie =, unde egalul este operatorul de evaluare i se obine
direct prin apsarea tastei =), sau regiunile de tip grafic.
Animaia presupune o succesiune de cadre (frame), redate cu o
anumit caden (exprimat n cadre pe secund). n MathCAD
pentru a se putea realiza animarea unei regiuni, este necesar ca
regiunea respectiv s conin variabila MathCAD numit FRAME
(scris cu majuscule). nainte de a aduga alte cometarii, se
prezint mai jos un exemplu simplu de animaie a unei regiuni ce
realizeaz evaluarea unei variabile. Vor fi detaliate etapele ce trebuie
parcurse pentru realizarea animaiei.
1. Se definete variabila care se va evalua, astfel nct n partea
dreapt a relaiei de definire s apar variabila FRAME (ea
poate aprea i n componena unei expresii):
a : = FRAME
2. Se creaz regiunea care se va anima. n exemplul de mai jos,
ea conine o regiune de tip text (care nu va fi influenat n
nici un fel de animaie), dar i o secven de evaluare (a =).
Valoarea ce va apare dup semnul egal este iniial 0.

3. Se activeaz cmpul Animate din meniul View. Pe ecran


va aprea fereastra Animate (Vezi figura 12-1), n care
utilizatorul trebuie s precizeze (n casetele de dialog From i
To) numrul de cadre ce vor forma animaia (de fapt se
precizeaz domeniul de valori pe care l parcurge variabila
FRAME - pentru c implicit n caseta de editare From se
gsete valoarea 0, variabila a a fost evaluat iniial la 0). n
exemplul considerat animaia va avea 9 cadre. Tot n caseta
222

Animaie n MathCAD
de dialog Animate se precizeaz i frecvena cu care vor fi
redate cadrele (caseta de editare At Frames/Sec).

Fig. 12-1 Crearea unei animaii


Se selecteaz regiunea de animat prin procedeul drag and drop,
astfel nct regiunea va fi ncadrat de un dreptunghi desenat cu
linie ntrerupt. Dup selecie butonul Animate din caseta de dialog
Animate, devine activ. n acest moment se apas butonul
Animate.
n caseta Animate n zona central se vor derula cadrele (attea
cte s-au precizat n casetele de editare From i To). La sfritul
acestui proces pe ecran va aprea fereastra Playback (vezi figura
, de pe bara de control a ferestrei
12-2). La apsarea butonului
Playback, animaia va ncepe s ruleze.
, se poate ajunge la un
Prin acionarea cursorului
anumit cadru prin parcurgerea accelerat a celor care l preced, dup
cum se poate realiza i parcurgerea cadrelor n ordine invers (prin
acionarea cursorului de la dreapta la stnga).

223

Capitolul 12

Fig. 12-2 Rularea animaiei


Desigur acesta e un exemplu foarte simplu, dar ilustreaz etapele de
parcurs pentru animarea unei regiuni dintr-un document MathCAD.
n continuare (vezi figura 12-3) se prezint un alt exemplu, care
realizeaz animarea unui grafic. Nu vor mai fi furnizate detalii
relative la etapele de parcurs pentru realizarea animaiei (identice cu
cele trecute n revist mai sus).

Fig. 12-3 Animarea unei regiuni de tip grafic


n exemplu s-a animat un grafic de tip Contour Plot. Dup cum se
observ, n expresia elementelor matricei ce va determina graficul
apare i variabila a, care a fost definit anterior n funcie de
224

Animaie n MathCAD
variabila FRAME. Aceasta ia valori ntre dou limite ntregi (vezi
casetele de editare From i To din caseta de dialog Animate), iar
variabila a va lua valori nentregi n intervalul FRAMEmin/10,
FRAMEmax/10.
12.2

Salvarea unei animaii

Odat creat o animaie, ea se poate salva ca fiier *.avi. n acest fel


animaia poate fi rulat cu orice aplicaie care recunoate fiierele
*.avi sau poate fi rulat n MathCAD fr a fi nevoie s fie recreat.
Pentru salvarea unei animaii se vor parcurge etapele :
1. Dup ce animaia a fost creat i fereastra Animate este
nc deschis, se apas pe butonul Save As. Implicit
animaia este salvat n format *.avi.
2. Animaiile sunt salvate n format *.avi comprimat (pentru
economie de spaiu disc). Dac se dorete salvarea n format
*.avi necomprimat sau dac se dorete comprimarea cu alt
metod, se acioneaz butonul Options din caseta de
dialog Animate. Se deschide fereastra Compressor
Options (vezi figura 12-4), care permite utilizatorului s
aleag metoda de comprimare dorit, precum i calitatea
comprimrii.

Fig. 12-4 Alegerea metodei de compresie


Dac butonul Configure este activ, prin acionarea lui se deschide
fereastra Configure (vezi figura 12-5), care permite utilizatorului s
controleze parametrul Temporal Quality Ratio, care controleaz
calitatea animaiei.
225

Capitolul 12

Fig. 12-5 Controlul calitii animaiei


12.3

Rularea unei aplicaii salvate anterior

O animaie salvat anterior, poate fi rulat n mediul MathCAD prin


acionarea cmpului Playback din meniul View. Ca efect se va
deschide fereastra de rulare a animaiei, unde prin apsarea
de pe bara de control [a ferestrei Playback], devine
butonului
disponibil butonul Open, ca n figura 12-6 :

Fig. 12-6 Rularea unei animaii creat anterior


Prin apsarea lui se deschide o fereastr de tip Open File, cu
ajutorul creia utilizatorul poate s aleag fiierul *.avi pe care
dorete s-l ruleze. Dup alegerea fiierului, fie prin acionarea
), fie prin acionarea cursorului, se poate rula
butonului Play (
animaia integral, respectiv cadru cu cadru n direcia dorit (nainte
sau napoi).
Pentru o mai bun nelegere a subiectului, se recomand
consultarea exemplelor din seciunea Animations din Quick
Sheets.
226

13

Operatori personalizai

Obiective

Familiarizarea cititorului cu facilitile


oferite de MathCAD pentru definirea de
operatori particularizai (alii dect cei
predefinii)

227

Capitolul 13
13.1

Introducere

Aa cum se pot defini n MathCAD funcii, altele dect cele


predefinite, tot aa se pot crea i operatori, alii dect cei predefinii.
Acetia vor fi numii n continuare, [operatori] personalizai.
Procesul de definire a unui astfel de operator este asemntor cu cel
de definire a unei funcii.
Din punctul de vedere al terminologiei, funciile au argumente,
incluse ntre paranteze i, dac sunt mai multe, separate prin virgul.
n cazul operatorilor, locul argumentelor este luat de operanzi, care
ns pot fi n numr de unu sau maxim doi.
Din punctul de vedere al poziiei operatorului n raport cu operandul
- n cazul operatorilor cu un singur operand (pot fi numii i operatori
unari) - se poate vorbi despre operatori de tip prefix, respectiv sufix.
n cazul operatorilor binari (cu doi operanzi), MathCAD poate crea
operatori de tip infix, respectiv arbore (tree).
n figura 13-1 sunt prezentate tipurile de operatori menionate mai
sus (este vorba despre secvene de evaluare).

Fig. 13-1 Tipuri de operatori personalizai

228

Operatori personalizai
13.2

Definirea i utilizarea operatorilor personalizai

Definirea unui operator personalizat este practic identic cu definirea


unei funcii, cu observaia c numrul de argumente nu poate depi
valoarea 2.
Pentru numele operatorului se poate folosi orice simbol adecvat. n
Resource Center QuickSheets and Reference Tables
Extra Math Symbols pot fi gsite diverse simboluri matematice ce
pot fi utilizate ca nume de operatori personalizai. Transferul oricrui
simbol ntr-un document MathCAD se face printr-o simpl secven
de tip Selecie simbol Copy Revenire n documentul
Mathcad Paste.
n figura 13-2, sunt prezentate cteva exemple de definire de
operatori personalizai, dar i modalitile de utilizare a acestora. Se
poate observa c faza de definire este identic cu cea utilizat la
definirea unei funcii.

Fig. 13-2 Definirea i utilizarea operatorilor personalizai


229

14

Fiiere ablon (template)

Obiective

Prezentarea noiunii de fiier ablon

nsuirea tehnicilor de
modificare a unui ablon

creare

sau

231

Capitolul 14
14.1

Introducere

Ca i n cazul altor aplicaii, MathCAD utilizeaz la deschiderea


oricrui nou fiier, aa numitele abloane, care transmit noului
document o serie de caracteristici de formatare (ce vor fi detaliate
mai trziu), dar i elemente de coninut (expresii, text, antet i/sau
subsol).
La deschiderea unui nou document MathCAD, dac se utilizeaz
cmpul File New (vezi figura 14-1), nu se deschide direct un nou
document, ci se ajunge n caseta de dialog New (vezi figura 14-2),
cu ajutorul creia se alege ablonul care va sta la baza noului
document.

Fig. 14-1 Deschiderea unui document nou MathCAD


Lista conine abloane predefinite (dar care pot fi modificate de orice
utilizator), dar i abloane create de utilizator, cum ar fi cel numit
sablon_1 (vezi figura 14-2).

232

Fiiere ablon (template)

Fig. 14-2 abloane existente


(predefinite sau create de utilizatori)
Odat un ablon ales, documentul ce se creeaz preia de la acesta
urmtoarele elemente:
- stilurile de expresii matematice (Format Equation);
- stiluri de text (Format Style);
- setrile de pagin (File Page Setup);
- valorile variabilelor MathCAD;
- setrile formatelor de rezultate (Format Result);
- sistemul de uniti folosit precum i numele mrimilor fizice
de baz;
- modul implicit de calcul (automat sau manual);
- vizibilitatea rigletei orizontale (View Ruler) i sistemul de
msurare de pe riglet.
Pentru fixarea sistemului de msurare de pe riglet se execut clic
dreapta pe riglet i se alege sistemul de msurare dorit din lista ce
se va fi deschis (vezi figura 14-3).
Vizualizarea rigletei se face cu ajutorul cmpului View Ruler.

233

Capitolul 14

Fig. 14-3 - Stabilirea sistemului de msurare pe riglet

14.2

Crearea unui [fiier] ablon

Fiierele ablon au n MathCAD extensia *.mct i n principiu trebuie


s se gseasc n subdirectorul Template aferent directorului
MathCAD (care depinde de modul n care s-a realizat instalarea).
Structura intern a unui fiier ablon nu difer cu nimic de a unui
fiier MathCAD obinuit, astfel c una din metodele de creare a unui
ablon este chiar schimbarea extensiei unui fiier MathCAD i
copierea (sau) mutarea lui n directorul Template.
O alt metod pentru crearea unui [fiier] ablon este descris mai
jos (vezi i figura 14-4).
Se fac ntr-un document MathCAD toate setrile dorite i
se insereaz n acesta toate obiectele dorite;
Se utilizeaz cmpul File Save As, iar n fereastra cu
acelai nume, se specific n partea de jos a acesteia
tipul documentului salvat - Mathcad Template
(*.mct);
Se face salvarea n subdirectorul Template (vezi figura
14-4).
234

Fiiere ablon (template)

Fig. 14-4 Salvarea unui fiier ca ablon


Trebuie precizat c i atunci cnd se creeaz un fiier nou cu ajutorul
butonului
, chiar dac nu n mod explicit, tot se face uz de un
fiier ablon. Acesta este Normal.mct.
Este posibil alegerea unui alt ablon [dect normal.mct] chiar i
dac nu se folosete cmpul File New. Pentru aceasta se va
utiliza butonul din dreapta lui
(vezi figura 14-5, zona marcat cu
un cerc). Din lista ce se va deschide, se va alege ablonul dorit.

235

Capitolul 14

Fig. 14-5 Alegerea unui ablon


prin folosirea butonului

14.3

Modificarea unui ablon

Se face pur i simplu prin deschiderea documentului [ablonului]


dorit, efectuarea modificrilor i salvarea fiierului. Evident dac
salvarea se face sub un nou nume, s-a creat de fapt un nou ablon.
Observaie: Cnd se modific un ablon, efectele se vor simi
numai n documentele ce se vor crea pe viitor pe baza acelui ablon,
fr s existe un efect retroactiv.

236

15

Formatarea de
tiprirea n MathCAD

pagin

Obiective

Familiarizarea cititorului cu tehnicile de


tiprire oferite de MathCAD

Prezentarea modului de control al paginii


n MathCAD

237

Capitolul 15
15.1

Formatarea de pagin

Stabilirea elementelor de control al paginii se face cu ajutorul


cmpului File Page Setup. Caseta de dialog Page Setup,
prezentat de altfel n figura 15-1, permite setri de baz care nu
necesit explicaii suplimentare.

Fig. 15-1 Controlul paginii


MathCAD ofer i posibilitatea de a defini pentru pagini antete
(headere) i sau subsoluri (footer) dup modelul mai degrab al
Excel-ului dect al Word-ului.
Pentru definirea i configurarea unor astfel de seciuni se va folosi
cmpul Format Headers/Footers, care va conduce la caseta de
dialog din figura 15-2.
238

Formatarea de pagin i tiprirea n MathCAD


Se vede c att antetul ct i subsolul pot fi mprite n trei zone
(Stnga-Left, Centru-Center i Dreapta-Right), c n oricare din
aceste zone se pot insera cmpuri de tip nume document, data
salvrii, numrul de pagin, numrul total de pagini etc (vezi zona
Tools din caseta de dialog Header/Footer). Cu ajutorul butonului
Format din aceeai zon, se poate controla aspectul cmpurilor de
tip text, iar prin intermediul butonului Image, se poate insera n
oricare din seciunile unui antet sau subsol un fiier imagine.
Seciunea Options permite stabilirea originii numrrii paginilor
(Start at page number), sau prezena unui antet sau subsol diferit
pentru prima pagin dintr-o suit [de pagini]. Antetul (sau subsolul)
diferite pentru prima pagin se vor controla cu ajutorul seciunilor
Header-Page 1 sau Footer Page 1, care nu apar dect atunci
cnd cmpul Different header and footer on first page este
bifat, dar atenie, dac din seciunea Frame s-a ales prezena unui
chenar n zona antetului sau subsolului, acesta va fi desenat i
pentru prima pagin.

Fig. 15-2 Controlul antetelor i subsolurilor

239

Capitolul 15
15.2

Tiprirea

Procesul de tiprire este declanat i controlat de caseta de dialog


Print, deschis prin utilizarea cmpului File Print (vezi figura
15-3).

Fig. 15-3 Caseta de dialog Print


Elementele ce pot fi controlate sunt suficient de clare i din acest
motiv nu vor fi explicate.
Se va insista doar asupra modului de tiprire n cazul n care
documentele MathCAD conin regiuni i n dreapta liniei de
demarcaie ce sugereaz marginea din dreapta a foii de hrtie.
Controlul propriu zis se face cu ajutorul cmpului Print single page
width, ce poate fi regsit n coninutul casetei de dialog Page
Setup (figura 15_1).
n figura 15-4 este prezentat un document MathCAD vizualizat cu
factorul de mrire 50%. Se poate observa c apar i o a doua,
respectiv o a treia bar de demarcaie vertical. Ar putea s se vad
240

Formatarea de pagin i tiprirea n MathCAD


i mai multe dac se alege un factor de vizualizare din ce n ce mai
mic.

Fig. 15-4 Document MathCAD vizualizat cu factorul 50%


Se pune problema cum se vor lista documente ce conin regiuni i n
dreapta primei sau celei de a doua bare de demarcaie vertical (sau
dincolo de una de ordin i mai mare).
Pentru un astfel de document s-ar putea adopta schematizarea din
figura 15-5. Astfel Pagina 1_n se refer la documentul MathCAD de
deasupra primei linii de demarcaie ORIZONTAL, Pagina 2_n se va
referi la acea parte a documentului situat sub prima linie de
demarcaie ORIZONTAL i aa mai departe. Pentru o mai bun
nelegere se va urmri figura 15-5.

241

Capitolul 15

Fig. 15-5 Structura unui document MathCAD


Astfel, dac exist bif n dreptul cmpului Print single page
width, se vor tipri numai paginile 1_1 i respectiv 2_1 (i nu 1_2,
respectiv 2_2).
Dac bifa din dreptul cmpului Print single page width nu exist,
se vor tipri, n ordine, paginile 1_1, 2_1, apoi 1_2 i 2_2 (deci se
tipresc nti paginile din stnga primei linii
de demarcaie
vertical).

242

16

Interpolarea i extrapolarea
datelor. Metode de regresie

Obiective

Familiarizarea cititorului cu tehnici de


prelucrare a datelor experimentale oferite
de MathCAD

Interpolare

Extrapolare

Regresie

243

Capitolul 16
16.1

Interpolarea datelor n 2 dimensiuni

Prin interpolare se nelege determinarea unei funcii (numit funcie


de interpolare), de obicei un polinom, care s aproximeze pe un
interval [a,b] o funcie f(x) ale crei valori sunt cunoscute numai n
anumite puncte a=x0<x1<xn=b.
n MathCAD se pot realiza dou tipuri de interpolri: liniar sau
folosind curbe spline. Cele dou funcii specializate sunt linterp i
respectiv interp.
n cazul interpolrii liniare valorile ordonatelor necunoscute,
corespunztoare unor puncte xk, ce nu se suprapun peste reeaua de
puncte x0<x1<xn,deci xi-1<xk<xi, se obin n ipoteza c punctele yi
se unesc cu segmente de dreapt, ca n figura 16-1.

Fig. 16-1 Interpolare liniar


n cazul interpolrii cu ajutorul curbelor spline, punctele sunt unite
(evident imaginar) cu arce de curb splin. Curbele spline, sunt
curbe polinomiale de grad k i care asigur continuitatea derivatelor
de ordin k-1 n punctele de jonciune ntre arcele de curbe spline.
Este evident c printr-un set de puncte, teoretic s-ar putea gsi o
curb polinomial care s treac prin toate punctele din set. Dac
punctele sunt numeroase i dispuse foarte neregulat, atunci dac un
asemenea polinom exist el este de grad mare (ceea ce presupune
n ultim analiz rezolvarea unor sisteme algebrice mari - cu numr
mare de ecuaii i necunoscute pentru determinarea coeficienilor
244

Interpolarea i extrapolarea datelor. Metode de regresie


polinomului). De aceea se prefer determinarea unor curbe care s
treac, fiecare, prin doar dou puncte, urmnd ca pentru asigurarea
netezimii curbei de interpolare (care nu trebuie s aib vrfuri sau
puncte de ntoarcere), pe ntreg domeniul s se pun condiii de
continuitate a derivatelor de ordin 1 i eventual 2 n punctele de
jonciune. Rezult astfel un numr de necunoscute (coeficieni)
comparabil cu cel corespunztor unei singure curbe de interpolare,
dar ele vor rezulta prin rezolvarea succesiv a unui set de sisteme
algebrice de mici dimensiuni. Aceste arce de curbe sunt chiar curbele
spline despre care s-a fcut deja vorbire. n figura 16-2, se prezint
cazul interpolrii cu arce de curb splin.
Se va detalia n continuare sintaxa specific funciilor MathCAD
specializate n interpolare.

Fig. 16-2 - Interpolare cu arce de curbe spline


16.1.1 Funcia linterp

linterp (vx, vy, x), unde:

vx este un vector real cu valorile n ordine cresctoare. El


corespunde valorilor de pe abscis (x);
vy este un vector real, cu acelai numr de elemente ca i
vx. El corespunde valorilor de pe ordonat (y);

245

Capitolul 16

x este valoarea abscisei pentru care se dorete valoarea


corespunztoare de pe ordonat. Ea va fi determinat prin
interpolare, aici liniar.

16.1.2 Funcia interp

interp(vs,vx,vy,x), unde:

vx, vy i x au aceeai semnificaie ca la funcia linterp


vs este un vector generat de una din funciile cspline,
pspline sau lspline. Vectorul vs conine derivatele de
ordinul 2 corespunztoare traseului descris de datele y=y(x),
necesar pentru determinarea pantelor curbelor spline n
punctele xi, astfel nct curba splin rezultant s fie neted
(smooth). Ceea ce trebuie deci reinut, este c utilizarea
funciei interp, presupune folosirea anterioar a uneia din
funciile cspline, pspline sau lspline.

16.1.3 Funciile scpline, pspline i lspline

cspline(vx, vy), ntoarce un vector al derivatelor de


ordinul 2, notat cu vs, pentru datele coninute n vectorii
vx i vy. Acest vector va fi folosit ca prim argument al
funciei interp. Curba splin rezultant, ce va fi folosit
pentru interpolare va fi o curb cubic la capetele
intervalului de analizat.
pspline(vx, vy), ntoarce acelai vector vs ca i funcia
cspline, cu deosebirea c la capetele intervalului de
analiz, curba splin va fi parabolic.
lspline(vx, vy), ntoarce acelai vector vs ca i funciile
cspline sau pspline, dar de aceast dat curba splin
rezultat va fi liniar la capete (curba splin se numete
n acest caz natural sau relaxat).

Exemplu:
Se vor citi din dou fiiere nestructurate, numite axa_x.dat, respectiv
axa_y.dat, 16 perechi de valori (abscisele din fiierul axa_x.dat,
ordonatele din axa_y.dat). Este recomandabil ca cele dou fiiere s
se gseasc n directorul curent de lucru MathCAD. Valorile citite vor
fi atribuite variabilelor indexate xi, respectiv yi.
Valorile din cele dou fiiere vor fi :
246

Interpolarea i extrapolarea datelor. Metode de regresie


- Fiierul axa_x.dat, va conine urmtoarele valori, dispuse fiecare pe
un rnd :
0
1.11
1.667 2.167 2.667 2.833 3.444 4
5
5.5
6
6.444 6.889
7.222 (aici, pentru claritate
valorile sunt separate de tab-uri)
- Fiierul axa_y.dat va conine urmtoarele valori, dispuse fiecare pe
un rnd :
0
1.254 .762
1.107 .809
1.21
.745
1.141
.915
1.045 .949
1.093 .845
1.054
Cele dou fiiere pot fi pur i simplu generate n Notepad. Se mai
atrage atenia asupra necesitii ca elementele din fiierul axa_x.dat
s fie n ordine strict cresctoare i firete cele dou fiiere s aib
exact acelai numr de elemente.
Citirea datelor din cele dou fiiere se poate face utiliznd
componenta de tip File Read or Write (Text Files).
Documentul MathCAD va arta ca n figura 16-3.

Fig. 16-3 Interpolarea datelor (liniar i neliniar)


247

Capitolul 16
Pentru o i mai bun nelegere, s-au reprezentat grafic n figura 164, att punctele corespunztoare valorilor yi, ct i graficele celor 4
curbe de interpolare.
Se poate observa c ntre cele 4 curbe exist diferene notabile,
lucru remarcat i din analiza valorilor interpolate pentru abscisa x=2.
Aceste diferene tind s fie mai mari la extremitile intervalului,
unde intervin de fapt deosebirile dintre pantele curbelor de
interpolare.
16.2

Interpolarea datelor n 3 dimensiuni

Plecnd de la interpolarea utiliznd curbe [de interpolare], deci n


plan, unde se pornete de la doi vectori, notai n paragrafele
anterioare vx i vy, se poate ajunge la o generalizare n spaiu,
respectiv la interpolarea folosind suprafee [de interpolare]. n acest
caz, prin interpolare se nelege determinarea unei funcii (numit
evident tot funcie de interpolare), care s aproximeze pe un
[a,b]x[c,d] o funcie z=f(x,y) ale crei valori sunt
domeniu
cunoscute numai n anumite puncte a=x0<x1<xn=b, respectiv

c=y0<y1<yn=d.

248

Interpolarea i extrapolarea datelor. Metode de regresie

Fig. 16-4 - Graficele curbelor de interpolare


Suprafeele de interpolare vor fi petice (patch) de suprafee spline,
cu cte patru laturi. Funciile utilizate au denumiri identice cu cele
folosite la interpolarea cu curbe spline, doar argumentele sunt altele,
dup cum urmeaz :
cspline(Mxy,Mz) - ntoarce un vector al derivatelor de ordinul 2
pentru tablourile Mxy i Mz. Acest vector devine primul argument
pentru funcia care realizeaz interpolarea (interp). Suprafaa splin
rezultat va fi cubic pe contur.
pspline(Mxy,Mz) - ca i cspline, doar c suprafaa rezultant va fi
parabolic pe contur.
lspline(Mxy,Mz) - ca i cspline, doar c suprafaa rezultant va fi
liniar pe contur.
interp(vs,Mxy,Mz,v) - ntoarce valoarea interpolat Mz n punctul de
coordonate x i y, specificat n v.
249

Capitolul 16
Argumentele funciilor de mai sus sunt :
- Mxy este un tablou cu dimensiunea nx2 i care conine
coordonatele x i y ce variaz pe domeniul pe care se va
realiza interpolarea. Coloanele acestei matrice trebuie s
aib elementele n ordine cresctoare;
- Mz este un tablou cu dimensiunea nxn, de date reale.
Valorile acestui tablou sunt valorile z corespunztoare
perechilor x i y din Mxy;
- vs este un vector generat de una din funciile cspline,
pspline sau lspline;
- v este un vector ale crui dou elemente sunt coordonatele
x i y pentru care se caut valoarea interpolat z.
n figura 16-5 este prezentat un exemplu preluat din seciunea
quicksheets i adaptat. Este vorba despre interpolarea datelor
descrise de o matrice notat Mz, care surprinde de fapt o
dependen de forma z=z(x,y). Vectorii corespunztori coordonatelor
x i y sunt notai cu X respectiv Y.
Dup ce s-a realizat definirea funciilor de interpolare fit_s, fit_p
respectiv fit_l, corespunztoare interpolrilor cubic, parabolic i
respectiv
liniar,
sunt
determinate
valorile
interpolate
corespunztoare punctelor (0.25, 0.35) i (0.1, 0.17). Se poate
observa c pentru primul punct, situat mai aproape de contur,
diferenele ntre cele 3 tipuri de interpolare sunt mai mari dect n
cazul punctului al doilea, situat mai spre interiorul domeniului.
n partea a doua a documentului se realizeaz discretizarea
domeniului de interpolat, prin definirea unei grile de 4 ori mai deas
dect cea iniial. Deci dac iniial pe x i y se defineau cte 6
puncte, acum pe aceleai direcii se vor defini cte 24, deci ntre
dou puncte succesive ale grilei iniiale, dup o direcie, se vor gsi
nc 3 puncte pentru care se va realiza de fapt interpolarea. Altfel
spus, dac iniial matricea Mz avea 6x6=36 valori, dup interpolare
matricele notate FIT_s, FIT_p sau FIT_l, vor avea fiecare cte
24x24=576 valori.
n faza final s-a realizat reprezentarea grafic att a suprafeei
iniiale (Mz), ct i a celor obinute prin cele trei metode de
interpolare. La dimensiunea la care s-a realizat reproducerea
reprezentrilor grafice (impus de considerente de spaiu),
diferenele ntre cele trei grafice nu sunt prea uor detectabile. Dac
250

Interpolarea i extrapolarea datelor. Metode de regresie


ns vor fi crescute n documentul MathCAD creat de utilizator dimensiunile graficelor (prin tehnica drag and drop), diferenele vor
ncepe s se vad cu claritate.
n figura 16-6, sunt prezentate cele 4 grafice, unul al suprafeei
originale (descris de matricea Mz) i celelalte 3, corespunznd
suprafeelor obinute prin interpolare, cu una din metodele (funciile)
descrise mai sus.

251

Capitolul 16

Fig. 16-5 Interpolarea 3D

252

Interpolarea i extrapolarea datelor. Metode de regresie

Fig. 16-6 - Reprezentri grafice ale suprafeelor de interpolare

16.3

Extrapolarea datelor

Prin extrapolare se nelege determinarea unei funcii, de obicei


polinom, care s aproximeze, n afara unui interval [a, b], o funcie
f(x) ale crei valori sunt cunoscute numai n anumite puncte
a=x0<x1<xn=b, din interiorul intervalului.
n MathCAD extrapolrile (sau prediciile) se realizeaz cu ajutorul
funciei predict, pentru care sintaxa este:
predict(v,m,n),
unde:
v este un vector ale crui valori reprezint eantioane prelevate - la
intervale egale - dintr-un set de date. Parametrii m i n sunt doi
ntregi.
Funcia predict, ntoarce n valori estimate, bazate pe m valori
consecutive din v.
Exemplu:
S se estimeze comportarea vectorului f, ale crui elemente sunt
obinute prin evaluarea funciei

i
10

f i = sin(0.5 i ) e , cu i lund

valori n intervalul 130, dincolo de limita superioar a argumentului


253

Capitolul 16
i (n cazul de fa aceast limit este 30). n fapt se aplic funcia

predict, aa cum se poate vedea din exemplu, pentru estimarea


urmtoarelor 20 de valori ale lui f, estimarea fcndu-se pe baza a 4
valori succesive ale lui f, dar in intervalul i=1..30. n partea a doua a
documentului s-a realizat i o reprezentare grafic (vezi figura 16-7),
a lui fi, att n intervalul 130 (de valori cunoscute), ct i dincolo
de i=30 i anume pentru nc 12 valori. Se va observa cum n grafic,
variabila j (folosit pentru reprezentarea estimrii), ia valori dincolo
de 30, astfel nct pe grafic s apar estimarea lui f exact dincolo de
punctul n care valorile cunoscute [ale lui f] sunt reprezentate grafic.

Fig. 16-7 Extrapolarea datelor

254

Interpolarea i extrapolarea datelor. Metode de regresie


16.4
16.4.1 Regresie
Regresia liniar
liniar i neliniar
Prin intermediul funciilor slope i intercept (a cror sintax va fi
prezentat mai jos), este posibil determinarea ecuaiei dreptei care
aproximeaz cu eroare minim (pentru minimizarea erorii se
folosete metoda celor mai mici ptrate) un set de date de forma
yi=y(xi).
Sintaxa funciilor slope i intercept este:
slope (vx, vy) - funcia ntoarce panta dreptei care
aproximeaz cu eroare minim setul de date;
intercept(vx, vy) - ntoarce ordonata la origine a dreptei
care aproximeaz cu eroare minim setul de date.
Argumentele vx i vy, sunt doi vectori cu acelai numr de elemente.
Vectorul vx trebuie s aib elementele n ordine cresctoare. Este
evident c cei doi vectori corespund absciselor x, respectiv
ordonatelor y.
Exemplu:
n exemplul de mai jos este determinat ecuaia dreptei care
aproximeaz cu eroare minim setul de date format din vectorii x,
respectiv y (dac se reprezint grafic aceast dreapt, se spune c
ea s-a trasat printre puncte).
n exemplu, setul de date a fost creat prin generarea vectorilor x i
y. O alt modalitate de lucru ar fi fost citirea celor doi vectori dintrun fiier de date.
16.4.2 Regresia polinomial (neliniar)
n cazul n care datele nu sunt aproximate corespunztor de o
dreapt (rmn puncte prea multe departe de dreapt i traseul
general al ordonatelor nu este aproape de o dreapt), se poate folosi
interpolarea polinomial. Prin intermediul funciei interp (pentru
care ns primul argument este furnizat de funciile regress sau
loess), se poate determina polinomul de grad specificat de utilizator,
care aproximeaz cu eroare minim setul de date de analizat. Mai jos
sunt prezentate funciile implicate n regresia polinomial, sintaxa,
precum i argumentele lor.

255

Capitolul 16

Fig. 16-8 Regresie liniar


-

256

regress (vx, vy, k) ntoarce un vector, pe care funcia


interp l va folosi pentru determinarea polinomului de ordin
k (se recomand valori mai mici dect 5) ce realizeaz
aproximarea cu eroare minim a setului de date;
loess (vx, vy, span) ntoarce un vector pe care funcia
interp l va folosi pentru determinarea polinomului de ordin
2, ce realizeaz aproximarea cu eroare minim a setului de
date ntr-un domeniu specificat de parametrul span
(ntindere, sector, anvergur). Dac valorile ordonatelor sunt
foarte diferite se recomand valori mari pentru parametrul
span. O valoare n general acceptabil este 0.75;

Interpolarea i extrapolarea datelor. Metode de regresie


-

interp (vs, vx, vy, x) ntoarce valoarea interpolat y


corespunztoare lui x (ultimul argument). Parametrul vs este
preluat de la funcia regress sau loess.

De menionat c n cazul vectorului ntors de funcia regress,


ultimele (k+1) elemente sunt chiar coeficienii polinomului de
interpolare n ordinea cresctoare a puterilor variabilei de pe axa
absciselor (vezi exemplul).
Exemplu:
S se realizeze regresia polinomial pentru un set de date reinut
ntr-un fiier de date, sub forma unei matrice cu dou coloane. n
prima [coloan] se gsesc valorile de pe abscis, iar n a doua cele
de pe ordonat. Dup citirea fiierului (numit n exemplu date[.prn]),
sunt extrase cu ajutorul operatorului CTRL+^, coloanele pentru
definirea vectorilor X i Y. Urmeaz utilizarea funciilor regress,
loess i interp, precum i reprezentarea grafic a datelor iniiale,
precum i a celor interpolate.
Structura fiierului date.prn este urmtoarea:
0
9.1
1
7.3
2
3.2
3
4.6
4
4.8
5
2.9
6
5.7
7
7.1
8
8.8
n prima coloan sunt precizate valorile lui x (sau vx, aa acum
apare n sintaxa funciei), iar n a doua coloan apar valorile lui y
(sau vy).
Fiierul MathCAD care realizeaz aplicaia este prezentat n figura
16-9.

257

Capitolul 16

Fig. 16-9 Regresie polinomial

n figura 16-10 sunt prezentate punctele (Yi) precum i datele


obinute prin regresie.

258

Interpolarea i extrapolarea datelor. Metode de regresie

Fig. 16-10 Reprezentarea punctelor i a rezultatelor regresiei


n figura 16-11 este prezentat graficul polinomului de interpolare
p_int(x), aa cum a fost el definit dup extragerea n vectorul coef a
coeficienilor din vectorul vs i nmulirea cu vectorul ce conine
puterile n ordine cresctoare ale variabilei x.

259

Capitolul 16

Fig. 16-11 - Graficul polinomului de interpolare


16.4.3 Regresie polinomial 3D (neliniar)
Ca i n cazul interpolrii i n cazul regresiei polinomiale se poate
ajunge la o generalizare 3D, cnd prin intermediul acelorai funcii
regress, loess i interp, dar cu alte argumente, se vor determina
suprafee polinomiale de interpolare. Sintaxa funciilor amintite mai
sus, n acest caz, este :
regress (Mxy, vz, k ) - funcia ntoarce un vector pe care
funcia interp l va utiliza la determinarea suprafeei
polinomiale de grad k ce aproximeaz cu eroare minim
setul de date coninut n matricele Mxy i vz. Uzual pentru
k se vor considera valori mai mici dect 5. Matricea Mxy, are
dimensiunea m x 2 i conine coordonatele x,y, iar vz are
dimensiunea m i conine coordonatele z corespunztoare
perechilor x,y din Mxy. ntre vz i Mxy exist o legtur
descris de o relaie de tipul vz=vz(x,y), unde perechile de
coordonate [date], (x,y), sunt stocate pe rnduri, n
matricea Mxy;
loess (Mxy, vz, span) funcia ntoarce un vector pe care
funcia interp l va utiliza la determinarea suprafeei
polinomiale de grad 2, ce realizeaz aproximarea cu eroare
minim a setului de date ntr-un domeniu specificat de
260

Interpolarea i extrapolarea datelor. Metode de regresie

parametrul span (ntindere, sector, anvergur). Dac valorile


cotelor vz sunt foarte diferite se recomand valori mari
pentru parametrul span. O valoare n general acceptabil
este 0.75;
interp (vs, Mxy, vz, v) funcia ntoarce valoarea
interpolat z, corespunztoare perechii de date (x,y)
coninut n vectorul [cu dou] elemente v. Vectorul vs este
ntors de una din funciile regress sau loess.

Pentru o mai bun nelegere a celor expuse, se recomand


parcurgerea exemplului Multiple Linear Regression din seciunea
Data Analysis din Quicksheets.
16.4.4 Aproximarea datelor prin utilizarea unor combinaii
liniare de funcii
Dac pn acum toate metodele de aproximare/interpolare
prezentate au avut ca obiectiv gsirea unor polinoame de diverse
grade care aproximeaz un set de date cu eroare minim, n
paragrafele urmtoare se va arta cum MathCAD tie s rezolve
acelai gen de probleme, de aceast dat prin gsirea unei
combinaii liniare de funcii (nu neaprat polinomiale), care s
aproximeze cu eroare minim un set de date. Cu alte cuvinte,
pornind de la un set de funcii (pe care i-l fixeaz utilizatorul) f1(x),
f2(x),..fn(x), se pune problema determinrii coeficienilor a1,
a2,..an, astfel nct combinaia liniar
n

a1 f ( x)1 + a2 f 2 ( x) + ...an f n ( x) = ai f i ( x)
i =1

s aproximeze cu eroare minim setul de date considerat.


Funcia care realizeaz interpolarea/aproximarea unui set de date
prin metoda combinaiei liniare de funcii, este linfit i are sintaxa:

linfit (vx, vy, F) - funcia ntoarce un vector care conine


coeficienii ai din relaia de mai sus. Vectorii vx i vy definesc
setul de date analizat i trebuie s aib acelai numr de
elemente. n plus, elementele lui vx trebuie s fie n ordine
cresctoare. F este un vector care conine setul de funcii fi.
261

Capitolul 16
F i vx sau vy NU trebuie n mod obligatoriu - s aib
acelai numr de elemente.

Exemplu:
S se aproximeze setul de date utilizat n exemplul de la regresia
polinomial
(datele din
fiierul date.prn), de aceast dat
aproximarea realizndu-se cu ajutorul metodei combinaiei liniare de
funcii.
n exemplu nu se mai reia etapa de citire a datelor din fiier i de
extragere a celor doi vectori X i Y. Se va prezenta n continuare
structura documentului MathCAD ce realizeaz aproximarea setului
de date citit din fiierul date.prn, prin metoda combinaiei liniare de
funcii, de la stadiul alegerii setului de funcii (vectorul F). S-a optat
pentru 4 funcii, x, sin(x), 1/(x+1) i ex. n continuare se determin
cu ajutorul funciei linterp, coeficienii ce se vor aplica setului de
funcii. Aceti coeficieni vor fi depui n vectorul coef_F, care este i
evaluat pentru a se putea citi coeficienii rezultai.
n fine se definete funcia (de x) f_comb, care rezult ca produs
ntre vectorii coef_F i F(x). Va rezulta expresia funciei care se va
folosi pentru aproximare :

f _ comb( x) = 0.684 x + 0.909 sin( x ) + 9.16

1
+ 3.587 10 4 e x
x +1

n figura 16-12 se poate vedea cum ar arta un document MathCAD


care determin combinaia liniar de funcii ce aproximeaz un set
de date.

Fig. 16-12 Determinarea coeficienilor funciilor


262

Interpolarea i extrapolarea datelor. Metode de regresie


Pentru funcia f_comb(x) obinut s-a trasat graficul, suprapus peste
valorile neprelucrate Yi(Xi).

Fig. 16-13 Reprezentarea funciei de aproximare


Se recomand reprezentarea pe acelai grafic a funciilor f_comb(x),
r_p_regress(x) i r_p_loess(x), pentru a putea compara metodele. Se
mai recomand alegerea i a altor seturi de funcii F(x).
16.4.5 Aproximarea datelor prin utilizarea unor
arbitrare

funcii

Spre deosebire de aproximarea prin utilizarea combinaiilor liniare de


funcii, care pornea de la un set de funcii complet determinate i
263

Capitolul 16
urmrea gsirea unor coeficieni care nmuleau aceste funcii n
vederea aproximrii cu eroare minim a unui set de date, metoda
funciilor arbitrare, realizeaz aproximarea pornind de la o (una
singur) funcie care ns conine n expresia sa de definire un
numr de parametri. Esena metodei este chiar gsirea acelor valori
ale acestor parametri astfel nct funcia s aproximeze cu eroare
minim un set de date. Funcia care realizeaz calculul acestor
parametri se numete genfit, iar sintaxa ei este prezentat mai jos.
genfit (vx, vy, vg, F) funcia ntoarce parametrii din
definiia funciei de aproximare, care minimizeaz
eroarea de aproximare a setului de date precizat de
vectorii vx i vy, cu funcia F.
Vectorul vg are dimensiunea egal cu numrul de
parametri necunoscui din componena definiiei funciei
F i reprezint a valoare de start n procesul de
determinare a acestor parametri (guess value).
Funcia F, este tot un vector i conine definiia funciei
de aproximare, precum i derivatele acesteia n raport cu
parametrii din relaia de definiie. Deci dac definiia
funciei de aproximare conine n parametri, vg va avea
dimensiunea n, iar F va avea dimensiunea n+1.
Exemplu:
S se aproximeze setul de date de la exemplul precedent, folosind
metoda funciei arbitrare.
Se va prezenta structura documentului MathCAD fr s se reia
citirea datelor din fiierul date.prn sau extragerea vectorilor X i Y.
Pentru funcia arbitrar s-a ales expresia :

f ( x) = e a0 x + a1 x

+ a2 (1+ x ) 0.8

Documentul MathCAD arta ca n figura 16-14.

264

Interpolarea i extrapolarea datelor. Metode de regresie

Fig. 16-14 Metoda funciei arbitrare


n cea de a doua parte a documentului MathCAD (vezi fig 16-15), s-a
realizat reprezentarea grafic, att a datelor neprelucrate (Yi/Xi), ct
i a funciei f(x), care aproximeaz setul de date.
Trebuie menionat c rezultatul depinde de valorile de start pentru
coeficienii ai i pentru anumite valori, diferenele ntre soluii pot fi
chiar notabile. Din acest motiv se recomand s se realizeze
determinarea lui f(x) pentru cteva valori ale lui vg i s se rein
soluia care aproximeaz cel mai bine setul de date.
Se recomand de asemenea reluarea exemplului de mai sus pentru
alt form a funciei f(x), eventual chiar cu mai muli parametri.
Rezultatele se vor reprezenta pe acelai grafic pentru o mai bun
comparare.

265

Capitolul 16

Fig. 16-15 Reprezentarea datelor i a funciei arbitrare

266

17

Prelucrarea
Analiza Fourier

semnalelor

Obiective

Familiarizarea cititorului cu facilitile


oferite de MathCAD pentru calcului
transformatei Fourier discrete sau a
integralei Fourier

267

Capitolul 17
Exist situaii cnd este util analiza semnalelor att n domeniul
timpului ct i n cel al frecvenei. Analiza circuitelor electronice,
prelucrarea i interpretarea rezultatelor unor msurri (de vibraii de
exemplu), impun realizarea trecerii semnalelor din domeniul timpului
n cel al frecvenei. Dei pare o complicaie n plus, aceast
transformare permite evidenierea unor caracteristici ale unor
fenomene fizice, foarte greu sau chiar imposibil de decelat printr-o
analiz n domeniul timpului (fenomenele de rezonan de exemplu).
n MathCAD trecerea din domeniul timpului n cel al frecvenei se
poate realiza fie cu ajutorul calculului simbolic (se realizeaz calculul
integralei Fourier) dac se cunoate expresia analitic a semnalului
n domeniul timpului, fie prin utilizarea funciilor specializate pentru
realizarea transformrii Fourier discrete, pentru cazul n care
semnalul n domeniul timpului este cunoscut sub forma unui set finit
de perechi de valori (timp, semnal).
n esen, imaginea obinut printr-o transformare Fourier, dezvluie
coninutul de frecvene al unui semnal pentru care se cunoate
imaginea n domeniul timpului.
17.1

Calculul integralei Fourier

Pentru calculul integralei Fourier se folosete calculul simbolic


(cmpul Symbolic Transform Fourier).
Exemplu:
S se determine integrala Fourier pentru semnalul a crui
reprezentare n domeniul timpului este dat n figura 17-1.

Fig. 17-1 Semnal n domeniul timpului


268

Prelucrarea semnalelor - Analiza Fourier


Pentru acest semnal, se poate gsi o expresie analitic de forma:

f (t ) = (t ) (t d ) ,

unde

(t) este funcia treapt data de relaia:

0, pentru x < 0
(t ) =
1, in rest
n cazul exemplului considerat, d=2 i reprezint poriunea de pe
abscis pentru care f(t)=1.
Pentru aceast funcie se poate realiza calculul integralei Fourier aa
cum se poate vedea n figura 17-2. Se va remarca selectarea
variabilei x ca variabil de lucru. Rezultatul integralei Fourier este n
variabil i este o funcie complex.

Fig. 17-2 Integrala Fourier


n expresia din partea dreapt apare funcia Dirac. Avnd n vedere
proprietile acesteia ( Dirac( x) = 0 daca x 0 ), se poate ajunge
la o expresie mai simpl i anume:

f ( ) :=

e id

Reprezentarea grafic a acestui rezultat este prezentat n figura


17-3. S-a realizat reprezentarea grafic a modulului transformatei
(care este o funcie complex). n plus este de remarcat simetria pe
care o afieaz transformata n raport cu originea. n general
intereseaz numai tronsonul pe abscise pozitive.
n multe situaii, este de interes s se realizeze i reprezentarea
prii imaginare i a celei reale a transformatei, sau chiar s se
reprezinte partea imaginar funcie de cea real [a transformatei].
269

Capitolul 17
Analiza imaginilor de tipul figurii 17-3, pun n eviden coninutul de
frecvene al semnalului analizat. n cazul concret al exemplului,
semnalul este bogat n frecvene n domeniul 0-4 Hz.
Se recomand reluarea calculului transformatei pentru diferite valori
ale parametrului d, pentru a se pune n eviden influena duratei
semnalului asupra coninutului de frecvene al imaginii obinut prin
calculul integralei Fourier.

Fig. 17-3 - Integrala Fourier


Calculul inversei transformatei Fourier se face extrem de simplu, prin
utilizarea cmpului Symbolic Transform Inverse Fourier,
dup selectarea variabilei ca variabil de lucru. Rezultatul obinut
este prezentat mai jos n figura 17-4:

Fig. 17-4 Transformata Fourier invers


270

Prelucrarea semnalelor - Analiza Fourier


Dei aparent rezultatul nu seamn cu funcia f(t), aa cum a fost ea
definit mai sus, o simplificare simbolic (ce va ine cont de
proprietile funciei (x)), va produce exact rezultatul
f (t ) = (t ) (t d ) .
17.2

Calculul Transformrii Fourier Discrete

Sunt destul de rare cazurile n care se cunoate expresia analitic a


semnalului n domeniul timpului. De obicei semnalul este cunoscut
ntr-un numr [finit] de perechi de puncte de forma (xi, yi), (de
exemplu ca rezultat al unor msurri). Din punct de vedere practic
cele n perechi de puncte sunt reinute n doi vectori, cu numr egal
de elemente, pentru care se impune condiia ca elementele
vectorului x s fie n ordine cresctoare.
n asemenea situaii se recomand utilizarea transformrii Fourier
discrete, respectiv a funciilor MathCAD ifft(v), ifft(u), cfft(A),
icfft(B), sau IFFT(v), IFFT(u), CFFT(A), ICFFT(B).
Transformata Fourier discret pornete de la ipoteza c semnalul
iniial, fie el f(t), este eantionat la intervale uniform spaiate t. n
acest caz, semnalul iniial va fi:

hn = h(nt ) , n=,-3, -2, -1, 0, 1, 2, 3, .


Acestuia i se va aplica transformata Fourier discret.
Banda de frecvene acoperit de transformata Fourier va fi [-fc, fc]
unde cu fc s-a notat i este aa numita frecven Nyquist, dat de
relaia:

fc =

1
2 t

Altfel spus, dac semnalul are o durat finit n timp i eantionarea


s-a fcut la intervale de 0.01 secunde, transformata Fourier va
acoperi domeniul [-50, 50] Hz. Pentru a acoperi un domeniu mai
ntins, trebuie ca eantionarea s fie mai fin, deci semnalul s fie
nregistrat la intervale de timp mai mici.
271

Capitolul 17
Dac semnalul analizat nu are o durat limitat n timp, se spune c
nu este limitat nici n frecvene (nu este bandwidth limited), astfel
c dac se realizeaz eantionarea la intervale de timp t,
componentele n frecvenele din afara domeniului [-fc, fc], sunt
translatate n mod fals n intervalul [fc fc].
Fenomenul poart numele de aliasing i produce asupra
transformatei Fourier efectul prezentat n figura 17-5.
Transformata
Fourier

Transformata Fourier
afectat de aliasing

Fig. 17-5 - Fenomenul de aliasing


Odat aceste observaii fcute, se va trece la o succint prezentare a
funciilor MathCAD ce realizeaz transformata Fourier discret.

fft(v)

ntoarce transformata Fourier a vectorului v. Vectorul v


trebuie s aib 2m elemente reale, astfel c transformata
va avea 1+2m-1 elemente.
Elementul de ordin j este dat de relaia:

cj =

272

i(
1
vk e
n k

2 j
)k
n

Prelucrarea semnalelor - Analiza Fourier

FFT(v)

ntoarce transformata Fourier a vectorului v. Vectorul


sau matricea trebuie s aib 2m elemente reale.
Elementul de ordin j este dat de relaia:

cj =

cfft(A)

i (
1
vk e
n k

2 j
)k
n

ntoarce transformata Fourier a unui vector sau a unei


matrice. Dac argumentul A este vector, el trebuie s
aib 2m elemente reale sau complexe, astfel c
transformata va avea 1+2m-1 elemente. Transformata
are acelai numr de linii i coloane ca i matricea
iniial.
Elementul de ordin j este dat de relaia:

cj =

i(
1
vk e
n k

2 j
)k
n

ntoarce transformata Fourier a unui vector sau a unei


matrice. Dac argumentul A este vector, el trebuie s
aib 2m elemente reale sau complexe, astfel c
transformata va avea 1+2m-1 elemente. Transformata
CFFT(A) are acelai numr de linii i coloane ca i matricea
iniial.
Elementul de ordin j este dat de relaia:

cj =

i (
1
vk e
n k

2 j
)k
n

Pentru toate aceste transformri directe, exist i transformrile


inverse, dup cum urmeaz:
fft(v)
cfft(A)
FFT(v)
CFFT(A)

ifft(u)
icfft(B)
IFFT(u)
ICFFT(B)
273

Capitolul 17
n legtur cu funciile amintite, trebuie reinute urmtoarele:
Att fft ct i cfft ntorc vectori ale cror elemente sunt complexe.
Pentru a determina spectrul de frecvene acoperit de transformare
este necesar cunoaterea urmtoarelor elemente :
- Frecvena de eantionare a semnalului original fs=1/t
- Numrul de eantioane considerate, N
n aceste condiii, frecvena asociat cu elementul j al transformatei
este:

ck =

j
fs
N

Pentru a evita fenomenul de aliasing, trebuie ca frecvena de


eantionare s fie mai mic dect frecvena Nyquist, deci:

fs < fc =

1
2 t

Funciile fft i FFT, produc spectre de frecven simetrice n raport


cu originea, astfel c nu este necesar dect calculul primei jumti a
spectrului. Aceasta este explicaia faptului c vectorul ntors de fft
are jumtate din numrul de elemente al vectorului original. Funcia
invers ifft, reconstruiete semnalul innd cont i de jumtatea de
spectru simetric.
Avnd n vedere c funciile fft i cfft (ca i FFT sau CFFT) ntorc
vectori compleci, se poate calcula i informaia de faz prin
utilizarea operatorului de vectorizare (CTRL + -)
Exemplu:
S se obin spectrul de frecvene coninut de un semnal pentru care
se cunoate dependena de timp. Datele de lucru sunt reinute n
dou fiiere, situate n directorul curent de lucru MathCAD, cu
numele timp.dat, respectiv semnal.dat. datele din cele dou fiiere
sunt prezentate mai jos (separarea s-a fcut aici cu semnul /, dar
evident n fiierul *.dat, fiecare valoare se gsete pe un rnd):
274

Prelucrarea semnalelor - Analiza Fourier


Fiierul t_2m_ext.dat :
0/2.176/4.118/6.412/8.353/10/12.47/14.706/16.765/18.824/20.882/
22.647/24.706/26.882/28.941/31/33/35.294/36/40/41.27827/43.337
27/45.39626/47.4552/49.51426/51.57325/53.63225/55.69125/58.75
024/59.80924/63.86824/64.92724/65.98623/68.04523/70.10423/72.
16322/74.22222/76.28122
Fiierul f_2m_ext.dat :
0/.018/.092/1.443/.832/1.09/.8/1.243/.714/1.253/.832/1.062/.956/1
.075/.79/1.085/.924/1.022/1.0/1.0/1.022/.924/1.085/.79/1.275/.656
/1.362/.732/1.253/.714/1.543/.8/1.4/.832/1.243/.092/.018/0
Structura fiierului MathCAD care rezolv problema este detaliat
(cu comentarii intercalate) n figura 17-6:
Se va utiliza pentru transformarea Fourier direct funcia fft, care
are nevoie ca argumente de vectori cu 2m elemente (m>2), iar
vectorii x i y au numai 38 de elemente. Va fi necesar o ndesire a
elementelor celor doi vectori i acest lucru se va realiza prin
interpolarea liniar a lui x i y.

275

Capitolul 17

Fig. 17-6 Semnalul iniial


276

Prelucrarea semnalelor - Analiza Fourier


n continuare trebuie s se aplice celor 1024 de perechi de puncte
funcia potrivit de calcul a transformatei Fourier. S-a ales funcia
fft.
Aa cum se specific i n documentul MathCAD prezentat n figura
17-7, dei funcia fft ntoarce un numr de 1024/2=512 puncte, s-a
realizat reprezentarea grafic numai pentru primele 64 ntruct
semnalul este srac n frecvene peste limita corespunztoare celor
64 puncte.
n ultimul grafic (vezi figura 17-8) s-a realizat reprezentarea grafic
(numai pentru primele 40 de puncte) a informaiei de faz.
Se propune ca exerciiu i trasarea graficelor pentru Re(z), Im(z)
i eventual Im(z) funcie de Re(z).

Fig. 17-7 Transformata Fourier discret

277

Capitolul 17

Fig. 17-8 Informaia de faz

278

18
proprii

Probleme de valori i vectori

Obiective

Prezentarea
facilitilor
oferite
de
MathCAD pentru rezolvarea problemelor
de valori i vectori proprii (simpl i
generalizat)

279

Capitolul 18
18.1

Baza teoretic

Dac A este o matrice ptrat cu dimensiunea n x n, se spune c ea


are un vector propriu x, corespunztor valorii proprii z, dac:

A x = z x
Evident orice multiplu al vectorului propriu x va fi considerat vector
propriu la rndul su (vectorul 0 nu este considerat vector propriu,
dei evident satisface relaia (1)).
Relaia de mai sus, este valabil doar dac:

det A z I = 0
unde cu I s-a notat matricea unitate de dimensiune n x n. Relaia (2)
se numete ecuaie caracteristic.
Ultima relaie, care definete o ecuaie polinomial de grad n, va
furniza dup rezolvare cele n valori proprii, care pot fi reale sau
complexe, distincte sau cu un anumit grad de multiplicitate.
Rdcinile multiple definesc valori proprii numite degenerate.
Relaia (1) se mai poate scrie i sub forma:

a12
a1n x1
...
a11 z

a
a
z
a

...
22
2n x2
21
= 0
...
...

an2
... a nn z x n
a n1
n legtur cu valorile proprii ale unei matrice `A, se pot enuna
urmtoarele propoziii:
valorile proprii ale matricelor Hermitice sunt reale. Prin
matrice Hermitic se nelege o matrice egal cu complex
conjugata transpusei sale;
valorile proprii ale unei matrice simetrice reale sunt reale.
280

Probleme de valori i vectori proprii


Valorile proprii, odat determinate, sunt reinute fie sub forma unui
vector, fie a unei matrici diagonale (evident valorile proprii sunt
situate pe diagonal), numit i matrice spectral. Vectorii proprii pot
fi i ei reunii ntr-o matrice, fiecare vector ocupnd o coloan. O
astfel de matrice se mai numete matrice modal.
Aa cum s-a spus mai sus, dac x este vector propriu al unei
matrice, atunci i x va fi vector propriu. Multiplicatorului i se pot
atribui valori astfel nct vectorii proprii s aib anumite proprieti,
cum ar fi:
suma ptratelor modulelor componentelor vectorului este
egal cu unitatea;
suma modulelor componentelor vectorului este egal cu
unitatea;
componenta vectorului cu cea mai mare valoare este egal
cu unitatea;
componentele vectorului sunt ortogonalizate. Se spune c
doi vectori proprii sunt ortogonali n raport cu o matrice,
dac este satisfcut o relaie de tipul:

1, daca i = j , unde
0, daca i j

i xiT M j x j =

xi i xj sunt vectorii proprii considerai.


n afar de relaia (1), problemele de valori i vectori proprii se mai
pot prezenta i sub forma unei relaii de tipul:

x A = z x
Dac n primul caz - relaia (1) - se obineau vectorii proprii la
dreapta, n cazul relaiei (5) se obin vectorii proprii la stnga.

Prelucrarea relaiilor (1) i (5), permite enunarea urmtoarelor


propoziii:
vectorii proprii la stnga sunt transpuii vectorilor proprii la
dreapta ai matricei transpuse;
valorile proprii la stnga i la dreapta sunt egale.

281

Capitolul 18
18.2

Valori i vectori proprii generalizai

Problema generalizat de vectori proprii este descris de relaia


urmtoare:

A x = z B x
Dac matricea B nu este singular, relaia (6) se mai poate scrie:

( B 1 A) x = z x
18.3

Valori i vectori proprii neliniari

O generalizare a problemelor de valori i vectori proprii este cazul


descris de ecuaia:

( A 2 + B + C ) x = 0
MathCAD poate rezolva primele dou tipuri de probleme de valori i
vectori proprii (nu tie s rezolve direct problemele de valori i
vectori proprii neliniari). Pentru cazul vectorilor proprii neliniari se
recomand liniarizarea problemei.
Funciile MathCAD specializate pentru rezolvarea acestui tip de
probleme sunt:

282

Probleme de valori i vectori proprii


eigenvals(M)
eigenvecs(M)

eigenvec(M,z)

genvals(M,N)
genvecs(M,N)

ntoarce sub forma unui vector, valorile proprii


asociate matricei M;
ntoarce o matrice coninnd vectorii proprii
normalizai corespunztori valorilor proprii ale
matricei M. Vectorii proprii sunt dispui pe
coloanele matricei M;
ntoarce vectorul propriu al matricei M asociat
valorii proprii z. Vectorul propriu este normalizat
astfel nct lungimea sa (radical din suma
ptratelor valorilor elementelor) s fie unitatea;
ntoarce un vector ce conine valorile proprii
corespunztoare problemei generalizate de valori
i vectori proprii;
ntoarce o matrice coninnd vectorii proprii
normalizai corespunztori valorilor proprii ale
matricei M pentru problema de valori i vectori
proprii generalizat.

Exemplu:
S se citeasc dintr-un fiier de date dou matrice astfel: n fiier
este reinut un tablou cu 5 linii i 10 coloane. Primele 5 coloane vor
defini prima matrice fie ea notat cu M iar ultimele 5 coloane vor
defini cea de a doua matrice fie ea notat cu N. Dup separarea
celor dou matrice, se vor calcula valorile i vectorii proprii ai
matricei M, pentru problema de valori i vectori proprii clasic, iar n
a doua etap, se vor calcula valorile i vectorii proprii asociai
problemei generalizate de valori i vectori proprii pentru matricele M
i N.
Fiierul de date va avea urmtorul coninut:
6
2
4
-2
3

12
-7
18
21
24

8
10
2
-4
16

4
5
6
7
8

0
1
0
-1
0

4
5
6
7
8

8
10
12
14
16

12
15
1
21
24

16
6
24
8
6

2
-5
-3
5
0

283

Capitolul 18
Un astfel de fiier se poate obine cu ajutorul unui editor ASCII cum
ar fi Notepad.
Structura fiierului MathCAD care rezolv problemele enunate mai
sus este redat n continuare n figura 18-1. n exemplu numele
fiierului structurat din care se face citirea este v_p.prn, dar este
evident c se poate folosi i un alt nume. Ceea ce este important
este ca fiierul s se gseasc n directorul de lucru al MathCAD.
Se atrage atenia asupra necesitii de a se seta variabila MathCAD
ORIGIN pe valoarea 1.
Se mai atrage atenia asupra modalitilor de notare a indicilor,
deoarece n documentul MathCAD prezentat se folosesc i notaiile
cu indice de ordonare (operatorul [), dar i cele cu indice de
identificare (operatorul .).

Fig. 18-1 Rezolvarea problemei de valori proprii de forma Mx=zx


Pentru stabilirea vectorilor proprii, se va urmri figura 18-2. Se
utilizeaz aceeai matrice M extras din matricea MM (citit dintr-un
fiier de date).
284

Probleme de valori i vectori proprii

Fig. 18-2 Determinarea vectorilor proprii pentru problema de tip


Mx=zx
Se atrage atenia c figurile 18-1 i 18-2 surprind zone ale unui
singur fiier MathCAD. Aceasta explic de exemplu prezena notaiei
z1 n figura 18-2 (este vorba despre primul element al vectorului z
determinat pe parcursul figurii 18-1).
n ceea ce privete rezolvarea problemei generalizate, documentul
MathCAD va avea structura prezentat n figura 18-3.

285

Capitolul 18

Fig. 18-3 Problema de valori i vectori proprii generalizat


Se poate verifica faptul c MathCAD determin vectori proprii ce
satisfac condiia de normalitate. Pentru detalii se va urmri figura
18-4.

Fig. 18-4 Verificarea normalitii vectorilor proprii

286

Bibliografie
1. Borse G. J., Numerical methods with Matlab : a resource for
scientists and engineers, PWS Publishing Company, Boston, 1997
2. Broch J. T., Mechanical vibration & shock measurement, Bruel
& Kjaer 1980
3. Carnahan B., Luther H., Wilkes O., Applied numerical methods,
John Wiley, New York, 1969
4. Constantinescu I., Golumbovici, D., Militaru, C., Prelucrarea

datelor experimentale cu calculatoare numerice, Editura Tehnic


Bucureti, 1980
5. Conte S. D., Elementary numerical analysis, McGraw Hill, New
York, 1965
6. Ewins D. J., Modal testing : Theory and practice, John Wiley &
Sons, 1984
7. Ghinea M., Fireeanu S., Matlab, Calcul numeric-Grafic.

Aplicaii, Editura Teora Bucureti, 1995


8. Ionescu D. V., Ecuaii difereniale i integrale, Editura Didactic
i Pedagogic, Bucureti, 1972
9. Ingham P., CAD systems in mechanical and production

engineering, Heinemann Newns, London, 1989


10. McMahon Ch., Browne J., CAD-CAM-From principles to practice,
Addison Wesley 1993
11. Nicolescu L. J., Stoka M. I., Matematici pentru ingineri, Editura
Tehnic, Bucureti, 1969
12. Pascariu I., Elemente Finite, Concepte-Aplicaii, Editura Militar,
Bucureti, 1985
13. Press W., Teukolsky S., Vetterling W., Flannery B., Numerical

recipes in C -The art of scientific computing, Cambridge


University Press, Cambridge, 1992
287

Capitolul 18
14. Rumiski I. Z., Prelucrarea matematic a datelor experimentale,
Editura Tehnic Bucureti, 1974
15. Rus I. A., Micula Ghe., Pavel P., Ionescu B., Probleme de ecuaii

difereniale i cu derivate pariale, Editura Didactic i


Pedagogic, Bucureti, 1982
16. Sandi H., Metode matriciale n mecanica structurilor, Editura
Tehnic, Bucureti, 1975
17. Trandafir R., Probleme de matematici pentru ingineri, Editura
Tehnic, Bucureti, 1977
18. **** Documentaie MathCAD

288

S-ar putea să vă placă și