mathcad.pdf

276
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

description

Mathcad

Transcript of mathcad.pdf

Page 1: mathcad.pdf

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

Page 2: mathcad.pdf

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

Page 3: mathcad.pdf

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

Page 4: mathcad.pdf

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

Page 5: mathcad.pdf

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

Page 6: mathcad.pdf

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

Page 7: mathcad.pdf

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

Page 8: mathcad.pdf

8

Page 9: mathcad.pdf

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

Page 10: mathcad.pdf

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

Page 11: mathcad.pdf

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

Page 12: mathcad.pdf

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

Page 13: mathcad.pdf

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

Page 14: mathcad.pdf

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

Page 15: mathcad.pdf

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( dxx , 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

Page 16: mathcad.pdf

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).

Page 17: mathcad.pdf

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

Page 18: mathcad.pdf

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).

Page 19: mathcad.pdf

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)

Page 20: mathcad.pdf

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ţă.

Page 21: mathcad.pdf

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.

Page 22: mathcad.pdf
Page 23: mathcad.pdf

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

Page 24: mathcad.pdf

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

Page 25: mathcad.pdf

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

Page 26: mathcad.pdf

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.

Page 27: mathcad.pdf

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

Page 28: mathcad.pdf

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

10307 ş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ă

Page 29: mathcad.pdf

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 amin , 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 a1) unde indicele “1” “spune” că este vorba de prima valoare

dintr-un şir (sau primul element al unui vector), dar se poate scrie şi a.1 (se va vedea

3.2.4 Variabile

Page 30: mathcad.pdf

Capitolul 3

30

tot a1), 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

Page 31: mathcad.pdf

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.

Page 32: mathcad.pdf

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ă”.

Page 33: mathcad.pdf

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

Page 34: mathcad.pdf

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

Page 35: mathcad.pdf

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

Page 36: mathcad.pdf

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

Page 37: mathcad.pdf

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

Page 38: mathcad.pdf

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

Page 39: mathcad.pdf

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)

Page 40: mathcad.pdf

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

Page 41: mathcad.pdf

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

Page 42: mathcad.pdf

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

Page 43: mathcad.pdf

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

Page 44: mathcad.pdf

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

Page 45: mathcad.pdf

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

Page 46: mathcad.pdf

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

Page 47: mathcad.pdf

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 10n, 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

Page 48: mathcad.pdf

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

Page 49: mathcad.pdf

Documente MathCAD

49

a.

b.

Fig. 3-24 – Afişare de matrice

Page 50: mathcad.pdf

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 231 (sau aproximativ 2*109).

Page 51: mathcad.pdf

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,amax()b,amin( −< 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.

Page 52: mathcad.pdf

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

Page 53: mathcad.pdf

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

Page 54: mathcad.pdf

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

Page 55: mathcad.pdf

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

Page 56: mathcad.pdf

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).

Page 57: mathcad.pdf

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

Page 58: mathcad.pdf

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

Page 59: mathcad.pdf

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) :

Page 60: mathcad.pdf

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

Page 61: mathcad.pdf

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.

Page 62: mathcad.pdf

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 V0 sau A0,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

Page 63: mathcad.pdf

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 (Ai,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

Page 64: mathcad.pdf

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 Az ⋅ * Înmulţeşte fiecare element al

matricei A cu scalarul z

Produs de vectori vu ⋅ *

Întoarce un scalar egal cu

∑ ⋅ ii vu , unde u şi v sunt vectori

cu acelaşi număr de elemente

Produs matricial BA ⋅ * Efectuează produsul matricelor A

şi B

Înmulţire

vector/matrice vA ⋅ *

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

Page 65: mathcad.pdf

Calcul matriceal numeric

65

Operaţia Aspect Tasta Descriere

Ridicare la putere An ^

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 AT

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.

Page 66: mathcad.pdf

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

Page 67: mathcad.pdf

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).

Page 68: mathcad.pdf

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

