P. 1
mathcad

mathcad

|Views: 2,666|Likes:
Published by Marius Micu

More info:

Published by: Marius Micu on Apr 16, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/12/2013

pdf

text

original

1

CUPRINS
1 Produsul MathCAD; Prezentare generală___ 9
1.1 Noutăţi aduse de Mathcad 2001__________________________________10
1.1 Cerinţe hard şi soft pentru instalare ______________________________11
1.2 Fişiere MathCAD _____________________________________________12
1.3 Mediul de lucru MathCAD; Ecranul MathCAD, ferestre, documente __12
1.4 Structura unui document MathCAD; Noţiunea de regiune ___________13
1.5 Tehnici de lucru ______________________________________________14
2 Lansarea comenzilor în MathCAD________ 17
2.1 Bare de unelte (toolbars). _______________________________________18
2.2 Agende electronice (electronic books)_____________________________19
3 Documente MathCAD __________________ 23
3.1 Crearea de regiuni de tip expresie, text sau grafic___________________24
3.2 Constante, variabile, operatori, funcţii ____________________________27
3.2.1 Operatori _______________________________________________________28
3.2.2 Constante_______________________________________________________28
3.2.3 Utilizarea de baze de numeraţie, altele decât cea zecimală ________________28
3.2.4 Variabile _______________________________________________________29
3.2.4.1 Variabile de tip scalar ___________________________________________30
3.2.4.2 Variabile de tip şir (variabile indexate) ______________________________30
3.2.4.3 Variabile de tip şir de caractere____________________________________32
3.2.4.4 Variabile globale _______________________________________________33
3.2.5 Funcţii _________________________________________________________33
3.3 Controlul regiunilor într-un document MathCAD__________________34
2
3.4 Editarea şi formatarea regiunilor de tip expresie şi de tip text într-un
document MathCAD________________________________________________ 37
3.4.1 Editarea de expresii_______________________________________________37
3.4.2 Inserarea şi ştergerea de paranteze; Aplicarea unei funcţii _________________38
3.5 Fonturi în expresii matematice. Etichete (tag-uri) __________________ 39
3.5.1 Aplicarea şi crearea de etichete _____________________________________42
3.6 Editarea şi formatarea regiunilor de tip text. Stiluri ________________ 42
3.6.1 Stiluri _________________________________________________________43
3.6.2 Controlul dimensiunilor unei regiuni de tip text _________________________44
3.7 Formatarea rezultatelor într-un document MathCAD______________ 46
3.8 Evaluare documentelor MathCAD_______________________________ 52
3.8.1 Dezactivarea unei ecuaţii __________________________________________53
3.8.2 Optimizarea evaluărilor ___________________________________________54
3.9 Definirea de hyperlink-uri______________________________________ 55
4 Calcul matriceal numeric ________________ 57
4.1 Crearea unui vector sau a unei matrice ___________________________ 58
4.1.1 Variabile de tip vector sau matrice __________________________________60
4.1.2 Referirea elementelor vectorilor sau matricelor _________________________60
4.1.3 Originea indicilor ________________________________________________62
4.1.4 Limitări asupra dimensiunilor matricelor ______________________________63
4.2 Operatori pentru calcul matriceal _______________________________ 64
4.3 Funcţii pentru calcul matricial __________________________________ 66
4.3.1 Descompunerea L U______________________________________________73
4.3.2 Descompunerea Cholesky__________________________________________74
4.3.3 Descompunerea QR ______________________________________________74
4.3.4 Descompunerea SVD (Singular value Decomposition) ___________________74
4.3.5 Exemple de utilizarea a funcţiilor de căutare în tablouri __________________77
4.3.6 Vectorizări şi atribuiri simultane_____________________________________80

4.3.7 Crearea de matrice structurate_______________________________________81
4.3.7.1 Funcţia CreateMesh_____________________________________________81
4.3.7.2 Funcţia CreateSpace ____________________________________________85
5 Reprezentări grafice ____________________ 87
5.1 Grafice 2D ___________________________________________________88
5.1.1 Grafice de tip X-Y________________________________________________88
5.1.2 Formatarea graficelor de tip X-Y ____________________________________90
5.1.3 Grafice în coordonate polare________________________________________93
5.1.4 Formatarea graficelor în coordonate polare ____________________________94
5.1.5 Controlul vizualizării graficelor 2D __________________________________94
5.1.5.1 Facilitatea de tip Trace (urmărire a valorilor de pe grafic) _______________94
5.1.5.2 Facilitatea de tip Zoom (controlul factorului de mărire) _________________97
5.2 Grafice 3D ___________________________________________________99
5.2.1 Grafice de tip suprafaţă ____________________________________________99
5.2.2 Grafice de tip curbe de nivel (Contour Plot) ___________________________104
5.2.3 Grafice de tip puncte distribuite în spaţiu (3D Scatter Plots) ______________105
5.2.4 Grafice de tip 3D Bar ____________________________________________107
5.2.5 Formatarea graficelor 3D _________________________________________109
5.3 Grafice de tip Vector Plot______________________________________115
5.3.1 Formatarea graficelor de tip Vector _________________________________116
6 Rezolvarea numerică a ecuaţiilor şi a sistemelor
de ecuaţii ______________________________ 117
6.1 Rezolvarea ecuaţiilor algebrice _________________________________118
6.2 Rezolvarea ecuaţiilor transcendente _____________________________118
6.3 Rezolvarea sistemelor algebrice liniare __________________________120
6.4 Rezolvarea sistemelor neliniare_________________________________121
4
6.5 Rezolvarea aproximativă a sistemelor neliniare ___________________ 124
7 Derivare şi integrare numerică. Calcul de sume
şi produse ______________________________ 125
7.1 Derivarea numerică __________________________________________ 125
7.2 Integrarea numerică _________________________________________ 127
7.3 Calcul de sume şi produse _____________________________________ 128
8 Utilizarea unităţilor de măsură în documentele
Mathcad________________________________ 131
8.1 Mod de lucru _______________________________________________ 132
8.2 Definirea de unităţi de măsură _________________________________ 133
8.3 Modificarea unităţilor de măsură în care este exprimat un rezultat __ 134
8.4 Alegerea sistemului de unităţi de măsură utilizat şi controlul formatului
de afişare a rezultatelor cu unităţi de măsură __________________________ 136
8.5 Utilizarea UM în calculul integral sau diferenţial__________________ 139
9 Schimb de informaţie între Mathcad şi alte
aplicaţii. ________________________________ 141
9.1 Inserarea unei componente Excel _______________________________ 142
9.2 Inserarea unei componente MATLAB___________________________ 147
9.3 Inserarea unei componente de tip bază de date ___________________ 151
9.4 Inserarea unei componente de tip Input Table ____________________ 159
9.5 Inserarea unei componente de tip control MathSoft _______________ 160

9.6 Inserarea unei componente de tip citire (Read), scriere (Write) din/în
fişiere 163
9.7 Funcţii predefinite pentru citirea/scrierea din/în fişiere de date ASCII 166
10 Programare în Mathcad________________ 169
10.1 Prezentare generală_________________________________________170
10.2 Instrucţiunea de test (if) _____________________________________173
10.2.1 Definirea de funcţii pe intervale. ____________________________________174
10.3 Instrucţiuni de ciclare _______________________________________175
10.3.1 Instrucţiunea for ________________________________________________175
10.3.1.1 Calculul sumei primelor n numere naturale _______________________175
10.3.1.2 Calculul lui n! ______________________________________________175
10.3.1.3 Buclă FOR cu incrementare neîntreagă___________________________175
10.3.1.4 Instrucţiunea while __________________________________________176
10.3.1.5 Calculul lui n! ______________________________________________177
10.3.1.6 “Găsirea” primului element al unui vector mai mare decât o anumită valoare
177
10.4 Controlul execuţiei programelor ______________________________178
10.4.1 Secvenţa break _________________________________________________178
10.4.2 Secvenţa continue _______________________________________________178
10.4.3 Secvenţa return _________________________________________________180
10.4.4 Secvenţa on error________________________________________________180
10.5 Subrutine (program în program)______________________________182
10.6 Recursivitate ______________________________________________183
11 Calcul simbolic _______________________ 185
11.1 Prezentare generală_________________________________________186
11.2 Modalităţi de evaluare simbolică______________________________188
11.2.1 Evaluarea cu ajutorul operatorului de evaluare simbolică_________________188
6
11.2.2 Evaluarea cu ajutorul operatorului de evaluare simbolică şi a cuvintelor cheie 189
11.2.3 Modificatori de cuvinte cheie ______________________________________198
11.2.4 Utilizarea succesivă sau simultană a mai multor cuvinte cheie ____________198
11.2.4.1 Utilizarea succesivă a mai multor cuvinte cheie ____________________199
11.2.4.2 Utilizarea simultană a mai multor cuvinte cheie____________________199
11.2.5 Evaluarea cu ajutorul meniului Symbolics ____________________________200
11.2.6 Controlul formatului rezultatelor simbolice ___________________________205
12 Animaţie în MathCAD _________________ 207
12.1 Crearea şi rularea unei animaţii ______________________________ 208
12.2 Salvarea unei animaţii ______________________________________ 211
12.3 Rularea unei aplicaţii salvate anterior _________________________ 212
13 Operatori personalizaţi _________________ 215
13.1 Introducere _______________________________________________ 216
13.2 Definirea şi utilizarea operatorilor personalizaţi ________________ 217
14 Fişiere şablon (template) ________________ 219
14.1 Introducere _______________________________________________ 220
14.2 Crearea unui [fişier] şablon__________________________________ 222
14.3 Modificarea unui şablon ____________________________________ 224
15 Formatarea de pagină şi tipărirea în Mathcad
225
15.1 Formatarea de pagină ______________________________________ 226
15.2 Tipărirea _________________________________________________ 228

16 Interpolarea şi extrapolarea datelor. Metode de
regresie. _______________________________ 231
16.1 Interpolarea datelor în 2 dimensiuni ___________________________232
16.1.1 Funcţia linterp __________________________________________________233
16.1.2 Funcţia interp __________________________________________________234
16.1.3 Funcţiile scpline, pspline şi lspline __________________________________234
16.2 Interpolarea datelor în 3 dimensiuni ___________________________236
16.3 Extrapolarea datelor________________________________________240
16.4 Regresie liniară şi neliniară __________________________________242
16.4.1 Regresia liniară _________________________________________________242
16.4.2 Regresia polinomială (neliniară) ____________________________________243
16.4.3 Regresie polinomială 3D (neliniară) _________________________________248
16.4.4 Aproximarea datelor prin utilizarea unor combinaţii liniare de funcţii _______249
16.4.5 Aproximarea datelor prin utilizarea unor funcţii arbitrare ________________251
17 Prelucrarea semnalelor - Analiza Fourier _ 255
17.1 Calculul integralei Fourier ___________________________________256
17.2 Calculul Transformării Fourier Discrete _______________________259
18 Probleme de valori şi vectori proprii _____ 267
18.1 Baza teoretică _____________________________________________268
18.2 Valori şi vectori proprii generalizaţi ___________________________269
18.3 Valori şi vectori proprii neliniari ______________________________270
Bibliografie_____________________________ 275

8


9
1 Produsul MathCAD; Prezentare
generală

Obiective


• Familiarizarea cititorului cu facilităţile oferite de Mathcad
• Introducerea unor noţiuni primare despre fişierele şi structura
documentelor Mathcad
• Prezentarea mediului de lucru Mathcad şi a unor tehnici de
lucru


1 Produsul MathCAD; Prezentare generală___ 9
1.1 Introducere ..................................................................................................10
1.2 Noutăţi aduse de Mathcad 2001.................................................................10
1.1 Cerinţe hard şi soft pentru instalare .........................................................11
1.3 Fişiere MathCAD........................................................................................12
1.4 Mediul de lucru MathCAD; Ecranul MathCAD, ferestre, documente..12
1.5 Structura unui document MathCAD; Noţiunea de regiune....................13
1.6 Tehnici de lucru...........................................................................................14

Număr de pagini 7
Capitolul 1
10

MathCAD este un produs soft destinat rezolvării problemelor ce implică efectuarea de
calcule matematice, de la simple formule până la rezolvarea de ecuaţii, sisteme de
ecuaţii, ecuaţii diferenţiale, calcul integral, calcul matricial, atât la nivel numeric cât şi
la nivel simbolic. Mathcad permite trasarea de grafice (2D şi 3D), prelucrarea de
imagini, interacţiunea cu fişiere de date, precum şi cu alte aplicaţii răspândite (Excel,
Axum, Smartsketch).
Produsul este destinat studenţilor, specialiştilor din industrie şi cercetare, cadrelor
didactice din învăţământul mediu şi superior.
Marea forţă a MathCAD este interfaţa de lucru (desktop-ul MathCAD), deosebit de
prietenoasă şi care utilizează tehnica WYSIWYG (What You See Is What You Get),
astfel încât atât aspectul documentelor MathCAD, dar mai ales modul de completare
(generare) sunt identice cu cele care s-ar obţine/utiliza în cazul folosirii hârtiei şi
creionului (de subliniat că documentele MathCAD pot conţine şi secţiuni de comentarii,
deci de text, ceea ce le va face mult mai uşor de înţeles). Mai mult decât atât,
documentele MathCAD pot fi evaluate integral în mod automat ori de câte ori se
produce o modificare în structura lor, astfel că întotdeauna rezultatele afişate vor
reflecta starea curentă (instantanee) a documentului.

Versiunea 2001 a produsului pune la dispoziţia utilizatorului o serie de noi facilităţi,
succint descrise în paragrafele următoare:
• Accesare de componente SGBD. Este posibilă conectarea la baze de date.
Componenta de accesare [a bazelor de date] permite efectuarea de operaţii de
interogare a oricărei baze de date compatibile SQL.
• Achiziţie de date. Este posibilă atât achiziţia cât şi trimiterea de date în timp
real de la/către dispozitive acceptate de Mathcad.
1.1 Introducere
1.2 Noutăţi aduse de Mathcad 2001
Produsul MathCAD; Prezentare generală
11
• Facilităţi de generare de elemente (casete de dialog) de control. Mathcad 2001
permite crearea de butoane sau casete de text cu ajutorul cărora se poate
îmbunătăţii interactivitatea documentelor de lucru.
• Modulul de dezvoltare (SDK). Permite crearea rapidă de componente Mathcad,
inclusiv documentaţie sau exemple la nivel de cod.
• Compatibilitate fişiere wav. Mathcad citeşte, scrie şi poate extrage informaţie
pentru fişiere în format „pulse cod modulated (PCM) Microsoft Wav”, cu
ajutorul noilor funcţii wav.
• Facilităţi WEB. Mathcad oferă posibilitatea salvării documentelor în format
HTML, cu elemente MathML (Mathematical Markup Language) incluse şi implicit
citirea lor cu oricare din browser-ele curente.
• Crearea de documentaţii electronice (Electronic Books). Astfel de documente
pot conţine legături de tip hyperlink şi regiuni de tip index. Este disponibil şi un
mecanism de detectare a erorilor documentaţiilor electronice (HBK debugging).
• Import de fişiere 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
procesării acesteia (facilităţi de zoom, decupare, control strălucire, contrast,
culoare, orientare).
• Noi funcţii. Au fost introduse, pe lângă numeroasele funcţii Mathcad cunoscute
de la versiunile mai vechi, funcţii pentru transformarea de coordonate, sau
funcţii pentru căutarea de valori în tablouri de mari dimensiuni.

Structura minimă necesară instalării şi utilizării versiunii Mathcad 2001 este
următoarea:
• Pentium 133MHz sau compatibil;
• CD-ROM drive;
• Windows 95 sau superior, Windows NT 4.0 sau superior;
• Cel puţin 32 MB RAM (64 MB este o valoare recomandată);
1.3 Cerinţe hard şi soft pentru instalare
Capitolul 1
12
• Pentru utilizarea comodă a Help-ului, este recomandată instalarea Internet
Explorer 4.0, Service Pack 2, sau mai nou.

Deşi MathCAD va genera la instalare un mare număr de fişiere de tipuri (şi deci cu
extensii) foarte diverse, utilizatorul obişnuit, trebuie să reţină în această fază că
executabilul principal este mcad.exe, fişierul help principal este mcad.hlp, dar mai ales
că extensia implicită a fişierelor de lucru MathCAD este *.mcd. Fişierele şablon
(template), despre care se va vorbi într-unul din capitolele viitoare, au extensia *.mct.
De interes sunt şi fişierele readme.mcd, sau readme.txt, care conţin informaţii de ultimă
oră despre MathCAD (ulterioare editării manualelor de utilizare). Ambele conţin acelaşi
lucru, doar că readme.mcd poate fi “citit” ca document MathCAD. Este recomandabil ca
după instalare, să se creeze cel puţin un director de lucru, care să conţină fişierele
*.mcd generate de utilizator. Aceasta deoarece nu este bine ca fişierele create de
utilizator să se “amestece” cu cele ce fac parte din pachetul iniţial de fişiere MathCAD.

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 asemănătoare ca aspect şi funcţionalitate cu cele ce apar la
multe aplicaţii Windows. Există şi o zonă de stare (în partea inferioară a ferestrei
MathCAD), cursoare vertical şi orizontal, precum şi butoanele pentru controlul stării
ferestrei (în partea din dreapta sus).
MathCAD creează documente, sau foi de calcul, similare, aşa cum s-a mai spus, ca
aspect şi mod de completare cu foile de hârtie pe care 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
1.4 Fişiere MathCAD
1.5 Mediul de lucru MathCAD; Ecranul MathCAD, ferestre,
documente
Produsul MathCAD; Prezentare generală
13
ale sistemului, ceea ce, în cazul unor documente de mari dimensiuni poate duce la
reducerea vitezei de lucru în mod inutil.
Fiecare document MathCAD fiinţează tot într-o fereastră (ce poate fi controlată ca orice
fereastră în mediul Windows), cu observaţia că ferestrele în care se găsesc
documentele MathCAD nu pot să se găsească decât în spaţiul de lucru al ferestrei
aplicaţiei 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




1.6 Structura unui document MathCAD; Noţiunea de regiune
Capitolul 1
14

Pe spaţiul 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 asemănător cu cel folosit la controlul dimensiunilor unei ferestre în mediul
Windows (deci prin aducerea pointerului de mouse fie în colţul din dreapta jos al
regiunii selectate, fie pe laturile verticală dreapta sau orizontală jos). Selectarea unei
regiuni (care va avea ca efect apariţia dreptunghiului desenat cu linie întreruptă în jurul
regiunii) se face prin plasarea pointerului de mouse în vecinătatea obiectului şi
deplasarea lui înspre obiect cu butonul din stânga apăsat. 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 până când acesta se transformă în +. Din acest moment, cu butonul din stânga
apasat se va “trage” regiunea (sau regiunile) până la noua poziţie. Într-un document
MathCAD, se pot folosi două cursoare. Unul se va utiliza pentru inserarea de obiecte de
tip expresie sau grafic, iar celălalt pentru inserarea obiectelor de tip text. Cele două
cursoare sunt un semn plus de culoare roşie, respectiv o bară vericală de culoare roşie.
Deplasarea cursorului +, se face fie prin utilizarea grupului de săgeţi ↑, ↓, ←, → , fie
prin utilizarea mouse-ului (la un simplu clic în poziţia curentă a pointerului de mouse
(care este identic cu cel implicit al mediului Windows) – deci săgeata pe direcţia SE-NV
- se va insera cursorul +.



Aşa după cum s-a menţionat, MathCAD foloseşte tehnica WYSIWYG, ceea ce presupune
ca una din consecinţe, inserarea în document a unor simboluri care nu se regăsesc pe
1.7 Tehnici de lucru
Produsul MathCAD; Prezentare generală
15
tastatură (semnul pentru radical, integrală, sumă, produs etc). Inserarea lor se poate
face fie prin utilizarea unor combinaţii de taste (short-cuts), fie prin utilizarea grupului
de butoane corespunzător ales dintre cele aparţinând paletei de butoane Math:



În ceea ce priveşte combinaţiile de taste care pot fi folosite pentru inserarea
simbolurilor nedisponibile la tastatură, se recomandă consultarea secţiunii Help ⇒
Operators.
Este posibilă şi inserare în documentele MathCAD a caracterelor greceşti (fie utilizarea
grupului de butoane , fie mai simplu, prin tastarea literei corespunzătoare din
alfabetul latin, urmată de combinaţia de taste CTRL + G).
O altă particularitate a modului de operare a MathCAD, este utilizarea poziţiilor de
scriere premarcate, aşa numitele place-holdere. Astfel în cazul în care se doreşte
inserarea într-un document a unei expresii de forma

3
1
2
) sin( dx x , se va insera la
poziţia curentă a cursorului (prin utilizarea paletei de butoane ) operatorul
integrală definită, care în prima fază va arăta ca mai jos :



Cele patru dreptunghiuri de culoare neagră, se numesc în MathCAD place-holdere.
Rolul lor este de indica utilizatorului unde (şi deci câte) să fie elementele expresiei ce
trebuie completate. Până când toate aceste poziţii de scriere premarcate nu sunt
completate, expresia nu poate fi utilizată. Trecerea de la un place-holder la altul se face
fie prin utilizarea grupului de săgeţi ↑, ↓, ←, →, sau a tastei TAB, sau încă, prin
utilizarea mouse-ului.
Place-holder
Capitolul 1
16
Orice tip de regiune dintr-un document Mathcad, poate suporta operaţiile de copiere
(Copy, Paste), mutare (Cut, Paste), sau ştergere (Delete). Pentru aceste operaţii,
se va utiliza meniul Edit, combinaţii de taste (regăsite 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).

17
2 Lansarea comenzilor în MathCAD

Obiective


• Prezentarea structurii de meniuri Mathcad
• Prezentarea barelor de unelte Mathcad
• Prezentarea agendelor electronice standard


2 Lansarea comenzilor în MathCAD________ 17
2.1 Meniuri MathCAD; Prezentare generală.................................................18
2.2 Bare de unelte (toolbars). ...........................................................................18
2.3 Agende electronice (electronic books) .......................................................19

Număr de pagini 2
Capitolul 2
18


Aşa după cum s-a menţionat deja, aplicaţia MathCAD dispune de propriul sistem de
meniuri pull-down. Utilizarea lor nu prezintă nici un fel de particularităţi care să le
diferenţieze de orice meniu pull-down. Chiar în timpul lucrului în MathCAD, se pot
obţine informaţii despre funcţiile fiecărui câmp al fiecărui meniu, prin apăsarea
simultană a tastelor SHIFT+F1. Pointerul MathCAD se va transforma prin ataşarea
unui semn de întrebare. Orice clic pe un câmp al unui meniu pull-down, va avea ca
efect nu lansarea unei comenzi, ci deschiderea unei ferestre de tip “help” care va
conţine informaţii succinte despre efectul activării câmpului respectiv. Apăsarea tastei
ESC, va determina transformarea pointerului modificat în cel obişnuit.

În cazul butoanelor, simpla “zăbovire” a pointerului de mouse deasupra unui buton va
determina apariţia unei mini ferestre în care sunt date explicaţii (la nivel de unu două
cuvinte) despre funcţia butonului în cauză. În afară de cele două bare de unelte cu
structură cel puţin parţial asemănătoare cu cea a barelor de unelte compatibile
Microsoft (în figura 2.1 barele de pe rândurile 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

“Apăsarea” unuia dintre butoanele barei de unelte Math, va avea ca efect apariţia
propriu-zisă a paletei [cu butoanele] aferente. Cele nouă palete de butoane au
următoarele funcţii :
2.1 Meniuri MathCAD; Prezentare generală
2.2 Bare de unelte (toolbars).
Lansarea comenzilor în MathCAD
19
• Paleta aritmetică. Ea conţine butoane pentru inserarea în documente a
cifrelor precum şi a operatorilor de calcule matematice (*, +, -, radical etc);
• Paleta operatorilor booleeni. Conţine operatori de tipul <, >, diferit,
egal, evaluare, atribuire etc;
• Paleta pentru reprezentări grafice. Conţine butoanele pentru inserarea
în documente a diferitelor tipuri de grafice;
• Paleta de calcul matriceal. Conţine 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 greceşti. Conţine butoane pentru inserarea în
documente a caracterelor alfabetului grecesc;
• Paleta operatorilor de evaluare. Conţine butoanele ce inserează în
documente operatorii de evaluarea numerică şi simbolică;
• Paleta ce conţine cuvintele cheie pentru evaluările simbolice.
Poziţia oricărei palete pe spaţiul de lucru MathCAD se poate modifica prin utilizarea
“tehnologiei” drag and drop.

Agendele electronice MathCAD sunt colecţii de formule şi relaţii matematice şi
inginereşti, constante fizice, proprietăţi de material, precum şi alte informaţii utile.
În principiu o agendă electronică (handbook) este o colecţie de documente Mathcad
integrate într-un fişier cu extensie *.hbk.
2.3 Agende electronice (electronic books)
Capitolul 2
20
Deschiderea unei agende se poate face cu ajutorul câmpului Help ⇒ Open Book….
Unul din subdirectoarele create la instalarea Mathcad-ului se numeşte chiar HANDBOOK
şi conţine o agendă numită solve.hbk.
Câmpul Help ⇒ Handbooks ⇒ Solving and Optimization Extension Pack
determină şi el deschiderea unei agende electronice (de această dată chiar cea
anunţată prin titlu).
O agendă odată deschisă, oferă utilizatorului posibilitatea de a „naviga” cu ajutorul unei
bare de instrumente specializată, ale cărei butoane au funcţii uşor de bănuit (sau de
aflat prin menţinerea pointerului de mouse „deasupra” fiecăruia din ele).
Un alt exemplu de agendă electronică, este chiar aşa 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

De un interes aparte este componenta QuickSheets and Reference Tables, care
este de fapt o colecţie de documente Mathcad exemplu, deosebit de interesante şi care
trebuie cercetate cu atenţie chiar de utilizatorul cu oarecare experienţă.
Lansarea comenzilor în MathCAD
21
De subliniat că una din facilităţile de mare utilitate ale agendelor electronice, sau a
documentelor conţinute în secţiunea QuickSheets and Reference Tables, este
posibilitatea de a realiza transfer de informaţii 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 câmpurile Help ⇒ Developer’s Reference şi respectiv Help ⇒
Author’s Reference.
În principiu, ambele sunt destinate utilizatorilor avansaţi de Mathcad. Primul furnizează
indicaţii pentru generarea de biblioteci dinamice (*.dll) cu ajutorul cărora se pot defini
noi funcţii Mathcad. Această operaţie necesită cunoştinţe de programare în C++, Java,
sau Visual Basic.


23
3 Documente MathCAD

Obiective


• Însuşirea tehnicilor de creare a diferitelor tipuri de regiuni
• Prezentarea metodelor de control, formatare şi editare a
regiunilor
• Prezentarea metodelor de evaluare a documentelor
Mathcad

3 Documente MathCAD __________________ 23
3.1 Crearea de regiuni de tip expresie, text sau grafic...................................24
3.2 Constante, variabile, operatori, funcţii .....................................................27
3.3 Controlul regiunilor într-un document MathCAD.................................34
3.4 Editarea şi formatarea regiunilor de tip expresie şi de tip text într-un
document MathCAD ................................................................................................37
3.5 Fonturi în expresii matematice. Etichete (tag-uri)...................................39
3.6 Editarea şi formatarea regiunilor de tip text. Stiluri...............................42
3.7 Formatarea rezultatelor într-un document MathCAD..........................46
3.8 Evaluare documentelor MathCAD............................................................52
3.9 Definirea de hyperlink-uri .........................................................................55

Număr de pagini 28
Capitolul 3
24

Aşa după cum s-a arătat deja în § 1.5, într-un document MathCAD pot exista trei tipuri
de regiuni : expresii, comentarii (regiuni de tip text) sau grafice.
Se reaminteşte că la cursorul + se inserează fie expresii, fie grafice, iar la cursorul | ,
regiuni de tip text. La versiunea 2001, se poate insera text şi fără precizarea explicită a
acestui lucru. Pur şi simplu se scrie, iar la tastarea primul [caracter de tip] spaţiu,
Mathcad „înţelege” că este vorba de text şi nu de numele unei variabile sau unei funcţii.
Se impune totuşi prudenţă, penru că scrierea unui singur cuvânt poate produce
confuzii, căci Mathcad va interpreta acel cuvânt ca pe numele unei variabile sau funcţii.
Acest lucru este de evitat, pentru că în Mathcad, numele unei variabile trebuie să apară
într-o expresie (cum se va vedea mai târziu), sau trebuie urmat de operatorul de
atribuire (:=, ≡), sau de evaluare (=, =).
Pentru crearea în mod explicit a unei regiuni de tip text, se va utiliza câmpul Insert
⇒Text Region (cu prescurtarea ”).
În cazul regiunilor de tip grafic, se va utiliza pentru inserare unul din cămpurile
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 funcţii pentru care se
obţine şi reprezentarea grafică. Documentul va conţine şi comentarii sub forma a două
regiuni de tip text.
Etapele în crearea documentului sunt :

1. Din meniul File se punctează pe câmpul New (sau se foloseşte direct
shortcut-ul CTRL + N, sau încă, se foloseşte butonul )
2. La poziţia curentă a cursorului MathCAD se tastează următoarea secvenţă:



x : 0 ; 20 a : 3
3.1 Crearea de regiuni de tip expresie, text sau grafic
Documente MathCAD
25
f(x) : (x^3-a)/(x^2+1)


Pe documentul MathCAD va apare scris :

Acest “comportament” este consecinţa modului de lucru WYSIWYG, pe care
MathCAD-ul îl foloseşte. În exemplul de mai sus, apăsarea lui “:” a produs operatorul
de atribuire MathCAD (acelaşi cu cel folosit de Pascal de exemplu), apăsarea lui “;” a
produs inserarea simbolului ce indică intervalul de variaţie a unei variabile (aici x ia
valori întregi între 0 şi 20), iar apăsarea lui / a produs o linie de fracţie în adevăratul
înţeles al cuvântului.
Din punct de vedere logic cele două rânduri 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, căreia i se atribuie valoare 3 şi respectiv o funcţie pentru care variabila x
definită mai sus este chiar argument (variabila a intervine ca parametru în expresia
funcţiei).
Ordinea în care regiunile de tip expresie incluse în document sunt poziţionate este
extrem de importantă. Se va reţine ca o regulă de bază, că MathCAD “citeşte”
documentele de la stânga la dreapta şi de sus în jos, astfel că orice variabilă ce
intervine într-o expresie trebuie definită înaintea (deci la stânga sau deasupra)
expresiei propriu-zise, după cum orice funcţie folosită pentru trasarea unui grafic se va
defini la stânga sau deasupra graficului.
Pentru a continua exemplificarea, se va insera în document şi graficul în coordonate xy
al funcţiei definite. Pentru aceasta se va poziţiona cursorul la dreapta şi sub definiţia
funcţiei şi se va activa câmpul Insert ⇒ Graph ⇒ X-Y Plot. La poziţia curentă a
cursorului va apare o regiune de tip grafic la care se vor completa numai marcatorii de
la jumătăţile axelor ox şi oy, ca în figura 3.1.a. Un simplu clic în interiorul graficului, sau


Spaţiile lăsate au doar rolul de a face expresia mai lizibilă şi nu sunt permise într-un
document MathCAD
Capitolul 3
26
apăsarea tastei F9 va produce desenarea [graficului], aşa cum se poate vedea în figura
3.1.b.

Acest “comportament” este consecinţa modului de lucru WYSIWYG, pe care
MathCAD-ul îl foloseşte. În exemplul de mai sus, apăsarea lui “:” a produs operatorul
de atribuire MathCAD (acelaşi cu cel folosit de Pascal de exemplu), apăsarea lui “;” a
produs inserarea simbolului ce indică intervalul de variaţie a unei variabile (aici x ia
valori întregi între 0 şi 20), iar apăsarea lui / a produs o linie de fracţie în adevăratul
înţeles al cuvântului.
Din punct de vedere logic cele două rânduri 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, căreia i se atribuie valoare 3 şi respectiv o funcţie pentru care variabila x
definită mai sus este chiar argument (variabila a intervine ca parametru în expresia
funcţiei).
Ordinea în care regiunile de tip expresie incluse în document sunt poziţionate este
extrem de importantă. Se va reţine ca o regulă de bază, că MathCAD “citeşte”
documentele de la stânga la dreapta şi de sus în jos, astfel că orice variabilă ce
intervine într-o expresie trebuie definită înaintea (deci la stânga sau deasupra)
expresiei propriu-zise, după cum orice funcţie folosită pentru trasarea unui grafic se va
defini la stânga sau deasupra graficului.
Pentru a continua exemplificarea, se va insera în document şi graficul în coordonate xy
al funcţiei definite. Pentru aceasta se va poziţiona cursorul la dreapta şi sub definiţia
funcţiei şi se va activa câmpul Insert ⇒ Graph ⇒ X-Y Plot. La poziţia curentă a
cursorului va apare o regiune de tip grafic la care se vor completa numai marcatorii de
la jumătăţile axelor ox şi oy, ca în figura 3.1.a. Un simplu clic în interiorul graficului, sau
apăsarea tastei F9 va produce desenarea [graficului], aşa cum se poate vedea în figura
3.1.b.
Documente MathCAD
27


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

Pentru a-l face mai uşor de înţeles, se vor insera în document şi două regiuni de tip
text. Una deasupra graficului şi una la sfârşitul documentului. Pentru aceasta se va
utiliza câmpurl Insert ⇒ Text Region.
În final micul document MathCAD, va arăta ca în figura 3.2.


Fig. 3-2 - Documentul MathCAD rezultat

3.2 Constante, variabile, operatori, funcţii
Capitolul 3
28

Orice expresie MathCAD, este formată din operanzi şi operatori. Operanzii sunt nume
de variabile, de funcţii, valori numerice sau constante predefinite. Pentru operatori, se
poate porni de la simplii operatori aritmetici (+, -, /, *) şi se poate ajunge la operatori
specializaţi pentru calcul matriceal de exemplu.
Operatorii cei mai folosiţi sunt cei aritmetici : +, -, *, ^ (ridicarea la putere), /, la care
se adaugă o gamă largă de operatori scalari sau vectoriali specifici diferitelor tipuri de
operaţii matematice.
Î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 număr de 4 constante sistem, despre care se
va face vorbire într-un paragraf următor. Constantele ∞ şi %, au respectiv valorile
10
307
şi 0.01.
În Mathcad este posibil lucrul în bazele de numeraţie, 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 numeraţie
3.2.1 Operatori
3.2.2 Constante
3.2.3 Utilizarea de baze de numeraţie, altele decât cea zecimală
Documente MathCAD
29

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 iniţial (pentru a se evita
confuzia cu o variabilă de tip şir de caractere).
În MathCAD numele unei variabile (regulă valabilă şi pentru numele de funcţii), poate
conţine oricare din următoarele 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 acelaşi tip, în sensul că
trebuie să aparţină aceluiaşi font, să aibă aceeaşi dimensiune şi acelaşi stil (bold, italic,
underlined etc). Deci nu pot fi folosite caractere latine şi greceşti în acelaşi nume de
variabilă. MathCAD face diferenţa între majuscule şi minuscule, astfel că variabila
“timp” este diferită de variabila “TIMP”.
În figura 3.4 sunt prezentate câteva exemple de variabile MathCAD.

Fig. 3-4 - Variabile MathCAD

Se atrage atenţia că în cazul variabilei a
min
, indicele “min” este pur descriptiv şi nu
indică în nici un fel poziţia variabilei într-un şir de valori. În MathCAD este posibil să se
scrie a[1 (se va vedea a
1
) 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
3.2.4 Variabile
Capitolul 3
30
tot a
1
), unde indicele “1” este pur descriptiv, în sensul că putea fi înlocuit cu indicele
“unu”. Primul tip de indice (asupra căruia se va reveni) se obţine cu secvenţa “a[1”, iar
al doilea cu secvenţa “a.1”. Se atrage încă odată atenţia asupra modului cum se
realizează atribuirea de valori variabilelor. Este vorba de operatorul de atribuire “:=”,
care se obţine cel mai uşor prin apăsarea 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 raţia 1. În cazul de mai sus este vorba tot de o progresie
aritmetică, de această dată cu raţia diferită de 1. Semnificaţiile notaţiei sunt:
• Prima cifră indică prima valoare pe care o va lua variabila
• A doua valoare defineşte împreună cu prima raţia 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ă poziţia într-un şir şi
trebuie înţeles exact ca un indice ataşat unui vector.
Variabilele de tip şir mai pot fi definite şi ca în exemplul de mai jos :
i:1,5
Documente MathCAD
31
y[i:12,23,12,34,22
cea 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 oricărei variabile, se tastează numele variabilei urmat de
operatorul “=” (evident fără ghilimele) şi de apăsarea tastei ENTER (CR). În cazul
variabilelor scalare sau de tip şir, se vor obţine rezultate ca în figura 3.5. În cazul
variabilei “x”, se pot face evaluări în două moduri. Dacă se scrie “x=”, se obţine şirul de
valori sub forma unui vector, iar dacă se scrie “x[i=”, se obţine un format de afişare
asemănător cu cel de la variabilele de tip scalar. De menţionat că în cazul unor variabile
cu număr mare de valori, MathCAD nu afişează decât prime 50 [de valori] din şir.
Capitolul 3
32

Fig. 3-5 - Evaluări 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 făcându-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

Se atrage atenţia că valoarea variabilei nume, conţine şi un spaţiu, necesar separării
prenumelui de nume în cazul şirului „sumă”.
Documente MathCAD
33
Asupra funcţiilor specifice lucrului cu şiruri de caractere se va reveni într-unul din
capitolele următoare.
3.2.4.4 Variabile globale
În § 3.1 s-a enunţat regula de bază utilizată de MathCAD pentru “citirea” documentelor.
Există totuşi o excepţie de la ea. Astfel, se pot defini aşa numitele variabile globale,
care pot fi folosite şi în expresii situate deasupra sau la stânga definiţiei [de variabilă].
Aceste variabile sunt “citite” de MathCAD la începutul parcurgerii unui document (de
fapt MathCAD “parcurge” un document de două ori, prima dată “citeşte” atribuirile
globale, iar la a doua citire ia în considerare atribuirile obişnuite), deci cu eludarea
regulii enunţată § 3.1. Pentru definirea unei variabile globale se va folosi [pentru
atribuire] operatorul “≡”, care se obţine prin apăsarea tastei “~”. Dacă într-un
document se găsesc mai multe variabile globale, “citirea” acestora se face tot după
regula enunţată. Nu se recomandă excesul de atribuiri globale în documente MathCAD.
Cum se defineşte o funcţie s-a văzut în exemplele precedente. Se va mai preciza doar
că regulile enunţate pentru numele variabilelor îşi menţin valabilitatea şi în cazul
numelor de funcţii. Pot fi definite şi funcţii de mai multe variabile. În definirea
funcţiilor, se foloseşte tot operatorul de atribuire (: =). Ca şi variabilele, funcţiile 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 funcţiei (se va scrie “f(x)=”), sau se poate realiza pentru o anume
valoare a argumentului (se va scrie “f(1.5)=”).

3.2.5 Funcţii
Capitolul 3
34













Asupra regiunilor dintr-un document MathCAD pot fi executate mai multe tipuri de
acţiuni. Acestea sunt :
• Selecţia 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;
• Evidenţierea regiunilor dintr-un document;
• Inserarea/ştergerea de linii goale între două regiuni;
• Blocarea regiunilor într-un document MathCAD.
Pentru realizarea acestor acţiuni, se va folosi meniul Edit. În paragrafele următoare vor
fi prezentate comenzile necesare executării acţiunilor enunţate mai sus. În ceea ce
priveşte selecţia unei regiuni sau a unui grup de regiuni, trebuie precizat că ea
trebuie să preceadă întotdeauna celelalte acţiuni ce se pot exercita asupra regiunilor
într-un document MathCAD. Pentru selecţie se va folosi tehnica drag and drop, specifică

Fig. 3-7 - Evaluări de funcţii
3.3 Controlul regiunilor într-un document MathCAD
Documente MathCAD
35
de altfel şi altor aplicaţii Windows. Semnul că o regiune sau un grup de regiuni au fost
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 câmpurilor Cut sau Clear din meniul Edit, fie prin utilizarea “butonului”
de pe bara de unelte, fie prin utilizarea tastei DEL. Aceste variante NU sunt complet
echivalente. Astfel, câmpul Cut, butonul şi tasta DEL, sunt echivalente şi după
ştergerea regiunii (sau regiunilor) din documentul MathCAD, plasează informaţia în
Clipboard, astfel încât ea poate fi restaurată, fie prin utilizarea cămpului Paste din
meniul Edit (restaurarea se va face la poziţia curentă a cursorului), fie prin utilizarea
câmpului Undo Last Edit, sau a butonului .


Fig. 3-8 - Regiuni selectate

Capitolul 3
36
În acest din urmă caz, restaurarea se va face exact pe vechea poziţie a regiunii (sau
regiunilor). În cazul însă al câmpului Clear din acelaşi meniu Edit, informaţia ştearsă
nu mai este depusă în Clipboard, astfel că ştergerea este definitivă.
Copierea sau mutarea unei regiuni (sau grup de regiuni) se realizează prin
secvenţe Copy ⇒ Paste, respectiv Cut ⇒ Paste, ca în orice aplicaţie compatibilă
Windows, aşa că nu vor mai fi furnizate detalii suplimentare asupra acestor acţiuni. În
cazul deplasărilor unei regiuni (sau grup de regiuni), mai este posibilă utilizarea
tehnicii drag and drop, aşa cum s-a precizat deja în § 1.6.
Redimensionarea unei regiuni presupune ca după faza de selecţie (absolut
obligatorie), deci după ce regiunea (una singură) este încadrată de un dreptunghi
desenat cu linie întreruptă, să se poziţioneze pointerul fie pe colţul din dreapta jos al
dreptunghiului de încadrare, fie pe latura verticală dreapta sau orizontală jos, astfel că
pointerul se va transforma fie într-o săgeată dublă înclinată, fie într-o săgeată dublă
verticală respectiv orizontală, aşa cum se poate vedea în figura 3.9. Din acest moment,
cu butonul din stânga al mouse-ului apăsat, se “trage” până la obţinerea noii
dimensiuni a regiunii. Trebuie precizat că nu orice regiune poate suporta
redimensionări. Regiunile de tip expresie nu pot fi redimensionate, dar regiunile de tip
grafic pot.


Fig. 3-9 – Redimensionare a unei zone de tip grafic

Cât priveşte alinierea regiunilor, aceasta se poate realiza pe orizontală sau pe
verticală. Pentru acest scop se pot folosi fie câmpul Align Regions din meniul
Documente MathCAD
37
Format, fie butoanele . Alinierea pe orizontală va produce alinierea regiunilor
selectate, după o linie imaginară aflată la mijlocul distanţei 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 distanţei dintre extremitatea din stânga a regiunii celei mai din stânga
ş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 situaţii este posibilă separarea regiunilor care se suprapun (total sau
doar parţial). Pentru aceasta se va utiliza câmpul Separate Regions din meniul
Format. De menţionat că în acest caz nu este necesară selecţia de regiuni înaintea
separării.
Trebuie subliniat că separarea regiunilor realizată aşa (deci automat), poate produce
efecte nedorite în sensul că poate strica ordinea logică a regiunilor astfel ca regiuni care
înainte de suprapunere se găseau înaintea altora, pot ajunge acum după acestea din
urmă. Separări de regiuni se pot face şi manual prin deplasarea regiunilor folosind
tehnica drag and drop.
Câmpul View ⇒ Regions, evidenţiază toate regiunile dintr-un document MathCAD.
Efectul va fi colorarea diferenţiată a regiunilor şi respectiv a zonelor libere din
document. În acest fel se poate stabili apartenenţa fiecărui obiect dintr-un document la
o anumită regiune. Selecţia tuturor regiunilor din document se poate realiza cu ajutorul
câmpului Edit ⇒ Select All.

Construirea unei expresii MathCAD se realizează natural prin tastarea cifrelor, literelor şi
operatorilor expresiei, în ordinea în care s-ar face acelaşi lucru pe o foaie de hârtie. S-a
precizat deja în § 1.7, că datorită tehnicii WYSIWYG, nu întotdeauna ceea ce se
tastează va apare şi în document.
3.4 Editarea şi formatarea regiunilor de tip expresie şi de tip
text într-un document MathCAD
3.4.1 Editarea de expresii
Capitolul 3
38
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 funcţie de tipul regiunii selectate, în interiorul acesteia va apare fie un cursor
vertical de culoare roşie (la regiunile de tip text), fie un cursor de forma __| sau |__,
sau încă _|_, aşa 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 săgeţilor ← ↑ →
↓, 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 apăsarea tastei
SPACE.
Ştergerile se fac cu ajutorul tastelor BkSp sau Delete, sau prin selecţie a unei porţiuni
din expresie sau text urmată de comanda Cut (executată din meniul pull-down, din
bara de instrumente sau din meniul de tip pop-up)
Inserarea unei perechi de paranteze (este preferabilă inserării separate a celor două),
se face astfel:
• Se încadrează zona de închis între paranteze într-un cursor de tip |___ - vezi
figura 3.12;
• Se tastează caracterul ‚ (virgula).
3.4.2 Inserarea şi ştergerea de paranteze; Aplicarea unei funcţii
Documente MathCAD
39

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 funcţii se face prin parcurgerea etapelor următoare:
• Se încadrează între paranteze zona de expresie căreia i se va aplica funcţia
(care va deveni deci argument pentru funcţie). 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 poziţiona la stânga parantezei „(„ (vezi
figura 3.13);
• Se scrie numele funcţiei.

a. b.
Fig. 3-13 – Aplicarea unei funcţii

3.5 Fonturi în expresii matematice. Etichete (tag-uri)
Capitolul 3
40
Ori de câte 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 câte 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 aceeaşi etichetă, indiferent unde ar fi poziţionate in 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ă câmpul Format ⇒ Equation. Pe ecran va apare fereastra
Equation Format, prezentată în figura 3.14. Se apasă pe butonul Modify şi se
deschide o fereastră de control al atributelor de formatare la nivel de font (din care
rezultă care este fontul ataşat zonei respective din expresie).


Fig. 3-14 – Tag-uri ataşate variabilelor sau constantelor

Implicit toate numele de variabile au asignat tag-ul Variables şi toate constantele pe
cel numit Constants.
În afara celor două etichete (tag-uri) despre care s-a făcut deja vorbire, utilizatorul mai
are la dispoziţie î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
Documente MathCAD
41
zonelor care au ataşate etichetele Variables sau Constants, pot să mai apară zone
(de fapt tot nume de variabile sau constante) cărora li se aplică alte etichete.
Numele User1…User7 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 conţine trei tipuri de zone cărora li s-au ataşat 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.






Într-adevăr, în expresie apar două variabile cu acelaşi nume “b”, numai că ele nu sunt
scrise cu acelaşi tip de font, astfel că MathCAD le va trata ca pe două variabile complet
distincte. Aceasta deoarece numele de variabile sau de funcţii sunt, nu numai, ceea ce
în limba engleză se numeşte “case sensitive” – adică dependente de scrierea cu
variables
constants
variabila_2
Capitolul 3
42
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 funcţii, MathCAD verifică în primul rând eticheta asociată variabilei
sau numelui de funcţie şi abia apoi “citeşte” efectiv numele variabilei.
Pentru definirea de noi etichete, se va proceda astfel :
• Se activează câmpul Format ⇒ Equation;
• În caseta de editare de sub numele ferestrei, se punctează pe câmpul User1;
• Textul User1 va apare în caseta de editare New Style Name. Acest text se
înlocuieşte 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 ataşarea unui tag deja creat unei zone dintr-un document MathCAD se va
proceda astfel :
• Se selectează expresia căreia i se va aplica noua etichetă;
• Se poziţionează cursorul “|__” pe numele de variabilă căreia 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 câmpul Equation şi din fereastra ce se va
deschide se va selecta numele etichetei pe care dorim să o ataşăm zonei de
expresie selectată.



Î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 câmpul Format ⇒ Text.
Cu ajutorul ferestrei Text Format, se vor putea modifica toate caracteristicile de
formatare la nivel de font, ca într-un editor de text obişnuit.
3.5.1 Aplicarea şi crearea de etichete
3.6 Editarea şi formatarea regiunilor de tip text. Stiluri
Documente MathCAD
43
Pentru formatarea la nivel de paragraf, se va utiliza câmpul Format ⇒ Paragraph. El
permite modificarea caracteristicilor de formatare la nivel de paragraf. Este vorba de
opţiunile 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

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 câmpului
Format ⇒ Style… , ceea ce va conduce la caseta de dialog prezentată în figura 3.17.




3.6.1 Stiluri
Capitolul 3
44

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 căruia i se va aplica stilul;
- Se selectează un stil din lista Styles (vezi figura 3-17);
- Se apasă butonul Apply.
Dimensiunea zonei ocupată de o regiune de tip text se poate controla „manual”, cu
ajutorul mouse-ului. Pentru aceasta se vor folosi marcatorii amplasaţi în zona din
dreapta a regiunii de tip text – vezi figura 3-18.


Fig. 3-18 – Modificarea dimensiunii zonei ocupată de o regiune de tip text

Dacă se doreşte ca textul să se extindă până la marginea din dreapta a documentului
(marcată de o linie verticală de culoare gri), se va utiliza câmpul Occupy Page
3.6.2 Controlul dimensiunilor unei regiuni de tip text
Documente MathCAD
45
Width, din caseta Properties. La ea se poate ajunge utilizând câmpul 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 când întâlneşte o altă regiune. În mod implicit, textul se va
suprapune peste regiunea pe care o întâlneşte (aşa cum se vede în figura 3-20). Dacă
se doreşte „împingerea” regiunii întâlnite spre în jos, se va bifa controlul Push
Regions Down As You Type – vezi figura 3-19.


Fig. 3-20 – Comportarea textului la întâlnirea unei alte regiuni

Secţiunea Display a casetei Properties (vezi figura 3.21), permite evidenţierea
regiunii selectate (Highlight Region), afişarea unui chenar în jurul regiunii (Show
Border), sau ataşarea unei etichete de regiunea selectată (Tag), etichetă ce va fi
Capitolul 3
46
ulterior folosită la definirea unui hyperlink (de la o altă regiune spre cea pentru care s-a
definit hyperlink-ul).


Fig. 3-21 – Secţiunea Display a casetei de dialog Properties


Formatarea rezultatelor (obţinute în urma evaluării unor expresii sau funcţii) î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 operaţiei 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ă câmpul Result…
Pe ecran va apare fereastra Result Format, prezentată în figura 3-22. Pentru
formatare locală se procedează ca în cazul celei globale, cu diferenţa că înaintea
formatării propriu-zise se punctează pe regiunea (rezultatul) de formatat.

3.7 Formatarea rezultatelor într-un document MathCAD
Documente MathCAD
47

Fig. 3-22 – Formatare rezultate

Când se face formatare locală, apare şi butonul Set as Default (inexistent în cazul
formatării globale). Apăsarea sa transformă formatarea locală într-una globală.
Semnificaţiile controalelor ferestrei Result Format sunt în marea lor majoritate foarte
uşor de intuit, astfel că nu se va insista decât asupra celor a căror înţelegere nu este
imediată.
- Secţiunea Number Format (vezi figura 3-22)
Exponential Threshold
În caseta de editare corespunzătoare se va introduce o valoarea cuprinsă între 0 şi 15.
Fie aceasta n. Rezultatele mai mici decât 10
-n
şi mai mari decât 10
n
, vor fi afişate in
notaţie ştiinţifică (exponenţială).
Show trailing Zeros
În cazul în care caseta de selecţie are în interior o bifă (un simplu clic pe casetă sau
textul din dreapta activează sau dezactivează bifa), zerourile din “coada” unui număr
care apar în conformitate cu setarea din secţiunea Number of decimal places, sunt
afişate, deşi prezenţa lor nu spune nimic în plus. Dacă bifa lipseşte, aceste zerouri
inutile nu mai sunt afişate. Astfel dacă la Number of decimal places s-a precizat 4,
un rezultat de forma 12/5, va fi afişat ca 2.4, dacă există bifă în caseta Show trailing
zeros, respectiv 2.400, dacă nu există.
Number of decimal places
Capitolul 3
48
Stabileşte cum e uşor de bănuit numărul de zecimale cu care se vor afişa rezultatele.
Evident la ultima cifră se va produce o trunchiere a rezultatului. Se poate afişa totuşi un
rezultat cu precizia maximă, se poate proceda astfel:
- Se selectează rezultatul;
- Se tastează CTRL+SHIFT+N.
- Secţiunea Display Options (vezi figura 3-23)


Fig. 3-23 – Display Options

Matrix display style
Controlează modul în care sunt afişate matricile. Stilul Table, introduce (atunci când
dimensiunea matricii este suficient de mare) două cursoare cu ajutorul cărora se poate
„defila” pe spaţiul matricii – vezi figura 3-24.a.
Stilul Matrix afişează matricile în forma clasică de scriere – vezi figura 3-24.b
Documente MathCAD
49

a.

b.
Fig. 3-24 – Afişare de matrice
Capitolul 3
50
Expand nested arrays
În Mathcad este posibilă definirea de tablouri (matrice) ale căror 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 informaţia legată de dimensiunile
sub matricelor 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

Imaginary value
Prin deschiderea listei derulabile se pot alege caracterele folosite („i” sau „j”) pentru
reprezentarea numărului complex „i”.
Radix
Permite stabilirea bazei de numeraţie în care rezultatele vor fi afişate. În cazul în care
se optează pentru baza 8 sau 16, rezultatul în zecimal neîntreg 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 decât 2
31
(sau aproximativ 2*10
9
).




Documente MathCAD
51
- Secţiunea Tolerance – vezi figura 3-26


Fig. 3-26 – Secţiunea Tolerance

Complex Tolerance
Setarea se referă la modul în care vor fi afişate numerele complexe. Valoarea introdusă
în caseta de dialog corespunzătoare trebuie să fie un întreg între 0 şi 63. Fie acest
număr n şi fie numărul complex a+bi. Dacă
n
) b , a max(
) b , a min(

< 10
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 afişează
coeficientul mai mic în valoare absolută, dacă raportul dintre valorile absolute ale
coeficientului mai mic, respectiv mai mare, este mai mic decât 10
-n
.
MathCAD lucrează în continuare cu forma corectă (deci completă) a rezultatului, ca
atare precizia rezultatelor nu va fi afectată de această setare.



Capitolul 3
52
Zero Threshold
În caseta de editare se va introduce un întreg între 0 şi 307. Fie el n. Toate rezultatele
mai mici decât 10
-n
vor fi afişate ca zero, deşi în continuare MathCAD va opera cu
valoarea exactă.
- Secţiunea Unit Display
Controlează modul în care se vor afişa rezultatele ce conţin şi unităţi de măsură. În
figura 3-27 sunt prezentate exemple ce ilustrează efectul activării sau inhibării celor
două controale Format units şi Simplify units when possible.





Fig. 3-27 – Controlul afişării rezultatelor cu unităţi de măsură


Prin evaluarea unei variabile sau funcţii se înţelege calculul valorii variabilei sau funcţiei
respective. Acest lucru se face principial în două moduri: automat şi manual.
Evaluări automate se realizează ori de câte ori se modifică ceva în expresia unei
variabile sau funcţii. Toate variabilele sau funcţiile care urmează în document sunt
evaluate, realizându-se automat reactualizarea acestora.
Evaluările manuale se realizează la cererea expresă a utilizatorului, care se exprimă prin
apăsarea tastei F9 sau prin utilizarea câmpului Calculate din meniul Math. De
subliniat că în acest caz se va realiza doar o evaluare a expresiilor vizibile pe ecran în
3.8 Evaluare documentelor MathCAD
Documente MathCAD
53
momentul respectiv. Dacă se doreşte evaluarea întregului document (deci inclusiv a
zonelor ce nu sunt vizibile pe ecran la un moment dat), se va utiliza câmpul Calculate
Worksheet din acelaşi meniu Math.
Comutarea între evaluarea automată şi cea manuală se face prin punctarea pe câmpul
Automatic Calculation din meniul Math. Prezenţa unei bife în stânga câmpului
Automatic Calculation semnalează că modul de evaluare automat este activ.
Deşi 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 stânjenitoare, deoarece de exemplu la orice defilare prin
document (deci fără să se fi făcut vreo modificare), MathCAD evaluează expresiile din
zona vizibilă, ceea ce încetineşte uneori supărător viteza de lucru. Pentru a întrerupe un
calcul - o evaluare- (în colţul din dreapta jos al ecranului MathCAD, pe linia de stare
este afişat mesajul WAIT atâta timp cât se efectuează efectiv calculul), se apasă tasta
ESC. Va apare pe ecran fereastra MathCAD din figura 3-28. “Apăsarea” butonului OK
va întrerupe evaluarea, ceea ce evident ar putea lăsa anumite calcule neterminate (sau
ne actualizate).


Fig. 3-28 – Întrerupere forţată evaluare

MathCAD evaluează automat toate expresiile care folosesc variabile asupra cărora s-au
efectuat modificări, actualizând rezultatele (evident dacă setarea Automatic
Calculation este activă). Acest lucru poate deveni stânjenitor din motive expuse în
paragraful precedent. Una din modalităţile de evitare a acestui gen de neplăceri este
dezactivarea lui Automatic Calculation. Nu este însă singurul. Cea de a doua metodă
3.8.1 Dezactivarea unei ecuaţii
Capitolul 3
54
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 următoare :
• Punctare cu mouse-ul pe ecuaţia pe care dorim să o dezactivăm
• Punctarea în meniul Format pe câmpul Properties – vezi figura 3-29.


Fig. 3-29 – Dezactivarea evaluării

MathCAD va afişa după ecuaţia dezactivată un dreptunghi de mic dimensiuni, ca în
exemplul de mai jos:

Reactivarea unei ecuaţii dezactivată anterior se va realiza prin acelaşi procedeu parcurs
în ordine inversă.
Câmpul Math ⇒ Optimization permite activarea sau dezactivarea optimizării
expresiilor. Dacă o expresie este optimizată, înainte de evaluarea numerică se verifică
(cu ajutorul procesorului simbolic) dacă se mai poate face vreo simplificare. Dacă da,
întâi se realizează simplificarea şi abia apoi se efectuează evaluarea numerică.
În figura 3-30 se prezintă un exemplu de optimizare a unei expresii.
3.8.2 Optimizarea evaluărilor
Documente MathCAD
55
Optimizarea presupune în prima fază selectarea expresiei. Va urma utilizarea câmpului
Math ⇒ Optimization. Pentru că expresia este simplificabilă, a apărut asteriscul din
partea dreaptă (vezi figura 3-30).
Efectuarea unui dublu clic pe expresie va conduce la deschiderea casetei Optimized
Result, în care apare rezultatul evaluării 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ă reducându-se numărul de evaluări (calcule) numerice, se reduce eroarea implicată
de acestea.

Presupune parcurgerea următoarelor etape:
• Selectarea unei regiuni (ţintă) şi ataşarea unei etichete (tag) de aceasta – vezi
§ 3.5
• Selectarea unei regiuni (sursă) de care se va lega hyperlink-ul. Pentru aceasta
se foloseşte câmpul Insert ⇒ Hyperlink; În caseta de dialog Edit Hyperlink
(vezi figura 3-31) se precizează numele fişierului (cu calea de căutare inclusă)
care conţine regiunea care a primit etichetă (chiar dacă aceasta se găseşte în
3.9 Definirea de hyperlink-uri
Capitolul 3
56
acelaşi document cu regiunea sursă). După numele fişierului se inserează
caracterul „#”, urmat de eticheta (tag-ul) definită.
Un simplu dublu clic pe regiunea sursă (de care s-a legat hyperlink-ul) va produce
accesarea regiunii ţintă (ceea ce poate presupune deschiderea documentului care o
conţine – dacă este altul decât cel care conţine regiunea sursă).


Fig. 3-31 – Definirea de hyperlink-uri

Evident se pot defini şi hyperlink-uri la adrese de Internet (legătura se va face la un
URL – Uniform Resource Locator).

57
4 Calcul matriceal numeric

Obiective


• Familiarizarea cititorului cu facilităţile oferite de Mathcad
• Introducerea unor noţiuni primare despre fişierele şi
structura documentelor Mathcad
• Prezentarea mediului de lucru Mathcad şi a unor tehnici de
lucru


4 Calcul matriceal numeric________________ 57
4.2 Operatori pentru calcul matriceal.............................................................64
4.3 Funcţii pentru calcul matricial ..................................................................66

Număr de pagini 26
Capitolul 4
58


MathCAD pune la dispoziţia utilizatorilor facilităţi de lucru cu vectori şi matrice. Acestea
pot fi folosite direct în expresii matematice sau prin intermediul variabilelor de tip
vector sau matrice, aşa 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 următorii paşi:
• se poziţionează cursorul în zona dorită în documentul MathCAD;
• se activează opţiunea Matrices… din meniul Insert sau se tastează Ctrl+M.
Efectul acestei acţiuni constă în deschiderea unei ferestre de dialog ca cea din
figura 4-2, în care se poate completa numărul de linii şi coloane ale matricei,
respectiv vectorului (vectorul este un caz particular de matrice cu o singură
linie sau o singură coloană);

4.1 Crearea unui vector sau a unei matrice
Calcul matriceal numeric
59




Fig. 4-2 – Inserarea unei matrice

• se completează, în casetele corespunzătoare, numărul de linii şi de coloane
dorit. Se observă că matricea este afişată la poziţia indicată şi având în poziţiile
corespunzătoare elementelor câte 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
corespunzătoare. Se mai poate folosi şi tasta Tab, sau grupul de săgeţi ← ↑ →
↓ care permit trecerea de la un placeholder la altul.
Odată definită, unei matrice sau unui vector i se pot modifica dimensiunile prin
ştergerea sau adăugarea 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 inserări sau ştergeri;
• se activează caseta de dialog de mai sus prin selecţia opţiunii Matrices… din
meniul Insert sau tastând Ctrl+M (se va observa că în acest moment sunt
active opţiunile Insert şi Delete);
• se tastează în casetele corespunzătoare numărul de linii şi coloane care se
inserează sau se şterg;
• se activează opţiunea dorită (Insert sau Delete) punctând cu mouse-ul sau
prin combinaţiile de taste Alt+I, respectiv Alt+D.
Mecanismul după care se realizează inserările sau ştergerile de elemente într-un vector
sau într-o matrice este următorul (vezi figura 4-3) :
Capitolul 4
60
• 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 câte ori este necesar şi apoi se
procedează ca la o inserare obişnuită;
• pentru a insera coloane noi la stânga primei coloane se încadrează toată
matricea, la fel ca mai sus, şi se procedează în maniera deja precizată;
• ştergerea de linii sau coloane se face începând cu linia sau coloana pe care se
află poziţionat elementul selectat.

Fig. 4-3- Inserarea unei linii sau a unei coloane într-o matrice

După cum s-a văzut în paragraful anterior, cu vectori şi matrice se poate lucra în mod
direct, în expresii matematice sau prin intermediul unor variabile de tip corespunzător.
Pentru a defini variabile de tip vector sau matrice se procedează la fel ca la atribuirea
unei singure valori numerice. Atât 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.
În afară de relaţiile de calcul matriceal există numeroase situaţii când 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ă poziţia
elementului în vector, respectiv în matrice.
4.1.1 Variabile de tip vector sau matrice
4.1.2 Referirea elementelor vectorilor sau matricelor
Calcul matriceal numeric
61
Pentru a crea o referinţă la un anumit element al unui vector se tastează numele
vectorului, caracterul [ şi valoarea indicelui corespunzător. În cazul matricelor vor fi
folosiţi doi indici cu precizarea că se va utiliza o secvenţă de taste ca în exemplul
următor: 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 câteva exemple privind referirea elementelor unui vector
şi unei matrice. Se poate observa că prin 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
lângă acest mecanism, MathCAD permite referirea unei întregi coloane a unei matrice.
Pentru aceasta se va folosi combinaţia de taste Ctrl + ^ sau simbolul corespunzător
din paleta de simboluri Vector and Matrix Toolbar.
Pentru a referi o anumită coloană a matricei M se va tasta numele matricei urmat de
combinaţia de taste precizată mai sus. Matricea va primi un indice superior situat între
caracterele < >, a cărui valoare specifică de fapt coloana care se va referi. În figura 4.5
sunt prezentate exemple de referire a coloanelor unei matrice.

Capitolul 4
62

Fig. 4-5 - Referirea întregii coloane a 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.
Va exista astfel elementul V
0
sau A
0,0
, funcţie de caz.
Deoarece acest mod de lucru nu este totdeauna cel mai indicat, valoarea variabilei
ORIGIN poate fi modificată astfel:
• se foloseşte câmpul 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, aşa cum se atribuie o
valoare oricărei variabile.
Numele variabilei ORIGIN trebuie scris cu majuscule şi pot fi definiţi şi indici negativi.

4.1.3 Originea indicilor
Calcul matriceal numeric
63

Fig. 4-6 – Modificarea originii indicilor

Când se creează o matrice sau un vector cu ajutorul câmpului 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 următoarele metode:
• citirea (vectorului sau matricei) dintr-un fişier de date;
• concatenarea vectorilor sau matricelor;
• utilizarea variabilelor cu indice (A
i,j
);
• crearea aşa numitelor „input table”.
În cazul evaluării unei matrice în sistem Matrix (vezi § 3.7), se vor reprezenta maxim
200 de rânduri şi coloane.
Există totuşi o limită a numărului de elemente pe care le poate avea o matrice sau un
vector şi acest număr 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.1.4 Limitări asupra dimensiunilor matricelor
Capitolul 4
64

Pentru folosirea vectorilor şi a matricelor, MathCAD oferă o serie de operatori specifici.
În continuare sunt prezentaţi aceşti operatori şi operaţiile pe care le efectuează:

Operaţia Aspect Tasta Descriere

Produs scalar
A z ⋅
*
Înmulţeşte fiecare element al
matricei A cu scalarul z
Produs de vectori v u ⋅ *
Întoarce un scalar egal cu


i i
v u
, unde u şi v sunt vectori
cu acelaşi număr de elemente
Produs matricial
B A⋅
*
Efectuează produsul matricelor A
şi B
Înmulţire
vector/matrice
v A⋅ *
Efectuează produsul dintre
matricea A şi vectorul v
Împărţire de tip scalar A/z /
Împarte toate elementele matricei
A la scalarul z
Adunare de vectori
(matrice)
A+B + Adună matricele A şi B
Adunare cu un scalar A+z +
Adună scalarul z la toate
elementele matricei A
Diferenţă de matrice A-B - Scade matricea B din matricea A
Diferenţă de tip scalar A-z -
Scade scalarul z din toate
elementele matricei A
Negativarea unei
matrice
-A -
Schimbă semnul tuturor
elementelor matricei A
4.2 Operatori pentru calcul matriceal
Calcul matriceal numeric
65
Operaţia Aspect Tasta Descriere
Ridicare la putere A
n
^
Ridicarea unei matrice la o putere
oarecare. Dacă aceasta este –1
atunci se realizează de fapt
inversarea matricei
Norma unui vector
|v|

| Calculează norma unui vector v
Determinant |A| |
Calculează determinantul matricei
pătrate A
Transpusa
A
T

Ctrl + ! Determină transpusa matricei A
Produs vectorial uxv Ctrl + 8
Calculează produsul vectorial al
vectorilor coloană u şi v cu câte 3
elemente
Extragere de coloană M
<n>
Ctrl+6
Extrage coloana „n” a unei
matrice
Suma termenilor unui
vector

v Ctrl + 4
Însumează elementele vectorului
v
Vectorizare

Ctrl+-
Operatorii şi funcţiile matriciale
sub acest operator se aplică
fiecărui element al matricei (vezi §
4.3.6)

În figura 4-7 sunt prezentate câteva exemple simple de aplicare a acestor operatori.
Capitolul 4
66

Fig. 4-7 - Operatori pentru calcul matricial

În afară de operatorii matematici prezentaţi în paragraful anterior, MathCAD oferă
utilizatorului o serie de funcţii care pot fi aplicate vectorilor sau matricelor. Aceste
funcţii şi rezultatul aplicării lor sunt prezentate mai jos.


Numele funcţiei

Rezultatul obţinut în urma aplicării funcţiei
Dimensiunea/dimensiunile unui tablou
rows(A) Numărul de linii al matricei A
cols(A) Numărul de coloane al matricei A
length(v) Numărul de elemente al vectorului v
last(v) Indicele ultimului element al vectorului v
identity(n) Matricea identitate de ordinul n
Extremele unui tablou
max(A,B,C,..) Elementul de valoare maximă din tablourile A, B, C,…
min(A,B,C,…)
Elementul de valoare minimă din matricea A, B, C,…
4.3 Funcţii pentru calcul matricial
Calcul matriceal numeric
67

Numele funcţiei

Rezultatul obţinut în urma aplicării funcţiei
Crearea de tablouri
matrix(m,n,f) O matrice cu dimensiunea m x n, pentru care
elementul de poziţie i,j are valoarea f(i,j), unde f este
o funcţie de două variabile.
CreateMesh(F, ….) O matrice formată din trei submatrice, x, y şi z, ce
reprezintă coordonatele unei suprafeţe parametrice
definită de o funcţie sau un set de funcţii. Pentru
clarificări privind argumentele, vezi exemplele ce vor
urma.
CreateSpace(F,….) O matrice formată din trei submatrice, x, y şi z, ce
reprezintă coordonatele unei curbe parametrice
strâmbă în spaţiu, definită de o funcţie sau un set de
funcţii. Pentru clarificări privind argumentele, vezi
exemplele ce vor urma.
Concatenarea de tablouri
stack(A,BC,…) O matrice obţinută prin alipirea matricelor A, B, C,…
una peste alta
augment(A,B,C,…) O matrice obţinută prin alipirea matricelor A, B, C, …
una după alta
Valori şi vectori proprii
eigenvals(A) Un vector format din valorile proprii ale matricei
pătrate A.
eigenvec(A,z) Vectorul propriu al matricei A, asociat valorii proprii z.
Vectorul este normalizat (suma pătratelor elementelor
este 1).
Capitolul 4
68

Numele funcţiei

Rezultatul obţinut în urma aplicării funcţiei
eigenvecs(A) O matrice conţinând pe coloane vectorii proprii ai
matricei A.
genvals(M,N) Un vector conţinând valorile proprii pentru o problema
generală de vectori şi valori proprii
genvecs(M,N) O matrice conţinând vectorii proprii pentru o problema
generală de vectori şi valori proprii
Extragerea de submatrice
submatrix(A,ir,jr,ic,jc)
O submatrice a matricei A, obţinută 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) O matrice diagonală, ale cărei elemente [de pe
diagonala principală] sunt chiar elementele vectorului
v.
geninv(A) Matricea inversă la stânga a lui A, fie ea L, astfel ca L
* A = I (matricea A trebuie să fie reală)
rref(A) Eşalonul redus al matricei sau vectorului A. Matricea
sau vectorul A trebuie să fie reale.
Caracteristici speciale ale matricelor
tr(A) Urma matricei pătratice A (suma elementelor situate
pe diagonala principală)
rank(A) Rangul matricei A
norm1(M) Norma L1 a matricei pătrate M
norm2(M) Norma L2 a matricei pătrate M
norme(M) Norma Euclidiană a matricei M
Calcul matriceal numeric
69

Numele funcţiei

Rezultatul obţinut în urma aplicării funcţiei
normi(M) Norma infinită a matricei M.
cond1(M) Numărul de condiţionarea a matricei pătrate M, bazat
pe norma L1
cond2(M) Numărul de condiţionarea a matricei pătrate M, bazat
pe norma L2
conde(M) Numărul de condiţionarea a matricei pătrate M, bazat
pe norma Euclidiană
condi(M) Numărul de condiţionarea a matricei pătrate M, bazat
pe norma infinită
cholesky(M) O matrice inferior triunghiulară, fie ea L, astfel încât L
* L
T
=M. Matricea M trebuie să fie simetrică.
Re(A) O matrice ale cărei elemente sunt părţile reale ale
elementelor matricei A
Im(A) O matrice ale cărei elemente sunt părţile imaginare ale
elementelor matricei A
Descompuneri de matrice
gr(A) O matrice ale cărei prime n coloane conţin matricea
ortonormală Q, restul conţinând matricea superior
triunghiulară R, astfel ca A=Q * R. Pentru extragerea
lui Q şi R se va utiliza funcţia submatrix.
lu(M) O matrice care conţine trei sub matrice pătrate, fie ele
P, L şi U, toate având dimensiunea lui M, concatenate
una după alta în această ordine (pentru extragerea lor
se va utiliza funcţia submatrix). Matricele satisfac
relaţia :
P * M = L * U. M trebuie să fie pătrată.
Capitolul 4
70

Numele funcţiei

Rezultatul obţinut în urma aplicării funcţiei
svd(A) O matrice conţinând “una peste alta”, două matrice.
Fie ele U şi V. Aceste matrice satisfac relaţia : A=U *
diag(s) * V, unde s este vectorul întors de funcţia
svds(A). Matricea A trebuie să aibă dimensiunea m,n
cu m≥n şi trebuie să fie reală
svds(A) Un vector conţinând valorile singulare ale matricei A,
care trebuie să aibă dimensiunea m,n cu m≥n şi
trebuie să fie reală
Funcţii de căutare în tablouri
lookup(z,A, B) O valoare sau un vector ce reprezintă
elementul/elementele din matricea B care ocupă
aceeaşi poziţie [în B] cu cea ocupată de valoarea z în
A.
hlookup(z, A, r) Un element sau un vector ce reprezintă
elementul/elementele din matricea A ce se găsesc pe
rândul r (din A), situate pe aceeaşi/aceleaşi
coloană/coloane cu elementele de pe primul rând
având valoarea z.
vlookup(z, A, c) Un element sau un vector ce reprezintă
elementul/elementele din matricea A ce se găsesc pe
coloana c (din A), situate pe acelaşi/aceleaşi
rând/rânduri cu elementele de pe prima coloană având
valoarea z.
match(z, A) Indicii (sub formă de tablouri incluse) poziţiilor în care
apare valoarea z în matricea A.

Înainte de a se prezenta câteva exemple de utilizare a unor funcţii aplicabile vectorilor
şi matricelor, vor fi reamintite câteva relaţii matematice importante :
Calcul matriceal numeric
71
Norma L1 returnează cea mai mare sumă a elementelor de pe coloane, adică :

=
≤ ≤
=
N
k
kj
N j
m L
1
1
1
( max
Norma L2 returnează cea mai mare valoare singulară, adică :
) ( , max ) (
2
M M L σ λ λ ρ ∈ = = .
unde cu ) (M σ s-a notat mulţimea 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 reaminteşte că pentru o matrice M, se pot găsi trei matrice U, S, şi V, astfel încât
M=U.S.V
T
, 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.
Norma Euclidiană întoarce valoarea :

=
N
k j
jk
F
m M
,
2

Norma infinită returnează suma cea mai mare sumă a elementelor de pe linii, adică :

=
≤ ≤

=
N
j
kj
N k
m L
1
1
( max
Câteva exemple privind utilizarea acestor funcţii sunt prezentate în figurile următoare.


Fig. 4-8 – Funcţiile rows, cols, max, min, length, tr, last, augment, identity

Capitolul 4
72

Fig. 4-9 - Funcţiile stack, diag, submatrix, norm1, normi, norme, norm2

În legătură cu normele şi numerele de condiţionare ale matricelor, sunt prezentate mai
jos câteva consideraţii teoretice.
Sunt valabile următoarele relaţii între norme şi numerele de condiţionare:
• ) x( ) x( ) x(
1
M cond M norm M norm = ⋅

, unde x poate fi oricare din
caracterele „i”, „e”, „1” sau „2”.
• numărul de condiţionare 2 (cond2) este egal cu raportul dintre cea mai mare
şi cea mai mică valoare singulară a unei matrice. Valorile singulare sunt
întoarse de funcţie svds (vezi mai jos).
Numărul de condiţionare întors de funcţia condi este util pentru cuantificarea gradului
de stabilitate a sistemelor de ecuaţii de forma A x = b, la variaţii ale elementelor
matricei coeficienţilor. Astfel, valori mari ale numărului de condiţionare indică matrice
(sisteme) „rău condiţionate”. Dacă numărul de condiţionare este infinit, matricea
[sistemului] este singulară.
Rezolvarea unor astfel de sisteme se poate face şi prin utilizarea funcţiei svd (vezi
paragrafele următoare).
Aceste consideraţii sunt ilustrate de exemplele din figura 4-10.

Calcul matriceal numeric
73

Fig. 4-10 – Norme şi numere de condiţionare

În ceea ce priveşte descompunerile de matrice ce se pot realiza în MathCAD, sunt
reamintite mai jos câteva consideraţii teoretice minimale, necesare unei bune înţelegeri
a acestui subiect, precum şi a utilizărilor care se pot da funcţiilor de descompunere a
matricelor.
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 substituţie înainte
U
.
x=y prin substituţie înapoi.
În cazul Mathcad, funcţia lu(M) întoarce trei matrice pătrate P, L si U, astfel încât :
4.3.1 Descompunerea L U
Capitolul 4
74
P
.
M=L
.
U,
deci un sistem Ax=b revine la a rezolva sistemul P
.
A
.
x=P
.
b şi mai apoi :
L
.
(U
.
x)=P
.
b
Dacă în sistemul Ax=b, matricea A este simetrică şi pozitiv definită (v.A.v>0, oricare
ar fi vectorul v), se poate găsi o matrice L, astfel încât L.L
T
=A (deci L
T
=U din
descompunerea LU).
Obs : O matrice este pozitiv definită dacă are toate valorile proprii pozitive
Exemplu :





=
9 1 1 0
1 9 0 1
1 0 9 1
0 1 1 9
A
Dacă o matrice A se poate scrie ca :
A=Q
.
R,
unde Q este o matrice ortogonală (Q
T
.
Q=I), iar R este superior triunghiulară, atunci
sistemul :
A.x=b se poate la rândul său scrie:
Q
.
R
.
x=b şi apoi R
.
x=Q
T
.
b, şi se rezolvă prin substituţie înapoi.
Se foloseşte pentru sistemele singulare sau foarte aproape de sistemele singulare.
Pentru o matrice A, se poate găsi descompunerea :
A=U
.
diag(S)
.
V
T

unde U şi V sunt ortogonale.
Funcţia svd întoarce o matrice ce conţine concatenate prin suprapunere matricele U şi
V.
Soluţia unui sistem de forma A
.
x=b este:
x=V
.
diag(1/S
j
)(U
T
.
b)
În cazul Mathcad, S este vectorul întors de funcţia svds(A)
În figura 4-11 sunt este prezentată descompunerea SVD pentru o matrice.
4.3.2 Descompunerea Cholesky
4.3.3 Descompunerea QR
4.3.4 Descompunerea SVD (Singular value Decomposition)
Calcul matriceal numeric
75


Fig. 4-11 - Descompunerea SVD
Descompunerea SVD este extrem de utilă în rezolvarea sistemelor pentru care matricea
coeficienţilor este singulară sau foarte aproape de această stare. Se reaminteşte 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.
Pentru o bună înţelegere, în figura 4-12 este prezentat cazul unui sistem algebric liniar,
a cărui matrice a coeficienţilor M, este „aproape” singulară.

Capitolul 4
76

Fig. 4-12 – Rezolvarea sistemelor qvasi singulare cu ajutorul descompunerii svd

Se poate observa din analiza figurii 4-12 că soluţiile obţinute prin utilizarea funcţiilor
svd, respectiv lsolve (care rezolvă sistemul prin aplicarea relaţiei 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 M
0,2
, apropiind şi mai mult matricea M de singularitate. Se va constata că
lsolve nu mai întoarce soluţie, în vreme ce metoda care face uz de funcţia svd, încă
mai produce o soluţie. Această situaţie este prezentată în figura 4-13.
Calcul matriceal numeric
77

Fig. 4-13 – Rezolvarea unui sistem singular cu ajutorul funcţiei svd

- lookup
Fie doua tablouri, ce conţin date despre 5 persoane. Primul tablou, M, conţine numele,
anul naşterii şi locul naşterii. Al doilea, N, conţine localitatea de domiciliu, numărul de
telefon şi pe ultima coloană, numărul de fax.

4.3.5 Exemple de utilizarea a funcţiilor de căutare în tablouri
Capitolul 4
78
Observaţie: A se nota ca toate datele au fost introduse ca şiruri de caractere.
Utilizând funcţia lookup, se vor extrage, în prima etapă, anul naşterii celor născuţi în
Ploieşti. În a doua etapă, se vor extrage numerele de telefon ale tuturor celor născuţi în
Ploieşti.
După cum s-a putut observa, în prima etapă informaţia se găseşte într-un singur
tablou, în vreme ce în cel de-al doilea, vor fi necesare ambele [tablouri].
În figura 4-14 este reprodusă secvenţa de document Mathcad care extrage anii de
naştere, precum şi evaluarea variabilei în care aceştia au fost extraşi.


Fig. 4-14 – Funcţia lookup operând asupra unui singur tablou

Semnificaţia scrierii de mai sus este următoarea: se caută în coloana cu indicele 2
(atenţie, originea indicilor este 0), valoarea "Ploieşti" şi sunt întoarse valorile de pe
coloana cu indicele 1 (a doua deci), din dreptul valorilor găsite pe coloana a treia.
Pentru extragerea numerelor de telefon, se va utiliza secvenţa de document Mathcad
din figura 4-15.


Fig. 4-15 – Funcţia lookup operând asupra a două tablouri

Calcul matriceal numeric
79
Semnificaţia scrierii de mai sus este, acum, uşor de dedus: se vor întoarce valorile pe
coloana a doua (cu indicele 1) din tabloul N, din dreptul (cu poziţiile) celor cu valoarea
„Ploieşti”, 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
funcţiei hlookup, locul naşterii persoanei cu numele „Pripici”. Se va urmări figura
4-16.

Fig. 4-16 – Funcţia hlookup

Utilizând tabloul N de la exemplele precedente şi funcţia vlookup, se vor extrage
numerele de telefon ale celor domiciliaţi în Ploieşti. Se va urmări figura 4-17.

Fig. 4-17 – Funcţia vlookup

- match
Capitolul 4
80
În exemplul din figura 4-18, s-a realizat extragerea indicilor poziţiilor din tabelul M,
care au valoarea „Ploiesti”. Pentru ca rezultatul să arate ca în figura amintită, trebuie să
se seteze „ON” opţiunea de afişare a tablourilor incluse (Format ⇒ Result… ⇒
Display Options ⇒ Expand nested arrays).

Fig. 4-18 – Funcţia match

Operatorii prezentaţi în paragraful 6.5. permit efectuarea de operaţii de calcul
matriceal. Există însă şi situaţii când asupra elementelor unei matrice trebuie efectuată
aceeaşi operaţie scalară.
În acest caz se poate folosi operatorul de vectorizare care determină aplicarea
operatorilor şi funcţiilor element cu element vectorilor sau matricelor.
Astfel, dacă pentru o matrice M aplicarea funcţiei sin(M) este incorectă, prin
vectorizare se aplică funcţia sin( ) fiecărui element al matricei M.
Vectorizarea se realizează prin tastarea combinaţiei Ctrl + - (sau selectând simbolul
respectiv din toolbar-ul Operators…) după ce s-a selectat membrul unei relaţii de
atribuire. Se observă din exemplul de mai jos că deasupra acestuia va apare o săgeată,
ca simbol al operaţiei de vectorizare.

4.3.6 Vectorizări şi atribuiri simultane
Calcul matriceal numeric
81

Fig. 4-19 - Vectorizare

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

.

Fig. 4-20 - Atribuire simultană

4.3.7.1 Funcţia CreateMesh
Funcţia creează o matrice formată din trei submatrice (dispuse în sistem „stack”) ce
reprezintă coordonatele x, y, z ale unei suprafeţe parametrice definită prin intermediul
unei funcţii vector, unei funcţii de două variabile, sau unui set de 3 funcţii.
Sintaxa de apelare a funcţiei este una din următoarele:

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])
4.3.7 Crearea de matrice structurate
Capitolul 4
82

Parametrii din parantezele drepte sunt opţionali. Semnificaţiile tuturor parametrilor
sunt:
• F este un vector funcţie cu 3 elemente, fiecare o funcţie de două variabile u şi
v;
• G este o funcţie de două variabile u şi v;
• f1 este o funcţie de două variabile u şi v;
• f2 este o funcţie de două variabile u şi v;
• f3 este o funcţie de două variabile u şi v;
• s0 este limita inferioară a variabilei u. Valoarea implicită este -5;
• s1 este limita superioară a variabilei u. Valoarea implicită este 5;
• t0 este limita inferioară a variabilei v. Valoarea implicită este -5;
• t1 este limita superioară a variabilei v. Valoarea implicită este 5;
• sgrid este numărul de intervale în care este împărţit domeniul de variaţie al
parametrului u. Valoarea implicită este 20 şi sgrid>0
• tgrid este numărul de intervale în care este împărţit domeniul de variaţie al
parametrului v. Valoarea implicită este 20 şi tgrid>0
• fmap este o funcţie vector cu trei elemente, de trei variabile care defineşte
maparea (proiectarea) din orice sistem de coordonate în cel cartezian. În
Mathcad există două funcţii de tip fmap, specializate în maparea din
coordonate cilindrice, respectiv sferice în coordonate carteziene (cyl2xyz,
respectiv sph2xyz).
Exemplu de funcţie de tip fmap:

Calcul matriceal numeric
83
Exemple:
1. Utilizarea unei funcţii vector


Fig. 4-21 Utilizarea unei funcţii vector şi reprezentarea grafică corespunzătoare

2. Utilizarea unei funcţii de două variabile
Capitolul 4
84

Fig. 4-22 Utilizarea unei funcţii de două variabile şi reprezentarea grafică
corespunzătoare

3. Utilizarea a trei funcţii de două variabile

Fig. 4-23 – Utilizarea a trei funcţii de două variabile
Calcul matriceal numeric
85
4.3.7.2 Funcţia CreateSpace
Funcţia CreateSpace creează o matrice formată din trei submatrice-vector (aranjate
în sistem stack). Cei trei vectori conţin coordonatele x, y, respectiv z ale unei curbe
strâmbe în spaţiu.
Sintaxa de apelare a funcţiei este una din următoarele:

CreateSpace(F, [t0], [t1], [tgrid], [fmap])
CreateSpace(f1, f2, f3, [t0], [t1], [tgrid], [fmap])

Semnificaţiile notaţiilor sunt uşor de dedus prin analogie cu cele prezentate în cazul
funcţie CreateMesh, cu observaţia că funcţia F, ca şi funcţiile f1, f2, şi f3 depind de o
singură variabilă.


Exemplu:
1. Utilizarea unei funcţii vector

Fig. 4-24 – Utilizarea unei funcţii vector

87
5 Reprezentări grafice
Mathcad permite obţinerea unui număr mare de tipuri de reprezentări grafice 2D şi 3D,
punând la dispoziţia utilizatorilor multiple facilităţi de formatare a acestor reprezentări.

Obiective


• Prezentarea tipurilor de reprezentări grafice ce se pot
realiza cu ajutorul Mathcad
• Prezentarea facilităţilor de formatare a graficelor



5 Reprezentări grafice ____________________ 87
5.1 Grafice 2D....................................................................................................88
5.2 Grafice 3D....................................................................................................99
5.3 Grafice de tip Vector Plot.........................................................................115

Număr de pagini 26
Capitolul 5
88


Inserarea unui grafic de tip X-Y presupune parcurgerea următoarelor etape:
1. Alegerea câmpului Insert ⇒ Graph ⇒ X-Y Plot sau a butonului corespunzător
de pe bara de instrumente Graph (vezi figura 5-1)
2. Completarea marcatorilor cu elementele corespunzătoare (nume variabilă de
reprezentare, limite, nume funcţie sau expresie de reprezentat etc.). Vezi figura 5-1)

Fig. 5-1 – Completarea marcatorilor pentru graficele de tip X-Y

În legătură cu modul de completare a marcatorilor se fac următoarele precizări:
• limitele superioară şi respectiv inferioară de variaţie a variabilei de reprezentare
pot să nu fie precizate în mod explicit, caz în care se vor considera egale cu 10
şi respectiv -10;
• limitele superioară şi respectiv inferioară pentru domeniul de reprezentat pot să
nu fie precizate, caz în care vor fi folosite valoarea maximă, respectiv minimă a
5.1 Grafice 2D
5.1.1 Grafice de tip X-Y

Reprezentări grafice
89
expresiei/funcţiei de reprezentat, înregistrate pe domeniul de lucru;
• pot fi trasate mai multe curbe pe acelaşi 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 .. :=
x
i
.5 i ⋅ := y
i
x
i
( )
2
5 x
i
⋅ − :=
0 5 10
20
0
20
40
60
y
i
x
i

a. Reprezentarea unui vector funcţie
de alt vector
x 0 0.1 . 5 .. :=
0 2 4 6
1
0
1
sin x
2
( )
x

b. Reprezentarea unei expresii funcţie de o
variabilă de tip scalar
x 0 .1 . 20 .. :=
f x ( ) e
sin x ( ) cos x ( ) +
e
sin x ( ) cos x ( ) −
− :=
0 5 10 15 20
5
0
5
f x ( )
x



c. Reprezentarea unei funcţii
x 0 .1 . 20 .. :=
f x ( ) e
sin x ( ) cos x ( ) +
e
sin x ( ) cos x ( ) −
− :=
g x ( ) e
sin x ( ) cos x ( ) +
e
sin x ( ) cos x ( ) −
+ :=
0 5 10 15 20
5
0
5
10
f x ( )
g x ( )
x

d. Reprezentarea mai multor funcţii
dependente de o singură variabilă

Capitolul 5
90

e. Reprezentarea mai multor funcţii dependente de mai multe variabile
Fig. 5-2 – Reprezentări grafice de tip X-Y

Mathcad oferă multiple facilităţi de control al aspectului (formatului) graficelor. Pentru a
declanşa procesul de formatare, după ce se selectează graficul asupra căruia se
intervine, se poate folosi una din metodele enumerate mai jos:
• Format ⇒ Graph ⇒ X-Y Plot…
• Clic dreapta pe zona graficului urmată de acţionarea câmpului Format…
• Dublu clic pe o anumită zonă a graficului (axe, legendă, trasee etc.)
Dacă se foloseşte una din primele două metode, se ajunge la caseta de dialog
prezentată pe parcursul figurilor 5-3, 5-4, 5-5 şi 5-6.
5.1.2 Formatarea graficelor de tip X-Y
Reprezentări grafice
91

a.
Se pot controla la nivel de axă
următoarele:
- utilizarea unei scări logaritmice;
- prezenţa liniilor de caroiaj;
- prezenţa valorilor numerice pe axe;
- amplasarea automată a acestora;
- prezenţa unui număr de maxim 2
marcatori pe fiecare axă;
- controlul desimii caroiajului;
- autoscalarea valorilor graficului;
- utilizarea de scări egale pe cele două
axe.
b.
Fig. 5-3 – Secţiunea X-Y Axes


În figura 5-3.b se poate vedea un grafic
pentru care setările sunt cele din figura
5-3.a.
Marcatorii nu apar decât pe axa X în
dreptul valorilor 2,5 şi respectiv 4.


Capitolul 5
92


a.
Secţiunea 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;

În figura 5-4.a se poate vedea un grafic pe care sunt reprezentate două trasee.
Setările sunt cele din figura 5-4.b.

b.
Fig. 5-4 – Secţiunea Traces


Reprezentări grafice
93
Secţiunea Labels permite definirea unui titlu al graficului (Title), a poziţie acestuia,
sau a unor legende la nivel de axe (Axis labels).
Secţiunea Defaults permite fie revenirea la setările de formatare a graficelor implicite
pentru document (Change to Defaults), fie dimpotrivă, transformarea setărilor
curente în setări implicite pentru întregul document.
Inserarea unui grafic în coordonate polare presupune parcurgerea următoarelor etape:
1. Alegerea câmpului Insert ⇒ Graph ⇒ Polar Plot sau a butonului corespunzător
de pe bara de instrumente Graph (vezi figura 5-6)
2. Completarea marcatorilor cu elementele corespunzătoare (nume variabilă de
reprezentare, respectiv nume funcţie sau expresie de reprezentat etc.). A se consulta
figura 5-5)


Fig. 5-5 – Marcatori pentru grafice în coordonate polare

5.1.3 Grafice în coordonate polare

Capitolul 5
94
În figura 5-6 este reprezentat un grafic în coordonate polare.


Fig. 5-6 – Grafic în coordonate polare

Pentru formatare se va proceda ca în cazul graficelor în coordonate XY. Particularităţile
specifice graficelor în coordonate polare vor fi uşor de înţeles. Declanşarea formatării se
face, după selectarea unui grafic, prin acţionarea câmpului Format ⇒ Graph ⇒ Polar
Plot… .
5.1.5.1 Facilitatea de tip Trace (urmărire a valorilor de pe grafic)
Facilitatea Trace permite “citirea” valorilor de pe un grafic şi eventual copierea lor în
afara graficului (fireşte în documentul Mathcad ce conţine graficul). Modul Trace se
activează prin intermediul câmpului 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 stânga pe curba reprezentată şi valoarea din dreptul pointerului
este „citită”. Eliminarea bifei din dreptul câmpului Track Data Points, va permite şi
5.1.4 Formatarea graficelor în coordonate polare
5.1.5 Controlul vizualizării graficelor 2D
Reprezentări grafice
95
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 facilităţii Trace în condiţiile eliminării Track
Data Points.
Capitolul 5
96

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.
Reprezentări grafice
97

Fig. 5-9 - Citirea de valori de pe un grafic în coordonate polare
5.1.5.2 Facilitatea de tip Zoom (controlul factorului de mărire)
Pentru realizarea de focalizări care să pună în evidenţă detalii ale reprezentărilor
grafice, se poate folosi modul zoom. Acest lucru este posibil prin utilizarea câmpului
Format ⇒ Graph ⇒ Zoom… .
Executarea de focalizări (zoom) se poate repeta (pentru obţinerea 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 operaţiei.
Modul zoom poate fi folosit (printre altele) şi pentru aprecierea soluţiilor reale ale unor
ecuaţii. Un rezultat mai bun se poate obţine prin utilizarea combinată a facilităţilor
zoom şi trace.
După realizarea unui zoom, în caseta de dialog X-Y Zoom se pot citi limitele zonei
mărite.
Capitolul 5
98

a.

b.
Fig. 5-10 – Facilitatea zoom

Reprezentări grafice
99
Î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


Pentru includerea într-un document Mathcad a unui grafic de tip suprafaţă (Surface
Plot), se poate utiliza câmpul Insert ⇒ Graph ⇒ Surface Plot sau butonul
corespunzător de pe bara de unelte Graph (vezi figura 5-12).
5.2 Grafice 3D
5.2.1 Grafice de tip suprafaţă
Capitolul 5
100

Fig. 5-12 – Crearea unui grafic de tip suprafaţă

Pentru obţinerea 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 funcţii sau unui set de funcţii de două variabile (dacă e vorba
de un set de funcţii, numele se vor separa prin virgulă).
Este posibilă reprezentarea pe acelaşi grafic a mai multor suprafeţe. Pentru aceasta, se
vor separa prin virgulă argumentele fiecărei suprafeţe. Pentru exemplificare se
recomandă urmărirea atentă a figurilor 5-13…..5-19 . Mai trebuie precizat că în
exemplele ce urmează pentru a obţine aspectul reprezentărilor au fost realizate şi
anumite operaţii de formatare.

Reprezentări grafice
101

Fig. 5-13 – Grafic de tip suprafaţă obţinut pornind de la o matrice


Fig. 5-14 – Grafic de tip suprafaţă obţinut pornind de la trei matrice

Capitolul 5
102
Pentru acest tip de grafic sunt necesare următoarele precizări:
• Toate cele 3 matrice trebuie să aibă acelaşi număr de linii şi coloane;
• Acest tip suprafaţă se numeşte parametrică şi nu poate fi ulterior (prin
formatare) transformată în celelalte tipuri de grafice 3D.

Fig. 5-15 – Grafic de tip suprafaţă obţinut pornind de la trei vectori


Fig. 5-16 - Grafic de tip suprafaţă obţinut pornind de la ecuaţia unei funcţii vector
Reprezentări grafice
103

Fig. 5-17 – Grafic de tip suprafaţă obţinut pornind de la ecuaţia unei funcţii de două
variabile


Fig. 5-18 - Grafic de tip suprafaţă obţinut pornind de la ecuaţia a trei funcţii de două
variabile
Capitolul 5
104

Fig. 5-19 - Reprezentarea pe acelaşi grafic a două suprafeţe

Pentru includerea într-un document Mathcad a unui grafic de tip curbe de nivel
(Contour Plot), se poate utiliza câmpul Insert ⇒ Graph ⇒ Contour Plot sau
butonul corespunzător de pe bara de unelte Graph (vezi figura 5-20).


Fig. 5-20 – Inserarea unui grafic de tip curbe de nivel

Graficele de tip curbe de nivel se obţin de fapt din suprafeţe „secţionate” de plane
paralele cu planul XOY (sau YOZ sau XOZ). Curbele de intersecţie se proiectează pe
5.2.2 Grafice de tip curbe de nivel (Contour Plot)
Reprezentări grafice
105
planul XOY (sau YOZ sau XOZ) şi se reprezintă. Cum la baza graficelor de tip contur
stau de fapt nişte suprafeţe, vor fi aceleaşi şi metodele de generare a unor astfel de
reprezentări: se va porni deci tot de la o matrice, trei matrice, trei vectori, sau expresia
unei funcţii (vector sau simplă de trei variabile) sau unui număr de trei funcţii de două
variabile.


Fig. 5-21 – Grafic de tip Contour Plot obţinut pornind de la trei vectori

Graficele de acest tip permit vizualizarea de puncte în spaţiu, iar dacă se optează
pentru unirea acestora cu segment de dreaptă, se pot folosi pentru reprezentarea de
curbe parametrice în spaţiu. Un grafic de tip „scatter” poate fi transformat în oricare din
celelalte grafice 3D.
5.2.3 Grafice de tip puncte distribuite în spaţiu (3D Scatter Plots)
Capitolul 5
106
Pentru inserarea unei astfel de reprezentări, se vor folosi câmpul Insert ⇒ Graph ⇒
3D Scatter Plot, sau butonul corespunzător de pe bara de instrumente Graph (vezi
figurile 5-22…5-24 ).


Fig. 5-22 – Inserarea de grafice de tip Scatter Plot


Fig. 5-23 – Grafic de tip „scatter” obţinut pornind de la expresia unei funcţii vector de
două variabile
Reprezentări grafice
107

Fig. 5-24 – Grafic de tip „scatter” obţinut pornind de la trei vectori

Se pot obţine prin acţionarea câmpului Insert ⇒ Graph ⇒ 3D Bar Plot, sau a
butonului indicat şi în figura 5-25 de pe bara de instrumente Graph.

5.2.4 Grafice de tip 3D Bar
Capitolul 5
108

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 funcţii vector cu
3 elemente şi de două variabile, al unei funcţii de două variabile, sau a unui set de 3
funcţii de două variabile (întocmai ca la graficele de tip suprafaţă de exemplu). Se va
obţine o reprezentare ca cea din figura 5-26, în care înălţimea fiecărei coloane este
chiar valoarea elementului de matrice corespunzător (în cazul în care argument este un
nume de funcţie/funcţii corespondenţa este indirectă, căci înainte de reprezentare tot la
o matrice se ajunge).


Fig. 5-26 – Grafic de tip 3D Bar obţinut pornind de la o matrice
Reprezentări grafice
109
Trebuie precizat (şi se va reveni în cadrul explicaţiilor legate de formatarea graficelor
3D), că este posibilă aproape oricând transformarea unui tip de grafic 3D în alt tip de
grafic 3D.
Facilităţile de formatare a graficelor 3D oferite de Mathcad sunt extrem de complexe şi
cuprind pe lângă „simpla” modificare a vectorului de vizualizare, o serie de alte setări ce
ţin de aspectul general al graficului, modul de conectare a punctelor, condiţiile de
iluminare, controlul axelor, al factorilor de scalare etc.
Declanşarea procesului de formatare presupune, fireşte, selecţia unui grafic existent.
În figurile următoare sunt furnizate informaţii despre semnificaţiile secţiunilor, zonelor
şi câmpurilor casetei de dialog 3-D Plot Format.
Declanşarea procesului de formatare se face prin acţionarea câmpului Format ⇒
Graph ⇒ 3D Plot… (după ce în prealabil s-a selectat un grafic).

Fig. 5-27 – Secţiunea General
5.2.5 Formatarea graficelor 3D
Capitolul 5
110

Fig. 5-28 – Secţiunea Axes

Fig. 5-29 – Secţiunea Appearance
Reprezentări grafice
111

Cât priveşte zona Fill Options, se fac următoarele precizări:
Fill Surface – “Umple” o suprafaţă cu o hartă de culoare, conform specificaţiilor din
secţiunea Color Options.
Fill Contours – „Umple” suprafaţa cu culoare, în conformitate cu tipul de contur
(curbă de nivel) folosit (x, y sau z). Implicit se folosesc contururi obţinute prin
secţionarea suprafeţei cu plane paralele cu planul XOY.
No Fill – Suprafaţa nu este colorată.
Alternate Mesh – Umple cu culoare numai o jumătate de faţetă dreptunghiulară.
Smooth Shading – Realizează o interpolare a culorilor, astfel că aspectul acestora
variază şi în interiorul faţetelor.
Color Options :
Colormap – Colorarea se face cu o hartă de culori ale cărei caracteristici sunt
specificate în secţiunea Advanced.
Solid Color – Colorează monocrom suprafaţa.

Fig. 5-30 – Secţiunea Lighting
Capitolul 5
112
Directed light (Lumina directă)
Lumina directă este produsă de o sursă punctuală şi este emisă într-o direcţie nume.
Lumina directă are două componente: lumina difusă şi lumina speculară.
Lumina difuză
Lumina de acest tip vine dintr-o direcţie anume, dar este reflectată de suprafaţă
uniform (în toate direcţiile). Lumina difuză face un obiect să strălucească (de exemplu
lumina fluorescentă).
Lumina ambientală şi cea difuză au un mare efect asupra culorii unui grafic.
Lumina Speculară
Lumina speculară vine dintr-o direcţie anume şi este reflectată într-o anume direcţie. O
lumină speculară creează o pată de lumină pe obiectul iluminat.
Lumina speculară nu are un efect important asupra aspectului graficului. Efectul poate
fi amplificat de controlul Shininess din secţiunea Advanced.


Fig. 5-31 – Secţiunea Backplanes

Fereastra de dialog controlează modul de afişare a planelor sistemului de axe (planele
XOY, XOZ şi YOZ). Sunt posibile „reglaje” ale caroiajelor majore (Grids), dar şi minore
(Sub-Grids).
Reprezentări grafice
113


Fig. 5-32 – Secţiunea Special

Capitolul 5
114

Fig. 5-33 – Secţiunea Advanced

Secţiunea Advanced serveşte la controlul unor caracteristici de vizualizare, precum şi a
unor setări de printare a graficului.


Fig. 5-34 – Secţiunea QuickPlot Data
Reprezentări grafice
115
Caseta de dialog serveşte la controlul desimii caroiajului de pe suprafaţă (# of Grids),
a intervalului de variaţie a variabilelor independente corespunzătoare axelor OX şi OY,
precum şi la schimbarea sistemului de coordonate folosit pentru reprezentare.


Acest tip de reprezentare permite vizualizarea câmpurilor de vectori. „Argumentul” unui
astfel de grafic este o matrice cu elemente complexe, sau două matrice (cu acelaşi
număr de linii şi de coloane). Inserarea unui grafic de tip Vector Plot se face
acţionând câmpul Insert ⇒ Graph ⇒ Vector Field Plot, sau a butonului
corespunzător de pe bara de instrumente Graph (vezi figura 5-35).


Fig. 5-35 – Inserare a unui grafic de tip Vector Plot

În figura 5-36 este prezentat un grafic de tip Vector, obţinut 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 părţii 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 colţul din stânga sus al reprezentării).
5.3 Grafice de tip Vector Plot
Capitolul 5
116

Fig. 5-36 - Grafic de tip Vector

Se va face utilizând câmpul Format ⇒ Graph ⇒ 2D Plot… , cu precizarea că multe
din câmpurile casetei de dialog nu vor fi active.
5.3.1 Formatarea graficelor de tip Vector

117
6 Rezolvarea numerică a ecuaţiilor şi a
sistemelor de ecuaţii

Obiective


• Însuşirea tehnicilor de rezolvare a numerică a ecuaţiilor
• Însuşirea tehnicilor de rezolvare a numerică a sistemelor de
ecuaţii
• Însuşirea tehnicilor de rezolvare a numerică aproximativă a
sistemelor de ecuaţii


6 Rezolvarea numerică a ecuaţiilor şi a sistemelor
de ecuaţii ______________________________ 117
6.1 Rezolvarea ecuaţiilor transcendente .......................................................118
6.2 Rezolvarea sistemelor algebrice liniare...................................................120
6.3 Rezolvarea sistemelor neliniare ...............................................................121
6.4 Rezolvarea aproximativă a sistemelor neliniare ....................................124



Număr de pagini 7
Capitolul 6
118

Pentru rezolvarea ecuaţiilor de forma:
0 ) ( = x P , unde
n
n
x a x a x a a x P ⋅ + ⋅ + ⋅ + = .... ) (
2
2 1 0

se poate folosi funcţia polyroots, cu sintaxa:
polyroots(v),
unde v este vectorul coeficienţilor polinomiali, în ordinea crescătoare a puterilor
necunoscutei. În figura 6-1 este prezentat un exemplu de utilizare a funcţiei
polyroots.
Exemplul prezentat determină toate soluţiile
ecuaţiei:
0 2 2 5 . 0
2
= ⋅ − ⋅ − x x
Pot fi obţinute şi soluţii complexe.
Funcţia foloseşte metoda LaGuerre sau pe cea a
companionului matriceal. „Forţarea” uneia sau
alteia dintre metode se face executând clic
dreapta pe numele funcţiei şi alegerea variantei
de lucru (vezi figura 6-2).




Pentru ecuaţiile de forma: 0 ) ( = x f , sau ) ( ) ( x g x f = , unde funcţiile f şi g pot avea
orice formă, se va utiliza funcţia root, cu una din sintaxele:
root(f(x),x)
root(f(x)-g(x),x)
root(f(x),x,a,b)
6.1 Rezolvarea ecuaţiilor algebrice
6.2 Rezolvarea ecuaţiilor transcendente

Fig. 6-1 – funcţia polyroots
Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii
119
root(f(x)-g(x),x,a,b)
Semnificaţiile notaţiilor sunt următoarele:
- x este numele variabilei necunoscută
- a şi b sunt limitele intre care se va căuta o soluţie.


Fig. 6-2 – Alegerea algoritmului

Dacă argumentele a şi b lipsesc, este obligatorie furnizarea unei valori estimative
pentru soluţie. Funcţia root va căuta soluţia cea mai aproape de această valoare.
În legătură cu funcţie root, se fac precizările:
• funcţia întoarce o singură soluţie, cea mai apropiată de estimarea furnizată;
• funcţia întoarce şi soluţii complexe;
• pentru furnizarea unei estimări cât mai apropiate de o soluţie se recomandă
trasarea graficului funcţiei f(x) sau f(x)-g(x) pe intervalul de interes;
• funcţia root nu produce o soluţie într-una din următoarele situaţii:
- o astfel de rădăcină nu există;
- rădăcinile sunt prea departe de estimarea iniţială;
- expresia f(x) sau f(x)-g(x) are un extrem local între estimarea iniţială a
soluţiei şi rădăcină;
- expresia are discontinuităţi între estimarea iniţială şi rădăcină;
- estimarea iniţială este reală şi rădăcinile sunt complexe (sau invers).
• funcţia root apelată cu sintaxa root(f(x),x), sau root(f(x)-g(x),x) foloseşte
metoda secantei în determinarea soluţiei, în vreme ce în cazul în care se
Capitolul 6
120
utilizează sintaxa root(f(x),x,a,b), sau root(f(x)-g(x),x,a,b), algoritmul folosit
este Ridder/Brent;
• În cazul utilizării metodei secantei, precizia rezultatului depinde de valoarea
variabile predefinite TOL. Modificarea acesteia se face cu ajutorul câmpului
Math Options, secţiunea Buil-In Variables. Mecanismul este următorul:
dacă |f(x)|<TOL, unde x este o estimare a soluţiei, atunci x este considerată
soluţie.
• funcţia root poate fi folosită şi pentru rezolvarea ecuaţiilor algebrice de tip
polinomial.
În figura 6-3 se exemplifică utilizarea funcţiei root.


Fig. 6-3 – Funcţia root


Pentru un sistem algebric liniar de forma: b x A = ⋅ , unde A este o matrice pătrată
nesingulară iar b vectorul termenilor liberi, se poate folosi una din următoarele metode
de rezolvare:
- funcţia lsolve;
- descompunerile de matrice prezentate în § 4.3 .
Funcţia lsolve care se apelează cu sintaxa lsolve(A,b), rezolvă sistemul prin
inversarea matricei A, adică b A x ⋅ =
−1
, ceea ce impune prudenţă în cazul sistemelor
(matricelor) de mari dimensiuni - ceea ce pentru Mathcad poate însemna ce depăşeşte
20-30 de necunoscute. În astfel de cazuri, sau pentru sistemele instabile (vezi § 4.3) se
recomandă utilizarea descompunerilor de matrici.
6.3 Rezolvarea sistemelor algebrice liniare
Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii
121
În figura 6-4 este prezentat un exemplu de rezolvare sistemului:

¦
¦
¹
¦
¦
´
¦
= + + + −
= ⋅ + − + ⋅
= ⋅ − ⋅ +
− = + ⋅ + − ⋅
5 . 4
5 . 2 5 . 1 5 . 0
0 3 2
75 . 2 5 . 0 2
u z y x
u z y x
u y x
u z y x
cu ajutorul funcţiei lsolve.


Fig. 6-4 – Funcţia lsolve


Pentru sistemele algebrice neliniare, sau pentru cele transcendente, se va folosi funcţia
Find, apelabilă cu sintaxa: Find(x
1
, x
2
, x
3
,…x
n
), unde x
1
, x
2
, x
3
,…x
n
sunt necunoscutele
căutate. Funcţia Find se utilizează în cadrul unei secvenţe de forma:

x
1
:= a
1
x
2
:=a
2
x
n
:=a
n
estimare iniţială a soluţiei (ca în cazul funcţiei
root)
Given
Ecuaţii….
6.4 Rezolvarea sistemelor neliniare
Capitolul 6
122
[Constrângeri…] opţionale
Find(x
1
, x
2
, x
3
,…x
n
)

În figura 6-5 se pot vedea două exemple de întrebuinţare a funcţiei Find, cu şi fără
utilizarea de constrângeri.




Fig. 6-5 – Funcţia Find
Atenţie: Pentru inserarea egalului ce intervine în ecuaţii, se va utiliza combinaţia
de taste CTRL şi = , sau butonul indicat în figura 6-6. Cuvântul cheie Given este
obligatoriu şi se va scrie ca în exemple.


Fig. 6-6 – Operatorul =

Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii
123
Funcţia Find poate utiliza diferiţi algoritmi pentru rezolvarea de sisteme de ecuaţii.
Alegerea se poate face automat (AutoSelect, sau „manual” - vezi figura 6-7).








Fig. 6-7 – Alegerea algoritmului utilizat de funcţia Find

Procesul de căutare a soluţiei de către funcţia Find este influenţat de variabile
predefinite TOL şi CTOL.
Variabila TOL controlează procesul de rezolvare în sensul precizat în § 6-2.
Variabila CTOL controlează nivelul de precizie cu care o constrângere dintr-un bloc
Given este satisfăcută. Astfel condiţia x>0 din figura 6-5 va fi considerată satisfăcută şi
dacă x>0,001 dacă valoarea CTOL este 0,001. Este evident că şi variabila CTOL
determină nemijlocit precizia soluţiei întoarsă de funcţia Find.
Funcţia Find poate fi utilizată şi pentru rezolvarea de sisteme algebrice liniare, sau a
ecuaţiilor (algebrice sau transcendente), care pot fi privite ca sisteme cu o singură
ecuaţie şi o singură necunoscută.
Constrângerile dintr-un bloc Given se pot defini cu ajutorul operatorilor booleeni (vezi
figura 6-6), mai puţin operatorul ≠.
Funcţia Find impune limitarea numărului de ecuaţii şi constrângeri la 200.

Capitolul 6
124

Dacă funcţia Find nu întoarce o soluţie (ceea ce se poate întâmpla fie pentru că ea nu
există, fie pentru că este prea „departe” de estimarea iniţială), se poate recurge le
funcţia Minerr. Aceasta va întoarce întotdeauna un răspuns care trebuie privit ca o
soluţie aproximativă (ce poate fi eventual folosită ca o nouă estimare pentru soluţie în
cazul reutilizării funcţiei Find).
Modul de utilizare e lui Minerr, este identic cu cel prezentat în cazul lui Find (inclusiv
precizarea unei estimări iniţiale pentru soluţie).
În figura 6-8 este prezentat un exemplu de utilizare a funcţiei Minerr.


Fig. 6-8 – Utilizarea funcţiei Minerr

Se recomandă înlocuirea lui Minerr cu Find în secvenţa din figura 6-8.
6.5 Rezolvarea aproximativă a sistemelor neliniare

125
7 Derivare şi integrare numerică. Calcul
de sume şi produse

Obiective


• Prezentarea tehnicilor de integrare şi derivare numerice
• Calculul de sume şi produse în Mathcad



7 Derivare şi integrare numerică. Calcul de sume
şi produse ______________________________ 125
7.1 Derivarea numerică ..................................................................................125
7.2 Integrarea numerică .................................................................................127
7.3 Calcul de sume şi produse ........................................................................128

7.1 Derivarea numerică
Capitolul 7
126
Pentru realizarea de derivări numerice se pot folosi operatorii sau . Ei pot
fi obţinuţi fie prin utilizarea combinaţiilor de taste ?, 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 reţine următoarele:
• înaintea aplicării unui operator de derivare trebuie precizat punctul în care
se calculează derivata;
• funcţia 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 obţinute sunt corecte în limitele unei precizii de 7-8 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.
În figura 7-2 sunt prezentate câteva exemple de utilizare a operatorilor de derivare.
Derivare şi integrare numerică. Calcul de sume şi produse
127


Fig. 7-2 - Derivări numerice

Pentru calculul de integrale definite se poate folosi operatorul . El poate fi
inserat într-un document Mathcad fie prin utilizarea tastei &, fie a butonului
corespunzător ( ) de pe bara de instrumente Calculus (vezi figura 7-1).
Într-o secvenţă de forma: , elementele componente trebuie să respecte
următoarele condiţii:
• funcţia 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 unităţi de
măsură, să o utilizeze ambele pe aceeaşi (folosită şi pentru variabila de
integrare);
• metoda de calcul a integralei este aleasă automat de Mathcad, se poate
însă „forţa” 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;

7.2 Integrarea numerică
Capitolul 7
128

Fig. 7-3 – Stabilirea algoritmului de calcul a integralei
• dacă se apasă de mai multe ori pe tasta & (sau pe butonul ) se 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ă


Evaluarea numerică a sumelor sau produselor se poate face utilizând operatorii:









Au fost precizate şi combinaţiile de taste aferente fiecărui operator. Se pot utiliza şi
butoanele barei de instrumente Calculus (vezi figura 7-1).
Utilizarea operatorilor este ilustrată în figura 7-5.
7.3 Calcul de sume şi produse
Derivare şi integrare numerică. Calcul de sume şi produse
129


Fig. 7-5 - Calcul de sume şi produse


131
8 Utilizarea unităţilor de măsură în
documentele Mathcad

Obiective


• Prezentarea modului de lucru cu unităţi de măsură în
Mathcad
• Utilizarea unităţilor de măsură în calculul diferenţial şi
integral


8 Utilizarea unităţilor de măsură în documentele
Mathcad _______________________________ 131
8.1 Mod de lucru .............................................................................................132
8.2 Definirea de unităţi de măsură ................................................................133
8.3 Modificarea unităţilor de măsură în care este exprimat un rezultat ...134
8.4 Alegerea sistemului de unităţi de măsură utilizat şi controlul formatului
de afişare a rezultatelor cu unităţi de măsură......................................................136
8.5 Utilizarea UM în calculul integral sau diferenţial..................................139

Număr de pagini 7

Capitolul 8
132

Posibilitatea de a lucra cu unităţi de măsură este una din facilităţile 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, când se lucrează
cu unităţi de măsură (UM), MathCAD realizează în afara calculelor şi următoarele două
acţiuni :
• Verifică dacă expresiile sunt omogene din punct de vedere dimensional;
• Execută toate transformările pe care o expresie ce conţine 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 8-1.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 omogenităţii dimensionale şi realizarea de transformări

În MathCAD, unităţile de măsură sunt de fapt nişte variabile cu valori prestabilite. Din
acest motiv, ataşarea unei UM de o variabilă sau constantă, se face înmulţind variabila
sau constanta cu numele UM. Astfel cele două expresii de mai sus au fost obţinute cu
secvenţele :
2*kg-3*liter=, respectiv 2*m-30*cm=
Trebuie totuşi precizat că în Mathcad 2001, atunci când o valoarea numerică este
urmată imediat de numele unei unităţi de măsură, este posibilă eliminarea operatorului
de înmulţire (*).
Acest mod de lucru presupune în mod evident cunoaşterea numelor corecte (pentru
MathCAD) ale UM. Cum aceste nume nu coincid întotdeauna cu cele româneşti, se
8.1 Mod de lucru
Utilizarea unităţilor de măsură în documentele Mathcad
133
poate utiliza câmpul Insert ⇒ Unit… (se poate folosi şi shortcut-ul CTRL + U).
Rezultatul va fi apariţia ferestrei Insert Unit, prezentată în figura 8-2, care va insera în
document numele UM selectate. Atenţiune, în fereastra Insert Unit există două liste,
una cu numele mărimilor fizice (Dimension) şi una cu numele unităţilor de măsură
propriu-zise (Units). Selectarea unei mărimi fizice, va determina apariţia în lista Units
a unităţilor de măsură disponibile în MathCAD specifice mărimii fizice considerate.


Fig. 8-2 – Inserare de unităţi de măsură


Este posibilă şi definirea de noi unităţi de măsură, sau a unor multipli sau submultipli
unor unităţi de măsură existente. Cum unităţile de măsură în Mathcad sunt de fapt
nişte variabile, procesul este extrem de simplu. În figura 8-3 este prezentat un
exemplu de definire a unui multiplu de unitate de măsură.
8.2 Definirea de unităţi de măsură
Capitolul 8
134

Fig. 8-3 – Definirea de noi unităţi de măsură, multipli sau submultipli de UM

Se atrage atenţia asupra posibilelor conflicte ce pot apărea atunci când se folosesc
nume de variabile identice cu numele unor unităţi de măsură definite. Astfel dacă într-
un document a fost definită o variabilă cu numele „m”, nu se va mai putea utiliza
unitatea de măsură metru, cu prescurtarea „m”, oriunde dedesubtul definirii variabilei
„m”.


Un rezultat care are ataşată o unitate de măsură (rezultat al unei expresii care conţine
UM), poate fi exprimat fără a mai face odată calculul în alte UM. În exemplul din
figura 8-4, rezultatul se obţine iniţial în kg*m/sec
2
(adică Newtoni). Se observă că la
sfârşitul rezultatului apare un marcator, în care utilizatorul poate “scrie” numele unei
UM. Dacă de exemplu, în acest marcator, se va scrie “km”, după apăsarea tastei F9,
rezultatul va fi cel de mai jos.

8.3 Modificarea unităţilor de măsură în care este exprimat un
rezultat
Utilizarea unităţilor de măsură în documentele Mathcad
135

a.







b.
Fig. 8-4 – Modificarea unităţilor de măsură în care este exprimat un rezultat

Se vede că dacă rezultatul iniţial s-a “înmulţit” cu 1 km, deci el este exprimat acum în
kg*km/sec
2
, valoarea se va împărţi la 1000, astfel încât rezultatul să rămână cel corect.
Un alt exemplu ar putea fi calculul din figura 8-5. Rezultatul este exprimat iniţial în
metri cubi. Dacă în placeholder-ul din dreapta rezultatului se scrie “liter”-şi se apasă F9
rezultatul afişat va fi :


a.

b.
Fig. 8-5 - Modificarea unităţilor de măsură în care este exprimat un rezultat

Dacă se şterge cuvântul “liter”, se va reveni la rezultatul iniţial, exprimat în metri cubi.

Uneori se doreşte eliminarea unităţilor de măsură ce „însoţesc” o variabilă. În
figura 8-6, este prezentat un astfel de exemplu. Eliminarea temporară a unităţii de
Capitolul 8
136
măsură se face prin împărţirea la funcţia predefinită UnitsOf(..), unde argumentul este
numele variabilei de care se „desprinde” temporar o anumită unitate de măsură.

Fig. 8-6 – Eliminarea temporară a unei unităţi de măsură ataşată unei variabile


Alegerea sistemului de unităţi de măsură în care vor fi afişate rezultatele calculelor cu
unităţi de măsură, se face prin utilizarea casetei de dialog Math Options (meniul
Math ⇒ Options), secţiunea Unit System (vezi figura 8-7).

8.4 Alegerea sistemului de unităţi de măsură utilizat şi
controlul formatului de afişare a rezultatelor cu unităţi de
măsură
Utilizarea unităţilor de măsură în documentele Mathcad
137

Fig. 8-7 – Alegerea sistemului de unităţi de măsură

Rezultatele calculelor cu UM, se pot exprima fie în nume de mărimi fizice, fie în nume
de unităţi de măsură. Alegerea modului de afişare se face din secţiunea Dimensions a
casetei de dialog Math Options.
În cazul în care se optează pentru afişarea rezultatelor în nume de mărimi fizice
(dimensions), este posibilă redefinirea numelor mărimilor fizice de bază. Acest lucru
se poate face prin scrierea în casetele de editare ale secţiunii Dimensions a casetei de
dialog Math Options (vezi figura 8-8).

Capitolul 8
138

Fig. 8-8 – Schimbarea numelor mărimilor fizice de bază

În figura 8-9 acelaşi rezultat este exprimat în nume de mărimi fizice, respectiv în nume
de unităţi de măsură.



a.


b.
Fig. 8-9 – Rezultate exprimate în nume de mărimi fizice sau în nume de UM

Utilizarea unităţilor de măsură în documentele Mathcad
139
Alte elemente legate de formatarea rezultatelor cu unităţi de măsură au fost prezentate
în § 3.7.


Este posibilă utilizarea UM în calculul integral sau cel diferenţial. În figura 8-10, sunt
prezentate astfel de exemple.



a. b.
Fig. 8-10 – Unităţi de măsură în calcul integral şi diferenţial

8.5 Utilizarea UM în calculul integral sau diferenţial

141
9 Schimb de informaţie între Mathcad şi
alte aplicaţii.

Obiective

• Prezentarea modalităţilor prin care se poate face schimp de
informaţie între Mathcad şi alte aplicaţii Windows:
o Excel
o Matlab
o Bază de date
• Prezentarea modului de lucru cu fişiere de date în Mathcad

9 Schimb de informaţie între Mathcad şi alte
aplicaţii. _______________________________ 141
9.1 Inserarea unei componente Excel ............................................................142
9.2 Inserarea unei componente MATLAB....................................................147
9.3 Inserarea unei componente de tip bază de date .....................................151
9.4 Inserarea unei componente de tip Input Table ......................................159
9.5 Inserarea unei componente de tip control MathSoft .............................160
9.6 Inserarea unei componente de tip citire (Read), scriere (Write) din/în
fişiere ....................................................................................................................163
9.7 Funcţii predefinite pentru citirea/scrierea din/în fişiere de date ASCII ....
....................................................................................................................166
Număr de pagini 23
Capitolul 9
142
Mathcad poate schimba informaţii cu alte aplicaţii. Acest lucru este posibil principial în
două moduri:
• prin intermediul fişierelor 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 funcţii şi capabilităţi specifice aplicaţiei (componentei)
incluse. O componentă poate primi date de la Mathcad, dar poate să şi transmită date
spre Mathcad, în mod dinamic, realizând astfel o legătură permanentă între
„componentă” şi documentul Mathcad „gazdă”.
Componentele ce pot fi conectate la Mathcad sunt:
• Axum – pentru realizarea de reprezentări 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 S-PLUS
Mathcad poate „transmite” unei componente un scalar, un vector, o matrice sau un şir
de caractere şi poate primi aceeaşi categorie de date. „Tranzacţia” se face prin
intermediul unor variabile de intrare (input variables), sau a unor variabile de ieşire
(output variables).
Cât priveşte schimbul de informaţie prin intermediul fişierelor de date, este posibilă fie
utilizarea inserării unei componente de tip scriere/citire în/din fişier, fie prin utilizarea
unor funcţii de acces la fişiere (păstrate de la versiuni anterioare, din dorinţa de a se
menţine compatibilitatea).


Se va simula în paragrafele ce urmează inserarea unui obiect Excel într-un document
Mathcad. Iniţial structura documentului Mathcad este simplă şi nu conţine decât
9.1 Inserarea unei componente Excel
Schimb de informaţie între Mathcad şi alte aplicaţii.
143
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).


Fig. 9-1 – Structura iniţială a documentului Mathcad

Se observă că în coloanele D şi E (Adaos, respectiv TVA), iniţial nu se găseşte nimic.
Acolo vor fi „aduse” valorile din documentul Mathcad.


Fig. 9-2 – Structura iniţială a documentului Excel

Paşii ce trebuie parcurşi pentru inserarea componentei Excel sunt următorii:
1. Insert ⇒ Component. Se alege din lista din caseta de dialog Component
Wizard componenta Excel;
2. Dacă fişierul Excel există deja (cum este cazul în exemplul de faţă), în caseta
Excel Setup Wizard, se alege numele fişierului [Excel] cu care se stabileşte
legătura (vezi figura 9-3);

Capitolul 9
144

Fig. 9-3 – Alegerea fişierului Excel cu care se stabileşte legătura

3. Etapa cea mai importantă presupune stabilirea numărului de variabile de
intrare pentru (în) componenta Excel (Inputs), respectiv numărul de variabile
de ieşire (transmise de Excel către 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 ieşire (vezi
figura 9-4);

Schimb de informaţie între Mathcad şi alte aplicaţii.
145

Fig. 9-4 – Stabilirea numărului de variabile de intrare/ieşire şi a zonelor din Excel unde
acestea vor acţiona

4. După apăsarea butonului Finish, în documentul Mathcad va apărea un obiect
ca cel din figura 9-5;


Fig. 9-5 – Obiectul Excel în prima fază de inserare în documentul Mathcad
Capitolul 9
146

5. Marcatorii se vor completa cu numele variabilelor de intrare, respectiv ieşire
(vezi figura 9-6);

Fig. 9-6 – Completarea numelor variabilelor de intrare/ieşire

6. 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 conţinutul variabilelor
Mathcad omonime şi că spre Mathcad a fost transferat conţinutul coloanei Pret
de vanzare. „Transferul” s-a făcut „în” variabila [Mathcad] Pret, evaluată de
altfel chiar sub obiectul Excel.

Schimb de informaţie între Mathcad şi alte aplicaţii.
147

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


Pentru exemplificare se consideră un exemplu care transmite aplicaţiei MATLAB 3
variabile (de tip scalar) şi primeşte de la acesta valoarea unei variabile de tip vector.
Cele 3 valori transmise MATLAB vor deveni argumente ale funcţiei logspace, care
creează un vector ale cărui elemente sunt egal spaţiate pe o scară logaritmică.
Structura iniţială a documentului Mathcad este cea din figura 9-8.


Fig. 9-8 – Structura iniţială a documentului Mathcad

Inserarea unei componente de tip MATLAB, presupune parcurgerea următoarelor
etape:
9.2 Inserarea unei componente MATLAB
Capitolul 9
148
1. Prin utilizarea câmpului Insert ⇒ Component ⇒ MATLAB, se va obţine
inserarea în documentul Mathcad a uni obiect ca cel din figura 9-9;

Fig. 9-9 – Prima fază a inserării unei componente MATLAB

2. Se execută clic dreapta pe obiectul inserat şi se punctează câmpul Edit
Script…;
3. În fereastra Script Editor [MATLAB], se scrie secvenţa din figura 9-10;


Fig. 9-10 – Generarea secvenţei MATLAB

4. Din meniul File (al casetei de dialog Script Editor - [MATLAB], se punctează
pe câmpul Close and Return şi se răspunde cu Yes la întrebarea Apply
changes?
5. Odată reîntorşi în mediul Mathcad este obligatorie setarea corectă a numelor
variabilelor de intrare şi respectiv de ieşire. 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 câmpului Properties. Tot implicit se consideră că există o singură
variabilă de intrare (input) şi tot una singură de ieşire (output). Modificarea
acestei stări se poate face prin utilizarea câmpurilor Add Input Variable,
respectiv Add Output Variable (este uşor de dedus funcţionalitatea
Schimb de informaţie între Mathcad şi alte aplicaţii.
149
câmpurilor Remove Input Variable, sau Remove Output Variable). În
cazul de faţă se va utiliza de două ori câmpul Add Input Variable, astfel că
se va ajunge la o situaţie ca cea din figura 9-11;


Fig. 9-11 – Adăugarea de variabile de intrare

După adăugarea a două variabile de intrare, se realizează efectiv schimbarea
numelor implicite ale variabilelor de intrare/ieşire. Acest lucru se face prin
utilizarea câmpului Properties, ceea ce va conduce la caseta de dialog din
figura 9-12.a. Schimbarea numelor variabile de ieşire se face aşa cum se vede
în figura 9-12.b.


a. b.
Fig. 9-12 – Modificarea numelor variabilelor de intrare/ieşire

Capitolul 9
150
6. Apăsarea butonului OK, determină revenirea în mediul Mathcad, unde se va
realiza completarea marcatorilor cu numele variabilelor, aşa cum se poate
vedea în figura 9-13;
7.

Fig. 9-13 – Completarea numelor de variabile

8. Un simplu clic în afara obiectului MATLAB, sau apăsarea tastei F9, va determina
actualizarea componentei MATLAB şi implicit transferul de variabile între
aplicaţii. O eventuală evaluarea a variabilei vector, va produce efectul din
figura 9-14.

Fig. 9-14 – Evaluarea variabile de ieşire

Răspunsul îl reprezintă efectul utilizării în mediul MATLAB a funcţiei logspace şi
transmiterii către Mathcad a ceea ce această funcţie întoarce.

Schimb de informaţie între Mathcad şi alte aplicaţii.
151

Inserarea unei componente de tip ODBC (Open Database Connectivity), permite
interogarea unei baze de date al cărei driver suportă SQL (Structured Query
Language). În această categorie intră de exemplu Microsoft Access, sau FoxPro.
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 câte ori se încearcă accesarea unei baze de date
dintr-o altă aplicaţie decât 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 fişierul tabel_centralizator.mdb şi care conţine 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 următoarele etape:
1. Activarea Control Panel şi deschiderea aplicaţiei Administrative Tools;
2. Lansarea aplicaţiei Data Sources (ODBC);
3. În caseta de dialog ODBC Data Source Administrator, se alege o sursă de
date (o bază de date), sau se defineşte una nouă (este vorba de fapt despre un
„link” - o legătură - „spre” o bază de date de un anumit tip (vezi figura 9-16);
9.3 Inserarea unei componente de tip bază de date
Capitolul 9
152
4. Î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 legătura la baza de
date propriu zisă;
5. După alegerea driver-ului şi apăsarea butonului Finish, se va ajunge la caseta
de dialog ODBC Microsoft Access Setup (vezi figura 9-18), de unde se
alege baza de date cu care se va stabili legătura (butonul Select din secţiunea
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

Schimb de informaţie între Mathcad şi alte aplicaţii.
153
6. Procesul se încheie prin apăsarea butoanelor OK până la ieşirea din procesul de
configurare a bazei de date (a legăturii la o bază de date).


Fig. 9-17 – Alegerea driver-ului (programului) ce va permite accesul la baza de date

Capitolul 9
154

Fig. 9-18 – Alegerea bazei de date propriu zise (a fişierului)


Fig. 9-19 – Stabilirea unui utilizator şi a unei parole de acces ulterior
Schimb de informaţie între Mathcad şi alte aplicaţii.
155
După ce procesul de configurare a legăturii 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 următoarele acţiuni:
1. Din meniul Insert ⇒ Component se alege ODBC Read;
2. Din caseta de dialog ODBC IO Wizard (vezi figura 9-20), se alege legătura
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);


Fig. 9-20 – Selectarea legăturii la baza de date, precizarea utilizatorului şi parolei

3. Din caseta de dialog File Read or Write Wizard (vezi figura 9-21), se alege
tabelul din componenţa bazei de date ce va fi interogat. În exemplul considerat
baza de date conţine doar un tabel (numit chiar Tabel1);

Capitolul 9
156

Fig. 9-21 – Alegerea tabelului din baza de date
4. Din lista de câmpuri se va selecta (alege) câmpul (sau câmpurile) ce vor fi
„comunicate” Mathcad-ului (vezi figura 9-22);


Fig. 9-22 – Stabilirea câmpului (câmpurilor) ce vor fi transmise Mathcad

5. În documentul Mathcad se va insera o secvenţă de tipul celei din figura 9-23.a.
Este obligatorie completarea numelui variabilei de ieşire (pentru baza de date),
sau de intrare pentru Mathcad (vezi figura 9-23.b);
Schimb de informaţie între Mathcad şi alte aplicaţii.
157


a.


b.
Fig. 9-23 – Definirea variabilei în care vor fi extrase datele din baza de date

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


Fig. 9-24 – Evaluarea variabilei de ieşire

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ă câmpul
Properties…, se poate ajunge la secţiunea Advanced a casetei de dialog din
figura 9-25, cu ajutorul căreia se poate impune o clauză de tip WHERE. În exemplul
considerat s-a impus o condiţie de tipul Salariul > 8000000, ceea ce a condus la o
evaluare a variabilei de ieşire (A), ca în figura 9-26.

Capitolul 9
158

Fig. 9-25 – Impunerea unei clauze WHERE


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



Schimb de informaţie între Mathcad şi alte aplicaţii.
159

Este posibilă „scrierea” într-o variabilă Mathcad a conţinutului unui tabel (asemănător
cu unul generat în Excel) creat „ad-hoc”, sau eventual citirea dintr-un fişier de date de
unul din tipurile enumerate în § 9.6.
Dacă se doreşte citirea într-o variabilă Mathcad a conţinutului 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 stânga în oricare dintre celulele tabelului şi se completează
conţinutul;
3. Iniţial sunt afişate numai două linii şi două coloane ale tabelului, dar prin
utilizarea grupului de patru săgeţi sus, jos, stânga, dreapta , este posibilă
accesarea (şi completarea) altor zone ale tabelului;
4. Se completează în colţul din stânga sus numele variabilei în care se scrie
tabelul (vezi figura 9-27).


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

Dacă se doreşte citirea dintr-un fişier de date, după parcurgerea primei etape din cele
patru descrise, se execută clic dreapta pe zona tabelului şi din meniul pop-up se
selectează câmpul Import… . Se va ajunge la o casetă de dialog de tip Read From
File, cu ajutorul căreia se selectează fişierul din care se va face citirea.
9.4 Inserarea unei componente de tip Input Table
Capitolul 9
160
În ambele cazuri, este posibilă formatarea tabelului, prin executarea aceluiaşi clic
dreapta, urmat de opţiunea Properties, ceea ce va conduce la caseta de dialog din
figura 9-28, ale cărei câmpuri au semnificaţii uşor de înţeles.



Fig. 9-28 – Formatarea tabelelor de tip Input Table


Este posibilă inserarea în documentele Mathcad a aşa numitelor „elemente de control”
de tipul celor enumerate şi reprezentate în figura 9-29. Aceste elemente [de control]
funcţionează similar cu cele din categoria Microsoft Forms Controls.


9.5 Inserarea unei componente de tip control MathSoft
Schimb de informaţie între Mathcad şi alte aplicaţii.
161
Check Box

ListBox

PushButton

RadioButton

Slider

TextBox

Fig. 9-29 – Elemente de control

Trebuie subliniat că aceste componente mai fac parte din categoria aşa numitelor
„Scriptable Object Component” (SOC). Utilizarea „la maxim” a acestor obiecte
presupune cunoştinţe de programare într-un limbaj de tipul Java sau Visual Basic.
Astfel se vor putea asocia controalelor evenimente complexe şi dezvolta aplicaţii
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 funcţie de tipul elementului de control şi a acţiunii 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 ieşire (output) – cum este cea implicită,
plasată în colţul din stânga sus, dar şi de tip input (de intrare). Se recomandă
prudenţă în ataşarea de mai multe variabile de un element de control şi oricum se face
precizarea că într-o astfel de situaţie este obligatorie folosirea facilităţilor de
programare.
Capitolul 9
162
Un element de control odată inserat, folosind tehnica clicului dreapta se poate face apel
la câmpul Properties, cu ajutorul căruia se poate controla aspectul şi comportarea
obiectului.
Având în vedere complexitatea subiectului, nu se va insista prea mult asupra acestui tip
de componente, urmând ca cei interesaţi să aprofundeze pe cont propriu domeniul.
În fine se mai atrage atenţia asupra faptului că utilizarea facilităţilor de configurare
(programare) ataşate 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 obţine 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
Schimb de informaţie între Mathcad şi alte aplicaţii.
163

În partea dreaptă a documentului Mathcad sunt evaluate variabilele legate de
elementele de control. Aplicaţia porneşte de la precizarea numelui unei persoane şi a
vârstei. Se mai precizează dacă persoana lucrează într-un mediu periculos. În funcţie
de aceste date, folosind funcţia if se stabilesc sporurile de vârsta şi respectiv de mediu
periculos. În final toate datele sunt centralizate într-o variabilă de tip vector ce conţine
numele, vârsta şi totalul sporurilor pentru persoana al cărei nume a fost precizat iniţial.


Este posibilă scrierea sau citirea în/din fişiere de diverse tipuri, prin utilizarea
componentei de tip File Read or Write. Inserarea unei astfel de componente se
realizează prin parcurgerea următoarelor etape:
1. Insert ⇒ Component ⇒ File Read or Write;
2. Alegerea tipului de operaţie ce se va executa (citire sau scriere) – vezi
figura 9-31;


Fig. 9-31 – Stabilirea tipului de operaţie ce se va executa

3. Stabilirea tipului de fişier în care se va scrie sau din care se va citi, precum şi
numele acestui fişier şi poziţia sa în arborele de directoare (vezi figura 9-33).
Mathcad „ştie” să scrie sau să citească în/din următoarele tipuri de fişiere:
• Formatted Text (text formatat);
9.6 Inserarea unei componente de tip citire (Read), scriere
(Write) din/în fişiere
Capitolul 9
164
• Tab Delimited text (text în care câmpurile sunt separate de
caractere TAB);
• Comma Separated Values (text în care câmpurile sunt separate
prin punct şi virgulă);
• Matlab;
• Excel;
• Lotus 1-2-3;
• Quattro Pro;
• dBase III;
• S-Plus.


Fig. 9-32 – Stabilirea tipului de fişier şi a poziţiei în structura de directoare

Dacă este vorba de operaţii de citire din fişiere, Mathcad „citeşte” conţinutul fişierelor în
variabile de tip matrice.
Pentru exemplificare se consideră scrierea în fişiere de tip text, a unei variabile de tip
matrice prezentată în figura 9-33.
Schimb de informaţie între Mathcad şi alte aplicaţii.
165

Fig. 9-33 – Generarea de fişiere de tip text (ASCII)

Rezultatele sunt prezentate în figura 9-35.

a.
b.

c.

Fig. 9-34 – Fişiere ASCII obţinute cu ajutorul unei componente de tip File Read or
Write


Capitolul 9
166

În versiunile mai vechi de Mathcad, accesul la fişiere de date era posibil prin utilizarea
unor funcţii predefinite. Astfel de funcţii operau NUMAI cu fişiere text (ASCII), de două
tipuri: structurate şi nestructurate. Nu se puteau scrie în fişiere decât valori numerice,
mai precis vectori sau matrice.
Primul [tip de fişiere] conţine datele „structurate” (de unde şi numele) pe rânduri şi
coloane, astfel că o corespondenţă fişier matrice este imediată. Al doilea tip conţine
datele aranjate sub forma unui şir de valori, ceea ce conduce imediat la concluzia că
astfel de fişiere sunt destinate stocării de vectori. Este cât se poate de corect să se
scrie matrice în fişiere nestructurate, dar va fi imposibilă restaurarea matricei (revenirea
la un anumit număr de linii şi coloane). Are sens să se scrie vectori în fişiere
structurate, pentru că astfel se va putea face distincţia între vectorii linie şi cei coloană.
Funcţiile de citire/scriere predefinite corespund componentelor de tip File Read or
Write, când se optează pentru fişiere cu extensia *.dat (acestea sunt fişiere
nestructurate), sau *.prn (acestea sunt fişiere structurate).
Funcţiile de citire/scriere din/în fişiere de date ASCII sunt:
• Pentru fişiere nestructurate
- WRITE(„nume-fişier”) – scrie într-un fişier nestructurat
- READ(„nume_fişier”) – citeşte dintr-un fişier nestructurat
- APPEND(”nume_fişier”) – adaugă date la un fişier nestructurat
• Pentru fişiere structurate
- WRITEPRN(„nume-fişier”) – scrie într-un fişier structurat
- READPRN(„nume_fişier”) – citeşte dintr-un fişier structurat
- APPENDPRN(„nume_fişier”) – adaugă date la un fişier structurat
Funcţiile de tip scriere obişnuită (WRITE, WRITEPRN) în cazul în care au ca argument
numele unui fişier existent în momentul apelării, va scrie „PESTE” fişierul vechi,
distrugând complet şi IREMEDIABIL datele din acesta. Dacă fişierul argument nu există
în momentul apelării funcţiei, acesta va fi creat. Spre deosebire de funcţiile WRITE şi
WRITEPRN, funcţiile APPEND şi APPENDPRN, atunci când au ca argument numele unui
9.7 Funcţii predefinite pentru citirea/scrierea din/în fişiere de
date ASCII
Schimb de informaţie între Mathcad şi alte aplicaţii.
167
fişier existent în momentul apelării, scriu în continuarea datelor, fără să le distrugă pe
cele existente.
Se mai face precizarea că în cazul fişierelor structurate este posibil ca fişierul să conţină
o primă linie de text (care însă să nu înceapă cu o cifră).
O altă regulă ce trebuie reţinută este că funcţiile de scriere (WRITE, WRITEPRN,
APPEND, APPENDPRN), trebuie să apară singure în membrul stâng al unei relaţii de
atribuire, în vreme ce funcţiile de citire (READ, READPRN) apar în membrul drept al
unor relaţii de atribuire. Funcţiile de citire pot fi şi evaluate (după nume se poate insera
operatorul de evaluare „=”).
În exemplele ce urmează sunt ilustrate câteva ipostaze de utilizare a funcţiilor
predefinite de acces la fişiere de date.


Chestia cu PRNCOLWIDTH şi restul


169
10 Programare în Mathcad

Obiective


• Familiarizarea cititorului cu structurile de programare
oferite de Mathcad
• Prezentarea tehnicilor de control a execuţiei programelor



10 Programare în Mathcad________________ 169
10.1 Prezentare generală ..................................................................................170
10.2 Instrucţiunea de test (if) ...........................................................................173
10.3 Instrucţiuni de ciclare...............................................................................175
10.4 Controlul execuţiei programelor .............................................................178
10.5 Subrutine (program în program) ............................................................182
10.6 Recursivitate..............................................................................................183


Număr de pagini 14

Capitolul 10
170

Mathcad dispune de facilităţi de programare, deşi 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 folosiţi decât în „corpul” unor structuri de programare ce fac
parte din foile de lucru Mathcad.
Programele scrise în Mathcad sunt de tipul funcţiilor utilizate în limbajele de programare
avansate (de tip Pascal, C, Fortran etc).
Funcţiile create în Mathcad cu ajutorul operatorilor de programare „primesc” de la
documentul în interiorul căruia se găsesc date prin intermediul unor variabile argument
şi „întorc” spre documentul „gazdă”, rezultatul ultimei evaluări din corpul funcţiei.
Î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 defineşte o funcţie care „primeşte” de la documentul
Mathcad numele variabilei argument. În corpul funcţiei este calculată suma şi numărul
10.1 Prezentare generală
Programare în Mathcad
171
elementelor pozitive. Ultima instrucţiune din corpul funcţiei calculează media, iar
valoarea rezultată este transmisă documentului Mathcad.
Odată definită, funcţia poate fi apelată ori de câte 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 secvenţe 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 funcţionează după filozofia „clasică”, fapt
pentru care nu se vor explica în detaliu elemente ce ţin de logica fiecărei structuri în
parte. Pentru aceasta se poate eventual consulta Help-ul Mathcad.
Se vor face totuşi câteva observaţii cu caracter general.
• În general, definirea de structuri de programare în MathCAD nu se poate
realiza decât cu ajutorul butoanelor de pe paleta de programare şi nu prin
scrierea directă la prompter +. Este evident că pentru a deveni funcţionale,
toate secţiunile de mai sus trebuie sa aibă completate CORECT, toate
placeholder-ele (marcatoarele). Toate structurile de programare TREBUIE sa
apară, NUMAI în dreapta unei secţiuni de tip Add Line;
• Inserarea într-un document MathCAD a unui program trebuie să înceapă deci
cu “apăsarea” butonului . Primul efect va fi apariţia unei linii verticale
la dreapta căreia se vor găsi două “placeholdere”, ca în exemplul din figura
10-3.
Capitolul 10
172

Fig. 10-3 – Marcatori inseraţi de secvenţa 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
iniţiale şi se apasă încă odată pe butonul Add Line. Sub marcatorul selectat se
va mai insera unul nou. Procesul poate continua până când se va obţine
numărul de marcatoare (linii de program) necesare;
• În cadrul programelor [Mathcad] pentru atribuire nu se foloseşte „:=”, ci
operatorul (vezi figura 10.2);
• Variabilele din corpul unui program [Mathcad] au regim de variabilă locală, deci
se poate folosi acelaşi nume de variabilă atât în corpul unui program cât şi în
documentul [Mathcad] care conţine programul, fără să se producă nici o
confuzie. Cu toate acestea într-un program Mathcad se poate face referire la o
variabilă sau o funcţie definită anterior în documentul Mathcad – vezi
figura 10-4;


Fig. 10-4 – Variabile locale

Se poate observa că în definirea funcţiei f(x), corpul funcţiei „recunoaşte”
variabila a ce „vine” din documentul Mathcad şi că în cazul funcţiei g(y),
variabila a ia în corpul funcţiei o valoare ce nu se „simte” în documentul gazdă.
Programare în Mathcad
173
• Secvenţele de program Mathcad pot conţine şi evaluări simbolice, cu observaţia
că nu pot fi evaluate simbolic secvenţele ce conţin declaraţiile return şi
on error. În figura 10-5 este prezenta un program Mathcad ce conţine
elemente de calcul simbolic. Programul defineşte structura unui polinom de
grad n. După definirea funcţiei, pentru evaluare se vor parcurge următorii paşi:
1. După ce se scrie f(3), se tastează CTRL+SHIFT+. (ceea ce va insera
operatorul de evaluare simbolică);
2. În marcatorul ce apare (vezi figura 10-5.a), se scrie cuvântul cheie
expand;
3. Se tastează F9. Se va obţine rezultatul din figura 10-4.b.



a. b.
Fig. 10-5 – Secvenţă de programare ce conţine elemente de calcul simbolic

Pentru ilustrarea tehnicilor de programare în Mathcad, mai jos sunt prezentate câteva
exemple:


“Clasica” secvenţă „if” funcţionează în context Mathcad în logica bine cunoscută.
Expresia din stânga cuvântului cheie if este evaluată numai dacă expresia (condiţia) 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.
10.2 Instrucţiunea de test (if)
Capitolul 10
174
Dacă se doreşte executarea mai multor instrucţiuni în cazul în care condiţia de după if
este evaluată TRUE, după selectarea marcatorului din stânga cuvântului cheie if (vezi
figura 10-6.a), se „apasă’ butonul Add line şi se obţine o secvenţă ca cea din
figura 10-6.b.



a. b.
Fig. 10-6 – Secvenţa if

Pentru exemplificare, mai jos sunt sugerate câteva probleme rezolvate cu ajutorul
secvenţei if.
În figura 10-7 sunt definite două funcţii cu expresii diferite pe intervale. Cuvântul cheie
otherwise se traduce prin „în rest”.


Fig. 10-7 – Funcţii definite pe intervale

10.2.1 Definirea de funcţii pe intervale.
Programare în Mathcad
175

Structurile de ciclare permit executarea unei secvenţe de instrucţiuni de mai multe ori.
Numărul de execuţii poate fi cunoscut (ca în cazul secvenţei for), sau nu (ca în cazul lui
while). Mai jos sunt prezentate câteva exemple simple de utilizare a unor secvente de
ciclare.
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.

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 neîntreagă
Este posibilă proiectarea unei structuri de ciclare utilizând secvenţa for, dar cu
incrementare neîntreagă. În figura 10-10 se poate analiza un astfel de exemplu.
10.3 Instrucţiuni de ciclare
10.3.1 Instrucţiunea for
Capitolul 10
176


Fig. 10-10 – Buclă for cu incrementare neîntreagă
10.3.1.4 Instrucţiunea while
Problema în cazul secvenţelor while este să se asigure „intrarea” în ciclu, dar şi
„ieşirea” din acesta. Logica unei construcţii de tip while (vezi fig 10-11) este
următoarea:
Atâta timp cât „condiţie” este evaluată TRUE sau la o valoare pozitivă, vor fi executate
instrucţiunile 1…n. Pentru a se asigura „ieşirea” din bucla while trebuie ca în cadrul
instrucţiunilor 1…n să se ajungă la evaluarea FALSE sau la o valoare negativă a
condiţiei.


Fig. 10-11 - Secvenţa while

Programare în Mathcad
177
Pentru o mai bună înţelegere a utilizării construcţiei while, mai jos sunt prezentate
câteva exemple.

10.3.1.5 Calculul lui n!


Fig. 10-12 - Calculul lui n!
10.3.1.6 “Găsirea” primului element al unui vector mai mare decât o
anumită valoare
În figura 10-13 este prezentat un program care „găseşte” primul element al unui
vector mai mare decât o anumită valoare (prag).


Fig. 10-13 - “Găsirea” primului element al unui vector mai mare decât o anumită
valoare

Capitolul 10
178

Secvenţa de tip break permite ieşirea „forţată” dintr-o buclă la îndeplinirea unei
anumite condiţii. Această logică impune asocierea lui break cu o construcţie if.
Acţiunea de tip break are loc numai când condiţia 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 secvenţe de tip
break.

Calculul lui n! utilizând secvenţa BREAK


Fig. 10-14 – Utilizarea secvenţei break

Observaţie: Se va nota că pentru scrierea condiţiei din dreapta lui if s-a folosit egalul ce
apare şi în structura funcţiei Fiind (CTRL+=).
Structura de tip continue permite ieşirea „forţată” dintr-o iteraţie. Dacă aceasta este
conţinută într-o alta (iteraţii imbricate), se execută iteraţia de nivel superior următoare.
Dacă iteraţia nu este conţinută într-o alta, se „sare” la următorul pas de iterare de
după cel întrerupt.
Ca şi în cazul lui break, continue se asociază cu o construcţie 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
10.4 Controlul execuţiei programelor
10.4.1 Secvenţa break
10.4.2 Secvenţa continue
Programare în Mathcad
179
reprodus un exemplu ce figurează în modului Quicksheets, la capitolul
Programming. Funcţia calculează suma numerelor impare de la 0 la n. În program se
face apel la funcţia predefinită mod, care întoarce restul împărţirii primului argument la
cel de-al doilea.


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


Fig. 10-16 – Calculul sumei numerelor naturale impare mai mici decât n

Capitolul 10
180
Aşa cum s-a mai spus, un program Mathcad „întoarce” rezultatul ultimei evaluări.
Construcţia return permite ca un program să se întrerupă şi să întoarcă documentului
din care face parte altceva decât rezultatul evaluării ultimei linii de program. Ca şi în
cazul secvenţelor 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 observaţia că aşa cum e scris programul matricea este parcursă pe coloane.
Rezultatul nu ar fi fost acelaşi dacă s-ar fi inversat între ei indicii i şi j.
Secvenţa on error permite detectarea unor erori de program, care în general ar fi
produs întreruperea execuţie acestuia şi trimiterea unui mesaj de eroare general, care
nu permite o depistare imediată a cauzei care a condus la eroare. Construcţia on
error permite chiar şi definirea unor mesaje de eroare clare, ce fac astfel mai facilă
depanarea programelor.
10.4.3 Secvenţa return
10.4.4 Secvenţa on error
Programare în Mathcad
181
Î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 împărţire cu zero. O astfel
de situaţie poate fi „stăpânită” prin utilizarea construcţiei „on error”. Se poate observa
că este posibilă şi generarea unui mesaj de eroare cât se poate de clar şi care se
„produce” numai când are loc împărţirea la zero.


Fig. 10-18 – Structura on error
Capitolul 10
182

Fig. 10-19 – Funcţia error

Este posibilă generarea unui anumit mesaj de eroare şi prin utilizarea funcţiei error,
aşa cum se poate vedea mai jos, în figura 10-19.
Diferenţa este că de această dată funcţia nu se va executa, iar mesajul de eroare apare
numai atunci când se execută clic stânga pe numele funcţie (colorat în roşu, ca semn
de eroare).


Odată o funcţie definită printr-o secvenţă de programare Mathcad, este posibilă
folosirea ei în corpul unui alt program (funcţie), cu respectarea regulii de parcurgere a
documentelor de către Mathcad (de la stânga la dreapta şi de sus în jos).
10.5 Subrutine (program în program)
Programare în Mathcad
183

Programarea în Mathcad permite recursivitate, adică definirea unei funcţii în raport cu
ea însăşi. Acest lucru este posibil cu respectarea condiţiilor:
- să existe o definiţie a unei funcţii în raport cu o valoare anterioară a ei;
- să fie definită o condiţie iniţială 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ă condiţia care asigură evitarea recursivităţii la infinit, iar a doua
[linie] defineşte funcţia în raport cu o valoare anterioară a acesteia.
De menţionat că recursivitatea deşi produce programe mai compacte şi deci mai uşor
de urmărit nu este o metodă care asigură o eficienţă de calcul pe măsură.



Fig. 10-20 – Recursivitate



10.6 Recursivitate

185
11 Calcul simbolic

Obiective


• Familiarizarea cititorului cu facilităţile oferite de Mathcad în
domeniul calcului simbolic
• Prezentarea tehnicilor de evaluare simbolică


11 Calcul simbolic _______________________ 185
11.1 Prezentare generală ..................................................................................186
11.2 Modalităţi de evaluare simbolică.............................................................188

Număr de pagini 21
Capitolul 12
186


Una din cele mai spectaculoase facilităţi ale MathCAD, este posibilitatea de evaluare
simbolică a expresiilor. Spre deosebirea de evaluarea obişnuită care produce numai
rezultate strict numerice, evaluarea simbolică ştie să opereze cu simboluri, astfel încât
rezultatele înseşi ale evaluărilor simbolice conţin simboluri. Acestea sunt nume de
variabile, de constante predefinite, sau chiar de funcţii. În figura 11-1 sunt prezentate
doar câteva exemple de evaluări simbolice.


Fig. 11-1 – Exemple de evaluări simbolice

Trebuie precizat că în funcţie 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:




11.1 Prezentare generală
Animaţie în MathCAD
187
Fig. 11-2 – Selectarea totală a unei expresii ce se va evalua simbolic

În alte situaţii, se va selecta numai numele unei variabile sau o subexpresie dintr-o
expresie, ca în exemplul din figura 11-3, care rezolvă simbolic o ecuaţie de gradul 2 :

În acest din urmă caz, cursorul a fost pur şi simplu plasat în imediata vecinătate a
variabilei în raport cu care se va face calculul simbolic (aici găsirea soluţiilor ecuaţiei de
gradul 2 în x).
În general, modul cum se realizează selecţia ce precede calculul simbolic, este în acord
logic cu calculul. Este normal ca în cazul rezolvării simbolice a unei ecuaţii să se
specifice care să fie variabila care denumeşte necunoscuta, după cum dacă se doreşte
factorizarea unei expresii este logic să se selecteze toată expresia (ca în exemplele de
mai sus). Asupra acestor chestiuni se va reveni când 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 conţine
următorii operatori :
• Operatorii scalari şi matriceali +, -, *, /, putere (^), radical, conjugat, complex,
sumă, produs, derivare, integrare, transpusa şi determinantul unei matrice;
• Funcţiile trigonometrice, hiperbolice, inversele acestora, logaritmică,
exponenţială, Re, Im, erf, mod, max, min, identity, şi eigenvals pentru matrice;
• Nume de variabile şi constante, inclusiv constantele predefinite π, e, şi simbolul
infinit.


Fig. 11-3 – Selectarea unei variabile dintr-o expresie ce se va evalua simbolic
Modul de
selectare
Capitolul 12
188

În cazul evaluărilor simbolice, rolul operatorului „=” este luat de operatorul de evaluare
simbolică „→”. Acesta, atunci când este folosit fără altă „indicaţie” explicită, întoarce o
versiune simplificată a expresiei (termenul „simplificată” având aici un înţeles foarte
larg. În general operatorul de evaluare simbolică se va utiliza ca atare în cazul
calculelor [simbolice] de integrale sau diferenţiale, aşa cum se poate vedea în
figura 11-4.
Operatorul de evaluare simbolică se foloseşte astfel:
• se selectează expresia de evaluat;
• se tastează combinaţia de taste CTRL + . (sau se foloseşte 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 utilizării operatorului de evaluare simbolică.



CTRL +.


F9 sau clic stânga în afara expresiei
Fig. 11-4 – Utilizarea operatorului de evaluare simbolică „→”

11.2 Modalităţi de evaluare simbolică
11.2.1 Evaluarea cu ajutorul operatorului de evaluare simbolică
Animaţie în MathCAD
189

Fig. 11-5 – Operatorul de evaluare simbolică

Pentru evaluări simbolice mai „bine ţintite”, se vor utiliza cuvinte cheie (vezi § 11.2.2).
Pentru realizarea de evaluări simbolice de un anumit tip, se recomandă utilizarea
următoarei „tehnici”:
• se selectează expresia de evaluat;
• se tastează combinaţia de taste CTRL + SHIFT + . , sau se foloseşte
butonul (vezi figura 11-6);


Fig. 11-6 – Operatorul de evaluare cu cuvânt cheie

• se ajunge la o situaţie ca cea din figura 11-7.a. În marcatorul necompletat
se va scrie un cuvânt cheie (vezi figura 11-7.b);
• se apasă tasta Enter şi se ajunge la o situaţie ca cea din figura 11-7.c.

a.

b.

c.

Fig. 11-7 – Evaluarea simbolică cu cuvânt cheie
11.2.2 Evaluarea cu ajutorul operatorului de evaluare simbolică şi a
cuvintelor cheie
Capitolul 12
190
Pentru evitarea oricăror probleme se recomandă utilizarea butoanelor cu cuvinte cheie,
de pe vara 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.
Cuvânt cheie Efect (semnificaţie)
complex
Evaluarea complexă a unei expresii (cu separarea părţilor reală,
respective complexă).
Exemple:
- Evaluare cu operatorul

- Evaluare cu cuvântul cheie complex

Se observă că în cel de-al doilea caz rezultatul are părţile imaginară
şi reală bine separate.
float, [m]
Forţează evaluarea numerică cu m (0≤m≤250) cifre (care includ şi
partea întreagă, dar nu şi punctul zecimal) a unei expresii. Dacă
parametrul m lipseşte, valoarea implicită a numărului de zecimale
este 20.
Exemple:

Animaţie în MathCAD
191
simplify
Simplifică (prin reduceri de termeni, simplificări, sau prin utilizarea
formulelor trigonometrice sau a funcţiilor inverse) o expresie.
Exemple:

expand,
[expr]
Dezvoltă produsele de sume, sau funcţii trigonometrice de sume,
sau fracţii (care sunt descompuse în sume de fracţii simple). Dacă
parametrul expr există, atunci subexpresia expr nu va fi afectată de
expandare.
Exemple:
- Evaluare fără parametrul expr

- Evaluare cu parametrul expr

factor,
[expr]
Factorizează (transformă în produse de factori) o expresie. Dacă
argumentul expr există (el este opţional) în cazul factorizării
expresiilor ce conţin radicali factorizarea se va face în raport cu expr.
Tot cu ajutorul cuvântului cheie factor se poate realiza
descompunerea unui număr întreg în factori primi. Cuvântul cheie
factor se mai poate folosi şi pentru transformarea unei sume de
fracţii într-o fracţie simplă (această operaţie presupune şi aducerea
la acelaşi numitor).
Exemple:



solve, var
Rezolvă o ecuaţie sau un sistem de ecuaţii. Parametrul var poate fi
un scalar sau un vector ce conţine numele
necunoscutei/necunoscutelor.
Exemple:
- Rezolvarea unei ecuaţii
Capitolul 12
192

- Rezolvarea unui sistem

collect,
var1…varn
Ordonează o expresie în ordinea descrescătoare a puterilor
variabilelor precizate de var1,…varn.
Exemple:



coeffs, var
Întoarce sub forma unui vector coeficienţii polinomiali ai expresiei
argument, în raport cu variabila var.
Exemple:

sau

substitute,var1
=var2
Înlocuieşte toate apariţiile 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
Animaţie în MathCAD
193
va folosi combinaţia 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 căruia se face
dezvoltarea, respectiv ordinul de dezvoltare. Argumentele z şi m
sunt opţionale. Dacă lipsesc, dezvoltarea se face în jurul punctului 0
într-o serie de ordin 6. Ordinul precizat de parametrul m dă o
indicaţie asupra nivelului erorii ce se face prin considerarea unui
număr finit de termeni.
Exemple:

convert,parfrac
,var
Transformă o expresie într-o sumă de fracţii simple. Parametrul var
precizează variabila ce se va considera pentru determinarea fracţiilor
simple.
Exemple:

fourier, var
Calculează transformata Fourier a unei expresii în raport cu variabila
var. Rezultatul este o funcţie de forma:

+∞
∞ −

⋅ dt e t f
t iω
) ( , unde f(t) este funcţia pentru care se determină
transformata Fourier.
Exemple:

Capitolul 12
194
invfourier, var
Calculează inversa transformării Fourier pentru o expresie, în raport
cu variabila var. Rezultatul este o funcţie de forma:

+∞
∞ −
⋅ ⋅ ω ω
π
ω
d e F
t i
) (
2
1
, unde F(ω) este funcţia pentru care se
determină transformata inversă.
Exemple:

laplace, var
Calculează transformata Laplace a unei expresii în raport cu variabila
var. Rezultatul este o funcţie de forma:


⋅ −

0
) ( dt e t f
t s
, unde f(t) este funcţia pentru care se determină
transformata.
Exemple:

invlaplace, var
Calculează inversa transformării Laplace pentru o expresie, în raport
cu variabila var. Rezultatul este o funcţie de forma:

∞ +
∞ −

⋅ ⋅

i
i
t s
ds e s F
σ
σ
π
) (
2
1
, unde F(s) este funcţia pentru care se
determină transformata inversă.
Exemple:
Animaţie în MathCAD
195

ztrans, var
Calculează transformata Z a unei expresii în raport cu variabila var.
Rezultatul este o funcţie de forma:


=


0
) (
n
n
z n f , unde f(n) este funcţia pentru care se determină
transformata.
Exemple:

Se menţionează că în stânga liniei verticale sunt prezentate
semnalele continui de la care s-a plecat. Expresia ce suferă efectul
evaluării cu cuvântul cheie ztrans, reprezintă semnalul discret.
Pentru câteva detalii suplimentare legate de transformata Z, vezi
notele ce urmează imediat după tabelul curent
invztrans, var
Calculează inversa transformării Z pentru o expresie, în raport cu
variabila var. Rezultatul este o funcţie de forma:

⋅ ⋅ ⋅
⋅ ⋅

C
n
dz z z F
i
1
) (
2
1
π
, unde F(z) este funcţia pentru care se
determină transformata inversă.
Exemple:

Capitolul 12
196
assume
constraint
Realizează o evaluare simbolică impunând o anumită condiţie
explicitată de secvenţa constraint. În cadrul acestei secvenţe, se pot
folosi operatorii relaţionali (<, >, ≤, ≥)
Exemple:



Transformata Z se foloseşte pentru prelucrarea semnalelor eşantionate (digitale),
obţinute în urma unui “traseu” ca cel din figura 11-9.
Se porneşte de la un semnal continuu. În prima fază se realizează eşantionarea
valorilor de pe abscisă (în general timpul), obţinându-se astfel semnalul eşantionat,
după care se realizează o discretizare a valorilor semnalului (se obţine aşa numitul
semnal numeric). Transformata Z operează cu semnalul numeric, pentru care deci se
poate vorbi de un şir discret de valori. Deşi ele nu sunt decât rareori identice, vom
considera că semnalul eşantionat şi cel numeric sunt practic identice (ceea ce
corespunde unui cuantificator intrare-ieşire cu trepte foarte mici (vezi “Metode în
analiza circuitelor electronice” de Mugur Săvescu,, Ed. Şt şi Enc, Buc, 1985).





Fig. 11-9 - Circuit de formare a semnalului eşantionat x
T
(t) şi a semnalului numeric
x
d
(t), din semnalul continuu x(t)

Dacă se notează cu x[n] semnalul numeric, relaţia folosită pentru calculul transformatei
Z este :

Sursă de semnal
continuu
Eşantionator
Cuantificator
x(t)
x
T
(t)
x
d
(t)


=

⋅ =
0
] [ ) (
n
n
z n x z X
Animaţie în MathCAD
197

În figura 11-10, sunt prezentate semnalul continuu şi cel eşantionat.


Fig. 11-10 - Semnal continuu şi semnal eşantionat

Se mai face precizarea că deşi sensibile la diferenţa majusculă-minusculă, cuvintele
cheie nu sunt sensibile la caracteristicile fonturilor (cum este cazul numelor de variabile
sau de funcţii - vezi § 3.5.
Rezolvarea simbolică a sistemelor de ecuaţii se poate face şi cu ajutorul blocului
Given-Fiind, aşa cum se poate vedea în figura 11- 11.


Fig. 11-11 – Rezolvarea simbolică a unui sistem folosind blocul Given – Fiind

Se atrage atenţia că după scrierea Find(x,y,z) se inserează operatorul de evaluare
simbolică (sau combinaţia de taste CTRL + .). Se mai remarcă şi faptul că nu a
fost necesară o estimare iniţială a soluţiei.
t
0 T 2T 3T
nT
Capitolul 12
198
Pentru calculele simbolice ce fac uz de cuvintele assume şi simplify este posibil un
„reglaj fin” al evaluării prin folosirea aşa numiţilor modificatori de cuvinte cheie.
Pentru înţelegerea modului de funcţionare a modificatorilor se va urmări figura 11-12.




Fig. 11-12 – Modificatori de cuvinte cheie

Se mai face precizarea că pentru cuvântul cheie simplify, se mai poate folosi
modificatorul trig. Acesta va determina simplificarea expresiilor trigonometrice ţinând
cont numai de relaţiile:
1 ) ( sinh ) ( cosh
1 ) ( cos ) ( sin
2 2
2 2
= −
= +
x x
x x

Este posibilă şi folosirea succesivă sau simultană a mai mult de un cuvânt cheie pentru
evaluările simbolice.
Utilizarea succesivă va permite vizualizarea rezultatelor intermediare, în vreme ce
utilizarea simultană va produce direct rezultatul final.
11.2.3 Modificatori de cuvinte cheie
11.2.4 Utilizarea succesivă sau simultană a mai multor cuvinte cheie
Animaţie în MathCAD
199
11.2.4.1 Utilizarea succesivă a mai multor cuvinte cheie
Tehnica de lucru pentru întrebuinţarea succesivă a mai multor cuvinte cheie este
următoarea:
1. Se scrie expresia de evaluat;
2. Se inserează operatorul de evaluare simbolică (fie cu ajutorul
combinaţiei de CTRL + SHIFT + ., fie folosind bara de instrumente
Symbolic). Se va ajunge la o situaţie de tipul celei de mai jos:

3. Se apasă ENTER pentru obţinerea primului rezultat. Se va ajunge la:

4. Se face clic stânga pe rezultat şi se inserează încă odată operatorul . Se
ajunge la:

5. În marcatorul liber se completează noul cuvânt cheie. Se poate ajunge la:

6. Se apasă ENTER pentru obţinerea noului rezultat, adică (în cazul exemplului
prezentat):

7. Se pot insera în continuare noi cuvinte cheie.
11.2.4.2 Utilizarea simultană a mai multor cuvinte cheie
Dacă rezultatele intermediare nu interesează, se poate ajunge direct la cel final prin
utilizarea simultană a mai multor cuvinte cheie.
Modul de operare este următorul:
Capitolul 12
200
1. Se scrie expresia de evaluat;
2. Se inserează operatorul de evaluare simbolică . Se ajunge la o situaţie ca
cea de mai jos:

3. Se execută încă odată combinaţia de taste CTRL + SHIFT + . . Se ajunge la:

4. Se scrie al doilea cuvânt cheie:

5. Se poate continua cu inserarea de noi cuvinte cheie, sau se apasă ENTER
pentru obţinerea rezultatului final:

Există două diferenţe majore între utilizarea meniului Symbolic sau a cuvintelor cheie
pentru realizarea de evaluări simbolice. Acestea sunt:
• Evaluările simbolice realizate cu ajutorul meniului Symbolic nu verifică
dacă variabilele sau funcţiile din expresia de evaluat au fost definite
anterior, spre deosebire de situaţia în care se folosesc cuvinte cheie, caz în
care această verificare are loc, urmând ca Mathcad-ul să înlocuiască în
expresie variabilele sau funcţiile anterior definite cu valorile lor în momentul
evaluării simbolice (există două excepţii, când o variabilă a fost definită
recursiv, respectiv când variabila e de tip şir de valori);
• Evaluările simbolice realizate cu ajutorul meniului Symbolic nu se
actualizează automat.
11.2.5 Evaluarea cu ajutorul meniului Symbolics
Animaţie în MathCAD
201
Modul de lucru pentru evaluările simbolice realizate cu ajutorul meniului Symbolic este
următorul:
• Se selectează expresia (o subexpresie, sau o variabilă, după caz);
• Se execută clic stânga pe câmpul din meniul Symbolic dorit.
Acest mod de lucru mai pune în evidenţă o deosebire între cele două modalităţi de
evaluare simbolică. În cazul meniului [Symbolic], prin posibilitatea de a selecta o
subexpresie sau o variabilă din componenţa expresiei de evaluat [simbolic] se pot
realiza evaluări simbolice mai „nuanţate”.
Meniul Symbolic pune la dispoziţia utilizatorului o serie de operatori de evaluare
simbolică specializaţi în calcul matriceal (unii din ei sunt disponibili şi în bara de
instrumente Symbolic).
În figurile 11-13 … 11-20 sunt prezentate câteva exemple de calcul simbolic utilizând
meniul Symbolic.

Expresie Câmp din meniul Symbolic Rezultat


1


Fig. 11-13 – Evaluări simbolice





Capitolul 12
202
Expresie Câmp din meniul Symbolic Rezultat





Fig. 11-14 – Calcul integral şi diferenţial simbolic

Expresie Câmp din meniul Symbolic Rezultat



Fig. 11-15 – Transformarea în fracţii simple
Animaţie în MathCAD
203
Expresie Câmp din meniul Symbolic Rezultat





Fig. 11-16 – Determinarea coeficienţilor polinomiali

Expresie Câmp din meniul Symbolic Rezultat


Fig. 11-17 – Calculul simbolic al valorilor proprii
Expresie Câmp din meniul Symbolic Rezultat


Fig. 11-18 – Calculul simbolic al determinantului unei matrice
Capitolul 12
204
Expresie Câmp din meniul Symbolic Rezultat





Fig. 11-19 – Evaluarea simbolică a unor inegalităţi

Rezultatul obţinut la evaluarea celei de a doua inegalităţi se poate încă prelucra, aşa
cum se poate vedea în figura 11-20.

a.
b.
c.
Fig. 11-20 – Prelucrarea suplimentară a rezultatului evaluării unei inegalităţi

De multe ori, evaluările simbolice produc rezultate „stufoase”, care ocupă mult spaţiu
(mai ales pe direcţie orizontală). Astfel de situaţii pot fi rezolvate prin utilizarea
operatorului de scindare a unei expresii pe două (sau mai multe) rânduri.
De altfel acest operator se poate folosi şi pentru scindarea pe mai multe rânduri a unei
expresii.
Se va proceda astfel:
Animaţie în MathCAD
205
1. Se execută clic stânga pe termenul din expresie care apare imediat înainte de
operatorul în dreptul căruia se va fragmenta expresia;
2. Se apasă tasta SPACE până când este selectată subexpresia din stânga
operatorului în dreptul căruia se va fragmenta expresia;
3. Se apasă tasta DEL;
4. Se apasă simultan tastele CTRL + ENTER;
Aceste faze sunt ilustrate în figura 11-21.

1

2

3

4

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

Uneori rezultatele sunt atât de lungi încât Mathcad propune de la bun început plasarea
acestora în CLIPBOARD. De aici el poate fi inserat printr-un procedeu de tip PASTE în
orice aplicaţie.
Poziţia rezultatelor evaluărilor simbolice în raport cu expresia iniţială, atunci când se
foloseşte meniul Symbolic, se stabileşte cu ajutorul câmpului Symbolic ⇒
Evaluation Style…. . În figura 11-22 se poate vedea caseta de dialog ce permite
alegerea poziţiei relative între rezultat şi expresia iniţială.

11.2.6 Controlul formatului rezultatelor simbolice
Capitolul 12
206

Fig. 11-22 – Formatarea rezultatelor simbolice

În figura 11-23 sunt prezentate efectele diferitelor setări din caseta de dialog
Evaluation Style.







Fig. 11-23 – Formatarea rezultatelor simbolice

În cazul Evaluate In Place expresia iniţială va fi înlocuită de rezultat.
Animaţie în MathCAD
207

12 Animaţie în MathCAD

Obiective


• Familiarizarea cititorului cu tehnicile de realizare de animaţii
oferite de Mathcad


12 Animaţie în MathCAD_________________ 207
12.1 Crearea şi rularea unei animaţii..............................................................208
12.2 Salvarea unei animaţii ..............................................................................211
12.3 Rularea unei aplicaţii salvate anterior....................................................212

Număr de pagini 6

Capitolul 12
208


În MathCAD pot fi animate regiunile de tip expresie care realizează o evaluare (deci o
secvenţă de tip nume_variabilă =, sau nume_funcţie = , unde egalul este operatorul de
evaluare şi se obţine direct prin apăsarea tastei “=”), sau regiunile de tip grafic.
Animaţia 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ă conţină variabila MathCAD numită
FRAME (scrisă cu majuscule). Înainte de a adăuga alte cometarii, se prezintă mai jos
un exemplu simplu de animaţie a unei regiuni ce realizează evaluarea unei variabile.
Vor fi detaliate etapele ce trebuie parcurse pentru realizarea animaţiei.

1. Se defineşte variabila care se va evalua, astfel încât în partea dreaptă a relaţiei
de definire să apară variabila FRAME (ea poate apărea şi în componenţa unei
expresii):

a : = FRAME

2. Se crează regiunea care se va anima. În exemplul de mai jos, ea conţine o
regiune de tip text (care nu va fi influenţată în nici un fel de animaţie), dar şi o
secvenţă de evaluare (a =). Valoarea ce va apărea după semnul egal este
iniţial 0.



3. Se activează câmpul Animate… din meniul View. Pe ecran va apărea fereastra
Animate (Vezi figura 12-1), în care utilizatorul trebuie să precizeze (în casetele
de dilalog From şi To) numărul de cadre ce vor forma animaţia (de fapt se
precizează domeniul de valori pe care îl parcurge variabila FRAME - pentru că
12.1 Crearea şi rularea unei animaţii
Animaţie în MathCAD
209
implicit în caseta de editare From se găseşte valoarea 0, variabila a a fost
evaluată iniţial la 0). În exemplul considerat animaţia va avea 9 cadre. Tot în
caseta de dialog Animate se precizează şi frecvenţa cu care vor fi redate
cadrele (caseta de editare At Frames/Sec).


Fig. 12-1 – Crearea unei animaţii

4. Se selectează regiunea de animat prin procedeul drag and drop, astfel încât
regiunea va fi încadrată de un dreptunghi desenat cu linie întreruptă. După
selecţie 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 (atâtea câte s-au
precizat în casetele de editare From şi To). La sfârşitul acestui proces pe ecran
va apărea fereastra Playback (vezi figura 12-2). La “apăsarea” butonului ,
de pe bara de control a ferestrei Playback, animaţia va începe să ruleze.
Prin acţionarea cursorului , se poate “ajunge” la un anumit
cadru prin parcurgerea accelerată a celor care îl preced, după cum se poate
realiza şi parcurgerea cadrelor în ordine inversă (prin acţionarea cursorului de la
dreapta la stânga).

Capitolul 12
210

Fig. 12-2 – Rularea animaţiei

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 animaţiei (identice cu cele trecute în revistă mai sus).


Fig. 12-3 – Animarea unei regiuni de tip grafic

Animaţie în MathCAD
211
Î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 funcţie de 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 neîntregi în intervalul FRAME
min
/10, FRAME
max
/10.


Odată creată o animaţie, ea se poate salva ca fişier *.avi. În acest fel animaţia poate fi
rulată cu orice aplicaţie care recunoaşte fişierele *.avi sau poate fi rulată în MathCAD
fără a fi nevoie să fie recreată. Pentru salvarea unei animaţii se vor parcurge etapele :
1. După ce animaţia a fost creată şi fereastra Animate este încă deschisă, se
“apasă” pe butonul Save As. Implicit animaţia este salvată în format *.avi.
2. Animaţiile sunt salvate în format *.avi comprimat (pentru economie de spaţiu
disc). Dacă se doreşte salvarea în format *.avi necomprimat sau dacă se
doreşte comprimarea cu altă metodă, se acţionează 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 comprimării.


Fig. 12-4 – Alegerea metodei de compresie

12.2 Salvarea unei animaţii
Capitolul 12
212
Dacă butonul Configure… este activ, prin acţionarea lui se deschide fereastra
Configure (vezi figura 12-5), care permite utilizatorului să controleze parametrul
“Temporal Quality Ratio”, care controlează calitatea animaţiei.


Fig. 12-5 – Controlul calităţii animaţiei


O animaţie salvată anterior, poate fi rulată în mediul MathCAD prin acţionarea
câmpului Playback… din meniul View. Ca efect se va deschide fereastra de rulare a
animaţiei, unde prin apăsarea butonului de pe bara de control [a ferestrei
Playback], devine disponibil butonul Open…, ca în figura 12-6 :


Fig. 12-6 – Rularea unei animaţii creată anterior

Prin apăsarea lui se deschide o fereastră de tip Open File, cu ajutorul căreia
utilizatorul poate să aleagă fişierul *.avi pe care doreşte să-l ruleze. După alegerea
fişierului, fie prin acţionarea butonului Play ( ), fie prin acţionarea cursorului, se
12.3 Rularea unei aplicaţii salvate anterior
Animaţie în MathCAD
213
poate rula animaţia integral, respectiv cadru cu cadru în direcţia dorită (înainte sau
înapoi).
Pentru o mai bună înţelegere a subiectului, se recomandă consultarea exemplelor din
secţiunea Animations din Quick Sheets.


215
13 Operatori personalizaţi

Obiective


• Familiarizarea cititorului cu facilităţile oferite de Mathcad
pentru definirea de operatori particularizaţi (alţii decât cei
predefiniţi)


13 Operatori personalizaţi ________________ 215
13.1 Introducere ................................................................................................216
13.2 Definirea şi utilizarea operatorilor personalizaţi ...................................217


Număr de pagini 3
Capitolul 13
216


Aşa cum se pot defini în Mathcad funcţii, altele decât cele predefinite, tot aşa se pot
crea şi operatori, alţii decât cei predefiniţi. Aceştia vor fi numiţi în continuare,
[operatori] personalizaţi.
Procesul de definire a unui astfel de operator este asemănător cu cel de definire a unei
funcţii.
Din punctul de vedere al terminologiei, funcţiile 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 număr de unu sau maxim doi.
Din punctul de vedere al poziţiei operatorului în raport cu operandul - în cazul
operatorilor cu un singur operand (pot fi numiţi ş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 menţionate mai sus (este vorba
despre secvenţe de evaluare).


Fig. 13-1 – Tipuri de operatori personalizaţi



13.1 Introducere
Operatori personalizaţi
217
Definirea unui operator personalizat este practic identică cu definirea unei funcţii, cu
observaţia că numărul de argumente nu poate depăşi valoarea 2.
Pentru numele operatorului se poate folosi orice simbol adecvat. În Resource Center
⇒ QuickSheets and Reference Tables ⇒ Extra Math Symbols pot fi găsite
diverse simboluri matematice ce pot fi utilizate ca „nume” de operatori personalizaţi.
Transferul oricărui simbol într-un document Mathcad se face printr-o simplă secvenţă
de tip Selecţie simbol ⇒ Copy ⇒ Revenire în documentul Mathcad ⇒ Paste.
În figura 13-2, sunt prezentate câteva exemple de definire de operatori personalizaţi,
dar şi modalităţile de utilizare a acestora. Se poate observa că faza de definire este
identică cu cea utilizată la definirea unei funcţii.


Fig. 13-2 – Definirea şi utilizarea operatorilor personalizaţi

13.2 Definirea şi utilizarea operatorilor personalizaţi

219
14 Fişiere şablon (template)

Obiective


• Prezentarea noţiunii de fişier şablon
• Însuşirea tehnicilor de creare sau modificare a unui şablon


14 Fişiere şablon (template) ________________ 219
14.1 Introducere ................................................................................................220
14.2 Crearea unui [fişier] şablon .....................................................................222
14.3 Modificarea unui şablon...........................................................................224

Număr de pagini 5
Capitolul 14
220


Ca şi în cazul altor aplicaţii, Mathcad utilizează la deschiderea oricărui nou fişier, aşa
numitele şabloane, care transmit noului document o serie de caracteristici de formatare
(ce vor fi detaliate mai târziu), dar şi elemente de conţinut (expresii, text, antet şi/sau
subsol).
La deschiderea unui nou document Mathcad, dacă se utilizează câmpul 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 căreia se alege şablonul care va sta la baza
noului document.


Fig. 14-1 – Deschiderea unui document nou Mathcad

Lista conţine ş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).

14.1 Introducere
Fişiere şablon (template)
221

Fig. 14-2 – Şabloane existente (predefinite sau create de utilizatori)

Odată un şablon ales, documentul ce se creează preia de la acesta următoarele
elemente:
• stilurile de expresii matematice (Format ⇒ Equation);
• stiluri de text (Format ⇒ Style);
• setările de pagină (File ⇒ Page Setup);
• valorile variabilelor Mathcad;
• setările formatelor de rezultate (Format ⇒ Result);
• sistemul de unităţi folosit precum şi numele mărimilor fizice de bază;
• modul implicit de calcul (automat sau manual);
• vizibilitatea rigletei orizontale (View ⇒ Ruler) şi sistemul de măsurare de
pe rigletă.
Pentru fixarea sistemului de măsurare de pe rigletă se execută clic dreapta pe rigletă şi
se alege sistemul de măsurare dorit din lista ce se va fi deschis (vezi figura 14-3).

Capitolul 14
222

Fig. 14-3 - Stabilirea sistemului de măsurare pe rigletă

Vizualizarea rigletei se face cu ajutorul câmpului View ⇒ Ruler.


Fişierele şablon au în Mathcad extensia *.mct şi în principiu trebuie să se găsească în
subdirectorul Template aferent directorului Mathcad (care depinde de modul în care
s-a realizat instalarea).
Structura internă a unui fişier şablon nu diferă cu nimic de a unui fişier Mathcad
obişnuit, astfel că una din metodele de creare a unui şablon este chiar schimbarea
extensiei unui fişier Mathcad şi copierea (sau) mutarea lui în directorul Template.
O altă metodă pentru crearea unui [fişier] şablon este descrisă mai jos (vezi şi
figura 14-4).
• Se fac într-un document Mathcad toate setările dorite şi se inserează în
acesta toate obiectele dorite;
• Se utilizează câmpul File ⇒ Save As, iar în fereastra cu acelaşi 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).

14.2 Crearea unui [fişier] şablon
Fişiere şablon (template)
223

Fig. 14-4 – Salvarea unui fişier ca şablon
Trebuie precizat că şi atunci când se creează un fişier nou cu ajutorul butonului ,
chiar dacă nu în mod explicit, tot se face uz de un fişier şablon. Acesta este
Normal.mct.
Este posibilă alegerea unui alt şablon [decât normal.mct] chiar şi dacă nu se foloseşte
câmpul 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.

Capitolul 14
224

Fig. 14-5 – Alegerea unui şablon prin folosirea butonului



Se face pur şi simplu prin deschiderea documentului [şablonului] dorit, efectuarea
modificărilor şi salvarea fişierului. Evident dacă salvarea se face sub un nou nume, s-a
creat de fapt un nou şablon.
Observaţie: Când se modifică un şablon, efectele se vor simţi numai în documentele
ce se vor crea pe viitor pe baza acelui şablon, fără să existe un efect retroactiv.


14.3 Modificarea unui şablon

225
15 Formatarea de pagină şi tipărirea
în Mathcad

Obiective


• Familiarizarea cititorului cu tehnicile de tipărire oferite de
Mathcad
• Prezentarea modului de control al paginii în Mathcad



15 Formatarea de pagină şi tipărirea în Mathcad
____________________________________ 225
15.1 Formatarea de pagină...............................................................................226
15.2 Tipărirea....................................................................................................228


Număr de pagini 5
Capitolul 15
226


Stabilirea elementelor de control al paginii se face cu ajutorul câmpului File ⇒ Page
Setup. Caseta de dialog Page Setup, prezentată de altfel în figura 15-1, permite
setări de bază care nu necesită explicaţii 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 decât al Word-ului.
Pentru definirea şi configurarea unor astfel de secţiuni se va folosi câmpul Format ⇒
Header/Footers, care va conduce la caseta de dialog din figura 15-2.
Se vede că atât antetul cât şi subsolul pot fi împărţite în trei zone (Stănga-Left,
Centru-Center şi Dreapta-Right), că în oricare din aceste zone se pot insera câmpuri de
15.1 Formatarea de pagină
Formatarea de pagină şi tipărirea în Mathcad
227
tip nume document, data salvării, numărul de pagină, numărul total de pagini etc (vezi
zona Tools din caseta de dialog Header/Footer). Cu ajutorul butonului Format din
aceeaşi zonă, se poate controla aspectul câmpurilor de tip text, iar prin intermediul
butonului Image, se poate insera în oricare din secţiunile unui antet sau subsol un
fişier imagine.
Secţiunea Options permite stabilirea originii numărării paginilor (Start at page
number), sau prezenţa 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 secţiunilor Header-Page 1 sau Footer – Page 1, care nu apar decât atunci
când câmpul Different header and footer on first page este bifat, dar atenţie, dacă
din secţiunea Frame s-a ales prezenţa unui chenar în zona antetului sau subsolului,
acesta va fi desenat şi pentru prima pagină.


Fig. 15-2 – Controlul antetelor şi subsolurilor




Capitolul 15
228

Procesul de tipărire este declanşat şi controlat de caseta de dialog Print, deschisă prin
utilizarea câmpului 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 tipărire în cazul în care documentele Mathcad
conţin regiuni şi în dreapta liniei de demarcaţie ce sugerează marginea din dreapta a
foii de hârtie.
Controlul propriu zis se face cu ajutorul câmpului Print single page width, ce poate fi
regăsit în conţinutul casetei de dialog Page Setup (figura 15_1).
În figura 15-4 este prezentat un document Mathcad vizualizat cu factorul de mărire
50%. Se poate observa că apar şi o a doua, respectiv o a treia bară de demarcaţie
15.2 Tipărirea
Formatarea de pagină şi tipărirea în Mathcad
229
verticală. Ar putea să se vadă ş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 conţin regiuni şi în dreapta primei sau
celei de a doua bare de demarcaţie 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 demarcaţie
ORIZONTALÃ, Pagina 2_n se va referi la acea parte a documentului situată sub prima
linie de demarcaţie ORIZONTALÃ şi aşa mai departe. Pentru o mai bună înţelegere se
va urmări figura 15-5.

Capitolul 15
230

Fig. 15-5 – Structura unui document Mathcad

Astfel, dacă există bifă în dreptul câmpului Print single page width, se vor tipării
numai paginile 1_1 şi respectiv 2_1 (şi nu 1_2, respectiv 2_2).
Dacă bifa din dreptul câmpului Print single page width nu există, se vor tipării, în
ordine, paginile 1_1, 2_1, apoi 1_2 şi 2_2 (deci se tipăresc întâi paginile din stânga
primei linii de demarcaţie verticală).

231
16 Interpolarea şi extrapolarea
datelor. Metode de regresie.

Obiective


• Familiarizarea cititorului cu tehnici de prelucrare a datelor
experimentale oferite de Mathcad
o Interpolare
o Extrapolare
o Regresie



16 Interpolarea şi extrapolarea datelor. Metode de
regresie. _______________________________ 231
16.1 Interpolarea datelor în 2 dimensiuni.......................................................232
16.2 Interpolarea datelor în 3 dimensiuni.......................................................236
16.3 Extrapolarea datelor.................................................................................240
16.4 Regresie liniară şi neliniară......................................................................242

Număr de pagini 20

Capitolul 16
232

Prin interpolare se înţelege determinarea unei funcţii (numită funcţie de interpolare), de
obicei un polinom, care să aproximeze pe un interval [a,b] o funcţie f(x) ale cărei valori
sunt cunoscute numai în anumite puncte a=x
0
<x
1
<…x
n
=b.
În MathCAD se pot realiza două tipuri de interpolări : liniară sau folosind curbe spline.
Cele două funcţii specializate sunt linterp şi respectiv interp.
În cazul interpolării liniare valorile ordonatelor necunoscute, corespunzătoare unor
puncte x
k
, ce nu se suprapun peste reţeaua de puncte x
0
<x
1
<…x
n,
deci x
i-1
<x
k
<x
i
, se
obţin în ipoteza că punctele y
i
se unesc cu segmente de dreaptă, ca în figura 16-1.


Fig. 16-1 – Interpolare liniară

În cazul interpolării 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 joncţiune între arcele de curbe
spline. Este evident că printr-un set de puncte, teoretic s-ar putea găsi 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 număr
mare de ecuaţii şi necunoscute – pentru determinarea coeficienţilor polinomului). De
16.1 Interpolarea datelor în 2 dimensiuni
Interpolarea şi extrapolarea datelor. Metode de regresie.
233
aceea se preferă determinarea unor curbe care să treacă, fiecare, prin doar două
puncte, urmând ca pentru asigurarea “netezimii” curbei de interpolare (care nu trebuie
să aibă vârfuri sau puncte de întoarcere), pe întreg domeniul să se pună condiţii de
continuitate a derivatelor de ordin 1 şi eventual 2 în punctele de joncţiune. Rezultă
astfel un număr de necunoscute (coeficienţi) comparabil cu cel corespunzător 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 făcut deja vorbire. În figura 16-2, se prezintă cazul interpolării cu arce
de curbă splină.
Se va detalia în continuare sintaxa specifică funcţiilor MathCAD specializate în
interpolare.

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

linterp (v
x
, v
y
, x), unde :
• v
x
este un vector real cu valorile în ordine crescătoare. El corespunde valorilor
de pe abscisă (x);
• v
y
este un vector real, cu acelaşi număr de elemente ca şi v
x
. El corespunde
valorilor de pe ordonată (y);
• x este valoarea abscisei pentru care se doreşte valoarea corespunzătoare de pe
ordonată. Ea va fi determinată prin interpolare, aici liniară.
16.1.1 Funcţia linterp
Capitolul 16
234
interp(vs,vx,vy,x), unde :
• v
x
, vy

şi x au aceeaşi semnificaţie ca la funcţia linterp
• vs este un vector generat de una din funcţiile cspline, pspline sau lspline.
Vectorul v
s
conţine derivatele de ordinul 2 corespunzătoare traseului descris de
datele y=y(x), necesar pentru determinarea pantelor curbelor spline în
punctele x
i
, astfel încât curba splină rezultantă să fie netedă (smooth). Ceea ce
trebuie deci reţinut, este că utilizarea funcţiei interp, presupune folosirea
anterioară a unei din funcţiile cspline, pspline sau lspline.
• cspline(v
x
, v
y
), întoarce un vector al derivatelor de ordinul 2, notat cu v
s
,
pentru datele conţinute în vectorii v
x
şi v
y
. Acest vector va fi folosit ca prim
argument al funcţiei interp. Curba splină rezultantă, ce va fi folosită
pentru interpolare va fi o curbă cubică la capetele intervalului de analizat.
• pspline(v
x
, v
y
), întoarce acelaşi vector v
s
ca şi funcţia cspline, cu
deosebirea că la capetele intervalului de analiză, curba splină va fi
parabolică.
• lspline(v
x
, v
y
), întoarce acelaşi vector v
s
ca şi funcţiile cspline sau
pspline, dar de această dată curba splină rezultată va fi liniară la capete
(curba splină se numeşte în acest caz naturală sau relaxată).
Exemplu :
Se vor citi din două fişiere nestructurare, numite axa_x.dat, respectiv axa_y.dat, 16
perechi de valori (abscisele din fişierul axa_x.dat, ordonatele din axa_y.dat). Este
recomandabil ca cele două fişiere să se găsească în directorul curent de lucru MathCAD.
Valorile citite vor fi atribuite variabilelor indexate x
i
, respectiv y
i
.
Valorile din cele două fişiere vor fi :
- Fişierul axa_x.dat, va conţine următoarele valori, dispuse fiecare pe un rând :
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)
- Fişierul axa_y.dat va conţine următoarele valori, dispuse fiecare pe un rând :
16.1.2 Funcţia interp
16.1.3 Funcţiile scpline, pspline şi lspline
Interpolarea şi extrapolarea datelor. Metode de regresie.
235
0 1.254 .762 1.107 .809 1.21 .745 1.141 .915 1.045 .949
1.093 .845 1.054
Cele două fişiere pot fi pur şi simplu generate în Notepad. Se mai atrage atenţia asupra
necesităţii ca elementele din fişierul axa_x.dat să fie în ordine strict crescătoare şi
fireşte cele două fişiere să aibă exact acelaşi număr de elemente.
Citirea datelor din cele două fişiere se poate face utilizând componenta de tip File
Read or Write (Text Files).
Documentul MathCAD va arăta ca în figura 16-3.

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

Pentru o şi mai bună înţelegere, s-au reprezentat grafic în figura 16-4, atât punctele
corespunzătoare valorilor y
i,
cât şi graficele celor 4 curbe de interpolare.
Se poate observa că între cele 4 curbe există diferenţe notabile, lucru remarcat şi din
analiza valorilor interpolate pentru abscisa x=2. Aceste diferenţe tind să fie mai mari la
Capitolul 16
236
extremităţile intervalului, unde intervin de fapt deosebirile dintre pantele curbelor de
interpolare.


Plecând de la interpolarea utilizând curbe [de interpolare], deci în plan, unde se
porneşte de la doi vectori, notaţi în paragrafele anterioare v
x
şi v
y
, se poate ajunge la o
generalizare în spaţiu, respectiv la interpolarea folosind suprafeţe [de interpolare]. În
acest caz, prin interpolare se înţelege determinarea unei funcţii (numită evident tot
funcţie de interpolare), care să aproximeze pe un domeniu [a,b]x[c,d] o funcţie
z=f(x,y) ale cărei valori sunt cunoscute numai în anumite puncte a=x
0
<x
1
<…x
n
=b,
respectiv c=y
0
<y
1
<…y
n
=d.

Fig. 16-4 - Graficele curbelor de interpolare

16.2 Interpolarea datelor în 3 dimensiuni
Interpolarea şi extrapolarea datelor. Metode de regresie.
237
Suprafeţele de interpolare vor fi “petice” (patch) de suprafeţe spline, cu câte patru
laturi. Funcţiile 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 funcţia care
realizează interpolarea (interp). Suprafaţa splină rezultată va fi cubică pe
contur.
• pspline(Mxy,Mz) - ca şi cspline, doar că suprafaţa rezultantă va fi
parabolică pe contur.
• lspline(Mxy,Mz) - ca şi cspline, doar că suprafaţa rezultantă va fi
liniară pe contur.
• interp(vs,Mxy,Mz,v) - întoarce valoarea interpolată M
z
în punctul de
coordonate x şi y, specificat în v.
Argumentele funcţiilor de mai sus sunt :
• Mxy este un tablou cu dimensiunea nx2 şi care conţine coordonatele x şi y ce
variază pe domeniul pe care se va realiza interpolarea. Coloanele acestei
matrice trebuie să aibă elementele în ordine crescătoare.
• Mz este un tablou cu dimensiunea nxn, de date reale. Valorile acestui tablou
sunt valorile z corespunzătoare perechilor x şi y din M
xy
.
• vs este un vector generat de una din funcţiile cspline, pspline sau lspline
• v este un vector ale cărui două elemente sunt coordonatele x şi y pentru care
se caută valoarea interpolată z.
În figura 16-5 este prezentat un exemplu preluat din secţiunea quicksheets şi adaptat.
Este vorba despre interpolarea datelor descrise de o matrice notată M
z
, care surprinde
de fapt o dependenţă de forma z=z(x,y). Vectorii corespunzători coordonatelor x şi y
sunt notaţi cu X respectiv Y.
După ce s-a realizat definirea funcţiilor de interpolare fit_s, fit_p respectiv fit_l,
corespunzătoare interpolărilor cubică, parabolică şi respectiv liniară, sunt determinate
valorile interpolate corespunzătoare punctelor (0.25, 0.35) şi (0.1, 0.17). Se poate
observa că pentru primul punct, situat mai aproape de contur, diferenţele între cele 3
Capitolul 16
238
tipuri de interpolare sunt mai mari decât î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ă decât cea iniţială. Deci dacă iniţial pe x şi y
se defineau câte 6 puncte, acum pe aceleaşi direcţii se vor defini câte 24, deci între
două puncte succesive ale grilei iniţiale, după o direcţie, se vor găsi încă 3 puncte
pentru care se va realiza de fapt interpolarea. Altfel spus, dacă iniţial matricea M
z
avea
6x6=36 valori, după interpolare matricele notate FIT_s, FIT_p sau FIT_l, vor avea
fiecare câte 24x24=576 valori.
În faza finală s-a realizat reprezentarea grafică atât a suprafeţei iniţiale (M
z
), cât şi a
celor obţinute prin cele trei metode de interpolare. La dimensiunea la care s-a realizat
reproducerea reprezentărilor grafice (impusă de considerente de spaţiu), diferenţele
între cele trei grafice nu sunt prea uşor detectabile. Dacă însă vor fi crescute – în
documentul MathCAD creat de utilizator - dimensiunile graficelor (prin tehnica drag
and drop), diferenţele vor începe să se vadă cu claritate.
În figura 16-6, sunt prezentate cele 4 grafice, unul al suprafeţei originale (descrisă de
matricea M
z
) şi celelalte 3, corespunzând suprafeţelor obţinute prin interpolare, cu una
din metodele (funcţiile) descrise mai sus.
Interpolarea şi extrapolarea datelor. Metode de regresie.
239


Fig. 16-5 – Interpolarea 3D
Capitolul 16
240
Fig. 16-6 - Reprezentări grafice ale suprafeţelor de interpolare


Prin extrapolare se înţelege determinarea unei funcţii, de obicei polinom, care să
aproximeze, în afara unui interval [a, b], o funcţie f(x) ale cărei valori sunt cunoscute
numai în anumite puncte a=x
0
<x
1
<…x
n
=b, din interiorul intervalului.


16.3 Extrapolarea datelor
Interpolarea şi extrapolarea datelor. Metode de regresie.
241
În MathCAD extrapolările (sau predicţiile) se realizează cu ajutorul funcţiei predict,
pentru care sintaxa este :
predict(v,m,n)
unde :
v este un vector ale cărui valori reprezintă eşantioane prelevate - la intervale egale -
dintr-un set de date. Parametrii m şi n sunt doi întregi
Funcţia predict, întoarce n valori estimate, bazate pe m valori consecutive din v.
Exemplu:
Să se estimeze comportarea vectorului f, ale cărui elemente sunt obţinute prin
evaluarea funcţiei
10
) 5 . 0 sin(
i
i
e i f

⋅ ⋅ = , cu i luând valori în intervalul 1…30, dincolo de
limita superioară a argumentului i (în cazul de fată această limită este 30). În fapt se
aplică funcţia predict, aşa cum se poate vedea din exemplu, pentru estimarea
următoarelor 20 de valori ale lui f, estimarea făcându-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 13-7), a lui f
i
, atât în intervalul 1…30 (de valori
cunoscute), cât şi dincolo de i=30 şi anume pentru încă 12 de valori. Se va observa
cum în grafic, variabila j (folosită pentru reprezentarea estimării), ia valori dincolo de
30, astfel încât pe grafic să apară estimarea lui f exact dincolo de punctul în care
valorile cunoscute [ale lui f] sunt reprezentate grafic.

Capitolul 16
242

Fig. 16-7 – Extrapolarea datelor


Prin intermediul funcţiilor slope şi intercept (a căror sintaxă va fi prezentată mai
jos), este posibilă determinarea ecuaţiei dreptei care aproximează cu eroare minimă
(pentru minimizarea erorii se foloseşte metoda celor mai mici pătrate) un set de date
de forma y
i
=y(x
i
).
Sintaxa funcţiilor slope şi intercept este :
• slope (vx, vy) - funcţia î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
16.4 Regresie liniară şi neliniară
16.4.1 Regresia liniară
Interpolarea şi extrapolarea datelor. Metode de regresie.
243
Argumentele vx şi vy, sunt doi vectori cu acelaşi număr de elemente. Vectorul vx
trebuie să aibă elementele în ordine crescătoare. Este evident că cei doi vectori
corespund absciselor x, respectiv ordonatelor y.
Exemplu:
În exemplul de mai jos este determinată ecuaţia 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 dintr-un fişier de date.
În cazul în care datele nu sunt aproximate corespunzător de o dreaptă (rămân puncte
prea multe departe de dreaptă şi traseul general al ordonatelor nu este “aproape” de o
dreaptă), se poate folosi interpolarea polinomială. Prin intermediul funcţiei interp
(pentru care însă primul argument este furnizat de funcţiile 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 funcţiile implicate în regresia
polinomială, sintaxa, precum şi argumentele lor.

16.4.2 Regresia polinomială (neliniară)
Capitolul 16
244

Fig. 16-8 – Regresie liniară

• regress (vx, vy, k) întoarce un vector, pe care funcţia interp îl va folosi
pentru determinarea polinomului de ordin k (se recomandă valori mai mici
decât 5) ce realizează aproximarea cu eroare minimă a setului de date
• loess (vx, vy, span) întoarce un vector pe care funcţia 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.
245
• interp (vs, vx, vy, x) întoarce valoarea interpolată y corespunzătoare lui x
(ultimul argument). Parametrul vs este preluat de la funcţia regress sau
loess.

De menţionat că în cazul vectorului întors de funcţia regress, ultimele (k+1) elemente
sunt chiar coeficienţii polinomului de interpolare în ordinea crescătoare a puterilor
variabilei de pe axa absciselor (vezi exemplul).

Exemplu:
Să se realizeze regresia polinomială pentru un set de date reţinut într-un fişier de date,
sub forma unei matrice cu două coloane. În prima [coloană] se găsesc valorile de pe
abscisă, iar în a doua cele de pe ordonată. După citirea fişierului (numit în exemplu
“date[.prn]), sunt extrase cu ajutorul operatorului CTRL+^, coloanele pentru definirea
vectorilor X şi Y. Urmează utilizarea funcţiilor regress, loess şi interp, precum şi
reprezentarea grafică a datelor iniţiale, precum şi a celor interpolate.
Structura fişierului date.prn este următoarea :
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, aşa acum apare în sintaxa
funcţiei), iar în a doua coloană apar valorile lui y (sau vy).
Fişierul MathCAD care realizează aplicaţia este prezentat în figura 16-9.

Capitolul 16
246

Fig. 16-9 – Regresie polinomială

În figura 16-10 sunt prezentate punctele (Y
i
) precum şi datele obţinute prin regresie.
Interpolarea şi extrapolarea datelor. Metode de regresie.
247

Fig. 16-10 – Reprezentarea punctelor şi a rezultatelor regresiei

În figura 16-11 este prezentat graficul polinomului de interpolare p_int(x), aşa cum a
fost el definit după extragerea în vectorul coef a coeficienţilor din vectorul vs şi
înmulţirea cu vectorul ce conţine puterile în ordine crescătoare ale variabilei x.
Capitolul 16
248

Fig. 16-11 - Graficul polinomului de interpolare

Ca şi în cazul interpolării şi în cazul regresiei polinomiale se poate ajunge la o
generalizare 3D, când prin intermediul aceloraşi funcţii regress, loess şi interp, dar
cu alte argumente, se vor determina suprafeţe polinomiale de interpolare. Sintaxa
funcţiilor amintite mai sus, în acest caz, este :
• regress (Mxy, vz, k ) - funcţia întoarce un vector pe care funcţia interp îl va
utiliza la determinarea suprafeţei polinomiale de grad k ce aproximează cu
eroare minimă setul de date “conţinut” în matricele Mxy şi vz. Uzual pentru k
se vor considera valori mai mici decât 5. Matricea Mxy, are dimensiunea m x 2
şi conţine coordonatele x,y, iar vz are dimensiunea m şi conţine coordonatele z
corespunzătoare perechilor x,y din Mxy. Între vz şi Mxy există o legătură
descrisă de o relaţie de tipul vz=vz(x,y), unde perechile de coordonate [date],
(x,y), sunt “stocate” pe rânduri, în matricea Mxy;
• loess (Mxy, vz, span) – funcţia întoarce un vector pe care funcţia interp îl va
utiliza la determinarea suprafeţei polinomiale de grad 2, ce realizează
aproximarea cu eroare minimă a setului de date într-un domeniu specificat de
parametrul span (întindere, sector, anvergură). Dacă valorile cotelor vz sunt
16.4.3 Regresie polinomială 3D (neliniară)
Interpolarea şi extrapolarea datelor. Metode de regresie.
249
foarte diferite se recomandă valori mari pentru parametrul span. O valoare în
general acceptabilă este 0.75.
• interp (vs, Mxy, vz, v) – funcţia întoarce valoarea interpolată z,
corespunzătoare perechii de date (x,y) conţinută în vectorul [cu două]
elemente v. Vectorul vs este întors de una din funcţiile regress sau loess.

Pentru o mai bună înţelegere a celor expuse, se recomandă parcurgerea exemplului
Multiple Linear Regression din secţiunea Data Analysis din Quicksheets.
Dacă până acum toate metodele de aproximare/interpolare prezentate au avut ca
obiectiv “găsirea” unor polinoame de diverse grade care aproximează un set de date
cu eroare minimă, în paragrafele următoare se va arăta cum MathCAD “ştie” să rezolve
acelaşi gen de probleme, de această dată prin găsirea unei combinaţii liniare de funcţii
(nu neapărat polinomiale), care să aproximeze cu eroare minimă un set de date. Cu
alte cuvinte, pornind de la un set de funcţii (pe care şi-l fixează utilizatorul) f
1
(x),
f
2
(x),……..f
n
(x), se pune problema determinării coeficienţilor a
1
, a
2
,……..a
n
, astfel încât
combinaţia liniară

=
⋅ = ⋅ + ⋅ + ⋅
n
i
i i n n
x f a x f a x f a x f a
1
2 2 1 1
) ( ) ( ... ) ( ) (
să aproximeze cu eroare minimă setul de date considerat.
Funcţia care realizează interpolarea/aproximarea unui set de date prin metoda
combinaţiei liniare de funcţii, este linfit şi are sintaxa:

linfit (vx, vy, F) - funcţia întoarce un vector care conţine coeficienţii a
i
din
relaţia de mai sus. Vectorii vx şi vy definesc setul de date analizat şi trebuie să
aibă acelaşi număr de elemente. În plus, elementele lui vx trebuie să fie în
ordine crescătoare. F este un vector care conţine setul de funcţii f
i
. F şi vx sau
vy NU trebuie –în mod obligatoriu - să aibă acelaşi număr de elemente.

Exemplu:
Să se aproximeze setul de date utilizat în exemplul de la regresia polinomială (datele
16.4.4 Aproximarea datelor prin utilizarea unor combinaţii liniare de funcţii
Capitolul 16
250
din fişierul date.prn), de această dată aproximarea realizându-se cu ajutorul metodei
combinaţiei liniare de funcţii.
În exemplu nu se mai reia etapa de citire a datelor din fişier ş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 fişierul date.prn, prin metoda
combinaţiei liniare de funcţii, de la stadiul alegerii setului de funcţii (vectorul F). S-a
optat pentru 4 funcţii, x, sin(x), 1/(x+1 şi e
x
. În continuare se determină cu ajutorul
funcţiei linterp, coeficienţii ce se vor aplica setului de funcţii. Aceşti coeficienţi vor fi
“depuşi” în vectorul coef_F, care este şi evaluat pentru a se putea citi coeficienţii
rezultaţi.
În fine se defineşte funcţia (de x) f_comb, care rezultă ca produs între vectorii coef_F şi
F(x). Va rezulta expresia funcţiei care se va folosi pentru aproximare :

x
e
x
x x x comb f ⋅ ⋅ +
+
⋅ + ⋅ + ⋅ =
−4
10 587 . 3
1
1
16 . 9 ) sin( 909 . 0 684 . 0 ) ( _

În figura 16-12 se poate vedea cum ar arăta un document Mathcad care determină
combinaţia liniară de funcţii ce aproximează un se t de date.

Fig. 16-12 – Determinarea coeficienţilor funcţiilor

Pentru funcţia f_comb(x) obţinută s-a trasat graficul, suprapus peste valorile
neprelucrate Y
i
(X
i
).

Interpolarea şi extrapolarea datelor. Metode de regresie.
251

Fig. 16-13 – Reprezentarea funcţiei de aproximare

Se recomandă reprezentarea pe acelaşi grafic a funcţiilor 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 funcţii F(x).
Spre deosebire de aproximarea prin utilizarea combinaţiilor liniare de funcţii, care
pornea de la un set de funcţii complet determinate şi urmărea găsirea unor coeficienţi
care înmulţeau aceste funcţii în vederea aproximării cu eroare minimă a unui set de
date, metoda funcţiilor arbitrare, realizează aproximarea pornind de la o (UNA
SINGURĂ) funcţie care însă conţine în expresia sa de definire un număr de parametri.
Esenţa metodei este chiar găsirea acelor valori ale acestor parametri astfel încât funcţia
16.4.5 Aproximarea datelor prin utilizarea unor funcţii arbitrare
Capitolul 16
252
să aproximeze cu eroare minimă un set de date. Funcţia care realizează calculul acestor
parametri se numeşte genfit, iar sintaxa ei este prezentată mai jos.
• genfit (vx, vy, vg, F) – funcţia întoarce parametrii din definiţia funcţiei de
aproximare, care minimizează eroarea de aproximare a setului de date
precizat de vectorii vx şi vy, cu funcţia F.
• Vectorul vg are dimensiunea egală cu numărul de parametrii necunoscuţi
din componenţa definiţiei funcţiei F şi reprezintă a valoare de start în
procesul de determinare a acestor parametri (guess value).
• Funcţia F, este tot un vector şi conţine definiţia funcţiei de aproximare,
precum şi derivatele acesteia în raport cu parametrii din relaţia de definiţie.
Deci dacă definiţia funcţiei de aproximare conţine 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 funcţiei
arbitrare.
Se va prezenta structura documentului MathCAD fără să se reia citirea datelor din
fişierul date.prn sau extragerea vectorilor X şi Y.
Pentru funcţia arbitrară s-a ales expresia :

8 . 0
2
2
1 0
) 1 (
) (
x a x a x a
e x f
+ ⋅ + ⋅ + ⋅
=
Documentul MathCAD arăta ca în figura 16-14.

Interpolarea şi extrapolarea datelor. Metode de regresie.
253

Fig. 16-14 – Metoda funcţiei arbitrare

În cea de a doua parte a documentului MathCAD (vezi fig 16-15), s-a realizat
reprezentarea grafică, atât a datelor neprelucrate (Y
i
/X
i
), cât şi a funcţiei f(x), care
aproximează setul de date.
Trebuie menţionat că rezultatul depinde de valorile de start pentru coeficienţii a
i
şi
pentru anumite valori, diferenţele între soluţii pot fi chiar notabile. Din acest motiv se
recomandă să se realizeze determinarea lui f(x) pentru câteva valori ale lui vg şi să se
reţină soluţia care aproximează cel mai bine setul de date.
Se recomandă de asemenea reluarea exemplului de mai sus pentru altă formă a
funcţiei f(x), eventual chiar cu mai mulţi parametri.
Rezultatele se vor reprezenta pe acelaşi grafic pentru o mai bună comparare.
Capitolul 16
254

Fig. 16-15 – Reprezentarea datelor şi a funcţiei arbitrare


255
17 Prelucrarea semnalelor - Analiza
Fourier

Obiective


• Familiarizarea cititorului cu facilităţile oferite de Mathcad
pentru calcului transformatei Fourier discrete sau a
integralei Fourier



17 Prelucrarea semnalelor - Analiza Fourier _ 255
17.1 Calculul integralei Fourier.......................................................................256
17.2 Calculul Transformării Fourier Discrete ...............................................259

Număr de pagini 10
Capitolul 17
256
Există situaţii când este utilă analiza semnalelor atât în domeniul timpului cât şi în cel al
frecvenţei. Analiza circuitelor electronice, prelucrarea şi interpretarea rezultatelor unor
măsurări (de vibraţii de exemplu), impun realizarea trecerii semnalelor din domeniul
timpului în cel al frecvenţei. Deşi pare o complicaţie în plus, această transformare
permite evidenţierea 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 frecvenţei se poate realiza fie cu
ajutorul calculului simbolic (se realizează calcului integralei Fourier) dacă se cunoaşte
expresia analitică a semnalului în domeniul timpului, fie prin utilizarea funcţiilor
specializate pentru realizarea transformării 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” obţinută printr-o transformare Fourier, “dezvăluie” conţinutul de
frecvenţe al unui semnal pentru care se cunoaşte “imaginea” în domeniul timpului.


Pentru calculul integralei Fourier se foloseşte calculul simbolic (câmpul Symbolic ⇒
Transform ⇒ Fourier).
Exemplu:
Să se determine integrala Fourier pentru semnalul a cărui reprezentare în domeniul
timpului este dată în figura 17-1.
17.1 Calculul integralei Fourier
Prelucrarea semnalelor - Analiza Fourier
257

Fig. 17-1 – Semnal în domeniul timpului

Pentru acest semnal, se poate găsi o expresie analitică de forma :
) ( ) ( ) ( d t t t f − Φ − Φ = ,
unde
Φ(t) este funcţia treaptă data de relaţia :
¹
´
¦ <
= Φ
rest in
x pentru
t
, 1
0 , 0
) (
În cazul exemplului considerat, d=2 şi reprezintă porţiunea de pe abscisă pentru care
f(t)=1.
Pentru această funcţie se poate realiza calculul integralei Fourier aşa cum se poate
evdea în figura 17-2. Se va remarca selectarea variabilei x ca variabilă de lucru.
Rezultatul integralei Fourier este în variabilă ω şi este o funcţie complexă.

Fig. 17-2 – Integrala Fourier

În expresia din partea dreaptă apare funcţia Dirac. Având în vedere proprietăţile
acesteia ( 0 0 ) ( ≠ = x daca x Dirac ), se poate ajunge la o expresie mai simplă şi
anume:
Capitolul 17
258
ω
ω ω
ω
⋅ ⋅ −
⋅ +

=
d i
e
i i
f : ) (
Reprezentarea grafică a acestui rezultat este prezentată în figura 17-3. S-a realizat
reprezentarea grafică a modulului transformatei (care este o funcţie complexă). În plus
este de remarcat simetria pe care o afişează transformata în raport cu originea. În
general interesează numai tronsonul pe abscise pozitive.
În multe situaţii, este de interes să se realizeze şi reprezentarea părţii imaginare şi a
celei reale a transformatei, sau chiar să se reprezinte partea imaginară funcţie de cea
reală [a transformatei].
Analiza imaginilor de tipul figurii 17-3, pun în evidenţă conţinutul de frecvenţe al
semnalului analizat. În cazul concret al exemplului, semnalul este “bogat” în frecvenţe
în domeniul 0-4 Hz.
Se recomandă reluarea calculului transformatei pentru diferite valori ale parametrului d,
pentru a se pune în evidenţă influenţa duratei semnalului asupra conţinutului de
frecvenţe al imaginii obţinută prin calculul integralei Fourier.

Fig. 17-3 - Integrala Fourier
Prelucrarea semnalelor - Analiza Fourier
259

Calculul inversei transformatei Fourier se face extrem de simplu, prin utilizarea
câmpului Symbolic ⇒ Transform ⇒ Inverse Fourier, după selectarea variabilei ω
ca variabilă de lucru. Rezultatul obţinut este prezentat mai jos în figura 17-4:


Fig. 17-4 – Transformata Fourier inversă

Deşi aparent rezultatul nu seamănă cu funcţia f(t), aşa cum a fost ea definită mai sus,
o simplificare simbolică (ce va ţine cont de proprietăţile funcţiei Φ(x)), va produce exact
rezultatul ) ( ) ( ) ( d t t t f − Φ − Φ = .


Sunt destul de rare cazurile în care se cunoaşte expresia analitică a semnalului în
domeniul timpului. De obicei semnalul este cunoscut într-un număr [finit] de perechi de
puncte de forma (x
i
, y
i
), (de exemplu ca rezultat al unor măsurări). Din punct de
vedere practic cele n perechi de puncte sunt reţinute în doi vectori, cu număr egal de
elemente, pentru care se impune condiţia ca elementele vectorului x să fie în ordine
crescătoare.
În asemenea situaţii se recomandă utilizarea transformării Fourier discrete, respectiv a
funcţiilor MathCAD ifft(v), ifft(u), cfft(A), icfft(B), sau IFFT(v), IFFT(u), CFFT(A),
ICFFT(B).
Transformata Fourier discretă porneşte de la ipoteza că semnalul iniţial, fie el f(t), este
eşantionat la intervale uniform spaţiate ∆t. În acest caz, semnalul iniţial va fi :

) ( t n h h
n
∆ = , n=…,-3, -2, -1, 0, 1, 2, 3, ….

17.2 Calculul Transformării Fourier Discrete
Capitolul 17
260
Acestuia i se va aplica transformata Fourier discretă.
Banda de frecvenţe acoperită de transformata Fourier va fi [-f
c,
f
c
] unde cu f
c
s-a notat
şi este aşa numita frecvenţă Nyquist, dată de relaţia :

t
f
c
∆ ⋅
=
2
1


Altfel spus, dacă semnalul are o durată finită în timp şi eşantionarea s-a făcut la
intervale de 0.01 secunde, transformata Fourier va acoperi domeniul [-50, 50] Hz.
Pentru a acoperi un domeniu mai întins, trebuie ca eşantionarea să fie mai fină, deci
semnalul să fie înregistrat la intervale de timp mai mici.
Dacă semnalul analizat nu are o durată limitată în timp, se spune că nu este limitat nici
în frecvente (nu este “bandwidth limited”), astfel că dacă se realizează eşantionarea la
intervale de timp ∆t, componentele în frecvenţele din afara domeniului [-f
c,
f
c
], sunt
translatate în mod fals în intervalul [f
c
f
c
].
Fenomenul poartă numele de “aliasing” şi produce asupra transformatei Fourier efectul
prezentat în figura 17-5.


Fig. 17-5 - Fenomenul de “aliasing”

Odată aceste observaţii făcute, se va trece la o succintă prezentare a funcţiilor
MathCAD ce realizează transformata Fourier discretă.

Transformata
Fourier corectă
Transformata Fourier
afectată de aliasing
Prelucrarea semnalelor - Analiza Fourier
261
fft(v)

Întoarce transformata Fourier a vectorului v. Vectorul v trebuie să
aibă 2
m
elemente reale, astfel că transformata va avea 1+2
m-1

elemente.
Elementul de ordin j este dat de relaţia :

⋅ ⋅ =
k
k
n
j
i
k j
e v
n
c
)
2
(
1
π

FFT(v)

Întoarce transformata Fourier a vectorului v. Vectorul sau matricea
trebuie să aibă 2
m
elemente reale.
Elementul de ordin j este dat de relaţia :


⋅ ⋅ =
k
k
n
j
i
k j
e v
n
c
)
2
(
1
π

cfft(A)

Întoarce transformata Fourier a unui vector sau a unei matrice. Dacă
argumentul A este vector, el trebuie să aibă 2
m
elemente reale sau
complexe, astfel că transformata va avea 1+2
m-1
elemente.
Transformata are acelaşi număr de linii şi coloane ca şi matricea iniţială.
Elementul de ordin j este dat de relaţia :

⋅ ⋅ =
k
k
n
j
i
k j
e v
n
c
)
2
(
1
π

CFFT(A)

Întoarce transformata Fourier a unui vector sau a unei matrice. Dacă
argumentul A este vector, el trebuie să aibă 2
m
elemente reale sau
complexe, astfel că transformata va avea 1+2
m-1
elemente.
Transformata are acelaşi număr de linii şi coloane ca şi matricea iniţială.
Elementul de ordin j este dat de relaţia :


⋅ ⋅ =
k
k
n
j
i
k j
e v
n
c
)
2
(
1
π


Capitolul 17
262
Pentru toate aceste transformări directe, există şi transformările inverse, după cum
urmează :
fft(v) ↔ ifft(u)
cfft(A) ↔ icfft(B)
FFT(v) ↔ IFFT(u)
CFFT(A) ↔ ICFFT(B)

În legătură cu funcţiile amintite, trebuie reţinute următoarele :

• Atât fft cât şi cfft întorc vectori ale căror elemente sunt complexe
• Pentru a determina spectrul de frecvenţe acoperit de transformare este
necesară cunoaşterea următoarelor elemente :
- Frecvenţa de eşantionare a semnalului original f
s
=1/∆t
- Numărul de eşantioane considerate, N
În aceste condiţii, frecvenţa asociată cu elementul j al transformatei este :
s k
f
N
j
c ⋅ =
Pentru a evita fenomenul de “aliasing”, trebuie ca frecvenţa de eşantionare să fie mai
mică decât frecvenţa Nyquist, deci :
t
f f
c s
∆ ⋅
= <
2
1

Funcţiile fft şi FFT, produc spectre de frecvenţă simetrice în raport cu originea, astfel
că nu este necesar decât calculul primei jumătăţi a spectrului. Aceasta este explicaţia
faptului că vectorul întors de fft are jumătate din numărul de elemente al vectorului
original. Funcţia inversă ifft, reconstruieşte semnalul ţinând cont şi de jumătatea de
spectru simetrică.
Având în vedere că funcţiile fft şi cfft (ca şi FFT sau CFFT) întorc vectori complecşi, se
poate calcula şi informaţia de fază prin utilizarea operatorului de vectorizare (CTRL + -)


Prelucrarea semnalelor - Analiza Fourier
263
Exemplu:
Să se obţină spectrul de frecvenţe “conţinut” de un semnal pentru care se cunoaşte
dependenţa de timp. Datele de lucru sunt reţinute în două fişiere, situate în directorul
curent de lucru MathCAD, cu numele timp.dat, respectiv semnal.dat. datele din cele
două fişiere sunt prezentate mai jos (separarea s-a făcut aici cu semnul “/”, dar evident
în fişierul *.dat, fiecare valoare se găseşte pe un rând) :

Fişierul 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.33727/45.39626/47.455
2/49.51426/51.57325/53.63225/55.69125/58.75024/59.80924/63.86824/64.92
724/65.98623/68.04523/70.10423/72.16322/74.22222/76.28122

Fişierul 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/.7
14/1.543/.8/1.4/.832/1.243/.092/.018/0

Structura fişierului MathCAD care rezolvă problema este detaliată (cu comentarii
intercalate) în figura 17-6:
Se va utiliza pentru transformarea Fourier directă funcţia fft, care are nevoie ca
argumente de vectori cu 2
m
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.
Capitolul 17
264

Fig. 17-6 – Semnalul iniţial


Prelucrarea semnalelor - Analiza Fourier
265
În continuare trebuie să se aplice celor 1024 de perechi de puncte funcţia potrivită de
calcul a transformatei Fourier. S-a ales funcţia fft.
Aşa cum se specifică şi în documentul MathCAD prezentat în figura 17-7, deşi funcţia
fft întoarce un număr de 1024/2=512 puncte, s-a realizat reprezentarea grafică numai
pentru primele 64 întrucât semnalul este sărac în frecvenţe peste limita
corespunzătoare celor 64 puncte.
În ultimul grafic (vezi figura 17-8) s-a realizat reprezentarea grafică (numai pentru
primele 40 de puncte) a informaţiei de fază.
Se propune ca exerciţiu şi trasarea graficelor pentru Re(z), Im(z) şi eventual Im(z)
funcţie de Re(z).


Fig. 17-7 – Transformata Fourier discretă

Capitolul 17
266

Fig. 17-8 – Informaţia de fază



267
18 Probleme de valori şi vectori
proprii

Obiective


• Prezentarea facilităţilor oferite de Mathcad pentru
rezolvarea problemelor de valori şi vectori proprii (simplă şi
generalizată)



18 Probleme de valori şi vectori proprii _____ 267
18.1 Baza teoretică ............................................................................................268
18.2 Valori şi vectori proprii generalizaţi .......................................................269
18.3 Valori şi vectori proprii neliniari.............................................................270

Număr de pagini 7
Capitolul 18
268


Dacă A este o matrice pătrată cu dimensiunea n x n, se spune că ea are un vector
propriu x, corespunzător valorii proprii z, dacă :
x z x A ⋅ = ⋅ (1)
Evident orice multiplu al vectorului propriu x va fi considerat vector propriu la rândul
său (vectorul 0 nu este considerat vector propriu, deşi evident satisface relaţia (1)).
Relaţia de mai sus, este valabilă doar dacă :
0 det = ⋅ − I z A (2)
unde cu I s-a notat matricea unitate de dimensiune n x n. Relaţia (2) se numeşte
ecuaţie caracteristică.
Ultima relaţie, care defineşte o ecuaţie 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. Rădăcinile multiple definesc valori proprii numite degenerate.
Relaţia (1) se mai poate scrie şi sub forma :
0
...
...
...
...
...
2
1
2 1
2 22 21
1 12 11
=
¦
¦
)
¦
¦
`
¹
¦
¦
¹
¦
¦
´
¦




n nn n n
n
n
x
x
x
z a a a
a z a a
a a z a
(3)
În legătură cu valorile proprii ale unei matrice A, se pot enunţa următoarele propoziţii:
• valorile proprii ale matricelor Hermitice sunt reale. Prin matrice Hermitică se
înţelege o matrice egală cu complex conjugata transpusei sale;
• valorile proprii ale unei matrice simetrice reale sunt reale.
Valorile proprii, odată determinate, sunt reţinute 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 “reuniţi” într-o matrice, fiecare vector “ocupând” o
coloană. O astfel de matrice se mai numeşte matrice modală.
18.1 Baza teoretică
Probleme de valori şi vectori proprii
269
Aşa 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 încât vectorii proprii să
aibă anumite proprietăţi, cum ar fi :
• suma pătratelor 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 satisfăcută o relaţie de tipul :

¹
´
¦

=
= ⋅ ⋅ ⋅ ⋅
j i daca
j i daca
x M x
j j
T
i i
, 0
, 1
α α , unde (4)
x
i
şi x
j
sunt vectorii proprii consideraţi.
În afară de relaţia (1), problemele de valori şi vectori proprii se mai pot prezenta şi sub
forma unei relaţii de tipul :
x z A x ⋅ = ⋅ (5)
Dacă în primul caz - relaţia (1) - se obţineau vectorii proprii la dreapta, în cazul relaţiei
(5) se obţin vectorii proprii la stânga.
Prelucrarea relaţiilor (1) şi (5), permite enunţarea următoarelor propoziţii :
• vectorii proprii la stânga sunt transpuşii vectorilor proprii la dreapta ai matricei
transpuse;
• valorile proprii la stânga şi la dreapta sunt egale.


Problema generalizată de vectori proprii este descrisă de relaţia următoare :
x B z x A ⋅ ⋅ = ⋅ (6)
Dacă matricea B nu este singulară, relaţia (6) se mai poate scrie :
x z x A B ⋅ = ⋅ ⋅

) (
1

(7)
18.2 Valori şi vectori proprii generalizaţi
Capitolul 18
270

O generalizare a problemelor de valori şi vectori proprii este cazul descris de ecuaţia :
0 ) (
2
= ⋅ + ⋅ + ⋅ x C B A λ λ (8)
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.
Funcţiile MathCAD specializate pentru rezolvarea acestui tip de probleme sunt:

Exemplu:
Să se citească dintr-un fişier de date două matrice astfel: în fişier este reţinut 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,
18.3 Valori şi vectori proprii neliniari
eigenvals(M) întoarce sub forma unui vector, valorile proprii asociate
matricei M
eigenvecs(M) întoarce o matrice conţinând vectorii proprii normalizaţi
corespunzători valorilor proprii ale matricei M. Vectorii
proprii sunt dispuşi pe coloanele matricei M
eigenvec(M,z) întoarce vectorul propriu al matricei M asociat valorii
proprii z. Vectorul propriu este normalizat astfel încât
lungimea sa (radical din suma pătratelor valorilor
elementelor) să fie unitatea
genvals(M,N) întoarce un vector ce conţine valorile proprii
corespunzătoare problemei generalizate de valori şi
vectori proprii
genvecs(M,N) întoarce o matrice conţinând vectorii proprii normalizaţi
corespunzători valorilor proprii ale matricei M pentru
problema de valori şi vectori proprii generalizată.
Probleme de valori şi vectori proprii
271
pentru problema de valori şi vectori proprii clasică, iar în a doua etapă, se vor calcula
valorile şi vectorii proprii asociaţi problemei generalizate de valori şi vectori proprii
pentru matricele M şi N.
Fişierul de date va avea următorul conţinut :

6 12 8 4 0 4 8 12 16 2
2 -7 10 5 1 5 10 15 6 -5
4 18 2 6 0 6 12 1 24 -3
-2 21 -4 7 -1 7 14 21 8 5
3 24 16 8 0 8 16 24 6 0

Un astfel de fişier se poate obţine cu ajutorul unui editor ASCII cum ar fi Notepad.
Structura fişierului MathCAD care rezolvă problemele enunţate mai sus este redată în
continuare în figura 18-1. În exemplu numele fişierului 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 fişierul să se găsească în directorul de lucru al MathCAD.
Se atrage atenţia asupra necesităţii de se seta variabila MathCAD ORIGIN pe
valoarea 1.
Se mai atrage atenţia asupra modalităţilor de notare a indicilor, deoarece în documentul
MathCAD prezentat se folosesc şi notaţiile cu indice de ordonare (operatorul [), dar şi
cele cu indice de identificare (operatorul .).
Capitolul 18
272

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

Pentru stabilirea vectorilor proprii, se va urmări figura 18-2. Se utilizează aceeaşi
matrice M extrasă din matricea MM („citită” dintr-un fişier de date).
Probleme de valori şi vectori proprii
273

Fig. 18-2 – Determinarea vectorilor proprii pentru problema de tip Mx=zx

Se atrage atenţia că figurile 18-1 şi 18-2 surprind zone ale unui singur fişier Mathcad.
Aceasta explică de exemplu prezenţa notaţiei z
1
în figura 18-2 (e vorba despre primul
element al vectorului z determinat pe parcursul figurii 18-1).
În ceea ce priveşte rezolvarea problemei generalizate, documentul MathCAD va avea
structura prezentată în figura 18-3.
Capitolul 18
274

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

Se poate verifica faptul că Mathcad determină vectori proprii ce satisfac condiţia de
normalitate. Pentru detalii se va urmări figura 18-4.


Fig. 18-4 – Verificare normalităţii vectorilor proprii


275
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ă Bucureşti, 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., Fireţeanu S., Matlab, Calcul numeric-Grafică. Aplicaţii, Editura Teora
Bucureşti, 1995
8. Ionescu D. V., Ecuaţii diferenţiale şi integrale, Editura Didactică şi Pedagogică,
Bucureşti, 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ă, Bucureşti,
1969
12. Pascariu I., Elemente Finite, Concepte-Aplicaţii, Editura Militară, Bucureşti, 1985
13. Press W., Teukolsky S., Vetterling W., Flannery B., Numerical recipes in C -The art
of scientific computing, Cambridge University Press, Cambridge, 1992
14. Rumşiski I. Z., Prelucrarea matematică a datelor experimentale, Editura Tehnică
Bucureşti, 1974
15. Rus I. A., Micula Ghe., Pavel P., Ionescu B., Probleme de ecuaţii diferenţiale şi cu
derivate parţiale, Editura Didactică şi Pedagogică, Bucureşti, 1982
16. Sandi H., Metode matriciale în mecanica structurilor, Editura Tehnică, Bucureşti,
1975
Capitolul 18
276
17. Trandafir R., Probleme de matematici pentru ingineri, Editura Tehnică, Bucureşti,
1977
18. **** Documentaţie Mathcad

3.4
3.4.1 3.4.2

Editarea şi formatarea regiunilor de tip expresie şi de tip text într-un
Editarea de expresii_______________________________________________ 37 Inserarea şi ştergerea de paranteze; Aplicarea unei funcţii _________________ 38

document MathCAD________________________________________________ 37

3.5
3.5.1

Fonturi în expresii matematice. Etichete (tag-uri) __________________ 39
Aplicarea şi crearea de etichete _____________________________________ 42

3.6
3.6.1 3.6.2

Editarea şi formatarea regiunilor de tip text. Stiluri ________________ 42
Stiluri _________________________________________________________ 43 Controlul dimensiunilor unei regiuni de tip text _________________________ 44

3.7 3.8
3.8.1 3.8.2

Formatarea rezultatelor într-un document MathCAD ______________ 46 Evaluare documentelor MathCAD_______________________________ 52
Dezactivarea unei ecuaţii __________________________________________ 53 Optimizarea evaluărilor ___________________________________________ 54

3.9

Definirea de hyperlink-uri______________________________________ 55

4 Calcul matriceal numeric ________________ 57
4.1
4.1.1 4.1.2 4.1.3 4.1.4

Crearea unui vector sau a unei matrice ___________________________ 58
Variabile de tip vector sau matrice __________________________________ 60 Referirea elementelor vectorilor sau matricelor _________________________ 60 Originea indicilor ________________________________________________ 62 Limitări asupra dimensiunilor matricelor ______________________________ 63

4.2 4.3
4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 2

Operatori pentru calcul matriceal _______________________________ 64 Funcţii pentru calcul matricial __________________________________ 66
Descompunerea L U ______________________________________________ 73 Descompunerea Cholesky__________________________________________ 74 Descompunerea QR ______________________________________________ 74 Descompunerea SVD (Singular value Decomposition) ___________________ 74 Exemple de utilizarea a funcţiilor de căutare în tablouri __________________ 77 Vectorizări şi atribuiri simultane_____________________________________ 80

4.3.7 4.3.7.1 4.3.7.2

Crearea de matrice structurate_______________________________________81 Funcţia CreateMesh_____________________________________________81 Funcţia CreateSpace ____________________________________________85

5 Reprezentări grafice ____________________ 87
5.1
5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.5.1 5.1.5.2

Grafice 2D ___________________________________________________88
Grafice de tip X-Y________________________________________________88 Formatarea graficelor de tip X-Y ____________________________________90 Grafice în coordonate polare ________________________________________93 Formatarea graficelor în coordonate polare ____________________________94 Controlul vizualizării graficelor 2D __________________________________94 Facilitatea de tip Trace (urmărire a valorilor de pe grafic) _______________94 Facilitatea de tip Zoom (controlul factorului de mărire) _________________97

5.2
5.2.1 5.2.2 5.2.3 5.2.4 5.2.5

Grafice 3D ___________________________________________________99
Grafice de tip suprafaţă ____________________________________________99 Grafice de tip curbe de nivel (Contour Plot) ___________________________104 Grafice de tip puncte distribuite în spaţiu (3D Scatter Plots) ______________105 Grafice de tip 3D Bar ____________________________________________107 Formatarea graficelor 3D _________________________________________109

5.3
5.3.1

Grafice de tip Vector Plot______________________________________115
Formatarea graficelor de tip Vector _________________________________116

6 Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii ______________________________ 117
6.1 6.2 6.3 6.4 Rezolvarea ecuaţiilor algebrice _________________________________118 Rezolvarea ecuaţiilor transcendente _____________________________118 Rezolvarea sistemelor algebrice liniare __________________________120 Rezolvarea sistemelor neliniare _________________________________121

6.5

Rezolvarea aproximativă a sistemelor neliniare ___________________ 124

7 Derivare şi integrare numerică. Calcul de sume şi produse ______________________________ 125
7.1 7.2 7.3 Derivarea numerică __________________________________________ 125 Integrarea numerică _________________________________________ 127 Calcul de sume şi produse _____________________________________ 128

8 Utilizarea unităţilor de măsură în documentele Mathcad________________________________ 131
8.1 8.2 8.3 8.4 Mod de lucru _______________________________________________ 132 Definirea de unităţi de măsură _________________________________ 133 Modificarea unităţilor de măsură în care este exprimat un rezultat __ 134 Alegerea sistemului de unităţi de măsură utilizat şi controlul formatului

de afişare a rezultatelor cu unităţi de măsură __________________________ 136 8.5 Utilizarea UM în calculul integral sau diferenţial__________________ 139

9 Schimb de informaţie între Mathcad şi alte aplicaţii. ________________________________ 141
9.1 9.2 9.3 9.4 9.5
4

Inserarea unei componente Excel _______________________________ 142 Inserarea unei componente MATLAB___________________________ 147 Inserarea unei componente de tip bază de date ___________________ 151 Inserarea unei componente de tip Input Table ____________________ 159 Inserarea unei componente de tip control MathSoft _______________ 160

9.6

Inserarea unei componente de tip citire (Read), scriere (Write) din/în

fişiere 163 9.7 Funcţii predefinite pentru citirea/scrierea din/în fişiere de date ASCII 166

10 Programare în Mathcad________________ 169
10.1 10.2
10.2.1

Prezentare generală_________________________________________170 Instrucţiunea de test (if) _____________________________________173
Definirea de funcţii pe intervale.____________________________________174

10.3
10.3.1

Instrucţiuni de ciclare _______________________________________175
Instrucţiunea for ________________________________________________175 Calculul sumei primelor n numere naturale _______________________175 Calculul lui n! ______________________________________________175 Buclă FOR cu incrementare neîntreagă___________________________175 Instrucţiunea while __________________________________________176 Calculul lui n! ______________________________________________177 “Găsirea” primului element al unui vector mai mare decât o anumită valoare 177 10.3.1.1 10.3.1.2 10.3.1.3 10.3.1.4 10.3.1.5 10.3.1.6

10.4
10.4.1 10.4.2 10.4.3 10.4.4

Controlul execuţiei programelor ______________________________178
Secvenţa break _________________________________________________178 Secvenţa continue _______________________________________________178 Secvenţa return _________________________________________________180 Secvenţa on error________________________________________________180

10.5 10.6

Subrutine (program în program)______________________________182 Recursivitate ______________________________________________183

11 Calcul simbolic _______________________ 185
11.1 11.2
11.2.1

Prezentare generală_________________________________________186 Modalităţi de evaluare simbolică ______________________________188
Evaluarea cu ajutorul operatorului de evaluare simbolică_________________188

2.2 Formatarea de pagină ______________________________________ 226 Tipărirea _________________________________________________ 228 6 .3 11.2 11.3 Introducere _______________________________________________ 220 Crearea unui [fişier] şablon__________________________________ 222 Modificarea unui şablon ____________________________________ 224 15 Formatarea de pagină şi tipărirea în Mathcad 225 15.2 12.1 12.2.2.3 Crearea şi rularea unei animaţii ______________________________ 208 Salvarea unei animaţii ______________________________________ 211 Rularea unei aplicaţii salvate anterior _________________________ 212 13 Operatori personalizaţi _________________ 215 13.11.2 14.4 Evaluarea cu ajutorul operatorului de evaluare simbolică şi a cuvintelor cheie 189 Modificatori de cuvinte cheie ______________________________________ 198 Utilizarea succesivă sau simultană a mai multor cuvinte cheie ____________ 198 Utilizarea succesivă a mai multor cuvinte cheie ____________________ 199 Utilizarea simultană a mai multor cuvinte cheie____________________ 199 11.4.1 13.2.4.1 11.2 11.2.2.1 15.2.1 14.6 Evaluarea cu ajutorul meniului Symbolics ____________________________ 200 Controlul formatului rezultatelor simbolice ___________________________ 205 12 Animaţie în MathCAD _________________ 207 12.5 11.2 Introducere _______________________________________________ 216 Definirea şi utilizarea operatorilor personalizaţi ________________ 217 14 Fişiere şablon (template) ________________ 219 14.

4.1 18.2 16.2 18.3 Interpolarea datelor în 2 dimensiuni ___________________________232 Funcţia linterp __________________________________________________233 Funcţia interp __________________________________________________234 Funcţiile scpline.2 Calculul integralei Fourier ___________________________________256 Calculul Transformării Fourier Discrete _______________________259 18 Probleme de valori şi vectori proprii _____ 267 18.Analiza Fourier _ 255 17. Metode de regresie.1 16.1.4. pspline şi lspline __________________________________234 16.1.1 16.3 16.2 16.2 16.4 16.1 16.5 Interpolarea datelor în 3 dimensiuni ___________________________236 Extrapolarea datelor ________________________________________240 Regresie liniară şi neliniară __________________________________242 Regresia liniară _________________________________________________242 Regresia polinomială (neliniară) ____________________________________243 Regresie polinomială 3D (neliniară) _________________________________248 Aproximarea datelor prin utilizarea unor combinaţii liniare de funcţii _______249 Aproximarea datelor prin utilizarea unor funcţii arbitrare ________________251 17 Prelucrarea semnalelor . _______________________________ 231 16.4.16 Interpolarea şi extrapolarea datelor.3 Baza teoretică _____________________________________________268 Valori şi vectori proprii generalizaţi ___________________________269 Valori şi vectori proprii neliniari ______________________________270 Bibliografie_____________________________ 275 .4 16.4.3 16.1 17.1.4.

8 .

.....................................................1 1.....14 Număr de pagini 7 9 .. ferestre.........................12 Mediul de lucru MathCAD........ Noţiunea de regiune.................................................2 1.1 1.........................12 Structura unui document MathCAD............................10 Cerinţe hard şi soft pentru instalare ............................13 Tehnici de lucru..........................................................6 Introducere ..........1 Produsul MathCAD...............3 1.....................4 1..........10 Noutăţi aduse de Mathcad 2001............................ documente........................11 Fişiere MathCAD . Prezentare generală ___ 9 1..... Prezentare generală Obiective • Familiarizarea cititorului cu facilităţile oferite de Mathcad • Introducerea unor noţiuni primare despre fişierele şi structura documentelor Mathcad • Prezentarea mediului de lucru Mathcad şi a unor tehnici de lucru 1 Produsul MathCAD.............5 1...................... Ecranul MathCAD....

Este posibilă conectarea la baze de date. sisteme de ecuaţii.1 Introducere MathCAD este un produs soft destinat rezolvării problemelor ce implică efectuarea de calcule matematice. interacţiunea cu fişiere de date. astfel încât atât aspectul documentelor MathCAD. Mai mult decât atât. specialiştilor din industrie şi cercetare. Este posibilă atât achiziţia cât şi trimiterea de date în timp real de la/către dispozitive acceptate de Mathcad. Componenta de accesare [a bazelor de date] permite efectuarea de operaţii de interogare a oricărei baze de date compatibile SQL.Capitolul 1 1. dar mai ales modul de completare (generare) sunt identice cu cele care s-ar obţine/utiliza în cazul folosirii hârtiei şi creionului (de subliniat că documentele MathCAD pot conţine şi secţiuni de comentarii. calcul matricial. • Achiziţie de date. astfel că întotdeauna rezultatele afişate vor reflecta starea curentă (instantanee) a documentului. calcul integral. 1. Produsul este destinat studenţilor. precum şi cu alte aplicaţii răspândite (Excel. succint descrise în paragrafele următoare: • Accesare de componente SGBD. deci de text. cadrelor didactice din învăţământul mediu şi superior. atât la nivel numeric cât şi la nivel simbolic. 10 . ceea ce le va face mult mai uşor de înţeles). ecuaţii diferenţiale. Axum.2 Noutăţi aduse de Mathcad 2001 Versiunea 2001 a produsului pune la dispoziţia utilizatorului o serie de noi facilităţi. prelucrarea de imagini. deosebit de prietenoasă şi care utilizează tehnica WYSIWYG (What You See Is What You Get). de la simple formule până la rezolvarea de ecuaţii. Mathcad permite trasarea de grafice (2D şi 3D). Smartsketch). documentele MathCAD pot fi evaluate integral în mod automat ori de câte ori se produce o modificare în structura lor. Marea forţă a MathCAD este interfaţa de lucru (desktop-ul MathCAD).

pe lângă numeroasele funcţii Mathcad cunoscute de la versiunile mai vechi. cu ajutorul noilor funcţii wav. Windows NT 4. O imagine odată importată. decupare. 1. • Import de fişiere imagine. contrast. în afară de formatul BMP. Windows 95 sau superior. Mathcad oferă posibilitatea salvării documentelor în format HTML. Compatibilitate fişiere wav.Produsul MathCAD. GIF şi PCX). CD-ROM drive. Este disponibil şi un mecanism de detectare a erorilor documentaţiilor electronice (HBK debugging). Au fost introduse. • Noi funcţii. • Crearea de documentaţii electronice (Electronic Books). 11 . culoare. Cel puţin 32 MB RAM (64 MB este o valoare recomandată). Prezentare generală • Facilităţi de generare de elemente (casete de dialog) de control. cu elemente MathML (Mathematical Markup Language) incluse şi implicit citirea lor cu oricare din browser-ele curente. Mathcad 2001 permite crearea de butoane sau casete de text cu ajutorul cărora se poate îmbunătăţii interactivitatea documentelor de lucru.0 sau superior. Mathcad citeşte. sau funcţii pentru căutarea de valori în tablouri de mari dimensiuni. funcţii pentru transformarea de coordonate. Astfel de documente pot conţine legături de tip hyperlink şi regiuni de tip index. scrie şi poate extrage informaţie pentru fişiere în format „pulse cod modulated (PCM) Microsoft Wav”. • • Modulul de dezvoltare (SDK). există posibilitatea procesării acesteia (facilităţi de zoom.3 Cerinţe hard şi soft pentru instalare Structura minimă necesară instalării şi utilizării versiunii Mathcad 2001 este următoarea: • • • • Pentium 133MHz sau compatibil. • Facilităţi WEB. orientare). Versiunea 2001 permite importul de imagini într-o gamă largă de formate (JPEG. inclusiv documentaţie sau exemple la nivel de cod. Permite crearea rapidă de componente Mathcad. disponibil şi la versiunile mai vechi. control strălucire.

consumă resurse 12 .mct.5 Mediul de lucru MathCAD. deoarece orice document deschis (chiar dacă nu este activ). fişierul help principal este mcad. precum şi mai multe bare de instrumente (toolbars) – dintre care unele sunt asemănătoare ca aspect şi funcţionalitate cu cele ce apar la multe aplicaţii Windows. MathCAD creează documente. Este recomandabil ca după instalare. Service Pack 2. este recomandată instalarea Internet Explorer 4. Ambele conţin acelaşi lucru. o zonă de meniuri pull-down. doar că readme. documente Ca orice fereastră Windows.mcd poate fi “citit” ca document MathCAD.Capitolul 1 • Pentru utilizarea comodă a Help-ului. au extensia *.4 Fişiere MathCAD Deşi MathCAD va genera la instalare un mare număr de fişiere de tipuri (şi deci cu extensii) foarte diverse. sau foi de calcul. Există şi o zonă de stare (în partea inferioară a ferestrei MathCAD). dar mai ales că extensia implicită a fişierelor de lucru MathCAD este *.txt. utilizatorul obişnuit. cursoare vertical şi orizontal. ferestre. dintre care doar unul este activ la un moment dat. despre care se va vorbi într-unul din capitolele viitoare. sau readme. aşa cum s-a mai spus. Ecranul MathCAD. sau mai nou. precum şi butoanele pentru controlul stării ferestrei (în partea din dreapta sus).mcd. trebuie să reţină în această fază că executabilul principal este mcad. Fişierele şablon (template).exe.mcd generate de utilizator. Aceasta deoarece nu este bine ca fişierele create de utilizator să se “amestece” cu cele ce fac parte din pachetul iniţial de fişiere MathCAD.hlp. şi cea în care va opera MathCAD. 1. are o bară de titlu. similare. să se creeze cel puţin un director de lucru. MathCAD permite deschiderea simultană a mai multor documente.0. De interes sunt şi fişierele readme. care conţin informaţii de ultimă oră despre MathCAD (ulterioare editării manualelor de utilizare). 1. ca aspect şi mod de completare cu foile de hârtie pe care s-ar scrie cu creionul. care să conţină fişierele *.mcd. Dacă nu este strict necesar nu se va abuza de această facilitate.

Fereastra MathCAD 1.1 este prezentată fereastra MathCAD cu două documente deschise şi aranjate în sistem “dale” pe verticală. ceea ce. Controlul ferestrelor document se face din meniul Window. Fiecare document MathCAD fiinţează tot într-o fereastră (ce poate fi controlată ca orice fereastră în mediul Windows). Prezentare generală ale sistemului.6 Structura unui document MathCAD. Noţiunea de regiune 13 . în cazul unor documente de mari dimensiuni poate duce la reducerea vitezei de lucru în mod inutil. cu observaţia că ferestrele în care se găsesc documentele MathCAD nu pot să se găsească decât în spaţiul de lucru al ferestrei aplicaţiei MathCAD. În figura 1. 1-1 . Documentul activ este cel din dreapta.Produsul MathCAD. Fig. Ferestrele document pot fi aranjate în sistem “dale” (tile) sau “cascadă” ca orice ferestre în mediul Windows.

regiunile pot fi mutate oriunde pe document (regiunile se pot chiar suprapune. iar celălalt pentru inserarea obiectelor de tip text.7 Tehnici de lucru Aşa după cum s-a menţionat. Deplasarea cursorului +. respectiv o bară vericală de culoare roşie.se va insera cursorul +. Prin utilizarea tehnicii drag and drop. se pot folosi două cursoare. Din acest moment. O regiune selectată poate fi deplasată prin plasarea pointerului de mouse în interiorul ei până când acesta se transformă în +. se va numi regiune.1 sunt prezentate cele trei tipuri de obiecte. inserarea în document a unor simboluri care nu se regăsesc pe 14 . Într-un document MathCAD. Zona ocupată de un astfel de obiect. grafic. iar unele regiuni – de exemplu cele de tip grafic – pot fi scalate după un mecanism asemănător cu cel folosit la controlul dimensiunilor unei ferestre în mediul Windows (deci prin aducerea pointerului de mouse fie în colţul din dreapta jos al regiunii selectate. Selectarea unei regiuni (care va avea ca efect apariţia dreptunghiului desenat cu linie întreruptă în jurul regiunii) se face prin plasarea pointerului de mouse în vecinătatea obiectului şi deplasarea lui înspre obiect cu butonul din stânga apăsat. De subliniat că în această manieră pot fi selectate mai multe regiuni simultan.Capitolul 1 Pe spaţiul de lucru al unui document MathCAD se pot insera trei mari tipuri de “obiecte” : expresie. Zonele încadrate cu dreptunghiuri desenate cu linie întreruptă delimitează regiunea ocupată de un obiect. Cele două cursoare sunt un semn plus de culoare roşie. MathCAD foloseşte tehnica WYSIWYG. Tot în figura 1. ceea ce presupune ca una din consecinţe. ceea ce în general nu este de dorit). text. → . fie pe laturile verticală dreapta sau orizontală jos). cu butonul din stânga apasat se va “trage” regiunea (sau regiunile) până la noua poziţie. ↓. ←. Unul se va utiliza pentru inserarea de obiecte de tip expresie sau grafic. 1. fie prin utilizarea mouse-ului (la un simplu clic în poziţia curentă a pointerului de mouse (care este identic cu cel implicit al mediului Windows) – deci săgeata pe direcţia SE-NV . se face fie prin utilizarea grupului de săgeţi ↑.

sumă. Prezentare generală tastatură (semnul pentru radical.Produsul MathCAD. Până când toate aceste poziţii de scriere premarcate nu sunt completate. urmată de combinaţia de taste CTRL + G). Trecerea de la un place-holder la altul se face fie prin utilizarea grupului de săgeţi ↑. fie mai simplu. →. Rolul lor este de indica utilizatorului unde (şi deci câte) să fie elementele expresiei ce trebuie completate. produs etc). expresia nu poate fi utilizată. se numesc în MathCAD place-holdere. ↓. se va insera la ) operatorul poziţia curentă a cursorului (prin utilizarea paletei de butoane integrală definită. integrală. 15 . care în prima fază va arăta ca mai jos : Place-holder Cele patru dreptunghiuri de culoare neagră. Inserarea lor se poate face fie prin utilizarea unor combinaţii de taste (short-cuts). O altă particularitate a modului de operare a MathCAD. este utilizarea poziţiilor de scriere premarcate. sau a tastei TAB. fie prin utilizarea grupului de butoane corespunzător ales dintre cele aparţinând paletei de butoane Math: În ceea ce priveşte combinaţiile de taste care pot fi folosite pentru inserarea simbolurilor nedisponibile la tastatură. prin utilizarea mouse-ului. ←. se recomandă consultarea secţiunii Help ⇒ Operators. Este posibilă şi inserare în documentele MathCAD a caracterelor greceşti (fie utilizarea grupului de butoane . prin tastarea literei corespunzătoare din alfabetul latin. Astfel în cazul în care se doreşte inserarea într-un document a unei expresii de forma ∫ 3 1 sin( x 2 )dx . aşa numitele place-holdere. sau încă.

Paste). se va utiliza meniul Edit. combinaţii de taste (regăsite tot în meniul Edit).Capitolul 1 Orice tip de regiune dintr-un document Mathcad. Paste). sau tehnica meniului pop-up (care se poate deschide printr-un simplu clic dreapta pe zona de lucru a unui document Mathcad). Pentru aceste operaţii. poate suporta operaţiile de copiere (Copy. sau ştergere (Delete). mutare (Cut. 16 .

.............................18 Bare de unelte (toolbars)...................................................1 2............. .......................18 Agende electronice (electronic books) .....3 Meniuri MathCAD..................19 Număr de pagini 2 17 ...2 2..................2 Lansarea comenzilor în MathCAD Obiective • • • Prezentarea structurii de meniuri Mathcad Prezentarea barelor de unelte Mathcad Prezentarea agendelor electronice standard 2 Lansarea comenzilor în MathCAD ________ 17 2............ Prezentare generală .............

Chiar în timpul lucrului în MathCAD.1 Meniuri MathCAD.1. va avea ca efect apariţia propriu-zisă a paletei [cu butoanele] aferente. 2. În cazul butoanelor. Utilizarea lor nu prezintă nici un fel de particularităţi care să le diferenţieze de orice meniu pull-down.2 Bare de unelte (toolbars). se pot obţine informaţii despre funcţiile fiecărui câmp al fiecărui meniu.Barele de unelte MathCAD “Apăsarea” unuia dintre butoanele barei de unelte Math. MathCAD mai dispune şi de şapte palete de butoane organizate în bara de unelte Math. va avea ca efect nu lansarea unei comenzi. va determina transformarea pointerului modificat în cel obişnuit. 2-1 . aplicaţia MathCAD dispune de propriul sistem de meniuri pull-down.1 barele de pe rândurile doi şi trei de pe bara de meniuri). Cele nouă palete de butoane au următoarele funcţii : 18 . ci deschiderea unei ferestre de tip “help” care va conţine informaţii succinte despre efectul activării câmpului respectiv. Prezentare generală Aşa după cum s-a menţionat deja. Pointerul MathCAD se va transforma prin ataşarea unui semn de întrebare. simpla “zăbovire” a pointerului de mouse deasupra unui buton va determina apariţia unei mini ferestre în care sunt date explicaţii (la nivel de unu două cuvinte) despre funcţia butonului în cauză. vizibilă şi ea în figura 2. În afară de cele două bare de unelte cu structură cel puţin parţial asemănătoare cu cea a barelor de unelte compatibile Microsoft (în figura 2.Capitolul 2 2. prin apăsarea simultană a tastelor SHIFT+F1. Fig. Orice clic pe un câmp al unui meniu pull-down. Apăsarea tastei ESC.

• Paleta caracterelor greceşti. +.3 Agende electronice (electronic books) Agendele electronice MathCAD sunt colecţii de formule şi relaţii matematice şi inginereşti. -. Conţine butoane dedicate calculelor cu vectori şi matrice. Poziţia oricărei palete pe spaţiul de lucru MathCAD se poate modifica prin utilizarea “tehnologiei” drag and drop. >.Lansarea comenzilor în MathCAD • Paleta aritmetică. blocul decizional IF etc). • • Paleta pentru calculul de sume. • Paleta pentru reprezentări grafice. 19 . proprietăţi de material. egal. atribuire etc.hbk. Conţine butoanele ce inserează în documente operatorii de evaluarea numerică şi simbolică. Conţine butoanele pentru inserarea în documente a diferitelor tipuri de grafice. evaluare. constante fizice. WHILE. • Paleta operatorilor booleeni. precum şi alte informaţii utile. • Paleta de calcul matriceal. Conţine operatori de tipul <. Ea conţine butoane pentru inserarea în documente a cifrelor precum şi a operatorilor de calcule matematice (*. În principiu o agendă electronică (handbook) este o colecţie de documente Mathcad integrate într-un fişier cu extensie *. radical etc). Conţine butoane pentru inserarea în documente a caracterelor alfabetului grecesc. diferit. Paleta pentru inserarea în documentele MathCAD a structurilor de programare (bucle FOR. limite. 2. • Paleta ce conţine cuvintele cheie pentru evaluările simbolice. derivate şi integrale. produse. • Paleta operatorilor de evaluare.

respectiv Extending Mathcad. În figura 2. ale cărei butoane au funcţii uşor de bănuit (sau de aflat prin menţinerea pointerului de mouse „deasupra” fiecăruia din ele). Accesul la oricare din cele trei mari componente. Overview and Tutorials. se poate face printr-un simplu clic cu mouseul pe butonul respectiv. O agendă odată deschisă. deosebit de interesante şi care trebuie cercetate cu atenţie chiar de utilizatorul cu oarecare experienţă. Un alt exemplu de agendă electronică. este chiar aşa numitul Resource Center. Fig.Capitolul 2 Deschiderea unei agende se poate face cu ajutorul câmpului Help ⇒ Open Book…. Câmpul Help ⇒ Handbooks ⇒ Solving and Optimization Extension Pack determină şi el deschiderea unei agende electronice (de această dată chiar cea anunţată prin titlu).hbk.Resource Center De un interes aparte este componenta QuickSheets and Reference Tables. Unul din subdirectoarele create la instalarea Mathcad-ului se numeşte chiar HANDBOOK şi conţine o agendă numită solve. 2-2 .2 este prezentată fereastra Resource Center. oferă utilizatorului posibilitatea de a „naviga” cu ajutorul unei bare de instrumente specializată. 20 . QuickSheets and Reference Tables. care este de fapt o colecţie de documente Mathcad exemplu.

sau Visual Basic. 21 .dll) cu ajutorul cărora se pot defini noi funcţii Mathcad. sau a documentelor conţinute în secţiunea QuickSheets and Reference Tables. În principiu. este posibilitatea de a realiza transfer de informaţii prin copiere (din agendă într-un document MathCAD). Această operaţie necesită cunoştinţe de programare în C++. ambele sunt destinate utilizatorilor avansaţi de Mathcad. Primul furnizează indicaţii pentru generarea de biblioteci dinamice (*. Copierea propriu zisă se face în maniera clasică. De interes sunt şi câmpurile Help ⇒ Developer’s Reference şi respectiv Help ⇒ Author’s Reference. adică printr-o secvenţă de tip Copy ⇒ Paste.Lansarea comenzilor în MathCAD De subliniat că una din facilităţile de mare utilitate ale agendelor electronice. Java.

.

.................................4 Crearea de regiuni de tip expresie...................5 3........................3 3.................24 Constante...........................39 Editarea şi formatarea regiunilor de tip text.....27 Controlul regiunilor într-un document MathCAD..............34 Editarea şi formatarea regiunilor de tip expresie şi de tip text într-un document MathCAD ................. Etichete (tag-uri).....................8 3.................. formatare şi editare a regiunilor Prezentarea metodelor de evaluare a documentelor Mathcad 3 Documente MathCAD __________________ 23 3...................... variabile...............................55 Număr de pagini 28 23 ....................7 3..................................9 Fonturi în expresii matematice............................. operatori....... funcţii ....3 Documente MathCAD Obiective • • • Însuşirea tehnicilor de creare a diferitelor tipuri de regiuni Prezentarea metodelor de control..... Stiluri...........................52 Definirea de hyperlink-uri ............................42 Formatarea rezultatelor într-un document MathCAD .....................2 3.6 3........ text sau grafic......46 Evaluare documentelor MathCAD..1 3.............37 3......

sau de evaluare (=. regiuni de tip text. sau trebuie urmat de operatorul de atribuire (:=. La versiunea 2001. Spre exemplificare se va crea un document MathCAD cu o structură simplă şi care realizează definirea unei variabile de tip şir de valori. se poate insera text şi fără precizarea explicită a acestui lucru. comentarii (regiuni de tip text) sau grafice. ≡).Capitolul 3 3. =). a unei funcţii pentru care se obţine şi reprezentarea grafică. pentru că în Mathcad. Documentul va conţine şi comentarii sub forma a două regiuni de tip text.5. iar la cursorul | . Acest lucru este de evitat. se va utiliza câmpul Insert ⇒Text Region (cu prescurtarea ”).1 Crearea de regiuni de tip expresie. Se reaminteşte că la cursorul + se inserează fie expresii. Pur şi simplu se scrie. La poziţia curentă a cursorului MathCAD se tastează următoarea secvenţă: x : 0 . fie grafice. Din meniul File se punctează pe câmpul New (sau se foloseşte direct shortcut-ul CTRL + N. într-un document MathCAD pot exista trei tipuri de regiuni : expresii. text sau grafic Aşa după cum s-a arătat deja în § 1. 20 a:3 24 . penru că scrierea unui singur cuvânt poate produce confuzii. se va utiliza pentru inserare unul din cămpurile submeniului Insert ⇒ Graph. sau încă. se foloseşte butonul ) 2. În cazul regiunilor de tip grafic. Mathcad „înţelege” că este vorba de text şi nu de numele unei variabile sau unei funcţii. numele unei variabile trebuie să apară într-o expresie (cum se va vedea mai târziu). Pentru crearea în mod explicit a unei regiuni de tip text. Etapele în crearea documentului sunt : 1. Se impune totuşi prudenţă. iar la tastarea primul [caracter de tip] spaţiu. căci Mathcad va interpreta acel cuvânt ca pe numele unei variabile sau funcţii.

căreia i se atribuie valoare 3 şi respectiv o funcţie pentru care variabila x definită mai sus este chiar argument (variabila a intervine ca parametru în expresia funcţiei).Documente MathCAD f(x) : (x^3-a)/(x^2+1)♣ Pe documentul MathCAD va apare scris : Acest “comportament” este consecinţa modului de lucru WYSIWYG. că MathCAD “citeşte” documentele de la stânga la dreapta şi de sus în jos. pe care MathCAD-ul îl foloseşte. apăsarea lui “. ca în figura 3.a. Pentru aceasta se va poziţiona cursorul la dreapta şi sub definiţia funcţiei şi se va activa câmpul Insert ⇒ Graph ⇒ X-Y Plot. definesc o variabilă cu numele x şi care ia valori întregi între 0 şi 20. se va insera în document şi graficul în coordonate xy al funcţiei definite. La poziţia curentă a cursorului va apare o regiune de tip grafic la care se vor completa numai marcatorii de la jumătăţile axelor ox şi oy.” a produs inserarea simbolului ce indică intervalul de variaţie a unei variabile (aici x ia valori întregi între 0 şi 20). o variabilă numită a. Din punct de vedere logic cele două rânduri ale documentului MathCAD prezentate mai sus. sau ♣ Spaţiile lăsate au doar rolul de a face expresia mai lizibilă şi nu sunt permise într-un document MathCAD 25 . astfel că orice variabilă ce intervine într-o expresie trebuie definită înaintea (deci la stânga sau deasupra) expresiei propriu-zise. iar apăsarea lui / a produs o linie de fracţie în adevăratul înţeles al cuvântului. după cum orice funcţie folosită pentru trasarea unui grafic se va defini la stânga sau deasupra graficului. Un simplu clic în interiorul graficului. În exemplul de mai sus. Ordinea în care regiunile de tip expresie incluse în document sunt poziţionate este extrem de importantă. Pentru a continua exemplificarea. apăsarea lui “:” a produs operatorul de atribuire MathCAD (acelaşi cu cel folosit de Pascal de exemplu). Se va reţine ca o regulă de bază.1.

26 .Capitolul 3 apăsarea tastei F9 va produce desenarea [graficului].1. după cum orice funcţie folosită pentru trasarea unui grafic se va defini la stânga sau deasupra graficului. La poziţia curentă a cursorului va apare o regiune de tip grafic la care se vor completa numai marcatorii de la jumătăţile axelor ox şi oy. Ordinea în care regiunile de tip expresie incluse în document sunt poziţionate este extrem de importantă.” a produs inserarea simbolului ce indică intervalul de variaţie a unei variabile (aici x ia valori întregi între 0 şi 20). Din punct de vedere logic cele două rânduri ale documentului MathCAD prezentate mai sus. Pentru aceasta se va poziţiona cursorul la dreapta şi sub definiţia funcţiei şi se va activa câmpul Insert ⇒ Graph ⇒ X-Y Plot. astfel că orice variabilă ce intervine într-o expresie trebuie definită înaintea (deci la stânga sau deasupra) expresiei propriu-zise. Pentru a continua exemplificarea. căreia i se atribuie valoare 3 şi respectiv o funcţie pentru care variabila x definită mai sus este chiar argument (variabila a intervine ca parametru în expresia funcţiei). iar apăsarea lui / a produs o linie de fracţie în adevăratul înţeles al cuvântului. ca în figura 3.b.b. se va insera în document şi graficul în coordonate xy al funcţiei definite. apăsarea lui “:” a produs operatorul de atribuire MathCAD (acelaşi cu cel folosit de Pascal de exemplu). Un simplu clic în interiorul graficului.a. aşa cum se poate vedea în figura 3. aşa cum se poate vedea în figura 3.1. Se va reţine ca o regulă de bază. sau apăsarea tastei F9 va produce desenarea [graficului]. În exemplul de mai sus. că MathCAD “citeşte” documentele de la stânga la dreapta şi de sus în jos.1. o variabilă numită a. Acest “comportament” este consecinţa modului de lucru WYSIWYG. apăsarea lui “. definesc o variabilă cu numele x şi care ia valori întregi între 0 şi 20. pe care MathCAD-ul îl foloseşte.

b. se vor insera în document şi două regiuni de tip text.Documentul MathCAD rezultat 3. variabile. În final micul document MathCAD. 3-1 . Fig. Pentru aceasta se va utiliza câmpurl Insert ⇒ Text Region.2. Una deasupra graficului şi una la sfârşitul documentului.2 Constante. va arăta ca în figura 3. operatori.Documente MathCAD a. Fig. 3-2 .Inserarea unui grafic într-un document MathCAD Pentru a-l face mai uşor de înţeles. funcţii 27 .

2 Constante În MathCAD există 6 constante matematice predefinite : ∞ (cu shortcut-ul CTRL + z). e (se va tasta pur şi simplu e). /. 3.01. În afara celor 6 constante matematice predefinite. Constantele ∞ şi %. j (se va tasta 1j) şi % (se va tasta pur şi simplu %). i (se va tasta 1i şi NU 1*i). este formată din operanzi şi operatori. despre care se va face vorbire într-un paragraf următor. după valoarea propriu zisă. au respectiv valorile 10307 şi 0. ^ (ridicarea la putere). asa cum se poate vedea în exemplul de mai jos: Fig. -. 3-3 – Utilizarea bazelor de numeraţie 28 . 3. /. se vor insera literele b (de la binar).1 Operatori Operatorii cei mai folosiţi sunt cei aritmetici : +. 2. Pentru a opera cu valori scrise în bazele 2. 8 şi 16. π (cu shortcut-ul p + CTRL + g).2. respectiv h (de la hexa). mai există şi un număr de 4 constante sistem. *. -.2. se poate porni de la simplii operatori aritmetici (+. valori numerice sau constante predefinite. Operanzii sunt nume de variabile. 10. *) şi se poate ajunge la operatori specializaţi pentru calcul matriceal de exemplu.Capitolul 3 Orice expresie MathCAD. la care se adaugă o gamă largă de operatori scalari sau vectoriali specifici diferitelor tipuri de operaţii matematice.2. de funcţii. o (de la octal). 3. 8 şi 16. altele decât cea zecimală În Mathcad este posibil lucrul în bazele de numeraţie. Pentru operatori.3 Utilizarea de baze de numeraţie.

Documente MathCAD Se remarcă faptul că în cazul scrierii în baza 16. Toate caracterele dintr-un nume de variabilă trebuie să fie de acelaşi tip.Variabile MathCAD Se atrage atenţia că în cazul variabilei amin .. Deci nu pot fi folosite caractere latine şi greceşti în acelaşi nume de variabilă. c. b. este obligatorie inserarea unui 0 iniţial (pentru a se evita confuzia cu o variabilă de tip şir de caractere). dacă valoarea începe cu una din literele a. Cifrele de la 0 la 9. MathCAD face diferenţa între majuscule şi minuscule. a. astfel că variabila “timp” este diferită de variabila “TIMP”.4 Variabile În MathCAD numele unei variabile (regulă valabilă şi pentru numele de funcţii). simbolul “ ’ ” Caracterul “%” Caracterele alfabetului grec Simbolul infinit Un nume de variabilă nu poate începe cu o cifră sau cu unul din caracterele “_”. 3-4 . dar se poate scrie şi a. A. Fig.Z. poate conţine oricare din următoarele caractere : • • • • • • sau “%”.2. În figura 3. Î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).1 (se va vedea 29 . underlined etc). d. “ ‘ “.z. să aibă aceeaşi dimensiune şi acelaşi stil (bold.4 sunt prezentate câteva exemple de variabile MathCAD. e sau f. 3.. Caracterul “_”. indicele “min” este pur descriptiv şi nu indică în nici un fel poziţia variabilei într-un şir de valori. Caracterele alfabetului latin. în sensul că trebuie să aparţină aceluiaşi font. italic.

a fost utilizată în exemplul prezentat în figura 3. Era vorba deci de o progresie aritmetică cu raţia 1. 0. iar al doilea cu secvenţa “a.5 x[i:i^2+4*i Produce în documentul Mathcad: Indicele “i” este complet diferit de cel din figura 3.1 Variabile de tip scalar O secvenţă de tipul : t:0.4. Semnificaţiile notaţiei sunt: • • • Prima cifră indică prima valoare pe care o va lua variabila A doua valoare defineşte împreună cu prima raţia progresiei.5.7.5 30 .2 Variabile de tip şir (variabile indexate) Pot fi definite variabile indexate ca în exemplul de mai jos : s-a scris : i:1.2 va produce pe documentul MathCAD efectul : t:= 0.1”. care este egală cu valoarea a doua minus prima A treia valoare indică ultima valoare pe care o va lua variabila.. 0. 0. Deci variabila “t” va lua valorile : 0. Aici “i” indică poziţia într-un şir şi trebuie înţeles exact ca un indice ataşat unui vector.1. variabile de tip şir.9. în MathCAD pot fi definite variabile de tip scalar.3.3.0.5 .2.5. Se atrage încă odată atenţia asupra modului cum se realizează atribuirea de valori variabilelor. sau de tip şir de caractere 3. Primul tip de indice (asupra căruia se va reveni) se obţine cu secvenţa “a[1”.”. 3. 2 Acest tip de variabilă (e drept o formă ceva mai simplă). Variabilele de tip şir mai pot fi definite şi ca în exemplul de mai jos : i:1. În cazul de mai sus este vorba tot de o progresie aritmetică. În afara variabilelor de tipul celor de mai sus.9…….3.4.3. în sensul că putea fi înlocuit cu indicele “unu”. 0. de această dată cu raţia diferită de 1.2.2. Acolo variabila “x” lua valori întregi între 0 şi 20.Capitolul 3 tot a1). Este vorba de operatorul de atribuire “:=”. care se obţine cel mai uşor prin apăsarea tastei “. unde indicele “1” este pur descriptiv.

5.22 cea ce va produce în documentul MathCAD : Orice variabilă.23. se vor obţine rezultate ca în figura 3. se obţine şirul de valori sub forma unui vector. Operatorul de evaluare este “=”. iar dacă se scrie “x[i=”. De menţionat că în cazul unor variabile cu număr mare de valori.12.Documente MathCAD y[i:12. se obţine un format de afişare asemănător cu cel de la variabilele de tip scalar. Astfel pentru evaluarea oricărei variabile. se pot face evaluări în două moduri. MathCAD nu afişează decât prime 50 [de valori] din şir. 31 . În cazul variabilei “x”. poate fi evaluată. se tastează numele variabilei urmat de operatorul “=” (evident fără ghilimele) şi de apăsarea tastei ENTER (CR).34. indiferent de tip. În cazul variabilelor scalare sau de tip şir. pentru care evident nu este necesară utilizarea nici unui shortcut. Dacă se scrie “x=”.

care apoi sunt concatenate (scrierea făcându-se tot într-o variabilă de tip şir de caractere) şi în final se realizează evaluarea variabilei „sumă”. În exemplul din figura 3. necesar separării prenumelui de nume în cazul şirului „sumă”. 3-5 . Fig. Definirea este extrem de simplă şi se face ca şi în cazul celorlalte tipuri de variabile. conţine şi un spaţiu.6 sunt definite două variabile.Evaluări de variabile scalare sau de tip şir 3.4.2.Capitolul 3 Fig. Singura diferenţă este că valoarea variabilei. 32 . 3-6 – Definire de variabile de tip şir de caractere Se atrage atenţia că valoarea variabilei nume.3 Variabile de tip şir de caractere Mathcad 2001 permite definirea de variabile de tip şir de caractere. va fi „închisă” între ghilimele duble (double quote).

Se va mai preciza doar că regulile enunţate pentru numele variabilelor îşi menţin valabilitatea şi în cazul numelor de funcţii.5 Funcţii Cum se defineşte o funcţie s-a văzut în exemplele precedente.Documente MathCAD Asupra funcţiilor specifice lucrului cu şiruri de caractere se va reveni într-unul din capitolele următoare. 3. Pentru definirea unei variabile globale se va folosi [pentru atribuire] operatorul “≡”.1. care se obţine prin apăsarea tastei “~”. Ca şi variabilele. Aceste variabile sunt “citite” de MathCAD la începutul parcurgerii unui document (de fapt MathCAD “parcurge” un document de două ori.4. se foloseşte tot operatorul de atribuire (: =). iar la a doua citire ia în considerare atribuirile obişnuite).2. Există totuşi o excepţie de la ea. Acest lucru se va realiza tot prin utilizarea operatorului de evaluare. funcţiile pot fi evaluate. 33 . “citirea” acestora se face tot după regula enunţată. Pot fi definite şi funcţii de mai multe variabile. Nu se recomandă excesul de atribuiri globale în documente MathCAD. În definirea funcţiilor.1 s-a enunţat regula de bază utilizată de MathCAD pentru “citirea” documentelor. se pot defini aşa numitele variabile globale.4 Variabile globale În § 3.2. Dacă într-un document se găsesc mai multe variabile globale. Se observă că evaluarea se poate face pentru toate valorile pe care le poate lua argumentul funcţiei (se va scrie “f(x)=”).5)=”).7. ca în figura 3. care pot fi folosite şi în expresii situate deasupra sau la stânga definiţiei [de variabilă]. 3. sau se poate realiza pentru o anume valoare a argumentului (se va scrie “f(1. Astfel. prima dată “citeşte” atribuirile globale. deci cu eludarea regulii enunţată § 3.

Inserarea/ştergerea de linii goale între două regiuni. 3-7 .Capitolul 3 Fig. Acestea sunt : • • • • • • • • • • Selecţia unei regiuni. se va folosi meniul Edit. Pentru selecţie se va folosi tehnica drag and drop. Copierea unei regiuni (sau grup de regiuni). Separarea regiunilor. Mutarea (deplasarea) unei regiuni (sau grup de regiuni). Alinierea a două regiuni. sau a unui grup de regiuni.Evaluări de funcţii 3. În paragrafele următoare vor fi prezentate comenzile necesare executării acţiunilor enunţate mai sus. Blocarea regiunilor într-un document MathCAD. Evidenţierea regiunilor dintr-un document. Redimensionarea unei regiuni. În ceea ce priveşte selecţia unei regiuni sau a unui grup de regiuni. Ştergerea unei regiuni (sau grup de regiuni).3 Controlul regiunilor într-un document MathCAD de Asupra regiunilor dintr-un document MathCAD pot fi executate mai multe tipuri acţiuni. Pentru realizarea acestor acţiuni. specifică 34 . trebuie precizat că ea trebuie să preceadă întotdeauna celelalte acţiuni ce se pot exercita asupra regiunilor într-un document MathCAD.

câmpul Cut. fie prin utilizarea cămpului Paste din meniul Edit (restaurarea se va face la poziţia curentă a cursorului). fie prin utilizarea “butonului” de pe bara de unelte. butonul şi tasta DEL. Fig. sau a butonului . astfel încât ea poate fi restaurată.Documente MathCAD de altfel şi altor aplicaţii Windows. ştergerea se realizează fie prin utilizarea câmpurilor Cut sau Clear din meniul Edit. sunt echivalente şi după ştergerea regiunii (sau regiunilor) din documentul MathCAD.8. ca în figura 3. Astfel. fie prin utilizarea câmpului Undo Last Edit. După selectarea unei regiuni (sau grup de regiuni). plasează informaţia în Clipboard.Regiuni selectate 35 . Aceste variante NU sunt complet echivalente. desenate cu linie întreruptă. Semnul că o regiune sau un grup de regiuni au fost selectate. este încadrarea lor în chenare dreptunghiulare. 3-8 . fie prin utilizarea tastei DEL.

aceasta se poate realiza pe orizontală sau pe verticală. fie pe latura verticală dreapta sau orizontală jos. Pentru acest scop se pot folosi fie câmpul Align Regions din meniul 36 . astfel că ştergerea este definitivă. Fig.Capitolul 3 În acest din urmă caz. deci după ce regiunea (una singură) este încadrată de un dreptunghi desenat cu linie întreruptă. aşa că nu vor mai fi furnizate detalii suplimentare asupra acestor acţiuni. Din acest moment.6. respectiv Cut ⇒ Paste. se “trage” până la obţinerea noii dimensiuni a regiunii. dar regiunile de tip grafic pot.9. mai este posibilă utilizarea tehnicii drag and drop. informaţia ştearsă nu mai este depusă în Clipboard. Regiunile de tip expresie nu pot fi redimensionate. În cazul deplasărilor unei regiuni (sau grup de regiuni). ca în orice aplicaţie compatibilă Windows. Copierea sau mutarea unei regiuni (sau grup de regiuni) se realizează prin secvenţe Copy ⇒ Paste. Trebuie precizat că nu orice regiune poate suporta redimensionări. aşa cum s-a precizat deja în § 1. să se poziţioneze pointerul fie pe colţul din dreapta jos al dreptunghiului de încadrare. fie într-o săgeată dublă verticală respectiv orizontală. În cazul însă al câmpului Clear din acelaşi meniu Edit. 3-9 – Redimensionare a unei zone de tip grafic Cât priveşte alinierea regiunilor. astfel că pointerul se va transforma fie într-o săgeată dublă înclinată. restaurarea se va face exact pe vechea poziţie a regiunii (sau regiunilor). cu butonul din stânga al mouse-ului apăsat. aşa cum se poate vedea în figura 3. Redimensionarea unei regiuni presupune ca după faza de selecţie (absolut obligatorie).

Documente MathCAD Format.1 Editarea de expresii Construirea unei expresii MathCAD se realizează natural prin tastarea cifrelor. literelor şi operatorilor expresiei. fie butoanele .4 Editarea şi formatarea regiunilor de tip expresie şi de tip text într-un document MathCAD 3.4. Trebuie subliniat că separarea regiunilor realizată aşa (deci automat). evidenţiază toate regiunile dintr-un document MathCAD. nu întotdeauna ceea ce se tastează va apare şi în document. Alinierea pe orizontală va produce alinierea regiunilor selectate. S-a precizat deja în § 1. că datorită tehnicii WYSIWYG. fapt pentru care se recomandă prudenţă în 3. după o linie imaginară aflată la mijlocul distanţei dintre extremitatea din stânga a regiunii celei mai din stânga şi extremitatea din dreapta utilizarea acestor comenzi. 37 . Pentru aceasta se va utiliza câmpul Separate Regions din meniul Format. De menţionat că în acest caz nu este necesară selecţia de regiuni înaintea separării. după o linie imaginară aflată la mijlocul distanţei dintre extremitatea superioară a celei mai înalte regiuni şi extremitatea inferioară a celei mai joase regiuni. pot ajunge acum după acestea din urmă. poate produce efecte nedorite în sensul că poate strica ordinea logică a regiunilor astfel ca regiuni care înainte de suprapunere se găseau înaintea altora. Efectul va fi colorarea diferenţiată a regiunilor şi respectiv a zonelor libere din document. Selecţia tuturor regiunilor din document se poate realiza cu ajutorul câmpului Edit ⇒ Select All. Alinierea pe verticală va produce alinierea regiunilor selectate. în ordinea în care s-ar face acelaşi lucru pe o foaie de hârtie. Separări de regiuni se pot face şi manual prin deplasarea regiunilor folosind tehnica drag and drop. a celei mai din dreapta regiuni. Uneori alinierile pot produceri suprapuneri ale regiunilor.7. Şi în asemenea situaţii este posibilă separarea regiunilor care se suprapun (total sau doar parţial). Câmpul View ⇒ Regions. În acest fel se poate stabili apartenenţa fiecărui obiect dintr-un document la o anumită regiune.

sau încă _|_.12. din bara de instrumente sau din meniul de tip pop-up) 3. se face astfel: • • 38 Se încadrează zona de închis între paranteze într-un cursor de tip |___ . sau prin simpla punctare într-o anumită zonă a regiunii. în interiorul acesteia va apare fie un cursor vertical de culoare roşie (la regiunile de tip text). aşa cum se poate vedea în figurile 3. Se tastează caracterul ‚ (virgula). sau prin selecţie a unei porţiuni din expresie sau text urmată de comanda Cut (executată din meniul pull-down. 3-11 – Editarea regiunilor de tip text Deplasarea cursorului în interiorul regiunii selectate se face cu ajutorul săgeţilor ← ↑ → ↓. 3-10 – Editarea expresiilor Fig.Capitolul 3 Editarea unei expresii deja construite presupune în prima etapă selectarea sa. fie un cursor de forma __| sau |__.11. deplasarea dintr-o zonă într-alta se mai poate face prin apăsarea tastei SPACE. Aplicarea unei funcţii Inserarea unei perechi de paranteze (este preferabilă inserării separate a celor două). . Acest lucru se realizează prin punctarea cu mouse-ul în zona expresiei respective.10.2 Inserarea şi ştergerea de paranteze. Pentru cazul regiunilor de tip expresie. respectiv 3. Fig.vezi figura 3. În funcţie de tipul regiunii selectate.4. Ştergerile se fac cu ajutorul tastelor BkSp sau Delete.

Se apasă tasta „Ins”. Fig.13). 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 Se încadrează între paranteze zona de expresie căreia i se va aplica funcţia (care va deveni deci argument pentru funcţie).5 Fonturi în expresii matematice. Pentru aceasta se procedează ca mai sus. 3-13 – Aplicarea unei funcţii 3.Documente MathCAD b. Bara verticală a cursorului se va poziţiona la stânga parantezei „(„ (vezi figura 3. • Se apasă tasta Space. b. Etichete (tag-uri) 39 . Fig. Aplicarea unei funcţii se face prin parcurgerea etapelor următoare: a. astfel ca să fie selectate şi parantezele. • Se scrie numele funcţiei. a.

Fig.astfel că în afara 40 . Se apasă pe butonul Modify şi se deschide o fereastră de control al atributelor de formatare la nivel de font (din care rezultă care este fontul ataşat zonei respective din expresie). prezentată în figura 3. pe care le poate aplica unei zone dintr-o expresie – care a fost în prealabil selectată . 3-14 – Tag-uri ataşate variabilelor sau constantelor Implicit toate numele de variabile au asignat tag-ul Variables şi toate constantele pe cel numit Constants. se punctează pe expresia respectivă.Capitolul 3 Ori de câte ori se tastează numele unei variabile (inclusiv într-o expresie). Pe ecran va apare fereastra Equation Format.14. ori de câte ori se tastează o valoare numerică (o constantă deci). modificarea va afecta toate constantele sau variabilele cu aceeaşi etichetă. Pentru a şti care sunt caracteristicile etichetei (tag-ul) asociat unei variabile.. utilizatorul mai are la dispoziţie încă şapte etichete. cu numele User1…. În afara celor două etichete (tag-uri) despre care s-a făcut deja vorbire. unei constante sau unei alte zone dintr-o expresie. Efectul acestui mod de lucru este că în momentul în care se schimbă tipul de font pentru o constantă sau variabilă.User7. indiferent unde ar fi poziţionate in document. eticheta (tag-ul) Variables. şirului respectiv de caractere i se aplică eticheta (tag-ul) Constants. după care se activează câmpul Format ⇒ Equation. În mod similar. 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. MathCAD aplică şirului de caractere care formează numele variabilei.

ceea ce în limba engleză se numeşte “case sensitive” – adică dependente de scrierea cu 41 . pot să mai apară zone (de fapt tot nume de variabile sau constante) cărora li se aplică alte etichete. expresia conţine trei tipuri de zone cărora li s-au ataşat trei etichete. Din analiza figurii rezultă şi de ce ar putea fi necesară o asemenea abordare. numai că ele nu sunt scrise cu acelaşi tip de font. astfel că MathCAD le va trata ca pe două variabile complet distincte. Fig. 3-15 – Definirea unei noi etichete În exemplul de mai jos.Documente MathCAD zonelor care au ataşate etichetele Variables sau Constants. Numele User1…User7 pot fi modificate în caseta de editare New Style Name din fereastra Equation Format – vezi figura 3-15. precum şi una numită variabila_2. cele standard (Variables şi Constants). în expresie apar două variabile cu acelaşi nume “b”. nu numai. constants variables variabila_2 Într-adevăr. Aceasta deoarece numele de variabile sau de funcţii sunt.

ca într-un editor de text obişnuit. Pentru ataşarea unui tag deja creat unei zone dintr-un document MathCAD se va proceda astfel : • • Se selectează expresia căreia i se va aplica noua etichetă. 3. urmată de punctarea pe câmpul Format ⇒ Text. Se poziţionează cursorul “|__” pe numele de variabilă căreia i se va aplica eticheta (care deci se aplică unui nume de variabilă sau constantă şi nu întregii expresii).6 Editarea şi formatarea regiunilor de tip text. Aceasta deoarece în individualizarea unei variabile sau funcţii. Deci b şi b. formatarea se poate face. • În meniul Format se punctează pe câmpul Equation şi din fereastra ce se va deschide se va selecta numele etichetei pe care dorim să o ataşăm zonei de expresie selectată. • Prin utilizarea butonului Modify.1 Aplicarea şi crearea de etichete Pentru definirea de noi etichete. prin simpla selectare a regiunii de text. dar este indicat). se vor putea modifica toate caracteristicile de formatare la nivel de font.Capitolul 3 minusculă sau cu majusculă. sunt distincte. În caseta de editare de sub numele ferestrei. MathCAD verifică în primul rând eticheta asociată variabilei sau numelui de funcţie şi abia apoi “citeşte” efectiv numele variabilei. Stiluri În cazul regiunilor de tip text. Cu ajutorul ferestrei Text Format. ci se individualizează şi prin caracteristicile fontului folosit pentru scrierea lor. 42 . Textul User1 va apare în caseta de editare New Style Name. se punctează pe câmpul User1.5. se stabilesc caracteristicile de formatare la nivel de font. 3. se va proceda astfel : • • • Se activează câmpul Format ⇒ Equation. la nivel de caracter. Acest text se înlocuieşte cu noul nume al etichetei (ceea ce nu este obligatoriu.

1 Stiluri Mathcad dispune de facilitatea de a utiliza stiluri predefinite.17. sau de a crea altele noi.6. 43 . Toate acestea se pot face cu ajutorul câmpului Format ⇒ Style… . respectiv de definire de stopuri de tabulare. 3-16 – Formatare la nivel de paragraf 3. ceea ce va conduce la caseta de dialog prezentată în figura 3. Este vorba de opţiunile de aliniere. El permite modificarea caracteristicilor de formatare la nivel de paragraf. de cele de indentare sau indentare a primei linii.Documente MathCAD Pentru formatarea la nivel de paragraf. se va utiliza câmpul Format ⇒ Paragraph. Fig. de a le modifica pe acestea.

Capitolul 3 Fig. Un stil se poate aplica unui paragraf printr-un procedeu simplu: 3. 3-17 – Stiluri de paragrafe Modul de lucru cu stiluri este principial identic cu cel folosit de exemplu la editorul de text MSWORD. Se selectează un stil din lista Styles (vezi figura 3-17). Se apasă butonul Apply. ⇒ Fig.6. cu ajutorul mouse-ului. 3-18 – Modificarea dimensiunii zonei ocupată de o regiune de tip text Dacă se doreşte ca textul să se extindă până la marginea din dreapta a documentului (marcată de o linie verticală de culoare gri). Controlul dimensiunilor unei regiuni de tip text Dimensiunea zonei ocupată de o regiune de tip text se poate controla „manual”. se va utiliza câmpul Occupy Page 44 .2 Se selectează paragraful căruia i se va aplica stilul. Pentru aceasta se vor folosi marcatorii amplasaţi în zona din dreapta a regiunii de tip text – vezi figura 3-18.

etichetă ce va fi 45 . va controla modul cum se va comporta o regiune de tip text când întâlneşte o altă regiune. 3-19 . Fig. textul se va suprapune peste regiunea pe care o întâlneşte (aşa cum se vede în figura 3-20). afişarea unui chenar în jurul regiunii (Show Border). Fig.Controlul dimensiunilor unei regiuni de tip text Controlul Push Regions Down As You Type. În mod implicit. sau ataşarea unei etichete de regiunea selectată (Tag). din caseta Properties.21). permite evidenţierea regiunii selectate (Highlight Region). La ea se poate ajunge utilizând câmpul Format ⇒ Properties – vezi figura 3-19. Dacă se doreşte „împingerea” regiunii întâlnite spre în jos. se va bifa controlul Push Regions Down As You Type – vezi figura 3-19.Documente MathCAD Width. 3-20 – Comportarea textului la întâlnirea unei alte regiuni Secţiunea Display a casetei Properties (vezi figura 3.

caracteristicile de formatare se vor aplica tuturor rezultatelor din documentul curent. Pentru formatarea globală se procedează astfel : • • Se punctează cu mouse-ul oriunde în document. 3-21 – Secţiunea Display a casetei de dialog Properties 3. În primul caz. formatării propriu-zise se punctează pe regiunea (rezultatul) de formatat.Capitolul 3 ulterior folosită la definirea unui hyperlink (de la o altă regiune spre cea pentru care s-a definit hyperlink-ul). formatare locală se procedează ca în cazul celei globale. ele se vor aplica numai regiunii de tip rezultat selectată anterior operaţiei de formatare. cu diferenţa că înaintea 46 .7 Formatarea rezultatelor într-un document MathCAD Formatarea rezultatelor (obţinute în urma evaluării unor expresii sau funcţii) în mediul MathCAD. Din meniul Format se activează câmpul Result… Pentru Pe ecran va apare fereastra Result Format. în cel de-al doilea caz. prezentată în figura 3-22. se poate realiza global sau local. pe o zonă liberă. Fig.

deşi prezenţa lor nu spune nimic în plus. Show trailing Zeros În cazul în care caseta de selecţie are în interior o bifă (un simplu clic pe casetă sau textul din dreapta activează sau dezactivează bifa). un rezultat de forma 12/5. Fie aceasta n.Documente MathCAD Fig. vor fi afişate in notaţie ştiinţifică (exponenţială). Semnificaţiile controalelor ferestrei Result Format sunt în marea lor majoritate foarte uşor de intuit. Astfel dacă la Number of decimal places s-a precizat 4.Secţiunea Number Format (vezi figura 3-22) Exponential Threshold În caseta de editare corespunzătoare se va introduce o valoarea cuprinsă între 0 şi 15. va fi afişat ca 2. Number of decimal places 47 .400.4. Rezultatele mai mici decât 10-n şi mai mari decât 10n. . zerourile din “coada” unui număr care apar în conformitate cu setarea din secţiunea Number of decimal places. apare şi butonul Set as Default (inexistent în cazul formatării globale). dacă există bifă în caseta Show trailing zeros. Dacă bifa lipseşte. dacă nu există. astfel că nu se va insista decât asupra celor a căror înţelegere nu este imediată. 3-22 – Formatare rezultate Când se face formatare locală. aceste zerouri inutile nu mai sunt afişate. sunt afişate. respectiv 2. Apăsarea sa transformă formatarea locală într-una globală.

se poate proceda astfel: . Se poate afişa totuşi un rezultat cu precizia maximă.Capitolul 3 Stabileşte cum e uşor de bănuit numărul de zecimale cu care se vor afişa rezultatele. . . 3-23 – Display Options Matrix display style Controlează modul în care sunt afişate matricile.b 48 . Stilul Matrix afişează matricile în forma clasică de scriere – vezi figura 3-24. introduce (atunci când dimensiunea matricii este suficient de mare) două cursoare cu ajutorul cărora se poate „defila” pe spaţiul matricii – vezi figura 3-24.a.Se tastează CTRL+SHIFT+N. Stilul Table.Se selectează rezultatul.Secţiunea Display Options (vezi figura 3-23) Fig. Evident la ultima cifră se va produce o trunchiere a rezultatului.

3-24 – Afişare de matrice 49 . b. Fig.Documente MathCAD a.

Capitolul 3 Expand nested arrays În Mathcad este posibilă definirea de tablouri (matrice) ale căror elemente sunt vectori sau matrice. rezultatul în zecimal neîntreg va fi trunchiat la valoarea de întreg. Se poate observa că evaluarea unui astfel de tablou. Radix Permite stabilirea bazei de numeraţie în care rezultatele vor fi afişate. Dacă se optează pentru activarea controlului Expand nested arrays. 50 . Un astfel de exemplu este prezentat în figura 3-25. MathCAD asigură rezultate corecte pentru valori mai mici decât 231 (sau aproximativ 2*109). Fig. va furniza doar informaţia legată de dimensiunile sub matricelor incluse (A şi B în exemplu). după cum s-a folosit baza 16 sau 8. În cazul în care se optează pentru baza 8 sau 16. a.b. b. 3-25 – Vizualizarea tablourilor Imaginary value Prin deschiderea listei derulabile se pot alege caracterele folosite („i” sau „j”) pentru reprezentarea numărului complex „i”. atunci rezultatul va fi cel din figura 3-25.a. după care are loc transformarea rezultatului. Acesta va fi urmat de un “h” sau un “o”.

respectiv min(|a|. Fie acest număr n şi fie numărul complex a+bi. Valoarea introdusă în caseta de dialog corespunzătoare trebuie să fie un întreg între 0 şi 63.|b|)=b. MathCAD lucrează în continuare cu forma corectă (deci completă) a rezultatului. 51 . dacă raportul dintre valorile absolute ale coeficientului mai mic.Documente MathCAD - Secţiunea Tolerance – vezi figura 3-26 Fig. b ) max( a . Sau altfel spus nu se mai afişează coeficientul mai mic în valoare absolută. respectiv mai mare. 3-26 – Secţiunea Tolerance Complex Tolerance Setarea se referă la modul în care vor fi afişate numerele complexe. Dacă min( a . ca atare precizia rezultatelor nu va fi afectată de această setare. este mai mic decât 10-n.|b|)=a. b ) < 10 − n atunci rezultatul complex se va scrie sub forma : a sau bi după cum min(|a|.

Secţiunea Unit Display Controlează modul în care se vor afişa rezultatele ce conţin şi unităţi de măsură. Evaluările manuale se realizează la cererea expresă a utilizatorului. Fig. Toate rezultatele mai mici decât 10-n vor fi afişate ca zero. 3-27 – Controlul afişării rezultatelor cu unităţi de măsură 3. Toate variabilele sau funcţiile care urmează în document sunt evaluate.Capitolul 3 Zero Threshold În caseta de editare se va introduce un întreg între 0 şi 307.8 Evaluare documentelor MathCAD Prin evaluarea unei variabile sau funcţii se înţelege calculul valorii variabilei sau funcţiei respective. Evaluări automate se realizează ori de câte ori se modifică ceva în expresia unei variabile sau funcţii. Acest lucru se face principial în două moduri: automat şi manual. Fie el n. . realizându-se automat reactualizarea acestora. De subliniat că în acest caz se va realiza doar o evaluare a expresiilor vizibile pe ecran în 52 . care se exprimă prin apăsarea tastei F9 sau prin utilizarea câmpului Calculate din meniul Math. deşi în continuare MathCAD va opera cu valoarea exactă. În figura 3-27 sunt prezentate exemple ce ilustrează efectul activării sau inhibării celor două controale Format units şi Simplify units when possible.

Fig. “Apăsarea” butonului OK va întrerupe evaluarea.o evaluare. Una din modalităţile de evitare a acestui gen de neplăceri este dezactivarea lui Automatic Calculation. ceea ce evident ar putea lăsa anumite calcule neterminate (sau ne actualizate). Deşi este din multe puncte de vedere mai comod să se facă evaluare automată. Prezenţa unei bife în stânga câmpului Automatic Calculation semnalează că modul de evaluare automat este activ. Va apare pe ecran fereastra MathCAD din figura 3-28.1 Dezactivarea unei ecuaţii MathCAD evaluează automat toate expresiile care folosesc variabile asupra cărora s-au efectuat modificări. se apasă tasta ESC. Cea de a doua metodă 53 . Dacă se doreşte evaluarea întregului document (deci inclusiv a zonelor ce nu sunt vizibile pe ecran la un moment dat). se va utiliza câmpul Calculate Worksheet din acelaşi meniu Math. Comutarea între evaluarea automată şi cea manuală se face prin punctarea pe câmpul Automatic Calculation din meniul Math. MathCAD evaluează expresiile din zona vizibilă. Acest lucru poate deveni stânjenitor din motive expuse în paragraful precedent. actualizând rezultatele (evident dacă setarea Automatic Calculation este activă).(în colţul din dreapta jos al ecranului MathCAD. Nu este însă singurul. 3-28 – Întrerupere forţată evaluare 3. Pentru a întrerupe un calcul .8.Documente MathCAD momentul respectiv. ceea ce încetineşte uneori supărător viteza de lucru. dacă documentul MathCAD este de mari dimensiuni şi cuprinde calcule laborioase. evaluarea automată poate deveni stânjenitoare. pe linia de stare este afişat mesajul WAIT atâta timp cât se efectuează efectiv calculul). deoarece de exemplu la orice defilare prin document (deci fără să se fi făcut vreo modificare).

Dacă da. înainte de evaluarea numerică se verifică (cu ajutorul procesorului simbolic) dacă se mai poate face vreo simplificare.8. ca în exemplul de mai jos: Reactivarea unei ecuaţii dezactivată anterior se va realiza prin acelaşi procedeu parcurs în ordine inversă. 54 . În figura 3-30 se prezintă un exemplu de optimizare a unei expresii.2 Optimizarea evaluărilor Câmpul Math ⇒ Optimization permite activarea sau dezactivarea optimizării expresiilor. Fig. astfel ca modificarea ulterioară a acestora să nu aibă influenţă asupra celorlalte expresii din document.Capitolul 3 este dezactivarea selectivă a expresiilor matematice. Dacă o expresie este optimizată. întâi se realizează simplificarea şi abia apoi se efectuează evaluarea numerică. 3-29 – Dezactivarea evaluării MathCAD va afişa după ecuaţia dezactivată un dreptunghi de mic dimensiuni. Dezactivarea unei expresii presupune parcurgerea etapelor următoare : • • Punctare cu mouse-ul pe ecuaţia pe care dorim să o dezactivăm Punctarea în meniul Format pe câmpul Properties – vezi figura 3-29. 3.

deci se ajunge la forma simplificată a+b şi abia apoi se face calculul 5+4=9.Optimizarea expresiilor În cazul expresiei din exemplu. Fig. a apărut asteriscul din partea dreaptă (vezi figura 3-30). 3. Pentru că expresia este simplificabilă. în care apare rezultatul evaluării numerice. Va urma utilizarea câmpului Math ⇒ Optimization. se reduce eroarea implicată de acestea. se realizează simplificarea. În caseta de dialog Edit Hyperlink (vezi figura 3-31) se precizează numele fişierului (cu calea de căutare inclusă) care conţine regiunea care a primit etichetă (chiar dacă aceasta se găseşte în 55 .Documente MathCAD Optimizarea presupune în prima fază selectarea expresiei. Pentru aceasta se foloseşte câmpul Insert ⇒ Hyperlink. Marele avantaj îl constituie faptul că reducându-se numărul de evaluări (calcule) numerice. Efectuarea unui dublu clic pe expresie va conduce la deschiderea casetei Optimized Result. 3-30 .5 Selectarea unei regiuni (sursă) de care se va lega hyperlink-ul.9 Definirea de hyperlink-uri Presupune parcurgerea următoarelor etape: • • Selectarea unei regiuni (ţintă) şi ataşarea unei etichete (tag) de aceasta – vezi § 3.

Fig. După numele fişierului se inserează caracterul „#”. Un simplu dublu clic pe regiunea sursă (de care s-a legat hyperlink-ul) va produce accesarea regiunii ţintă (ceea ce poate presupune deschiderea documentului care o conţine – dacă este altul decât cel care conţine regiunea sursă).Capitolul 3 acelaşi document cu regiunea sursă). 3-31 – Definirea de hyperlink-uri Evident se pot defini şi hyperlink-uri la adrese de Internet (legătura se va face la un URL – Uniform Resource Locator). urmat de eticheta (tag-ul) definită. 56 .

.64 Funcţii pentru calcul matricial .....2 4...................................................3 Operatori pentru calcul matriceal.....66 Număr de pagini 26 57 .........................................................4 Calcul matriceal numeric Obiective • • • Familiarizarea cititorului cu facilităţile oferite de Mathcad Introducerea unor noţiuni primare despre fişierele şi structura documentelor Mathcad Prezentarea mediului de lucru Mathcad şi a unor tehnici de lucru 4 Calcul matriceal numeric________________ 57 4...........

1 Fig.Capitolul 4 4. Efectul acestei acţiuni constă în deschiderea unei ferestre de dialog ca cea din figura 4-2. în care se poate completa numărul de linii şi coloane ale matricei. 4-1. aşa cum se poate observa şi în figura 4. Acestea pot fi folosite direct în expresii matematice sau prin intermediul variabilelor de tip vector sau matrice. se activează opţiunea Matrices… din meniul Insert sau se tastează Ctrl+M. respectiv vectorului (vectorul este un caz particular de matrice cu o singură linie sau o singură coloană). 58 .Variabile tip vector şi matrice Pentru a crea un vector sau o matrice se parcurg următorii paşi: • • se poziţionează cursorul în zona dorită în documentul MathCAD.1 Crearea unui vector sau a unei matrice MathCAD pune la dispoziţia utilizatorilor facilităţi de lucru cu vectori şi matrice.

unei matrice sau unui vector i se pot modifica dimensiunile prin ştergerea sau adăugarea de linii sau coloane. Pentru aceasta se punctează cu mouse-ul pe placeholder-ul dorit şi se tastează valoarea corespunzătoare. Odată definită. Se mai poate folosi şi tasta Tab. numărul de linii şi de coloane dorit. se activează opţiunea dorită (Insert sau Delete) punctând cu mouse-ul sau prin combinaţiile de taste Alt+I. sau grupul de săgeţi ← ↑ → ↓ care permit trecerea de la un placeholder la altul. respectiv Alt+D. Pentru aceasta se vor parcurge etapele: • • se plasează cursorul pe un element situat pe linia sau coloana faţă de care se vor face inserări sau ştergeri. Se observă că matricea este afişată la poziţia indicată şi având în poziţiile corespunzătoare elementelor câte un placeholder (un dreptunghi de culoare neagră). în casetele corespunzătoare. Mecanismul după care se realizează inserările sau ştergerile de elemente într-un vector sau într-o matrice este următorul (vezi figura 4-3) : 59 . • • se tastează în casetele corespunzătoare numărul de linii şi coloane care se inserează sau se şterg. 4-2 – Inserarea unei matrice • se completează.Calcul matriceal numeric Fig. • se completează vectorul sau matricea cu valorile dorite. se activează caseta de dialog de mai sus prin selecţia opţiunii Matrices… din meniul Insert sau tastând Ctrl+M (se va observa că în acest moment sunt active opţiunile Insert şi Delete).

Inserarea unei linii sau a unei coloane într-o matrice 4. Atât doar că.1. 4-3. Pentru a defini variabile de tip vector sau matrice se procedează la fel ca la atribuirea unei singure valori numerice. se inserează (cu Ctrl+M) vectorul sau matricea dorită. care indică poziţia elementului în vector. în expresii matematice sau prin intermediul unor variabile de tip corespunzător.Capitolul 4 • • • dacă se inserează linii noi acestea vor fi create sub linia pe care se află elementul selectat.1 Variabile de tip vector sau matrice După cum s-a văzut în paragraful anterior. • • pentru a insera coloane noi la stânga primei coloane se încadrează toată matricea. cu vectori şi matrice se poate lucra în mod direct. Acest lucru se realizează prin folosirea unor variabile “indice” de tip întreg.1. şi se procedează în maniera deja precizată. Din acest moment vectorul sau matricea sunt “legate” de variabila definită.2 Referirea elementelor vectorilor sau matricelor În afară de relaţiile de calcul matriceal există numeroase situaţii când este necesară referirea unui anumit element dintr-un vector sau dintr-o matrice. 4. la fel ca mai sus. pentru a insera o linie nouă deasupra primei linii a matricei se marchează întreaga matrice prin folosirea tastei Space de câte ori este necesar şi apoi se procedează ca la o inserare obişnuită. conform procedurii specificate mai sus. Fig. după tastarea numelui variabilei şi a operatorului de atribuire. 60 . respectiv în matrice. dacă se inserează coloane noi acestea vor fi create la dreapta coloanei pe care se află elementul selectat. ştergerea de linii sau coloane se face începând cu linia sau coloana pe care se află poziţionat elementul selectat. aceasta din urmă fiind folosită în probleme de calcul matriceal.

Pe lângă acest mecanism. Pentru a referi o anumită coloană a matricei M se va tasta numele matricei urmat de combinaţia de taste precizată mai sus.5 sunt prezentate exemple de referire a coloanelor unei matrice. 61 . Aceasta are ca efect atribuirea unei valori elementului situat pe linia i şi coloana j a matricei A. În figura 4. Se poate observa că prin acest procedeu se pot atribui valori anumitor elemente ale unui vector sau ale unei matrice ori se pot vizualiza aceste elemente. MathCAD permite referirea unei întregi coloane a unei matrice. 4-4 . În cazul matricelor vor fi folosiţi doi indici cu precizarea că se va utiliza o secvenţă de taste ca în exemplul următor: A[i. Pentru aceasta se va folosi combinaţia de taste Ctrl + ^ sau simbolul corespunzător din paleta de simboluri Vector and Matrix Toolbar. Matricea va primi un indice superior situat între caracterele < >.Referirea elementelor unui vector sau ale unei matrice Mecanismul prezentat mai sus este valabil pentru referirea individuală a elementelor. caracterul [ şi valoarea indicelui corespunzător. a cărui valoare specifică de fapt coloana care se va referi.Calcul matriceal numeric Pentru a crea o referinţă la un anumit element al unui vector se tastează numele vectorului. Fig.j: valoare.4 sunt prezentate câteva exemple privind referirea elementelor unui vector şi unei matrice. În figura 4.

Referirea întregii coloane a unei matrice 4. Aceasta este o variabilă MathCAD care este implicit setată pe valoarea 0. 62 . Se va deschide o fereastră de dialog ca în figura 4-6 şi se modifică valoarea variabilei ORIGIN.0. aşa cum se atribuie o valoare oricărei variabile. Deoarece acest mod de lucru nu este totdeauna cel mai indicat.3 Originea indicilor Referirea elementelor vectorilor sau matricelor presupune utilizarea indicilor.1. Valoarea minimă a indicelui/indicilor este dată de variabila predefinită numită ORIGIN. Numele variabilei ORIGIN trebuie scris cu majuscule şi pot fi definiţi şi indici negativi. funcţie de caz.Capitolul 4 Fig. 4-5 . valoarea variabilei ORIGIN poate fi modificată astfel: • • se foloseşte câmpul Math ⇒ Options. Va exista astfel elementul V0 sau A0. se atribuie explicit valoarea dorită variabilei ORIGIN.

crearea aşa numitelor „input table”.4 Limitări asupra dimensiunilor matricelor Când se creează o matrice sau un vector cu ajutorul câmpului Insert ⇒ Matrix. vectorul sau matricea nu pot avea mai mult de 100 de elemente. Pot fi create matrice sau vectori de dimensiuni mai mari. 63 . concatenarea vectorilor sau matricelor. dar limita impusă de Mathcad este de 8 milioane de elemente. Există totuşi o limită a numărului de elemente pe care le poate avea o matrice sau un vector şi acest număr depinde de memoria internă a sistemului de calcul. În cazul evaluării unei matrice în sistem Matrix (vezi § 3. prin utilizarea uneia din următoarele metode: • • • • citirea (vectorului sau matricei) dintr-un fişier de date. utilizarea variabilelor cu indice (Ai.j).Calcul matriceal numeric Fig.1. Un milion de elemente este o valoare în general acceptată.7). se vor reprezenta maxim 200 de rânduri şi coloane. 4-6 – Modificarea originii indicilor 4.

Capitolul 4 4. MathCAD oferă o serie de operatori specifici.2 Operatori pentru calcul matriceal Pentru folosirea vectorilor şi a matricelor. În continuare sunt prezentaţi aceşti operatori şi operaţiile pe care le efectuează: Operaţia Aspect Tasta Descriere Produs scalar z⋅ A * Înmulţeşte Întoarce fiecare un element egal al cu matricei A cu scalarul z scalar Produs de vectori u ⋅v A⋅ B A⋅ v * ∑ ui ⋅ vi . unde u şi v sunt vectori cu acelaşi număr de elemente Produs matricial Înmulţire vector/matrice Împărţire de tip scalar Adunare (matrice) Adunare cu un scalar Diferenţă de matrice Diferenţă de tip scalar Negativarea matrice unei de vectori * * / + + Efectuează produsul matricelor A şi B Efectuează produsul dintre matricea A şi vectorul v Împarte toate elementele matricei A la scalarul z Adună matricele A şi B Adună scalarul z la toate A/z A+B A+z A-B A-z -A elementele matricei A Scade matricea B din matricea A Scade Schimbă scalarul z din toate tuturor elementele matricei A semnul elementelor matricei A 64 .

Dacă aceasta este –1 atunci se realizează de fapt inversarea matricei Ridicare la putere An |v| |A| AT ^ Norma unui vector | Calculează norma unui vector v Calculează determinantul matricei pătrate A Determină transpusa matricei A Calculează produsul vectorial al Determinant | Transpusa Ctrl + ! Produs vectorial uxv M<n> Ctrl + 8 vectorilor coloană u şi v cu câte 3 elemente Extrage matrice Însumează elementele vectorului v Operatorii şi funcţiile matriciale sub acest operator se aplică coloana „n” a unei Extragere de coloană Suma termenilor unui vector Ctrl+6 Ctrl + 4 ∑v Vectorizare Ctrl+- fiecărui element al matricei (vezi § 4.3. 65 .Calcul matriceal numeric Operaţia Aspect Tasta Descriere Ridicarea unei matrice la o putere oarecare.6) În figura 4-7 sunt prezentate câteva exemple simple de aplicare a acestor operatori.

MathCAD oferă utilizatorului o serie de funcţii care pot fi aplicate vectorilor sau matricelor.… Elementul de valoare minimă din matricea A.C. C. Aceste funcţii şi rezultatul aplicării lor sunt prezentate mai jos.) min(A.. B.. 4-7 .Capitolul 4 Fig. B.Operatori pentru calcul matricial 4.… 66 .3 Funcţii pentru calcul matricial În afară de operatorii matematici prezentaţi în paragraful anterior.B. C.C.B. Numele funcţiei Rezultatul obţinut în urma aplicării funcţiei Dimensiunea/dimensiunile unui tablou rows(A) cols(A) length(v) last(v) identity(n) Numărul de linii al matricei A Numărul de coloane al matricei A Numărul de elemente al vectorului v Indicele ultimului element al vectorului v Matricea identitate de ordinul n Extremele unui tablou max(A.…) Elementul de valoare maximă din tablourile A.

C.… una peste alta O matrice obţinută prin alipirea matricelor A.Calcul matriceal numeric Numele funcţiei Rezultatul obţinut în urma aplicării funcţiei Crearea de tablouri matrix(m. x. asociat valorii proprii z. Vectorul este normalizat (suma pătratelor elementelor este 1). definită de o funcţie sau un set de funcţii. ce reprezintă coordonatele unei curbe parametrice strâmbă în spaţiu.j).…. pentru care elementul de poziţie i.…) O matrice obţinută prin alipirea matricelor A.…) augment(A. …. vezi exemplele ce vor urma.) O matrice formată din trei submatrice. B.BC.n. y şi z. vezi exemplele ce vor urma.B.z) Un vector format din valorile proprii ale matricei pătrate A.C. C. Vectorul propriu al matricei A.f) O matrice cu dimensiunea m x n.j are valoarea f(i. Concatenarea de tablouri stack(A. y şi z. x. CreateMesh(F. … una după alta Valori şi vectori proprii eigenvals(A) eigenvec(A. B. Pentru clarificări privind argumentele. ce reprezintă coordonatele unei suprafeţe parametrice definită de o funcţie sau un set de funcţii.) O matrice formată din trei submatrice. unde f este o funcţie de două variabile. Pentru clarificări privind argumentele. 67 . CreateSpace(F.

jc) O submatrice a matricei A. jc (coloana cu indice minim. Tipuri speciale de matrice diag(v) O v. obţinută prin extragerea [din A] a unei zone delimitată de indicii ir. matrice diagonală. ale cărei elemente [de pe diagonala principală] sunt chiar elementele vectorului Caracteristici speciale ale matricelor tr(A) rank(A) norm1(M) norm2(M) norme(M) 68 Urma matricei pătratice A (suma elementelor situate pe diagonala principală) Rangul matricei A Norma L1 a matricei pătrate M Norma L2 a matricei pătrate M Norma Euclidiană a matricei M .ir. jr (linia cu indice minim. respectiv maxim) şi ic. geninv(A) rref(A) Matricea inversă la stânga a lui A. Un vector conţinând valorile proprii pentru o problema generală de vectori şi valori proprii O matrice conţinând vectorii proprii pentru o problema generală de vectori şi valori proprii Extragerea de submatrice submatrix(A.ic. Matricea sau vectorul A trebuie să fie reale. fie ea L.Capitolul 4 Numele funcţiei eigenvecs(A) genvals(M. astfel ca L * A = I (matricea A trebuie să fie reală) Eşalonul redus al matricei sau vectorului A.N) Rezultatul obţinut în urma aplicării funcţiei O matrice conţinând pe coloane vectorii proprii ai matricei A. respectiv maxim).jr.N) genvecs(M.

O matrice ale cărei elemente sunt părţile reale ale elementelor matricei A O matrice ale cărei elemente sunt părţile imaginare ale elementelor matricei A Descompuneri de matrice gr(A) O matrice ale cărei prime n coloane conţin matricea ortonormală Q. bazat pe norma L2 Numărul de condiţionarea a matricei pătrate M. Pentru extragerea lui Q şi R se va utiliza funcţia submatrix. toate având dimensiunea lui M. fie ele P. lu(M) O matrice care conţine trei sub matrice pătrate. Matricele satisfac relaţia : P * M = L * U. astfel încât L *L T =M. bazat pe norma L1 Numărul de condiţionarea a matricei pătrate M.Calcul matriceal numeric Numele funcţiei normi(M) cond1(M) cond2(M) conde(M) condi(M) cholesky(M) Re(A) Im(A) Rezultatul obţinut în urma aplicării funcţiei Norma infinită a matricei M. L şi U. fie ea L. bazat pe norma infinită O matrice inferior triunghiulară. restul conţinând matricea superior triunghiulară R. Numărul de condiţionarea a matricei pătrate M. Matricea M trebuie să fie simetrică. M trebuie să fie pătrată. 69 . bazat pe norma Euclidiană Numărul de condiţionarea a matricei pătrate M. astfel ca A=Q * R. concatenate una după alta în această ordine (pentru extragerea lor se va utiliza funcţia submatrix).

A. A) Indicii (sub formă de tablouri incluse) poziţiilor în care apare valoarea z în matricea A.A. Matricea A trebuie să aibă dimensiunea m. un vector pe ce reprezintă elementul/elementele din matricea A ce se găsesc pe rândul situate aceeaşi/aceleaşi coloană/coloane cu elementele de pe primul rând având valoarea z. unde s este vectorul întors de funcţia svds(A). Înainte de a se prezenta câteva exemple de utilizare a unor funcţii aplicabile vectorilor şi matricelor. care trebuie să aibă dimensiunea m. B) O valoare sau un vector ce reprezintă elementul/elementele din matricea B care ocupă aceeaşi poziţie [în B] cu cea ocupată de valoarea z în A. un vector pe ce reprezintă elementul/elementele din matricea A ce se găsesc pe coloana (din situate acelaşi/aceleaşi rând/rânduri cu elementele de pe prima coloană având valoarea z.n cu m≥n şi trebuie să fie reală Funcţii de căutare în tablouri lookup(z. Fie ele U şi V.n cu m≥n şi trebuie să fie reală svds(A) Un vector conţinând valorile singulare ale matricei A.Capitolul 4 Numele funcţiei svd(A) Rezultatul obţinut în urma aplicării funcţiei O matrice conţinând “una peste alta”. c) Un element c sau A). hlookup(z. vlookup(z. A. r) Un element r (din sau A). Aceste matrice satisfac relaţia : A=U * diag(s) * V. match(z. vor fi reamintite câteva relaţii matematice importante : 70 . două matrice.

Calcul matriceal numeric Norma L1 returnează cea mai mare sumă a elementelor de pe coloane. identity 71 . se pot găsi trei matrice U. adică : L2 = ρ ( M ) = max λ . adică : L∞ = max (∑ mkj 1≤ k ≤ N j =1 N Câteva exemple privind utilizarea acestor funcţii sunt prezentate în figurile următoare. length. S. şi V. augment. last. min.k N 2 jk Norma infinită returnează suma cea mai mare sumă a elementelor de pe linii. Fig. adică : L1 = max(∑ mkj 1≤ j ≤ N k =1 N Norma L2 returnează cea mai mare valoare singulară. unde det(U)=det(V)=1. Cu λ s-au notat valorile Se reaminteşte că pentru o matrice M. 4-8 – Funcţiile rows. max.VT. tr. Norma Euclidiană întoarce valoarea : M F = ∑m j . iar cu proprii ale lui M. cols. astfel încât M=U. λ ∈ σ ( M ) .S. iar matricea S are elemente nenule numai pe diagonala principală. ρ (M ) s-a notat raza spectrală a matricei. unde cu σ (M ) s-a notat mulţimea valorilor proprii ale matricei M (numit şi spectrul acesteia). Aceste valori se numesc valori singulare ale matricei M.

Astfel. submatrix. la variaţii ale elementelor matricei coeficienţilor. 72 . Dacă numărul de condiţionare este infinit. matricea [sistemului] este singulară. valori mari ale numărului de condiţionare indică matrice (sisteme) „rău condiţionate”. „e”.Capitolul 4 Fig. norm1. diag. • Numărul de condiţionare întors de funcţia condi este util pentru cuantificarea gradului de stabilitate a sistemelor de ecuaţii de forma A x = b. unde x poate fi oricare din caracterele „i”. norme. sunt prezentate mai jos câteva consideraţii teoretice. Rezolvarea unor astfel de sisteme se poate face şi prin utilizarea funcţiei svd (vezi paragrafele următoare). „1” sau „2”. numărul de condiţionare 2 (cond2) este egal cu raportul dintre cea mai mare şi cea mai mică valoare singulară a unei matrice.Funcţiile stack. normi. Sunt valabile următoarele relaţii între norme şi numerele de condiţionare: • norm x( M ) ⋅ norm x( M −1 ) = cond x( M ) . 4-9 . Valorile singulare sunt întoarse de funcţie svds (vezi mai jos). norm2 În legătură cu normele şi numerele de condiţionare ale matricelor. Aceste consideraţii sunt ilustrate de exemplele din figura 4-10.

U) x=b sau L (U. În cazul Mathcad. necesare unei bune înţelegeri a acestui subiect. Dacă se poate scrie A=L . astfel încât : 73 .x=y prin substituţie înapoi.y =b. prin substituţie înainte U. precum şi a utilizărilor care se pot da funcţiilor de descompunere a matricelor. 4-10 – Norme şi numere de condiţionare În ceea ce priveşte descompunerile de matrice ce se pot realiza în MathCAD. unde L este inferior triunghiulară şi U superior triunghiulară. L si U. sunt reamintite mai jos câteva consideraţii teoretice minimale.3. 4. funcţia lu(M) întoarce trei matrice pătrate P. şi se rezolvă astfel : L. U.x)=b. sistemul se va [re]scrie : (L.Calcul matriceal numeric Fig.1 Descompunerea L U Fie sistemul Ax=b (scriere matricială).

b) În cazul Mathcad. 74 Descompunerea QR Dacă o matrice A se poate scrie ca : . Obs : O matrice este pozitiv definită dacă are toate valorile proprii pozitive  9 1 −1 0   1 9 0 − 1  Exemplu : A =  − 1 0 9 1     0 −1 1 9  4.x)=P.LT =A (deci LT=U din descompunerea LU). Pentru o matrice A.3.b şi mai apoi : L.3. se poate găsi descompunerea : A=U.x=b este: x=V.Capitolul 4 P. Soluţia unui sistem de forma A.v>0.diag(1/Sj)(UT.b 4.2 Descompunerea Cholesky Dacă în sistemul Ax=b.(U. se poate găsi o matrice L.A. unde Q este o matrice ortogonală (QT. Funcţia svd întoarce o matrice ce conţine concatenate prin suprapunere matricele U şi V. deci un sistem Ax=b revine la a rezolva sistemul P.x=P.x=QT. 4.b.M=L.U. matricea A este simetrică şi pozitiv definită (v.A.x=b se poate la rândul său scrie: Q.R.R.4 Descompunerea SVD (Singular value Decomposition) Se foloseşte pentru sistemele singulare sau foarte aproape de sistemele singulare.3 A=Q. S este vectorul întors de funcţia svds(A) În figura 4-11 sunt este prezentată descompunerea SVD pentru o matrice. astfel încât L.VT unde U şi V sunt ortogonale. atunci sistemul : A.diag(S). iar R este superior triunghiulară. şi se rezolvă prin substituţie înapoi.3.x=b şi apoi R. oricare ar fi vectorul v).Q=I).

în figura 4-12 este prezentat cazul unui sistem algebric liniar. Se reaminteşte că determinantul unei matrice singulare este 0.Calcul matriceal numeric Fig. a cărui matrice a coeficienţilor M. ceea ce constituie un impediment de netrecut pentru orice algoritm de rezolvare a sistemelor algebrice liniare care face apel la inversarea matricei A.Descompunerea SVD Descompunerea SVD este extrem de utilă în rezolvarea sistemelor pentru care matricea coeficienţilor este singulară sau foarte aproape de această stare. 4-11 . Pentru o bună înţelegere. 75 . este „aproape” singulară.

2. respectiv lsolve (care rezolvă sistemul prin aplicarea relaţiei x=M-1. 76 . Se va constata că lsolve nu mai întoarce soluţie.Capitolul 4 Fig. în vreme ce metoda care face uz de funcţia svd. Această situaţie este prezentată în figura 4-13. încă mai produce o soluţie.b) nu sunt identice. 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. ba mai mult. 4-12 – Rezolvarea sistemelor qvasi singulare cu ajutorul descompunerii svd Se poate observa din analiza figurii 4-12 că soluţiile obţinute prin utilizarea funcţiilor svd. apropiind şi mai mult matricea M de singularitate.

conţine numele.Calcul matriceal numeric Fig. Al doilea. N. numărul de telefon şi pe ultima coloană. Primul tablou. 4-13 – Rezolvarea unui sistem singular cu ajutorul funcţiei svd 4.5 Exemple de utilizarea a funcţiilor de căutare în tablouri . M.3.lookup Fie doua tablouri. anul naşterii şi locul naşterii. ce conţin date despre 5 persoane. 77 . numărul de fax. conţine localitatea de domiciliu.

Utilizând funcţia lookup. în prima etapă. 4-14 – Funcţia lookup operând asupra unui singur tablou Semnificaţia scrierii de mai sus este următoarea: se caută în coloana cu indicele 2 (atenţie. 4-15 – Funcţia lookup operând asupra a două tablouri 78 . din dreptul valorilor găsite pe coloana a treia. se va utiliza secvenţa de document Mathcad din figura 4-15. Fig. În a doua etapă. se vor extrage. În figura 4-14 este reprodusă secvenţa de document Mathcad care extrage anii de naştere. se vor extrage numerele de telefon ale tuturor celor născuţi în Ploieşti. în vreme ce în cel de-al doilea.Capitolul 4 Observaţie: A se nota ca toate datele au fost introduse ca şiruri de caractere. După cum s-a putut observa. originea indicilor este 0). vor fi necesare ambele [tablouri]. Fig. valoarea "Ploieşti" şi sunt întoarse valorile de pe coloana cu indicele 1 (a doua deci). Pentru extragerea numerelor de telefon. precum şi evaluarea variabilei în care aceştia au fost extraşi. în prima etapă informaţia se găseşte într-un singur tablou. anul naşterii celor născuţi în Ploieşti.

de pe coloana a treia din tabloul M. locul naşterii persoanei cu numele „Pripici”.hlookup. se vor extrage numerele de telefon ale celor domiciliaţi în Ploieşti.Calcul matriceal numeric Semnificaţia scrierii de mai sus este. vlookup Tabloul M. din dreptul (cu poziţiile) celor cu valoarea „Ploieşti”. din exemplele precedente a fost transpus şi din el se va extrage cu ajutorul funcţiei hlookup. 4-16 – Funcţia hlookup Utilizând tabloul N de la exemplele precedente şi funcţia vlookup. 4-17 – Funcţia vlookup . uşor de dedus: se vor întoarce valorile pe coloana a doua (cu indicele 1) din tabloul N. Fig. Se va urmări figura 4-17. . Se va urmări figura 4-16. Fig.match 79 . acum.

(sau selectând simbolul respectiv din toolbar-ul Operators…) după ce s-a selectat membrul unei relaţii de atribuire.5. ca simbol al operaţiei de vectorizare. trebuie să se seteze „ON” opţiunea de afişare a tablourilor incluse (Format ⇒ Result… ⇒ Display Options ⇒ Expand nested arrays). Există însă şi situaţii când asupra elementelor unei matrice trebuie efectuată aceeaşi operaţie scalară. Fig. 4-18 – Funcţia match 4.Capitolul 4 În exemplul din figura 4-18. În acest caz se poate folosi operatorul de vectorizare care determină aplicarea operatorilor şi funcţiilor element cu element vectorilor sau matricelor. Se observă din exemplul de mai jos că deasupra acestuia va apare o săgeată.3. prin vectorizare se aplică funcţia sin( ) fiecărui element al matricei M. permit efectuarea de operaţii de calcul matriceal. care au valoarea „Ploiesti”. Vectorizarea se realizează prin tastarea combinaţiei Ctrl + . Pentru ca rezultatul să arate ca în figura amintită. s-a realizat extragerea indicilor poziţiilor din tabelul M. 80 . Astfel.6 Vectorizări şi atribuiri simultane Operatorii prezentaţi în paragraful 6. dacă pentru o matrice M aplicarea funcţiei sin(M) este incorectă.

[sgrid].7 Crearea de matrice structurate 4. [tgrid]. [t1]. [tgrid]. [fmap]) 81 . [s1]. Acesta înseamnă că. [s0]. 4-20 . y. [t0]. Fig. [t0]. [t0]. [s0]. [s1].Vectorizare Folosirea vectorilor permite realizarea de atribuiri simultane. z ale unei suprafeţe parametrice definită prin intermediul unei funcţii vector.1 Funcţia CreateMesh Funcţia creează o matrice formată din trei submatrice (dispuse în sistem „stack”) ce reprezintă coordonatele x. sau unui set de 3 funcţii. [fmap]) CreateMesh (G. [tgrid]. [t1]. f3.3. în cursul unei singure secvenţe de atribuire pot primi valori mai multe variabile. [fmap]) CreateMesh (f1.3. [s0].7. [t1]. Un exemplu de atribuire simultană este prezentat mai jos .Atribuire simultană 4. unei funcţii de două variabile. f2.Calcul matriceal numeric Fig. [sgrid]. Sintaxa de apelare a funcţiei este una din următoarele: CreateMesh (F. 4-19 . [s1]. [sgrid].

respectiv sph2xyz).Capitolul 4 Parametrii din parantezele drepte sunt opţionali. de trei variabile care defineşte maparea (proiectarea) din orice sistem de coordonate în cel cartezian. Exemplu de funcţie de tip fmap: 82 . Valoarea implicită este 5. t1 este limita superioară a variabilei v. Valoarea implicită este 20 şi tgrid>0 fmap este o funcţie vector cu trei elemente. Valoarea implicită este 5. În Mathcad există două funcţii de tip fmap. f1 este o funcţie de două variabile u şi v. f3 este o funcţie de două variabile u şi v. Valoarea implicită este -5. Valoarea implicită este 20 şi sgrid>0 tgrid este numărul de intervale în care este împărţit domeniul de variaţie al parametrului v. fiecare o funcţie de două variabile u şi v. Semnificaţiile tuturor parametrilor sunt: • F este un vector funcţie cu 3 elemente. f2 este o funcţie de două variabile u şi v. t0 este limita inferioară a variabilei v. sgrid este numărul de intervale în care este împărţit domeniul de variaţie al parametrului u. specializate în maparea din coordonate cilindrice. s1 este limita superioară a variabilei u. Valoarea implicită este -5. s0 este limita inferioară a variabilei u. respectiv sferice în coordonate carteziene (cyl2xyz. • • • • • • • • • • • G este o funcţie de două variabile u şi v.

4-21 Utilizarea unei funcţii vector şi reprezentarea grafică corespunzătoare 2.Calcul matriceal numeric Exemple: 1. Utilizarea unei funcţii vector Fig. Utilizarea unei funcţii de două variabile 83 .

Capitolul 4 Fig. 4-23 – Utilizarea a trei funcţii de două variabile 84 . Utilizarea a trei funcţii de două variabile Fig. 4-22 Utilizarea unei funcţii de două variabile şi reprezentarea grafică corespunzătoare 3.

f2. [t1]. [fmap]) CreateSpace(f1. [tgrid]. [fmap]) Semnificaţiile notaţiilor sunt uşor de dedus prin analogie cu cele prezentate în cazul funcţie CreateMesh. [tgrid].Calcul matriceal numeric 4. [t0]. 4-24 – Utilizarea unei funcţii vector 85 . respectiv z ale unei curbe Exemplu: 1. creează o matrice formată din trei submatrice-vector (aranjate în sistem stack). [t0]. y.7.2 Funcţia CreateSpace Funcţia CreateSpace strâmbe în spaţiu. [t1]. Utilizarea unei funcţii vector Fig. f2.3. f3. cu observaţia că funcţia F. ca şi funcţiile f1. Sintaxa de apelare a funcţiei este una din următoarele: CreateSpace(F. şi f3 depind de o singură variabilă. Cei trei vectori conţin coordonatele x.

.

..1 5......................... punând la dispoziţia utilizatorilor multiple facilităţi de formatare a acestor reprezentări.............................. Obiective Prezentarea tipurilor de reprezentări grafice ce se pot realiza cu ajutorul Mathcad • • Prezentarea facilităţilor de formatare a graficelor 5 Reprezentări grafice ____________________ 87 5.....5 Reprezentări grafice Mathcad permite obţinerea unui număr mare de tipuri de reprezentări grafice 2D şi 3D..................88 Grafice 3D................................................2 5.........................................................................99 Grafice de tip Vector Plot.3 Grafice 2D.......................................................................115 Număr de pagini 26 87 ......

caz în care se vor considera egale cu 10 şi respectiv -10. respectiv minimă a 88 .1. Completarea marcatorilor cu elementele corespunzătoare (nume variabilă de reprezentare. limite. Vezi figura 5-1) Fig. Alegerea câmpului Insert ⇒ Graph ⇒ X-Y Plot sau a butonului corespunzător de pe bara de instrumente Graph (vezi figura 5-1) 2.).Capitolul 5 5. 5-1 – Completarea marcatorilor pentru graficele de tip X-Y În legătură cu modul de completare a marcatorilor se fac următoarele precizări: • limitele superioară şi respectiv inferioară de variaţie a variabilei de reprezentare pot să nu fie precizate în mod explicit. • limitele superioară şi respectiv inferioară pentru domeniul de reprezentat pot să nu fie precizate. nume funcţie sau expresie de reprezentat etc. caz în care vor fi folosite valoarea maximă.1 5.1 Grafice 2D Grafice de tip X-Y Inserarea unui grafic de tip X-Y presupune parcurgerea următoarelor etape: 1.

înregistrate pe domeniul de lucru. . i := 1 ... sunt prezentate mai multe grafice de tip X-Y.5 ⋅i 60 40 yi 20 0 x := 0 .. În figura 5-2. 20 xi := .1 .1 .Reprezentări grafice expresiei/funcţiei de reprezentat. 0. Reprezentarea unui vector funcţie de alt vector x := 0 . dacă se folosesc mai multe variabile.1 . acestea trebuie separate prin virgulă. • • pot fi trasate mai multe curbe pe acelaşi grafic. 20 f ( x) := e sin ( x) +cos ( x) b. Reprezentarea unei expresii funcţie de o variabilă de tip scalar x := 0 .. Reprezentarea mai multor dependente de o singură variabilă funcţii 89 . Reprezentarea unei funcţii d. curbe ce pot depinde de una sau mai multe variabile. 20 −e sin ( x) −cos ( x) f ( x) := e sin ( x) +cos ( x) −e sin ( x) −cos ( x) sin ( x) −cos ( x) 5 g( x) := e sin ( x) +cos ( x) +e 10 f ( x) 0 f ( x) 5 0 5 10 x 15 20 5 0 5 g ( x) 0 5 10 x 15 20 c. 5 yi := ( xi) − 5 ⋅xi 2 1 sin x ( 2) 0 1 20 0 5 xi 10 0 2 x 4 6 a. .

Reprezentarea mai multor funcţii dependente de mai multe variabile Fig. 5-4.2 Formatarea graficelor de tip X-Y Mathcad oferă multiple facilităţi de control al aspectului (formatului) graficelor. după ce se selectează graficul asupra căruia se intervine.Capitolul 5 e. Pentru a declanşa procesul de formatare.) Dacă se foloseşte una din primele două metode. 5-5 şi 5-6. se ajunge la caseta de dialog prezentată pe parcursul figurilor 5-3.1. legendă. 5-2 – Reprezentări grafice de tip X-Y 5. trasee etc. se poate folosi una din metodele enumerate mai jos: • • • Format ⇒ Graph ⇒ X-Y Plot… Clic dreapta pe zona graficului urmată de acţionarea câmpului Format… Dublu clic pe o anumită zonă a graficului (axe. 90 .

5-3 – Secţiunea X-Y Axes 91 .a. Marcatorii nu apar decât pe axa X în dreptul valorilor 2.b se poate vedea un grafic pentru care setările sunt cele din figura 5-3.Reprezentări grafice Se pot controla la nivel de axă următoarele: . Fig.controlul desimii caroiajului.utilizarea unei scări logaritmice. . În figura 5-3. .amplasarea automată a acestora.prezenţa unui număr de maxim 2 marcatori pe fiecare axă. b.prezenţa liniilor de caroiaj.5 şi respectiv 4. axe. .autoscalarea valorilor graficului.utilizarea de scări egale pe cele două a. . . .prezenţa valorilor numerice pe axe. .

modul de marcarea a punctelor traseelor: Symbol.tipul de linie cu care sunt unite punctele traseelor: Line. Fig. 5-4. respectiv Hide Arguments. b. argumentelor: Hide Legend.denumire traseu: Legend Label. . .culoarea traseelor: Color. . 5-4 – Secţiunea Traces 92 . .grosimea liniilor de reprezentare a traseelor: Weight.b.a se poate vedea un grafic pe care sunt reprezentate două trasee.Capitolul 5 Secţiunea Traces permite controlul caracteristicilor traseelor graficelor: . În figura Setările sunt cele din figura 5-4.tipul de unire a punctelor traseelor: Type.ascunderea sau nu a legendei sau a. . .

transformarea setărilor curente în setări implicite pentru întregul document. respectiv nume funcţie sau expresie de reprezentat etc. fie dimpotrivă. sau a unor legende la nivel de axe (Axis labels). A se consulta figura 5-5) Fig.3 1. 2.Reprezentări grafice Secţiunea Labels permite definirea unui titlu al graficului (Title). Secţiunea Defaults permite fie revenirea la setările de formatare a graficelor implicite pentru document (Change to Defaults).1. a poziţie acestuia. 5.). Grafice în coordonate polare Inserarea unui grafic în coordonate polare presupune parcurgerea următoarelor etape: Alegerea câmpului Insert ⇒ Graph ⇒ Polar Plot sau a butonului corespunzător Completarea marcatorilor cu elementele corespunzătoare (nume variabilă de de pe bara de instrumente Graph (vezi figura 5-6) reprezentare. 5-5 – Marcatori pentru grafice în coordonate polare 93 .

1. Particularităţile specifice graficelor în coordonate polare vor fi uşor de înţeles. prin acţionarea câmpului Format ⇒ Graph ⇒ Polar Plot… . Fig. Este suficient un clic stânga pe curba reprezentată şi valoarea din dreptul pointerului este „citită”.1 Facilitatea de tip Trace (urmărire a valorilor de pe grafic) Facilitatea Trace permite “citirea” valorilor de pe un grafic şi eventual copierea lor în afara graficului (fireşte în documentul Mathcad ce conţine graficul).5 Controlul vizualizării graficelor 2D 5. 5. 5-6 – Grafic în coordonate polare 5. Declanşarea formatării se face.5. după selectarea unui grafic. Eliminarea bifei din dreptul câmpului Track Data Points.4 Formatarea graficelor în coordonate polare Pentru formatare se va proceda ca în cazul graficelor în coordonate XY.1. va permite şi 94 .Capitolul 5 În figura 5-6 este reprezentat un grafic în coordonate polare. Modul Trace se activează prin intermediul câmpului Format ⇒ Graph ⇒ Trace… În figura 5-7 este surprins procesul de „citire” a unei valori de pe grafic (se citesc cele două coordonate).1.

Reprezentări grafice citirea unor valori din exteriorul curbei sau a punctelor de pe curbă ce nu corespund valorilor discrete ale variabilei abscisă. Fig. 95 . 5-7 – Citirea de valori de pe un grafic În figura 5-8 se este surprinsă utilizarea facilităţii Trace în condiţiile eliminării Track Data Points.

Capitolul 5 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. 96 .

Un rezultat mai bun se poate obţine prin utilizarea combinată a facilităţilor zoom şi trace. sau complet (Full View). pas cu pas (Unzoom).5.2 Facilitatea de tip Zoom (controlul factorului de mărire) Pentru realizarea de focalizări care să pună în evidenţă detalii ale reprezentărilor grafice. în caseta de dialog X-Y Zoom se pot citi limitele zonei mărite.b să se poată vedea rezultatul operaţiei. Modul zoom poate fi folosit (printre altele) şi pentru aprecierea soluţiilor reale ale unor ecuaţii.1. Executarea de focalizări (zoom) se poate repeta (pentru obţinerea de detalii tot mai clare). 5-9 .a se poate vedea modul cum se realizează o focalizare. Acest lucru este posibil prin utilizarea câmpului Format ⇒ Graph ⇒ Zoom… .Citirea de valori de pe un grafic în coordonate polare 5. se poate folosi modul zoom.Reprezentări grafice Fig. După realizarea unui zoom. pentru ca în figura 5-10. dar se poate şi anula. 97 . În figura 5-10.

Capitolul 5 a. Fig. b. 5-10 – Facilitatea zoom 98 .

Reprezentări grafice În figura 5-11 este surprins modul de operare zoom în cazul unui grafic în coordonate polare. Fig. se poate utiliza câmpul Insert ⇒ Graph ⇒ Surface Plot sau butonul corespunzător de pe bara de unelte Graph (vezi figura 5-12).2 5. 99 . 5-11 – Zoom în cazul graficelor polare 5.2.1 Grafice 3D Grafice de tip suprafaţă Pentru includerea într-un document Mathcad a unui grafic de tip suprafaţă (Surface Plot).

Mai trebuie precizat că în exemplele ce urmează pentru a obţine aspectul reprezentărilor au fost realizate şi anumite operaţii de formatare. Este posibilă reprezentarea pe acelaşi grafic a mai multor suprafeţe.5-19 . Pentru exemplificare se recomandă urmărirea atentă a figurilor 5-13…. numele unei variabile de tip matrice.Capitolul 5 Fig. se completează marcatorul cu: • sau • sau • sau • numele unei funcţii sau unui set de funcţii de două variabile (dacă e vorba de un set de funcţii. 100 numele – separate prin virgulă – a trei variabile de tip vector (totul se „închide” în paranteze rotunde). numele se vor separa prin virgulă). numele – separate prin virgulă . . se vor separa prin virgulă argumentele fiecărei suprafeţe.. Pentru aceasta.a trei variabile de tip matrice (totul se „închide” în paranteze rotunde) . 5-12 – Crearea unui grafic de tip suprafaţă Pentru obţinerea graficului.

5-14 – Grafic de tip suprafaţă obţinut pornind de la trei matrice 101 . 5-13 – Grafic de tip suprafaţă obţinut pornind de la o matrice Fig.Reprezentări grafice Fig.

Capitolul 5 Pentru acest tip de grafic sunt necesare următoarele precizări: • • Toate cele 3 matrice trebuie să aibă acelaşi număr de linii şi coloane.Grafic de tip suprafaţă obţinut pornind de la ecuaţia unei funcţii vector 102 . 5-15 – Grafic de tip suprafaţă obţinut pornind de la trei vectori Fig. 5-16 . Acest tip suprafaţă se numeşte parametrică şi nu poate fi ulterior (prin formatare) transformată în celelalte tipuri de grafice 3D. Fig.

Grafic de tip suprafaţă obţinut pornind de la ecuaţia a trei funcţii de două variabile 103 . 5-18 . 5-17 – Grafic de tip suprafaţă obţinut pornind de la ecuaţia unei funcţii de două variabile Fig.Reprezentări grafice Fig.

5-19 .2 Grafice de tip curbe de nivel (Contour Plot) Pentru includerea într-un document Mathcad a unui grafic de tip curbe de nivel (Contour Plot). Fig. 5-20 – Inserarea unui grafic de tip curbe de nivel Graficele de tip curbe de nivel se obţin de fapt din suprafeţe „secţionate” de plane paralele cu planul XOY (sau YOZ sau XOZ). se poate utiliza câmpul Insert ⇒ Graph ⇒ Contour Plot sau butonul corespunzător de pe bara de unelte Graph (vezi figura 5-20).Reprezentarea pe acelaşi grafic a două suprafeţe 5.2. Curbele de intersecţie se proiectează pe 104 .Capitolul 5 Fig.

iar dacă se optează pentru unirea acestora cu segment de dreaptă. se pot folosi pentru reprezentarea de curbe parametrice în spaţiu. Un grafic de tip „scatter” poate fi transformat în oricare din celelalte grafice 3D.3 Grafice de tip puncte distribuite în spaţiu (3D Scatter Plots) Graficele de acest tip permit vizualizarea de puncte în spaţiu. trei vectori.Reprezentări grafice planul XOY (sau YOZ sau XOZ) şi se reprezintă. Fig. sau expresia unei funcţii (vector sau simplă de trei variabile) sau unui număr de trei funcţii de două variabile. 105 . vor fi aceleaşi şi metodele de generare a unor astfel de reprezentări: se va porni deci tot de la o matrice.2. 5-21 – Grafic de tip Contour Plot obţinut pornind de la trei vectori 5. Cum la baza graficelor de tip contur stau de fapt nişte suprafeţe. trei matrice.

sau butonul corespunzător de pe bara de instrumente Graph (vezi figurile 5-22…5-24 ). se vor folosi câmpul Insert ⇒ Graph ⇒ 3D Scatter Plot. 5-23 – Grafic de tip „scatter” obţinut pornind de la expresia unei funcţii vector de două variabile 106 .Capitolul 5 Pentru inserarea unei astfel de reprezentări. 5-22 – Inserarea de grafice de tip Scatter Plot Fig. Fig.

2.Reprezentări grafice Fig. sau a butonului indicat şi în figura 5-25 de pe bara de instrumente Graph. 5-24 – Grafic de tip „scatter” obţinut pornind de la trei vectori 5. 107 .4 Grafice de tip 3D Bar Se pot obţine prin acţionarea câmpului Insert ⇒ Graph ⇒ 3D Bar Plot.

căci înainte de reprezentare tot la o matrice se ajunge). numele a trei variabile de tip vector (închise între paranteze). sau a unui set de 3 funcţii de două variabile (întocmai ca la graficele de tip suprafaţă de exemplu). al unei funcţii de două variabile. sau numele unei funcţii vector cu 3 elemente şi de două variabile. 5-26 – Grafic de tip 3D Bar obţinut pornind de la o matrice 108 .Capitolul 5 Fig. în care înălţimea fiecărei coloane este chiar valoarea elementului de matrice corespunzător (în cazul în care argument este un nume de funcţie/funcţii corespondenţa este indirectă. Se va obţine o reprezentare ca cea din figura 5-26. Fig. 5-25 – Inserarea de grafice de tip 3D Bar „Argument” pentru astfel de grafice pot fi numele unei variabile de tip matrice.

selecţia unui grafic existent. modul de conectare a punctelor. Declanşarea procesului de formatare se face prin acţionarea câmpului Format ⇒ Graph ⇒ 3D Plot… (după ce în prealabil s-a selectat un grafic). Fig. o serie de alte setări ce ţin de aspectul general al graficului. 5-27 – Secţiunea General 109 .2. că este posibilă aproape oricând transformarea unui tip de grafic 3D în alt tip de grafic 3D. al factorilor de scalare etc. 5. zonelor şi câmpurilor casetei de dialog 3-D Plot Format. fireşte.Reprezentări grafice Trebuie precizat (şi se va reveni în cadrul explicaţiilor legate de formatarea graficelor 3D).5 Formatarea graficelor 3D Facilităţile de formatare a graficelor 3D oferite de Mathcad sunt extrem de complexe şi cuprind pe lângă „simpla” modificare a vectorului de vizualizare. În figurile următoare sunt furnizate informaţii despre semnificaţiile secţiunilor. condiţiile de iluminare. controlul axelor. Declanşarea procesului de formatare presupune.

5-29 – Secţiunea Appearance 110 .Capitolul 5 Fig. 5-28 – Secţiunea Axes Fig.

conform specificaţiilor din secţiunea Color Options. Fig. y sau z). Implicit se folosesc contururi obţinute prin secţionarea suprafeţei cu plane paralele cu planul XOY. astfel că aspectul acestora variază şi în interiorul faţetelor.Reprezentări grafice Cât priveşte zona Fill Options. Fill Contours – „Umple” suprafaţa cu culoare. Smooth Shading – Realizează o interpolare a culorilor. se fac următoarele precizări: Fill Surface – “Umple” o suprafaţă cu o hartă de culoare. Alternate Mesh – Umple cu culoare numai o jumătate de faţetă dreptunghiulară. în conformitate cu tipul de contur (curbă de nivel) folosit (x. Solid Color – Colorează monocrom suprafaţa. 5-30 – Secţiunea Lighting 111 . Color Options : Colormap – Colorarea se face cu o hartă de culori ale cărei caracteristici sunt specificate în secţiunea Advanced. No Fill – Suprafaţa nu este colorată.

112 . dar este reflectată de suprafaţă uniform (în toate direcţiile). Efectul poate fi amplificat de controlul Shininess din secţiunea Advanced. dar şi minore (Sub-Grids). Lumina difuză face un obiect să strălucească (de exemplu lumina fluorescentă). Lumina speculară nu are un efect important asupra aspectului graficului. Fig. O lumină speculară creează o pată de lumină pe obiectul iluminat. Lumina difuză Lumina de acest tip vine dintr-o direcţie anume. Lumina Speculară Lumina speculară vine dintr-o direcţie anume şi este reflectată într-o anume direcţie. Sunt posibile „reglaje” ale caroiajelor majore (Grids).Capitolul 5 Directed light (Lumina directă) Lumina directă este produsă de o sursă punctuală şi este emisă într-o direcţie nume. Lumina ambientală şi cea difuză au un mare efect asupra culorii unui grafic. 5-31 – Secţiunea Backplanes Fereastra de dialog controlează modul de afişare a planelor sistemului de axe (planele XOY. Lumina directă are două componente: lumina difusă şi lumina speculară. XOZ şi YOZ).

Reprezentări grafice Fig. 5-32 – Secţiunea Special 113 .

Capitolul 5 Fig. 5-34 – Secţiunea QuickPlot Data 114 . 5-33 – Secţiunea Advanced Secţiunea Advanced serveşte la controlul unor caracteristici de vizualizare. Fig. precum şi a unor setări de printare a graficului.

precum şi la schimbarea sistemului de coordonate folosit pentru reprezentare. „Argumentul” unui astfel de grafic este o matrice cu elemente complexe. 5. a intervalului de variaţie a variabilelor independente corespunzătoare axelor OX şi OY. corespunzător de pe bara de instrumente Graph (vezi figura 5-35). 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 colţul din stânga sus al reprezentării). ce se compun (în sensul cunoscut de la calculul vectorial).Reprezentări grafice Caseta de dialog serveşte la controlul desimii caroiajului de pe suprafaţă (# of Grids). 5-35 – Inserare a unui grafic de tip Vector Plot În figura 5-36 este prezentat un grafic de tip Vector. Fiecare vector este de fapt definit prin componenta orizontală (reală) şi cea verticală (coeficientul părţii imaginare).3 Grafice de tip Vector Plot Acest tip de reprezentare permite vizualizarea câmpurilor de vectori. sau a butonului Fig. 115 . Inserarea unui grafic de tip Vector Plot se face acţionând câmpul Insert ⇒ Graph ⇒ Vector Field Plot. cei verticali unor elemente pur complexe. sau două matrice (cu acelaşi număr de linii şi de coloane). obţinut pornind de la o matrice cu elemente complexe. Vectorii orizontali corespund unor elemente pur reale ale matricei.

Capitolul 5 Fig. 5-36 .3.Grafic de tip Vector 5.1 Formatarea graficelor de tip Vector Se va face utilizând câmpul Format ⇒ Graph ⇒ 2D Plot… . cu precizarea că multe din câmpurile casetei de dialog nu vor fi active. 116 .

4 Rezolvarea ecuaţiilor transcendente .........124 Număr de pagini 7 117 ..............................................................3 6..................121 Rezolvarea aproximativă a sistemelor neliniare ..........120 Rezolvarea sistemelor neliniare .........118 Rezolvarea sistemelor algebrice liniare.......2 6............................................1 6................................................6 Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii Obiective • • • Însuşirea tehnicilor de rezolvare a numerică a ecuaţiilor Însuşirea tehnicilor de rezolvare a numerică a sistemelor de ecuaţii Însuşirea tehnicilor de rezolvare a numerică aproximativă a sistemelor de ecuaţii 6 Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii ______________________________ 117 6...

2 Rezolvarea ecuaţiilor transcendente Pentru ecuaţiile de forma: f ( x) = 0 . unde funcţiile f şi g pot avea orice formă. Funcţia foloseşte metoda LaGuerre sau pe cea a companionului matriceal..a.1 Rezolvarea ecuaţiilor algebrice Pentru rezolvarea ecuaţiilor de forma: P ( x) = 0 . sau f ( x) = g ( x) . unde P ( x) = a0 + a1 ⋅ x + a2 ⋅ x 2 + .an ⋅ x n se poate folosi funcţia polyroots. 6-1 – funcţia polyroots 6.x) root(f(x). „Forţarea” uneia sau alteia dintre metode se face executând clic dreapta pe numele funcţiei şi alegerea variantei de lucru (vezi figura 6-2). În figura polyroots.b) 118 . cu una din sintaxele: root(f(x).5 − 2 ⋅ x − 2 ⋅ x 2 = 0 Pot fi obţinute şi soluţii complexe. Fig.x) root(f(x)-g(x). cu sintaxa: polyroots(v).. Exemplul prezentat determină toate soluţiile ecuaţiei: 6-1 este prezentat un exemplu de utilizare a funcţiei 0. în ordinea crescătoare a puterilor necunoscutei.Capitolul 6 6.. se va utiliza funcţia root.x. unde v este vectorul coeficienţilor polinomiali.

Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii root(f(x)-g(x).x este numele variabilei necunoscută . sau root(f(x)-g(x). estimarea iniţială este reală şi rădăcinile sunt complexe (sau invers). 6-2 – Alegerea algoritmului Dacă argumentele a şi b lipsesc.x. expresia f(x) sau f(x)-g(x) are un extrem local între estimarea iniţială a soluţiei şi rădăcină. • expresia are discontinuităţi între estimarea iniţială şi rădăcină. Fig. este obligatorie furnizarea unei valori estimative pentru soluţie.x) foloseşte metoda secantei în determinarea soluţiei. rădăcinile sunt prea departe de estimarea iniţială. pentru furnizarea unei estimări cât mai apropiate de o soluţie se recomandă trasarea graficului funcţiei f(x) sau f(x)-g(x) pe intervalul de interes. cea mai apropiată de estimarea furnizată. funcţia root nu produce o soluţie într-una din următoarele situaţii: o astfel de rădăcină nu există. funcţia întoarce şi soluţii complexe.a.a şi b sunt limitele intre care se va căuta o soluţie.x). În legătură cu funcţie root. în vreme ce în cazul în care se 119 . funcţia root apelată cu sintaxa root(f(x). Funcţia root va căuta soluţia cea mai aproape de această valoare.b) Semnificaţiile notaţiilor sunt următoarele: . se fac precizările: • • • • funcţia întoarce o singură soluţie.

rezolvă sistemul prin inversarea matricei A.x. se poate folosi una din următoarele metode de rezolvare: funcţia lsolve. precizia rezultatului depinde de valoarea variabile predefinite TOL. ceea ce impune prudenţă în cazul sistemelor (matricelor) de mari dimensiuni .3 . secţiunea Buil-In Variables. • funcţia root poate fi folosită şi pentru rezolvarea ecuaţiilor algebrice de tip polinomial. sau root(f(x)-g(x).a. unde A este o matrice pătrată nesingulară iar b vectorul termenilor liberi.3 Rezolvarea sistemelor algebrice liniare Pentru un sistem algebric liniar de forma: A ⋅ x = b .ceea ce pentru Mathcad poate însemna ce depăşeşte 20-30 de necunoscute.x.Capitolul 6 utilizează sintaxa root(f(x). • În cazul utilizării metodei secantei.b). atunci x este considerată soluţie.b). Mecanismul este următorul: dacă |f(x)|<TOL.b). sau pentru sistemele instabile (vezi § 4. În figura 6-3 se exemplifică utilizarea funcţiei root. În astfel de cazuri. Fig. Modificarea acesteia se face cu ajutorul câmpului Math Options. algoritmul folosit este Ridder/Brent. 6-3 – Funcţia root 6.3) se recomandă utilizarea descompunerilor de matrici.a. adică x = A−1 ⋅ b . descompunerile de matrice prezentate în § 4. Funcţia lsolve care se apelează cu sintaxa lsolve(A. unde x este o estimare a soluţiei. 120 .

x2. apelabilă cu sintaxa: Find(x1. x2.4 Rezolvarea sistemelor neliniare Pentru sistemele algebrice neliniare.5 ⋅ x + y − z + 1.75 x + 2 ⋅ y − 3 ⋅ u = 0  cu ajutorul funcţiei lsolve.Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii În figura 6-4 este prezentat un exemplu de rezolvare sistemului: 2 ⋅ x − y + 0.5 ⋅ z + u = −2. sau pentru cele transcendente.5 ⋅ u = 2. xn:=an estimare iniţială a soluţiei (ca în cazul funcţiei 121 . unde x1. x3.…xn).5 − x + y + z + u = 4.  0. 6-4 – Funcţia lsolve 6. se va folosi funcţia Find. x3. Funcţia Find se utilizează în cadrul unei secvenţe de forma: x1:= a1 x2:=a2 root) Given Ecuaţii….…xn sunt necunoscutele căutate.5  Fig.

Fig.Capitolul 6 [Constrângeri…] Find(x1. se va utiliza combinaţia de taste CTRL şi = . 6-5 – Funcţia Find Atenţie: Pentru inserarea egalului ce intervine în ecuaţii. 6-6 – Operatorul = 122 . Cuvântul cheie Given este obligatoriu şi se va scrie ca în exemple. sau butonul indicat în figura 6-6. x3. cu şi fără utilizarea de constrângeri. Fig.…xn) opţionale În figura 6-5 se pot vedea două exemple de întrebuinţare a funcţiei Find. x2.

Rezolvarea numerică a ecuaţiilor şi a sistemelor de ecuaţii Funcţia Find poate utiliza diferiţi algoritmi pentru rezolvarea de sisteme de ecuaţii. Astfel condiţia x>0 din figura 6-5 va fi considerată satisfăcută şi dacă x>0. Variabila TOL controlează procesul de rezolvare în sensul precizat în § 6-2. sau a ecuaţiilor (algebrice sau transcendente). Funcţia Find poate fi utilizată şi pentru rezolvarea de sisteme algebrice liniare. 6-7 – Alegerea algoritmului utilizat de funcţia Find Procesul de căutare a soluţiei de către funcţia Find este influenţat de variabile predefinite TOL şi CTOL. 123 . Constrângerile dintr-un bloc Given se pot defini cu ajutorul operatorilor booleeni (vezi figura 6-6). Variabila CTOL controlează nivelul de precizie cu care o constrângere dintr-un bloc Given este satisfăcută. care pot fi privite ca sisteme cu o singură ecuaţie şi o singură necunoscută. Alegerea se poate face automat (AutoSelect.001 dacă valoarea CTOL este 0.vezi figura 6-7).001. Funcţia Find impune limitarea numărului de ecuaţii şi constrângeri la 200. Fig. Este evident că şi variabila CTOL determină nemijlocit precizia soluţiei întoarsă de funcţia Find. mai puţin operatorul ≠. sau „manual” .

se poate recurge le funcţia Minerr. Fig. este identic cu cel prezentat în cazul lui Find (inclusiv precizarea unei estimări iniţiale pentru soluţie). 124 . Modul de utilizare e lui Minerr. fie pentru că este prea „departe” de estimarea iniţială).5 Rezolvarea aproximativă a sistemelor neliniare Dacă funcţia Find nu întoarce o soluţie (ceea ce se poate întâmpla fie pentru că ea nu există. Aceasta va întoarce întotdeauna un răspuns care trebuie privit ca o soluţie aproximativă (ce poate fi eventual folosită ca o nouă estimare pentru soluţie în cazul reutilizării funcţiei Find). În figura 6-8 este prezentat un exemplu de utilizare a funcţiei Minerr.Capitolul 6 6. 6-8 – Utilizarea funcţiei Minerr Se recomandă înlocuirea lui Minerr cu Find în secvenţa din figura 6-8.

..........2 7......7 Derivare şi integrare numerică........127 Calcul de sume şi produse ............................1 7............................................3 Derivarea numerică .125 Integrarea numerică ...................1 Derivarea numerică 125 .....................................................................................128 7........ Calcul de sume şi produse ______________________________ 125 7..................... Calcul de sume şi produse Obiective • • Prezentarea tehnicilor de integrare şi derivare numerice Calculul de sume şi produse în Mathcad 7 Derivare şi integrare numerică............

ce precizează ordinul de derivare poate avea valorile 1. algoritmul folosit pentru integrare este o variantă a metodei Ridder. dar variabila de integrare (t) trebuie să fie reală. În figura 7-2 sunt prezentate câteva exemple de utilizare a operatorilor de derivare. 4. fie prin folosirea butoanelor de pe bara de instrumente Calculus (vezi figura 7-1). 7-1 – Operatorii pentru derivare numerică Se vor reţine următoarele: • • • • • • înaintea aplicării unui operator de derivare trebuie precizat punctul în care se calculează derivata. respectiv CTRL+SHIFT+?. Fig. 5. funcţia f(t) poate să fie şi complexă. rezultatele obţinute sunt corecte în limitele unei precizii de 7-8 cifre semnificative după virgulă. 2. parametrul n. precizia rezultatului întors de operatorii de derivare depinde de valoarea variabilei predefinite TOL. Ei pot fi obţinuţi fie prin utilizarea combinaţiilor de taste ?. 3. 126 .Capitolul 7 Pentru realizarea de derivări numerice se pot folosi operatorii sau .

iar dacă se lucrează cu unităţi de măsură. 7-2 .Derivări numerice 7. evaluarea integralei. Pentru aceasta se va respecta succesiunea: clic dreapta pe operatorul de integrare şi alegerea metodei dorite (vezi figura 7-3). argumentul x să fie o variabilă reală şi neindexată. • metoda de calcul a integralei este aleasă automat de Mathcad. se poate însă „forţa” un anume algoritm.Derivare şi integrare numerică. fie a butonului corespunzător ( ) de pe bara de instrumente Calculus (vezi figura 7-1).2 Integrarea numerică Pentru calculul de integrale definite se poate folosi operatorul . El poate fi inserat într-un document Mathcad fie prin utilizarea tastei &. Calcul de sume şi produse Fig. limitele de integrare a şi b să fie reale. elementele componente trebuie să respecte funcţia f să fie scalară. Într-o secvenţă de forma: următoarele condiţii: • • • . reală sau complexă. să o utilizeze ambele pe aceeaşi (folosită şi pentru variabila de integrare). 127 .

Utilizarea operatorilor este ilustrată în figura 7-5.). 128 . În figura 7-4 se pot vedea mai multe exemple de utilizare a operatorului . 7-3 – Stabilirea algoritmului de calcul a integralei • dacă se apasă de mai multe ori pe tasta & (sau pe butonul calcula integrale multiple (dublă. ) se pot Fig. Se pot utiliza şi butoanele barei de instrumente Calculus (vezi figura 7-1). triplă etc.3 Calcul de sume şi produse Evaluarea numerică a sumelor sau produselor se poate face utilizând operatorii: Au fost precizate şi combinaţiile de taste aferente fiecărui operator.Capitolul 7 Fig. 7-4 – Integrarea numerică 7.

7-5 . Calcul de sume şi produse Fig.Derivare şi integrare numerică.Calcul de sume şi produse 129 .

.

......................139 Număr de pagini 7 131 ......................136 8......................134 Alegerea sistemului de unităţi de măsură utilizat şi controlul formatului de afişare a rezultatelor cu unităţi de măsură............3 8..........5 Utilizarea UM în calculul integral sau diferenţial........................................4 Mod de lucru .........................132 Definirea de unităţi de măsură .........................133 Modificarea unităţilor de măsură în care este exprimat un rezultat ......2 8...................8 Utilizarea unităţilor de măsură în documentele Mathcad Obiective • • Prezentarea modului de lucru cu unităţi de măsură în Mathcad Utilizarea unităţilor de măsură în calculul diferenţial şi integral 8 Utilizarea unităţilor de măsură în documentele Mathcad _______________________________ 131 8...........1 8........................................

8-1 – Verificarea omogenităţii dimensionale şi realizarea de transformări În MathCAD. adică 1. va produce rezultatul corect.7 metri. Fig. este posibilă eliminarea operatorului de înmulţire (*). Astfel. ataşarea unei UM de o variabilă sau constantă. b.1 Mod de lucru Posibilitatea de a lucra cu unităţi de măsură este una din facilităţile extrem de utile ale MathCAD. unităţile de măsură sunt de fapt nişte variabile cu valori prestabilite. Execută toate transformările pe care o expresie ce conţine UM le presupune. a. MathCAD realizează în afara calculelor şi următoarele două acţiuni : • • Verifică dacă expresiile sunt omogene din punct de vedere dimensional. respectiv 2*m-30*cm= Trebuie totuşi precizat că în Mathcad 2001. Aceasta prezintă dincolo de avantajele care ţin de aspectul şi inteligibilitatea unui document.Capitolul 8 8. Din acest motiv.a). După cum un calcul ca cel din figura 8-1. unde din 2 metri se scad 30 de centimetri. şi alte două avantaje de o cu totul altă natură. Astfel un calcul ca cel de mai jos. când se lucrează cu unităţi de măsură (UM). Cum aceste nume nu coincid întotdeauna cu cele româneşti. Acest mod de lucru presupune în mod evident cunoaşterea numelor corecte (pentru MathCAD) ale UM. Astfel cele două expresii de mai sus au fost obţinute cu secvenţele : 2*kg-3*liter=.b. evident incorect din punct de vedere dimensional (“liter” înseamnă în MathCAD litru) va produce mesajul de eroare (vezi figura 8-1. se face înmulţind variabila sau constanta cu numele UM. se 132 . atunci când o valoarea numerică este urmată imediat de numele unei unităţi de măsură.

una cu numele mărimilor fizice (Dimension) şi una cu numele unităţilor de măsură propriu-zise (Units). 8-2 – Inserare de unităţi de măsură 8. Selectarea unei mărimi fizice. un 133 . sau a unor multipli sau submultipli unor unităţi de măsură existente. În figura 8-3 este prezentat exemplu de definire a unui multiplu de unitate de măsură. procesul este extrem de simplu. în fereastra Insert Unit există două liste. Rezultatul va fi apariţia ferestrei Insert Unit. va determina apariţia în lista Units a unităţilor de măsură disponibile în MathCAD specifice mărimii fizice considerate.Utilizarea unităţilor de măsură în documentele Mathcad poate utiliza câmpul Insert ⇒ Unit… (se poate folosi şi shortcut-ul CTRL + U).2 Definirea de unităţi de măsură Este posibilă şi definirea de noi unităţi de măsură. Cum unităţile de măsură în Mathcad sunt de fapt nişte variabile. care va insera în document numele UM selectate. Fig. prezentată în figura 8-2. Atenţiune.

rezultatul se obţine iniţial în kg*m/sec2 (adică Newtoni). se va scrie “km”. rezultatul va fi cel de mai jos.3 Modificarea unităţilor de măsură în care este exprimat un rezultat Un rezultat care are ataşată o unitate de măsură (rezultat al unei expresii care conţine UM). după apăsarea tastei F9. poate fi exprimat fără a mai face odată calculul în alte UM. Astfel dacă întrun document a fost definită o variabilă cu numele „m”. 134 . 8. 8-3 – Definirea de noi unităţi de măsură. nu se va mai putea utiliza unitatea de măsură metru. Se observă că la sfârşitul rezultatului apare un marcator.Capitolul 8 ⇒ Fig. oriunde dedesubtul definirii variabilei „m”. În exemplul din figura 8-4. în care utilizatorul poate “scrie” numele unei UM. în acest marcator. multipli sau submultipli de UM Se atrage atenţia asupra posibilelor conflicte ce pot apărea atunci când se folosesc nume de variabile identice cu numele unor unităţi de măsură definite. cu prescurtarea „m”. Dacă de exemplu.

valoarea se va împărţi la 1000. Uneori se doreşte eliminarea unităţilor de măsură ce „însoţesc” o variabilă. Dacă în placeholder-ul din dreapta rezultatului se scrie “liter”-şi se apasă F9 rezultatul afişat va fi : a. astfel încât rezultatul să rămână cel corect.Utilizarea unităţilor de măsură în documentele Mathcad a. 8-4 – Modificarea unităţilor de măsură în care este exprimat un rezultat Se vede că dacă rezultatul iniţial s-a “înmulţit” cu 1 km. Eliminarea temporară a unităţii de 135 .Modificarea unităţilor de măsură în care este exprimat un rezultat Dacă se şterge cuvântul “liter”. Rezultatul este exprimat iniţial în metri cubi. se va reveni la rezultatul iniţial. 8-5 . Un alt exemplu ar putea fi calculul din figura 8-5. Fig. exprimat în metri cubi. b. deci el este exprimat acum în kg*km/sec2. În figura 8-6. Fig. este prezentat un astfel de exemplu. b.

unde argumentul este numele variabilei de care se „desprinde” temporar o anumită unitate de măsură. 8-6 – Eliminarea temporară a unei unităţi de măsură ataşată unei variabile 8. se face prin utilizarea casetei de dialog Math Options (meniul Math ⇒ Options).4 Alegerea sistemului de unităţi de măsură utilizat şi controlul formatului de afişare a rezultatelor cu unităţi de măsură Alegerea sistemului de unităţi de măsură în care vor fi afişate rezultatele calculelor cu unităţi de măsură.Capitolul 8 măsură se face prin împărţirea la funcţia predefinită UnitsOf(.). secţiunea Unit System (vezi figura 8-7). Fig.. 136 .

fie în nume de unităţi de măsură. 8-7 – Alegerea sistemului de unităţi de măsură Rezultatele calculelor cu UM. este posibilă redefinirea numelor mărimilor fizice de bază.Utilizarea unităţilor de măsură în documentele Mathcad Fig. 137 . În cazul în care se optează pentru afişarea rezultatelor în nume de mărimi fizice (dimensions). Acest lucru se poate face prin scrierea în casetele de editare ale secţiunii Dimensions a casetei de dialog Math Options (vezi figura 8-8). Alegerea modului de afişare se face din secţiunea Dimensions a casetei de dialog Math Options. se pot exprima fie în nume de mărimi fizice.

Fig. 8-8 – Schimbarea numelor mărimilor fizice de bază În figura 8-9 acelaşi rezultat este exprimat în nume de mărimi fizice.Capitolul 8 Fig. b. 8-9 – Rezultate exprimate în nume de mărimi fizice sau în nume de UM 138 . respectiv în nume de unităţi de măsură. a.

Utilizarea unităţilor de măsură în documentele Mathcad Alte elemente legate de formatarea rezultatelor cu unităţi de măsură au fost prezentate în § 3.7. În figura 8-10. 8-10 – Unităţi de măsură în calcul integral şi diferenţial 139 . a.5 Utilizarea UM în calculul integral sau diferenţial Este posibilă utilizarea UM în calculul integral sau cel diferenţial. Fig. sunt prezentate astfel de exemple. b. 8.

.

..................160 Inserarea unei componente de tip citire (Read).............................................................6 fişiere 9.....3 9....................................... ......................................................142 Inserarea unei componente MATLAB......................................... scriere (Write) din/în .........151 Inserarea unei componente de tip Input Table ... Obiective • Prezentarea modalităţilor prin care se poate face schimp de informaţie între Mathcad şi alte aplicaţii Windows: Excel Matlab Bază de date Prezentarea modului de lucru cu fişiere de date în Mathcad o o o • 9 Schimb de informaţie între Mathcad şi alte aplicaţii.....................................1 9...9 Schimb de informaţie între Mathcad şi alte aplicaţii.. _______________________________ 141 9.............................................................163 Funcţii predefinite pentru citirea/scrierea din/în fişiere de date ASCII ...........................5 9...............................4 9...159 Inserarea unei componente de tip control MathSoft .........................147 Inserarea unei componente de tip bază de date .7 Inserarea unei componente Excel..166 Număr de pagini 23 141 ........2 9.................................

o matrice sau un şir de caractere şi poate primi aceeaşi categorie de date. Cât priveşte schimbul de informaţie prin intermediul fişierelor de date. FoxPro. 9. dar poate să şi transmită date spre Mathcad. este posibilă fie utilizarea inserării unei componente de tip scriere/citire în/din fişier. sau a unor variabile de ieşire (output variables). Componentele ce pot fi conectate la Mathcad sunt: • • • • • • • Axum – pentru realizarea de reprezentări grafice AXUM Excel MATLAB Baze de date (Access. Componentele sunt obiecte OLE (Object Linking and Embedding) şi permit accesarea din „interiorul” Mathcad a unor funcţii şi capabilităţi specifice aplicaţiei (componentei) incluse. O componentă poate primi date de la Mathcad. prin inserarea de „componente” în documentele Mathcad.1 Inserarea unei componente Excel Se va simula în paragrafele ce urmează inserarea unui obiect Excel într-un document Mathcad. „Tranzacţia” se face prin intermediul unor variabile de intrare (input variables). din dorinţa de a se menţine compatibilitatea). în mod dinamic. Iniţial structura documentului Mathcad este simplă şi nu conţine decât 142 . Acest lucru este posibil principial în două moduri: • • prin intermediul fişierelor de date (ASCII sau nu). Excel) SmartSketch . realizând astfel o legătură permanentă între „componentă” şi documentul Mathcad „gazdă”.pentru realizarea de desene parametrizate S-PLUS Graph – pentru crearea de grafice S-PLUS S-PLUS Script – pentru accesarea mediului de programare S-PLUS Mathcad poate „transmite” unei componente un scalar.Capitolul 9 Mathcad poate schimba informaţii cu alte aplicaţii. fie prin utilizarea unor funcţii de acces la fişiere (păstrate de la versiuni anterioare. un vector.

iniţial nu se găseşte nimic. 143 . Acolo vor fi „aduse” valorile din documentul Mathcad. 9-2 – Structura iniţială a documentului Excel Paşii ce trebuie parcurşi pentru inserarea componentei Excel sunt următorii: 1. respectiv TVA).Schimb de informaţie între Mathcad şi alte aplicaţii. Adaos şi respectiv TVA (vezi figura 9-1). în caseta Excel Setup Wizard. Fig. Se alege din lista din caseta de dialog Component Wizard componenta Excel. definirea a două variabile. 2. Insert ⇒ Component. 9-1 – Structura iniţială a documentului Mathcad Se observă că în coloanele D şi E (Adaos. se alege numele fişierului [Excel] cu care se stabileşte legătura (vezi figura 9-3). Valorile din cei doi vectori vor fi transmise unui document Excel existent (vezi figura 9-2). Dacă fişierul Excel există deja (cum este cazul în exemplul de faţă). Fig.

Tot acum se mai stabilesc zonele din documentul Excel în care vor fi transferate variabilele de intrare.Capitolul 9 Fig. respectiv de unde se vor prelua variabilele (sau variabila) de ieşire (vezi figura 9-4). 9-3 – Alegerea fişierului Excel cu care se stabileşte legătura 3. respectiv numărul de variabile de ieşire (transmise de Excel către Mathcad (Outputs). Etapa cea mai importantă presupune stabilirea numărului de variabile de intrare pentru (în) componenta Excel (Inputs). 144 .

9-5 – Obiectul Excel în prima fază de inserare în documentul Mathcad 145 . După apăsarea butonului Finish. Fig.Schimb de informaţie între Mathcad şi alte aplicaţii. Fig. în documentul Mathcad va apărea un obiect ca cel din figura 9-5. 9-4 – Stabilirea numărului de variabile de intrare/ieşire şi a zonelor din Excel unde acestea vor acţiona 4.

evaluată de altfel chiar sub obiectul Excel. Fig. Marcatorii se vor completa cu numele variabilelor de intrare. 9-6 – Completarea numelor variabilelor de intrare/ieşire 6. 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 conţinutul variabilelor Mathcad omonime şi că spre Mathcad a fost transferat conţinutul coloanei Pret de vanzare. respectiv ieşire (vezi figura 9-6). 146 . „Transferul” s-a făcut „în” variabila [Mathcad] Pret.Capitolul 9 5.

Fig. 9-7 – Forma finală (evaluată) a componentei Excel 9. Cele 3 valori transmise MATLAB vor deveni argumente ale funcţiei logspace. presupune parcurgerea următoarelor etape: 147 . 9-8 – Structura iniţială a documentului Mathcad Inserarea unei componente de tip MATLAB. care creează un vector ale cărui elemente sunt egal spaţiate pe o scară logaritmică.Schimb de informaţie între Mathcad şi alte aplicaţii. Fig. Structura iniţială a documentului Mathcad este cea din figura 9-8.2 Inserarea unei componente MATLAB Pentru exemplificare se consideră un exemplu care transmite aplicaţiei MATLAB 3 variabile (de tip scalar) şi primeşte de la acesta valoarea unei variabile de tip vector.

Tot implicit se consideră că există o singură variabilă de intrare (input) şi tot una singură de ieşire (output). Se execută clic dreapta pe obiectul inserat şi se punctează câmpul Edit Script…. se punctează pe câmpul Close and Return şi se răspunde cu Yes la întrebarea Apply changes? 5.[MATLAB]. se va obţine inserarea în documentul Mathcad a uni obiect ca cel din figura 9-9. Odată reîntorşi în mediul Mathcad este obligatorie setarea corectă a numelor variabilelor de intrare şi respectiv de ieşire. out1.….. in1. respectiv Add Output Variable (este uşor de dedus funcţionalitatea 148 . În fereastra Script Editor [MATLAB]. respectiv out0. Setarea numelor variabilelor se face prin executarea unui clic dreapta pe obiectul MATLAB inclus şi alegerea câmpului Properties. se scrie secvenţa din figura 9-10. 9-9 – Prima fază a inserării unei componente MATLAB 2. in2.Capitolul 9 1. 3. Fig. 9-10 – Generarea secvenţei MATLAB 4. Din meniul File (al casetei de dialog Script Editor .…. Modificarea acestei stări se poate face prin utilizarea câmpurilor Add Input Variable. Prin utilizarea câmpului Insert ⇒ Component ⇒ MATLAB. Aceasta pentru că implicit acestea se numesc in0. Fig.

Acest lucru se face prin utilizarea câmpului Properties. b. a. În cazul de faţă se va utiliza de două ori câmpul Add Input Variable.Schimb de informaţie între Mathcad şi alte aplicaţii.a. Schimbarea numelor variabile de ieşire se face aşa cum se vede în figura 9-12. 9-12 – Modificarea numelor variabilelor de intrare/ieşire 149 . se realizează efectiv schimbarea numelor implicite ale variabilelor de intrare/ieşire. Fig. câmpurilor Remove Input Variable. ceea ce va conduce la caseta de dialog din figura 9-12. sau Remove Output Variable). 9-11 – Adăugarea de variabile de intrare După adăugarea a două variabile de intrare. astfel că se va ajunge la o situaţie ca cea din figura 9-11.b. Fig.

Capitolul 9 6. aşa cum se poate vedea în figura 9-13. Apăsarea butonului OK. unde se va realiza completarea marcatorilor cu numele variabilelor. determină revenirea în mediul Mathcad. Fig. Un simplu clic în afara obiectului MATLAB. sau apăsarea tastei F9. 9-14 – Evaluarea variabile de ieşire Răspunsul îl reprezintă efectul utilizării în mediul MATLAB a funcţiei logspace şi transmiterii către Mathcad a ceea ce această funcţie întoarce. O eventuală evaluarea a variabilei vector. 7. va determina actualizarea componentei MATLAB şi implicit transferul de variabile între aplicaţii. 150 . 9-13 – Completarea numelor de variabile 8. Fig. va produce efectul din figura 9-14.

„spre” o bază de date de un anumit tip (vezi figura 9-16).o legătură . Activarea Control Panel şi deschiderea aplicaţiei Administrative Tools. 2. Trebuie subliniat că pentru inserarea unei componente de tip ODBC într-un document Mathcad. cu structura din figura 9-15. trebuie ca independent de acest proces să fie parcurse următoarele etape: 1. Fig. De altfel acest proces este imperios necesar ori de câte ori se încearcă accesarea unei baze de date dintr-o altă aplicaţie decât cea de tipul celei în care aceasta a fost creată.mdb şi care conţine un singur tabel. numit chiar Tabel1. permite interogarea unei baze de date al cărei driver suportă SQL (Structured Query Language). În această categorie intră de exemplu Microsoft Access. 151 . În caseta de dialog ODBC Data Source Administrator.3 Inserarea unei componente de tip bază de date Inserarea unei componente de tip ODBC (Open Database Connectivity). Pentru ilustrarea tehnicii de inserarea a unei componente de tip ODBC.Schimb de informaţie între Mathcad şi alte aplicaţii. se alege o sursă de date (o bază de date). este obligatorie parcurgerea unei faze de configurare ce se realizează cu ajutorul componentei Administrative Tools din Control Panel. 3. Lansarea aplicaţiei Data Sources (ODBC). 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. sau FoxPro. sau se defineşte una nouă (este vorba de fapt despre un „link” . 9. se va porni de la o bază de date Access „stocată” în fişierul tabel_centralizator.

se va ajunge la caseta de dialog ODBC Microsoft Access Setup (vezi figura 9-18). Fig. se furnizează un text descriptiv (Description) şi se poate trece în caseta de dialog Set Advanced Options (butonul Advanced). În eventualitatea ca s-a optat pentru o nouă sursă. de unde se alege de fapt driver-ul (programul) care permite legătura la baza de date propriu zisă. de unde se alege baza de date cu care se va stabili legătura (butonul Select din secţiunea Database). care conduce la caseta de dialog Create New Data Source (vezi figura 9-17). După alegerea driver-ului şi apăsarea butonului Finish. se va folosi butonul Add. se dă un nume sursei de date (Data Source Name). 9-16 – Definirea unei noi surse de date 152 . 5. unde se precizează numele unui utilizator şi o parolă pentru accesarea ulterioară a bazei de date (vezi figura 9-19).Capitolul 9 4.

6. Procesul se încheie prin apăsarea butoanelor OK până la ieşirea din procesul de configurare a bazei de date (a legăturii la o bază de date). 9-17 – Alegerea driver-ului (programului) ce va permite accesul la baza de date 153 . Fig.Schimb de informaţie între Mathcad şi alte aplicaţii.

9-18 – Alegerea bazei de date propriu zise (a fişierului) Fig.Capitolul 9 Fig. 9-19 – Stabilirea unui utilizator şi a unei parole de acces ulterior 154 .

Pentru aceasta se vor realiza următoarele acţiuni: 1. 155 . 9-20 – Selectarea legăturii la baza de date. Din caseta de dialog ODBC IO Wizard (vezi figura 9-20). poate să înceapă includerea într-un document Mathcad a unei componente de tip ODBC. se alege legătura spre baza de date din lista Select ODBC data source (vezi şi figura 9-18) şi se precizează numele de utilizator (Username). se alege tabelul din componenţa bazei de date ce va fi interogat. Din caseta de dialog File Read or Write Wizard (vezi figura 9-21). 2. După ce procesul de configurare a legăturii la o baza de date s-a încheiat. precizarea utilizatorului şi parolei 3. respectiv (Password).Schimb de informaţie între Mathcad şi alte aplicaţii. parola de acces Fig. În exemplul considerat baza de date conţine doar un tabel (numit chiar Tabel1). Din meniul Insert ⇒ Component se alege ODBC Read.

În documentul Mathcad se va insera o secvenţă de tipul celei din figura 9-23. 9-22 – Stabilirea câmpului (câmpurilor) ce vor fi transmise Mathcad 5.a.Capitolul 9 Fig. Din lista de câmpuri se va selecta (alege) câmpul (sau câmpurile) ce vor fi „comunicate” Mathcad-ului (vezi figura 9-22). Fig. sau de intrare pentru Mathcad (vezi figura 9-23.b). 9-21 – Alegerea tabelului din baza de date 4. 156 . Este obligatorie completarea numelui variabilei de ieşire (pentru baza de date).

O evaluare a variabilei (A în exemplu). Fig. cu ajutorul căreia se poate impune o clauză de tip WHERE. Astfel dacă se execută un clic dreapta pe pictograma ODBC Read şi se accesează câmpul Properties…. ceea ce a condus la o evaluare a variabilei de ieşire (A). 9-24 – Evaluarea variabilei de ieşire Este posibilă şi filtrarea datelor prin utilizarea unei clauze SQL de tip „where”. ca în figura 9-26. va produce un rezultat ca cel din figura 9-24. 9-23 – Definirea variabilei în care vor fi extrase datele din baza de date 6. În exemplul considerat s-a impus o condiţie de tipul Salariul > 8000000. se poate ajunge la secţiunea Advanced a casetei de dialog din figura 9-25.Schimb de informaţie între Mathcad şi alte aplicaţii. 157 . a. Fig. b.

9-25 – Impunerea unei clauze WHERE Fig.Capitolul 9 Fig. 9-26 – Evaluarea precedată de o filtrare a datelor 158 .

Iniţial sunt afişate numai două linii şi două coloane ale tabelului. dar prin utilizarea grupului de patru săgeţi sus. jos. 3. sau eventual citirea dintr-un fişier de date de unul din tipurile enumerate în § 9.Citirea unui tabel creat ad-hoc Dacă se doreşte citirea dintr-un fişier de date. 9-27 . Fig. 9.4 Inserarea unei componente de tip Input Table Este posibilă „scrierea” într-o variabilă Mathcad a conţinutului unui tabel (asemănător cu unul generat în Excel) creat „ad-hoc”. Se va ajunge la o casetă de dialog de tip Read From File. 159 . Se execută clic stânga în oricare dintre celulele tabelului şi se completează conţinutul. cu ajutorul căreia se selectează fişierul din care se va face citirea. Se inserează o componentă de tip Input Table (Insert ⇒ Component ⇒ Input Table). este posibilă accesarea (şi completarea) altor zone ale tabelului. după parcurgerea primei etape din cele patru descrise. 2. Dacă se doreşte citirea într-o variabilă Mathcad a conţinutului unui tabel creat ad-hoc se va proceda astfel: 1. stânga. dreapta . 4.6.Schimb de informaţie între Mathcad şi alte aplicaţii. Se completează în colţul din stânga sus numele variabilei în care se scrie tabelul (vezi figura 9-27). se execută clic dreapta pe zona tabelului şi din meniul pop-up se selectează câmpul Import… .

prin executarea aceluiaşi clic dreapta. Aceste elemente [de control] funcţionează similar cu cele din categoria Microsoft Forms Controls. ale cărei câmpuri au semnificaţii uşor de înţeles. 9-28 – Formatarea tabelelor de tip Input Table 9. ceea ce va conduce la caseta de dialog din figura 9-28. Fig. urmat de opţiunea Properties.Capitolul 9 În ambele cazuri. este posibilă formatarea tabelului. 160 .5 Inserarea unei componente de tip control MathSoft Este posibilă inserarea în documentele Mathcad a aşa numitelor „elemente de control” de tipul celor enumerate şi reprezentate în figura 9-29.

Utilizarea „la maxim” a acestor obiecte presupune cunoştinţe de programare într-un limbaj de tipul Java sau Visual Basic. dar şi de tip input (de intrare).Schimb de informaţie între Mathcad şi alte aplicaţii. Se recomandă prudenţă în ataşarea de mai multe variabile de un element de control şi oricum se face precizarea că într-o astfel de situaţie este obligatorie folosirea facilităţilor de programare. Astfel se vor putea asocia controalelor evenimente complexe şi dezvolta aplicaţii personalizate de mare complexitate. Este posibil ca de un element de control să fie legate mai multe variabile. Analiza figurii 9-29 pune în evidenţă că de orice control se leagă numele unei variabile Mathcad. În funcţie de tipul elementului de control şi a acţiunii exercitată asupra lui. nu numai de ieşire (output) – cum este cea implicită. Check Box ListBox PushButton RadioButton Slider TextBox Fig. Î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. variabila va lua o anumită valoare. plasată în colţul din stânga sus. 161 . 9-29 – Elemente de control Trebuie subliniat că aceste componente mai fac parte din categoria aşa numitelor „Scriptable Object Component” (SOC).

În fine se mai atrage atenţia asupra faptului că utilizarea facilităţilor de configurare (programare) ataşate obiectelor de tip elemente de control presupune instalarea unuia din limbajele de programare de tip script pe care le poate utiliza Mathcad. cu ajutorul căruia se poate controla aspectul şi comportarea obiectului.Capitolul 9 Un element de control odată inserat. Având în vedere complexitatea subiectului.microsoft. urmând ca cei interesaţi să aprofundeze pe cont propriu domeniul.com/scripting În figura 9-30 este prezentat un exemplu simplu de utilizare a unor elemente de control Mathcad. 9-30 – Exemplu de utilizare a elementelor de control Mathcad 162 . Ambele se pot obţine gratuit de la adresa: http://msdn. nu se va insista prea mult asupra acestui tip de componente. folosind tehnica clicului dreapta se poate face apel la câmpul Properties. Fig. Acestea sunt: Microsoft VBScript (Visual Basic Scripting Edition) şi Microsoft JScript (o implementare a JavaScript).

În funcţie de aceste date. Fig. precum şi numele acestui fişier şi poziţia sa în arborele de directoare (vezi figura 9-33).Schimb de informaţie între Mathcad şi alte aplicaţii. 163 . Aplicaţia porneşte de la precizarea numelui unei persoane şi a vârstei. vârsta şi totalul sporurilor pentru persoana al cărei nume a fost precizat iniţial. scriere (Write) din/în fişiere Este posibilă scrierea sau citirea în/din fişiere de diverse tipuri. Insert ⇒ Component ⇒ File Read or Write. prin utilizarea componentei de tip File Read or Write. În final toate datele sunt centralizate într-o variabilă de tip vector ce conţine numele. 2. 9-31 – Stabilirea tipului de operaţie ce se va executa 3. Stabilirea tipului de fişier în care se va scrie sau din care se va citi. Inserarea unei astfel de componente se realizează prin parcurgerea următoarelor etape: 1.6 Inserarea unei componente de tip citire (Read). Se mai precizează dacă persoana lucrează într-un mediu periculos. folosind funcţia if se stabilesc sporurile de vârsta şi respectiv de mediu periculos. În partea dreaptă a documentului Mathcad sunt evaluate variabilele legate de elementele de control. Alegerea tipului de operaţie ce se va executa (citire sau scriere) – vezi figura 9-31. 9. Mathcad „ştie” să scrie sau să citească în/din următoarele tipuri de fişiere: • Formatted Text (text formatat).

Excel. Lotus 1-2-3. a unei variabile de tip matrice prezentată în figura 9-33.Capitolul 9 • • • • • • • • Tab Delimited text (text în care câmpurile sunt separate de caractere TAB). 9-32 – Stabilirea tipului de fişier şi a poziţiei în structura de directoare Dacă este vorba de operaţii de citire din fişiere. Mathcad „citeşte” conţinutul fişierelor în variabile de tip matrice. Comma Separated Values (text în care câmpurile sunt separate prin punct şi virgulă). 164 . S-Plus. Quattro Pro. dBase III. Pentru exemplificare se consideră scrierea în fişiere de tip text. Matlab. Fig.

9-33 – Generarea de fişiere de tip text (ASCII) Rezultatele sunt prezentate în figura 9-35. c.Schimb de informaţie între Mathcad şi alte aplicaţii. b. Fig. Fig. a. 9-34 – Fişiere ASCII obţinute cu ajutorul unei componente de tip File Read or Write 165 .

accesul la fişiere de date era posibil prin utilizarea unor funcţii predefinite. va scrie „PESTE” fişierul vechi. Funcţiile de citire/scriere din/în fişiere de date ASCII sunt: • Pentru fişiere nestructurate • WRITE(„nume-fişier”) – scrie într-un fişier nestructurat READ(„nume_fişier”) – citeşte dintr-un fişier nestructurat APPEND(”nume_fişier”) – adaugă date la un fişier nestructurat WRITEPRN(„nume-fişier”) – scrie într-un fişier structurat READPRN(„nume_fişier”) – citeşte dintr-un fişier structurat APPENDPRN(„nume_fişier”) – adaugă date la un fişier structurat Pentru fişiere structurate - Funcţiile de tip scriere obişnuită (WRITE. când se optează pentru fişiere cu extensia *. Spre deosebire de funcţiile WRITE şi WRITEPRN. WRITEPRN) în cazul în care au ca argument numele unui fişier existent în momentul apelării. Primul [tip de fişiere] conţine datele „structurate” (de unde şi numele) pe rânduri şi coloane. Este cât se poate de corect să se scrie matrice în fişiere nestructurate.prn (acestea sunt fişiere structurate). sau *. distrugând complet şi IREMEDIABIL datele din acesta. ceea ce conduce imediat la concluzia că astfel de fişiere sunt destinate stocării de vectori. atunci când au ca argument numele unui 166 .dat (acestea sunt fişiere nestructurate).7 Funcţii predefinite pentru citirea/scrierea din/în fişiere de date ASCII În versiunile mai vechi de Mathcad. funcţiile APPEND şi APPENDPRN. de două tipuri: structurate şi nestructurate. mai precis vectori sau matrice.Capitolul 9 9. astfel că o corespondenţă fişier matrice este imediată. Are sens să se scrie vectori în fişiere structurate. Al doilea tip conţine datele aranjate sub forma unui şir de valori. Dacă fişierul argument nu există în momentul apelării funcţiei. dar va fi imposibilă restaurarea matricei (revenirea la un anumit număr de linii şi coloane). Funcţiile de citire/scriere predefinite corespund componentelor de tip File Read or Write. Nu se puteau scrie în fişiere decât valori numerice. pentru că astfel se va putea face distincţia între vectorii linie şi cei coloană. Astfel de funcţii operau NUMAI cu fişiere text (ASCII). acesta va fi creat.

fişier existent în momentul apelării. APPENDPRN). Se mai face precizarea că în cazul fişierelor structurate este posibil ca fişierul să conţină o primă linie de text (care însă să nu înceapă cu o cifră). fără să le distrugă pe cele existente. În exemplele ce urmează sunt ilustrate câteva ipostaze de utilizare a funcţiilor predefinite de acces la fişiere de date. trebuie să apară singure în membrul stâng al unei relaţii de atribuire. Funcţiile de citire pot fi şi evaluate (după nume se poate insera operatorul de evaluare „=”).Schimb de informaţie între Mathcad şi alte aplicaţii. READPRN) apar în membrul drept al unor relaţii de atribuire. O altă regulă ce trebuie reţinută este că funcţiile de scriere (WRITE. Chestia cu PRNCOLWIDTH şi restul 167 . în vreme ce funcţiile de citire (READ. scriu în continuarea datelor. APPEND. WRITEPRN.

10

Programare în Mathcad

Obiective
• •

Familiarizarea cititorului cu structurile de programare oferite de Mathcad Prezentarea tehnicilor de control a execuţiei programelor

10 Programare în Mathcad________________ 169
10.1 10.2 10.3 10.4 10.5 10.6 Prezentare generală ..................................................................................170 Instrucţiunea de test (if) ...........................................................................173 Instrucţiuni de ciclare...............................................................................175 Controlul execuţiei programelor .............................................................178 Subrutine (program în program) ............................................................182 Recursivitate..............................................................................................183

Număr de pagini

14

169

Capitolul 10

10.1 Prezentare generală
Mathcad dispune de facilităţi de programare, deşi 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 folosiţi decât în „corpul” unor structuri de programare ce fac parte din foile de lucru Mathcad. Programele scrise în Mathcad sunt de tipul funcţiilor utilizate în limbajele de programare avansate (de tip Pascal, C, Fortran etc). Funcţiile create în Mathcad cu ajutorul operatorilor de programare „primesc” de la documentul în interiorul căruia se găsesc date prin intermediul unor variabile argument şi „întorc” spre documentul „gazdă”, rezultatul ultimei evaluări din corpul funcţiei. Î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 defineşte o funcţie care „primeşte” de la documentul Mathcad numele variabilei argument. În corpul funcţiei este calculată suma şi numărul

170

Programare în Mathcad

elementelor pozitive. Ultima instrucţiune din corpul funcţiei calculează media, iar valoarea rezultată este transmisă documentului Mathcad. Odată definită, funcţia poate fi apelată ori de câte 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 secvenţe 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.

Fig. 10-2 – Paleta de butoane Programming

a.

b.

Structurile de programare specifice Mathcad funcţionează după filozofia „clasică”, fapt pentru care nu se vor explica în detaliu elemente ce ţin de logica fiecărei structuri în parte. Pentru aceasta se poate eventual consulta Help-ul Mathcad. Se vor face totuşi câteva observaţii cu caracter general. • În general, definirea de structuri de programare în MathCAD nu se poate realiza decât cu ajutorul butoanelor de pe paleta de programare şi nu prin scrierea directă la prompter +. Este evident că pentru a deveni funcţionale, toate secţiunile de mai sus trebuie sa aibă completate CORECT, toate placeholder-ele (marcatoarele). Toate structurile de programare TREBUIE sa apară, NUMAI în dreapta unei secţiuni de tip Add Line; • Inserarea într-un document MathCAD a unui program trebuie să înceapă deci cu “apăsarea” butonului 10-3. 171 . Primul efect va fi apariţia unei linii verticale

la dreapta căreia se vor găsi două “placeholdere”, ca în exemplul din figura

Capitolul 10

Fig. 10-3 – Marcatori inseraţi de secvenţa 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 iniţiale şi se apasă încă odată pe butonul Add Line. Sub marcatorul selectat se va mai insera unul nou. Procesul poate continua până când se va obţine numărul de marcatoare (linii de program) necesare; • În cadrul programelor [Mathcad] pentru atribuire nu se foloseşte „:=”, ci operatorul • (vezi figura 10.2);

Variabilele din corpul unui program [Mathcad] au regim de variabilă locală, deci se poate folosi acelaşi nume de variabilă atât în corpul unui program cât şi în documentul [Mathcad] care conţine programul, fără să se producă nici o confuzie. Cu toate acestea într-un program Mathcad se poate face referire la o variabilă sau o funcţie definită anterior în documentul Mathcad – vezi figura 10-4;

Fig. 10-4 – Variabile locale
Se poate observa că în definirea funcţiei f(x), corpul funcţiei „recunoaşte” variabila a ce „vine” din documentul Mathcad şi că în cazul funcţiei g(y), variabila a ia în corpul funcţiei o valoare ce nu se „simte” în documentul gazdă.

172

10. sau la o valoare pozitivă (echivalentul numeric al lui FALSE este orice valoare negativă) – vezi figura 10-6.a). Se va obţine rezultatul din figura 10-4. mai jos sunt prezentate câteva exemple: b. Expresia din stânga cuvântului cheie if este evaluată numai dacă expresia (condiţia) din dreapta lui if este evaluată „TRUE”. După definirea funcţiei. se scrie cuvântul cheie expand. Se tastează F9. cu observaţia că nu pot fi evaluate simbolic secvenţele ce conţin declaraţiile return şi on error.Programare în Mathcad • Secvenţele de program Mathcad pot conţine şi evaluări simbolice. 3. Fig. a. În marcatorul ce apare (vezi figura 10-5. se tastează CTRL+SHIFT+. pentru evaluare se vor parcurge următorii paşi: 1. (ceea ce va insera operatorul de evaluare simbolică).b.a. 10-5 – Secvenţă de programare ce conţine elemente de calcul simbolic Pentru ilustrarea tehnicilor de programare în Mathcad. 2.2 Instrucţiunea de test (if) “Clasica” secvenţă „if” funcţionează în context Mathcad în logica bine cunoscută. Programul defineşte structura unui polinom de grad n. 173 . În figura 10-5 este prezenta un program Mathcad ce conţine elemente de calcul simbolic. După ce se scrie f(3).

10. 10-7 – Funcţii definite pe intervale 174 . 10-6 – Secvenţa if b.b. se „apasă’ butonul Add line şi se obţine o secvenţă ca cea din figura 10-6. a. Fig. Fig. În figura 10-7 sunt definite două funcţii cu expresii diferite pe intervale. Cuvântul cheie otherwise se traduce prin „în rest”.Capitolul 10 Dacă se doreşte executarea mai multor instrucţiuni în cazul în care condiţia de după if este evaluată TRUE. mai jos sunt sugerate câteva probleme rezolvate cu ajutorul secvenţei if. după selectarea marcatorului din stânga cuvântului cheie if (vezi figura 10-6.a). Pentru exemplificare.1 Definirea de funcţii pe intervale.2.

3 Buclă FOR cu incrementare neîntreagă Este posibilă proiectarea unei structuri de ciclare utilizând secvenţa for.3.1. 175 . 10-9 .3. Numărul de execuţii poate fi cunoscut (ca în cazul secvenţei for). Fig.3 Instrucţiuni de ciclare Structurile de ciclare permit executarea unei secvenţe de instrucţiuni de mai multe ori. Mai jos sunt prezentate câteva exemple simple de utilizare a unor secvente de ciclare.1.Programare în Mathcad 10. 10.3. dar cu incrementare neîntreagă.3.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.Calculul lui n! 10. În figura 10-10 se poate analiza un astfel de exemplu.1.1 Instrucţiunea for 10.2 Calculul lui n! În figura 10-9 apare un program pentru calculul lui n! Fig. sau nu (ca în cazul lui while). 10-8 – Calcului sumei primelor n numere naturale 10.

Secvenţa while 176 .Capitolul 10 Fig. 10-10 – Buclă for cu incrementare neîntreagă 10. Logica unei construcţii de tip while (vezi fig 10-11) este următoarea: Atâta timp cât „condiţie” este evaluată TRUE sau la o valoare pozitivă. 10-11 . Pentru a se asigura „ieşirea” din bucla while trebuie ca în cadrul instrucţiunilor 1…n să se ajungă la evaluarea FALSE sau la o valoare negativă a condiţiei. vor fi executate instrucţiunile 1…n. Fig.3.1.4 Instrucţiunea while Problema în cazul secvenţelor while este să se asigure „intrarea” în ciclu. dar şi „ieşirea” din acesta.

10.6 “Găsirea” primului element al unui vector mai mare decât o anumită valoare În figura 10-13 este prezentat un program care „găseşte” primul element al unui vector mai mare decât o anumită valoare (prag).3.5 Calculul lui n! Fig.3.Programare în Mathcad Pentru o mai bună înţelegere a utilizării construcţiei while. Fig.1. mai jos sunt prezentate câteva exemple. 10-12 .Calculul lui n! 10.“Găsirea” primului element al unui vector mai mare decât o anumită valoare 177 . 10-13 .1.

Capitolul 10 10.4. Dacă iteraţia nu este conţinută într-o alta. Această logică impune asocierea lui break cu o construcţie if.2 Secvenţa continue Structura de tip continue permite ieşirea „forţată” dintr-o iteraţie. se execută iteraţia de nivel superior următoare. Acţiunea de tip break are loc numai când condiţia din dreapta lui if este evaluată TRUE sau la o valoare strict pozitivă. Calculul lui n! utilizând secvenţa BREAK Fig. se „sare” la următorul pas de iterare de după cel întrerupt. În figura 1015 este prezentat un exemplu de program care utilizează o secvenţă de tip continue pentru a calcula suma elementelor pozitive ale unei matrice.1 Secvenţa break Secvenţa de tip break permite ieşirea „forţată” dintr-o buclă la îndeplinirea unei anumite condiţii.4 Controlul execuţiei programelor 10. este . Dacă aceasta este conţinută într-o alta (iteraţii imbricate). Ca şi în cazul lui break. În figura 178 10-16. 10-14 – Utilizarea secvenţei break Observaţie: Se va nota că pentru scrierea condiţiei din dreapta lui if s-a folosit egalul ce apare şi în structura funcţiei Fiind (CTRL+=). În figura 10-14 se prezintă o variantă de calcul a lui n! cu utilizarea unei secvenţe de tip break. continue se asociază cu o construcţie de tip if.4. 10.

În program se face apel la funcţia predefinită mod. 10-15 – Calculul sumei elementelor pozitive ale unei matrice Fig. la capitolul Programming. care întoarce restul împărţirii primului argument la cel de-al doilea. Fig. 10-16 – Calculul sumei numerelor naturale impare mai mici decât n 179 . Funcţia calculează suma numerelor impare de la 0 la n.Programare în Mathcad reprodus un exemplu ce figurează în modului Quicksheets.

Capitolul 10 10. un program Mathcad „întoarce” rezultatul ultimei evaluări.4 Secvenţa on error Secvenţa on error permite detectarea unor erori de program. 10. a cauzei care a condus la eroare. Ca şi în cazul secvenţelor break sau continue.3 Secvenţa return Aşa cum s-a mai spus. Î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.4. Construcţia return permite ca un program să se întrerupă şi să întoarcă documentului din care face parte altceva decât rezultatul evaluării ultimei linii de program. Construcţia on error permite chiar şi definirea unor mesaje de eroare clare. Rezultatul nu ar fi fost acelaşi dacă s-ar fi inversat între ei indicii i şi j. 10-17 – Stabilirea primului element negativ al unei matrice Se face observaţia că aşa cum e scris programul matricea este parcursă pe coloane. care nu permite o depistare imediată depanarea programelor. return se asociază cu o structură de tip if. care în general ar fi produs întreruperea execuţie acestuia şi trimiterea unui mesaj de eroare general.4. ce fac astfel mai facilă 180 . Fig.

Dacă astfel de elemente nu există. Fig. Se poate observa că este posibilă şi generarea unui mesaj de eroare cât se poate de clar şi care se „produce” numai când are loc împărţirea la zero.Programare în Mathcad În figura 10-18 apare un program care calculează media elementelor pozitive ele unei matrice. se va ajunge la o împărţire cu zero. O astfel de situaţie poate fi „stăpânită” prin utilizarea construcţiei „on error”. 10-18 – Structura on error 181 .

10. ca semn de eroare). cu respectarea regulii de parcurgere a documentelor de către Mathcad (de la stânga la dreapta şi de sus în jos). 10-19 – Funcţia error Este posibilă generarea unui anumit mesaj de eroare şi prin utilizarea funcţiei error. aşa cum se poate vedea mai jos. în figura 10-19.Capitolul 10 Fig. 182 . Diferenţa este că de această dată funcţia nu se va executa.5 Subrutine (program în program) Odată o funcţie definită printr-o secvenţă de programare Mathcad. este posibilă folosirea ei în corpul unui alt program (funcţie). iar mesajul de eroare apare numai atunci când se execută clic stânga pe numele funcţie (colorat în roşu.

să fie definită o condiţie iniţială care să asigure că recursivitatea nu va avea loc la infinit. 10-20 – Recursivitate 183 . Acest lucru este posibil cu respectarea condiţiilor: să existe o definiţie a unei funcţii în raport cu o valoare anterioară a ei. Prima linie a micului program reprezintă condiţia care asigură evitarea recursivităţii la infinit. Fig. În figura 10-20 se poate vedea cum se utilizează recursivitatea.Programare în Mathcad 10.6 Recursivitate Programarea în Mathcad permite recursivitate. adică definirea unei funcţii în raport cu ea însăşi. De menţionat că recursivitatea deşi produce programe mai compacte şi deci mai uşor de urmărit nu este o metodă care asigură o eficienţă de calcul pe măsură. iar a doua [linie] defineşte funcţia în raport cu o valoare anterioară a acesteia.

.

11

Calcul simbolic

Obiective
• •

Familiarizarea cititorului cu facilităţile oferite de Mathcad în domeniul calcului simbolic Prezentarea tehnicilor de evaluare simbolică

11 Calcul simbolic _______________________ 185
11.1 11.2 Prezentare generală ..................................................................................186 Modalităţi de evaluare simbolică.............................................................188

Număr de pagini

21

185

Capitolul 12

11.1 Prezentare generală
Una din cele mai spectaculoase facilităţi ale MathCAD, este posibilitatea de evaluare simbolică a expresiilor. Spre deosebirea de evaluarea obişnuită care produce numai rezultate strict numerice, evaluarea simbolică ştie să opereze cu simboluri, astfel încât rezultatele înseşi ale evaluărilor simbolice conţin simboluri. Acestea sunt nume de variabile, de constante predefinite, sau chiar de funcţii. În figura 11-1 sunt prezentate doar câteva exemple de evaluări simbolice.

Fig. 11-1 – Exemple de evaluări simbolice
Trebuie precizat că în funcţie 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:

186

Animaţie în MathCAD

Fig. 11-2 – Selectarea totală a unei expresii ce se va evalua simbolic
În alte situaţii, se va selecta numai numele unei variabile sau o subexpresie dintr-o expresie, ca în exemplul din figura 11-3, care rezolvă simbolic o ecuaţie 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 vecinătate a variabilei în raport cu care se va face calculul simbolic (aici găsirea soluţiilor ecuaţiei de gradul 2 în x). În general, modul cum se realizează selecţia ce precede calculul simbolic, este în acord logic cu calculul. Este normal ca în cazul rezolvării simbolice a unei ecuaţii să se specifice care să fie variabila care denumeşte necunoscuta, după cum dacă se doreşte factorizarea unei expresii este logic să se selecteze toată expresia (ca în exemplele de mai sus). Asupra acestor chestiuni se va reveni când 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 conţine următorii operatori : • • • Operatorii scalari şi matriceali +, -, *, /, putere (^), radical, conjugat, complex, sumă, produs, derivare, integrare, transpusa şi determinantul unei matrice; Funcţiile trigonometrice, hiperbolice, inversele acestora, logaritmică, exponenţială, Re, Im, erf, mod, max, min, identity, şi eigenvals pentru matrice; Nume de variabile şi constante, inclusiv constantele predefinite π, e, şi simbolul infinit.

187

Capitolul 12

11.2 Modalităţi de evaluare simbolică
11.2.1 Evaluarea cu ajutorul operatorului de evaluare simbolică În cazul evaluărilor simbolice, rolul operatorului „=” este luat de operatorul de evaluare simbolică „→”. Acesta, atunci când este folosit fără altă „indicaţie” explicită, întoarce o versiune simplificată a expresiei (termenul „simplificată” având aici un înţeles foarte larg. În general operatorul de evaluare simbolică se va utiliza ca atare în cazul calculelor [simbolice] de integrale sau diferenţiale, aşa cum se poate vedea în figura 11-4. Operatorul de evaluare simbolică se foloseşte astfel: • • • se selectează expresia de evaluat; se tastează combinaţia de taste CTRL + . (sau se foloseşte 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 utilizării operatorului de evaluare simbolică.

⇒ CTRL +. F9 sau clic stânga în afara expresiei

Fig. 11-4 – Utilizarea operatorului de evaluare simbolică „→”

188

Animaţie în MathCAD

Fig. 11-5 – Operatorul de evaluare simbolică
Pentru evaluări simbolice mai „bine ţintite”, se vor utiliza cuvinte cheie (vezi § 11.2.2). 11.2.2 Evaluarea cu ajutorul operatorului de evaluare simbolică şi a cuvintelor cheie Pentru realizarea de evaluări simbolice de un anumit tip, se recomandă utilizarea următoarei „tehnici”: • • se selectează expresia de evaluat; se tastează combinaţia de taste CTRL + SHIFT + . butonul (vezi figura 11-6); , sau se foloseşte

Fig. 11-6 – Operatorul de evaluare cu cuvânt cheie
• • se ajunge la o situaţie ca cea din figura 11-7.a. În marcatorul necompletat se va scrie un cuvânt cheie (vezi figura 11-7.b); se apasă tasta Enter şi se ajunge la o situaţie ca cea din figura 11-7.c.

a.

b.

Fig. 11-7 – Evaluarea simbolică cu cuvânt cheie

c.

189

Evaluare cu cuvântul cheie complex float. dar nu şi punctul zecimal) a unei expresii. de pe vara de instrumente Symbolic (vezi figura 11-8).Capitolul 12 Pentru evitarea oricăror probleme se recomandă utilizarea butoanelor cu cuvinte cheie. 11-8 – Bara de instrumente Symbolic Cuvintele cheie recunoscute de Mathcad sunt prezentate în tabelul de mai jos. Forţează evaluarea numerică cu m (0≤m≤250) cifre (care includ şi partea întreagă. respective complexă). Fig. Cuvânt cheie complex Efect (semnificaţie) Evaluarea complexă a unei expresii (cu separarea părţilor reală. Exemple: 190 . valoarea implicită a numărului de zecimale este 20.Evaluare cu operatorul . Exemple: . Dacă parametrul m lipseşte. [m] Se observă că în cel de-al doilea caz rezultatul are părţile imaginară şi reală bine separate.

Exemple: expand. atunci subexpresia expr nu va fi afectată de expandare. sau fracţii (care sunt descompuse în sume de fracţii simple).Evaluare cu parametrul expr factor. sau prin utilizarea formulelor trigonometrice sau a funcţiilor inverse) o expresie. Dacă parametrul expr există. simplificări. sau funcţii trigonometrice de sume. var Rezolvă o ecuaţie sau un sistem de ecuaţii. Parametrul var poate fi numele un scalar sau un vector ce conţine necunoscutei/necunoscutelor. Cuvântul cheie factor se mai poate folosi şi pentru transformarea unei sume de fracţii într-o fracţie simplă (această operaţie presupune şi aducerea la acelaşi numitor).Rezolvarea unei ecuaţii 191 . Exemple: . Tot cu ajutorul cuvântului cheie factor se poate realiza descompunerea unui număr întreg în factori primi. [expr] Dezvoltă produsele de sume.Animaţie în MathCAD simplify Simplifică (prin reduceri de termeni. Exemple: solve. Dacă argumentul expr există (el este opţional) în cazul factorizării expresiilor ce conţin radicali factorizarea se va face în raport cu expr. Exemple: .Evaluare fără parametrul expr . [expr] Factorizează (transformă în produse de factori) o expresie.

pentru semnul = se 192 . Expresia sau variabila de =var2 Înlocuieşte toate apariţiile variabilei var1 dintr-o expresie.Rezolvarea unui sistem collect. în raport cu variabila var.…varn.Capitolul 12 . Exemple: sau substitute. cu o înlocuire sunt simbolizate de parametrul var2. var1…varn Ordonează o expresie în ordinea descrescătoare a puterilor variabilelor precizate de var1. Exemple: coeffs.var1 subexpresie sau cu o altă variabilă. var Întoarce sub forma unui vector coeficienţii polinomiali ai expresiei argument.

series.var Transformă o expresie într-o sumă de fracţii simple. Exemple: Dezvoltă în serie de puteri (Taylor sau Laurent) o expresie. scalarii z şi m. semnifică punctul în jurul căruia se face dezvoltarea. Dacă lipsesc. fourier. Parametrul var Exemple: simple. respectiv ordinul de dezvoltare. Rezultatul este o funcţie de forma: +∞ −∞ ∫ f (t ) ⋅ e −iωt dt .var=z. var Calculează transformata Fourier a unei expresii în raport cu variabila var. dezvoltarea se face în jurul punctului 0 într-o serie de ordin 6. Ordinul precizat de parametrul m dă o indicaţie asupra nivelului erorii ce se face prin considerarea unui număr finit de termeni. 193 . Exemple: convert. Argumentele z şi m sunt opţionale. Parametrul var precizează variabila considerată pentru dezvoltarea în m serie.Animaţie în MathCAD va folosi combinaţia de taste CTRL+=.parfrac precizează variabila ce se va considera pentru determinarea fracţiilor . unde f(t) este funcţia pentru care se determină Exemple: transformata Fourier.

în raport cu variabila var.Capitolul 12 invfourier. invlaplace. Rezultatul este o funcţie de forma: ∞ ∫ f (t ) ⋅ e 0 − s ⋅t dt . +∞ laplace. unde F(s) este funcţia pentru care se 2 ⋅ π σ − i∞ Exemple: determină transformata inversă. var Calculează inversa transformării Fourier pentru o expresie. Rezultatul este o funcţie de forma: 1 ⋅ ∫ F ( s ) ⋅ e s⋅t ds . var Calculează inversa transformării Laplace pentru o expresie. var Calculează transformata Laplace a unei expresii în raport cu variabila var. unde F(ω) este funcţia pentru care se 2π −∫ ∞ Exemple: determină transformata inversă. σ + i∞ 194 . Rezultatul este o funcţie de forma: 1 ⋅ F (ω ) ⋅ eiωt dω . în raport cu variabila var. unde f(t) este funcţia pentru care se determină Exemple: transformata.

Pentru câteva detalii suplimentare legate de transformata Z. var variabila var. Rezultatul este o funcţie de forma: 1 2 ⋅π ⋅ i ⋅ ∫ F ( z ) ⋅ z n −1 ⋅ dz . 195 . vezi notele ce urmează imediat după tabelul curent Calculează inversa transformării Z pentru o expresie. Se menţionează că în stânga liniei verticale sunt prezentate semnalele continui de la care s-a plecat. var Calculează transformata Z a unei expresii în raport cu variabila var. reprezintă semnalul discret. Expresia ce suferă efectul evaluării cu cuvântul cheie ztrans. unde f(n) este funcţia pentru care se determină Exemple: transformata. în raport cu invztrans. unde F(z) este funcţia pentru care se C Exemple: determină transformata inversă. Rezultatul este o funcţie de forma: ∑ f ( n) ⋅ z n =0 ∞ −n .Animaţie în MathCAD ztrans.

Şt şi Enc. ≥) Exemple: Transformata Z se foloseşte pentru prelucrarea semnalelor eşantionate (digitale).Capitolul 12 assume constraint Realizează o evaluare simbolică impunând o anumită condiţie explicitată de secvenţa constraint. Deşi ele nu sunt decât rareori identice. Buc. obţinându-se astfel semnalul eşantionat. Sursă de semnal continuu x(t) Eşantionator xT(t) Cuantificator xd(t) Fig. vom considera că semnalul eşantionat şi cel numeric sunt practic identice (ceea ce corespunde unui cuantificator intrare-ieşire cu trepte foarte mici (vezi “Metode în analiza circuitelor electronice” de Mugur Săvescu. ≤. În prima fază se realizează eşantionarea valorilor de pe abscisă (în general timpul). Transformata Z operează cu semnalul numeric. se pot folosi operatorii relaţionali (<. 11-9 . relaţia folosită pentru calculul transformatei Z este : X ( z ) = ∑ x[ n] ⋅ z − n n =0 ∞ 196 . după care se realizează o discretizare a valorilor semnalului (se obţine aşa numitul semnal numeric).. În cadrul acestei secvenţe. Se porneşte de la un semnal continuu. pentru care deci se poate vorbi de un şir discret de valori. din semnalul continuu x(t) Dacă se notează cu x[n] semnalul numeric. 1985). Ed.Circuit de formare a semnalului eşantionat xT(t) şi a semnalului numeric xd(t). >. obţinute în urma unui “traseu” ca cel din figura 11-9.

11-10 . 197 .11.).y.z) se inserează operatorul de evaluare simbolică (sau combinaţia de taste CTRL + . cuvintele cheie nu sunt sensibile la caracteristicile fonturilor (cum este cazul numelor de variabile sau de funcţii . Rezolvarea simbolică a sistemelor de ecuaţii se poate face şi cu ajutorul blocului Given-Fiind. Fig.5. 0 T 2T 3T nT t Fig.Semnal continuu şi semnal eşantionat Se mai face precizarea că deşi sensibile la diferenţa majusculă-minusculă.Animaţie în MathCAD În figura 11-10.vezi § 3. 11-11 – Rezolvarea simbolică a unui sistem folosind blocul Given – Fiind Se atrage atenţia că după scrierea Find(x. Se mai remarcă şi faptul că nu a fost necesară o estimare iniţială a soluţiei. sunt prezentate semnalul continuu şi cel eşantionat. aşa cum se poate vedea în figura 11.

2.Capitolul 12 11. Utilizarea succesivă va permite vizualizarea rezultatelor intermediare. Fig.2. Acesta va determina simplificarea expresiilor trigonometrice ţinând cont numai de relaţiile: sin 2 ( x) + cos 2 ( x) = 1 cosh 2 ( x) − sinh 2 ( x) = 1 11. în vreme ce utilizarea simultană va produce direct rezultatul final.3 Modificatori de cuvinte cheie Pentru calculele simbolice ce fac uz de cuvintele assume şi simplify este posibil un „reglaj fin” al evaluării prin folosirea aşa numiţilor modificatori de cuvinte cheie. 198 . 11-12 – Modificatori de cuvinte cheie Se mai face precizarea că pentru cuvântul cheie simplify. Pentru înţelegerea modului de funcţionare a modificatorilor se va urmări figura 11-12.4 Utilizarea succesivă sau simultană a mai multor cuvinte cheie Este posibilă şi folosirea succesivă sau simultană a mai mult de un cuvânt cheie pentru evaluările simbolice. se mai poate folosi modificatorul trig.

2 Utilizarea simultană a mai multor cuvinte cheie Dacă rezultatele intermediare nu interesează.. fie folosind bara de instrumente Symbolic).Animaţie în MathCAD 11.2. Se scrie expresia de evaluat. Se face clic stânga pe rezultat şi se inserează încă odată operatorul ajunge la: . Se inserează operatorul de evaluare simbolică (fie cu ajutorul combinaţiei de CTRL + SHIFT + . 2. Se 5. Se va ajunge la: 4. Se pot insera în continuare noi cuvinte cheie. Modul de operare este următorul: 199 .2. În marcatorul liber se completează noul cuvânt cheie. Se apasă ENTER pentru obţinerea primului rezultat.1 Utilizarea succesivă a mai multor cuvinte cheie Tehnica de lucru pentru întrebuinţarea succesivă a mai multor cuvinte cheie este următoarea: 1. adică (în cazul exemplului prezentat): 7.4. Se poate ajunge la: 6. 11.4. Se apasă ENTER pentru obţinerea noului rezultat. Se va ajunge la o situaţie de tipul celei de mai jos: 3. se poate ajunge direct la cel final prin utilizarea simultană a mai multor cuvinte cheie.

Se ajunge la: 4. 2. • Evaluările simbolice realizate cu ajutorul meniului Symbolic nu se actualizează automat. Se inserează operatorul de evaluare simbolică cea de mai jos: . spre deosebire de situaţia în care se folosesc cuvinte cheie. Acestea sunt: • Evaluările simbolice realizate cu ajutorul meniului Symbolic nu verifică dacă variabilele sau funcţiile din expresia de evaluat au fost definite anterior. Se poate continua cu inserarea de noi cuvinte cheie. 200 . Se ajunge la o situaţie ca 3. urmând ca Mathcad-ul să înlocuiască în expresie variabilele sau funcţiile anterior definite cu valorile lor în momentul evaluării simbolice (există două excepţii.Capitolul 12 1. respectiv când variabila e de tip şir de valori). Se scrie expresia de evaluat. când o variabilă a fost definită recursiv. Se scrie al doilea cuvânt cheie: 5. sau se apasă ENTER pentru obţinerea rezultatului final: 11. .5 Evaluarea cu ajutorul meniului Symbolics Există două diferenţe majore între utilizarea meniului Symbolic sau a cuvintelor cheie pentru realizarea de evaluări simbolice.2. caz în care această verificare are loc. Se execută încă odată combinaţia de taste CTRL + SHIFT + .

Expresie Câmp din meniul Symbolic Rezultat 1 Fig. prin posibilitatea de a selecta o subexpresie sau o variabilă din componenţa expresiei de evaluat [simbolic] se pot realiza evaluări simbolice mai „nuanţate”. În cazul meniului [Symbolic]. Se execută clic stânga pe câmpul din meniul Symbolic dorit. Meniul Symbolic pune la dispoziţia utilizatorului o serie de operatori de evaluare simbolică specializaţi în calcul matriceal (unii din ei sunt disponibili şi în bara de instrumente Symbolic). după caz). sau o variabilă.Animaţie în MathCAD Modul de lucru pentru evaluările simbolice realizate cu ajutorul meniului Symbolic este următorul: • • Se selectează expresia (o subexpresie. Acest mod de lucru mai pune în evidenţă o deosebire între cele două modalităţi de evaluare simbolică. 11-13 – Evaluări simbolice 201 . În figurile 11-13 … 11-20 sunt prezentate câteva exemple de calcul simbolic utilizând meniul Symbolic.

11-14 – Calcul integral şi diferenţial simbolic Expresie Câmp din meniul Symbolic Rezultat Fig.Capitolul 12 Expresie Câmp din meniul Symbolic Rezultat Fig. 11-15 – Transformarea în fracţii simple 202 .

Animaţie în MathCAD Expresie Câmp din meniul Symbolic Rezultat Fig. 11-17 – Calculul simbolic al valorilor proprii Expresie Câmp din meniul Symbolic Rezultat Fig. 11-16 – Determinarea coeficienţilor polinomiali Expresie Câmp din meniul Symbolic Rezultat Fig. 11-18 – Calculul simbolic al determinantului unei matrice 203 .

De altfel acest operator se poate folosi şi pentru scindarea pe mai multe rânduri a unei expresii. 11-20 – Prelucrarea suplimentară a rezultatului evaluării unei inegalităţi c. a. 11-19 – Evaluarea simbolică a unor inegalităţi Rezultatul obţinut la evaluarea celei de a doua inegalităţi se poate încă prelucra. Se va proceda astfel: 204 . aşa cum se poate vedea în figura 11-20. b. Fig. Astfel de situaţii pot fi rezolvate prin utilizarea operatorului de scindare a unei expresii pe două (sau mai multe) rânduri.Capitolul 12 Expresie Câmp din meniul Symbolic Rezultat Fig. evaluările simbolice produc rezultate „stufoase”. De multe ori. care ocupă mult spaţiu (mai ales pe direcţie orizontală).

6 Controlul formatului rezultatelor simbolice Poziţia rezultatelor evaluărilor simbolice în raport cu expresia iniţială. atunci când se foloseşte meniul Symbolic. De aici el poate fi inserat printr-un procedeu de tip PASTE în orice aplicaţie. 4.Animaţie în MathCAD 1. Aceste faze sunt ilustrate în figura 11-21. 3. Se apasă tasta DEL. Se apasă simultan tastele CTRL + ENTER. . 11. 2. se stabileşte cu ajutorul câmpului Symbolic ⇒ Evaluation Style…. Se apasă tasta SPACE până când este selectată subexpresia din stânga operatorului în dreptul căruia se va fragmenta expresia.2. În figura 11-22 se poate vedea caseta de dialog ce permite alegerea poziţiei relative între rezultat şi expresia iniţială. 11-21 – Fragmentarea unei expresii (sau a unui rezultat) Uneori rezultatele sunt atât de lungi încât Mathcad propune de la bun început plasarea acestora în CLIPBOARD. Se execută clic stânga pe termenul din expresie care apare imediat înainte de operatorul în dreptul căruia se va fragmenta expresia. 1 2 3 4 Fig. 205 .

206 .Capitolul 12 Fig. 11-23 – Formatarea rezultatelor simbolice În cazul Evaluate In Place expresia iniţială va fi înlocuită de rezultat. 11-22 – Formatarea rezultatelor simbolice În figura 11-23 sunt prezentate efectele diferitelor setări din caseta de dialog Evaluation Style. Fig.

3 Crearea şi rularea unei animaţii......................................................1 12.......................................Animaţie în MathCAD 12 Animaţie în MathCAD Obiective • Familiarizarea cititorului cu tehnicile de realizare de animaţii oferite de Mathcad 12 Animaţie în MathCAD _________________ 207 12..............208 Salvarea unei animaţii ..............................................212 Număr de pagini 6 207 ..........2 12...................211 Rularea unei aplicaţii salvate anterior ..............

Valoarea ce va apărea după semnul egal este iniţial 0. unde egalul este operatorul de evaluare şi se obţine direct prin apăsarea tastei “=”). în care utilizatorul trebuie să precizeze (în casetele de dilalog From şi To) numărul de cadre ce vor forma animaţia (de fapt se precizează domeniul de valori pe care îl parcurge variabila FRAME .pentru că 208 . se prezintă mai jos un exemplu simplu de animaţie a unei regiuni ce realizează evaluarea unei variabile. Vor fi detaliate etapele ce trebuie parcurse pentru realizarea animaţiei.1 Crearea şi rularea unei animaţii În MathCAD pot fi animate regiunile de tip expresie care realizează o evaluare (deci o secvenţă de tip nume_variabilă =. este necesar ca regiunea respectivă să conţină variabila MathCAD numită FRAME (scrisă cu majuscule). Înainte de a adăuga alte cometarii. Se crează regiunea care se va anima.Capitolul 12 12. În exemplul de mai jos. Animaţia presupune o succesiune de cadre (frame). Se defineşte variabila care se va evalua. 3. Pe ecran va apărea fereastra Animate (Vezi figura 12-1). astfel încât în partea dreaptă a relaţiei de definire să apară variabila FRAME (ea poate apărea şi în componenţa unei expresii): a : = FRAME 2. sau nume_funcţie = . redate cu o anumită cadenţă (exprimată în cadre pe secundă). dar şi o secvenţă de evaluare (a =). 1. ea conţine o regiune de tip text (care nu va fi influenţată în nici un fel de animaţie). sau regiunile de tip grafic. Se activează câmpul Animate… din meniul View. În MathCAD pentru a se putea realiza animarea unei regiuni.

Prin acţionarea cursorului . se poate “ajunge” la un anumit .Animaţie în MathCAD implicit în caseta de editare From se găseşte valoarea 0. În exemplul considerat animaţia va avea 9 cadre. Tot în caseta de dialog Animate se precizează şi frecvenţa cu care vor fi redate cadrele (caseta de editare At Frames/Sec). În acest moment se “apasă” butonul Animate. 12-1 – Crearea unei animaţii 4. devine activ. animaţia va începe să ruleze. Fig. 209 . variabila a a fost evaluată iniţial la 0). În caseta Animate în zona centrală se vor derula cadrele (atâtea câte s-au precizat în casetele de editare From şi To). La sfârşitul acestui proces pe ecran va apărea fereastra Playback (vezi figura 12-2). după cum se poate realiza şi parcurgerea cadrelor în ordine inversă (prin acţionarea cursorului de la dreapta la stânga). La “apăsarea” butonului de pe bara de control a ferestrei Playback. Se selectează regiunea de animat prin procedeul drag and drop. cadru prin parcurgerea accelerată a celor care îl preced. După selecţie butonul Animate din caseta de dialog Animate. astfel încât regiunea va fi încadrată de un dreptunghi desenat cu linie întreruptă.

Capitolul 12

Fig. 12-2 – Rularea animaţiei
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 animaţiei (identice cu cele trecute în revistă mai sus).

Fig. 12-3 – Animarea unei regiuni de tip grafic

210

Animaţie în MathCAD

Î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 funcţie de 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 neîntregi în intervalul FRAMEmin/10, FRAMEmax/10.

12.2 Salvarea unei animaţii
Odată creată o animaţie, ea se poate salva ca fişier *.avi. În acest fel animaţia poate fi rulată cu orice aplicaţie care recunoaşte fişierele *.avi sau poate fi rulată în MathCAD fără a fi nevoie să fie recreată. Pentru salvarea unei animaţii se vor parcurge etapele : 1. După ce animaţia a fost creată şi fereastra Animate este încă deschisă, se “apasă” pe butonul Save As. Implicit animaţia este salvată în format *.avi. 2. Animaţiile sunt salvate în format *.avi comprimat (pentru economie de spaţiu disc). Dacă se doreşte salvarea în format *.avi necomprimat sau dacă se doreşte comprimarea cu altă metodă, se acţionează 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 comprimării.

Fig. 12-4 – Alegerea metodei de compresie

211

Capitolul 12

Dacă butonul Configure… este activ, prin acţionarea lui se deschide fereastra Configure (vezi figura 12-5), care permite utilizatorului să controleze parametrul “Temporal Quality Ratio”, care controlează calitatea animaţiei.

Fig. 12-5 – Controlul calităţii animaţiei

12.3 Rularea unei aplicaţii salvate anterior
O animaţie salvată anterior, poate fi rulată în mediul MathCAD prin acţionarea câmpului Playback… din meniul View. Ca efect se va deschide fereastra de rulare a animaţiei, unde prin apăsarea butonului de pe bara de control [a ferestrei

Playback], devine disponibil butonul Open…, ca în figura 12-6 :

Fig. 12-6 – Rularea unei animaţii creată anterior
Prin apăsarea lui se deschide o fereastră de tip Open File, cu ajutorul căreia utilizatorul poate să aleagă fişierul *.avi pe care doreşte să-l ruleze. După alegerea fişierului, fie prin acţionarea butonului Play ( ), fie prin acţionarea cursorului, se

212

Animaţie în MathCAD

poate rula animaţia integral, respectiv cadru cu cadru în direcţia dorită (înainte sau înapoi). Pentru o mai bună înţelegere a subiectului, se recomandă consultarea exemplelor din secţiunea Animations din Quick Sheets.

213

..........................................2 Introducere .................................1 13..............216 Definirea şi utilizarea operatorilor personalizaţi ...................217 Număr de pagini 3 215 ....................13 Operatori personalizaţi Obiective • Familiarizarea cititorului cu facilităţile oferite de Mathcad pentru definirea de operatori particularizaţi (alţii decât cei predefiniţi) 13 Operatori personalizaţi ________________ 215 13......

Mathcad poate crea operatori de tip „infix”. care însă pot fi în număr de unu sau maxim doi. incluse între paranteze şi. alţii decât cei predefiniţi. În cazul operatorilor binari (cu doi operanzi).în cazul operatorilor cu un singur operand (pot fi numiţi şi operatori unari) . Aceştia vor fi numiţi în continuare. Din punctul de vedere al poziţiei operatorului în raport cu operandul . respectiv sufix. respectiv arbore (tree).Capitolul 13 13. 13-1 – Tipuri de operatori personalizaţi 216 . dacă sunt mai multe.1 Introducere Aşa cum se pot defini în Mathcad funcţii. Fig. Din punctul de vedere al terminologiei. altele decât cele predefinite. În cazul operatorilor. Procesul de definire a unui astfel de operator este asemănător cu cel de definire a unei funcţii. separate prin virgulă. tot aşa se pot crea şi operatori. funcţiile au argumente. [operatori] personalizaţi. În figura 13-1 sunt prezentate tipurile de operatori menţionate mai sus (este vorba despre secvenţe de evaluare). locul argumentelor este luat de operanzi.se poate vorbi despre operatori de tip prefix.

Transferul oricărui simbol într-un document Mathcad se face printr-o simplă secvenţă de tip Selecţie simbol ⇒ Copy ⇒ Revenire în documentul Mathcad ⇒ Paste. Se poate observa că faza de definire este identică cu cea utilizată la definirea unei funcţii.2 Definirea şi utilizarea operatorilor personalizaţi Definirea unui operator personalizat este practic identică cu definirea unei funcţii.Operatori personalizaţi 13. 13-2 – Definirea şi utilizarea operatorilor personalizaţi 217 . dar şi modalităţile de utilizare a acestora. sunt prezentate câteva exemple de definire de operatori personalizaţi. Pentru numele operatorului se poate folosi orice simbol adecvat. În Resource Center ⇒ QuickSheets and Reference Tables ⇒ Extra Math Symbols pot fi găsite diverse simboluri matematice ce pot fi utilizate ca „nume” de operatori personalizaţi. Fig. În figura 13-2. cu observaţia că numărul de argumente nu poate depăşi valoarea 2.

.

.............14 Fişiere şablon (template) Obiective • • Prezentarea noţiunii de fişier şablon Însuşirea tehnicilor de creare sau modificare a unui şablon 14 Fişiere şablon (template) ________________ 219 14...220 Crearea unui [fişier] şablon .1 14..............................224 Număr de pagini 5 219 .........2 14...................................................3 Introducere ..............................222 Modificarea unui şablon...........................................................................................................

care transmit noului document o serie de caracteristici de formatare (ce vor fi detaliate mai târziu). ci se „ajunge” în caseta de dialog New (vezi figura 14-2). La deschiderea unui nou document Mathcad. 220 .1 Introducere Ca şi în cazul altor aplicaţii. nu se deschide direct un nou document. dar şi şabloane create de utilizator. cum ar fi cel numit „sablon_1” (vezi figura 14-2).Capitolul 14 14. text. Mathcad utilizează la deschiderea oricărui nou fişier. aşa numitele şabloane. dacă se utilizează câmpul File ⇒ New (vezi figura 14-1). 14-1 – Deschiderea unui document nou Mathcad Lista conţine şabloane predefinite (dar care pot fi modificate de orice utilizator). Fig. cu ajutorul căreia se alege şablonul care va sta la baza noului document. dar şi elemente de conţinut (expresii. antet şi/sau subsol).

stiluri de text (Format ⇒ Style). setările de pagină (File ⇒ Page Setup). setările formatelor de rezultate (Format ⇒ Result). 221 . valorile variabilelor Mathcad. sistemul de unităţi folosit precum şi numele mărimilor fizice de bază. documentul ce se creează preia de la acesta următoarele elemente: • • • • • • • • stilurile de expresii matematice (Format ⇒ Equation). 14-2 – Şabloane existente (predefinite sau create de utilizatori) Odată un şablon ales. vizibilitatea rigletei orizontale (View ⇒ Ruler) şi sistemul de măsurare de pe rigletă. Pentru fixarea sistemului de măsurare de pe rigletă se execută clic dreapta pe rigletă şi se alege sistemul de măsurare dorit din lista ce se va fi deschis (vezi figura 14-3). modul implicit de calcul (automat sau manual).Fişiere şablon (template) Fig.

O altă metodă pentru crearea unui [fişier] şablon este descrisă mai jos (vezi şi figura 14-4). • • Se fac într-un document Mathcad toate setările dorite şi se inserează în acesta toate obiectele dorite. 14. • Se face salvarea în subdirectorul Template (vezi figura 14-4). se specifică în partea de jos a acesteia tipul documentului salvat .Capitolul 14 Fig. Se utilizează câmpul File ⇒ Save As. astfel că una din metodele de creare a unui şablon este chiar schimbarea extensiei unui fişier Mathcad şi copierea (sau) mutarea lui în directorul Template.2 Crearea unui [fişier] şablon Fişierele şablon au în Mathcad extensia *. 222 .Stabilirea sistemului de măsurare pe rigletă Vizualizarea rigletei se face cu ajutorul câmpului View ⇒ Ruler. 14-3 . iar în fereastra cu acelaşi nume.mct).Mathcad Template (*. Structura internă a unui fişier şablon nu diferă cu nimic de a unui fişier Mathcad obişnuit.mct şi în principiu trebuie să se găsească în subdirectorul Template aferent directorului Mathcad (care depinde de modul în care s-a realizat instalarea).

zona marcată cu un cerc). tot se face uz de un fişier şablon.mct] chiar şi dacă nu se foloseşte câmpul File ⇒ New. 14-4 – Salvarea unui fişier ca şablon Trebuie precizat că şi atunci când se creează un fişier nou cu ajutorul butonului . (vezi figura 14-5. se va alege şablonul 223 . Din lista ce se va deschide.mct. Pentru aceasta se va utiliza butonul din dreapta lui dorit. Acesta este Normal. Este posibilă alegerea unui alt şablon [decât normal. chiar dacă nu în mod explicit.Fişiere şablon (template) Fig.

efectele se vor simţi numai în documentele ce se vor crea pe viitor pe baza acelui şablon.3 Modificarea unui şablon Se face pur şi simplu prin deschiderea documentului [şablonului] dorit. fără să existe un efect retroactiv. efectuarea modificărilor şi salvarea fişierului. 224 . s-a creat de fapt un nou şablon. 14-5 – Alegerea unui şablon prin folosirea butonului 14. Evident dacă salvarea se face sub un nou nume.Capitolul 14 Fig. Observaţie: Când se modifică un şablon.

.....228 Număr de pagini 5 225 ...................................................................1 15....2 Formatarea de pagină..........................................................................15 Formatarea de pagină şi tipărirea în Mathcad Obiective • • Familiarizarea cititorului cu tehnicile de tipărire oferite de Mathcad Prezentarea modului de control al paginii în Mathcad 15 Formatarea de pagină şi tipărirea în Mathcad ____________________________________ 225 15.........226 Tipărirea .......................

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 decât al Word-ului. Fig.1 Formatarea de pagină Stabilirea elementelor de control al paginii se face cu ajutorul câmpului File ⇒ Page Setup. că în oricare din aceste zone se pot insera câmpuri de 226 . Centru-Center şi Dreapta-Right). Se vede că atât antetul cât şi subsolul pot fi împărţite în trei zone (Stănga-Left. Caseta de dialog Page Setup. care va conduce la caseta de dialog din figura 15-2.Capitolul 15 15. Pentru definirea şi configurarea unor astfel de secţiuni se va folosi câmpul Format ⇒ Header/Footers. permite setări de bază care nu necesită explicaţii suplimentare. prezentată de altfel în figura 15-1.

dar atenţie. data salvării. se poate insera în oricare din secţiunile unui antet sau subsol un fişier imagine. dacă din secţiunea Frame s-a ales prezenţa unui chenar în zona antetului sau subsolului. Fig. Antetul (sau subsolul) diferite pentru prima pagină se vor controla cu ajutorul secţiunilor Header-Page 1 sau Footer – Page 1. iar prin intermediul butonului Image.Formatarea de pagină şi tipărirea în Mathcad tip nume document. Cu ajutorul butonului Format din aceeaşi zonă. 15-2 – Controlul antetelor şi subsolurilor 227 . se poate controla aspectul câmpurilor de tip text. sau prezenţa unui antet sau subsol diferit pentru prima pagină dintr-o suită [de pagini]. numărul de pagină. numărul total de pagini etc (vezi zona Tools din caseta de dialog Header/Footer). care nu apar decât atunci când câmpul Different header and footer on first page este bifat. acesta va fi desenat şi pentru prima pagină. Secţiunea Options permite stabilirea originii numărării paginilor (Start at page number).

În figura 15-4 este prezentat un document Mathcad vizualizat cu factorul de mărire 50%. Fig.2 Tipărirea Procesul de tipărire este declanşat şi controlat de caseta de dialog Print. respectiv o a treia bară de demarcaţie 228 . deschisă prin utilizarea câmpului File ⇒ Print (vezi figura 15-3). 15-3 – Caseta de dialog Print Elementele ce pot fi controlate sunt suficient de clare şi din acest motiv nu vor fi explicate. ce poate fi regăsit în conţinutul casetei de dialog Page Setup (figura 15_1). Controlul propriu zis se face cu ajutorul câmpului Print single page width. Se poate observa că apar şi o a doua. Se va insista doar asupra modului de tipărire în cazul în care documentele Mathcad conţin regiuni şi în dreapta liniei de demarcaţie ce sugerează marginea din dreapta a foii de hârtie.Capitolul 15 15.

Ar putea să se vadă şi mai multe dacă se alege un factor de vizualizare din ce în ce mai mic. Pentru un astfel de document s-ar putea adopta schematizarea din figura 15-5. 229 . Astfel Pagina 1_n se referă la documentul Mathcad de deasupra primei linii de demarcaţie ORIZONTALÃ. Pagina 2_n se va referi la acea parte a documentului situată sub prima linie de demarcaţie ORIZONTALÃ şi aşa mai departe.Formatarea de pagină şi tipărirea în Mathcad verticală. 15-4 – Document Mathcad vizualizat cu factorul 50% Se pune problema cum se vor lista documente ce conţin regiuni şi în dreapta primei sau celei de a doua bare de demarcaţie verticală (sau dincolo de una de ordin şi mai mare). Pentru o mai bună înţelegere se va urmări figura 15-5. Fig.

15-5 – Structura unui document Mathcad Astfel. dacă există bifă în dreptul câmpului Print single page width.Capitolul 15 Fig. Dacă bifa din dreptul câmpului Print single page width nu există. respectiv 2_2). 230 . în ordine. apoi 1_2 şi 2_2 (deci se tipăresc întâi paginile din stânga primei linii de demarcaţie verticală). 2_1. paginile 1_1. se vor tipării. se vor tipării numai paginile 1_1 şi respectiv 2_1 (şi nu 1_2.

..............................................................................................................................2 16.....................3 16................ Obiective • Familiarizarea cititorului cu tehnici de prelucrare a datelor experimentale oferite de Mathcad o o o Interpolare Extrapolare Regresie 16 Interpolarea şi extrapolarea datelor...........................4 Interpolarea datelor în 2 dimensiuni........242 Număr de pagini 20 231 ...240 Regresie liniară şi neliniară... _______________________________ 231 16...... Metode de regresie...................232 Interpolarea datelor în 3 dimensiuni....236 Extrapolarea datelor...... Metode de regresie...........1 16.........16 Interpolarea şi extrapolarea datelor...........

Curbele spline. Dacă punctele sunt numeroase şi dispuse foarte neregulat. Fig.cu număr mare de ecuaţii şi necunoscute – pentru determinarea coeficienţilor polinomului). 16-1 – Interpolare liniară În cazul interpolării cu ajutorul curbelor spline. corespunzătoare unor puncte xk. teoretic s-ar putea găsi o curbă polinomială care să treacă prin toate punctele din set.b] o funcţie f(x) ale cărei valori sunt cunoscute numai în anumite puncte a=x0<x1<…xn=b. Cele două funcţii specializate sunt linterp şi respectiv interp. punctele sunt unite (evident imaginar) cu arce de curbă splină.Capitolul 16 16. atunci dacă un asemenea polinom există el este de grad mare (ceea ce presupune în ultimă analiză rezolvarea unor sisteme algebrice mari . ca în figura 16-1. de obicei un polinom.1 Interpolarea datelor în 2 dimensiuni Prin interpolare se înţelege determinarea unei funcţii (numită funcţie de interpolare). În cazul interpolării liniare valorile ordonatelor necunoscute. se obţin în ipoteza că punctele yi se unesc cu segmente de dreaptă.deci xi-1<xk<xi. ce nu se suprapun peste reţeaua de puncte x0<x1<…xn. În MathCAD se pot realiza două tipuri de interpolări : liniară sau folosind curbe spline. De 232 . care să aproximeze pe un interval [a. Este evident că printr-un set de puncte. sunt curbe polinomiale de grad k şi care asigură continuitatea derivatelor de ordin k-1 în punctele de joncţiune între arcele de curbe spline.

unde : • • • vx este un vector real cu valorile în ordine crescătoare. aici liniară. 16-2 . El corespunde valorilor de pe abscisă (x).Interpolare cu arce de curbe spline 16. urmând ca pentru asigurarea “netezimii” curbei de interpolare (care nu trebuie să aibă vârfuri sau puncte de întoarcere).1. se prezintă cazul interpolării cu arce de curbă splină. aceea se preferă determinarea unor curbe care să treacă. vy. În figura 16-2. specializate în Fig. Se va detalia în continuare sintaxa specifică funcţiilor MathCAD interpolare. cu acelaşi număr de elemente ca şi vx.Interpolarea şi extrapolarea datelor. prin doar două puncte. vy este un vector real. pe întreg domeniul să se pună condiţii de continuitate a derivatelor de ordin 1 şi eventual 2 în punctele de joncţiune. fiecare. Ea va fi determinată prin interpolare. Rezultă astfel un număr de necunoscute (coeficienţi) comparabil cu cel corespunzător unei singure curbe de interpolare. dar ele vor rezulta prin rezolvarea succesivă a unui set de sisteme algebrice de mici dimensiuni. El corespunde valorilor de pe ordonată (y). x). Aceste arce de curbe sunt chiar curbele spline despre care s-a făcut deja vorbire. 233 .1 Funcţia linterp linterp (vx. Metode de regresie. x este valoarea abscisei pentru care se doreşte valoarea corespunzătoare de pe ordonată.

444 6. vy).1. respectiv yi. necesar pentru determinarea pantelor curbelor spline în punctele xi.444 4 5 5. Ceea ce trebuie deci reţinut. pspline sau lspline. întoarce acelaşi vector vs ca şi funcţiile cspline sau pspline. întoarce un vector al derivatelor de ordinul 2. întoarce acelaşi vector vs ca şi funcţia cspline. pspline şi lspline • cspline(vx.1. numite axa_x. presupune folosirea anterioară a unei din funcţiile cspline. Valorile din cele două fişiere vor fi : . pentru claritate valorile sunt separate de tab-uri) . Exemplu : Se vor citi din două fişiere nestructurare.vx.667 2. respectiv axa_y.3 Funcţiile scpline. • pspline(vx.5 6 6. vy şi x au aceeaşi semnificaţie ca la funcţia linterp vs este un vector generat de una din funcţiile cspline. cu deosebirea că la capetele intervalului de analiză.222 (aici.Fişierul axa_x.11 1. unde : • • vx. • lspline(vx.Fişierul axa_y.dat. Vectorul vs conţine derivatele de ordinul 2 corespunzătoare traseului descris de datele y=y(x). pentru datele conţinute în vectorii vx şi vy. ordonatele din axa_y. notat cu vs. 16 perechi de valori (abscisele din fişierul axa_x.dat). dispuse fiecare pe un rând : 0 1. vy). dar de această dată curba splină rezultată va fi liniară la capete (curba splină se numeşte în acest caz naturală sau relaxată). dispuse fiecare pe un rând : 234 .Capitolul 16 16. va conţine următoarele valori. 16. este că utilizarea funcţiei interp.2 Funcţia interp interp(vs.dat. Valorile citite vor fi atribuite variabilelor indexate xi.dat.667 2. Acest vector va fi folosit ca prim argument al funcţiei interp. pspline sau lspline. vy).x).dat va conţine următoarele valori.vy. Curba splină rezultantă. astfel încât curba splină rezultantă să fie netedă (smooth).dat.889 7.833 3. Este recomandabil ca cele două fişiere să se găsească în directorul curent de lucru MathCAD.167 2. ce va fi folosită pentru interpolare va fi o curbă cubică la capetele intervalului de analizat. curba splină va fi parabolică.

Citirea datelor din cele două fişiere se poate face utilizând componenta de tip File Read or Write (Text Files). s-au reprezentat grafic în figura 16-4.Interpolarea şi extrapolarea datelor. Se mai atrage atenţia asupra necesităţii ca elementele din fişierul axa_x. 0 1. Fig.dat să fie în ordine strict crescătoare şi fireşte cele două fişiere să aibă exact acelaşi număr de elemente. Metode de regresie. Aceste diferenţe tind să fie mai mari la 235 . atât punctele corespunzătoare valorilor yi. cât şi graficele celor 4 curbe de interpolare.762 1. lucru remarcat şi din analiza valorilor interpolate pentru abscisa x=2.254 . 16-3 – Interpolarea datelor (liniară şi neliniară) Pentru o şi mai bună înţelegere.107 1. Documentul MathCAD va arăta ca în figura 16-3.809 1.21 .141 .949 1.045 .915 1.745 1.054 . Se poate observa că între cele 4 curbe există diferenţe notabile.093 .845 Cele două fişiere pot fi pur şi simplu generate în Notepad.

notaţi în paragrafele anterioare vx şi vy. unde intervin de fapt deosebirile dintre pantele curbelor de interpolare.2 Interpolarea datelor în 3 dimensiuni Plecând de la interpolarea utilizând curbe [de interpolare]. 16-4 . În acest caz. 16.y) ale cărei valori sunt cunoscute numai în anumite puncte a=x0<x1<…xn=b.Graficele curbelor de interpolare 236 . respectiv la interpolarea folosind suprafeţe [de interpolare]. Fig.d] o funcţie z=f(x. se poate ajunge la o generalizare în spaţiu. prin interpolare se înţelege determinarea unei funcţii (numită evident tot funcţie de interpolare).Capitolul 16 extremităţile intervalului. respectiv c=y0<y1<…yn=d.b]x[c. deci în plan. unde se porneşte de la doi vectori. care să aproximeze pe un domeniu [a.

Suprafaţa splină rezultată va fi cubică pe contur. care surprinde de fapt o dependenţă de forma z=z(x.Mxy.y). În figura 16-5 este prezentat un exemplu preluat din secţiunea quicksheets şi adaptat. Vectorii corespunzători coordonatelor x şi y sunt notaţi cu X respectiv Y. fit_p respectiv fit_l. Valorile acestui tablou sunt valorile z corespunzătoare perechilor x şi y din Mxy. după cum urmează : • cspline(Mxy. Se poate observa că pentru primul punct.întoarce valoarea interpolată Mz în punctul de coordonate x şi y. Coloanele acestei matrice trebuie să aibă elementele în ordine crescătoare. • • • pspline(Mxy.întoarce un vector al derivatelor de ordinul 2 pentru tablourile Mxy şi Mz.Mz.35) şi (0. doar argumentele sunt altele. Funcţiile utilizate au denumiri identice cu cele folosite la interpolarea cu curbe spline. situat mai aproape de contur. Argumentele funcţiilor de mai sus sunt : • . După ce s-a realizat definirea funcţiilor de interpolare fit_s. pspline sau lspline v este un vector ale cărui două elemente sunt coordonatele x şi y pentru care se caută valoarea interpolată z. sunt determinate valorile interpolate corespunzătoare punctelor (0. Este vorba despre interpolarea datelor descrise de o matrice notată Mz.25.1. Metode de regresie. • • • Mz este un tablou cu dimensiunea nxn. specificat în v. de date reale.Mz) parabolică pe contur.ca şi cspline. cu câte patru laturi. doar că suprafaţa rezultantă va fi .Interpolarea şi extrapolarea datelor. doar că suprafaţa rezultantă va fi Mxy este un tablou cu dimensiunea nx2 şi care conţine coordonatele x şi y ce variază pe domeniul pe care se va realiza interpolarea.v) . lspline(Mxy. diferenţele între cele 3 237 . 0.Mz) . parabolică şi respectiv liniară. interp(vs. Acest vector devine primul argument pentru funcţia care realizează interpolarea (interp). Suprafeţele de interpolare vor fi “petice” (patch) de suprafeţe spline. corespunzătoare interpolărilor cubică. 0.17). vs este un vector generat de una din funcţiile cspline.Mz) liniară pe contur.ca şi cspline.

Dacă însă vor fi crescute – în documentul MathCAD creat de utilizator . prin definirea unei grile de 4 ori mai deasă decât cea iniţială. diferenţele între cele trei grafice nu sunt prea uşor detectabile. diferenţele vor începe să se vadă cu claritate. deci între două puncte succesive ale grilei iniţiale. În figura 16-6. sunt prezentate cele 4 grafice. Altfel spus. cât şi a celor obţinute prin cele trei metode de interpolare. cu una din metodele (funcţiile) descrise mai sus.dimensiunile graficelor (prin tehnica drag and drop). unul al suprafeţei originale (descrisă de matricea Mz) şi celelalte 3. 238 . FIT_p sau FIT_l. La dimensiunea la care s-a realizat reproducerea reprezentărilor grafice (impusă de considerente de spaţiu). se vor găsi încă 3 puncte pentru care se va realiza de fapt interpolarea. acum pe aceleaşi direcţii se vor defini câte 24. dacă iniţial matricea Mz avea 6x6=36 valori. vor avea fiecare câte 24x24=576 valori. Deci dacă iniţial pe x şi y se defineau câte 6 puncte. după o direcţie. În partea a doua a documentului se realizează discretizarea domeniului de interpolat.Capitolul 16 tipuri de interpolare sunt mai mari decât în cazul punctului al doilea. situat mai spre interiorul domeniului. În faza finală s-a realizat reprezentarea grafică atât a suprafeţei iniţiale (Mz). corespunzând suprafeţelor obţinute prin interpolare. după interpolare matricele notate FIT_s.

16-5 – Interpolarea 3D 239 .Interpolarea şi extrapolarea datelor. Metode de regresie. Fig.

de obicei polinom.3 Extrapolarea datelor Prin extrapolare se înţelege determinarea unei funcţii. 16-6 .Reprezentări grafice ale suprafeţelor de interpolare 16.Capitolul 16 Fig. din interiorul intervalului. în afara unui interval [a. 240 . care să aproximeze. b]. o funcţie f(x) ale cărei valori sunt cunoscute numai în anumite puncte a=x0<x1<…xn=b.

ia valori dincolo de 30. dincolo de limita superioară a argumentului i (în cazul de fată această limită este 30).n) unde : v este un vector ale cărui valori reprezintă eşantioane prelevate . În partea a doua a documentului s-a realizat şi o reprezentare grafică (vezi figura 13-7). întoarce n valori estimate. dar in intervalul i=1. variabila j (folosită pentru reprezentarea estimării). pentru care sintaxa este : predict(v.m. În fapt se aplică funcţia predict. cât şi dincolo de i=30 şi anume pentru încă 12 de valori.la intervale egale dintr-un set de date. cu i luând valori în intervalul 1…30.. Exemplu: Să se estimeze comportarea vectorului f. Se va observa cum în grafic. În MathCAD extrapolările (sau predicţiile) se realizează cu ajutorul funcţiei predict.Interpolarea şi extrapolarea datelor. aşa cum se poate vedea din exemplu. Parametrii m şi n sunt doi întregi Funcţia predict. bazate pe m valori consecutive din v.5 ⋅ i ) ⋅ e 10 . atât în intervalul 1…30 (de valori cunoscute). astfel încât pe grafic să apară estimarea lui f exact dincolo de punctul în care valorile cunoscute [ale lui f] sunt reprezentate grafic. a lui fi. pentru estimarea următoarelor 20 de valori ale lui f. estimarea făcându-se pe baza a 4 valori succesive ale lui f. Metode de regresie.30. 241 . ale cărui elemente sunt obţinute prin −i evaluarea funcţiei f i = sin(0.

funcţia întoarce panta dreptei care aproximează cu eroare minimă setul de date intercept(vx. este posibilă determinarea ecuaţiei dreptei care aproximează cu eroare minimă (pentru minimizarea erorii se foloseşte metoda celor mai mici pătrate) un set de date de forma yi=y(xi). Sintaxa funcţiilor slope şi intercept este : • • slope (vx.1 Regresia liniară Prin intermediul funcţiilor slope şi intercept (a căror sintaxă va fi prezentată mai jos).Capitolul 16 Fig. 16-7 – Extrapolarea datelor 16. vy) . vy) .întoarce ordonata la origine a dreptei care aproximează cu eroare minimă setul de date 242 .4 Regresie liniară şi neliniară 16.4.

sintaxa. 243 . se poate folosi interpolarea polinomială. precum şi argumentele lor. respectiv ordonatelor y.4. se spune că ea s-a trasat printre puncte).2 Regresia polinomială (neliniară) În cazul în care datele nu sunt aproximate corespunzător de o dreaptă (rămân puncte prea multe departe de dreaptă şi traseul general al ordonatelor nu este “aproape” de o dreaptă). Metode de regresie. sunt doi vectori cu acelaşi număr de elemente. Exemplu: În exemplul de mai jos este determinată ecuaţia dreptei care aproximează cu eroare minimă setul de date format din vectorii x respectiv y (dacă se reprezintă grafic această dreaptă.Interpolarea şi extrapolarea datelor. Este evident că cei doi vectori corespund absciselor x. În exemplu setul de date a fost creat prin generarea vectorilor x şi y. Vectorul vx trebuie să aibă elementele în ordine crescătoare. 16. O altă modalitate de lucru ar fi fost citirea celor doi vectori dintr-un fişier de date. Prin intermediul funcţiei interp (pentru care însă primul argument este furnizat de funcţiile regress sau loess). se poate determina polinomul de grad specificat de utilizator. Mai jos sunt prezentate funcţiile implicate în regresia polinomială. care aproximează cu eroare minimă setul de date de analizat. Argumentele vx şi vy.

Capitolul 16 Fig. vy. 244 . O valoare în general acceptabilă este 0. ce realizează aproximarea cu eroare minimă a setului de date într-un domeniu specificat de parametrul span (întindere. pe care funcţia interp îl va folosi pentru determinarea polinomului de ordin k (se recomandă valori mai mici decât 5) ce realizează aproximarea cu eroare minimă a setului de date • loess (vx. 16-8 – Regresie liniară • regress (vx. vy. sector. anvergură).75. Dacă valorile ordonatelor sunt foarte diferite se recomandă valori mari pentru parametrul span. span) întoarce un vector pe care funcţia interp îl va folosi pentru determinarea polinomului de ordin 2. k) întoarce un vector.

3 3. După citirea fişierului (numit în exemplu “date[. Exemplu: Să se realizeze regresia polinomială pentru un set de date reţinut într-un fişier de date.7 7. 245 . vy.6 4. Structura fişierului date. precum şi reprezentarea grafică a datelor iniţiale.2 4.prn este următoarea : 0 1 2 3 4 5 6 7 8 9. Metode de regresie. vx. De menţionat că în cazul vectorului întors de funcţia regress.prn]). precum şi a celor interpolate. Fişierul MathCAD care realizează aplicaţia este prezentat în figura 16-9. x) întoarce valoarea interpolată y corespunzătoare lui x (ultimul argument).8 2.9 5. ultimele (k+1) elemente sunt chiar coeficienţii polinomului de interpolare în ordinea crescătoare a puterilor variabilei de pe axa absciselor (vezi exemplul). aşa acum apare în sintaxa funcţiei). loess şi interp. • interp (vs. coloanele pentru definirea vectorilor X şi Y. iar în a doua coloană apar valorile lui y (sau vy). Parametrul vs este preluat de la funcţia regress sau loess.Interpolarea şi extrapolarea datelor.1 8. Urmează utilizarea funcţiilor regress.8 În prima coloană sunt precizate valorile lui x (sau vx. sub forma unei matrice cu două coloane. În prima [coloană] se găsesc valorile de pe abscisă.1 7. iar în a doua cele de pe ordonată. sunt extrase cu ajutorul operatorului CTRL+^.

16-9 – Regresie polinomială În figura 16-10 sunt prezentate punctele (Yi) precum şi datele obţinute prin regresie. 246 .Capitolul 16 Fig.

Metode de regresie.Interpolarea şi extrapolarea datelor. aşa cum a fost el definit după extragerea în vectorul coef a coeficienţilor din vectorul vs şi înmulţirea cu vectorul ce conţine puterile în ordine crescătoare ale variabilei x. 16-10 – Reprezentarea punctelor şi a rezultatelor regresiei În figura 16-11 este prezentat graficul polinomului de interpolare p_int(x). Fig. 247 .

sunt “stocate” pe rânduri. • loess (Mxy. vz. se vor determina suprafeţe polinomiale de interpolare. Matricea Mxy. ce realizează aproximarea cu eroare minimă a setului de date într-un domeniu specificat de parametrul span (întindere.4. Dacă valorile cotelor vz sunt 248 . dar cu alte argumente. iar vz are dimensiunea m şi conţine coordonatele z corespunzătoare perechilor x. are dimensiunea m x 2 şi conţine coordonatele x. este : • regress (Mxy. în acest caz. k ) . Între vz şi Mxy există o legătură descrisă de o relaţie de tipul vz=vz(x.y din Mxy.funcţia întoarce un vector pe care funcţia interp îl va utiliza la determinarea suprafeţei polinomiale de grad k ce aproximează cu eroare minimă setul de date “conţinut” în matricele Mxy şi vz. în matricea Mxy.Capitolul 16 Fig.y).y).y. anvergură). 16-11 . Sintaxa funcţiilor amintite mai sus.Graficul polinomului de interpolare 16. vz. Uzual pentru k se vor considera valori mai mici decât 5. unde perechile de coordonate [date].3 Regresie polinomială 3D (neliniară) Ca şi în cazul interpolării şi în cazul regresiei polinomiale se poate ajunge la o generalizare 3D. span) – funcţia întoarce un vector pe care funcţia interp îl va utiliza la determinarea suprafeţei polinomiale de grad 2. (x. când prin intermediul aceloraşi funcţii regress. sector. loess şi interp.

de această dată prin găsirea unei combinaţii liniare de funcţii (nu neapărat polinomiale).. astfel încât combinaţia liniară n a1 ⋅ f ( x)1 + a2 ⋅ f 2 ( x) + . Vectorii vx şi vy definesc setul de date analizat şi trebuie să aibă acelaşi număr de elemente.funcţia întoarce un vector care conţine coeficienţii ai din relaţia de mai sus. corespunzătoare perechii de date (x. v) – funcţia întoarce valoarea interpolată z. se pune problema determinării coeficienţilor a1. • interp (vs.75. în paragrafele următoare se va arăta cum MathCAD “ştie” să rezolve acelaşi gen de probleme. Pentru o mai bună înţelegere a celor expuse.……..să aibă acelaşi număr de elemente.. vz. O valoare în general acceptabilă este 0.4. Cu alte cuvinte. f2(x). Exemplu: Să se aproximeze setul de date utilizat în exemplul de la regresia polinomială (datele 249 . este linfit şi are sintaxa: linfit (vx. se recomandă parcurgerea exemplului Multiple Linear Regression din secţiunea Data Analysis din Quicksheets. pornind de la un set de funcţii (pe care şi-l fixează utilizatorul) f1(x). Metode de regresie.an ⋅ f n ( x) = ∑ ai ⋅ f i ( x) i =1 să aproximeze cu eroare minimă setul de date considerat.Interpolarea şi extrapolarea datelor. Vectorul vs este întors de una din funcţiile regress sau loess. elementele lui vx trebuie să fie în ordine crescătoare. În plus. Mxy. a2.. care să aproximeze cu eroare minimă un set de date. F şi vx sau vy NU trebuie –în mod obligatoriu . Funcţia care realizează interpolarea/aproximarea unui set de date prin metoda combinaţiei liniare de funcţii.y) conţinută în vectorul [cu două] elemente v.an.fn(x). vy.4 Aproximarea datelor prin utilizarea unor combinaţii liniare de funcţii Dacă până acum toate metodele de aproximare/interpolare prezentate au avut ca obiectiv “găsirea” unor polinoame de diverse grade care aproximează un set de date cu eroare minimă. F este un vector care conţine setul de funcţii fi.……. F) . foarte diferite se recomandă valori mari pentru parametrul span. 16.

x. de această dată aproximarea realizându-se cu ajutorul metodei combinaţiei liniare de funcţii. care este şi evaluat pentru a se putea citi coeficienţii rezultaţi.16 ⋅ 1 + 3.909 ⋅ sin( x) + 9. suprapus peste valorile neprelucrate Yi(Xi).Capitolul 16 din fişierul date. În continuare se determină cu ajutorul funcţiei linterp. Fig. 16-12 – Determinarea coeficienţilor funcţiilor Pentru funcţia f_comb(x) obţinută s-a trasat graficul. S-a optat pentru 4 funcţii. sin(x). de la stadiul alegerii setului de funcţii (vectorul F). 1/(x+1 şi ex. prin metoda combinaţiei liniare de funcţii. Aceşti coeficienţi vor fi “depuşi” în vectorul coef_F.684 ⋅ x + 0. Se va prezenta în continuare structura documentului MathCAD ce realizează aproximarea setului de date citit din fişierul date.587 ⋅10 −4 ⋅ e x x +1 În figura 16-12 se poate vedea cum ar arăta un document Mathcad care determină combinaţia liniară de funcţii ce aproximează un se t de date. care rezultă ca produs între vectorii coef_F şi F(x). Va rezulta expresia funcţiei care se va folosi pentru aproximare : f _ comb( x) = 0. În exemplu nu se mai reia etapa de citire a datelor din fişier şi de extragere a celor doi vectori X şi Y. În fine se defineşte funcţia (de x) f_comb.prn. 250 .prn). coeficienţii ce se vor aplica setului de funcţii.

Interpolarea şi extrapolarea datelor. 16-13 – Reprezentarea funcţiei de aproximare Se recomandă reprezentarea pe acelaşi grafic a funcţiilor f_comb(x). 16. Esenţa metodei este chiar găsirea acelor valori ale acestor parametri astfel încât funcţia 251 .5 Aproximarea datelor prin utilizarea unor funcţii arbitrare Spre deosebire de aproximarea prin utilizarea combinaţiilor liniare de funcţii. realizează aproximarea pornind de la o (UNA SINGURĂ) funcţie care însă conţine în expresia sa de definire un număr de parametri. Metode de regresie. pentru a putea compara metodele. Se mai recomandă alegerea şi a altor seturi de funcţii F(x). r_p_regress(x) şi r_p_loess(x). Fig. care pornea de la un set de funcţii complet determinate şi urmărea găsirea unor coeficienţi care înmulţeau aceste funcţii în vederea aproximării cu eroare minimă a unui set de date.4. metoda funcţiilor arbitrare.

vg. • genfit (vx. F) – funcţia întoarce parametrii din definiţia funcţiei de aproximare. Se va prezenta structura documentului MathCAD fişierul date. Exemplu: Să se aproximeze setul de date de la exemplul precedent.prn sau extragerea vectorilor X şi Y. • Vectorul vg are dimensiunea egală cu numărul de parametrii necunoscuţi din componenţa definiţiei funcţiei F şi reprezintă a valoare de start în procesul de determinare a acestor parametri (guess value). cu funcţia F. vg va avea dimensiunea n. este tot un vector şi conţine definiţia funcţiei de aproximare. precum şi derivatele acesteia în raport cu parametrii din relaţia de definiţie.Capitolul 16 să aproximeze cu eroare minimă un set de date. Deci dacă definiţia funcţiei de aproximare conţine n parametri. • Funcţia F. folosind metoda funcţiei arbitrare.8 Documentul MathCAD arăta ca în figura 16-14. iar F va avea dimensiunea n+1. 252 . vy. iar sintaxa ei este prezentată mai jos. Pentru funcţia arbitrară s-a ales expresia : fără să se reia citirea datelor din f ( x) = e a0 ⋅ x + a1 ⋅ x 2 + a2 ⋅(1+ x ) 0. Funcţia care realizează calculul acestor parametri se numeşte genfit. care minimizează eroarea de aproximare a setului de date precizat de vectorii vx şi vy.

atât a datelor neprelucrate (Yi/Xi). diferenţele între soluţii pot fi chiar notabile. Se recomandă de asemenea reluarea exemplului de mai sus pentru altă formă a funcţiei f(x).Interpolarea şi extrapolarea datelor. care aproximează setul de date. 16-14 – Metoda funcţiei arbitrare În cea de a doua parte a documentului MathCAD (vezi fig 16-15). Fig. cât şi a funcţiei f(x). 253 . eventual chiar cu mai mulţi parametri. Metode de regresie. Trebuie menţionat că rezultatul depinde de valorile de start pentru coeficienţii ai şi pentru anumite valori. Rezultatele se vor reprezenta pe acelaşi grafic pentru o mai bună comparare. s-a realizat reprezentarea grafică. Din acest motiv se recomandă să se realizeze determinarea lui f(x) pentru câteva valori ale lui vg şi să se reţină soluţia care aproximează cel mai bine setul de date.

16-15 – Reprezentarea datelor şi a funcţiei arbitrare 254 .Capitolul 16 Fig.

..................2 Calculul integralei Fourier...256 Calculul Transformării Fourier Discrete ............................1 17.......17 Fourier Prelucrarea semnalelor .............................Analiza Fourier _ 255 17..............Analiza Obiective • Familiarizarea cititorului cu facilităţile oferite de Mathcad pentru calcului transformatei Fourier discrete sau a integralei Fourier 17 Prelucrarea semnalelor ........259 Număr de pagini 10 255 ................

semnal). “dezvăluie” conţinutul de frecvenţe al unui semnal pentru care se cunoaşte “imaginea” în domeniul timpului.1 Calculul integralei Fourier Pentru calculul integralei Fourier se foloseşte calculul simbolic (câmpul Symbolic ⇒ Transform ⇒ Fourier). 256 . “imaginea” obţinută printr-o transformare Fourier. 17. Analiza circuitelor electronice. această transformare permite evidenţierea unor caracteristici ale unor fenomene fizice. fie prin utilizarea funcţiilor specializate pentru realizarea transformării Fourier discrete. foarte greu sau chiar imposibil de decelat printr-o analiză în domeniul timpului (fenomenele de rezonanţă de exemplu). Exemplu: Să se determine integrala Fourier pentru semnalul a cărui reprezentare în domeniul timpului este dată în figura 17-1. Deşi pare o complicaţie în plus. pentru cazul în care semnalul în domeniul timpului este cunoscut sub forma unui set finit de perechi de valori (timp. În MathCAD trecerea din domeniul timpului în cel al frecvenţei se poate realiza fie cu ajutorul calculului simbolic (se realizează calcului integralei Fourier) dacă se cunoaşte expresia analitică a semnalului în domeniul timpului. impun realizarea trecerii semnalelor din domeniul timpului în cel al frecvenţei. În esenţă. prelucrarea şi interpretarea rezultatelor unor măsurări (de vibraţii de exemplu).Capitolul 17 Există situaţii când este utilă analiza semnalelor atât în domeniul timpului cât şi în cel al frecvenţei.

Prelucrarea semnalelor - Analiza Fourier

Fig. 17-1 – Semnal în domeniul timpului
Pentru acest semnal, se poate găsi o expresie analitică de forma :

f (t ) = Φ(t ) − Φ (t − d ) ,
unde

Φ(t) este funcţia treaptă data de relaţia :

0, pentru x < 0 Φ(t ) =  1, in rest
În cazul exemplului considerat, d=2 şi reprezintă porţiunea de pe abscisă pentru care f(t)=1. Pentru această funcţie se poate realiza calculul integralei Fourier aşa cum se poate evdea în figura 17-2. Se va remarca selectarea variabilei x ca variabilă de lucru. Rezultatul integralei Fourier este în variabilă ω şi este o funcţie complexă.

Fig. 17-2 – Integrala Fourier
În expresia din partea dreaptă apare funcţia Dirac. Având în vedere proprietăţile acesteia ( Dirac( x) = 0 anume: 257

daca x ≠ 0 ), se poate ajunge la o expresie mai simplă şi

Capitolul 17

f (ω ) :=

−i

ω

+

i

ω

⋅ e −i⋅d ⋅ω

Reprezentarea grafică a acestui rezultat este prezentată în figura 17-3. S-a realizat reprezentarea grafică a modulului transformatei (care este o funcţie complexă). În plus este de remarcat simetria pe care o afişează transformata în raport cu originea. În general interesează numai tronsonul pe abscise pozitive. În multe situaţii, este de interes să se realizeze şi reprezentarea părţii imaginare şi a celei reale a transformatei, sau chiar să se reprezinte partea imaginară funcţie de cea reală [a transformatei]. Analiza imaginilor de tipul figurii 17-3, pun în evidenţă conţinutul de frecvenţe al semnalului analizat. În cazul concret al exemplului, semnalul este “bogat” în frecvenţe în domeniul 0-4 Hz. Se recomandă reluarea calculului transformatei pentru diferite valori ale parametrului d, pentru a se pune în evidenţă influenţa duratei semnalului asupra conţinutului de frecvenţe al imaginii obţinută prin calculul integralei Fourier.

Fig. 17-3 - Integrala Fourier
258

Prelucrarea semnalelor - Analiza Fourier

Calculul inversei transformatei Fourier se face extrem de simplu, prin utilizarea câmpului Symbolic ⇒ Transform ⇒ Inverse Fourier, după selectarea variabilei ω ca variabilă de lucru. Rezultatul obţinut este prezentat mai jos în figura 17-4:

Fig. 17-4 – Transformata Fourier inversă
Deşi aparent rezultatul nu seamănă cu funcţia f(t), aşa cum a fost ea definită mai sus, o simplificare simbolică (ce va ţine cont de proprietăţile funcţiei Φ(x)), va produce exact rezultatul f (t ) = Φ (t ) − Φ (t − d ) .

17.2 Calculul Transformării Fourier Discrete
Sunt destul de rare cazurile în care se cunoaşte expresia analitică a semnalului în domeniul timpului. De obicei semnalul este cunoscut într-un număr [finit] de perechi de puncte de forma (xi, yi), (de exemplu ca rezultat al unor măsurări). Din punct de vedere practic cele n perechi de puncte sunt reţinute în doi vectori, cu număr egal de elemente, pentru care se impune condiţia ca elementele vectorului x să fie în ordine crescătoare. În asemenea situaţii se recomandă utilizarea transformării Fourier discrete, respectiv a funcţiilor MathCAD ifft(v), ifft(u), cfft(A), icfft(B), sau IFFT(v), IFFT(u), CFFT(A), ICFFT(B). Transformata Fourier discretă porneşte de la ipoteza că semnalul iniţial, fie el f(t), este eşantionat la intervale uniform spaţiate ∆t. În acest caz, semnalul iniţial va fi :

hn = h(n∆t ) , n=…,-3, -2, -1, 0, 1, 2, 3, ….

259

Capitolul 17

Acestuia i se va aplica transformata Fourier discretă. Banda de frecvenţe acoperită de transformata Fourier va fi [-fc, fc] unde cu fc s-a notat şi este aşa numita frecvenţă Nyquist, dată de relaţia :

fc =

1 2 ⋅ ∆t

Altfel spus, dacă semnalul are o durată finită în timp şi eşantionarea s-a făcut la intervale de 0.01 secunde, transformata Fourier va acoperi domeniul [-50, 50] Hz. Pentru a acoperi un domeniu mai întins, trebuie ca eşantionarea să fie mai fină, deci semnalul să fie înregistrat la intervale de timp mai mici. Dacă semnalul analizat nu are o durată limitată în timp, se spune că nu este limitat nici în frecvente (nu este “bandwidth limited”), astfel că dacă se realizează eşantionarea la intervale de timp ∆t, componentele în frecvenţele 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 afectată de aliasing

Fig. 17-5 - Fenomenul de “aliasing”

Transformata Fourier corectă

Odată aceste observaţii făcute, se va trece la o succintă prezentare a funcţiilor MathCAD ce realizează transformata Fourier discretă.

260

Prelucrarea semnalelor - Analiza Fourier

Întoarce transformata Fourier a vectorului v. Vectorul v trebuie să aibă 2m elemente reale, astfel că transformata va avea 1+2m-1 fft(v) elemente. Elementul de ordin j este dat de relaţia :
2π j )k n

cj =

i( 1 ⋅ ∑ vk ⋅ e n k

Întoarce transformata Fourier a vectorului v. Vectorul sau matricea FFT(v) trebuie să aibă 2m elemente reale. Elementul de ordin j este dat de relaţia :
−i ( 1 c j = ⋅ ∑ 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 cfft(A) complexe, astfel că transformata va avea 1+2m-1 elemente. Transformata are acelaşi număr de linii şi coloane ca şi matricea iniţială. Elementul de ordin j este dat de relaţia :
2π j )k n

cj =

i( 1 ⋅ ∑ vk ⋅ e n k

Întoarce transformata Fourier a unui vector sau a unei matrice. Dacă argumentul A este vector, el trebuie să aibă 2m elemente reale sau CFFT(A) complexe, astfel că transformata va avea 1+2m-1 elemente. Transformata are acelaşi număr de linii şi coloane ca şi matricea iniţială. Elementul de ordin j este dat de relaţia :
2π j )k n

cj =

−i ( 1 ⋅ ∑ vk ⋅ e n k

261

frecvenţa asociată cu elementul j al transformatei este : ck = j ⋅ fs N Pentru a evita fenomenul de “aliasing”. reconstruieşte semnalul ţinând cont şi de jumătatea de spectru simetrică. deci : fs < fc = 1 2 ⋅ ∆t Funcţiile fft şi FFT. Funcţia inversă ifft. există şi transformările inverse. N În aceste condiţii.Numărul de eşantioane considerate. trebuie ca frecvenţa de eşantionare să fie mai mică decât frecvenţa Nyquist. produc spectre de frecvenţă simetrice în raport cu originea. după cum urmează : fft(v) cfft(A) FFT(v) CFFT(A) ↔ ↔ ↔ ↔ ifft(u) icfft(B) IFFT(u) ICFFT(B) În legătură cu funcţiile amintite. Având în vedere că funcţiile fft şi cfft (ca şi FFT sau CFFT) întorc vectori complecşi. se poate calcula şi informaţia de fază prin utilizarea operatorului de vectorizare (CTRL + -) 262 .Capitolul 17 Pentru toate aceste transformări directe.Frecvenţa de eşantionare a semnalului original fs=1/∆t . astfel că nu este necesar decât calculul primei jumătăţi a spectrului. Aceasta este explicaţia faptului că vectorul întors de fft are jumătate din numărul de elemente al vectorului original. trebuie reţinute următoarele : • • Atât fft cât şi cfft întorc vectori ale căror elemente sunt complexe Pentru a determina spectrul de frecvenţe acoperit de transformare este necesară cunoaşterea următoarelor elemente : .

062/.dat.714/1.0/1.924/1.243/.956/1.04523/70.Prelucrarea semnalelor .022/.824/20.57325/53.253/. respectiv semnal.353/10/12.69125/58.47/14. Datele de lucru sunt reţinute în două fişiere.018/.022/1. care rezolvă problema este detaliată (cu comentarii 263 .7 14/1.86824/64.656/1.941/31/33/35.28122 Fişierul f_2m_ext.832/1.882/28.732/1.412/8.98623/68.16322/74.dat.882/22.765/18.294/36/40/41. Va fi necesară o “îndesire” a elementelor celor doi vectori şi acest lucru se va realiza prin interpolarea liniară a lui x şi y.092/.10423/72. iar vectorii x şi y au numai 38 de elemente.92 724/65.118/6.09/.647/24.018/0 Structura fişierului MathCAD intercalate) în figura 17-6: Se va utiliza pentru transformarea Fourier directă funcţia fft.0/1.80924/63.dat. care are nevoie ca argumente de vectori cu 2m elemente (m>2).dat : 0/2.79/1 . datele din cele două fişiere sunt prezentate mai jos (separarea s-a făcut aici cu semnul “/”.443/.Analiza Fourier Exemplu: Să se obţină spectrul de frecvenţe “conţinut” de un semnal pentru care se cunoaşte dependenţa de timp.085/. fiecare valoare se găseşte pe un rând) : Fişierul t_2m_ext. 706/26.63225/55.832/1. situate în directorul curent de lucru MathCAD.27827/43.085/.39626/47.924/1.832/1.75024/59.8/1.51426/51.092/1.275/. dar evident în fişierul *. cu numele timp.dat : 0/.22222/76.79/1.8/1.4/.243/.075/.362/.176/4.253/.543/.33727/45.706/16.455 2/49.

Capitolul 17 Fig. 17-6 – Semnalul iniţial 264 .

S-a ales funcţia fft. 17-7 – Transformata Fourier discretă 265 .Analiza Fourier În continuare trebuie să se aplice celor 1024 de perechi de puncte funcţia potrivită de calcul a transformatei Fourier. Aşa cum se specifică şi în documentul MathCAD prezentat în figura 17-7.Prelucrarea semnalelor . Fig. s-a realizat reprezentarea grafică numai pentru primele 64 întrucât semnalul este sărac în frecvenţe peste limita corespunzătoare celor 64 puncte. În ultimul grafic (vezi figura 17-8) s-a realizat reprezentarea grafică (numai pentru primele 40 de puncte) a informaţiei de fază. Se propune ca exerciţiu şi trasarea graficelor pentru Re(z). Im(z) şi eventual Im(z) funcţie de Re(z). deşi funcţia fft întoarce un număr de 1024/2=512 puncte.

Capitolul 17 Fig. 17-8 – Informaţia de fază 266 .

...............18 proprii Probleme de valori şi vectori Obiective • Prezentarea generalizată) facilităţilor oferite de Mathcad pentru rezolvarea problemelor de valori şi vectori proprii (simplă şi 18 Probleme de valori şi vectori proprii _____ 267 18.270 Număr de pagini 7 267 .......................................................................................269 Valori şi vectori proprii neliniari.............268 Valori şi vectori proprii generalizaţi .1 18....................................................3 Baza teoretică .........2 18..................................

fie a unei matrici diagonale (evident valorile proprii sunt situate pe diagonală). valorile proprii ale unei matrice simetrice reale sunt reale. fiecare vector “ocupând” o coloană. numită şi matrice spectrală.. Relaţia de mai sus. se pot enunţa următoarele propoziţii: • • (3) valorile proprii ale matricelor Hermitice sunt reale. care pot fi reale sau complexe. 268 .Capitolul 18 18.. Relaţia (2) se numeşte Ultima relaţie. Valorile proprii. va furniza după rezolvare cele n valori proprii. a2n   x2  ⋅  = 0  21    .1 Baza teoretică Dacă A este o matrice pătrată cu dimensiunea n x n. Vectorii proprii pot fi şi ei “reuniţi” într-o matrice. dacă : A⋅ x = z ⋅ x său (vectorul 0 nu este considerat vector propriu. deşi evident satisface relaţia (1)).   an2 .. (2) unde cu I s-a notat matricea unitate de dimensiune n x n. a nn − z   x n   a n1   În legătură cu valorile proprii ale unei matrice A. odată determinate. Relaţia (1) se mai poate scrie şi sub forma : a12 a1n   x1  . distincte sau cu un anumit grad de multiplicitate.   .. Prin matrice Hermitică se înţelege o matrice egală cu complex conjugata transpusei sale... este valabilă doar dacă : (1) Evident orice multiplu al vectorului propriu x va fi considerat vector propriu la rândul det A − z ⋅ I = 0 ecuaţie caracteristică. O astfel de matrice se mai numeşte matrice modală. a11 − z  a a 22 − z . se spune că ea are un vector propriu x.. care defineşte o ecuaţie polinomială de grad n. Rădăcinile multiple definesc valori proprii numite degenerate.. corespunzător valorii proprii z.. sunt reţinute fie sub forma unui vector..

daca i ≠ j (4) xi şi xj sunt vectorii proprii consideraţi. În afară de relaţia (1). atunci şi αx va fi vector propriu. unde 0. cum ar fi : • • • • suma pătratelor modulelor componentelor vectorului este egală cu unitatea. relaţia (6) se mai poate scrie : (6) ( B −1 ⋅ A) ⋅ x = z ⋅ x (7) 269 .Probleme de valori şi vectori proprii Aşa cum s-a spus mai sus. Multiplicatorului α i se pot atribui valori astfel încât vectorii proprii să aibă anumite proprietăţi. valorile proprii la stânga şi la dreapta sunt egale.se obţineau vectorii proprii la dreapta. problemele de valori şi vectori proprii se mai pot prezenta şi sub forma unei relaţii de tipul : x⋅ A = z ⋅x (5) se obţin vectorii proprii la stânga. componenta vectorului cu cea mai mare valoare este egală cu unitatea. 18. dacă x este vector propriu al unei matrice. în cazul relaţiei vectorii proprii la stânga sunt transpuşii vectorilor proprii la dreapta ai matricei transpuse. Prelucrarea relaţiilor (1) şi (5). permite enunţarea următoarelor propoziţii : • • • (5) Dacă în primul caz . daca i = j . suma modulelor componentelor vectorului este egală cu unitatea. componentele vectorului sunt ortogonalizate. Se spune că doi vectori proprii sunt ortogonali în raport cu o matrice.relaţia (1) .2 Valori şi vectori proprii generalizaţi Problema generalizată de vectori proprii este descrisă de relaţia următoare : A⋅ x = z⋅ B ⋅ x Dacă matricea B nu este singulară. dacă este satisfăcută o relaţie de tipul : α i ⋅ xiT ⋅ M ⋅α j ⋅ x j =  1.

3 Valori şi vectori proprii neliniari O generalizare a problemelor de valori şi vectori proprii este cazul descris de ecuaţia : ( A ⋅ λ2 + B ⋅ λ + C ) ⋅ x = 0 ştie să rezolve (8) MathCAD poate rezolva primele două tipuri de probleme de valori şi vectori proprii (nu direct problemele de valori şi vectori proprii neliniari).z) întoarce vectorul propriu al matricei M asociat valorii proprii z.N) întoarce o matrice conţinând vectorii proprii normalizaţi corespunzători valorilor proprii ale matricei M pentru problema de valori şi vectori proprii generalizată. 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.Capitolul 18 18. se vor calcula valorile şi vectorii proprii ai matricei M. După separarea celor două matrice.N) întoarce un vector ce conţine valorile proprii corespunzătoare problemei generalizate de valori şi vectori proprii genvecs(M. Exemplu: Să se citească dintr-un fişier de date două matrice astfel: în fişier este reţinut un tablou cu 5 linii şi 10 coloane. valorile proprii asociate matricei M întoarce o matrice conţinând vectorii proprii normalizaţi corespunzători valorilor proprii ale matricei M. Vectorii proprii sunt dispuşi pe coloanele matricei M eigenvec(M. Funcţiile MathCAD specializate pentru rezolvarea acestui tip de probleme sunt: eigenvals(M) eigenvecs(M) întoarce sub forma unui vector. Pentru cazul vectorilor proprii neliniari se recomandă liniarizarea problemei. 270 . Vectorul propriu este normalizat astfel încât lungimea sa (radical din suma pătratelor valorilor elementelor) să fie unitatea genvals(M.

Structura fişierului MathCAD care rezolvă problemele enunţate mai sus este redată în continuare în figura 18-1. Se mai atrage atenţia asupra modalităţilor de notare a indicilor. În exemplu numele fişierului structurat din care se face citirea este v_p. iar în a doua etapă. dar este evident că se poate folosi şi un alt nume. Ceea ce este important este ca fişierul să se găsească în directorul de lucru al MathCAD. ORIGIN pe 271 . se vor calcula valorile şi vectorii proprii asociaţi problemei generalizate de valori şi vectori proprii pentru matricele M şi N. Fişierul de date va avea următorul conţinut : 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 Un astfel de fişier se poate obţine cu ajutorul unui editor ASCII cum ar fi Notepad. deoarece în documentul MathCAD prezentat se folosesc şi notaţiile cu indice de ordonare (operatorul [). dar şi cele cu indice de identificare (operatorul .Probleme de valori şi vectori proprii pentru problema de valori şi vectori proprii clasică. Se atrage atenţia asupra necesităţii de se seta variabila MathCAD valoarea 1.).prn.

se va urmări figura 18-2.Capitolul 18 Fig. 18-1 – Rezolvarea problemei de valori proprii de forma Mx=zx Pentru stabilirea vectorilor proprii. 272 . Se utilizează aceeaşi matrice M extrasă din matricea MM („citită” dintr-un fişier de date).

273 . documentul MathCAD va avea structura prezentată în figura 18-3. 18-2 – Determinarea vectorilor proprii pentru problema de tip Mx=zx Se atrage atenţia că figurile 18-1 şi 18-2 surprind zone ale unui singur fişier Mathcad. În ceea ce priveşte rezolvarea problemei generalizate.Probleme de valori şi vectori proprii Fig. Aceasta explică de exemplu prezenţa notaţiei z1 în figura 18-2 (e vorba despre primul element al vectorului z determinat pe parcursul figurii 18-1).

Capitolul 18 Fig. Pentru detalii se va urmări figura 18-4. 18-4 – Verificare normalităţii vectorilor proprii 274 . Fig. 18-3 – Problema de valori şi vectori proprii generalizată Se poate verifica faptul că Mathcad determină vectori proprii ce satisfac condiţia de normalitate.

New York.. Cambridge. Z. Nicolescu L. Rus I. Editura Tehnică.. Micula Ghe. C... J. Fireţeanu S... Editura Teora Bucureşti.. Bucureşti. Editura Didactică şi Pedagogică. Modal testing : Theory and practice. Conte S. Constantinescu I. Sandi H. Militaru. Broch J. CAD systems in mechanical and production engineering. Ewins D. D. Borse G. Stoka M.. Bucureşti. Prelucrarea matematică a datelor experimentale. Aplicaţii. Editura Tehnică Bucureşti. PWS Publishing Company. Teukolsky S. Rumşiski I. Elementary numerical analysis.... Addison Wesley 1993 11. Vetterling W.. Ghinea M. 1972 9. Ecuaţii diferenţiale şi integrale. Bruel & Kjaer 1980 3. Mechanical vibration & shock measurement. Calcul numeric-Grafică.. Boston.Bibliografie 1. 1965 6.. Luther H. Editura Tehnică Bucureşti.. Bucureşti. 1969 12. Cambridge University Press. 1982 16. I. Editura Militară. 1984 7. Ionescu D. 1989 10. Matlab. Concepte-Aplicaţii.. T. 1985 13. Pascariu I. Wilkes O.. Bucureşti. McMahon Ch. Bucureşti. J. Press W. Editura Didactică şi Pedagogică. D... 1997 2... Heinemann Newns.. 1969 4. Golumbovici. Carnahan B.. 1980 5. Applied numerical methods. Numerical methods with Matlab : a resource for scientists and engineers. Matematici pentru ingineri. New York.. Prelucrarea datelor experimentale cu calculatoare numerice. 1975 275 .. Metode matriciale în mecanica structurilor. McGraw Hill. CAD-CAM-From principles to practice. Elemente Finite.. London. 1974 15. 1995 8. V.. Ingham P. Ionescu B. Numerical recipes in C -The art of scientific computing. A. Flannery B. John Wiley. Editura Tehnică. Browne J. Probleme de ecuaţii diferenţiale şi cu derivate parţiale. Pavel P. John Wiley & Sons.. J. 1992 14..

**** Documentaţie Mathcad 276 . Probleme de matematici pentru ingineri. 1977 18.. Bucureşti.Capitolul 18 17. Editura Tehnică. Trandafir R.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->