Page 69: mathcad.pdf

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ă.

Page 70: mathcad.pdf

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 :

Page 71: mathcad.pdf

Calcul matriceal numeric

71

Norma L1 returnează cea mai mare sumă a elementelor de pe coloane, adică :

∑=

≤≤=

N

kkjNjmL

111 (max

Norma L2 returnează cea mai mare valoare singulară, adică :

)(,max)(2 MML σλλρ ∈== .

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.VT, unde det(U)=det(V)=1, iar matricea S are elemente nenule numai pe

diagonala principală. Aceste valori se numesc valori singulare ale matricei M.

Norma Euclidiană întoarce valoarea : ∑=N

kjjkF

mM,

2

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

∑=≤≤∞ =N

jkjNkmL

11(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

Page 72: mathcad.pdf

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 McondMnormMnorm =⋅ − , 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.

Page 73: mathcad.pdf

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

Page 74: mathcad.pdf

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.LT =A (deci LT=U din

descompunerea LU).

Obs : O matrice este pozitiv definită dacă are toate valorile proprii pozitive

Exemplu :

−−

−−

=

911019011091

0119

A

Dacă o matrice A se poate scrie ca :

A=Q.R,

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

sistemul :

A.x=b se poate la rândul său scrie:

Q.R.x=b şi apoi R.x=QT.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).VT

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/Sj)(UT.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)

Page 75: mathcad.pdf

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ă.

Page 76: mathcad.pdf

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 M0,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.

Page 77: mathcad.pdf

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

Page 78: mathcad.pdf

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

Page 79: mathcad.pdf

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

Page 80: mathcad.pdf

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

Page 81: mathcad.pdf

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

Page 82: mathcad.pdf

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:

Page 83: mathcad.pdf

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

Page 84: mathcad.pdf

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

Page 85: mathcad.pdf

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

Page 86: mathcad.pdf
Page 87: mathcad.pdf

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

Page 88: mathcad.pdf

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

Page 89: mathcad.pdf

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..:=

xi .5 i⋅:= yi xi( )2 5 xi⋅−:=

0 5 1020

0

20

40

60

yi

xi a. Reprezentarea unui vector funcţie

de alt vector

x 0 0.1, 5..:=

0 2 4 61

0

1

sin x2( )

x

b. Reprezentarea unei expresii funcţie de o variabilă de tip scalar

x 0 .1, 20..:=

f x( ) esin x( ) cos x( )+ esin x( ) cos x( )−−:=

0 5 10 15 205

0

5

f x( )

x

c. Reprezentarea unei funcţii

x 0 .1, 20..:=

f x( ) esin x( ) cos x( )+ esin x( ) cos x( )−−:=

g x( ) esin x( ) cos x( )+ esin x( ) cos x( )−+:=

0 5 10 15 205

0

5

10

f x( )

g x( )

x

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

Page 90: mathcad.pdf

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

Page 91: mathcad.pdf

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.

Page 92: mathcad.pdf

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

Page 93: mathcad.pdf

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

Page 94: mathcad.pdf

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

Page 95: mathcad.pdf

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.

Page 96: mathcad.pdf

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.

Page 97: mathcad.pdf

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.

Page 98: mathcad.pdf

Capitolul 5

98

a.

b.

Fig. 5-10 – Facilitatea zoom

Page 99: mathcad.pdf

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ţă

Page 100: mathcad.pdf

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.

Page 101: mathcad.pdf

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

Page 102: mathcad.pdf

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

Page 103: mathcad.pdf

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

Page 104: mathcad.pdf

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)

Page 105: mathcad.pdf

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)

Page 106: mathcad.pdf

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

Page 107: mathcad.pdf

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

Page 108: mathcad.pdf

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

Page 109: mathcad.pdf

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

Page 110: mathcad.pdf

Capitolul 5

110

Fig. 5-28 – Secţiunea Axes

Fig. 5-29 – Secţiunea Appearance

Page 111: mathcad.pdf

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

Page 112: mathcad.pdf

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).

Page 113: mathcad.pdf

Reprezentări grafice

113

Fig. 5-32 – Secţiunea Special

Page 114: mathcad.pdf

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

Page 115: mathcad.pdf

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

Page 116: mathcad.pdf

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

Page 117: mathcad.pdf

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

Page 118: mathcad.pdf

Capitolul 6

118

Pentru rezolvarea ecuaţiilor de forma:

0)( =xP , unde

nn xaxaxaaxP ⋅+⋅+⋅+= ....)( 2

210

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:

0225.0 2 =⋅−⋅− xx

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)( =xf , sau )()( xgxf = , 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

Page 119: mathcad.pdf

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

Page 120: mathcad.pdf

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: bxA =⋅ , 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ă bAx ⋅= −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

Page 121: mathcad.pdf

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

121

În figura 6-4 este prezentat un exemplu de rezolvare sistemului:

=+++−=⋅+−+⋅

=⋅−⋅+−=+⋅+−⋅

5.45.25.15.0

03275.25.02

uzyxuzyx

uyxuzyx

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(x1, x2, x3,…xn), unde x1, x2, x3,…xn sunt necunoscutele

căutate. Funcţia Find se utilizează în cadrul unei secvenţe de forma:

x1:= a1 x2:=a2 xn:=an estimare iniţială a soluţiei (ca în cazul funcţiei

root)

Given

Ecuaţii….

6.4 Rezolvarea sistemelor neliniare

Page 122: mathcad.pdf

Capitolul 6

122

[Constrângeri…] opţionale

Find(x1, x2, x3,…xn)

Î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 =

Page 123: mathcad.pdf

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.

Page 124: mathcad.pdf

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

Page 125: mathcad.pdf

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ă

Page 126: mathcad.pdf

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.

Page 127: mathcad.pdf

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ă

Page 128: mathcad.pdf

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

Page 129: mathcad.pdf

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

129

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

Page 130: mathcad.pdf
Page 131: mathcad.pdf

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

Page 132: mathcad.pdf

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

Page 133: mathcad.pdf

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ă

Page 134: mathcad.pdf

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/sec2 (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

Page 135: mathcad.pdf

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/sec2, 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

Page 136: mathcad.pdf

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ă

Page 137: mathcad.pdf

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).

Page 138: mathcad.pdf

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

Page 139: mathcad.pdf

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

Page 140: mathcad.pdf
Page 141: mathcad.pdf

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

Page 142: mathcad.pdf

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

Page 143: mathcad.pdf

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);

Page 144: mathcad.pdf

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);

Page 145: mathcad.pdf

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

Page 146: mathcad.pdf

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.

Page 147: mathcad.pdf

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

Page 148: mathcad.pdf

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

Page 149: mathcad.pdf

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

Page 150: mathcad.pdf

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.

Page 151: mathcad.pdf

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

Page 152: mathcad.pdf

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

Page 153: mathcad.pdf

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

Page 154: mathcad.pdf

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

Page 155: mathcad.pdf

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);

Page 156: mathcad.pdf

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);

Page 157: mathcad.pdf

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.

Page 158: mathcad.pdf

Capitolul 9

158

Fig. 9-25 – Impunerea unei clauze WHERE

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

Page 159: mathcad.pdf

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

Page 160: mathcad.pdf

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

Page 161: mathcad.pdf

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.

Page 162: mathcad.pdf

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

Page 163: mathcad.pdf

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

Page 164: mathcad.pdf

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.

Page 165: mathcad.pdf

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

Page 166: mathcad.pdf

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

Page 167: mathcad.pdf

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

Page 168: mathcad.pdf
Page 169: mathcad.pdf

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

Page 170: mathcad.pdf

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ă

Page 171: mathcad.pdf

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.

Page 172: mathcad.pdf

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ă.

Page 173: mathcad.pdf

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)

Page 174: mathcad.pdf

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.

Page 175: mathcad.pdf

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

Page 176: mathcad.pdf

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

Page 177: mathcad.pdf

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

Page 178: mathcad.pdf

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

Page 179: mathcad.pdf

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

Page 180: mathcad.pdf

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

Page 181: mathcad.pdf

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

Page 182: mathcad.pdf

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)

Page 183: mathcad.pdf

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

Page 184: mathcad.pdf
Page 185: mathcad.pdf

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

Page 186: mathcad.pdf

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ă

Page 187: mathcad.pdf

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

Page 188: mathcad.pdf

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ă

Page 189: mathcad.pdf

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

Page 190: mathcad.pdf

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:

Page 191: mathcad.pdf

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

Page 192: mathcad.pdf

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

Page 193: mathcad.pdf

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 msunt 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 varprecizează 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:

∫+∞

∞−

−⋅ dtetf tiω)( , unde f(t) este funcţia pentru care se determină

transformata Fourier. Exemple:

Page 194: mathcad.pdf

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:

∫+∞

∞−

⋅⋅ ωωπ

ω deF ti)(21

, 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

)( dtetf ts , 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

ts dsesFσ

σπ)(

21

, unde F(s) este funcţia pentru care se

determină transformata inversă. Exemple:

Page 195: mathcad.pdf

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

nznf , 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 dzzzFi

1)(2

, unde F(z) este funcţia pentru care se

determină transformata inversă. Exemple:

Page 196: mathcad.pdf

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 xT(t) şi a semnalului numeric

xd(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) xT(t) xd(t)

∑∞

=

−⋅=0

][)(n

nznxzX

Page 197: mathcad.pdf

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.

t0 T 2T 3T nT

Page 198: mathcad.pdf

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)(cosh1)(cos)(sin

22

22

=−

=+

xxxx

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

Page 199: mathcad.pdf

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:

Page 200: mathcad.pdf

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

Page 201: mathcad.pdf

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

Page 202: mathcad.pdf

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

Page 203: mathcad.pdf

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

Page 204: mathcad.pdf

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:

Page 205: mathcad.pdf

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

Page 206: mathcad.pdf

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.

Page 207: mathcad.pdf

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

Page 208: mathcad.pdf

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

Page 209: mathcad.pdf

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).

Page 210: mathcad.pdf

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

Page 211: mathcad.pdf

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 FRAMEmin/10, FRAMEmax/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

Page 212: mathcad.pdf

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

Page 213: mathcad.pdf

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.

Page 214: mathcad.pdf
Page 215: mathcad.pdf

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

Page 216: mathcad.pdf

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

Page 217: mathcad.pdf

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

Page 218: mathcad.pdf
Page 219: mathcad.pdf

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

Page 220: mathcad.pdf

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

Page 221: mathcad.pdf

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).

Page 222: mathcad.pdf

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

Page 223: mathcad.pdf

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.

Page 224: mathcad.pdf

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

Page 225: mathcad.pdf

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

Page 226: mathcad.pdf

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ă

Page 227: mathcad.pdf

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

Page 228: mathcad.pdf

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

Page 229: mathcad.pdf

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.

Page 230: mathcad.pdf

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ă).

Page 231: mathcad.pdf

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

Page 232: mathcad.pdf

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=x0<x1<…xn=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 xk, ce nu se suprapun peste reţeaua de puncte x0<x1<…xn,deci xi-1<xk<xi, se

obţin în ipoteza că punctele yi 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

Page 233: mathcad.pdf

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 (vx, vy, x), unde :

• vx este un vector real cu valorile în ordine crescătoare. El corespunde valorilor

de pe abscisă (x);

• vy este un vector real, cu acelaşi număr de elemente ca şi vx. 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

Page 234: mathcad.pdf

Capitolul 16

234

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

• vx, 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 vs conţine derivatele de ordinul 2 corespunzătoare traseului descris de

datele y=y(x), necesar pentru determinarea pantelor curbelor spline în

punctele xi, 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(vx, vy), întoarce un vector al derivatelor de ordinul 2, notat cu vs,

pentru datele conţinute în vectorii vx şi vy. 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(vx, vy), întoarce acelaşi vector vs ca şi funcţia cspline, cu

deosebirea că la capetele intervalului de analiză, curba splină va fi

parabolică.

• lspline(vx, vy), întoarce acelaşi vector vs 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 xi, respectiv yi.

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

Page 235: mathcad.pdf

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 yi, 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

Page 236: mathcad.pdf

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 vx şi vy, 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=x0<x1<…xn=b,

respectiv c=y0<y1<…yn=d.

Fig. 16-4 - Graficele curbelor de interpolare

16.2 Interpolarea datelor în 3 dimensiuni

Page 237: mathcad.pdf

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ă Mz î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 Mxy.

• 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ă Mz, 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

Page 238: mathcad.pdf

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 Mz 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 (Mz), 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 Mz) şi celelalte 3, corespunzând suprafeţelor obţinute prin interpolare, cu una

din metodele (funcţiile) descrise mai sus.

Page 239: mathcad.pdf

Interpolarea şi extrapolarea datelor. Metode de regresie.

239

Fig. 16-5 – Interpolarea 3D

Page 240: mathcad.pdf

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=x0<x1<…xn=b, din interiorul intervalului.

16.3 Extrapolarea datelor

Page 241: mathcad.pdf

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.0sin(i

i eif−

⋅⋅= , 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 fi, 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.

Page 242: mathcad.pdf

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 yi=y(xi).

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ă

Page 243: mathcad.pdf

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ă)

Page 244: mathcad.pdf

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.

Page 245: mathcad.pdf

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.

Page 246: mathcad.pdf

Capitolul 16

246

Fig. 16-9 – Regresie polinomială

În figura 16-10 sunt prezentate punctele (Yi) precum şi datele obţinute prin regresie.

Page 247: mathcad.pdf

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.

Page 248: mathcad.pdf

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ă)

Page 249: mathcad.pdf

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) f1(x),

f2(x),……..fn(x), se pune problema determinării coeficienţilor a1, a2,……..an, astfel încât

combinaţia liniară

∑=

⋅=⋅+⋅+⋅n

iiinn xfaxfaxfaxfa

12211 )()(...)()(

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 ai 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 fi. 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

Page 250: mathcad.pdf

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 ex. Î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 :

xex

xxxcombf ⋅⋅++

⋅+⋅+⋅= −410587.31

116.9)sin(909.0684.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 Yi(Xi).

Page 251: mathcad.pdf

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

Page 252: mathcad.pdf

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

22

10 )1()( xaxaxaexf +⋅+⋅+⋅=

Documentul MathCAD arăta ca în figura 16-14.

Page 253: mathcad.pdf

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 (Yi/Xi), 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 ai ş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.

Page 254: mathcad.pdf

Capitolul 16

254

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

Page 255: mathcad.pdf

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

Page 256: mathcad.pdf

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

Page 257: mathcad.pdf

Prelucrarea semnalelor - Analiza Fourier

257

Fig. 17-1 – Semnal în domeniul timpului

Pentru acest semnal, se poate găsi o expresie analitică de forma :

)()()( dtttf −Φ−Φ= ,

unde

Φ(t) este funcţia treaptă data de relaţia :

<

=Φrestin

xpentrut

,10,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 ( 00)( ≠= xdacaxDirac ), se poate ajunge la o expresie mai simplă şi

anume:

Page 258: mathcad.pdf

Capitolul 17

258

ω

ωωω ⋅⋅−⋅+

−= dieiif :)(

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

Page 259: mathcad.pdf

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 )()()( dtttf −Φ−Φ= .

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 :

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

17.2 Calculul Transformării Fourier Discrete

Page 260: mathcad.pdf

Capitolul 17

260

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 :

tfc ∆⋅=

21

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.

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

Page 261: mathcad.pdf

Prelucrarea semnalelor - Analiza Fourier

261

fft(v)

Întoarce transformata Fourier a vectorului v. Vectorul v trebuie să

aibă 2m elemente reale, astfel că transformata va avea 1+2m-1

elemente.

Elementul de ordin j este dat de relaţia :

∑ ⋅⋅=k

knji

kj evn

c)2(1 π

FFT(v)

Întoarce transformata Fourier a vectorului v. Vectorul sau matricea

trebuie să aibă 2m elemente reale.

Elementul de ordin j este dat de relaţia :

∑−

⋅⋅=k

knji

kj evn

c)2(1 π

cfft(A)

Întoarce transformata Fourier a unui vector sau a unei matrice. Dacă

argumentul A este vector, el trebuie să aibă 2m elemente reale sau

complexe, astfel că transformata va avea 1+2m-1 elemente.

Transformata are acelaşi număr de linii şi coloane ca şi matricea iniţială.

Elementul de ordin j este dat de relaţia :

∑ ⋅⋅=k

knji

kj evn

c)2(1 π

CFFT(A)

Întoarce transformata Fourier a unui vector sau a unei matrice. Dacă

argumentul A este vector, el trebuie să aibă 2m elemente reale sau

complexe, astfel că transformata va avea 1+2m-1 elemente.

Transformata are acelaşi număr de linii şi coloane ca şi matricea iniţială.

Elementul de ordin j este dat de relaţia :

∑−

⋅⋅=k

knji

kj evn

c)2(1 π

Page 262: mathcad.pdf

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 fs=1/∆t

- Numărul de eşantioane considerate, N

În aceste condiţii, frecvenţa asociată cu elementul j al transformatei este :

sk fNjc ⋅=

Pentru a evita fenomenul de “aliasing”, trebuie ca frecvenţa de eşantionare să fie mai

mică decât frecvenţa Nyquist, deci :

tff cs ∆⋅=<

21

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 + -)

Page 263: mathcad.pdf

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 2m elemente (m>2), iar vectorii x şi y au numai 38 de

elemente. Va fi necesară o “îndesire” a elementelor celor doi vectori şi acest lucru se va

realiza prin interpolarea liniară a lui x şi y.

Page 264: mathcad.pdf

Capitolul 17

264

Fig. 17-6 – Semnalul iniţial

Page 265: mathcad.pdf

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ă

Page 266: mathcad.pdf

Capitolul 17

266

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

Page 267: mathcad.pdf

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

Page 268: mathcad.pdf

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ă :

xzxA ⋅=⋅ (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ă :

0det =⋅− IzA (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

21

22221

11211

=

−−

nnnnn

n

n

x

xx

zaaa

azaaaaza

(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ă

Page 269: mathcad.pdf

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 :

≠=

=⋅⋅⋅⋅jidacajidaca

xMx jjTii ,0

,1αα , unde (4)

xi şi xj 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 :

xzAx ⋅=⋅ (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 :

xBzxA ⋅⋅=⋅ (6)

Dacă matricea B nu este singulară, relaţia (6) se mai poate scrie :

xzxAB ⋅=⋅⋅− )( 1

(7)

18.2 Valori şi vectori proprii generalizaţi

Page 270: mathcad.pdf

Capitolul 18

270

O generalizare a problemelor de valori şi vectori proprii este cazul descris de ecuaţia :

0)( 2 =⋅+⋅+⋅ xCBA λλ (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ă.

Page 271: mathcad.pdf

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 .).

Page 272: mathcad.pdf

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).

Page 273: mathcad.pdf

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 z1 î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.

Page 274: mathcad.pdf

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

Page 275: mathcad.pdf

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

Page 276: mathcad.pdf

Capitolul 18

276

17. Trandafir R., Probleme de matematici pentru ingineri, Editura Tehnică, Bucureşti,

1977

18. **** Documentaţie Mathcad