Aplicata in Inginerie Mathcad 2001

396
EDITURA UNIVERSITĂŢII ”TRANSILVANIA” DIN BRAŞOV 2004

description

Aplicata in Inginerie Mathcad

Transcript of Aplicata in Inginerie Mathcad 2001

Page 1: Aplicata in Inginerie Mathcad 2001

EDITURA UNIVERSITĂŢII ”TRANSILVANIA” DIN BRAŞOV

2004

Page 2: Aplicata in Inginerie Mathcad 2001

EDITURA UNIVERSITĂŢII ”TRANSILVANIA” DIN BRAŞOV

2004

Page 3: Aplicata in Inginerie Mathcad 2001

3

PREFAŢĂ

De la pachetele de programe dedicate rezolvării numerice a unor clase de probleme de

natură matematică ca: Turbo Numerical Methods Toolbox, Borland International, Inc. apărute cu

mai bine de cincisprezece ani în urmă, sau altele scrise în Fortran, deja funcţionale în anii 70,

până la ultimele medii matematice de uz general: Mathcad 11, Matlab 6.5.1, Maple 9.0 şi

Mathematica 5, complexitatea acestor produse a crescut spectaculos. După o evoluţie care

depăşeşte un deceniu cele patru, dominante pe piaţa software-ului matematic, au ajuns la

maturitate. Cu mici deosebiri acestea au următoarele caracteristici: sunt medii de dezvoltare

complete; efectuează calcule numerice şi simbolice; posedă biblioteci foarte bogate de funcţii

predefinite care sunt şi extensibile; sunt dotate cu instrumente de vizualizare a datelor în 2D, 3D

şi animaţii; posedă instrumente de programare relativ puternice; sunt integrate complet Windows

şi cu medii de programare, proiectare uzual utilizate în inginerie; sunt integrate Web; oferă

suport MathML; prin intermediul unor add-on-uri li se măreşte funcţionalitatea (în general sunt

disponibile zeci de add-on-uri care conţin funcţii specializate pentru rezolvarea problemelor

inginereşti sau de altă natură); au module specializate pentru modelarea şi simularea sistemelor

dinamice complexe; oferă suport pentru achiziţii de date; au capacitatea de a produce şi compila

cod C.

Dintre acestea, Mathcad se remarcă prin gradul înalt de ergonomicitate intelectuală,

versatilitate şi completitudine, caracteristici care ne-au determinat să-l alegem ca mediu de

implementare a aplicaţiilor efectuate de studenţii anilor II la disciplina Informatică Aplicată în

Inginerie II, existentă în planurile de învăţământ ale specializărilor Tehnologia Construcţiilor

de Maşini, Productică şi Construcţii Aeronave. Având în vedere caracteristicile enumerate

mai sus, considerăm că Mathcad este mediul matematic ideal pentru un începător în domeniu,

care nu are cunoştinţe profunde nici în domeniul matematicii, nici în cel al informaticii.

Lucrarea este structurată în trei părţi: “Fundamente”, ”Aplicaţii”, ”Managementul datelor

şi programelor în Mathcad 2001”. În mare, autorul celei de a doua părţi este C. Morariu, iar al

celorlalte două T.Păunescu.

În prima parte sunt abordate fundamentele Mathcad 2001: este prezentat IDE; foia de

lucru; operarea cu regiunile matematice şi text; lucrul cu unităţile de măsură; operatorii şi

funcţiile predefinite destinate: calculelor numerice, vectorilor şi matricelor, şirurilor de caractere,

Page 4: Aplicata in Inginerie Mathcad 2001

4

reprezentărilor grafice 2D şi 3D, obiectelor şi fişierelor imagine; programarea în Mathcad 2001;

efectuarea calculelor simbolice.

Partea a doua se concentrează pe aplicaţii la nivelul cunoştinţelor studenţilor cu

profilurile inginerie tehnologică, inginerie mecanică din anii I, II şi tratează: precizia calculelor

iterative; rezolvarea ecuaţiilor şi sistemelor; optimizări prin programare matematică; interpolări

şi regresii; rezolvarea ecuaţiilor diferenţiale, calcule în complex, combinatorică, statistică şi

probabilităţi. Pentru cele mai importante funcţii sunt prezentate şi metodele numerice utilizate.

Ultima parte se ocupă de managementul datelor şi programelor în Mathcad 2001:

schimbul de date apelând la componente; accesarea Mathcad din altă aplicaţie care are suport

OLE2; referinţe; hyperlink-uri.

Pentru stăpânirea complexităţii şi o asimilare cât mai eficientă a numeroaselor funcţii,

comenzi, autorii au marcat informaţia esenţială cu simbolul E asociat de obicei capitolului sau

subcapitolului. Detaliile neesenţiale sunt marcate cu Suplimentar, indicaţiile care au efecte

benefice asupra calităţii aplicaţiei sunt marcate cu Sugestie, procedurile care măresc

productivitatea cu Rapid.

Am păstrat, în mare, succesiunea logică a capitolelor propusă de versiunile originale ale

manualelor utilizatorilor pentru Mathcad 7.0 ... 2001, cu unele modificări cum ar fi: programarea

a fost plasată în partea I deoarece noi o considerăm esenţială pentru abordarea unor probleme

care depăşesc nivelul elementar; nu am detaliat mediul vizual MathConnex din două motive:

avem rezerve asupra eficienţei lui în comparaţie cu alte medii similare, nu prezintă interes pentru

cititorii cărora le este adresată lucrarea.

În general, au fost cuprinse toate informaţiile necesare însuşirii Mathcad 2001 la nivelul

segmentului de cititori amintit mai sus. Astfel am asociat un glosar conţinând de termeni de

informatică, generali şi specifici mediilor matematice, adresele surselor de informare de pe web.

În final, recomandăm lucrarea studenţilor secţiilor de inginerie şi în special celor având

specializările: Tehnologia Construcţiilor de Maşini, Productică şi Construcţii Aeronave ca şi

tuturor celor care nu au mai abordat un mediu matematic şi care intenţionează să folosească

Mathcad 2001 pentru aplicaţiile matematice, în proiectele tehnice, în cercetare şi în activitatea

didactică.

primăvara anului 2004 Autorii

Page 5: Aplicata in Inginerie Mathcad 2001

5

CUPRINS

PARTEA I

FUNDAMENTE MATHCAD 2001

1. MEDII DE PROGRAMARE MATEMATICE ................................................................. 13 2. MATHCAD 2001 PREZENTARE GENERALĂ ............................................................. 17

2.1 Prezentare generală .................................................................................................... 17 2.2 Desktop-ul Mathcad 2001 .......................................................................................... 19 2.3 Help-ul şi alte surse de documentare ......................................................................... 23

2.3.1. Utilizarea Help-ului........................................................................................... 23 2.3.2. Resource Center ................................................................................................ 24 2.3.3. Cărţile electronice ............................................................................................. 25 2.3.4. Alte surse de documentare .............................................................................. 25

2.4 Principii de lucru şi elemente de operare în Mathcad................................................ 25 2.4.1. Principii de lucru............................................................................................... 25 2.4.2. Elemente de operare în Mathcad........................................................................ 26

2.4.2.1. Editarea regiunilor în Mathcad .............................................................. 26 2.4.2.2. Operaţii elementare în regiunile matematice ......................................... 30

3. FOAIA DE LUCRU .......................................................................................................... 36

3.1 Modelul foii de lucru ................................................................................................. 36 3.1.1. Deschiderea unei noi foi de lucru ...................................................................... 36 3.1.2. Modificarea unui model ..................................................................................... 37

3.2 Setarea layout-ului foii de lucru ................................................................................ 37 3.2.1. Setarea dimensiunii foii de lucru, orientării, marginilor.................................... 38 3.2.2. Separatorii foii de lucru...................................................................................... 38 3.2.3. Antete şi subsoluri.............................................................................................. 38

3.3 Finisarea aspectului foii de lucru ............................................................................. 40 3.3.1. Alinierea regiunilor ............................................................................................ 40 3.3.2. Separarea regiunilor suprapuse .......................................................................... 40 3.3.3. Introducerea, ştergerea de linii libere................................................................. 41 3.3.4. Modificarea culorii fondului foii de lucru, regiunilor........................................ 42

3.4 Structurarea regiunilor .............................................................................................. 42 3.4.1. Inserarea unui bloc de regiuni............................................................................ 43 3.4.2. Proprietăţile blocului de regiuni......................................................................... 43

3.4.2.1 Ascunderea conţinutului (contractarea) blocului de regiuni................... 43 3.4.2.2. Relevarea conţinutului (expandarea) blocului de regiuni ...................... 44 3.4.2.3. Încuierea blocului de regiuni ................................................................. 44 3.4.2.3. Setări grafice ale blocurilor de regiuni .................................................. 45

4. OPERAREA CU REGIUNILE MATEMATICE ŞI TEXT .............................................. 46

4.1 Lucrul cu regiunile matematice ................................................................................ 46 4.1.1. Numerele în Mathcad......................................................................................... 46

4.1.1.1. Numere definite de utilizator ................................................................. 46 4.1.1.2. Constante matematice predefinite.......................................................... 47

4.1.2. Nume de variabile şi de funcţii .......................................................................... 48 4.1.2.1. Nume predefinite de variabile şi de funcţii............................................ 48 4.1.2.2. Nume definite de utilizator ale variabilelor şi funcţiilor ....................... 49

4.1.3. Construirea şi editarea expresiilor...................................................................... 49 4.1.3.1. Construirea expresiilor........................................................................... 49

Page 6: Aplicata in Inginerie Mathcad 2001

6

4.1.3.2. Editarea expresiilor ............................................................................... 52 4.1.4. Stilurile regiunilor matematice........................................................................... 56

4.1.4.1. Editarea stilului regiunilor matematice.................................................. 56 4.1.4.2. Definirea stilului utilizatorului .............................................................. 56

4.1.5. Formatarea rezultatelor ...................................................................................... 57 4.1.5.1. Formatarea unui rezultat ........................................................................ 57 4.1.5.2. Formatarea tuturor rezultatelor .............................................................. 60

4.1.6. Definiri locale, globale, modul de procesare a foii de lucru ............................. 61 4.1.6.1. Definiri locale ....................................................................................... 61 4.1.6.2. Definiri globale..................................................................................... 61 4.1.6.3. Modul de procesare a foii de lucru ....................................................... 61

4.1.7. Efectuarea calculelor numerice în Mathcad ....................................................... 62 4.1.7.1. Controlul desfăşurării calculelor............................................................ 62 4.1.7.2. Efectuarea calculelor iterative ............................................................... 63 4.1.7.3. Recursivitatea în Mathcad ..................................................................... 64 4.1.7.4. Mesaje de eroare în calcule numerice.................................................... 65

4.2. Lucrul cu regiunile text.............................................................................................. 66 4.2.1. Editarea textelor ............................................................................................... 66

4.2.1.1. Crearea unei regiuni text........................................................................ 66 4.2.1.2. Controlul lăţimii regiunii text ................................................................ 67 4.2.1.3. Controlul suprapunerii cu alte regiuni, marcarea cu culoare de fond şi bordurarea ........................................................................................................... 67 4.2.1.4. Căutarea şi înlocuirea unor caractere din regiuni text ........................... 67 4.2.1.5. Verificarea corectitudinii scrierii cuvintelor (spell checking) ............... 68

4.2.2. Formatarea textelor .......................................................................................... 69 4.2.3. Stiluri ale regiunilor text .................................................................................. 70 5. UNITĂŢI DE MĂSURĂ .................................................................................................. 71

5.1 Ataşarea unităţilor de măsură .................................................................................... 71 5.2 Conversia unităţilor.................................................................................................... 72 5.3 Definirea de noi unităţi .............................................................................................. 72 5.4 Redenumirea unităţilor .............................................................................................. 73 5.5 Observaţii privitoare la lucrul cu unităţile de măsură................................................ 73

6. OPERATORI ŞI FUNCŢII PREDEFINITE UTILIZAŢI ÎN CALCULE NUMERICE .. 75

6.1 Operatori .................................................................................................................... 75 6.1.1. Lucrul cu operatorii Mathcad .......................................................................... 75

6.1.1.1. Modificarea aspectului operatorilor....................................................... 75 6.1.1.2. Definirea de noi operatori ...................................................................... 75

6.1.2. Operatori aritmetici şi booleeni ....................................................................... 77 6.1.3. Operatori pentru sume şi produse ................................................................... 77

6.1.3.1. Sume, produse cu index unitar............................................................... 77 6.1.3.2. Sume, produse cu index neunitar........................................................... 78 6.1.3.3. Sume, produse cu condiţie logică asociată ............................................ 78

6.1.4. Operatori pentru derivare................................................................................. 78 6.1.4.1. Derivarea numerică................................................................................ 78 6.1.4.2. Operatori pentru derivarea numerică ..................................................... 82

6.1.5. Operatori pentru integrare................................................................................ 86 6.1.5.1. Generalităţi despre integrarea numerică ................................................ 86 6.1.5.2. Formule de cuadratură pentru calculul integralelor............................... 86 6.1.5.3. Formule de cubatură pentru calculul integralelor .................................. 91 6.1.5.4. Operatori pentru integrarea numerică .................................................... 92

Page 7: Aplicata in Inginerie Mathcad 2001

7

6.2. Funcţii predefinite ..................................................................................................... 96 6.2.1. Inserarea funcţiilor predefinite......................................................................... 96 6.2.2. Funcţii predefinite create de utilizator ............................................................. 96 6.2.3. Principalele categorii de funcţii matematice predefinite ................................. 97

7. VECTORI ŞI MATRICE................................................................................................... 98

7.1. Crearea de vectori şi matrice ................................................................................... 98 7.1.1. Crearea V&M neimbricate............................................................................... 98

7.1.1.1. Crearea V&M prin definirea individuală a elementelor ........................ 98 7.1.1.2. Crearea V&M prin paleta ” Vector and Matrix” ................................... 98 7.1.1.3. Crearea V&M prin introducerea datelor într-un tabel ........................... 99 7.1.1.4. Crearea V&M prin VPA........................................................................ 99 7.1.1.5. Crearea V&M prin funcţia Matrix, CreateMesh, CreateSpace ............. 100 7.1.1.6. Crearea V&M prin citirea unui fişier..................................................... 100 7.1.1.7. Crearea V&M prin import de date într-un tabel .................................... 101 7.1.1.8. Generarea unor matrice speciale ........................................................... 102 7.1.1.9. Generarea unor V&M din alte matrice ................................................. 102

7.1.2 Crearea V&M imbricate ................................................................................... 102 7.2. Accesarea şi afişarea rezultatelor indexate ............................................................... 103

7.2.1. Accesarea elementelor V&M........................................................................... 103 7.2.2. Afişarea elementelor V&M ............................................................................. 103

7.3. Căutarea de valori în V&M ...................................................................................... 104 7.4. Copierea, lipirea elementelor V&M .......................................................................... 105 7.5. Modificarea dimensiunilor vectorilor şi matricelor ................................................... 106 7.6. Funcţii vectoriale şi matriceale .................................................................................. 106

7.6.1. Funcţii de analiză matriceală ........................................................................... 106

7.6.1.1. Mărimea matricelor ............................................................................... 106 7.6.1.2. Rangul matricelor .................................................................................. 107 7.6.1.3. Inversa unei matrice............................................................................... 107 7.6.1.4. Sortări ale elementelor V&M ................................................................ 107 7.6.1.5. Calculul normelor vectorilor şi matricelor ............................................ 108 7.6.1.6. Condiţionarea unei matrice.................................................................... 108

7.6.2. Descompunerea şi factorizarea matricelor....................................................... 108 7.6.2.1. Valori şi vectori proprii ......................................................................... 108 7.6.2.2. Calculul valorilor singulare ................................................................... 109 7.6.2.3. Factorizări .............................................................................................. 109

7.7. Operatori vectoriali şi matriceali ............................................................................... 109 7.8. Reprezentarea grafică a vectorilor şi matricelor ........................................................ 111

7.8.1. Reprezentarea grafică a vectorilor ................................................................... 111 7.8.2. Reprezentarea grafică a matricelor .................................................................. 111

8. ŞIRURI DE CARACTERE ............................................................................................... 112

8.1. Definiri ......................................................................................................................... 112 8.1.1. Definiri de variabile cu valori SC .................................................................... 112 8.1.2. Definiri de funcţii cu argumente SC ................................................................ 113 8.1.3. Definiri de vectori, matrice cu elemente SC.................................................... 113

8.2. Funcţii pentru operarea cu SC...................................................................................... 113

8.2.1. Funcţii generale................................................................................................ 113 8.2.2. Funcţii de conversie ......................................................................................... 114

8.3. Operatori pentru SC ..................................................................................................... 115 9. REPREZENTĂRI GRAFICE ÎN MATHCAD.................................................................. 116

9.1. Reprezentări grafice 2D .............................................................................................. 116

Page 8: Aplicata in Inginerie Mathcad 2001

8

9.1.1. Etapele reprezentării unor grafice 2D cu parametri impliciţi .......................... 116 9.1.2. Setarea domeniului reprezentării grafice 2D ................................................... 117 9.1.3. Multigrafice 2D................................................................................................ 119 9.1.4. Reprezentarea curbelor definite prin ecuaţii parametrice ................................ 119 9.1.5. Reprezentarea vectorilor, numerelor imaginare............................................... 119 9.1.6. Formatări în reprezentările carteziene ............................................................. 120 9.1.7. Formatări în reprezentările polare.................................................................... 122 9.1.8. ZOOM şi afişarea coordonatelor cursorului în graficele 2D, în coordonate carteziene sau polare ........................................................................... 123

9.1.8.1. ZOOM în graficele 2D........................................................................... 123 9.1.8.2. Afişarea coordonatelor cursorului în graficele 2D ................................ 124

9.2. Reprezentări grafice 3D ............................................................................................... 124 9.2.1. Reprezentarea graficelor 3D cu parametri impliciţi prin QUICK PLOT ........ 125 9.2.2. Reprezentarea graficelor 3D cu parametri impliciţi prin 3D PLOT WIZARD .................................................................................................. 125 9.2.3. Reprezentarea 3D a datelor.............................................................................. 127 9.2.4. Reprezentarea suprafeţelor .............................................................................. 128

9.2.4.1. Principii de reprezentare a suprafeţelor ................................................. 128 9.2.4.2. Setarea domeniului reprezentării grafice 3D ......................................... 128 9.2.4.3. Reprezentarea poliedrelor uniforme ...................................................... 130

9.2.5. Reprezentarea curbelor .................................................................................... 131 9.2.5.1. Definirea analitică a curbelor................................................................. 131 9.2.5.2. Setarea domeniului reprezentării 3D a curbelor .................................... 131

9.2.6. Reprezentarea câmpurilor de vectori ............................................................... 133 9.2.6.1. Definirea discretă a câmpului vectorial ................................................. 133 9.2.6.2. Definirea câmpului vectorial prin funcţii .............................................. 133 9.2.6.3. Setări grafice specifice reprezentării Vector Field Plot ........................ 134

9.2.7. Formatări ale reprezentărilor grafice 3D............................................................ 135 9.2.7.1. Tab-ul General ....................................................................................... 135 9.2.7.2. Tab-ul Axes ........................................................................................... 136 9.2.7.3. Tab-ul Appearance................................................................................. 136 9.2.7.4. Tab-ul Lighting ..................................................................................... 137 9.2.7.5. Tab-ul Title ........................................................................................... 137 9.2.7.6. Tab-ul Backplanes ................................................................................. 137 9.2.7.7. Tab-ul Special ........................................................................................ 137 9.2.7.8. Tab-ul Advanced ................................................................................... 138

9.3. Editări ale graficelor, redimensionări, rotirea şi zoom-ul graficelor 3D ................... 139 9.4. Animaţii ....................................................................................................................... 139

10. OBIECTE ŞI FIŞIERE IMAGINE .................................................................................... 141 10.1. Inserarea obiectelor în foia de lucru........................................................................... 141 10.1.1. Inserarea prin comanda OBJECT..................................................................... 141

10.1.2. Inserarea prin lipire .......................................................................................... 142 10.1.3. Inserarea prin DRAG & DROP ....................................................................... 143 10.1.4. Inserarea imaginilor ......................................................................................... 143

10.1.4.1. Inserarea imaginilor în format bitmap (bmp) ...................................... 144 10.1.4.2. Inserarea imaginii unei matrice ........................................................... 144 10.2. Editarea unui obiect.................................................................................................... 144 10.3. Procesarea imaginilor ................................................................................................. 145

10.3.1. Citirea fişierului imagine şi conversia într-o matrice....................................... 145 10.3.2. Procesări ale imaginilor ................................................................................... 146

10.3.2.1. Procesări ale imaginilor prin intermediul funcţiilor

Page 9: Aplicata in Inginerie Mathcad 2001

9

şi operatorilor matriceali..................................................................................... 146 10.3.2.2. Procesări ale imaginilor prin intermediul paletei Picture Toolbar .................................................................................................. 147

10.3.3. Salvarea imaginilor modificate ........................................................................ 148

11. PROGRAMAREA ÎN MATHCAD................................................................................... 149 11.1. Proprietaţi generale ale programelor Mathcad ........................................................... 149 11.2. Elemente de editare a programelor Mathcad.............................................................. 150 11.3. Instrucţiuni ................................................................................................................. 151

11.3.1. Instrucţiunea condiţională ................................................................................ 151 11.3.2. Instrucţiuni repetitive ....................................................................................... 152

11.3.2.1 Instrucţiunea FOR ............................................................................... 152 11.3.2.2 Instrucţiunea WHILE ......................................................................... 153

11.3.3. Instrucţiuni pentru controlul execuţiei programului ........................................ 154 11.3.3.1. Instrucţiunea RETURN ...................................................................... 154 11.3.3.2. Instrucţiunea BREAK ........................................................................ 155 11.3.3.3. Instrucţiunea CONTINUE ................................................................. 156

11.3.4. Instrucţiuni pentru gestiunea erorilor ............................................................... 156 11.3.4.1. Instrucţiunea ON ERROR ................................................................. 156 11.3.4.2. Instrucţiunea ERROR ........................................................................ 157

11.4. Subprograme şi recursivitate...................................................................................... 157 11.4.1. Subprograme ................................................................................................... 157 11.4.2. Recursivitatea în Mathcad ............................................................................... 158

12. CALCULE SIMBOLICE................................................................................................... 159

12.1. Egalul simbolic........................................................................................................... 159 12.2. Egalul simbolic personalizat ...................................................................................... 160 12.3. Operaţiile simbolice predefinite în Mathcad 2001..................................................... 161 12.4. Modificatori ai operatorilor simbolici ........................................................................ 165 12.5. Utilizarea a mai multor operatori simbolici într-o regiune matematică ..................... 165 12.6. Operaţii simbolice prin intermediul meniului symbolic ............................................ 166 12.7. Optimizarea calculelor numerice prin intermediul operaţiilor simbolice .................. 167

PARTEA II

APLICAŢII ÎN MATHCAD 2001 13. PRECIZIA CALCULELOR ITERATIVE ........................................................................ 169

13.1. Elemente de teoria erorilor ......................................................................................... 169 13.1.1. Sistematizarea şi definirea erorilor de calcul numeric iterativ ...................... 169

13.1.1.1. Sistematizarea erorilor de calcul numeric iterativ ............................... 169 13.1.1.2. Definiri ale erorilor .............................................................................. 169 13.1.1.3. Numărul de cifre exacte ale unui număr aproximativ.......................... 170 13.1.1.4. Relaţia între eroarea relativă şi numărul de cifre exacte...................... 171

13.1.2. Ce este o metodă iterativă ? .......................................................................... 171 13.1.3. Criterii de oprire a iteraţiilor ......................................................................... 172

13.1.3.1. Calitatea condiţionării soluţiei ............................................................. 172 13.1.3.2. Criterii de oprire a iteraţiilor................................................................ 173

13.1.4. Rotunjirea numerelor ..................................................................................... 173 13.1.5. Eroarea absolută şi relativă a unei funcţii de mai multe variabile ................. 174 13.1.6. Erorile operaţiilor aritmetice elementare ....................................................... 174

13.1.6.1. Eroarea sumei ...................................................................................... 174 13.1.6.2. Eroarea produsului............................................................................... 175

Page 10: Aplicata in Inginerie Mathcad 2001

10

13.1.7. Problema directă şi inversă a erorilor ............................................................ 175 13.1.8. Recomandări privind controlul preciziei calculelor numerice....................... 175 13.1.9. Recomandări privind calculele iterative ........................................................ 176

13.2. Funcţii care efectuează trunchieri şi aproximaţii ...................................................... 176

14. REZOLVAREA ECUAŢIILOR ŞI SISTEMELOR......................................................... 177 14.1. Rezolvarea numerică iterativă a ecuaţiilor algebrice ................................................ 177

14.1.1. Metoda La Guèrre ......................................................................................... 181 14.1.2. Metoda companionului matriceal ................................................................. 183

14.2. Rezolvarea numerică iterativă a ecuaţiilor transcendente ......................................... 184 14.2.1. Metoda coardei ............................................................................................. 192

14.2.1.1. Metoda falsei poziţii ........................................................................... 192 14.2.1.2. Metoda coardei cu punct fix ............................................................... 193

14.3. Rezolvarea numerică a sistemelor de ecuaţii liniare ................................................ 195 14.3.1. Metoda lui Crout ........................................................................................... 197 14.3.2. Metoda de eliminare a lui Gauss ................................................................... 199

14.4. Rezolvarea numerică iterativă a sistemelor de ecuaţii neliniare ............................... 201 14.4.1. Metoda Newton ............................................................................................. 210 14.4.2. Metoda gradientului ...................................................................................... 214 14.4.3. Metoda Levenberg – Marquardt ................................................................... 215 14.4.4. Metoda gradienţilor conjugaţi ....................................................................... 216

14.5. Rezolvarea simbolică a ecuaţiilor şi sistemelor de ecuaţii ...................................... 217

15. OPTIMIZĂRI PRIN PROGRAMARE MATEMATICĂ ................................................. 223 15.1. Algoritmul simplex ................................................................................................... 230 15.2. Algoritmul cvadratic ................................................................................................. 235

16. INTERPOLĂRI ŞI REGRESII......................................................................................... 239 16.1. Funcţii pentru interpolare .......................................................................................... 241

16.1.1. Interpolarea liniară ........................................................................................ 241 16.1.2. Interpolarea polinomială de tip spline .......................................................... 243

16.2. Funcţii pentru regresii ............................................................................................... 254 16.2.1. Regresia liniară ............................................................................................. 255 16.2.2. Regresii polinomiale ..................................................................................... 261 16.2.3. Regresii generalizate ..................................................................................... 273 16.2.4. Funcţii speciale de regresie ........................................................................... 277

16.3. Funcţii pentru extrapolare ......................................................................................... 280 16.4. Funcţii pentru netezirea datelor ................................................................................. 282

17. REZOLVAREA ECUAŢIILOR DIFERENŢIALE ......................................................... 285

17.1. Rezolvarea ecuaţiilor diferenţiale de ordinul n ....................................................... 285 17.1.1. Rezolvarea ecuaţiilor diferenţiale liniare, cu condiţii iniţiale ....................... 286 17.1.2. Rezolvarea ecuaţiilor diferenţiale neliniare, cu condiţii iniţiale ................... 290 17.1.3. Metoda Runge-Kutta ..................................................................................... 295

17.2. Rezolvarea sistemelor de ecuaţii diferenţiale ............................................................ 297 17.2.1. Rezolvarea sistemelor de ecuaţii diferenţiale ............................................... 299 17.2.2. Rezolvarea sistemelor de ecuaţii diferenţiale cu proprietăţi speciale ........... 301 17.2.3. Calculul soluţiei sistemelor de ecuaţii diferenţiale în punctul final al domeniului ............................................................................................................ 306

17.3. Rezolvarea ecuaţiilor diferenţiale cu condiţii la limită ............................................. 307 17.4. Soluţii ale unor ecuaţii diferenţiale particulare ......................................................... 312 17.5. Rezolvarea ecuaţiilor diferenţiale cu derivate parţiale .............................................. 317

Page 11: Aplicata in Inginerie Mathcad 2001

11

18. CALCULE ÎN COMPLEX............................................................................................... 321

19. COMBINATORICĂ......................................................................................................... 325

20. STATISTICĂ ŞI PROBABILITĂŢI................................................................................ 329 20.1. Funcţii pentru statistică ............................................................................................. 329

20.1.1. Calculul frecvenţelor absolute ...................................................................... 329 20.1.2. Calculul parametrilor statistici ...................................................................... 333

20.1.2.1. Parametrii tendinţei centrale ............................................................... 333 20.1.2.2. Parametrii de împrăştiere .................................................................... 335 20.1.2.3. Parametrii formei repartiţiei de frecvenţe ........................................... 336 20.1.2.4. Parametrii corelaţiei ............................................................................ 338

20.1.3. Generarea numerelor aleatorii ...................................................................... 339 20.2. Repartiţii statistice ..................................................................................................... 340

20.2.1. Repartiţii statistice pentru variabile aleatorii discrete ................................... 341 20.2.2. Repartiţii statistice pentru variabile aleatorii continue ................................. 350

20.2.2.1. Repartiţii statistice de bază ................................................................. 350 20.2.2.2. Repartiţii statistice auxiliare ............................................................... 364

PARTEA III

MANAGEMENTUL DATELOR ŞI AL PROGRAMELOR ÎN MATHCAD 2001 21. SCHIMBUL DE DATE .................................................................................................... 370

21.1. Schimbul de date prin componente ............................................................................ 372 21.1.1. Importul de date, citirea datelor dintr-un fişier ................................................ 372 21.1.2. Exportul de date, salvarea datelor într-un fişier ............................................... 372

21.1.2.1. Exportul de date ................................................................................... 372 21.1.2.2. Salvarea datelor prin componenta File Read or Write......................... 372

21.1.3. Editarea şi exploatarea componentelor .......................................................... 373 21.1.3.1. Inserarea componentelor...................................................................... 373

21.1.3.2. Configurarea componentelor ............................................................... 374 21.1.3.3. Schimbul de date.................................................................................. 374 21.1.3.4. Componenta EXCEL ........................................................................... 374 21.1.3.5. Componenta Matlab............................................................................. 377 21.1.3.6. Componenta AXUM............................................................................ 379

21.1.3.7. Componenta ODBC Read Component ............................................... 380 21.2. Schimbul de date între Mathcad alt program care oferă suport OLE automation .................................................................................................................. 381 21.3. Accesarea Mathcad din altă aplicaţie ......................................................................... 382 21.4. Referinţe ..................................................................................................................... 382 21.5. Hyperlink-uri .............................................................................................................. 383 21.6. MATHCONNEX ....................................................................................................... 383

22. CĂRŢILE ELECTRONICE ÎN MATHCAD 2001........................................................... 384 22.1. Crearea cărţii electronice............................................................................................ 384

22.1.1. Crearea fişierelor Mathcad............................................................................... 384 22.1.2. Crearea cuprinsului cărţii electronice .............................................................. 385 22.1.3. Fişierul *.hbk ................................................................................................... 385

22.2. Adnotarea cărţii electronice ....................................................................................... 387 Referinţe Mathcad pe Internet ................................................................................................. 388 Glosar ....................................................................................................................................... 389 Bibliografie .............................................................................................................................. 394

Page 12: Aplicata in Inginerie Mathcad 2001

12

NOTAŢII, ABREVIERI ŞI SIMBOLURI DE ATENŢIONARE

Notaţii referitoare la comenzi, funcţii, variabile

- Bold Italic - nume de funcţii - Italic – nume de variabile, argumente ale funcţiilor - Bold - caracterele care trebuie tastate, ceea ce se obţine pe foia de lucru, comenzi - [ ] - lista argumentelor opţionale ale unei funcţii sau tasta care trebuie apăsată

Notaţii referitoare la taste şi meniuri

- [tasta 1] [tasta 2] - se apasă tasta 1, se tine apăsată, se apasă tasta 2 - [tasta 1] + [tasta 2] - tastele 1 şi 2 se apasă simultan - meniu comanda – din meniu se selectează comanda

Notaţii de atenţionare

- Atentie - avertizare importantă

- Etape - succesiune de operaţii

- Rapid - procedură care duce la economie de timp

- Sugestie - indicaţii care au efecte benefice asupra calităţii aplicaţiei

- Suplimentar - notă conţinând detalii

- E - esenţial, informaţii strict necesare pentru a lucra în Mathcad - termend – termen existent in dicţionarul asociat cursului

Abrevieri

BR - Bloc de Regiuni BR grupează logic regiuni text, matematice alte obiecte care pot fi ascunse, încuiate. LEO - Linie de Editare Orizontală (“horizontal editing line”).

LEO este colorat în albastru şi apare în operaţii de editare în regiuni matematice. Poziţia şi lungimea de cuprindere sunt controlate cu tasta Space şi tastele săgeţi.

VPA - Variabilă cu valori în Progresie Aritmetică (“range variable”) V&M - Vectori şi matrice. ButS, ButD – Butonul din stânga, respectiv dreapta mouse-ului.

Page 13: Aplicata in Inginerie Mathcad 2001

13

I FUNDAMENTE MATHCAD 2001 MEDII DE PROGRAMARE MATEMATICE _______________________________________________________________________________

Cele mai utilizate medii matematice dedicate calculelor numerice, simbolice folosite în domeniul ştiinţei şi inginerie sunt:

MATHCAD, produs de firma MathSoft (www. mathsoft.com). MATLAB, produs de firma MathWorks (www.mathworks.com) MATHEMATICA, producător Wolfram Research (www.wolfram.com). MAPLE sub licenţă Waterloo Maple Inc. (www.maplesoft.com).

Acestea facilitează rezolvarea unei palete foarte largi de probleme de calcul ştiinţific, ingineresc. Diferenţele dintre ele fiind generate de conceptele care au stat la baza dezvoltării motorului matematic. Toate sunt medii matematice ajunse la maturitate după o evoluţie de mai mult de un deceniu.

Mediile matematice care s-au impus pe piaţa software au următoarele caracteristici comune:

- efectuează calcule numerice, simbolice cu numere reale, complexe, indexate sau nu; - în general lucrează cu două procesoare matematice independente: unul pentru calcule

numerice şi altul pentru cele simbolice. În anumite situaţii acestea pot să colaboreze. - au biblioteci foarte bogate de funcţii predefinite, care pot fi extinse de utilizator; - sunt dotate cu instrumente de vizualizare a datelor în 2D, 3D şi animaţii; - posedă instrumente de programare relativ puternice; - sunt medii de dezvoltare complete; - sunt integrate complet Windows, mai rar şi pe alte platforme; - sunt integrate cu alte medii uzual utilizate în inginerie: AutoCAD, suita Microsoft

Office, alte medii matematice; - sunt integrate Webd, oferă suport MathMLd; - prin intermediul unor add-on-uri pot fi integrate biblioteci dedicate rezolvării unor

probleme din domenii mai înguste. - au module specializate pentru modelarea şi simularea sistemelor dinamice complexe. - au suport pentru achiziţii de date. - au capacitatea de a produce şi compila cod C.

MATHCAD a ajuns la generaţia 11. După afirmaţiile firmei producătoare mediul Mathcad este folosit, în diverse versiuni, de mai mult de 1,5 milioane de utilizatori şi în peste 2000 de colegii şi universităţi din întreaga lume. Este unul din mediile preferate pentru aplicaţiile matematice în proiectele tehnice. Mai exact, conform unui studiu statistic făcut de Mathsoft, Mathcad este folosit în următoarele domenii: inginerie mecanică 25%, inginerie electrică 22%, fizică 12%, inginerie civilă 9%.

Una dintre caracteristicile principale, evidente la primul contact cu Mathcad, este interfaţa grafică tip “scratchpad”: combinaţie între o interfaţă document “live” a unei foi de calcul (“spreadsheet”, efectele se văd, în general, imediat) şi una WYSIWIG (“What You See Is What

Page 14: Aplicata in Inginerie Mathcad 2001

14

You Get”) a unui procesor de cuvinte. Aproape toate operaţiile sunt concentrate într-o foaie de lucru (“worksheet”), unde se inserează ecuaţiile, funcţiile, folosindu-se convenţiile de notaţie uzuale din matematică, unde se inserează textele, graficele 2D, 3D ş.a.m.d. Efectul este eliberarea utilizatorului de efortul necesar acordat aspectelor matematice ale rezolvării problemelor, permiţându-i să se concentreze pe elementele specifice dezvoltării proiectului. Mathcad este cel mai accesibil, uşor de învăţat şi exploatat software matematic dintre cele patru enumerate mai sus.

Mathcad 2001 este disponibil în două ediţii: Mathcad Professional ediţie recomandată aplicaţiilor tehnice curente, Mathcad Premium care este ediţia completă.

O comparare amănunţită a ediţiilor Mathcad 8, 2000, 2001, 2001i, 11 se poate consulta la adresa: www.softwarecientifico.com\MathCad 2001.htm, sau ediţiile 2000, 2001, 2001i, 11 la www.redacom.ch.

Pe lângă Mathcad, firma Mathsoft mai produce: MathClient destinat gestiunii documentelor tehnice în firmele mari, StudyWorks (peste un milion de licenţe vândute) pachet educaţional pentru învăţarea matematiciii şi a altor discipline aparţinând ştiinţelor exacte, la nivel de liceu.

MATLAB (MATrix LABoratory), după cum sugerează şi denumirea, a fost dezvoltat plecându-se de la ideea că matricea este structura de bază a datelor. Spre deosebire de Mathcad, Matlab nu este dezvoltat ca “scratchpad”, instrumentul curent de lucru este limbajul de nivel înalt Matlab. La fel ca în MathCad, prin intermediul add-on-urilor numite în acest caz “toolboxes” Matlab poate fi extins. Mai mult utilizatorul îşi poate crea propriile toolbox-uri.

Din punct de vedere structural Matlab are un nucleu de bază, cu interpretor propriu, în jurul căruia sunt construite toolbox-urile. Mediul SIMULINK este integrat în Matlab, fiind destinat modelării, simulării interactive şi analizei sistemelor dinamice liniare sau neliniare, continue, discrete, sau hibride. Acesta este un mediu vizual, orientat prin excelenţă pe obiecte. Programarea în SIMULINK se reduce la construirea unor scheme bloc formate din obiectele existente în bibliotecă şi legarea lor în mod grafic. Blocurile existente pot fi personalizate sau pot fi create unele noi. Fiind integrat Matlab rezultatele simulării pot fi analizate, vizualizate în mediul Matlab şi invers.

Aplicaţiile tipice în Matlab sunt:

calcule de natură tehnică care necesită analiză, vizualizare şi implementare de algoritmi; sinteza sistemelor de comandă; sinteza sistemelor de comunicaţie; procesare semnale; procesare imagini; modelare, simulare şi analiză a datelor de natură financiară.

Printre cele câteva zeci de toolbox-uri amintim: Optimization, Spline, Statistics, Partial Differential Equation; Control System, System Identification, Robust Control, Nonlinear Control Design Blockset, Frecquency Domain Identification; Neural Network, Fuzzy Logic. Cele mai noi toolbox-uri disponibile sunt: Bioinformatics, Genetic Algorithm and Direct Search, Image Acquisition, Curve Fitting.

Funcţionalitatea Matlab este potenţată de alte produse ale firmei MathWorks: Matlab COM Builder, Matlab Compiler, Matlab Report Generator, Matlab Web Server, Matlab Runtime Server, Matlab Excel Builder. De exemplu: Matlab COM Builder 1.0 converteşte algoritmii Matlab în obiecte COM (Common Object Model). Aceste pot fi accesate de alte medii care le recunosc cum ar fi: Visual Basic, C/C++, Excel etc; Matlab Compiler 3.0 permite convertirea aplicaţiilor Matlab în cod sursă C/C++, dll-uri.

Page 15: Aplicata in Inginerie Mathcad 2001

15

Existenţa SIMULINK-ului şi a numeroaselor toolbox-uri specifice explică frecventa utilizare a Matlab-ului în analiza şi sinteza sistemelor de control. Ultima ediţie Matlab este 6.5.1.

MAPLE ajuns la versiunea 9.0 are o interfaţă grafică tip “scratchpad”, în consecinţă codul nu este compilat ci interpretat. Este disponibil în mai multe variante care satisfac necesităţile de calcul matematic ale firmelor, instituţiilor, universităţilor şi liceelor. Maple beneficiază de un motor matematic foarte performant, procesorul simbolic fiind integrat şi în alte medii matematice cum ar fi MathCAD sau Matlab. Spre deosebire de alte medii matematie în Maple preponderentă este procesarea simbolică.

Maple poate fi folosit în două moduri: ca mediu matematic interactiv şi ca sistem pentru generarea de rapoarte tehnice.

Interasant este modul de organizare a exploatării mediului Maple. La pornire este automat încărcat kernel-ul. Acesta conţine comenzile fundamentale: interpretorul limbajului Maple, algoritmii de calculele numerice de bază, rutinele care afişează rezultatele şi ale altor operaţii de intrare-ieşire. Kernel-ul este scris în cod C optimizat şi ocupă aproximativ 10% din mărimea totală a sistemului. Creatorii Maple-ului au conceput un kernel de dimensiuni mici în scopul creşterii vitezei de procesare şi al eficienţei. Restul de 90% din sistem este scris în limbajul Maple şi este cuprins în bibliotecile de funcţii. Acestea se împart în două grupuri:

1. Biblioteca principală conţine cele mai frecvent utilizate comenzi Maple, evident diferite de cele ale kernel-ului. Acestea sunt încărcate explicit de către utilizator, după necesităţi. Deşi sunt scrise în limbajul Maple şi nu în cod C optimizat, acesta fiind un limbaj evoluat produce proceduri foarte compacte.

2. Bibliotecile specializate pe anumite clase de probleme, în număr de peste 60.

Câteva dintre bibliotecile specializate sunt descrise sumar în continuare:

- CodeGeneration funcţii pentru convertirea codului Maple în alte limbaje de programare, inclusiv în Java.

- Finance conţine funcţii frecvent utilizate în finanţe. - LinAlg este compusă din mai mult de 100 de comenzi folosite în manipularea

informaţiilor organizate în vectori şi matrice. - LinearAlgebra extinde funcţiile pachetului anterior pentru crearea de matrice speciale,

calculul matricelor de dimensiuni mari. - Maplets conţine comenzi pentru crearea de ferestre de dialog şi alte elemente ale

interfeţelor grafice utilizator. - MatML asigură importul şi exportul expresiilor Maple sub forma MathML. - Matlab conţine funcţii ale mediului Matlab specializate în procesarea matricelor. - Networks este utilizat pentru construirea, editarea şi analiza reţelelor. Are numeroase

facilităţi pentru manipularea digrafurilor având expresii oarecare pentru ponderi. - PDEtools conţine instrumente pentru manipularea, rezolvarea şi grafică asociată

ecuaţiilor cu derivate parţiale. - Plots este destinată ridicării de grafice 2D şi 3D. - RandomTools are ca obiect manipularea obiectelor cu valori aleatoare. - ScientificConstants permite accesul la constante din domeniul fizicii, chimiei etc. - Simplex conţine comenzi pentru optimizări liniare prin algoritmul SIMPLEX. - SolveTools este dedicat rezolvării sistemelor de ecuaţii algebrice. - Stats este un set de comenzi pentru calcule statistice - Worksheets asigură infrastructura pentru crearea şi manipularea foilor de calcul Maple.

Page 16: Aplicata in Inginerie Mathcad 2001

16

La fel ca şi mediile anterior descrise, Maple este integrat Web, EXCEL, Matlab şi chiar cu programe create de utilizator, asigură suport MathML.

MATHEMATICA este primul software matematic care a reuşit cu mai bine de un deceniu

în urmă să efectueze calcule simbolice şi numerice, de asemenea este pionier în introducerea suportului pentru MathML. Se estimează că mai mult de un milion de utilizatori exploatează diverse versiuni ale acestui mediu matematic. Ultima versiune Mathematica 5 este un mediu matur şi foarte puternic. Noua tehnologie de procesare a matricelor împachetate a mărit spectaculos viteza de calcul. Mathematica şi alte produse ale firmei Wolfram Research folosesc un mediu propriu care combină text, formule, algoritmi, butoane şi hyperlink-uri într-un document independent de platformă. Astfel, un utilizator Windows poate transmite prin e-mail un document spre utilizatori Unix, Linux, Mac.

Dintre numeroasele add-on-uri dezvoltate de Wolfram Research amintim: Control System Professional, Signal and Systems, Wavelet Explorer, Dynamic Vizualizer, Parallel Computing Toolkit, Digital Image Processing, Experimental Data Analyst, Mechanical Systems, Structural Mechanics, Fuzzy Logic. Pe lângă acestea există, alte aplicaţii ale unor dezvoltatori independenţi: Derivatives Expert, Global Optimization, Industrial Electromagnetics, Industrial Optimization, Industrial Termics, Math Tensor, MathCode C++, Operation Research.

Printre multe alte medii matematice generale, cu o răspândire mai redusă, remarcabile sunt: DERIVE 6.0 (Texas Instruments Incorporated, www.derive.com), MACSYMA (www.macsyma.com, nedezvoltat din 2001), ambele cu capacităţi de calcul numeric şi simbolic.

Sunt larg răspândite aplicaţiile “spreadsheetd” (programe de calcul tabelar) ca: EXCEL (face parte din familia Microsoft Office), Lotus 1-2-3 (pachetul Lotus Smart Suite), Quatro Pro (aparţine pachetului WordPerfect Office al firmei Corel), Open Office Calc, modulul de calcul tabelar al suitei Open Office, produs de Sun Microsystems (www.openoffice.org). Acestea sunt dedicate calculelor contabile, analizelor financiare şi statistice, dispunând şi de instrumente puternice pentru desenarea diagramelor .

Page 17: Aplicata in Inginerie Mathcad 2001

17

I FUNDAMENTE MATHCAD 2001 PREZENTARE GENERALĂ MATHCAD 2001

_______________________________________________________________________________

2.1. PREZENTARE GENERALĂ

Mathcad 2001 produs de compania MathSoft (www.mathsoft.com) este un mediu integrat de dezvoltare (IDEd) a aplicaţiilor matematice în tehnică. Calităţile lui principale sunt: gradul înalt de ergonomicitate intelectuală, versatilitatea şi completitudinea.

Interfaţa grafică cu utilizatorul (GUId) se bazează pe o combinaţie între o interfaţă document “live” a unui “spreadsheet”d şi una WYSIWIG (What You See Is What You Get) a unui procesor de cuvinte. Cu excepţia vizualizării animaţiilor, toate operaţiile se efectuează într-o foaie de lucru (în engleză “worksheet”), unde se scriu ecuaţiile şi funcţiile în conformitate cu convenţiile de notaţie din matematică, se inserează textele, graficele 2D, 3D ş.a.m.d. Având aceste calităţi Mathcad eliberează într-o măsură apreciabilă utilizatorul de efortul necesar acordat aspectelor matematice ale rezolvării problemelor, permiţându-i să se concentreze pe elementele specifice dezvoltării proiectului.

Mathcad-ul permite rezolvarea completă a unor probleme ştiinţifice de uz general, sau inginereşti, asigurând suportul pentru toate etapele elaborării unui proiect, inclusiv cele finale, de realizarea documentaţiei, prezentarea şi comunicarea rezultatelor.

Principalele caracteristici ale mediului Mathcad 2001 sunt:

• Funcţionalitatea matematică: - efectuarea de calcule numerice, simbolice “live”; - procesarea numerelor reale, imaginare, complexe şi a unităţilor de măsură; - operatori şi funcţii predefinite pentru manipularea numerică, simbolică a vectorilor şi

matricelor; - funcţii predefinite pentru: rezolvarea ecuaţiilor, sistemelor, a ecuaţiilor diferenţiale

ordinare, a sistemelor de ecuaţii diferenţiale, optimizare prin programare matematică; - funcţii Bessel, transformate Fourier şi wave, directe şi inverse; - funcţii specifice algebrei liniare superioare; - funcţii statistice, repartiţii de probabilitate, funcţii empirice de probabilitate, funcţii

pentru calculul cuantilelor, interpolări, predicţii, regresii, neteziri.

• Instrumente de vizualizare a datelor, funcţiilor: - grafice interactive şi “live” 2D, 3D într-o gama suficient de largă, zoom; - posibilitatea de lărgire a tipurilor de grafice prin inserarea unor componente Axum

(program de grafică tehnică şi analiză date, produs tot de firma Mathsoft); - inserări de imagini, desene executate cu programe ca Autocad, CorelDraw; - animaţii 2D, 3D; - mijloace rapide de reprezentare grafică: 2D Quick Plots.

Page 18: Aplicata in Inginerie Mathcad 2001

18

• Integrare Windows - integrare completă în Windows 9x, 2001, XP, Windows NT; - interfeţe utilizator stil Microsoft, similare MS Office, inclusiv meniuri contextualed; - suport pentru OLE2 client şi serverd; - suport pentru “OLE Automation” pe baza limbajului VBScript sau JScript; - suport complet pentru ActiveXd.

• Intrări/ieşiri date, integrare: - filtre pentru date provenind din Matlab, Excel, fişiere ASCIId; - componente dedicate pentru Excel, Matlab, Axum ş.a; - integrarea prin mediul vizual MathConnex, cu surse de date şi aplicaţii din Mathcad,

Matlab, Axum, Excel, S-Plus.

• Manipularea şi conversia unităţilor de măsură: - urmărire automată a unităţilor, conversie SI, MKS, CGS şi US; - unităţi definite de utilizator.

• Instrumente de formatare a foii de lucru: - modele (”templates” d) pentru documente, stiluri de formatare a regiunilor; - formatare foaie de lucru, ”print preview” comparabile cu ale unor procesoare de texte; - verificarea corectitudinii scrierii cuvintelor pentru limba engleză (”check spelling”).

• Programare: - posibilităţi de programare bazate pe 10 comenzi; - manipularea erorilor în timpul rulării; - programarea cu expresii simbolice “live”.

• Integrare Web: - suport e-mail bazat pe MAPId; - definirea de hyperlinkd-uri locale sau Webd; - conectarea la comunitatea utilizatorilor Mathcad prin “Collaboratory”.

• Help şi alte resurse de documentare: - help bogat exemplificat, asigurat prin cuprins, index şi căutare; - help senzitiv la context; - help on-line, reactualizare bibliotecă Mathcad prin Web; - “tips” d pentru comenzi meniu, butoane; - “Resource Center” conţine o prezentare generală a Mathcad, tutoriale, sute de exemple

de aplicaţii, conectare Web la forumul internet al firmei MathSoft, suport tehnic. - cărţi electronice “live” în diverse domenii, crearea acestora de către utilizator; - din help şi din cărţile electronice se poate efectua “drag & drop” în aplicaţia curentă.

• Extensibilitate: - notaţii matematice definite de utilizator; - crearea de funcţii proprii, scrise în C şi C++ şi includerea lor în Mathcad prin DLLd-uri; - funcţionalitate suplimentară prin pack-urid (de exemplu ”Optimization Extension Pack”);

Mathcad 2001 este disponibil în două ediţii: Mathcad Professional ediţie recomandată aplicaţiilor tehnice curente şi Mathcad Premium care este ediţia completă.

Resurse minimale necesare rulării Mathcad 2001: procesor Pentium 133, CD-ROM, Windows 95, Windows NT 4.0; 32 MB memorie RAM, recomandabil 64 MB; pentru help on-line Internet Explorer 4.0.

Page 19: Aplicata in Inginerie Mathcad 2001

19

2.2. DESKTOP-UL MATHCAD 2001 ( E)

După lansarea în execuţie a programului Mathcad 2001, este afişată fereastra principală

(figura 2.1) şi două ferestre opţionale “Resource Center” (figura 2.3) şi “Tip of the Day”. Controlul ultimelor două se face prin meniul View Preferences General Startup Options. “Resource Center“ este o carte electronică, adiţională help-ului (vezi subcap. 2.2.2), iar “Tip of the Day “ este o fereastră care afişează câte un sfat care uşurează exploatarea sistemului.

Fereastra principală are următoarea structură (figura 2.1):

foia de lucru (“worksheet”) în care utilizatorul efectuează calculele matematice, scrie comentarii, introduce grafice etc.

în parte a superioară a foii există două bare, care sunt întotdeauna vizibile şi care au poziţii fixe:

- bara de titlu, în care sunt afişate ediţia Mathcad şi numele documentului curent. Dacă acesta nu a fost salvat, are numele implicit Untitled:x, x=1, 2 …

- bara meniurilor: File, Edit ... Help;

urmează un set de bare pe care utilizatorul le poate configura ca structură, vizibilitate şi poziţie pe desktop:

- bara instrumentelor standard este formată din butoane care permit un acces rapid la comenzile existente în bara meniurilor şi o componentă Zoom pentru foia de lucru:

o primele butoane: New, Open, Save, Print, Print Previw, Check Spelling, Cut, Copy, Paste, Undo, Redo se referă la operaţiile de editare, uzuale pentru procesoarele de texte;

o al doilea grup: Align Across, Align Down, Insert Function, Insert Unit, Calculate sunt comenzi specifice Mathcad, prin care se operează asupra regiunilor foii de lucru

o al treilea set de butoane: Insert Hyperlink, Insert Component, Resource Center, Help se referă la inserţii de hyperlink-uri, de componente, la deschiderea Resource Center şi help-ului.

- bara de formatare este concepută în maniera programelor din familia Microsoft Office;

- bara de instrumente matematice (abreviată în continuare BIM) conţine implicit: Calculator, Graph, Vector & Matrix, Evaluation, Calculus, Boolean, Programming, Greek Symbolic şi Symbolic Keyword;

- bara de stare are funcţia de a transmite scurte informaţii utilizatorului. De exemplu în timpul editării unei ecuaţii textul afişat conţine indicaţii asupra următorului pas de editare, la poziţionarea cursorului mouse-ului deasupra unui buton se afişează o descriere sumară a funcţiei acestuia. În partea dreaptă a barei de stare este afişată pagina curentă şi modul de lucru automat/manual.

Dacă se efectuează calcule ştiinţifice de uz general, fără pretenţii deosebite privitoare la aspectul regiunilor text, este raţional să se configureze desktop-ul, ca în figura 2.1. În caz contrar barele: de formatare, de instrumente matematice şi standard pot fi personalizate

Page 20: Aplicata in Inginerie Mathcad 2001

20

Fig. 2.1 Fereastra principală a Mathcad 2001

Page 21: Aplicata in Inginerie Mathcad 2001

21

Suplimentar

poate fi adăugată o riglă orizontală prin meniul View Ruler. Efectuând pe ea un clic cu ButD se deschide un meniu ”pull-down” în care se pot seta unităţile de lungime ale riglei (inches, centimeters, picas, points), se poate opta pentru eliminarea ei (comanda Hide), se pot seta paragrafe la fel ca în WinWord;

barele de instrumente standard, matematice, de formatare pot fi poziţionate pe desktop prin ”drag & drop”. Pot exista două situaţii:

- dacă bara este plasată în câmpul foii de lucru se execută clic cu ButS pe zona superioară albastră şi ţinând apăsat butonul, bara se aduce în poziţia dorită, după care se eliberează butonul mouse-ului;

- dacă bara este poziţionată pe conturul foii de lucru, zona sensibilă este oriunde în spaţiul barei neocupat de butoane sau de casete text.

structura barelor de instrumente standard, matematice, de formatare poate fi modificată prin intermediul unor casete de dialog care sunt deschise prin clic cu ButD oriunde în spaţiul barei şi alegerea din meniul ”pop-upd ”a comenzii Customize.

Indiferent de tipul barei, caseta de dialog amintită are două ferestre de editare care conţin: una butoanele disponibile, cealaltă butoanele existente in bară. Între cele două casete se pot face transferuri de elemente prin intermediul a două butoane Add şi Remove. Butoanele Move Up şi Move Down se folosesc pentru modificarea poziţiei unui buton pe bară. Butonul Reset restaurează structura şi poziţiile existente înainte de deschiderea casetei de dialog. Datorită importanţei deosebite a paletei de instrumente matematice, în continuare se trec în revistă principalele operaţii care se pot efectua. prin intermediul acesteia, urmând ca detalierile să se facă progresiv în alte capitolele.

Page 22: Aplicata in Inginerie Mathcad 2001

22

Tabel 2.1 Structura şi operaţiile efectuate de toolbar-ul matematic

Nr. Buton Structura Operaţii

1

Calculator

După cum sugerează şi denumirea această BIM are funcţionalitatea unui calculator ştiinţific simplu: operaţii aritmetice, funcţii trigonometrice etc.

2

Graph

Prin BIM Graph se pot construi grafice 2D în coordonate carteziene şi polare, se poate efectua zoom, reprezentări grafice 3D a datelor, funcţiilor.

3

Vector &

Matrix

BIM Vector & Matrix conţine butoane prin intermediul cărora se pot crea structuri de vectori şi matrice şi manipula datele organizate matriceal.

4

Evaluation

Prin intermediul butoanelor BIM Evaluation se pot efectua rapid evaluări numerice, simbolice, defini variabile globale, crea operatori unari şi binari ai utilizatorului.

5

Calculus

BIM Calculus este destinat efectuării de derivate, integrale, sume, produse, limite.

6

Boolean

BIM Boolean conţine butoanele operatorilor logici (AND, OR, XOR, NOT) şi relaţionali (>, < ….).

7

Programming

Prin intermediul celor zece butoane ale BIM-ului Programming se pot scrie rapid instrucţiunile de bază condiţionale, de ciclu, de control a execuţiei programului şi de manipulare a erorilor.

Page 23: Aplicata in Inginerie Mathcad 2001

23

8

Greek

BIM Greek conţine simbolurile literelor greceşti mari şi mici.

9

Symbolic

Cu ajutorul butoanelor BIM-ului Symbolic utilizatorul poate scrie rapid egalul simbolic simplu şi cel personalizat, operatorii simbolici generali, de manipulare a matricelor, de calcul a transformatelor directe şi inverse Laplace, Fourier şi Z.

2.3. HELP-UL ŞI ALTE SURSE DE DOCUMENTARE ( E)

2.3.1. Utilizarea Help-ului

Facilităţile oferite de help-ul Mathcad-ului diferă relativ puţin faţă de ale altor programe integrate Windows, bazate pe hypertextd. Help-ul este sensibil la context şi activ în orice moment.

Principalele căi de a apela help-ul sunt: 1. Prin meniul Help şi comanda Mathcad Help se deschide o fereastră împărţită în trei

zone: O bară a meniurilor care permite, printr-un set de butoane, efectuarea operaţiilor de

navigare prin ferestrele help-ului (Back, Forward, Home), tipărire, ascundere/afişare a ferestrei cu tabd-uri, opţiuni referitoare la butoanele enumerate anterior şi la setarea legăturii cu Internet-ul.

O fereastră cu trei tab-uri:

- Contents (conţinut), care este o carte electronică organizată pe capitole, subcapitole;

- Index, care permite căutarea unor subiecte pe baza numelor predefinite; - Search, care caută în întreg textul help-ului cuvinte sau combinaţii de cuvinte,

organizate până la nivelul de propoziţii.

O fereastră de afişare a textului help-ului, care în anumite cazuri poate face trimiteri prin două componente plasate în partea inferioară la: - o zonă Quick Sheet Example, care deschide un document Mathcad conţinând unul

sau mai multe exemple; - un buton Related Topics, care deschide o fereastră în care sunt enumerate subiecte

înrudite.

Page 24: Aplicata in Inginerie Mathcad 2001

24

2. Prin poziţionarea mouse-ului deasupra unui buton (evident nu se efectuează clic) sunt furnizate următoarele informaţii sumare legate de funcţia acestuia:

- printr-un “hint” (sugestie) este descrisă pe scurt funcţiunea, sub forma unui mic meniu pop-up plasat sub buton;

- în bara de stare este o afişată o descriere puţin mai detaliată. - dacă suplimentar se apasă tasta F1 se deschide fereastra de ajutor.

3. Help-ul comenzilor meniului se obţine prin: - [Shift]+[F1] când cursorul mouse-ului se transformă într-un semn de întrebare; - plasând cursorul asupra comenzii meniu se obţine help-ul; - pentru revenirea la forma implicită a cursorului se apasă tasta [Esc].

4. Pentru funcţiile predefinite, operatori scrişi pe foia de lucru, mesajele de eroare existente în help se obţin prin poziţionarea cursorului pe elementul respectiv şi apăsarea tastei F1.

2.3.2. Resource Center

Metoda de învăţare prin exemple este susţinută de Resource Center (RC) sub forma unei

cărţi electronice compuse dintr-o colecţie on-line de tutoriale, exemple de probleme matematice generale şi inginereşti rezolvate în Mathcad, în plus acesta asigură suportul tehnic şi integrarea Web. RC poate fi deschis prin intermediul butonului cu pictograma unei cărţi deschise, plasat pe bara de instrumente standard, sau prin meniul Help Resource Center.

Fereastra RC are o structură a

barelor asemănătoare cu cea a ferestrei principale a Mathcad-ului. Astfel în partea superioară există o bară de meniuri şi una de instrumente standard adaptate necesităţilor RC, iar din zona centrală se pot deschide:

- o prezentare generală şi tutoriale Mathcad 2001 (Overview & Tutorials);

- exemplificări de aplicaţii Mathcad şi tabele cu principalele relaţii matematice, unităţi de măsură din matematică, fizică, chimie, mecanică, electricitate (Quicksheets & Reference Tables).

- exemplificări de aplicaţii mai complicate care apelează la schimb de date cu alte programe, diverse aplicaţii: procesarea semnalelor, din ingineria mecanică, electrică, chimică, construcţii, astronomie, statistică, finanţe şi nu în ultimul rând matematică.

Forma uzuală de prezentare este prin intermediul QuickSheet-urilor, care sunt documente Mathcad. Acestea pot fi integrate în aplicaţiile curente ale utilizatorului, în totalitate sau parţial, prin ”drag & drop” sau ”Copy-Paste”.

Page 25: Aplicata in Inginerie Mathcad 2001

25

2.3.3. Cărţile electronice

În accepţiunea Mathcad, o carte electronică (CE) este o colecţie organizată de foi de lucru active, legăturile fiind realizate prin hipertext. Câteva cărţi sunt disponibile în biblioteca Web a firmei Mathsoft, putând fi accesate prin RC (Web Library ), altele sunt disponibile comercial: Marks’ Electronic Handbook for Mechanical Engineers, Roark’s Formulas for Stress and Strain, Finite Element Beginnings, Electronic Gieks’: Engineering Formulas, Introduction to Ordinary Differential Equations şi multe altele pentru ingineri chimişti, arhitecţi, finanţişti. Majoritatea acestora se bazează pe cărţi consacrate publicate în format clasic.

CE salvate ca fişiere cu extensia *.hbk pot fi deschise prin meniul Help Open Book, sau dacă au fost instalate se găsesc în meniul Help Handbooks. Fereastra de afişare a CE are o bară performantă de instrumente de navigare, căutare. După cum s-a amintit, foia CE este o foaie de lucru Mathcad interactivă, în plus se pot face comentarii scrise care se pot salva sau nu, oricând putându-se reveni la forma originală a cărţii. Utilizatorul îşi poate crea propria carte electronică (vezi Help Contents Electronic Books and Extension Paks şi manualul utilizatorului).

2.3.4. Alte surse de documentare

Documentaţia standard, furnizată de firma Mathsoft sub forma de fişiere *.pdf (portable document format, pentru citirea acestor documente se utilizează programul freeware Acrobat Reader), constă din două manuale reunite într-un singur document mathcad.pdf (536 pagini) care se găseşte pe CD-ul de instalare: ghidul utilizatorului Mathcad 2001 (”Mathcad User’s Guide”) şi manualul de referinţă (”Mathcad Reference Manual”).

2.4. PRINCIPIILE DE LUCRU ŞI ELEMENTELE DE OPERARE ÎN MATHCAD

2.4.1. Principiile de lucru

Mathcad-ul conservă convenţiile de scriere, citire pe suport de hârtie, operante în culturile

europene sau de origine europeană. Datorită acestui fapt şi a altor caracteristici, documentele Mathcad se bucură de un înalt grad de ergonomicitate.

Câteva dintre cele mai importante principii de lucru în Mathcad sunt:

1. Concentrarea elementelor principale ale unui document: expresii, ecuaţii, grafice, comentarii pe acelaşi suport ( foia de lucru în Mathcad similară foii de hârtie în varianta clasică). Alte soft-uri matematice utilizează ferestre separate, specializate pentru editarea programului, pentru afişarea rezultatelor, graficelor.

2. Mathcad-ul permite controlul vizibilităţii zonelor dintr-un document prin includerea lor în blocuri de regiuni (”areas”). Astfel creşte mult lizibilitatea documentelor complexe: la primul contact vizual, zonele de amănunt pot fi ascunse, ulterior acestea pot fi expandate şi analizate.

3. Principiul furnizării de către Mathcad a unor structuri predefinite tip cadru (”frame”) pe care utilizatorul le particularizează prin completarea unor zone libere, editabile, numite placeholder-e.

Page 26: Aplicata in Inginerie Mathcad 2001

26

De exemplu, convenţia de scriere a funcţiilor este cea uzuală: numele funcţiei urmată de două paranteze rotunde care cuprind lista argumentelor separate prin virgule. Dacă o funcţie predefinită este selectată prin intermediul casetei de dialog specifice, aceasta este scrisă automat în foia de lucru, în locul fiecărui argument existând câte un placeholder, pe care trebuie să-l completeze utilizatorul. Placeholder-ele pot fi şterse dacă sunt în exces, adăugate dacă sunt insuficiente şi în final completate. Pe acelaşi principiu, al completării placeholder-elor, se mai bazează: reprezentarea grafică 2D şi 3D a funcţiilor, scrierea integralelor, derivatelor, limitelor, sumelor, produselor, matricelor etc.

4. Expresiile matematice se scriu cu notaţiile uzuale folosite în matematică, simbolurile respective fiind disponibile în BIM Math.

5. În mod implicit foia de lucru Mathcad este “live”: orice modificare efectuată de utilizator, care afectează o variabilă sau funcţie, determină reevaluarea tuturor regiunilor matematice vizibile plasate pe acelaşi rând la dreapta şi dedesubt. Această operaţie se poate evita prin alegerea modului manual de lucru (meniu Math debifare Automatic Calculation).

6. Scrierea implicită a rezultatului în dreapta simbolului de evaluare a expresiei, deci în aceeaşi foaie de lucru, principiu aplicat în Mathcad şi la rezolvări de ecuaţii, sisteme.

7. Utilizatorul are o mare libertate de plasare a regiunilor matematice şi text în foia de lucru. Evident trebuie respectată logica elaborării documentului şi luarea în considerare a modului de calcul a foii: pe rânduri de sus în jos şi pe un rând de la stânga la dreapta.

8. Calităţile de interpretare contextuală ale Mathcad-ului simplifică efortul de editare depus de utilizator. Exemple: nu este necesară o declarare a naturii variabilelor; în calculele numerice natura unei variabile este dedusă de Mathcad funcţie de valoarea atribuită; în calculele simbolice variabilele, nedefinite anterior evaluării unei expresii, sunt considerate ca variabile simbolice (algebrice), iar cu cele definite se operează prin valorile lor.

9. Evaluările numerice şi cele simbolice utilizează două simboluri diferite de evaluare. În acest mod simplu sunt activate procesorul numeric sau cel simbolic.

2.4.2. Elemente de operare în Mathcad

Obiectivul acestui subcapitol este de a familiariza utilizatorul cu câteva elemente importante de operare în Mathcad, care să constituie baza pentru primele aplicaţii.

2.4.2.1. Editarea regiunilor în Mathcad

Foia de lucru este structurată în două tipuri de zone editabile, numite în Mathcad regiuni (”regions”):

- regiunea matematică (”math region”), după cum îi sugerează denumirea, activă matematic;

- regiunea text (”text region”), inactivă matematic (dacă nu conţine expresii matematice) destinată comentariilor.

Regiunile pot fi privite ca module de construcţie a foii de lucru. După cum s-a amintit, regiunile comunică între ele în ordinea de sus în jos, pe verticală, şi de la stânga la dreapta, pe orizontală.

Page 27: Aplicata in Inginerie Mathcad 2001

27

Introducerea regiunilor

Dacă se execută un clic cu ButS într-o zonă liberă a foii de lucru, apare în poziţia respectivă un cursor cu fire reticulare, colorate în roşu (”crosshair”). Acest cursor special indică locul unde se poate insera o regiune.

După apariţia cursorului reticular, sistemul consideră implicit regiunea ca fiind matematică, deci utilizatorul poate începe direct să efectueze operaţiile specifice: un calcul numeric, să definească o variabilă sau o funcţie, să scrie o expresie etc.

Dacă se doreşte ca regiunea să fie de tip text, există două posibilităţi de a o defini: - din meniul Insert Text Region; - prin apăsarea tastei [“].

Operaţiile de selectare, repoziţionare, copiere, lipire, ştergere se efectuează ca în orice mediu vizual de programare sub Windows: Delphi, Visual Basic, Visual C++ etc.

Selectarea, deselectarea regiunilor

Selectarea regiunilor se poate face în două scopuri: 1. pentru modificarea informaţiei dintr-o regiune; 2. pentru manipularea întregii informaţii conţinute de o regiune sau mai multe, prin

copiere, mutare, tăiere etc.

În primul caz, selectarea unei regiuni se efectuează printr-un clic în spaţiul dreptunghiular al acesteia. Implicit, Mathcad-ul indică faptul că regiunea este selectată printr-un cadru dreptunghiular reprezentat cu linie continuă.

În al doilea caz, ca efect al selectării, regiunea sau regiunile sunt încadrate de un dreptunghi reprezentat cu linie întreruptă.

Deselectarea se efectuează printr-un clic în afara regiunii, sau grupului de regiuni.

Operaţia de selectare a unui grup de regiuni se poate face în următoarele moduri:

Etape ________________________________

Apăsaţi şi menţineţi apăsarea tastelor [Shift] sau [Ctrl].

Efectuaţi clic-uri succesive pe regiunile pe care doriţi să le selectaţi.

Metoda se aplică când regiunile sunt împrăştiate pe suprafaţa foii de lucru şi nu este posibilă

cuprinderea lor într-un singur dreptunghi de selecţie.

Etape ________________________________

1. Efectuaţi clic cu ButS într-o zonă liberă a foii şi menţineţi butonul mouse-ului apăsat.

2. Mişcaţi cursorul până la cuprinderea grupului de regiuni într-un dreptunghi

reprezentat cu linie întreruptă (dreptunghi de selecţie).

3. Eliberaţi butonul, ca urmare dreptunghiul de selecţie dispare, regiunile selectate fiind

încadrate individual cu dreptunghiuri reprezentate cu linii întrerupte.

Metoda este raţională dacă regiunile sunt grupate.

Page 28: Aplicata in Inginerie Mathcad 2001

28

Etape ________________________________

1. Clic pe prima regiune.

2. Apăsaţi tasta [Shift] şi menţineţi-o în această stare.

3. Clic pe a doua regiune.

Prin operaţiile de mai sus sunt selectate toate regiunile cuprinse între prima şi a doua

regiune, deci metoda este similară, ca efect, cu cea anterioară.

_______________________________________________________________________________

Dacă se doreşte deselectarea unei regiuni, care face parte dintr-un grup selectat, se efectuează următoarele operaţii:

Etape ________________________________

1. Apăsaţi [Shift] sau [Ctrl].

2. Efectuaţi un clic pe regiunea care doriţi să o deselectaţi.

În continuare, deselectarea altor regiuni din grup se face prin operaţia 2 menţinând tasta

[Shift] sau [Ctrl] apăsată .

_______________________________________________________________________________

Mutarea, copierea, tăierea, lipirea şi ştergerea regiunilor Mutarea, copierea, lipirea şi ştergerea regiunilor presupune selectarea anterioară a acestora.

Repoziţionarea (mutarea) unei regiuni, sau a unui grup de regiuni, se efectuează în următoarea succesiune de operaţii:

Etape ________________________________

1. Selectaţi regiunea/regiunile.

2. Plasaţi cursorul mouse-ului pe cadrul dreptunghiular al regiunii, sau deasupra uneia

dintre regiunile grupului selectat; forma cursorului se modifică într-o mână.

3. Clic şi menţineţi butonul mouse-ului apăsat.

4. Deplasaţi cursorul în poziţia dorită (”drag”).

5. Eliberaţi butonul mouse-ului (”drop”).

_______________________________________________________________________________

Repoziţionarea se poate efectua în altă zonă a unui document sau în alt document. În al doilea caz, ambele documente trebuie să fie vizibile. Acestea pot fi organizate în cascadă, unul lângă altul pe orizontală sau verticală (meniul Window Cascade/Tile Horizontal/Tile Vertical), sau poziţionate manual (se apasă butonul Restore din colţul N-E al foii, se redimensionează foia de lucru, se plasează cursorul pe zona de titlu a foii de lucru şi se efectuează mutarea).

Regiunile pot fi repoziţionate şi prin tăierea (”cut”) şi lipirea (”paste”) lor în altă poziţie:

Page 29: Aplicata in Inginerie Mathcad 2001

29

Etape ________________________________

1. Selectaţi regiunea/regiunile.

2. Tăiaţi de pe foaie regiunea/regiunile selectate, printr-una din metodele:

- meniul Edit Cut;

- comanda Cut din meniul pop-up, vizibil prin apăsarea tastei dreapta a mouse-ului

(cea mai productivă metodă);

- butonul, cu pictograma foarfece, de pe bara instrumentelor

standard.

3. Efectuaţi un clic pe foia de lucru într-o zonă neocupată, unde intenţionaţi să lipiţi

regiunea/regiunile.

4. Lipiţi printr-una din metodele:

- meniul Edit Paste;

- comanda Paste din meniul pop-up;

- butonul având pictograma timbru pe scrisoare, din bara instrumentelor

standard.

_______________________________________________________________________________

Asemănător se poate efectua o multiplicare a regiunilor printr-o singură copiere (meniu Edit Copy, sau comanda Copy din meniul pop-up, sau butonul din bara instrumentelor standard), urmată de lipiri multiple (”paste”).

Copierea şi tăierea regiunilor utilizează clipboardd-ul, care are funcţia de depozit temporar. Spre deosebire de operaţia de tăiere (”cut”), cea de ştergere (”delete”) nu transferă informaţia în clipboard, deci informaţia este nerecuperabilă, aceasta nu va mai putea fi lipită. Ştergerea se poate efectua prin: meniul Edit Delete sau apăsând tasta [Delete].

Rapid+Suplimentar___________________________

Operaţiile de copiere, tăiere, lipire şi ştergere pot fi efectuate şi prin următoarele combinaţii

de taste, operante în general, pentru orice program cu funcţii de editare text, integrat Windows:

- copierea: [Ctrl]+[C];

- tăierea: [Ctrl]+[X];

- lipirea: [Ctrl]+[V];

- ştergere: [Ctrl]+[D];

Pentru ca acestea să fie active, din meniul View Preferences, pe pagina General a

casetei de dialog, trebuie selectată opţiunea “Standard Windows shortcut keys”, care este implicit

selectată

_______________________________________________________________________________

Page 30: Aplicata in Inginerie Mathcad 2001

30

2.4.2.2. Operaţii elementare în regiunile matematice Calcule simple în Mathcad

Foia de lucru poate fi utilizată şi pentru efectuarea unor calcule simple, similare celor făcute cu un calculator standard de buzunar.

Etape ________________________________

1. Clic într-o zonă liberă a worksheet-ului

2. Scrieţi expresia 2^2.5-5/52.96=

_______________________________________________________________________________

Se observă că la inserarea unui operator (^ putere, - scădere, / împărţire) pe foia de lucru apare un placeholder, în care utilizatorul scrie operandul care urmează (un număr, o variabilă, o funcţie). La apăsarea tastei [=] expresia este evaluată şi dacă aceasta este corectă, se afişează rezultatul în dreapta semnului =. După rezultat mai este afişat un placeholder care este destinat dimensiunilor. Dacă nu se lucrează cu dimensiuni, acesta poate fi ignorat.

Atentie ________________________________

În timpul scrierii expresiei, apare un cursor colorat în albastru, care este format dintr-un segment vertical, plasat după ultimul caracter scris, numit linie de inserţie (“insertion line”) şi un segment orizontal, care subliniază caracterele până la operatorul anterior, numit linie de subliniere (”underline”) (exemplu: ). Dacă se efectuează un clic pe o expresie, cursorul mai sus amintit poate avea forma din exemplu, sau a caracterelor L, ⊥, funcţie de poziţia cursorului mouse-ului relativ la operand. În documentaţia Mathcad acest cursor este numit linie de editare orizontală (”horizontal editing line”), abreviată LEO. Poziţia LEO şi lungimea de cuprindere sunt controlate cu tasta Space şi tastele săgeţi.

_______________________________________________________________________________

În expresia de mai sus, după ce a fost scris exponentul 2.5, LEO a fost coborâtă, prin tasta [Space], pentru a scrie operatorul minus.

În locul tastelor operatori se pot utiliza butoanele barei de instrumente Calculator. Atragem atenţia că pe acest toolbar există două butoane cu pictograme asemănătoare: = evaluare şi := definire, care evident au semnificaţii diferite.

Definirea variabilelor locale

Etape ________________________________

1. Clic într-o zonă liberă a worksheet-ului

2. Scrieţi numele variabilei.

Page 31: Aplicata in Inginerie Mathcad 2001

31

3. Inseraţi simbolul definire (:=) din unul din

toolbar-urile Calculator, Evaluation, ori mai rapid apăsaţi tasta [:].

4. Completaţi valoarea în placeholder.

_______________________________________________________________________________

Observaţii:

- valoarea asignată variabilei poate fi un număr, ca în exemplul de mai sus, sau o expresie numerică, sau o expresie hibridă, dependentă de alte variabile anterior definite şi de numere;

- într-o regiune matematică poate fi definită o singură variabilă.

Definirea funcţiilor locale

Definirea unei funcţii se face asemănător definirii unei variabile, cu următoarele deosebiri:

- în partea stângă a simbolului de definire, se scrie numele funcţiei şi lista argumentelor, separate prin virgule, între paranteze rotunde (de exemplu: f(x,y) );

- expresia scrisă în partea dreaptă a simbolului de definire trebuie să fie dependentă de argumentele funcţiei; aceasta mai poate conţine numere, funcţii predefinite, variabile anterior definite (de exemplu: f(x,y):=x+y-a, a fiind o variabilă definită anterior).

Pentru exemplificare, se utilizează ecuaţia explicită a traiectoriei punctului material, care se mişcă în câmp gravitaţional, fără frecare. Aceasta se poate scrie în Mathcad, în mai multe moduri, două dintre ele fiind:

- ca o funcţie având argumentele: x, α, V0, g; - ca o funcţie având doar argumentul x, considerând că variabilele α, V0, g au fost

definite anterior, etapele fiind explicitate în continuare.

Etape ________________________________

1. Definiţi variabilele g, α,V0

2. Scrieţi numele funcţiei şi argumentul x

3. Inseraţi simbolul de definire din toolbar-ul

Calculator, sau mai rapid apăsaţi tasta [:].

4. Scrieţi expresia funcţiei

x*v0*tan(α)-0.5*g*(x/v0*cos(α))^2

_______________________________________________________________________________

Funcţia astfel definită, poate fi utilizată la fel ca orice altă funcţie predefinită în Mathcad, pentru: determinarea ordonatei punctului material pe traiectorie, corespunzătoare unei abscise x

Page 32: Aplicata in Inginerie Mathcad 2001

32

cunoscute; reprezentarea grafică a traiectoriei (vezi paragraful Grafice 2D), sau în orice expresie poziţionată la dreapta pe orizontală, sau mai jos.

Calculul valorii funcţiei se efectuează parcurgând paşii:

Etape ________________________________

Scrieţi numele funcţiei, înlocuind valorile

argumentelor prin: numere, variabile definite

anterior, sau expresii

Apăsaţi tasta [ = ], sau din bara de instrumente

Calculator apăsaţi butonul = (Evaluate Numerically)

_______________________________________________________________________________ Calcule iterative în Mathcad Pentru efectuarea calculelor iterative, pe lângă alte mijloace, se poate utiliza o variabilă specială, numită “range variable”. Aceasta are valori în progresie aritmetică. Deoarece denumirea descriptivă este greoaie: variabilă cu valori în progresie aritmetică, în continuare se utilizează abrevierea VPA (variabilă în progresie aritmetică).

Forma completă şi simplificată a VPA:

nume VPA := valoare initială, urmatoarea valoare .. valoare finală.

nume VPA := valoare initială .. valoare finală.

În varianta completă, raţia progresiei aritmetice este diferenţa dintre al doilea şi primul termen. Se poate lucra cu raţie pozitivă sau negativă. Raţia formei simplificate este implicit 1.

Etape ________________________________

1. Scrieţi numele VPA, introduceţi simbolul definire (:=)

2. Scrieţi, în placeholder, prima valoare a progresiei

3. Apăsaţi tasta virgulă [ , ]

4. Scrieţi, în placeholder, a doua valoare a progresiei

5. Apăsaţi tasta punct şi virgula [ ; ], sau din bara de

instrumente Calculator, apăsaţi butonul m .. n

6. Scrieţi, în placeholder, ultima valoare a progresiei

Page 33: Aplicata in Inginerie Mathcad 2001

33

Pentru scrierea VPA simplificate, se elimină paşii 3 şi 4.

Orice expresie, dependentă de VPA, este evaluată succesiv pentru fiecare valoare a VPA.

Astfel, dacă doriţi să calculaţi ordonatele traiectoriei punctului material, pentru fiecare dintre valorile VBA, definite mai sus, scrieţi: y(d)= . Se obţine rezultatul sub forma unui vector coloană (vezi captura alăturată).

Atentie ____________________________

În definirea VPA se pot utiliza numai numere reale, sau expresii cu valori reale.

Nu introduceţi simbolul două puncte (.. ) prin dubla apăsare a tastei punct, ci doar prin

operatorul m .. n, aflat în BIM Matrix.

Nu utilizaţi direct blocul de valori m .. n în funcţii, expresii, ci doar când definiţi o VBA;

de exemplu o evaluare de forma: y(50 .. 70)= nu este acceptată de sistem.

Nu sunt permise VPA imbricate.

VPA nu poate fi element al unui vector sau matrice.

_______________________________________________________________________________ Grafice 2D

Mathcad pune la dispoziţia utilizatorului o paletă largă de reprezentări grafice 2D şi 3D a funcţiilor de una, respectiv două variabile, a seturilor de puncte şi a câmpurilor.

În 2D se pot face reprezentări grafice de funcţii explicite, parametrice, în sisteme de coordonate carteziene sau polare.

Utilizatorul are la dispoziţie numeroase opţiuni de inserare a unui grafic 2D în foia de lucru şi de completare a parametrilor de reprezentare a graficului. Una dintre acestea, care are o productivitate mare ( 2D QuickPlots ), este prezentată mai jos, urmând ca în capitolul 8 să fie detaliate şi celelalte.

Etape ________________________________

1. Scrieţi numele funcţiei, sau direct expresia funcţiei

2 Introduceţi simbolul a rond (@) sau graficul cadru din toolbar-ul Graph:

sau din meniul Insert Graph X-Y Plot

Clic în exteriorul regiunii graficului sau apăsaţi tasta

[Enter]

_______________________________________________________________________________

Page 34: Aplicata in Inginerie Mathcad 2001

34

Placeholder-ul, plasat median la stânga axei Y, este completat automat cu numele sau expresia funcţiei, iar după efectuarea clic-ului este completat automat şi cel de pe axa X. Graficul este reprezentat pentru [ ]10..10−∈x , interval implicit, care poate fi modificat prin clic pe grafic şi completarea celor două placeholder-e plasate la extremităţile axei X. De asemenea, efectuând un dublu clic, în spaţiul graficului, se deschide o fereastră de dialog pentru formatarea acestuia.

Graficul 2D poate fi repoziţionat, tăiat, copiat, lipit, şters ca orice regiune, în plus, poate fi şi redimensionat, independent, pe direcţie X, Y, sau simultan pe ambele direcţii, prin intermediul celor trei zone senzitive din partea de S-E a graficului, numite mânere (”handles”).

Introducerea unui text

Etape ________________________________

Clic într-o zonă liberă a worksheet-ului.

2.1. Apăsaţi tasta ghilimele [“],

sau

2.2 Alegeţi din meniul Insert Text Region.

3. Scrieţi textul

_______________________________________________________________________________

În comparaţie cu forma cursorului dintr-o regiune matematică, într-o regiune text cursorul îşi modifică forma într-o bară verticală de culoare roşie. Convenţiile de editare sunt aproape identice cu cele din WinWord. Formatarea poate fi făcută prin clic cu ButD, în regiunea text şi alegerea din meniul pop-up a comenzilor referitoare la: fonturi, paragraf, stil etc.

În regiunile text se pot insera şi regiuni matematice fie prin Copy Paste, fie prin scrierea expresiei matematice, după cum urmează:

Etape ________________________________

1. Clic, în locul din regiunea text, unde doriţi introducerea regiunii matematice.

2. Alegeţi din meniul Insert Math Region.

3. Scrieţi în placeholder expresia matematică.

_______________________________________________________________________________

Regiunea matematică, înglobată în text, este o regiune activă. Dacă se doreşte dezactivarea ei se alege din meniul Format Proprieties Calculation Disable Evaluation OK. O

Page 35: Aplicata in Inginerie Mathcad 2001

35

regiune matematică pasivă este marcată cu un mic dreptunghi negru plasat în poziţia unui exponent. Operaţii de tipărire, salvare, deschidere de documente Mathcad Salvarea unui document Mathcad

Mathcad-ul salvează documentele în următoarele formate:

- formatul implicit având extensia *.mcd (mathcad document), sau varianta *.mct (mathcad template) pentru modele de documente;

- se mai poate opta pentru salvarea în format *.rtf (rich text format) recunoscut de majoritatea procesoarelor de texte;

- HTML (Hypertext Mark-up Language) care poare fi citit de browser-le Web; - formatele versiunilor anterioare ale Mathcad-ului: 6, 7, 8 şi 2000.

Etape ________________________________

1. Meniul File Save, sau [Ctrl]+[S], sau clic pe pictograma din bara

instrumentelor standard.

2. Dacă fişierul a mai fost salvat anterior, Mathcad efectuează salvarea fără alte operaţii

suplimentare din partea utilizatorului. Dacă fişierul nu a mai fost salvat anterior, în caseta

de dialog Save As se completează numele fişierului, se alege locul de salvare (”Save in”),

eventual, se alege tipul de fişier salvat, diferit de cel implicit (”Save as type”)

_______________________________________________________________________________ Deschiderea unui document Mathcad

Deschiderea unui document care a fost salvat anterior: meniul File Open, sau [Ctrl]+[O], sau pictograma din bara instrumentelor standard.

Deschiderea unui document nou: meniul File New, sau [Ctrl]+[N], sau pictograma din bara instrumentelor standard

Tipărirea unui document Mathcad

Pentru tipărirea documentelor, din bara instrumentelor standard, se apasă butonul sau se utilizează comanda Print din meniul File.

Pentru analiza punerii în pagină, în acelaşi meniu se găseşte şi comanda Print Preview, sau se efectuează un clic pe butonul din bara instrumentelor standard.

Amănunte privind setările necesare ale layout-ului foii de lucru, ale imprimantei, se găsesc în subcapitolul 3.2

Page 36: Aplicata in Inginerie Mathcad 2001

36

I FUNDAMENTE MATHCAD 2001 FOAIA DE LUCRU

_______________________________________________________________________________

3.1. MODELUL FOII DE LUCRU

Orice foaie de lucru Mathcad se bazează pe un fişier cu extensia *.mct care conţine informaţiile asupra layout-ului (dimensiunea foii de lucru, orientarea, marginile, antete şi subsoluri) şi formatărilor referitoare la regiuni (fonturi, stiluri ale regiunilor matematice, text, formatul rezultatelor numerice, a valorilor, unităţile de măsură etc.)

În Mathcad se poate lucra pe: - foaia albă de lucru implicită (“blank worksheet”), cu parametrii memoraţi în fişierul

normal.mct; - după alte modele predefinite (“templates”); - după modele create de utilizator.

O nouă foaie de lucru moşteneşte toate caracteristicile referitoare la layout şi la formatările modelului. Prin acest mecanism se asigură constanţa parametrilor grafici pentru o aplicaţie dată.

3.1.1. Deschiderea unei noi foi de lucru

- meniul File New, din fereastra de dialog alegeţi un model, sau - pictograma , din bara de instrumente standard, care deschide foia de lucru

implicită.

Crearea unui nou model al foii de lucru

Etape ________________________________

1. Porniţi de la o foaie de lucru căreia trebuie să-i setaţi următoarele caracteristici: o proprietăţile implicite ale textului; o stilurile matematice; o stilurile textelor; o antetul şi subsolul; o marginile pentru tipărire; o formatarea rezultatelor numerice; o valorile variabilelor implicite; o numele unităţilor de măsură de bază; o sistemul de măsură implicit o modul de calcul implicit.

Page 37: Aplicata in Inginerie Mathcad 2001

37

Foia poate să mai conţină ecuaţii, texte şi alte obiecte pe care doriţi să le aveţi în model.

2. Meniul File Save As.

3. În fereastra de dialog efectuaţi operaţiile:

o în câmpul Save as type, alegeţi, din lista afişată Mathcad Template (*.mct);

o în câmpul File Name, scrieţi numele modelului;

o în câmpul Save in, poziţionaţi-vă în subdirectorul Templates, aflat în directorul

unde se găseşte programul Mathcad 2001;

o în final, efectuaţi clic pe butonul Save.

_______________________________________________________________________________

Modelul, astfel creat, este disponibil în lista existentă în fereastra de dialog New. Dacă modelul a fost salvat în alt loc, la deschidere va trebui apăsat butonul de răsfoire Browse, care are asociată o fereastra de dialog asemănătoare celei standard Open.

3.1.2. Modificarea unui model

Etape ________________________________

1. Meniul File Open sau pictograma din bara instrumentelor standard.

2. În fereastra de dialog efectuaţi operaţiile:

o în câmpul Files of type, alegeţi din listă articolul Mathcad Template;

o în câmpul File Name, scrieţi numele modelului;

o în câmpul Look in, poziţionaţi-vă în subdirectorul unde se găseşte modelul;

o în final, clic pe butonul Open.

3. Modificaţi modelul.

4. Salvaţi modelul, cu acelaşi nume prin meniul File Save, sau pictograma

sau dacă doriţi să-i schimbaţi numele prin File Save As.

_______________________________________________________________________________

3.2. SETAREA LAYOUT-ULUI FOII DE LUCRU ( E)

Dacă se intenţionează tipărirea documentului Mathcad este indicat ca, înainte de elaborare să se seteze parametrii foii de lucru funcţie de caracteristicile imprimantei.

Page 38: Aplicata in Inginerie Mathcad 2001

38

3.2.1. Setarea dimensiunii foii de lucru, orientării, marginilor

Pentru setarea dimensiunii foii de lucru, se alege comanda Page Setup din meniul File.

În fereastra de dialog Page Setup (figura alăturată) se poate alege una din numeroasele dimensiuni predefinite, efectul putându-se vedea în partea superioară a ferestrei, printr-un preview.

Pe foia de lucru Mathcad, marginea din dreapta a câmpului printabil al foii este marcată de o linie verticală gri.

Prin cele două butoane radio Portait şi Landscape, se stabileşte orientarea foii pe lungime, respectiv pe lăţime.

Se pot seta şi distanţele, de la marginile foii de hârtie, la marginile zonei tipăribile.

Selectarea check-box-ului Print single page width are ca efect tipărirea doar a zonei care se află la stânga marginii dreapta a foii de lucru. Efectuând un clic pe butonul Printer, se deschide o fereastră, prin care se alege unul din tipurile imprimantelor instalate pe PC.

3.2.2. Separatorii foii de lucru

Mathcad-ul lucrează cu două tipuri de separatori, pe verticală, ai foii de lucru: 1. Separatorii impliciţi (“soft page breaks”), plasaţi automat de către sistem funcţie de

marginile setate şi de imprimanta implicită. Sunt reprezentaţi prin linii întrerupte. 2. Separatorii suplimentari (”hard page breaks”) setaţi de utilizator prin comanda Page

Break, din meniul Insert. Aceştia apar pe foia de lucru, ca linii continue orizontale. Separatorii suplimentari, după ce au fost selectaţi, pot fi repoziţionaţi, şterşi etc.

Indiferent de natură, separatorii determină, la tipărire, saltul la o pagină nouă.

3.2.3. Antete şi subsoluri

În general, antetul (”header”) şi subsolul (”footer”) sunt utilizaţi în documentele tipărite. În aceste zone se plasează texte, sau imagini cum ar fi: numărul paginii, data calendaristică, logo-ul companiei, titlul documentului, numele autorului etc.

Editarea antetelor şi a subsolurilor se face prin intermediul unei casete de dialog, care se deschide la comanda Headers/Footers, din meniul Format.

Page 39: Aplicata in Inginerie Mathcad 2001

39

Fereastra de dialog conţine două tab-uri identice, corespunzătoare celor două elemente, fiecare fiind format din câte trei ferestre: Left, Center şi Right. Uilizatorul poate introduce texte sau imagini, care vor apărea în foia tipărită, plasate la dreapta, centrat, la stânga.

Introducerea textelor se poate face pe mai multe căi: - prin scriere directă în una, două sau toate cele trei ferestre; - utilizând cele opt butoane, grupate sub numele Tools, prin care se pot scrie următoarele

texte predefinite: - primele patru butoane, de pe primul rând, comandă scrierea unor informaţii

referitoare la documentul curent: numele documentului, calea, numărul paginii curente, numărul total de pagini;

- următoarele patru butoane, de pe al doilea rând, facilitează scrierea unor informaţii de natură temporală: data calendaristică, ora ultimei salvări, data, ora curentă;

- butonul Format deschide o casetă de dialog în care se pot seta caracteristicile textului: tipul şi mărimea fontului, culoarea, efecte de subliniere, modul de aliniere a textului: stânga, centrat, dreapta.

Introducerea imaginilor, având ca sursă fişiere imagine în format *.bmp, se efectuează prin butonul Image din grupul Tools, care deschide o casetă de tip Open..

Pentru a vedea efectul editării antetelor şi subsolurilor utilizaţi comanda Print Preview, din meniul File, sau butonul din bara instrumentelor standard:

Atentie ________________________________

Înălţimea textului introdus în antet şi subsol trebuie să se încadreze în spaţiul dintre marginea fizică a foii de hârtie şi marginea zonei de tipărire. În caz contrar se produce o trunchiere a textului. În cazul depăşirii, înălţimii setate a antetului sau subsolului, utilizatorul este întrebat dacă doreşte ca marginile să fie ajustate automat astfel încât să nu se producă trunchierea. _______________________________________________________________________________

Page 40: Aplicata in Inginerie Mathcad 2001

40

În zona Options pot fi setate: - numerotarea paginilor; - antet/subsol diferit pe prima pagină. Dacă se bifează checkbox-ul, apar două tab-uri suplimentare destinate setărilor antetului, subsolului specifice primei pagini.

Numărul curent al paginii, antetul şi/sau subsolul pot fi încadrate de rame dreptunghiulare selectând checkbox-urile Page, Header, Footer, grupate sub denumirea Frame.

3.3. FINISAREA ASPECTULUI FOII DE LUCRU ( E)

3.3.1. Alinierea regiunilor

Mathcad-ul permite alinieri rapide pe orizontală şi verticală prin: meniul Format Align

Regions Across/Down, sau prin intermediul butoanelor de pe bara instrumentelor standard. Ambele funcţionează pe principiul alinierii faţă de regiunea mediană din grupul selectat.

Alinieri se pot face şi prin intermediul riglei (comanda Ruler din meniul View), în maniera WinWord. Dacă de efectuează un clic cu ButD în spaţiul riglei, din meniul pop-up se poate comanda ascunderea riglei (Hide), se poate seta unitatea de măsură pe riglă (Inches, Centimeters, Points, Picas) şi vizualiza, individual, liniile de ghidare (Show Guideline).

Etape ________________________________

1. Plasaţi tab stop-ul pe riglă, prin clic pe aceasta.

2. Clic pe tab stop cu ButD.

3. Alegeţi, din meniul pop-up, comanda Show Guideline, ca urmare, pe foia de lucru apare

o linie verde, verticală faţă de care se pot alinia regiunile.

_______________________________________________________________________________

Pe riglă pot fi plasat mai multe tab-stop-uri. La apăsarea succesivă a tastei [Tab], cursorul reticular sare cu pasul determinat de tab-stop-uri.

Pentru îndepărtarea unui tab-stop acesta trebuie selectat prin clic, apoi ţinând apăsat ButS acesta se deplasează într-unul din capetele riglei (”drag&drop”).

3.3.2. Separarea regiunilor suprapuse

Dacă există suprapuneri ale regiunilor, acestea pot fi separate prin două metode: - se selectează regiunile suprapuse. Sistemul efectuează automat separarea pe verticală la

apelarea comenzii Separate Regions din meniu Format; - dacă regiunile nu sunt suprapuse total, separarea se poate efectua individual prin

selectarea câte unei regiuni şi apoi mutarea ei manuală (”drag&drop”).

buton

Page 41: Aplicata in Inginerie Mathcad 2001

41

Dacă nu se doreşte separarea regiunilor, ci doar gestionarea vizibilităţii lor, după ce este selectată o regiune, aceasta poate fi adusă în faţă, trimisă în spate prin comenzile existente în meniul pop-up (Bring to Front, Send to Back ).

Pentru facilitarea acestor operaţii trebuie cunoscute dimensiunile reale ale regiunilor. Prin meniul View Regions fondul foii de lucru se colorează în gri, iar regiunile rămân albe. Deselectând prin clic comanda Regions, se revine la starea iniţială.

Scara de reprezentare a foii de lucru poate fi modificată prin: - meniul View Zoom; - meniul pull-down, al barei de instrumente standard

3.3.3. Introducerea, ştergerea de rânduri libere pe foia de lucru

Inserarea rândurilor

Etape ________________________________

1. Clic în zona liberă unde doriţi să inseraţi rânduri goale.

2. Apăsaţi tasta [Enter]. Toate liniile, de sub cursorul reticular, translatează cu un pas în

jos. Operaţia de apăsare a tastei [Enter] se poate repeta după necesităţi.

_______________________________________________________________________________

Ştergerea rândurilor

Etape ________________________________

3. Clic în zona liberă, deasupra liniei pe care doriţi să o ştergeţi. Asiguraţi-vă că pe linie nu

există regiuni, în caz contrar efectul următoarei operaţii este nul.

4. Apăsaţi tasta [Delete]. Se elimină o linie plasată sub cursorul reticular. Apăsarea tastei

[Delete] poate fi repetată.

_______________________________________________________________________________

Dacă se apasă tasta [Backspace], se şterg liniile plasate deasupra cursorului reticular.

Se pot insera sau şterge un număr specificat de linii:

Rapid ________________________________

1. Clic cu ButD, într-o zona liberă pe foia de lucru, unde doriţi să inseraţi, sau să ştergeţi

rânduri libere.

2. Alegeţi din meniul pop-up comanda Insert lines sau Delete lines.

3. În caseta de dialog introduceţi numărul de linii şi apăsaşi butonul OK.

_______________________________________________________________________________

Page 42: Aplicata in Inginerie Mathcad 2001

42

3.3.4. Modificarea culorii fondului foii de lucru, regiunilor

Modificarea culorii fondului foii de lucru

Etape ________________________________

1. Meniul Format Color Background.

2. Alegeţi din caseta de dialog una din cele 48 de culori afişate, sau dacă nu vă satisfac,

apăsaţi butonul Define custom color şi creaţi-vă culoarea dorită, fie pe cale grafică, fie

numerică şi în final apăsaţi butonul OK.

_______________________________________________________________________________

Modificarea culorii fondului unei regiuni

Etape ________________________________

1. Clic cu ButS pe o regiune.

2. Meniul Format Proprieties, sau meniul pop-up comanda Proprieties.

3. Din caseta de dialog, alegeţi tab-ul Display.

4. În regiunea Background, selectaţi Highlight region şi apoi apăsaţi butonul Choose

Color. Puteţi selecta şi bordurarea regiunii prin check-box-ul Show Border.

5. Alegeţi culoarea din caseta de dialog.

6. Apăsaţi butonul OK

_______________________________________________________________________________

3.4. STRUCTURAREA REGIUNILOR

Operaţiile uzuale de editare a regiunilor au fost detaliate în paragraful 2.4.2.1: inserarea, selectarea, deselectarea, alinierea, mutarea, copierea, tăierea, lipirea şi ştergerea regiunilor.

În subcapitolul curent se tratează problemele legate structurarea regiunilor. Această operaţie se poate face în mai multe scopuri: mărirea lizibilităţii documentelor Mathcad, asigurarea confidenţialităţii prin parolare etc.

Alte mijloace, detaliate mai sus, care duc la mărirea expresivităţii foii de lucru, disponibile în orice editor de text, inclusiv în Mathcad sunt: inserarea de linii goale între regiuni; marcarea prin culoarea fondului, încadrarea, utilizarea de fonturi de mărimi şi culori diferite etc.

Blocurile de regiuni sunt formate din: regiuni text, matematice, grafice şi alte obiecte grupate după criterii logice. Documentaţia originară Mathcad le numeşte suprafeţe (“areas”). În prezenta lucrare, se utilizează termenul mai descriptiv: Bloc de Regiuni (BR).

Page 43: Aplicata in Inginerie Mathcad 2001

43

3.4.1. Inserarea unui bloc de regiuni

Etape ________________________________

1. Clic într-o zonă liberă din apropierea regiunilor pe care vreţi să le structuraţi în BR.

2. Meniul Insert Area. Ca urmare Mathcad-ul plasează pe foia

de lucru doi delimitatori, care arată ca în figura alăturată.

3. Selectaţi şi poziţionaţi după necesităţi delimitatorii şi/sau

regiunile, astfel încât delimitatorii să cuprindă regiunile structurate ca BR.

_______________________________________________________________________________

Nu sunt permise BR imbricate (BR în interiorul altor BR).

3.4.2. Proprietăţile blocului de regiuni

3.4.2.1 Ascunderea conţinutului (contractarea) blocului de regiuni

Etape ________________________________

1. Clic cu ButD al mouse-lui, în zona cuprinsă de BR, sau în proximitatea unui delimitator.

2. Alegeţi, din meniul pop-up, comanda Collapse

_______________________________________________________________________________

Sau mai complicat:

Etape ________________________________

1. Clic cu ButS în zona cuprinsă de BR.

2. Meniul Format Area Collapse.

_______________________________________________________________________________

Sau cel mai simplu:

Rapid ________________________________

Clic dublu în zona adiacentă a unuia dintre delimitatorii BR.

_______________________________________________________________________________

După contractare BR arată ca în captura alăturată Operaţiile curente de editare a regiunilor expandate, pot fi efectuate şi asupra BR

contractate: selectare, mutare, copiere, tăiere, lipire, ştergere (de exemplu, pentru ştergere: selectare urmată de [Ctrl]+[D], sau din meniul Edit Delete).

Page 44: Aplicata in Inginerie Mathcad 2001

44

Un BR contractat este calculabil, însă nu “live”. Pentru reactualizarea regiunilor matematice, din interiorul BR este necesară expandarea BR şi apelarea comenzii Calculate Worksheet din meniul Math, sau Calculate din acelaşi meniu, dacă zona expandată este vizibilă pe display.

Exemplu: În exteriorul BR se definesc două variabile x, y, în interiorul unui BR se calculează o expresie dependentă de acestea. Dacă opţiunea Automatic Calculation din meniul Math este selectată, şi BR este expandat, la modificarea valorii uneia din variabile şi clic pe foaia de lucru, expresia este reevaluată. Dacă BR este contractat, reevaluarea automată nu se produce.

3.4.2.2. Relevarea conţinutului (expandarea) blocului de regiuni

Etape ________________________________

1. Clic cu ButD în proximitatea simbolului BR contractat.

2. Alegeţi din meniul pop-up comanda Expand.

_______________________________________________________________________________

Asemănător operaţiei de contractare, expandarea se poate face şi prin comanda Expand, din meniul Format Area, sau mai rapid, prin dublu clic în zona adiacentă simbolului BR contractat.

3.4.2.3. Încuierea blocului de regiuni

Încuierea se poate face, în două stări ale BR: expandat sau contractat, cu parolare, sau fără. Setările se fac prin intermediul unei casete de dialog, care se deschide pe două căi:

Etape ________________________________

1. Clic cu ButS în interiorul BR expandat, sau în zona simbolului BR contractat.

2. Meniul Format Area Lock.

Etape ________________________________

1. Clic cu ButD în interiorul BR expandat sau în proximitatea simbolului BR contractat.

2. Alegeţi din meniul pop-up a comanda Lock.

_______________________________________________________________________________

Page 45: Aplicata in Inginerie Mathcad 2001

45

După cum s-a amintit parolarea este opţională. Dacă se utilizează o parolă, aceasta trebuie introdusă de două ori. Reţineţi că parola este “case senzitive” (sensibilă la majuscule, minuscule). Prin două checkbox-uri se pot seta: contractarea automată la încuierea BR, afişarea datei şi orei când s-a realizat încuierea.

Dacă pe o foaie de lucru, se află mai multe BR, acestea pot fi încuiate folosind aceeaşi parolă, sau parole diferite. Descuierea unui BR se face asemănător încuierii, selectând comanda Unlock, fie din meniul Format Area, fie din meniul pop-up.

3.4.2.3. Setări grafice ale blocurilor de regiuni

Etape ________________________________

1. Clic ButD în zona senzitivă a unuia din delimitatorii BR expandat, sau în proximitatea

simbolului BR contractat.

2. Alegeţi comanda Proprieties din meniul pop-up.

Caseta de dialog, pentru setări grafice ale BR, este asemănătoare cu cea asociată regiunilor

matematice, sau text fiind compusă din două tab-uri:

- tab-ul “Display”, prin care se poate alege o culoare a fondului delimitatorilor şi eventual se

poate opta pentru încadrarea BR;

- tab-ul “Area”, prin care se poate scrie un titlu al BR, opţiuni pentru afişarea liniilor

delimitatoare, a icoanei din partea stânga a BR, a numelui şi datei.

Page 46: Aplicata in Inginerie Mathcad 2001

46

I FUNDAMENTE MATHCAD 2001 LUCRUL CU REGIUNILE MATEMATICE ŞI TEXT _______________________________________________________________________________

4.1. LUCRUL CU REGIUNILE MATEMATICE

În subcapitolul 2.4. s-au tratat relativ sumar următoarele probleme: calculele simple în Mathcad, definirea variabilelor, funcţiilor şi utilizarea VPA în calculele iterative. Presupunând că aceste baze au fost asimilate, în acest subcapitol se sistematizează tipurile de numere cu care operează Mathcad, se tratează problema construirii şi editării expresiilor, stilurile matematice.

4.1.1. Numerele în Mathcad ( E)

Într-o regiune matematică, orice expresie care începe cu un caracter numeric 0 ... 9 este interpretată ca număr. Pentru ca acestea să fie recunoscute ca numere, de către Mathcad, trebuie respectate reguli specifice de sintaxă.

4.1.1.1. Numere definite de utilizator

Numerele reale

Numerele reale, reprezentate în sistemul de numeraţie zecimal, sunt formate din caractere numerice şi un punct zecimal. Pentru numere mari se poate utiliza şi exprimarea exponenţială, în particular, formatul ştiinţific. Exemple: 2136.452, 1.268E+5 (introdus ca: 1.268*10^5).

Atentie ________________________________

Nu utilizaţi, în scopul măririi lizibilităţii numărului real, mai multe puncte zecimale, sau

virgule. În ambele situaţii, sistemul vă va informa că nu poate interpreta expresiile respective.

_______________________________________________________________________________

Numerele întregi pot fi scrise pe foia de lucru în mai multe sisteme de numeraţie. Sistemul de numeraţie zecimal este implicit, deci utilizează sintaxa matematică uzuală.

Suplimentar_______________________________

- Sistemele de numeraţie binar (baza=2, cu cifrele 0,1), octal (baza=8, cu cifrele 0,1, 2...7). hexazecimal (baza=16, cu cifrele 0,1, 2.... 9, a, b, c, d, e, f) utilizează în Mathcad sufixurile: b sau B pentru binar, o sau O pentru octa şi h sau H pentru hexazecimal.

Exemple: 1101b, 32o, 2b3ch.

Page 47: Aplicata in Inginerie Mathcad 2001

47

Atentie ________________________________ În anumite circumstanţe, sistemul introduce automat operatorul înmulţire între unul din caracterele numerice şi unul din caracterele nenumerice listate mai sus: b, o şi h. Deoarece sistemul nu poate interpreta expresia respectivă, în sensul unui întreg scris într-un sistem de numeraţie diferit de cel zecimal, operatorul înmulţire trebuie şters manual. _______________________________________________________________________________

În cadrul unei expresii se pot utiliza operanzi scrişi în diferite sisteme de numeraţie: Exemplu: _______________________________________________________________________________

Numerele complexe

Introducerea unui număr complex sub forma algebrică.

Etape ________________________________

1. Scrieţi partea reală.

2. Introduceţi operatorul + sau -.

3. Scrieţi partea imaginară.

4. Scrieţi, fără nici un spaţiu, după partea imaginară i sau j.

_______________________________________________________________________________

Pentru un număr imaginar se sar etapele 1 şi 2.

Unitatea imaginară i/j se scrie manual: 1i, 1j, sau poate fi culeasă de pe toolbar-ul Calculator.

În mod implicit, Mathcad utilizează la afişarea unităţii imaginare simbolul i. Pentru comutarea pe j se face modificarea în tab-ul Display Options, din meniul Format Result.

4.1.1.2. Constante matematice predefinite

Tabel 4.1. Constante matematice predefinite în Mathcad

Simbolul Localizare pe toolbar Taste Observaţii

1 Calculus [Ctrl]+[Shift]+[z] În calculele numerice are valoarea 10 307

2 e Calculator (e x) [e ] Valoarea e în calculele numerice are 15 zecimale

3 Calculator sau Greek [Ctrl]+[Shift]+[p]

[p] [Ctrl] [g]

Valoare π în calculele numerice are 15 zecimale

4 % - [% ] Echivalent cu înmulţirea 0.01

Page 48: Aplicata in Inginerie Mathcad 2001

48

Constantele, incluse în tabelul de mai sus, pot fi redefinite prin operatorul de definire “:=”, la fel ca orice variabilă.

În afară de constantele matematice predefinite, concentrate în tabelul de mai sus, în Mathcad se mai utilizează constante de sistem, predefinite .

Tabel 4.2. Constante de sistem, predefinite în Mathcad

Nume Valoare

implicită

Funcţionalitate

1 TOL

(TOLerance)

0.001 Controlează precizia de evaluare numerică a integralelor

definite şi a derivatelor, a blocurilor solve şi funcţiei root.

2 CTOL

(Constraints TOLerance)

0.001 Controlează precizia de evaluare a restricţiilor în blocurile solve,

în operaţii de optimizare, prin funcţiile minimize, maximize,

find sau minner .

3 ORIGIN 0 Valoarea de start a indexului vectorilor/ matricelor de pe o foaie

de lucru

4 PRNPRECISSION (PRiNt PRECISSION)

4 Numărul de zecimale cu care se scriu valorile numerice într-un

fişier, prin intermediul funcţiei writeprn

5 PRNCOLWITDH (PRiNt COLumns’ WIDTH)

8 Lăţimea coloanelor la fişierele ASCII, scrise cu funcţia

writeprn

6 CWD (Current

Working Directory)

string Afişează directorul curent de lucru, unde sunt salvate fişierele.

Implicit este directorul Mathcad-ului.

Redefinirea constantelor de sistem se efectuează prin meniul Math → Options → tab-ul Built in Variables, amănuntele vor fi prezentate în subcapitolele care tratează funcţiile în care sunt implicate.

4.1.2. Nume de variabile şi de funcţii ( E)

4.1.2.1. Nume predefinite de variabile şi de funcţii

În afară de numele unor constante matematice, sau de sistem (tabelele 4.1 şi 4.2) Mathcad tratează numele unor unităţi de măsură predefinite, ca variabile predefinite. Exemple: A-ampere, m-metru, s-secundă, etc. Dacă scrieţi într-o regiune matematică numele uneia din variabilele exemplificate şi apăsaţi tasta [=] în partea dreaptă a operatorului egal rezultă:

.

De asemenea, sunt predefinite sute de funcţii, care pot fi inserate în foia de lucru prin butonul f(x), sau meniul Insert Function. (vezi cap. 6 din partea I)

Page 49: Aplicata in Inginerie Mathcad 2001

49

4.1.2.2. Nume definite de utilizator ale variabilelor şi funcţiilor

Pentru a se evita confuziile, este indicat, ca înainte de definirea unei noi funcţii, să se verifice dacă nu există o funcţie predefinită cu acelaşi nume.

Numele de variabile şi funcţii pot conţine următoarele caractere: - litere mari sau mici; - cifrele 0 ... 9; - caracterul _ ; - simbolul prim ‘ (a nu se confunda cu “ ); - simbolul procent %; - simbolul infinit ; - caracterele greceşti, care se pot insera din toolbar-ul Greek Symbol, sau prin

succesiunea de taste: [litera latină corespunzătoare cele greceşti] [Ctrl] +[g ]; - Mathcad face distincţia între literele mari şi mici (în engleză “case senzitive”).

Exemplu: x este numele unei variabile diferită de X.

Restricţii în definirea numelor de variabile şi funcţii: - cifrele 0 ... 9, nu pot fi folosite ca prim caracter; - simbolul infinit poate fi folosit, doar ca prim caracter; - caracterele care urmează după caracterul punct vor apare ca indice (în engleză

”subscript”). A nu se face confuzie între un nume de variabilă care conţine unul sau mai multe caractere trecute ca indice şi indicele unei variabile indexate (vezi şi capitolul 7 Vectori şi matrice). Mathcad este senzitiv la scrierea subscript. Exemplu: pe o foaie de lucru, o variabilă cu numele X1, unde 1 este un caracter scris subscript este diferită de o variabilă X1 şi de o variabilă X1, unde 1 este indicele vectorului X.

- Mathcad nu poate face deosebirea între nume de variabile şi de funcţii. În consecinţă, evitaţi să folosiţi acelaşi nume pentru o variabilă şi o funcţie; Exemplu: Dacă se definesc: o funcţie cu numele f(x) şi undeva la dreapta sau mai jos, o variabilă cu numele f, numele funcţiei va putea fi folosit doar în spaţiul foii de lucru de la prima definire la a doua, nu şi dedesubtul, sau la dreapta locului unde s-a definit variabila.

4.1.3. Construirea şi editarea expresiilor ( E)

4.1.3.1. Construirea expresiilor

În procesul construirii unei expresii Mathcad se comportă ca un editor de texte, în plus, asamblează automat diversele părţi ale acesteia folosind regulile de precedenţă şi alte câteva reguli care simplifică introducerea expresiei la numitor, la exponenţi şi sub radical. Pentru introducerea unei expresii trebuie controlată poziţia şi aria de cuprindere a liniei de editare orizontală (LEO):

LEO apare de la tipărirea primului caracter şi cuprinde tot şirul de caractere până ce se introduce un operator, când sare la dreapta placeholder-ului asociat .

Pentru a cuprinde şi partea de expresie scrisă anterior se apăsă de n ori tasta Space. Schimbarea direcţiei de cuprindere a LEO se efectuează prin intermediul tastelor săgeţi stânga/dreapta.

Page 50: Aplicata in Inginerie Mathcad 2001

50

Se pot aplica două metode de construire a expresiilor: 1. Se construieşte scheletul expresiei, format din operatori şi apoi se completează

placeholder-le cu operanzi. 2. Se construieşte expresia, scriind succesiunea de operanzi şi operatori.

Prima metodă este indicată când se scriu expresii complicate care au o structură neliniară, pe când cealaltă este raţională pentru expresii relativ simple, cu structură liniară. Evident că în practică se pot face combinări ale celor două metode.

Exemplu: scrierea expresiei z

yx ba ++

prin cele două metode.

Metoda 1

1. Apăsaţi tasta [ / ], sau culegeţi operatorul →

împărţire din toolbar-ul Calculator.

2. Apăsaţi tasta [∧], sau

clic pe butonul Xy, din toolbar-ul Calculator. →

3. Apăsaţi tasta Space. →

4. Apăsaţi tasta [+], sau

clic pe butonul + din toolbar-ul Calculator. →

Astfel a fost finalizat scheletul expresiei.

5. Clic pe primul placeholder, sau

poziţionaţi-vă pe el prin apăsarea succesivă →

a tastei săgeată stânga.

6. Scrieţi x. →

7. Apăsaţi tasta săgeată dreapta, sau clic pe

placeholder-ul exponent. →

8. Scrieţi a+b. →

Page 51: Aplicata in Inginerie Mathcad 2001

51

9. Apăsaţi, de două ori, tasta săgeată dreapta, →

sau clic pe următorul placeholder.

10. Scrieţi y. →

11. Apăsaţi tasta săgeată dreapta, sau clic pe

placeholder-ul de la numitor. →

12. Scrieţi z la numitor. →

Metoda 2

1. Apăsaţi tasta [∧], sau

clic pe butonul Xy, din toolbar-ul Calculator. →

2. Scrieţi a+b în placeholder-ul exponent. →

3. Clic pe placeholder.

4. Scrieţi x. →

5. Apăsaţi tasta Space . →

6. Apăsaţi tasta [ + ] sau

clic pe butonul + din toolbar-ul Calculator. →

7. Scrieţi y. →

8. Apăsaţi tasta Space. →

9. Apăsaţi tasta [ / ], sau culegeţi operatorul

împărţire din toolbar-ul Calculator. →

10. Scrieţi z. →

Page 52: Aplicata in Inginerie Mathcad 2001

52

Utilizarea operatorului de înmulţire

Atentie ________________________________

Pentru a se înlătura orice ambiguitate privitoare la interpretarea de către Mathcad a operaţiei de înmulţire, se recomandă introducerea întotdeauna a operatorului de multiplicare (tasta [*] sau butonul Multiplication [x] din toolbar-ul Calculator).

Exemple: - Scrierea, într-o regiune matematică a secvenţei: un operator, apoi caracterul x urmat

imediat de caracterul y şi apoi alt operator, este interpretat de Mathcad ca numele unei variabile xy, nu x multiplicat cu y. La fel se întâmplă, de exemplu, cu expresia a(x+y), unde Mathcad consideră că s-a definit o funcţie cu .

- Scrierea unei secvenţe 3x este interpretată de Mathcad ca produs 3*x. Însă secvenţa x3 este interpretată ca nume de variabilă. Fac excepţie de la această regulă combinaţii de genul 4i, 4j care sunt interpretate ca numere complexe, şi sufixele o şi h precedate de o cifră, utilizate în scrierea în sistemele de numeraţie octa, respectiv hexazecimal.

_______________________________________________________________________________

Suplimentar_______________________________

Utilizatorul poate opta pentru diverse reprezentări ale operatorului înmulţire:

Etape ________________________________ 1. Clic cu ButD după operandul care precede operatorul de multiplicare. 2. Selectaţi din meniul pop-up comanda View Multiplication As, care deschide un

submeniu conţinând mai multe variante de reprezentate a operatorului. _______________________________________________________________________________

4.1.3.2. Editarea expresiilor

Controlul poziţiei şi cuprinderii liniei de editare orizontale (LEO)

- Cuprinderea unui nume, număr. Clic în zona numelui, numărului, urmat de o apăsare a tastei Insert sau Space. Cursorul vertical se deplasează spre capătul mai apropiat, cuprinzând întreg operandul. Dacă se mai apasă încă o dată tasta Insert, cursorul vertical îşi mută poziţia la cealaltă extremitate a operandului.

- Deplasarea pe distanţa unui caracter se efectuează prin apăsarea o dată a uneia din tastele săgeţi stânga, dreapta.

- Cuprinderea progresivă a unei expresii se realizează prin apăsări multiple ale tastei Space. Direcţia de cuprindere este spre capătul cel mai apropiat. Procesul este ciclic: după ce a fost cuprinsă toată expresia, dacă se apasă tasta Space se revine la poziţia de start a LEO.

Page 53: Aplicata in Inginerie Mathcad 2001

53

Modificarea unui nume de variabilă, funcţie sau a unui număr

Pentru modificarea unui operand acesta trebuie selectat printr-un clic.

Prin apăsarea unei taste caracter se adaugă un caracter la stânga cursorului vertical. Prin intermediul tastei [Backspace] şi [Delete] se efectuează ştergeri la stânga, respectiv la dreapta.

Pentru înlocuirea unui nume/număr, care apare de mai multe ori într-o foaie de lucru, se poate utiliza Edit → Replace. În cazul documentelor de dimensiuni mari, căutarea unui nume, număr este facilitată de comanda Find din meniul Edit.

Se observă că toate aceste operaţii de editare sunt identice cu cele din Winword.

Inserarea unui operator între două caractere ale unui nume, număr

Inserarea unui operator între două caractere aparţinând unui nume de variabilă, funcţie, sau a unui număr, se face simplu prin plasarea cursorului în poziţia de inserţie şi apăsând tasta corespunzătoare operatorului, sau butonul din toolbar-ul Calculator.

Atentie ________________________________

La inserarea operatorului împărţire, toate caracterele, plasate la dreapta cursorului vor fi transferate la numitor. Anumiţi operatori ca: radicalul, modulul cuprind caracterele plasate la dreapta cursorului vertical. La inserarea lor, între caractere, sistemul plasează la stânga un placeholder alb, care indică faptul că utilizatorul trebuie să-l completeze cu un operator +, -, *, / pentru ca sistemul să ştie ce operaţie să facă între cele două părţi. Exemplu: În expresie s-a scris greşit xy în loc de yx ⋅

Etape ________________________________

1. Poziţionaţi cursorul între x şi y →

2. Apăsaţi pe butonul produs [ x ], din BMI Calculator →

3. Inseraţi operatorul modul ( “absolute value”) →

_______________________________________________________________________________

Aplicarea operatorului asupra unei expresii

Există două modalităţi de a aplica un operator asupra unei întregi expresii: 1. Introduceţi întreaga expresie între paranteze rotunde şi apoi aplicaţi operatorul.

(manipularea parantezelor este detaliată mai jos). După inserarea operatorului, parantezele dispar.

2. Cuprindeţi toată expresia cu LEO, după care aplicaţi operatorul.

A doua metoda este mai rapidă.

Page 54: Aplicata in Inginerie Mathcad 2001

54

Ştergerea unui operator

Etape ________________________________

1. Clic la dreapta operatorului. →

2. Apăsaţi tasta [ Backspace ]. →

sau

1. Clic la stânga operatorului. →

2. Apăsaţi tasta [ Delete ]. →

După ştergerea unui operator acesta poate fi înlocuit cu altul prin apăsarea tastei, sau a butonului corespunzător din toolbar-ul Calculator.

Editarea parantezelor

Includerea unei expresii între paranteze rotunde:

Etape ________________________________

1. Selectaţi expresia pe care doriţi să o cuprindeţi între paranteze. →

2. Apăsaţi tasta [ ‘ ], sau clic pe butonul ( ) din toolbar-ul Calculator. →

_______________________________________________________________________________

Parantezele rotunde se pot insera şi individual prin tastele [ ( ] şi [ ) ].

Ştergerea parantezelor

Etape ________________________________

1. Plasaţi cursorul vertical la dreapta parantezei ( →

2. Apăsaţi tasta [ Backspace ] →

sau

1. Plasaţi cursorul vertical la stânga parantezei ). →

2. Apăsaţi tasta [ Delete ]. →

_______________________________________________________________________________

Page 55: Aplicata in Inginerie Mathcad 2001

55

Aplicarea unei funcţii asupra unei expresii Transformarea unei expresii, într-un argument al unei funcţii, se efectuează după cum urmează:

Elape ________________________________

1. Selectaţi expresia prin clic, →

apoi cuprindeţi întreaga expresie cu LEO. →

2. Scrieţi numele funcţiei, sau dacă este predefinită, introduceţi-o

din meniul Insert → Function sau butonul f(x) din bara

instrumentelor standard. →

_______________________________________________________________________________

Operaţiile de tăiere, copiere, lipire, ştergere a unor părţi din expresii se fac, ca în orice editor de text, prin comenzile Cut, Copy, Paste, Delete din meniul Edit, sau prin butoanele barei de instrumente standard, respectiv tasta [ Delete ] sau [ Backspace ].

Rapid ________________________________

Pentru mutări este mai productivă utilizarea proprietăţii ”drag and drop” decât succesiunea de operaţii Copy → Paste. Aceasta este operantă în cadrul aceleiaşi regiuni matematice, sau între regiuni matematice diferite. Exemplu: Să presupunem că trebuie construită expresia: ( ) ( )ϕϖϕϖ +⋅++⋅ tt cossin . Se observă că expresia este simplă, deci se va aplica metoda a doua de construire şi că funcţiile au acelaşi argument, deci după scrierea primului argument, al doilea se copiază prin ”drag and drop”.

Etape ________________________________

1. Înseraţi funcţia sin prin meniul Insert → Function →

sau prin butonul f(x) din bara instrumentelor

2. Scrieţi argumentul apelând şi la fonturile →

din paleta Greek.

3. Apăsaţi tasta săgeată dreapta,

inseraţi operatorul + şi funcţia cos. →

4. Selectaţi (poziţionaţi cursorul în faţa primului

caracter şi cu tasta stânga a mouse-ului apăsată →

deplasaţi cursorul până după ultimul caracter)

argumentul funcţiei sin.

5. Eliberaţi tasta mouse-ului, apăsaţi tasta [ Ctrl ]

şi efectuaţi operaţia de mutare (clic pe argumentul

selectat şi deplasaţi cursorul până în zona →

parantezelor funcţiei cos), după care efectuaţi operaţia

plasare, prin eliberarea tastei mouse-ului (”drag&drop”)

Page 56: Aplicata in Inginerie Mathcad 2001

56

4.1.4. Stilurile regiunilor matematice

Mathcad utilizează un stil predefinit, asociat foii albe (”blank worksheet”). Acesta implică utilizarea anumitor fonturi, mărimi ale fonturilor, efecte, culori etc. în vizualizarea variabilelor, constantelor (numerelor) şi se aplică tuturor regiunilor matematice ale unei foi de lucru.

4.1.4.1. Editarea stilului regiunilor matematice

După ce au fost scrise una sau mai multe expresii cu stilul implicit, acesta poate fi modificat prin setarea stilului variabilelor şi/sau constantelor.

Etape ________________________________

1. Executaţi un clic pe o variabilă, sau constantă funcţie de obiectiv: modificarea stilului

variabilelor din foia de lucru, sau a constantelor.

2. Meniul Format → Equation.

Se deschide o fereastră de dialog, în care este selectat automat tipul obiectului Variables

sau Constants.

3. Clic pe butonul Modify, care deschide

o fereastră standard de dialog, pentru

setarea caracteristicilor fonturilor.

4. Alegeţi din lista Default Equation

Color culoarea fonturilor, pentru toate

regiunile matematice din foaia de lucru.

5. Clic pe butonul [ OK ].

_______________________________________________________________________________

O parte a proprietăţilor fonturilor utilizate, în regiunile matematice, pot fi modificate prin instrumentele barei de formatare: tipul fontului, mărimea, îngroşarea, înclinarea, sublinierea.

4.1.4.2. Definirea stilului utilizatorului

Stilurile Variables şi Constants fiind implicite nu pot fi modificate, însă utilizatorul are libertatea să definească alte stiluri.

Numele stilului curent este afişat în bara de formatare, ca urmare a unui clic pe un nume sau un număr dintr-o regiune matematică, sau prin intermediul ferestrei de dialog Equation Format.

Utilizatorul poate folosi şi alte stiluri diferite de cele implicite din lista derulantă Style Name, a casetei de dialog Equation Format.

Pentru definirea unui nou stil, se procedează după cum urmează:

Page 57: Aplicata in Inginerie Mathcad 2001

57

Etape ________________________________

1. Meniul Format → Equation.

2. Clic pe săgeata din câmpul Math Style, pentru afişarea listei derulante a stilurilor.

3. Clic pe un stil neutilizat (Userx, unde x=1,2...).

4. În edit box-ul New Style Name completaţi numele noului stil.

5. Clic pe butonul [ Modify ] pentru a schimba caracteristicile fontului.

6. Apăsaţi tasta [ OK ].

_______________________________________________________________________________

Pentru a reutiliza stilul definit şi în alte sesiuni de lucru, acesta poate fi salvat ca model (”template”, vezi subcapitolul 3.1).

4.1.5. Formatarea rezultatelor ( E)

În Mathcad prin formatarea rezultatelor se înţelege modul în care sunt afişate rezultatele unor calcule numerice.

4.1.5.1. Formatarea unui rezultat

Pe o foaie de lucru rezultatele numerice sunt afişate în conformitate cu formatările modelului operant. Pentru modificarea unui rezultat numeric se procedează după cum urmează:

Etape ________________________________

1. Clic în regiunea matematică a cărei formă de afişare a rezultatului doriţi să o modificaţi.

2. Meniul Format → Result. Ca urmare, se deschide o fereastra de dialog Result Format.

Rapid ________________________________

Caseta de dialog Result Format se deschide şi prin clic dublu pe regiunea matematică.

_______________________________________________________________________________

3. Fereastra de dialog Result Format conţine

patru tab-uri (vezi captura alăturată), a căror

conţinut este detaliat mai jos. După

completare, utilizatorul le poate valida, prin

butonul [ OK ], sau le poate seta ca implicite,

prin butonul [Set Default]

_______________________________________________________________________________

Page 58: Aplicata in Inginerie Mathcad 2001

58

În tab-ul Formatul numerelor (”Number Format”) există cinci opţiuni listate într-o fereastră: general (implict, celelalte sunt particularizări), zecimal (”decimal”), ştiinţific (”scientific”), ingineresc (”engineering”) şi fracţii (”fracţion”).

1. Formatul general afişează un număr n în două variante (vezi figura 4.1):

- notaţia exponenţială: semn X.Y x 10Z, X, Y, Z ∈ N0, 0 ≥ X ≥ 10, număr cifre X şi Y < 16, dacă numărul n satisface una din inegalităţile I n I ≤ 10 –z, n > 10 z, n < -10 z;

- notaţia zecimală: n rămâne în forma în care a fost inserat: semn A.B, A, B∈ N0, număr cifre A şi B < 16, dacă n nu aparţine unuia din intervalele de mai sus.

e z e z e

- ∞ - 10z -1/10z 0 1/10z 10z ∞

z - afişare sub forma zecimală, e - afişare sub formă exponenţială

Se pot seta:

- numărul de zecimale afişate (”number of decimal places”), deci numărul de cifre ale părţii Y (valoare implicită Y=3).

- valoarea de prag a exponentului Z (”exponential threshold”). Implicit Z=3, valoarea Z poate fi interpretată ca un prag (”threshold”) care determină afişarea numărului în notaţia zecimală, dacă nu este depăşit pragul, sau exponenţială în caz contrar;

- afişarea/neafişarea zerourilor nesemnificative (”show trailing zeros”).

Tabel 4.3. Exemple de formatări ale rezultatelor în formatul general

Valoarea

introdusă

Numărul de

zecimale

Valoarea

exponentului

Neafişare

zerouri

Afişare zerouri

1 456987123 3 3 4.57 x 108 4.570 x 108

2 456987123 5 3 4.56987 x 108 4.56987 x 108

3 456987123 0 0 5 x 108 5 x 108

4 456987123 3 12 456987123 456987123.000

5 -17.228963 3 3 -17.229 -17.229

6 -17.228963 5 1 -1.7229 x 101 -1.72290 x 101

7 -17.228963 5 7 -17.22896 -17.22896

Se observă că afişarea se face cu rotunjire, însă intern calculele se execută cu valoarea maximă a preciziei specifică Mathcad (15 cifre semnificative).

Page 59: Aplicata in Inginerie Mathcad 2001

59

2. În formatul zecimal rezultatul este afişat, întotdeauna, pe baza următoarei structuri: semn X.Y, X, Y ∈ N0.

Se pot seta: - numărul de zecimale afişate (”number of decimal places”); - afişarea/neafişarea zerourilor nesemnificative (”show trailing zeros”).

Tabel 4.4. Exemple de formatări ale rezultatelor în formatul zecimal

Valoarea introdusă Număr

zecimale

Neafişare zerouri Afişare zerouri

1 456987123 3 456987123 456987123.000

2 -17.228963 3 -17.229 -17.229

3 -17.228963 9 -17.228963 -17.228963000

4 123.1234567890123456789 15 123.123456789012 123.123456789012000

5 12345678901234567890123 15 1234567890123457 0000000

1234567890123457 0000000.0000000000 0000

Observaţie: Intern Mathcad lucrează cu 15 cifre semnificative. În consecinţă, dacă numărul de cifre depăşeşte 15, Mathcad operează intern şi afişează doar primele 15 cifre, completându-le pe restul cu zerouri (vezi exemplele 5 şi 6).

3. Formatul ştiinţific afişează întotdeauna rezultatul în structura exponenţială.

Se pot seta: - numărul de zecimale afişate (”number of decimal places”), deci numărul de

cifre ale părţii Y; - afişarea/neafişarea zerourilor nesemnificative (”show trailing zeros”); - afişarea/neafişarea exponentului ca E+000 (”Show exponents as E+000”). Tabel 4.5. Exemple de formatări ale rezultatelor în formatul ştiinţific

Valoarea

introdusă

Număr

zecimale

Neafişare zerouri Afişare zerouri Afişare format

E+000

neafişare zerouri

1 456987123 3 4.57 x 108 4.570 x 108 4.57E +008

2 456987123 5 4.56987 x 108 4.56987 x 108 4.56987E +008

3 456987123 0 5 x 108 5 x 108 5E +008

4 -17.228963 3 -1.723 x 101 -1.723 x 101 -1.723E +001

5 -17.228963 5 -1.7229 x 101 -1.72290 x 101 -1.7229E +001

Page 60: Aplicata in Inginerie Mathcad 2001

60

4. Formatul ingineresc este o particularizare a formatului ştiinţific, care utilizează ca exponenţi doar multipli de 3.

Tabel 4.6. Exemple de formatări ale rezultatelor în formatul ingineresc

5. Formatul fracţionar afişează rezultatele sub formă de fracţie. Printr-un checkbox se poate selecta sistemul mixt de afişare.

În tab-ul Opţiuni de afişare (”Display options”) se pot seta: - tipul de afişare a matricelor: automat, matrice, tabel; - expandarea/neexpandarea matricelor imbricate; - simbolurile i sau j pentru rezultate imaginare; - sistemul de numeraţie în care este afişat rezultatul: zecimal, binar, hexa sau octa. Observaţie: ultimele două setări sunt operante doar pentru toată foia de lucru.

Tab-ul Afişarea unităţilor de măsură (”Unit Display”) conţine două check-box-uri, prin care se poate opta pentru:

- afişarea unităţilor de măsură în notaţie uzuală; de exemplu 1/sec în loc de sec-1; - simplificarea unităţilor; de exemplu 1N în loc de kg*m/sec2 .

Ambele opţiuni sunt implicit selectate (bifate).

Tab-ul Toleranţa (”Tolerance”) permite efectuarea a două setări: - Pragul pentru afişarea părţii imaginare a numerelor complexe (”complex threshold”),

implicit are valoarea pc=10, intervalul de variaţie pc∈[0...63]. Interpretare: dacă Re(z)/Im(z)>10 pc numărul complex este afişată numai prin partea reală, dacă Im(z)/Re(z)>10 pc partea imaginară.

- Pragul de afişare a zeroului (”zero threshold”), implicit are valoarea pz=10, pc∈[0.. 307]. Interpretare: dacă n < 10 –pc sistemul afişează 0. Opţiunea este operantă pentru toată foia de lucru

4.1.5.2. Formatarea tuturor rezultatelor

După cum se observă, din analiza ferestrelor de dialog asociate setării individuale a rezultatelor, anumite opţiuni sunt inaccesibile câmpurile valorilor fiind colorate în gri. Acestea sunt operante pentru toată foia de lucru.

Valoarea

introdusă

Număr

zecimale

Neafişare zerouri Afişare zerouri Afişare format

E+000

neafişare zerouri

1 456987123 3 457.987 x 106 457.987 x 106 457.987 E +006

2 456987123 5 4.5698712 x 106 4.5698712 x 106 4.5698712E +006

3 456987123 0 457 x 106 457 x 106 457E +006

4 -17.228963 3 -17.229 x 100 -17.229 x 100 -17.229E +000

5 -17.228963 5 -17.22896 x 100 -17.22896 x 100 -17.22896E +000

Page 61: Aplicata in Inginerie Mathcad 2001

61

Pentru a formata toate rezultatele de pe foia de lucru se procedează ca mai sus, cu o singură excepţie: în prima etapă se efectuează un clic pe o zonă liberă a foii.

Atentie ________________________________

Pentru a vedea valoarea cu care operează intern Mathcad efectuaţi clic pe număr şi apăsaţi tastele [ Ctrl ] + [ Shift ] + [ N ]. Afişarea se face în extremitatea stângă a liniei de stare. _______________________________________________________________________________

4.1.6. Definiri locale, globale, modul de procesare a foii de lucru

În 2.4.2.2. Operaţii în regiuni matematice s-a arătat cum se defineşte o variabilă şi o funcţie locală. Mathcad operează cu două tipuri de variabile, funcţii:

1. Variabile, funcţii locale, care sunt vizibile la dreapta şi dedesubtul locului de definire. 2. Variabile, funcţii globale, vizibile oriunde în spaţiul foii de lucru.

4.1.6.1. Definiri locale

La stânga simbolului de definire locală (:=) se poate insera (vezi şi subcapitolul 4.1.2. Nume de variabile şi funcţii):

un nume de variabilă (de exemplu x), sau de funcţie (de exemplu f(x,y)); un nume de variabilă cu indice subscript (de exemplu x1, a nu se confunda cu variabila

indexată, care este afişată foarte asemănător, indicele fiind puţin mai mic);

un nume de variabilă cu indice superscript (de exemplu 1Y )

o matrice sau vector cu elemente nume de variabile (de exemplu modalitate elegantă de a defini simultan mai multe variabile).

4.1.6.2. Definiri globale

Definirile globale se fac asemănător celor locale, cu deosebirea că se utilizează un operator specific (≡), fie apăsând tasta [ ~ ], fie butonul din paleta Evaluation.

Vizibilitatea relativă, între definirile globale este identică cu cea a definirilor locale. În consecinţă, se pot face definiri globale care pot să includă alte definiri globale efectuate la stânga pe acelaşi rând sau mai sus.

Se pot defini mai multe variabile, funcţii globale cu acelaşi nume, ca şi în cazul definirilor locale, însă o asemenea operaţie este neraţională.

O variabilă locală poate redefini o variabilă globală

4.1.6.3. Modul de procesare a foii de lucru

Procesarea informaţiei, cuprinse de o foaie de lucru, se face în două etape succesive:

Page 62: Aplicata in Inginerie Mathcad 2001

62

1. Foia de lucru este parcursă de la stânga la dreapta şi de sus în jos, evaluându-se doar definirile globale.

2. La a doua parcurgere, după aceeaşi traiectorie, Mathcad evaluează toate definirile locale şi toate ecuaţiile.

Avându-se în vedere modul de scanare a foii, sunt explicabile regulile enunţate mai sus: vizibilitatea nerestrictivă a variabilelor globale, vizibilitatea poziţional restrictivă a celor locale etc.

În procesul de scanare a foii de lucru Mathcad calculează tot ce poate, avertizând utilizatorul asupra evaluărilor pe care nu le poate efectua, deoarece conţin variabile sau funcţii nedefinite. În această situaţie Mathcad colorează în roşu variabila a cărei valoare nu o cunoaşte. Prin clic, în regiunea matematică respectivă, se afişează un ”hint” cu următorul conţinut: această variabilă sau funcţie nu este definită deasupra (“This variable or function is not defined above”).

Pentru remedierea situaţiei, utilizatorul trebuie fie să repoziţioneze variabilele care sunt definite la dreapta, sau mai jos de regiunile unde sunt utilizate, sau să le definească şi să le poziţioneze corect, dacă nu sunt definite.

4.1.7. Efectuarea calculelor numerice în Mathcad

Deoarece Mathcad 2001 are un nou motor matematic, mai rapid comparativ cu cel al Mathcad 2000, este posibil ca anumite aplicaţii dezvoltate în variante anterioare 2001 să nu ruleze corect. În consecinţă se poate opta pentru vechiul motor prin meniul Math Options şi selectarea butonului radio cu eticheta Backward Compatibility.

4.1.7.1. Controlul desfăşurării calculelor ( E)

Mathcad poate calcula o foaie în două moduri: automat sau manual. Utilizatorul este informat asupra modului de calcul printr-un mesaj aflat în partea dreaptă a barei de stare: AUTO sau Calc F9. Comutarea între acestea se face bifând/debifând, comanda Automatic Calculation din meniul Math.

Modul de calcul automat este implicit, pentru modificarea acestei setări vezi meniul Math → Options → tab-ul Calculation → checkbox-ul Recalculate Automatically. Reactualizarea rezultatelor are loc când utilizatorul apasă tasta =, sau ori de câte ori efectuează un clic în afara regiunii matematice în care există o operaţie de definire (simbolurile := sau ≡).

Etapele de calcul generate de un clic în exteriorul unei regiuni care conţine o definire, în modul de lucru automat, sunt următoarele:

Etape ________________________________

1. Mathcad evaluează expresia din dreapta simbolului de definire, şi dacă totul este corect efectuează asignarea valorii, la numele variabilei.

2. Mathcad memorează toate regiunile matematice de pe foaie, care sunt afectate de operaţia de definire, sau modificare a unei definiri.

3. În continuare, se efectuează actualizările doar în zona vizibilă a foii. Dacă calculele sunt laborioase, cursorul mouse-ului îşi schimbă forma într-un bec şi regiunea matematică care este calculată la un moment dat este încadrată într-un dreptunghi verde. Dacă se comandă tipărirea foii de lucru, sau se folosesc barele derulatoare orizontală sau verticală a documentului, Mathcad actualizează automat rezultatele care intră în zona de vizibilitate. Modul de lucru este avantajos pentru utilizator, deoarece acesta nu este obligat să aştepte până ce sunt evaluate toate expresiile foii de lucru.

Page 63: Aplicata in Inginerie Mathcad 2001

63

În modul de calcul manual, Mathcad nu face actualizări decât dacă utilizatorul comandă acest lucru. Astfel, utilizatorul poate să facă rapid modificări în diverse regiuni matematice, să insereze noi regiuni, să folosească fără probleme de aşteptare barele derulatoare.

Actualizarea rezultatelor se poate efectua în trei moduri: clic pe butonul = din bara instrumentelor standard, selectarea comenzii Calculate din meniul Math, apăsarea tasta F9. La fel ca şi în cazul calculului automat, Mathcad se limitează la actualizări doar în zona de vizibilitate.

Indiferent de modul de calcul, automat sau manual, Mathcad actualizează doar regiunile matematice care sunt afectate de modificări. Acesta este un mod de calcul economic, însă se poate forţa calculul tuturor regiunilor prin comanda Calculate worksheet din meniul Math.

Întreruperea calculelor se efectuează prin apăsarea tastei [ Esc ], ocazie cu care apare o fereastră de dialog cu două butoane prin care se confirmă, fie suspendarea (butonul OK), fie renunţarea la evaluare (butonul Cancel). Reluarea calculelor se face prin butonul = din bara instrumentelor standard, comanda Calculate din meniul Math, sau tasta F9.

4.1.7.2. Efectuarea calculelor iterative ( E)

În Mathcad se pot efectua iteraţii în mai multe moduri: - utilizând VPA (Variabilă cu valori în Progresie Aritmetică, în engleză “range

variables”), ca argument al unor funcţii . - apelând la vectori definiţi prin intermediul VPA; - prin programare (instrucţiunile ciclice for, while). - folosind operatorul de vectorizare (vezi subcap. 7.6 din partea I).

VPA este definită în subcapitolul 2.4.2.2. “Operaţii elementare în regiunile matematice”. Instrucţiunile ciclice sunt tratate în capitolul “Programarea în Mathcad”.

Calculele iterative, care utilizează direct sau indirect VPA, se bazează pe următoarea proprietate Mathcad: dacă se foloseşte o VPA într-o expresie, acesta este evaluată pentru fiecare valoare a VPA.

Exemplu: Să presupunem că trebuie listate coordonatele carteziene ale spiralei Arhimede, dată prin

ecuaţia explicită în coordonate polare ρ=k*θ, într-un domeniu de variaţie a coordonatei θ∈[θmin...θmax].

Metoda 1 utilizează direct VPA pentru definirea coordonatei θ şi funcţii pentru ρ, x, y.

- definirea parametrului k, a funcţiei ρ;

- definirea funcţiilor coordonate x şi y;

- definirea numărului de puncte, a limitelor

intervalului;

- definirea, ca VPA, a coordonate unghiulare θ;

Page 64: Aplicata in Inginerie Mathcad 2001

64

- afişarea listelor de valori ale coordonatelor x, y

Metoda 2 utilizează vectori pentru definirea coordonatelor θ, x, y.

VPA cu valori numere naturale şi raţie 1 se numeşte uzual variabilă indice. Prin intermediul variabilei indice se poate defini un vector:

nume vector nume variabilă indice := expresie.

Indicele se obţine prin apăsarea tastei [.

- definirea nr. Puncte şi limite interval

- definirea variabilei indice

- definirea vectorului θ

- definirea parametrului k şi a vectorului ρ

- definirea vectorilor x, y

- afişarea listelor valorilor x, y (pentru economie

de spaţiu, s-a utilizat transpusa)

Se observă că, în ambele variante, numărul de puncte în care se calculează coordonatele carteziene este m+1, unde m este numărul de subintervale.

Metoda a doua permite manipularea oricărei valori a vectorilor θ, ρ, x, y (de exemplu: x1=0.254, y0=0,131. Atenţie, implicit valoarea primului indice este zero).

4.1.7.3. Recursivitatea în Mathcad

Ideea de bază a recursivităţii este similară cu cea a inducţiei matematice: dacă se poate obţine f(n+1) din f(n), şi se cunoaşte f(0), atunci f este complet determinată. O definire a unei funcţii recursive trebuie să aibă două părţi:

1) o condiţie iniţială, care previne ciclarea; 2) o definire a funcţiei în care se face apel către ea însăşi.

Deşi definirea recursivă este deosebit de concisă şi elegantă, este în acelaşi timp relativ lentă în comparaţie cu rezolvarea problemei prin intermediul instrucţiunilor ciclice.

Page 65: Aplicata in Inginerie Mathcad 2001

65

Exemplu:

Calculul permutărilor: Pn = n! = 1*2*3*...*n; 0!=1. În definirea recursivă: n! = n*(n-1)!.

Datorită condiţiei iniţiale este necesară utilizarea fie a funcţiei IF, fie a instrucţiunii IF din paleta Programming.

Funcţia IF are sintaxa: IF(condiţie logică, valoare returnată când condiţia este îndeplinită, valoare returnată când condiţia este neîndeplinită). În consecinţă funcţia recursivă pentru calculul permutărilor are forma: perm(n):=if(n=0,1, n . perm(n-1)), unde pentru scrierea condiţiei logice n=0, s-a utilizat “egalul logic” din toolbar-ul Boolean.

Definirea unei funcţii recursive, prin programare, se face în următoarele etape (pentru amănunte vezi capitolul “Programarea în Mathcad”):

Etape ________________________________

1. Scrieţi numele funcţiei, argumentul n între paranteze,

simbolul de definire := →

2. Din paleta Programming, alegeţi Add line. →

3. Clic pe placeholder-ul din partea superioară,

din paleta Programming, alegeţi if. →

4. Clic pe placeholder-ul din partea inferioară,

din paleta Programming, alegeţi otherwise. →

5. În cele trei placeholder-e completaţi: relaţia

recursivă operantă când condiţia este satisfăcută, →

condiţia şi valoarea pentru cazul când condiţia

nu este îndeplinită

_______________________________________________________________________________

4.1.7.4. Mesaje de eroare în calcule numerice ( E)

Când Mathcad nu poate procesa informaţia cuprinsă într-o regiune matematică, sau în placeholder-ele unui grafic, semnalizează acest lucru utilizatorului pe două căi: colorează în roşu operatorul implicat şi marchează expresia printr-un scurt mesaj de eroare. Mesajul apare în timpul scrierii expresiei, sau dacă se efectuează un clic pe zonă. În anumite cazuri, se pot obţine informaţii detaliate asupra erorii dacă, după ce se efectuează clic pe regiune, se apasă tasta [ F1].

Dacă pentru calcule relativ complicate, dependente de numeroase definiri, utilizatorul nu poate identifica sursa erorii, Mathcad oferă un mecanism de urmărire a relaţiilor de dependenţă.

Page 66: Aplicata in Inginerie Mathcad 2001

66

Etape ________________________________

1. Clic cu ButD pe regiunea afectată de erori. Se deschide un meniu pop-up.

2. Alegeţi comanda Trace Error, care deschide o casetă de dialog cu patru butoane.

3. Apăsaţi unul din butoane, prin intermediul căruia puteţi să vă deplasaţi rapid la regiunea

imediat dependentă în aval, în amonte, la prima sau ultima regiune. Dacă anticipaţi că

salturile vor necesita calcule laborioase, treceţi pe modul de calcul manual.

Atentie ________________________________

Din considerente de eficienţă, în Mathcad 2000 se consideră, întotdeauna, că rezultatul evaluării următoarelor expresii este zero: 0.x=0, 0/x=0. În ambele cazuri Mathcad 2000 nu evaluează pe x, chiar dacă acesta este afectat de erori. Expresia 0/0 este evaluată 0. În Mathcad 2001 este analizată şi expresia x şi dacă apar erori este returnat un mesaj de eroare.

După corectarea erorilor, Mathcad calculează foia de lucru, cum s-a detaliat la subcapitolul 4.1.7.1. Controlul desfăşurării calculelor.

4.2. LUCRUL CU REGIUNILE TEXT

4.2.1. Editarea textelor ( E)

Operaţiile de selectare, repoziţionare, copiere, tăiere, lipire ale regiunilor text sunt identice cu cele ale regiunilor matematice şi au fost detalite în subcapitolul 2.4.2.1.

4.2.1.1. Crearea unei regiuni text

După cum s-a amintit, în subcapitolul 2.4.2.1, inserarea unei regiuni text se poate face în următoarele etape:

Etape ________________________________

- clic într-o zonă liberă a foii de lucru;

- meniul Insert Text Region, sau apăsaţi tasta [“];

- începeţi să introduceţi textul care este încadrat într-o casetă a cărei dimensiuni se

modifică o dată cu evoluţia operaţiilor de editare;

- la terminarea introducerii textului, efectuaţi un clic în afara regiunii text curente.

Page 67: Aplicata in Inginerie Mathcad 2001

67

Rapid ________________________________

După efectuarea unui clic în zona dorită a foii de lucru, începeţi să introduceţi textul direct în regiunea matematică implicită. La prima apăsare a tastei [Space] regiunea matematică se transformă în regiune text. _______________________________________________________________________________

Dacă textul depăşeşte un rând, la atingerea marginii dreapta a foii de lucru, trecerea la următorul rând se produce automat. Utilizatorul poate sări la un rând nou prin apăsarea tastei [Enter].

4.2.1.2. Controlul lăţimii regiunii text

Pentru a fixa lăţimea regiunii text se scrie în ea până la dimensiunea dorită, după care se apasă tastele [Ctrl]+[Enter].

Modificarea manuală a lăţimii regiunii text se face prin selectarea regiunii urmată de plasarea cursorului în proximitatea mânerului din dreapta, când cursorul se transformă într-o săgeată dublă, şi apoi dragare.

O regiune text poate fi obligată să ocupe întrega lăţime a foii de lucru prin: clic cu ButD pe regiune, urmată de alegerea din meniul pop-up a comenzii Proprieties şi din fereastra de dialog asociată se bifează Occupy Page Width, din tab-ul Text.

4.2.1.3. Controlul suprapunerii cu alte regiuni, marcarea cu culoare de fond şi bordurarea

La introducerea mai multor linii, într-o regiune text, există riscul suprapunerii cu alte regiuni plasate sub regiunea text curentă. Pentru evitarea acestui fenomen alegeţi Proprieties, din meniul pop-up al regiunii, pe care o editaţi, sau din meniul Format şi în tab-ul Text, clic pe "Push Regions Down As You Type". Ca efect regiunile sunt împinse automat în jos. Din tab-ul Display se setează culoarea fondului regiunii text (”Highlight Region”) şi afişarea unui cadru dreptunghiular (”Show Border”).

4.2.1.4. Căutarea şi înlocuirea unor caractere din regiuni text

Etape ________________________________

1. Meniul Edit Find, care deschide o fereastră de dialog Find.

În linia de editare se scrie

caracterul sau grupul de caractere

căutate. Nu sunt permise ”wildcards” (#,

*). Opţiunile sunt limitate la căutările: pe

bază cuvânt întreg (”Match whole word

only”) sau subşir (”Match case”).

Sistemul de căutare nu sesizează

Page 68: Aplicata in Inginerie Mathcad 2001

68

diferenţele între caracterele mici, mari (nu este „case senzitive”). Se mai poate selecta tipul de

regiune şi direcţia de căutare.

2. La clic, repetat, pe butonul Find Next, dacă sistemul găseşte caracterul/ele, le marchează

succesiv prin video invers.

_______________________________________________________________________________

Fereastra de dialog, pentru înlocuirea caracterelor, se deschide prin meniul Edit Replace şi conţine, în plus faţă de cea de căutare, o a doua linie de editare în care se trec/e caracterele/ul de înlocuire.

4.1.2.5. Verificarea corectitudinii scrierii cuvintelor (”spell checking”)

Verificarea corectitudinii scrierii cuvintelor în engleză se poate efectua doar asupra regiunilor text cuprinse într-o foie de lucru. Implicit Mathcad este dotat cu un dicţionar general al limbii engleze, completat cu termeni matematici. La acesta utilizatorul poate adăuga termeni noi

Etape ________________________________

1. Selectaţi zona, din foia de lucru, pe care doriţi să o verificaţi.

2. Meniul Edit Check Spelling, sau butonul din bara de instrumente standard

Dacă Mathcad găseşte, în foia

de lucru, un cuvânt care nu există în

dicţionarul său reacţionează în două

moduri:

- dacă identifică în dicţionarul

propriu cuvinte care se scriu

asemănănător le listează, utilizatorul

poate să aleagă unul din ele pentru

înlocuirea cuvântului analizat, prin apăsarea butonului [Change], sau să scrie o altă variantă

în linia de editare cu eticheta Change to;

- dacă Mathcad nu găseşte cuvinte asemănătoare fereastra de listare va rămâne albă.

Alte comenzi existente în caseta de dialog, care pot fi activate prin butoane, sunt:

- [Suggest] care listează alte alte cuvinte asemănătoare;

- [Add] care adaugă cuvântul la dicţionar;

- [Ignore] care obligă sistemul să ignore cuvântul curent şi să continue verificarea.

Verificările se pot face şi în dialecte ale limbii engleze: meniul View Preferences tab-ul General.

Page 69: Aplicata in Inginerie Mathcad 2001

69

4.2.2. Formatarea textelor ( E)

Implicit, în regiunile text, se lucrează pe baza setărilor determinate de modelul de lucru Normal. Pentru modificarea fontului, stilului, culorii etc. se procedează după cum urmează:

Font, mărime, culoare

Etape ________________________________

1. Selectaţi caracterul sau grupul de caractere pe care doriţi să-l formataţi prin una din

următoarele metode:

- plasaţi cursorul la unul din capetele grupului de caractere, dragaţi şi când aţi ajuns în

poziţia finală eliberaţi butonul mouse-ului;

- un cuvânt poate fi selectat rapid, prin clic dublu pe el;

- un paragraf poate fi selectat rapid, prin clic triplu pe el;

Se pot face şi selecţii discrete, cu pasul: caracter, cuvânt sau linie:

- caracter: plasaţi cursorul la unul din capetele selecţiei şi apăsaţi [Shift] +[tasta

săgeata stânga sau dreapta];

- cuvînt: ca mai sus, cu apăsarea [Ctrl]+[Shift] +[tasta săgeata stânga sau dreapta];

- linie: ca mai sus, cu apăsarea [Ctrl]+[Shift] +[tasta Page Up / Page Down];

Ca urmare selecţia apare în video invers.

2. Meniul Format Text, sau prin Font, din meniul pop-up asociat selecţiei, care

deschide o fereastră de dialog prin care se pot seta: fontul, mărimea, culoarea şi efecte ca

subliniere, tăiere cu o linie, plasare ca exponent sau indice. Fontul, mărimea, efectele de

întărire, înclinare şi subliniere pot fi setate şi prin intermediul barei de instrumente

standard .

_______________________________________________________________________________

Paragraful

Într-o regiune text un paragraf este creat de apăsarea tastei [Enter]. Dacă se apasă [Shift]+ [Enter] se produce saltul la o nouă linie, în cadrul aceluiaşi paragraf.

Proprietăţile unui paragraf pot fi setate prin următoarea succesiune de operaţii:

Etape ________________________________

1. Selectaţi paragraful (cel mai simplu prin clic triplu). 2. Meniul Format Paragraph, sau clic cu ButD şi alegeţi din meniul pop-up

Paragraph, care deschide o fereastră de dialog.

Page 70: Aplicata in Inginerie Mathcad 2001

70

Se poate seta distanţa (“indent”) de la marginea din stânga la începutul paragrafului (paragraful trebuie să fie aliniat la stânga) sau de la marginea din dreapta la sfârşitul paragrafului (paragraful trebuie să fie aliniat la dreapta). Dacă derulaţi lista Special se pot selecta: prima linie (”first line”) sau următoarele (”hanging”). În linia de editare By completaţi distanţa de indentare.

Din lista Bullets se pot alege simboluri (”bullets”) sau numere care să preceadă paragraful. Acelaşi efect se poate obţine, prin cele două butoane din bara de instrumente standard

Prin apăsarea butonului Tabs se deschide o casetă în care se introduce distanţa la care care

sare cursorul, când apăsaţi tasta [Tab]. Tabulatorii se pot seta şi prin intermediul riglei orizontale.

Prin butoanele radio Left, Right, Center sau butoanele din bara de instrumente standard, se efectuează alinierea paragrafului la stânga, dreapta, centrat.

3. Validarea setărilor se face prin butonul [OK] _______________________________________________________________________________

4.2.3. Stiluri ale regiunilor text

La deschiderea unei noi foi de lucru, Mathcad foloseşte în regiunile text setările din modelul Normal. Pot fi aplicate şi alte stiluri, sau eventual modificate stiluri definite anterior, unor regiuni text noi sau existente.

Aplicarea unui stil, asupra unui paragraf, se efectuează în următoarea succesiune de operaţii:

Etape ________________________________

1. Clic pe regiunea unde doriţi să aplicaţi un stil asupra unui paragraf. 2. Meniul Format Style, sau clic cu ButD şi alegeţi din meniul pop-up Style. Se

deschide o fereastră de dialog care conţine lista stilurilor disponibile Acestea sunt dependente de modelele foii de lucru.

3. Selectaţi unul din stilurile afişate şi apoi apăsaţi pe butonul [Apply]. _______________________________________________________________________________

Fereastra de dialog mai conţine butoanele: [New], [Modify], [Delete] şi [Close]. Primele două deschid fereastra pentru definirea unui nou stil (captura de mai jos), respectiv pentru modificarea unui stil.

Noului stil trebuie să i se asocieze un nume. Acesta se poate baza pe un stil definit anterior, ales de utilizator, din lista Based on.

Prin apăsarea butoanelor [Font], [Paragraph] se deschid casete de dialog specifice.

Caseta de dialog, pentru modificarea unui stil, este asemănătoare cu cea descrisă anterior.

Page 71: Aplicata in Inginerie Mathcad 2001

71

I FUNDAMENTE MATHCAD 2001 UNITĂŢI DE MĂSURĂ

_______________________________________________________________________________ Lucrul cu unităţi de măsură este opţional în Mathcad, dar se recomandă a fi utilizat când este posibil din cel puţin două motive: permite verificarea corectitudinii relaţiilor şi a rezultatelor, sunt respectate convenţiile de lucru cu unităţi necesare în publicarea unor aplicaţii.

Mathcad lucrează implicit cu unităţile din Sistemul Internaţional (SI, care are următoarele unităţi fundamentale: metri (m), kilograme (kg), secunde (s), amperi (A), Kelvin (K), candele (cd), moli (mole)) dar se poate opta şi pentru alte câteva sisteme utilizate în diverse domenii ale ştiinţei şi tehnicii: MKS (metri (m), kilograme (kg), secunde (sec), coulombi (C), Kelvin (K), CGS (centimetri (cm), grame (gm), seconde (sec), coulombi (coul), Kelvin (K)), US (feet, pounds, seconde, coulomb, Kelvin) sau niciunul. Pentru schimbarea sistemului de măsură vezi: meniul Math Options tab-ul Unit System. Fiecare sistem de unităţi operează, pe lângă unităţile fundamentale, cu unităţi derivate (expresii algebrice de unităţi fundamentate care utilizează operatorii * şi / ), unele dintre acestea având denumiri speciale (de exemplu N m . kg . s-2 ). Mathcad recunoaşte marea majoritate a unităţilor prin abrevierile uzuale.

Utilizatorul are posibilitatea să lucreze şi cu propriile unităţi.

Din punct de vedere funcţional, unităţile de măsură în Mathcad sunt privite ca variabile predefinite care multiplică variabilele pe lângă care sunt asociate.

5.1. ATAŞAREA UNITĂŢILOR DE MĂSURĂ

Etape ________________________________

1. Clic pe variabila sau constanta căreia doriţi să-i ataşaţi o unitate de măsură.

2. Apăsaţi tasta [ * ].

3. Scrieţi numele abreviat al unităţii de măsură în placeholder-ul care urmează după

operatorul de multiplicare

sau

Meniul Insert Units, sau mai rapid butonul din

bara instrumentelor standard

În cazul ultimelor două variante se deschide caseta

de dialog Insert Unit.

În fereastra Dimension unităţile de măsură sunt

grupate pe categorii, care la rândul lor sunt detaliate în

fereastra Unit. Este afişat sistemul de măsură operant. Prin intermediul butoanelor contextuale

Page 72: Aplicata in Inginerie Mathcad 2001

72

[OK], [Insert / Replace], se scrie în foia de lucru unitatea selectată, se inserează sau se înlocuieşte

unitatea.

_______________________________________________________________________________

Exemplul 1:

Exemplul 2:

În primul exemplu s-a utilizat acceleraţia gravitaţională normală (standard), implicită în Mathcad g=9.80665 m/s2, pe când în exemplul secund s-a redefinit variabila g cu o valoare aproximativă şi s-a scris manual unitatea de măsură. Se observă că în ambele cazuri Mathcad a afişat rezultatul în unităţi fundamentale, nu în unitatea derivată N. Pentru a se evita acest fenomen în meniul Format Results tab-ul Unit Dysplay bifaţi Simplify units when possible.

5.2. CONVERSIA ÎN UNITĂŢI NEFUNDAMENTALE

Etape ________________________________

1. Clic în zona placeholder-ului, unde este afişată unitatea de măsură.

2. Ştergeţi vechea unitate şi scrieţi-o pe cea nouă, sau mai rapid, apelaţi la fereastra de

dialog Insert Unit, descrisă mai sus, unde efectuaţi un clic dublu pe o unitate

nefundamentală.

3. Clic în afara zonei matematice pentru ca Mathcad să facă toate reactualizările (dacă

lucrează în modul de calcul automat).

_______________________________________________________________________________

5.3. DEFINIREA DE NOI UNITĂŢI

Etape ________________________________

1. Scrieţi numele noii unităţi de măsură.

2. Inseraţi simbolul de definire := (cel mai rapid prin [Shift]+[ : ]).

3. În placeholder introduceţi o expresie, sau un număr care reprezintă raportul dintre noua

unitate şi o unitate care deja este definită sau predefinită.

4. Apăsaţi tasta [ * ].

5. Inseraţi numele unităţii de referinţă.

_______________________________________________________________________________

Page 73: Aplicata in Inginerie Mathcad 2001

73

Oriunde la stânga şi în jos de locul definirii, va fi operantă noua definire până la eventual o nouă redefinire a unităţii de măsură. Exemplu:

5.4. REDENUMIREA UNITĂŢILOR

Sunt relativ rare, cazurile când utilizatorul doreşte ca unităţile de măsură ale rezultatelor să fie afişate explicit şi nu prin abrevieri. În Mathcad este posibilă redenumirea unităţilor.

Etape ________________________________

1. meniul Math Options tab-ul Dimensions.

2. Clic pe checkbox-ul “Display dimension names”.

3. Dacă doriţi să afişaţi, în foia de lucru, alte denumiri explicite ale unităţilor de măsură,

diferite de cele implicite, scrieţi-le în liniile de editare.

_______________________________________________________________________________

5.5. OSERVAŢII PRIVITOARE LA LUCRUL CU UNITĂŢILE DE MĂSURĂ

Ori de câte ori, se lucrează cu expresii care utilizează variabile, constante cărora li s-au definit unităţi de măsură, sistemul face o analiză a corectitudinii expresiei, din punct de vedere a unităţilor de măsură. Mathcad are capacitatea de a semnala erori de genul:

- variabile cu unităţi greşite; - relaţii neomogene din punct de vedere al unităţilor de măsură; - unităţi de măsură plasate ca indici sau exponenţi; - erori de conversie a unităţilor.

Exemplul 1: Calculul corect al contracţiei unei lungimi în teoria relativităţii:

Exemplul 2: Acelaşi calcul, cu unitate greşită a vitezei v:

Unghiurile sunt măsurate implicit în radiani. Dacă doriţi să lucraţi în grade hexazecimale

introduceţi în placeholder-ul pentru unităţi abrevierea deg.

Exemplul3:

Page 74: Aplicata in Inginerie Mathcad 2001

74

Evitaţi, să utilizaţi definiri ale căror nume să fie identice cu ale unor abrevieri de unităţi de

măsură.

Exemplul 4:

S-a definit, anterior utilizării unităţii de lungime metru (m), o variabilă cu numele m. În

consecinţă, deoarece unităţile de măsură în Mathcad sunt interpretate ca variabile predefinite, care multiplică variabilele pe lângă care sunt ataşate, se anulează operarea cu unitatea de lungime metru. Dacă lucraţi cu VPA (variabile “range”) cărora li se ataşează unităţi de măsură, acestea trebuie scrise după fiecare termen din relaţia de definire, sau când este cazul, doar în expresia care le utilizează. Exemplu:

Page 75: Aplicata in Inginerie Mathcad 2001

75

I FUNDAMENTE MATHCAD 2001 OPERATORI ŞI FUNCŢII PREDEFINITE UTILIZAŢI ÎN CALCULELE NUMERICE _______________________________________________________________________________

6.1. OPERATORI UTILIZAŢI ÎN CALCULE NUMERICE

6.1.1. Lucrul cu operatorii Mathcad

Mathcad pune la dispoziţia utilizatorului un spectru larg de operatori, plus posibilitatea definirii unora noi. În prezentul subcapitol, sunt trecuţi în revistă majoritatea operatorilor folosiţi în efectuarea calculelor numerice, cu excepţia celor matriceali, care sunt detaliaţi în capitolul următor “Vectori şi matrice”. Operatorii aritmetici: +, -, *, / pot fi inseraţi prin taste în orice tip de regiune, ceilalţi doar în regiunile matematice, fie prin butoanele paletelor matematice, fie prin combinaţii de taste (vezi hint-ul asociat butonului).

Operatorii au o structură formată dintr-un simbol matematic şi unul până la patru placeholder-e, pe care utilizatorul trebuie să le completeze.

6.1.1.1. Modificarea aspectului operatorilor

Modificarea aspectului este limitată doar la şapte operatori uzuali, listaţi în tab-ul Display din meniul Math Options. Alegerea se poate face din câte două variante predefinite pentru fiecare operator. După apasarea butonului [OK] efectul este vizibil în toată foia de lucru. Dacă selectaţi o regiune matematică operatorii modificaţi sunt afişaţi cu simbolurile implicite.

Pentru modificarea individuală a unui operator, acesta trebuie selectat cu LEO, după care, apăsând butonul din dreapta al mouse-ului se deschide meniul pop-up, în final alegându-se prin bifare, un simbol din lista asociată.

6.1.1.2. Definirea de noi operatori

Operatorii şi funcţiile au de fapt aceeaşi funcţionalitate.

Diferenţele între funcţii şi operatori se rezumă la notaţii: - funcţiile au nume iar operatorilor li se asociază simboluri; - argumentele funcţiei sunt cuprinse între paranteze plasate după numele funcţiei (de

exemplu f(x,y)) pe când cele ale operatorului pot avea diverse poziţii relativ la operator (de exemplu x simbol operator y).

Page 76: Aplicata in Inginerie Mathcad 2001

76

Definirea unui nou operator

Pornind de la observaţiile de mai sus, un nou operator se defineşte ca o funcţie Mathcad:

Etape ________________________________

1. Scrieţi numele operatorului, urmat de o pereche de paranteze în care treceţi numele

argumentelor, separate prin virgule.

De obicei, operatorului nu i se asociază un nume, ci un simbol. Mathcad pune la

dispoziţia utilizatorului un set de simboluri, care nu sunt utilizate pentru alţi operatori

predefiniţi. Pentru inserarea unui nou simbol, se procedează după cum urmează:

- Resource Center QuickSheets and Reference Tables Extra Math Symbols

- Aduceţi simbolul în foia de lucru prin dragare sau Copy Paste.

2. Inseraţi simbolul de definire := ;

3. Scrieţi expresia asociată operatorului.

_______________________________________________________________________________

Pentru facilitarea utilizării operatorilor nepredefiniţi în alte aplicaţii şi sesiuni de lucru, aceştia pot fi memoraţi:

Etape ________________________________

1. Resource Center QuickSheets and Reference Tables Personal QuickSheets.

2. Meniul Book Annotate Book.

3. Drag&Drop, sau definiţi noul operator.

4. Meniul Book Save.

_______________________________________________________________________________

Când doriţi să utilizaţi un operator personal definit şi memorat ca mai sus, deschideţi “Personal QuickSheets” şi dragaţi-l în foia de lucru. Utilizarea unui nou operator

Operatorii care folosesc doar un operand se numesc unari, cei care utilizează doi operanzi poartă numele de binari şamd. Din punct de vedere al poziţiei relative operator-operand, operatorii unari se clasifică în două categorii: operatori prefix: operator – operand, operatori postfix: operand – operator.

Utilizarea operatorilor personali se face prin intermediul a patru butoane existente în paleta Evaluation fx xf xfy x

fy : prefix, postfix, infix şi arbore (tree).

Exemplul 1. A fost definit operatorul unar O pentru transformarea unui unghi din radiani în grade hexazecimale: (x)O :=x . deg. Pentru a-l utiliza, se apasă butonul “postfix operator” din paleta Evaluaţion, în cele două placeholder-re se completează valoarea operandului, simbolul operatorului şi în final simbolul de evaluare: În acest caz, utilizarea formei operator postfix este conformă cu notaţia matematică uzuală: 45O = 0.785 , dar se poate folosi şi operatorul prefix: O45 = 0.785.

Page 77: Aplicata in Inginerie Mathcad 2001

77

6.1.2. Operatori aritmetici, logici şi relaţionali (E)

Operatorii aritmetici pot fi inseraţi prin taste sau prin butoanele barei de instrumente Calculator.

Operatorii logici şi relaţionali pot fi inseraţi prin butoanele paletei Boolean, sau prin taste, sau combinaţii de taste. Pentru operatorii ŞI, SAU se pot folosi şi simbolurile * (în engleză “and

gate”) în loc de ∧, respectiv + (”or gate”) în loc de ∨. Exemplu: (x<1)*(x>0), (x>1)+(x<0).

Expresiile logice returnează valoarea 1 când acestea sunt adevărate şi 0, în caz contrar.

6.1.3. Operatori pentru sume, produse (E)

Ca şi ceilalţi operatori, cei pentru sume şi produse pot fi inseraţi prin combinaţii de taste sau prin butoanele paletei Calculus.

6.1.3.1. Sume, produse cu index unitar

Etape ________________________________

1. Clic pe foia de lucru, apoi clic pe butonul

2. Completaţi în placeholder-ul, din partea stângă a semnului =,

un nume de variabilă, care joacă rolul de index. Această definire

este locală operând doar în calculul sumei.

3. În următorul placeholder scrieţi valoarea de start a indicelui,

iar în cel superior valoarea finală (pasul este implicit 1).

4. Scrieţi în placeholder-ul, din dreapta simbolului sumă expresia,

apoi inseraţi simbolul de evaluare.

Observaţii

Dacă expresia are mai mulţi termeni cuprindeţi-i între două paranteze rotunde.

Pentru introducerea sumelor multiple, în placeholder-le destinate expresiei, se inserează de câte ori este necesar operatorul sumă.

Succesiunea etapelor de calcul a produselor cu index unitar este asemănătoare celei pentru

sumă, cu deosebirea utilizării operatorului ∏=

m

n 1

Page 78: Aplicata in Inginerie Mathcad 2001

78

6.1.3.2. Sume, produse cu index neunitar

Sumele cu index neunitar se calculează cu ajutorul VPA.

Etape ________________________________

1. Definiţi VPA

2. Clic pe foia de lucru, apoi clic pe butonul

3. Completaţi placeholder-ul inferior cu numele VPA

4. Scrieţi expresia dependentă de index şi inseraţi simbolul =.

6.1.3.3. Sume, produse cu condiţie logică asociată

Pentru sume care au indecşi, cu limite superioare variabile, se utilizează o funcţie dependentă de limita superioară intervalului, ca în exemplul de mai jos:

6.1.4. Operatori pentru derivare (E)

6.1.4.1. Derivarea numerică

Dezvoltarea metodelor de calcul aproximativ a derivatelor s-a datorat unor necesităţi practice: 1. Nu se cunoaşte expresia analitică a lui funcţiei f, aceasta fiind definită tabelar cu ajutorul

valorilor f(xi) în punctele x0, x1, ...,xn din intervalul de definire. 2. Există funcţii, a căror expresie analitică se cunoaşte, pentru care derivatele sunt foarte

dificil de determinat, sau dacă pot fi determinate au expresii foarte complicate. Fie o funcţie f: [a, b] R, derivabiă pe [a, b]. Se pune problema determinării unei funcţii, care să aproximeze derivata lui f pe [a, b] sau pe un subinterval din [a, b].

Page 79: Aplicata in Inginerie Mathcad 2001

79

Aproximarea derivatelor cu diferenţe finite [LAR89] Pornind de la definiţia derivatei, şi interpretarea ei ca pantă, renunţând la operaţia de trecere la limită, se obţin trei relaţii de calcul aproximativ:

h

xfhxfxf

)()()(' 00 −+≈ (6.1)

h

hxfxfxf

)()()(' 00 −−≈ (6.2)

h

hxfhxfxf

2)()(

)(' 00 −−+≈ (6.3)

Fig. 6.1. Interpretarea geometrică a relaţiilor de calcul aproximativ a derivatelor numerice

Relaţiile de mai sus, numite de aproximare cu diferenţe regresive, progresive, respectiv

centrale, calculează pantele dreptelor MP, PN şi MN. Se observă că panta tangentei la curbă, în

punctul P, este cel mai bine aproximată de panta coardei MN. Pentru determinarea erorii de calcul a

relaţiei de aproximare 6.3, se dezvoltă de două ori în serie Taylor funcţia f, în vecinătatea punctului

x0: f(x0+h), f(x0-h). Prin înlocuirea f(x0+h) şi f(x0-h) în 6.3, cu dezvoltările Taylor şi presupunând

că f’”(x) este mărginită pe (x0-h , x0+h), se obţine:

( )α'''6

)()(

)('2

000 fh

hxfhxf

xf ⋅−−+

= (6.4)

unde α ∈(x0-h, x0+h).

Ultimul termen este eroarea de trunchiere. Se observă că micşorând pe h scade eroarea. Dacă f(x0+h) şi f(x0-h) devin aproximativ egale creşte însă eroarea de rotunjire (pentru definirea celor două erori vezi subcapitolul 1.1.1. “Sistematizarea erorilor de calcul numeric iterativ” din partea II-a).

Se utilizează, în general, două procedee majore de derivare numerică: prin interpolare şi prin dezvoltări în serie Taylor.

Derivarea numerică folosind interpolarea [DOD76, POS94]

Într-o primă etapă, se aproximează funcţia printr-un polinom de interpolare de tip: Lagrange, Newton de prima sau a două speţă, Newton cu diferenţe divizate, Gauss, Stirling (pentru amănunte vezi capitolul 6, partea a III-a ), după care se efectuează derivarea polinomului.

Fie f: [a, b] R, derivabiă pe [a, b]. Se presupune că sunt cunoscute valorile yi=f(xi), în punctele echidistante x0, x1, ...,xn, din intervalul de definire (acestea se numesc noduri de interpolare). Deci se poate scrie: xi=x0+ih, ni ,0= , h fiind pasul.

În interpolare, se pune problema determinării unui polinom de grad mai mic sau egal cu n, care să satisfacă condiţiile:

N

P

x

M

0

f(x)

x0

y=f(x)

x0+h x0-h

Page 80: Aplicata in Inginerie Mathcad 2001

80

Pn(xi)=yi, ni ,0= (6.5)

Prin definiţie polinomul de interpolare Pn(x) ia aceleaşi valori ca şi f(x), în nodurile de interpolare.

Indiferent de natura polinomului de interpolare funcţia se poate scrie sub forma:

f(x)= Pn(x) +En(x) (6.6)

unde Pn(x) este polinomul, iar En(x) este eroarea de interpolare (restul).

Eroarea pentru derivata de ordinul unu se defineşte ca: )(')(')(' xPxfxE nn −= . Cu ajutorul polinomului Newton, de interpolare cu diferenţe finite la dreapta, se poate calcula eroarea derivatei de ordinul unu:

[ ]bafnhxE n

nn

n ,),(1

)1()(' )1(0 ∈

+−= + ξξ (6.7)

Suplimentar_______________________________

Expresia ∆f(x)= ∆y=f(x+h) - f(x) se numeşte diferenţă finită de ordinul întâi. Diferenţele de ordin superior se definesc pe baza relaţiei: ∆nf(x)= ∆ny= ∆(∆n-1f(x)).

Pentru aproximare se alege polinomul Newton de interpolare de prima speţă (se mai numeşte cu diferenţe finite la dreapta, deoarece acestea se definesc de la x0 la dreapta):

))...()((!

...))((!2

)(!1

)()( 100

1020

2

00

0 nn

n

n xxxxxxhny

xxxxhy

xxhy

yxPxf −−−∆

++−−∆

+−∆

+=≈

Efectuând înmulţirile, între paranteze şi derivând succesiv expresia, se obţin relaţiile de calcul aproximativ ale derivatelor de ordin oarecare ale funcţiei f(x). _______________________________________________________________________________

Derivarea numerică tinde să majoreze micile erori introduse la aproximarea funcţiei,

pe când, integrarea numerică are tendinţă inversă.

Fig. 6.2. Interpretarea geometrică a erorilor la derivarea de ordinul întâi şi la integrare numerică

B

θ

y

A

x 0 b a

α

y=f(x)

y=Pn(x)

Page 81: Aplicata in Inginerie Mathcad 2001

81

Din figura de mai sus se observă că dacă aproximarea polinomială este suficient de precisă,

atunci ∫b

an dxxP

\

)( poate fi o aproximare foarte bună a ∫b

a

dxxf )( . Dar este posibil ca ( )

dxadPn , care

este panta tangentei la graficul Pn(x), în punctul A, să aibă o valoare sensibil diferită de dx

xdf )( , care

este panta tangentei la graficul f(x), în acelaşi punct. Aceste diferenţe cresc, în general, la derivatele de ordin superior.

Derivarea numerică în cazul discret [LAR89]

Fie funcţia y=f(x), dată prin tabela de valori:

Rezultate bune, în derivarea numerică, se obţin folosind un polinom de interpolare P2(x)=c0+c1x+c2x2 cu abatere medie pătratică minimă, calculată pe baza a cinci puncte (xi, yi) unde i=k-2, k-1, k, k+1, k+2:

2,...,3,2),22(10

1)(' 2112 −=++−−⋅

≈ ++−− nkyyyyh

xy kkkkk (6.8)

Pentru punctele situate la extremităţile tabelei, se utilizează relaţii deduse pe baza a patru puncte:

)9171321(201)('

)7311(201)('

.......

)7311(201)('

)9171321(201)('

3210

3211

32101

32100

−−−

−−−−

+−−≈

−−−≈

+++−≈

−++−≈

nnnn

nnnnn

yyyyh

xy

yyyyh

xy

yyyyh

xy

yyyyh

xy

(6.9)

Derivarea numerică folosind dezvoltări în serie Taylor [POS92]

Se presupune că f: [a, b] R admite pe domeniul de definiţie derivate cel puţin până la ordinul trei. Ne propunem să determinăm valorile funcţiei f în xi∈[a,b], când sunt cunoscute valorile funcţiei în xi-1, xi, xi+1 din [a,b]. În general, cele trei puncte, nu sunt echidistante: xi-1=xi-h, xi+1=xi+αh, α≠1. Se consideră dezvoltarea Taylor în jurul punctului xi:

( )0,1 ), x('''!3

)()(''

!2)(

)('!1

)()(32

∈+−

+−

+−

+= θθii

ii

ii

i xfxx

xfxx

xfxx

xfxf (6.10)

Dacă în dezvoltarea Taylor se face succesiv x=xi+1, x=xi-1 rezultă:

( )1i

32

1 , ),('''!3)()(''

!2)()('

!1)()()( ++ ∈

⋅+

⋅+

⋅+=+= iiiiiiii xxfhxfhxfhxfhxfxf ξξ

ααα (6.11)

xk x0 x1 ... xn

f(xk) f(x0) f(x1) ... f(xn)

Page 82: Aplicata in Inginerie Mathcad 2001

82

( )iiiiiiiii xxfhxfhxfhxfhxfxf , ),('''!3

)(''!2

)('!1

)()()( 1**

32

1 −− ∈−+−=−= ξξ (6.12)

Prin scăderea celor două relaţii, membru cu membru, se obţine:

( ) ( )[ ] ( ) ( ) ( ) ( )[ ]*32

11 ''''''1!3!2

)(''1)(1

1)(' iiiiii ffhhxfxfxfh

xf ξξαα

αα

++

−−+−⋅+

= −+ (6.13)

Derivata de ordin unu poate fi aproximată cu primul termen, iar eroarea cu următorii doi:

( ) ( )[ ]11 )(1

1)(' −+ −⋅+

≈ iii xfxfh

xfα

(6.14)

( ) ( ) ( ) ( )[ ] ( ) ( )11*i1i

*32

, ,, ,''''''1!3!2

)(''1 xxxxffhhxf iiiiii −+ ∈∈++

−−= ξξξξαα

αε (6.15)

Se observă că eroarea scade o dată cu scăderea h.

Se poate obţine relaţia aproximativă a derivatei de ordin doi, prin eliminarea derivatei de ordin unu din relaţiile 6.11, 6.12. Urmând aceeaşi tehnică se pot obţine relaţii de calcul aproximativ a derivatei de orice ordin.

Sugestie ________________________________

Se recomandă ca ori de câte ori este posibil să se evite derivarea numerică !

De exemplu, pentru calculul vitezei unui mobil este recomandat să se tabeleze acceleraţia şi prin integrare să se determine viteza, decât să se procedeze la derivarea numerică pe baza datelor din tabelul cu distanţele parcurse. _______________________________________________________________________________

6.1.4.2. Operatori pentru derivarea numerică (E)

Mathcad poate fi utilizat pentru calculul derivatelor de ordin unu sau superior ale unei funcţii, într-un punct dat. Pentru calculul derivatelor de ordin 0 ... 5, se utilizează algoritmul Ridder, iar pentru ordine mai mari se pot folosi operatori de derivare imbricaţi.

Algoritmul Ridder calculează derivata de ordin unu cu o precizie de 7, 8 cifre semnificative, dacă punctul de evaluare nu este prea aproape de un punct singular. Precizia scade cu câte o cifră semnificativă pentru fiecare creştere a ordinului de derivare.

Derivata de ordin unu a unei funcţii monovariabilă

Etape ________________________________

1. Definiţi punctul în care doriţi să calculaţi derivata

( nume variabilă := valoare reală sau complexă ).

2. Clic la dreapta, sau dedesubt.

3. Inseraţi operatorul de derivare, de ordin unu, din paleta Calculus, sau

apăsaţi tasta semn de întrebare [?]

Page 83: Aplicata in Inginerie Mathcad 2001

83

4. Completaţi în placeholder-ul inferior numele variabilei, anterior definită.

5. Scrieţi în placeholder-ul median expresia funcţiei, sau numele funcţiei

care va fi derivată. Acesta trebuie să fie o funcţie scalară.

Dacă expresia are mai mulţi termeni, includeţi-i între paranteze.

6. Inseraţi simbolul de evaluare şi clic în exteriorul regiunii.

_______________________________________________________________________________

Derivata de ordin 2 ... 5 a unei funcţii monovariabilă

Etape ________________________________

1. Definiţi punctul în care doriţi să calculaţi derivata ( nume variabilă := cu condiţie logică

asociată valoare reală sau complexă)

2. Clic la dreapta, sau dedesubt

3. Inseraţi operatorul de derivare de ordin superior, din paleta Calculus, sau

apăsaţi [Ctrl]+[Shift]+ [?]

4. Completaţi în primul placeholder inferior, numele variabilei anterior definită.

5. Scrieţi în al doilea placeholder, de la numitor, ordinul derivatei 0 ...5. Acesta este trecut

automat şi în placeholder-ul superior

6. Scrieţi în placeholder-ul median expresia funcţiei, sau numele funcţiei care va fi

derivată.

7. Inseraţi simbolul de evaluare şi clic în exteriorul regiunii matematice.

_______________________________________________________________________________

Derivata de ordin mai mare decât 5 a unei funcţii monovariabilă

Pentru calculul derivatelor de ordin mai mare decât 5 se pot utiliza operatori imbricaţi (în placeholder-ul median al operatorului de derivare se inserează un nou operator de derivare şamd). Exemplu:

Page 84: Aplicata in Inginerie Mathcad 2001

84

Atentie ________________________________

Pentru calculul expresiilor unor derivate ale funcţiilor se utilizează derivarea simbolică (vezi capitolul 12). Derivarea numerică returnează, întotdeauna, un număr.

În exemplul de mai jos, s-a definit o funcţie g(x) ca derivată a funcţiei f(x), şi s-a calculat derivata în două puncte.

Exemplu:

_______________________________________________________________________________

Derivata la stânga, derivata la dreapta

Mathcad nu are operatori specifici pentru calculul derivatelor la stânga, dreapta. Utilizatorul îşi poate defini cei doi operatori (subcapitolul 6.1.1.2. “Definirea de noi operatori”), sau poate să utilizeze direct relaţiile corespunzătoare de calcul:

0

00

,

0

00

, )()(lim)( ,

)()(lim)(

00 xxxfxf

xfxx

xfxfxf

xxsxxd −−

=−−

=−→+→

(6.16)

Calculul derivatei unei funcţii în mai multe puncte

Varianta 1: valorile punctelor în serie aritmetică

Etape ________________________________

1. Definiţi funcţia pe care doriţi să o derivaţi.

2. Definiţi o VPA.

3. Definiţi o funcţie de derivare

4. Scrieţi funcţia de derivare cu argumentul definit la

punctul 2.

Observaţie. Ordinea etapelor 2, 3 nu are importanţă.

_______________________________________________________________________________

Page 85: Aplicata in Inginerie Mathcad 2001

85

Varianta 2: valorile punctelor nu sunt în serie aritmetică

Etape ________________________________

1. Definiţi funcţia pe care doriţi să o derivaţi.

2. Definiţi un vector care conţine valorile în care

doriţi să evaluaţi derivata funcţiei.

3. Definiţi o funcţie de derivare.

4. Definiţi indexul vectorului ca VPA.

5. Scrieţi funcţia de derivare, având ca argument, vectorul

definit anterior.

Observaţie. Ordinea etapelor 2, 3 este oarecare.

_______________________________________________________________________________

Derivarea parţială numerică

Derivatele parţiale de ordinul unu şi superior se calculează cu aceiaşi operatori care se folosesc pentru funcţiile monovariabilă.

Exemplu:

Page 86: Aplicata in Inginerie Mathcad 2001

86

6.1.5. Operatori pentru integrare

6.1.5.1. Generalităţi despre integrarea numerică

Dacă o funcţie f(x) este continuă pe un interval [a,b] şi este cunoscută primitiva F(x), atunci

integrala simplă, definită ∫=b

a

dxxfI )( poate fi calculată cu formula Newton-Leibnitz:

∫ −=b

a

aFbFdxxf )()()(

Motivele dezvoltării metodelor de integrare numerică sunt asemănătoare cu cele expuse la derivarea numerică:

- Nu se cunoaşte expresia analitică a lui funcţiei f, aceasta fiind definită tabelar cu ajutorul valorilor f(xi) în punctele x0, x1, ...,xn, din intervalul de definire, ceea ce face lipsit de sens conceptul matematic de primitivă.

- Primitiva este foarte complicată.

- Primitiva nu poate fi exprimată cu ajutorul funcţiilor elementare.

În literatura de specialitate există foarte multe metode de calcul aproximativ al integralelor, alegerea metodei făcându-se în funcţie de forma integrantului, domeniul de integrare şi performanţele calculatorului.

În aceste situaţii, se recurge frecvent la o formulă de cuadratură: ∑=

⋅=≈n

iii xfAII

1)( , care

exprimă valoarea integralei ca o combinaţie liniară de valori, ale funcţie de integrat, în puncte din domeniul în care se face integrarea. În cazul integralelor duble se lucrează cu formule de cubatură.

O metodă simplă de calcul a integralelor definite, apelează la înlocuirea funcţiei printr-un polinom de interpolare şi integrarea acestuia. Spre deosebire de derivarea numerică, unde există tendinţa de majorare a micilor erori de aproximare a funcţiei, în cazul integrării numerice există tendinţa de atenuare a acestora (vezi figura 6.2).

Metoda Monte Carlo se utilizează, de asemenea, cu succes în aproximarea integralelor. În continuare se detaliază câteva din cele mai frecvent utilizate formule de cuadratură.

6.1.5.2. Formule de cuadratură pentru calculul integralelor

Metoda dreptunghiurilor [ROŞ79, AM77]

Intervalul [a,b] este divizat în noduri echidistante: a=x0<x1< … <xn-1<xn=b. Metoda

dreptunghiurilor constă în aproximarea integralei definite ∫=b

a

dxxfI )( , cu o sumă Riemann

( ) [ ]( )∑=

−− ∈−=n

iiiiid xfxxf

1i1i1 x, ,))( ξξσ , unde se ia, pentru punctul intermediar ξi din intervalul

[xi-1, xi] punctul xi-1 sau xi. Rezultă astfel două formule:

[ ])(...)()()( 121 −++++−

≈ nxfxfxfafn

abI (6.17)

Page 87: Aplicata in Inginerie Mathcad 2001

87

[ ])()(...)()( 121 bfxfxfxfn

abI n ++++−

≈ − (6.18)

Justificarea denumirii de metoda dreptunghiurilor este că, dacă funcţia este pozitivă, fiecare termen ( )1)( −− iii xxf ξ al sumei integrale reprezintă aria unui dreptunghi (fig. 6.3)

Se observă, că, dacă funcţia este crescătoare în [a, b] atunci 6.17 aproximează pe I prin lipsă, iar 6.18, în exces.

Se demonstrează, că, dacă funcţia f este derivabilă şi derivata sa f’ este mărginită, atunci eroarea absolută εa satisface inegalitatea:

( )n

abMdxxfb

aa

2

)( −≤−= ∫ σε (6.19)

Fig. 6.3. Interpretarea geometrică a metodei unde )('sup, xfMbxa ≤≤

=

dreptunghiurilor Dacă se impune o eroare absolută limită *

aε , din relaţia de mai sus se poate deduce numărul

de intervale n: *

2, )(

a

abMnε−

≥ . În general, comparativ cu alte metode, cea a dreptunghiurilor

necesită un număr relativ mare de intervale, deci un volum de calcule apreciabil, pentru a se obţine o precizie impusă. Metoda trapezelor [ROŞ79, AM77, DOD76, POS92] Metoda trapezelor aproximează funcţia dată cu o funcţie poligonală (liniară pe intervale).

La fel ca la metoda dreptunghiurilor, intervalul [a,b] este divizat în noduri echidistante: a=x0<x1< … <xn-1<xn=b. Să considerăm două sume integrale, luând punctele intermediare la extremităţile stânga şi dreapta a intervalelor parţiale:

( )∑−

=+ −

1

01)(

n

iiii xxxf (6.20)

( )∑−

=++ −

1

011 )(

n

iiii xxxf (6.21)

Fiecare dintre acestea aproximează pe I. Media sumelor integrale 6.20 şi 6.21 este cuprinsă între acestea şi deci aproximează şi ea pe I:

( )∑−

=+

+ −⋅+

≈1

01

1

2)()(n

iii

ii xxxfxf

I (6.22)

Dacă se iau intervale parţiale egale h= xi+1-xi=(b-a)/n, rezultă următoarea formulă de aproximare:

( )∑∫−

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

1

012101 2...22

2)(

2)(

n

knnkk

b

a

yyyyyhyyhdxxfI (6.23)

Interpretarea este simplă: Ik este aproximat prin aria trapezului haşurat, în figura de mai jos.

xi a

A

B

b xi+1 … x 0

y

Page 88: Aplicata in Inginerie Mathcad 2001

88

Fig. 6.4. Interpretarea geometrică a metodei trapezelor

Pentru calculul erorii formulei trapezelor, se calculează eroarea pentru fiecare interval şi apoi aceste erori se însumează, în final obţinându-se:

( )bafnab

,),("12

)(2

3

∈−

−= ξξε (6.24)

Dacă există M”>0, astfel încât )("sup" xfMbxa ≤≤

= , atunci:

2

3

12)("

nabM

a−

≤ε (6.25)

Se observă că precizia de calcul este proporţională cu 1/n2, nu cu 1/n ca în cazul metodei anterioare.

Formula lui Simpson [ROŞ79, AM77, DOD76, POS92]

Formula trapezelor a fost obţinută aproximând funcţia integrant cu un polinom Newton de grad unu. Dacă se foloseşte un polinom de grad doi (o parabolă) şi intervalul [a,b] se împarte într-un număr par 2n de părţi egale, rezultă:

( )[ ])...(2...43

)4(3

)(

224212310

1

022122

−−

=++

+++++++++=

=++≈= ∫ ∑

nnn

b

a

n

iiii

yyyyyyyyh

yyyhdxxfI (6.26)

unde h=(b-a)/2n.

xi xi+1 x 0

y

f(xi)

f(xi+1)

y=f(x

y=L1(x

M1

x 0

y

y=f(x)

y=L2(x)

M2 M0

x2i

y2i y2i+1 y2i+2

x2i+1 x2i+2

h h

Fig. 6.5. Interpretarea geometrică a metodei Simpson

Page 89: Aplicata in Inginerie Mathcad 2001

89

Dacă funcţia f are derivată de ordinul patru mărginită pe intervalul de integrare, eroarea absolută asociată formulei Simpson este:

4

5

2880)(

nabM IV

a−

≤ε (6.27)

unde )(sup xfM IV

bxa

IV

≤≤=

Comparând erorile metodelor trapezelor şi Simpson, pentru acelaşi număr de noduri, se observă că ultima calculează mai precis integrala definită. Metoda Romberg [MAR87, LAR89]

Metoda Romberg, utilizată de Mathcad la calculul integralelor definite, îmbunătăţeşte viteza de convergenţă aplicând repetat o formulă de calcul în asociere cu înjumătăţirea intervalului h.

Să luăm în considerare formula trapezelor cu n=2 k. Dacă se lucrează cu două puncte x0=0, x1=b, h=b-a, n=1, k=0, rezultă:

[ ])()(20 bfafabI +−

= (6.28)

Dacă se înjumătăţeşte h: x0=0, x1=(b-a)/2, x3=b, h=(b-a)/2, n=2, k=1

( )

+−+=

+

−++

−= )

2(

21)()

2(2)(

4 01abafabIbfabafafabI (6.29)

Continuând înjumătăţirea se obţine:

−+

−+=

−+++

−= ∑∑

==

3

11

3

12 )

4(

221)

4(2)()(

8 iiiabafabIiabafbfafabI (6.30)

Prin inducţie rezultă:

−+

−+= ∑

=−−

12

111 )

2(

221 k

ikkkk iabafabII (6.31)

Eroarea se calculează cu relaţia:

( ) ( )ba, ),(''212 2

2

∈⋅−

−= ξξε fabkk (6.32)

Dacă se presupune că f(x) are o derivată de ordinul doi mărginită în intervalul (a, b) relaţia de mai sus arată că I0, I1, ... , Ik, ... converge spre valoarea exactă a integralei definite. Implementarea Mathcad a metodei Romberg

Metoda Romberg, în implementarea Mathcad, utilizează formula trapezelor, face estimări succesive ale integralei şi returnează o valoare când ultimele două estimări diferă cu mai puţin de valoarea constantei de sistem predefinite TOL. Pentru valori mici ale variabilei TOL este posibil ca iteraţiile să nu fie convergente, chiar dacă integrala are o valoare finită.

Numărul de iteraţii efectuat de implementarea Mathcad a procedurii Romberg este predefinit. Dacă, după epuizarea acestor iteraţii nu este satisfăcută condiţia de convergenţă, sau

Page 90: Aplicata in Inginerie Mathcad 2001

90

integrantul are singularităţi, pe unul sau ambele capete ale intervalului de integrare, Mathcad comută pe metoda Romberg, cu interval deschis. Acesta nu utilizează evaluarea funcţiei în a şi b, ci în vecinătatea acestora şi triplează numărul de subintervale la fiecare iteraţie. Dacă nici cu această variantă nu este convergentă, Mathcad afişează un mesaj de eroare.

Mathcad nu poate în general să integreze funcţii care au singularităţi în interiorul intervalului de integrare. De exemplu funcţiile “treaptă” sau ”dinţi de fierăstrău” au un număr mare de discontinuităţi, situaţie care poate conduce la integrale neconvergente. În cazurile în care se cunosc singularităţile, integrala definită se poate transforma într-o sumă de integrale care au limite aceste puncte. Deseori o reprezentare grafică a funcţie ajută la identificarea singularităţilor.

În afară de metoda trapezelor, Simpson, Romberg se mai utilizează frecvent cuadraturile Gauss (metodă care este remarcabilă prin precizia înaltă obţinută pe un număr relativ mic de puncte de integrare), metodele de explorare Richardson, care accelerează convergenţa.

Calculul aproximativ al integralelor improprii

Integrala ∫=b

a

dxxfI )( se cheamă proprie dacă:

- intervalul de integrare [a, b ] este mărginit; - funcţia f este continuă (mărginită) pe [a, b].

În caz contrar, integrala poartă numele de integrală improprie.

Metoda Kantorovici (metoda extragerii singularităţii funcţiei f(x)), pentru calculul aproximativ al unei integrale improprii, constă în găsirea unei funcţii oarecare ϕ(x), care să aibă aceleaşi singularităţi ca şi f(x), şi care să se preteze la integrări elementare. Funcţia diferenţă f(x)- ϕ(x) trebuie să fie suficient de netedă pe [a,b].

Pentru calculul integralei de tip ∫∞

=a

dxxfI )( , presupusă convergentă, se folosesc în

principal două tehnici de integrare:

1. Schimbarea variabilei în scopul transformării intervalului [a, +∞] într-un interval finit.

2. Separarea integralei în două integrale: ∫∫∫∞∞

+==b

b

aa

dxxfdxxfdxxfI )()()( . Prima

integrală, presupusă proprie se calculează cu una din metodele expuse mai sus. Dacă b este suficient de mare a doua integrală poate fi neglijată. Pentru a determina dacă b este suficient de mare se poare calcula integrala, pentru o succesiune de limite b, 2b, 3b ... şi alegerea kb, k=2, 3, ... când I(b) nu depinde sensibil de b. În alte cazuri, se cunoaşte forma asimptotică a funcţiei f g (x)≈ f (x), pentru x suficient de mare, a doua integrală se calculează analitic, prin substituţia funcţiei f cu g.

Pentru integrala I, pe interval mărginit, unde f(x) este infinită în unul, sau ambele capete, există numeroase tehnici de tratare a singularităţilor:

- Prin eliminarea singularităţilor, apelând la integrarea prin părţi şi schimbare de variabilă.

Exemplu de schimbare de variabilă: ∫=1

0 xdxeI

x

pentru care funcţia are valoare infinită la

x=0. Se efectuează substituţia xu = şi se obţine ∫=1

0

2

2 dueI u . Dacă se dezvoltă în serie funcţia

Page 91: Aplicata in Inginerie Mathcad 2001

91

integrant şi se integrează termen cu termen se obţine I ca sumă a unei serii numerice convergente:

+++=

+++=

1

0

42

...101

3112...

!2!112 uuI .

- Metoda Simpson cu excluderea singularităţilor (de exemplu înlocuind limita a cu a-ε, unde ε suficient de mic).

- Metoda Gauss, este în general cea mai potrivită pentru astfel de integrale, deoarece nu necesită calculul funcţiei în a sau b, metoda corespunde unei aproximări polinomiale de grad înalt. În schimb, acesta nu dă rezultate dacă funcţia oscilează puternic în jurul singularităţii.

6.1.5.3. Formule de cubatură pentru calculul integralelor [ DOD76]

Se consideră f : D R2, D⊂R2, f este integabilă pe D, D fiind un domeniu simplu definit de inegalităţile:

)()( , 21 xyxbxa ϕϕ ≤≤≤≤ , unde ϕ1, ϕ2 : [a,b] R sunt continue împreună cu derivatele de ordinul întâi (fig. 6.6).

Se pune problema aproximării integralei ∫∫=

D

dxdyyxfI ),( .

D este un domeniu simplu, I se scrie:

Dacă se notează ∫=)(

)(

2

1

),()(x

x

dyyxfxFϕ

ϕ

, atunci:

∫∫∫ ==b

aD

dxxFdxdyyxfI )(),( (6.34)

Se consideră o reţea de noduri (xi,yj), i=1,2,...,n; j=1,2, ...,m, (xi,yj)∈D. Dacă se aplică integralei simple, din membrul drept al egalităţii 6.32, o formulă de cuadratură se obţine:

∑∫∫=

≈n

iii

D

xFAdxdyyxf1

)(),( (6.35)

unde

∫=)(

)(

2

1

),()(i

i

x

xii dyyxfxF

ϕ

ϕ

(6.36)

Dacă se aplică o formulă de cuadratură membrului drept al egalităţii 6.36 rezultă:

∑∫=

=ii

i

m

jjiij

x

xi yxfBdyyxf

1

)(

)(

),(),(2

1

ϕ

ϕ

(6.37)

Ţinând seama de cele două cuadraturi rezultă formula de cubatură:

∑∑∫∫= =

=n

i

m

jjiiji

D

i

yxfBAdxdyyxf1 1

),(),( (6.38)

Fig.6.6. Domeniu de definiţie a funcţiei f(x,y)

(6.33) ),(),()(

)(

2

1

dxdyyxfdxdyyxfb

a

x

xD∫ ∫∫∫

=

ϕ

ϕ

x 0

y y=ϕ2(x)

y=ϕ1(x)

D

a b

Page 92: Aplicata in Inginerie Mathcad 2001

92

Formula de cubatură a trapezelor Se consideră integrala dublă definită pe un domeniu dreptunghiular:

∫ ∫=b

a

d

c

dxdyyxfI ),( (6.39)

Se împarte dreptunghiul dyc . ≤≤≤≤ bxa într-un număr de m*n dreptunghiuri, cu laturi

mc-dk , =

−=

nabh . Valoarea aproximativă a integralei duble rezultă, prin aplicarea repetată a

formulei trapezelor, pentru integrala simplă 6.20, în final obţinându-se:

[ ]1,1,11,4 ++++ +++≈ jijijiij ffffhkI (6.40)

Formula de cubatură a lui Simpson

Procedând similar ca la formula trapezelor se obţine:

( )[ ]ijjijijijijijijiji fffffffffhkI 1649 ,1,11,1,1,11,11,11,1 ++++++++≈ +−−++++−−+−− (6.41)

Şi în cazul integralelor duble, formula de cubatură a lui Simpson este mai precisă decât a trapezelor, la acelaşi număr de noduri.

6.1.5.4. Operatori pentru integrarea numerică (E)

Cu Mathcad se pot calcula integrale definite, integrale curbilinii, integrale duble şi triple.

Pentru evaluarea integralelor în Mathcad, trebuie avut în vedere că:

- limitele intervalului de integrare sunt numere sau expresii reale, scalare sau indexate;

- expresia de integrat poate fi reală sau complexă, însă neapărat scalară;

- toate variabilele din componenţa integrandului, cu excepţia celei de integrare, trebuie să fie

definite la stânga, sau deasupra regiunii matematice curente;

- dacă variabilei de integrare i se asociază unităţi de măsură, trebuie ca şi limitele de

integrare să aibă aceleaşi unităţi.

Mathcad utilizează implicit procedura AutoSelect, care alege automat cea mai precisă

metodă de integrare din cele patru disponibile:

- metoda Romberg (vezi subcapitolul anterior);

- metoda adaptivă, care aplică o metodă de cuadratură adaptivă, când integrandul are

variaţii puternice, în intervalul de integrare.

- metoda Limită Infinită, care se utilizează pentru integralele improprii la care una sau

ambele limite nu sunt finite;

- metoda Punct limită singular utilizează un algoritm care, evită evaluarea limitelor de

integrare, în care integrandul nu este definit

Page 93: Aplicata in Inginerie Mathcad 2001

93

Alegerea metodei de integrare numerică

Etape ______________________________ 1. Evaluaţi integrala definită (vezi paragraful următor).

2. Clic cu ButD în stânga simbolului de evaluare, din zona integralei.

3. Selectaţi una din metodele de integrare afişate în meniul pop-

up.

4. Clic în exteriorul regiuni matematice, pentru a vedea rezultatul,

dacă opţiunea Automatic Calculation este selectată

_______________________________________________________________________________

Precizia de integrare numerică

Ca şi la derivarea numerică, algoritmii de integrare numerică returnează un rezultat, dacă două evaluări succesive diferă cu mai puţin de valoarea constantei predefinite de sistem TOL. După cum se ştie, aceasta are valoarea implicită 0.001. Micşorarea valorii TOL, obligă sistemul să calculeze integrala cu precizie mai mare, dar timpul de calcul creşte, şi invers.

Dacă Mathcad eşuează în evaluarea unei integrale definite, afişează un mesaj de eroare prin care utilizatorul este informat asupra cauzei: singularităţi ale funcţiei de integrat etc. Calculul integralei definite

Etape ______________________________

1. Clic într-o zonă liber a foii de lucru.

2. Inseraţi simbolul integralei definite, din paleta Calculus,

sau apăsaţi tasta [&].

3. Completaţi, în orice ordine placeholder-ele .

4. Inseraţi simbolul de evaluare.

5. Clic în exteriorul regiunii matematice pentru a vedea rezultatul, dacă opţiunea

Automatic Calculation este selectată.

_______________________________________________________________________________

Page 94: Aplicata in Inginerie Mathcad 2001

94

Se pot face evaluări multiple ale integralei, dacă se utilizează, ca limite de integrare

expresii dependente de variabile indexate: Exemplu:

Calculul integralelor multiple

Pentru calculul unei integrale multiple se inserează simbolului integralei definite, de mai multe ori, apoi se completează placeholder-ele. Exemplu: Să se calculeze masa unei plăci cu grosime constantă, cu un contur patrulater curbiliniu delimitat de )()(, xdyxcbxa ≤≤≤≤ . Densitatea ρ este proporţională cu distanţa de la origine.

Timpul de calcul al integralelor multiple este mai lung decât al celor simple. În

consecinţă, se recomandă, dacă este posibil, să se recurgă la integrale de ordin inferior.

Atentie ________________________________

Fie f(x,y) o funcţie definită şi mărginită pe un domeniu plan, notat cu D, închis şi mărginit.

Se consideră, pentru D, un interval I={(x,y), a≤ x≤b, c≤y≤d} şi f integrabilă pe I [ROŞ79].

Dacă f(x,y) este mărginită şi integrabilă pe I şi dacă:

a) pentru orice x∈[a,b] există integrala ∫=d

c

dyyxfxF ),()(

b) F(x) este integrabilă pe [a,b], atunci

∫∫ ∫ ∫

=

I

b

a

d

c

dxdyyxfdxdyyxf ),(),( (6.42)

Page 95: Aplicata in Inginerie Mathcad 2001

95

Similar, dacă domeniul este D plan, mărginit de o curbă închisă Γ, formată dintr-un număr

finit de arce netede, şi dacă o paralelă la Oy taie Γ numai în două puncte şi ϕ1(x), ϕ2(x), a≤ x≤b,

sunt ecuaţiile arcelor superior, respectiv inferior, se demonstrază:

Dacă f(x,y) definită pe D, este mărginită şi integrabilă pe D şi dacă:

c) pentru orice x∈[a,b], există integrala ∫=)(

)(

2

1

),()(x

x

dyyxfxFϕ

ϕ

d) F(x) este integrabilă pe [a,b] atunci

∫∫ ∫ ∫

=

I

b

a

x

x

dxdyyxfdxdyyxf)(

)(

2

1

),(),(ϕ

ϕ

(6.43)

În Matcad, se utilizează fie convenţiile de notare, din membrul drept al relaţiilor 6.42

şi 6.43, fie mai concis fără paranteze. Dacă se aplică convenţiile de notare din partea stângă a

relaţiilor 6.42 şi 6.43 se obţin rezultate greşite.

Exemple:

În exemplele de mai sus, s-au calculat integrale duble, atât numeric cât şi simbolic. Rezultatele eronate sunt evidente dacă nu se respectă convenţia amintită _______________________________________________________________________________

Calculul integralelor curbilinii

După cum se ştie, integrala curbilinie este o extindere a integralei definite, în sensul că intervalul de integrare [a,b] se înlocuieşte cu un arc de curbă AB. Integralele curbilinii de tipul I şi II pot fi transformate în integrale definite, şi în consecinţă pot fi calculate în Mathcad.

Page 96: Aplicata in Inginerie Mathcad 2001

96

6.2. FUNCŢII PREDEFINITE (E)

În acest capitol sunt detaliate următoarele probleme: modul de inserare a funcţiilor predefinite, trecerea în revistă a principalelor grupe de funcţii predefinite care rezolvă anumite clase de probleme. Funcţiile predefinite în Mathcad 2001 Professional sunt detaliate în capitolele ulterioare.

6.2.1. Inserarea funcţ i i lor predefinite

Funcţiile predefinite, disponibile în Mathcad 2001, au ca surse:

- setul de bază al funcţiilor predefinite existent în ediţia ”Professional”;

- pachetele adiţionale instalate;

- funcţiile predefinite instalate de utilizator.

Indiferent de provenienţă, acestea se inserează prin una din căile:

- meniul Insert Function;

- butonul f(x) din bara instrumentelor standard;

- manual (atenţie numele de funcţii sunt “case sensitive “).

Fereastra de dialog “Insert function” (fig. 6.7) are structura:

În stânga sunt listate categoriile de funcţii predefinite. Dacă nu ştiţi cărei categorii îi aparţine funcţia, lăsaţi nemodificată selecţia implicită “All”, în caz contrar clic pe una din ele.

În dreapta sunt listate alfabetic numele funcţiilor. Dacă executaţi un clic pe numele unei funcţii, în cele două ferestre din partea inferioară, sunt afişate: formatul şi scurte informaţii asupra rezultatului aplicării funcţiei.

Inserţia se efectuează prin butoanele [OK] sau [Insert].

Rapid ______________________________

Dacă cunoaşteţi cel puţin primele caractere ale numelui funcţiei, introduceţi-le de la tastatură şi lista derulatoare se va poziţiona automat în zona dorită. Anterior, selectaţi fereastra “Funcţion Name” prin clic în interiorul ei, sau apăsaţi tasta [Tab] dacă este selectată fereastra “Function Category” _______________________________________________________________________________

6.2.2. Funcţii predefinite create de utilizator

Deoarece această problemă este de competenţa programatorilor avansaţi, depăşind obiectivele acestui manual de iniţiere în Mathcad, în continuare se prezintă doar câteva elemente generale.

Page 97: Aplicata in Inginerie Mathcad 2001

97

Într-o primă etapă se scrie codul sursă al funcţiei în C sau C++ şi apoi se compilează pe 32 biţi. În continuare, se crează un DLL care se plasează în subdirectorul “Userfi” şi se adaugă o intrare la user.xml, pentru ca noua funcţie să apară în caseta de dialog “Insert function”.

6.2.3. Principalele categorii de funcţii matematice predefinite.

Funcţii trigonometrice

Mathcad pune la dispoziţia utilizatorului funcţiile trigonometrice (categoria Trigonometric) directe şi inverse, funcţii hiperbolice.

Atentie _____________________________

Funcţiile trigonometrice au argumente măsurate în radiani. După cum se ştie (vezi partea I, subcap. 5.5 ) dacă doriţi să lucraţi cu argumente în grade hexazecimale trebuie introdusă unitatea predefinită deg (de la ”degree” în engleză). _______________________________________________________________________________

Funcţii logaritmice şi exponenţiale

Argumentul unei funcţii logaritmice, sau exponenţiale, trebuie să fie un scalar, real sau

complex. În Mathcad există trei funcţii de acest tip: exp(z) ez, ln(z) cu z≠0 şi log(z,b) cu z≠0,

b≠0, dacă b este omis se consideră că baza este 10.

Exemplu: funcţia logaritm natural cu argument complex: ln(z) = ln(|z|) + i arg(z).

Alte funcţii: Funcţii Bessel

Funcţii pentru numere complexe, vezi partea a II-a , cap. 18.

Funcţii specifice teoriei numerelor şi combinatoricii, vezi partea a II-a , cap. 19.

Funcţii de trunchiere şi aproximare, vezi partea a II-a , cap. 13.

Funcţii speciale

Funcţii pentru transformări discrete: Fourier, Wave

Funcţii specifice operării cu vectori şi matrice, vezi partea a I-a , cap. 7.

Funcţii pentru rezolvarea ecuaţiilor şi sistemelor şi optimizări, vezi partea a II-a , cap. 14, 15.

Funcţii statistice, probabiliste şi pentru analiza datelor, vezi partea a II-a , cap. 16,20.

Funcţii specifice operaţiilor financiare de nivel personal

Funcţii pentru rezolvarea ecuaţiilor şi sistemelor diferenţiale, vezi partea a II-a , cap. 17.

Page 98: Aplicata in Inginerie Mathcad 2001

98

I FUNDAMENTE MATHCAD 2001 VECTORI ŞI MATRICE _______________________________________________________________________________

În engleză vectorii şi matricele sunt numite arrays, în limba română termenul similar este tablou. În continuare se va utiliza abrevierea V&M (Vectori şi Matrice).

Comparativ cu versiunile anterioare, Mathcad 2001 determină mult mai riguros matricele singulare. Deci, este posibil ca o matrice considerată nesingulară, de exemplu în Mathcad 2000, să fie declarată singulară, în versiunea 2001. Opţiunea pentru pentru un calcul riguros poate fi dezactivată printr-un checkbox cu eticheta ”Use strict singularity checking for matrices” în meniul Math Options Calculation.

Atentie ________________________________

Implicit, în Mathcad primul indice al V&M este 0. Modificarea valorii implicite se efectuează prin intermediul variabilei predefinite ORIGIN, care are valori întregi. Sunt posibile două căi de modificare a valorii variabilei ORIGIN, cu efect asupra întregii foi de lucru:

1. Meniul Math Options tab-ul Built in variables. 2. Setarea variabilei ORIGIN ca variabilă globală. Atenţie, numele variabilei se scrie cu

majuscule. _______________________________________________________________________________

7.1. CREAREA DE VECTORI ŞI MATRICE

7.1.1. Crearea V&M neimbricate

7.1.1.1. Crearea V&M prin definirea individuală a elementelor ( E)

Pentru definirea unui element al unui vector sau matrice, se utilizează funcţia subscript prin tasta[ [ ], sau prin operatorul Xn, din paleta Vector and Matrix. Această metodă de generare este mai productivă decât cea care utilizează butonul Matrix or Vector, dacă vectorul sau matricea este rară (matricea are relativ multe elemente cu valoare zero comparativ cu cele având valori nenule).

Exemplu: Pentru elementul v5=2 al unui vector, se scrie: v[5:2. Elementele cu valori nule nu trebuie definite. Vectorul va avea dimensiunea maximă determinată de cel mai mare indice introdus la definirea individuală a elementelor, care poate fi făcută în orice ordine.

7.1.1.2. Crearea V&M prin comanda Matrix or Vector ( E)

Etape ________________________________

1. Meniul Insert Matrix, sau butonul din paleta, sau combinaţia de taste

[Ctrl]+[M];

Page 99: Aplicata in Inginerie Mathcad 2001

99

2. Introduceţi numărul de linii şi coloane (≤ 100

elemente), în zonele de editare Rows, respectiv

Columns.

3. Clic pe butonul OK, sau Insert.

4. Introduceţi în placeholder-e valorile numerice, expresii,

string-uri. Trecerea de la un placeholder la altul se face rapid prin apăsarea tastei [Tab].

_______________________________________________________________________________

Metoda este indicată pentru V&M de dimensiuni relativ mici.

7.1.1.3. Crearea V&M prin introducerea datelor într-un tabel ( E)

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Meniul Insert Component. În fereastra de

dialog alegeţi Input Table şi apoi apăsaţi

butonul [Finish]. În foaia de lucru este creat un

tabel gol, ca cel din figura alăturată.

3. Completaţi în placeholder-ul din stânga numele tabelului.

4. Clic în locaţiile tabelului şi completaţi-le cu valori numerice, sau complexe (nu expresii).

Dacă lăsaţi elemente necompletate acestea se consideră ca având valoarea zero.

_______________________________________________________________________________

Limitările practice, de dimensiuni, ale V&M introduse prin tabel sunt determinate de memoria disponibilă a sistemului de calcul.

7.1.1.4. Crearea V&M prin VPA ( E)

Page 100: Aplicata in Inginerie Mathcad 2001

100

Dacă funcţia este de două variabile se procedează ca în exemplele de mai sus, valorile discrete fiind memorate într-o matrice bidimensională.

7.1.1.5. Crearea de matrice prin funcţiile Matrix, CreateMesh, CreateSpace.

Funcţia matrix(m, n, f) returnează o matrice mxn, unde m şi n sunt numerele de linii, respectiv de coloane, f este numele unei funcţii de două variabile f(i,j), i = 1m,0 − , j = 1n,0 − .

Exemplu:

Funcţia CreateMesh(F (sau G, sau f1, f2, f3), [[umin], [umax], [vmin], [vmax], [nu], [nv], [fmap]]) creează o matrice imbricată (vezi 7.1.2), din trei matrice cu elementele coordonatelor x, y, z ale unei suprafeţe definite sub una din formele: F, G, f1, f2, f3.

Primul argument: funcţia F este sub forma unui vector coloană, având ca elemente coordonatele x, y, z dependente de doi parametri, notaţi în general cu u şi v. Funcţia G este reprezentarea analitică explicită a suprafeţei, iar f1, f2, f3 ecuaţiile parametrice.

Exemplu: O suprafaţă sub formă parametrică: x=f1(u,v)=u, y=f2(u,v)=v, z=f3(u,v)=sin(u)+cos(v), se scrie:

Următoarele argumente, încadrate în paranteze pătrate, sunt opţionale şi au valori scalare. Primele patru sunt limitele variabilelor u, v. implicit umin=vmin=-5, umax=vmax=5. Următoarele două nu, nv reprezintă numărul de puncte ale reţelei (“mesh”). Atenţie, numărul de celule ale reţelei este (nu-1)*(nv-1). Implicit nu=nv=20.

Argumentul fmap, este o funcţie sub forma unui vector coloană, având ca elemente relaţiile de transformare din alt sistem de coordonate în cel cartezian.

Funcţia CreateSpace(F (sau f1, f2, f3), [[tmin], [tmax], [nt], [nv], [fmap]])) returnează o matrice imbricată, formată de trei vectori care reprezintă coordonatele x, y, z ale unei curbe spaţiale definite de o funcţie F sub forma unui vector cu trei elemente, sau de f1, f2, f3 ecuaţiile parametrice ale curbei.

Exemplu:

7.1.1.6. Crearea V&M prin citirea unui fişier

Pentru crearea V&M prin citirea unui fişier, Mathcad utilizează un obiect OLE, numit componenta File Read/Write. Componentele sunt detaliate în partea a III-a a lucrării, în capitolul “Managementul datelor”. Acest obiect, specializat realizează o legătură între foia de lucru şi o sursă de date sau o altă aplicaţie. Astfel se pot citi date sub următoarele formate: Excel (*. xls), Matlab (*.mat), Lotus 1-2-3 (*.wk*), ASCII (*.dat, *.prn, *.txt, *.csv). În mod particular, pentru ultimul format se poate folosi şi funcţia writeprn.

Page 101: Aplicata in Inginerie Mathcad 2001

101

Pentru a citi elementele unui vector sau matrice, acestea trebuie să existe pe un suport de memorie externă, ca fişier ASCII. O cale simplă de creare a unui fişier, care conţine caractere ASCII este utilizarea editorului de texte Notepad instalat de Windows (butonul [Start] Programms Accessories Notepad). De exemplu, să presupunem că matricea are două coloane: pe prima fiind trecuţi timpii la care s-au făcut măsurătorile unui experiment şi pe a doua valorile măsurate. În Notepad aceste date se scriu cu separator blank între linii, după care datele se salvează ca fişier text.

Etape ________________________________

1. Clic într-o zonă liberă a foii de lucru.

2. Meniul Insert Component. Din fereastra de dialog alegeţi File Read or Write, după

care apăsaţi pe butonul [Next].

3. În noua fereastră de dialog File Read or Write Wizard, selectaţi butonul radio Read

from File, apoi apăsaţi [Next].

4. În continuare, selectaţi din lista asociată, tipul fişierului (fişierul text este implicit),

scrieţi calea spre fişierul sursă de date, sau mai rapid apăsaţi butonul [Browse] şi prin

intermediul ferestrei de dialog specifice căutaţi fişierul, după care apăsaţi butonul

[Finish].

_______________________________________________________________________________

Ca urmare a acestor operaţii, pe foia de lucru este afişat obiectul alăturat. Utilizatorul trebuie să completeze placeholder-ul din stânga cu un nume pentru V&M, după care datele cuprinse în matrice pot fi prelucrate. În captura de mai jos, după “botezarea ” matricei cu numele a, aceasta a fost afişată.

7.1.1.7. Crearea V&M prin import de date într-un tabel

Etape ________________________________

1. Creaţi un tabel gol (etapele 1, 2, 3 de la 7.1.1.3).

2. Selectaţi tabelul prin clic, după care mai executaţi un clic cu ButD şi din meniul pop-up

alegeţi comanda Import.

3. În fereastra de dialog Read from File, alegeţi fişierul din care se face importul de date şi

apăsaţi tasta [Open].

Atentie ________________________________

Spre deosebire de componenta File Read or Write, care citeşte fişierul de fiecare dată când se comandă calcularea foii de lucru, în cazul Import, operaţia de citire se face doar o dată când se crează matricea. _______________________________________________________________________________

Page 102: Aplicata in Inginerie Mathcad 2001

102

7.1.1.8. Generarea unor matrice speciale

Mathcad generează următoarele matrice speciale:

- funcţia identity(n) returnează o matrice identitate (matrice n x n, cu elemente 1, pe diagonala principală);

- funcţia diag(v) (P) generează o matrice care are pe diagonală elementele unui vector v cunoscut;

- funcţia tr(A) returnează suma elementelor diagonalei unei matrice pătrate A (“trace”- urmă).

7.1.1.9. Generarea unor V&M din alte matrice

Funcţia augment(A, B, C, ...) returnează o matrice formată din alăturarea pe orizontală a V&M, A, B, C, ... , care trebuie să aibă acelaşi număr de linii.

Funcţia stack(A, B, C, ...) returnează o matrice formată din alăturarea pe verticală a V&M, A, B, C, ... , care trebuie să aibă acelaşi număr de coloane.

Funcţia submatrix(A, ir, jr, ic, jc) extrage din matricea A o submatrice care conţine toate elementele dintre liniile ir, jr, şi coloanele ic, jc. Trebuie respectate condiţiile jr≥ir, jc ≥ic.

7.1.2. Crearea de V&M imbricate

Elementele V&M pot conţine la rândul lor alte V&M. Generarea V&M imbricat ( “nested”) nu se poate face inserând în placeholder-ul elementului unui V&M, altă structură goală de V&M.

Cea mai simplă cale de creare a V&M imbricate este prin definirea individuală a elementelor sale. În exemplul alăturat, se observă că elementele imbricate pot fi neomogene structural: primul este o matrice 2x2, restul sunt vectori 2x1.

Mathcad afişează implicit dimensiunile submatricelor imbricate. Pentru a vedea conţinutul unei astfel de matrice este necesară afişarea individuală a elementelor. În acest scop din meniul Format Result tab-ul Display Options, bifaţi “Expand nested arrays”.

Matricele imbricate pot fi asamblate din alte matrice prin crearea structurii goale (meniul Insert Matrix sau butonul din paleta Vector and Matrix) şi completarea placeholder-elor goale cu numele V&M, anterior definite.

Exemplu:

Se observă că Mathcad ia în considerare numărul de linii, coloane ale matricei afişate, ignorând faptul că acesta este formată din vectori, fapt important în calculele matriceale.

În aceeaşi manieră, în placeholder-e pot fi trecute direct funcţiile generatoare de submatrice, sau de citire a elementelor dintr-un fişier.

Page 103: Aplicata in Inginerie Mathcad 2001

103

Exemplu:

7.2. ACCESAREA ŞI AFIŞAREA VARIABILELOR INDEXATE

7.2.1. Accesarea elementelor V&M (E)

Elementele V&M pot fi accesate, fie global prin utilizarea numelui variabilei asociate, fie individual utilizând operatorul subscript.

Operatorul subscript poate fi inserat în două moduri:

1. Clic pe butonul din paleta Vector and Matrix. 2. Prin apăsarea tastei [ [ ].

Dacă elementul accesat are mai mulţi indici aceştia se despart prin virgule.

Accesarea coloanelor unei matrice se face prin operatorul aflat pe paleta Vector and Matrix. În placeholder-ul inferior se scrie numele matricei, iar în cel superior indicele coloanei.

Accesarea liniilor unei matrice necesită transpunerea ei (operatorul din paleta Vector and Matrix).

Exemplu:

7.2.2. Afişarea elementelor V&M (E)

V&M cu dimensiunea mai mică decât 11, sunt afişate sub forma completă, tablourile mai mari sunt afişate ca tabele fiind vizibilă doar zona din colţul N-E. Prin barele de defilare, poate fi vizualizată orice porţiune. Pentru a redimensiona partea vizibilă dintr-un tabel, acesta trebuie selectat şi apoi folosite mânerele de redimensionare.

Un tabel poate fi afişat ca V&M şi invers:

Etape ________________________________

1. Clic pe tabel. 2. Meniul Format Result. 3. Alegeţi din lista Matrix display style, a tab-ului Display Options, opţiunea Matrix. 4. Apăsaţi pe butonul [OK].

_______________________________________________________________________________

Tabelele foarte mari nu sunt afişate în format V&M.

Elementele matricelor imbricate pot fi accesate, dacă se utilizează paranteze pentru înlăturarea confuziilor.

Page 104: Aplicata in Inginerie Mathcad 2001

104

În exemplul de mai sus, după ce scrieţi MI0, cuprindeţi întreaga întreaga expresie cu LEO şi la introducerea celei de a doua serii de indici sistemul va insera automat paranteze.

7.3. CĂUTAREA DE VALORI ÎN V&M

În Mathcad 2001 au fost introduse patru funcţii: lookup, hlookup, vloop şi match care permit căutarea de valori în V&M şi returnarea rezultatului tot în formă matriceală.

Notaţii: - z valoarea căutată (reală, complexă sau şir de caractere); - A, B V&M cu valori reale, complexe, şiruri de caractere, cu compoziţie omogenă, sau

nu; - r, c sunt întregi ORIGIN ≤ r ≤ ORIGIN+n−1, ORIGIN ≤ c ≤ ORIGIN+n−1.

Cele patru funcţii sunt utile în procese de căutare în tabele, care au pe prima linie şi coloană valori şir de caractere, cu semnificaţia de cap de tabel (vezi exemplul de la funcţia lookup).

Funcţia lookup(z, A, B) caută în V&M, A, o valoare dată z (reală, complexă sau şir de caractere) şi returnează valoarea/ile găsite într-o altă matrice B, în aceleaşi poziţii, în care a fost găsită/e valoarea z.

Exemplu:

În tabloul stoks se caută pe coloana a 4-a valorea 2.25 şi este returnată valoarea “2/99”cu coordonatele: linia unde a fost găsită valoarea z şi prima coloană.

Funcţia match(z, A) caută în V&M, cu numele A, o valoare z şi returnează indecşii poziţiilor găsite în A. Dacă găseşte mai multe valori, le afişează ca vector imbricat, în ordinea parcurgerii matricei A pe rânduri de la stânga la dreapta. Pentru a vizualiza indicii bifaţi Expand nested arrays din meniul Format Result tab-ul Display Options. Exemplu:

Page 105: Aplicata in Inginerie Mathcad 2001

105

Funcţia hlookup(z, A, r) caută în prima linie a V&M cu numele A, o valoare z şi returnează valoarea/ile găsită/e din coloana/ele respectivă/e, pe linia specificată r.

Exemplu:

În primul exemplu, pe prima linie a matricei b se caută valoarea 1 şi este returnată valoarea -5 având locaţia: coloana 0, unde se află 1, linia 2 specificată ca parametru actual; în al doilea exemplu este returnat un vector, deoarece valoarea 6 este găsită de două ori pe prima linie.

Funcţia vlookup(z, A, c) este asemănătoare funcţiei hlookup, cu deosebirea că investigaţia se face pe prima coloană şi se returnează valorile specificate de pe coloana c.

7.4. COPIEREA, LIPIREA ELEMENTELOR V&M (E)

Copierea elementelor V&M diferă funcţie de modul de afişare: forma V&M, sau forma tabel. Dacă un rezultat este afişat V&M, se poate efectua copierea tuturor elementelor sale.

Etape ________________________________

1. Selectaţi vectorul, sau matricea şi cuprindeţi-o cu LEO.

2. Meniul Edit Copy, sau clic cu ButD şi din meniul pop-up, alegeţi Copy.

3. Clic unde doriţi să efectuaţi lipirea: într-o zonă liberă a foii de lucru, sau într-un

placeholder.

4. Dacă doriţi să lipiţi în altă aplicaţie, alegeţi Paste din meniul Edit al aplicaţiei ţintă.

Dacă lipirea se face în aceeaşi foaie de lucru, alegeţi Paste din meniul Edit al foii

curente, sau butonul din bara instrumentelor standard.

_______________________________________________________________________________

Dacă un rezultat este afişat sub forma de tabel, se poate efectua copierea tuturor elementelor sale, sau doar a unei submatrice sau vector.

Etape ________________________________

1. Clic pe elementul submatricei din colţul N-V, sau S-E.

2. Dragaţi în direcţia dorită.

3. Clic cu ButD pe submatricea selectată, din meniul pop-up alegeţi Copy Selection.

4. Operaţia de lipire se execută ca mai sus.

_______________________________________________________________________________

Copierea unei linii, coloane complete a unui tabel se face selectând-o prin clic pe numărul de ordine de pe bordura tabelului, urmată de alegerea comenzii Copy. Selectarea unui tabel se face prin clic pe zona nenumerotată din colţul N-V a bordurii.

Page 106: Aplicata in Inginerie Mathcad 2001

106

7.5. MODIFICAREA DIMENSIUNILOR V&M (E)

În afară de modificare a dimensiunilor V&M, prin funcţiile stack şi augment (vezi 7.1.1.9. ), Mathcad pune la dispoziţia utilizatorului şi alte mecanisme.

Inserarea de linii

Etape ________________________________

1. Clic pe elementul situat deasupra zonei unde doriţi să adăugaţi

una sau mai multe linii.

2. Meniul Insert Matrix.

3. În caseta de dialog “Insert Matrix” specificaţi câte linii doriţi

să inseraţi, completând cu valoarea 0, editbox-ul coloanelor.

4. Clic pe butonul [Insert].

_______________________________________________________________________________

Ştergerea de linii se face în aceeaşi succesiune de operaţii ca la adăugare, cu deosebirea că se apasă butonul [Delete].

Inserarea, ştergerea de coloane se face asemănător liniilor, la dreapta elementului selectat.

7.6. FUNCŢII VECTORIALE ŞI MATRICEALE

7.6.1. Funcţii de analiză matriceală

7.6.1.1. Mărimea vectorilor şi matricelor (E)

Funcţia rows(A) returnează numărul de linii ale V&M.

Funcţia cols(A) furnizează numărul de coloane ale V&M.

Funcţiile rows şi cols pot avea ca argument numele unei matrice sau vector, sau chiar un vector sau o matrice. Dacă A este scalar ambele funcţii returnează 0.

Funcţia length(V) furnizează numărul de elemente ale vectorului V.

Funcţia last(V) returnează ultimul indice al vectorului.

Page 107: Aplicata in Inginerie Mathcad 2001

107

Funcţia min(A,B,C...) şi max(A,B,C...) sunt funcţii care determină minimul, respectiv maximul din lista de argumente, care pot fi V&M, dar şi scalari sau şiruri de caractere. Evident, că argument poate fi şi un singur vector sau o singură matrice.

7.6.1.2. Rangul matricelor (E)

Funcţia rank(A) furnizează rangul unei matrice. După cum ştie rangul unei matrice Amxn,

este un scalar 1 ≤ k ≤ min(m,n) care reprezintă numărul de linii, sau coloane liniar independente.

Funcţia rref(A) returnează rangul matricei, indicând coloanele ce constituie minorul al cărui determinant este nenul.

7.6.1.3. Inversa unei matrice (E)

Funcţia geninv(A), inversa generalizată a unei matrice, returnează inversa la stânga a matricei mxn, m ≥ n cu elemente reale (invA * A=I). Funcţia aplicată unei matrice pătrate, furnizează acelaşi rezultat ca şi operatorul Inverse de pe paleta Vector and Matrix.

Exemplu:

7.6.1.4. Sortări ale elementelor V&M

Funcţiile de sortare, a elementelor V&M se găsesc în fereastra de dialog Insert Function, în categoria Sorting, nu în Vector and Matrix.

Funcţia csort(A,n) (“sort” este prefixat cu c, de la ”column”- coloană) sortează ascendent elementele unei coloane n. Evident că sortarea se face pe linii, care rămân neschimbate ca şi compoziţie, fiind modificată doar poziţia lor în matrice.

Funcţia rsort(A,n) (“sort” este prefixat cu r, de la ”row”- linie) sortează ascendent elementele unei linii n.

Funcţia sort(A) sortează ascendent elementele unui vector.

Funcţia reverse(A) inversează ordinea elementelor unui vector sau liniilor unei matrice. Exemple

Page 108: Aplicata in Inginerie Mathcad 2001

108

7.6.1.5. Calculul normelor vectorilor şi matricelor

Normele sunt scalari care dau o măsură a “mărimii” elementelor unei matrice sau vector. În biblioteca Mathcad există patru tipuri de norme care se aplică unor matrice pătrate:

- Funcţia norm1(A) returnează norma L1 a matricei A, calculând cea mai mare sumă a modulelor elementelor de pe coloană.

- Funcţia norm2(A) returnează norma L2 a matricei A, calculează cea mai mare valoare singulară a matricei A.

- Funcţia norme(A) returnează norma euclidiană a matricei A. În acest scop se utilizează

relaţia ∑∑= =

=n

i

m

jije

aA1 1

2

- Funcţia normi(A) returnează norma infinită a matricei A, calculând cea mai mare sumă a modulelor elementelor de pe linie.

7.6.1.6. Condiţionarea unei matrice (E)

Elemente teoretice referitoare la calitatea condiţionării unei soluţii se găsesc în partea a II-a a lucrării. Numărul de condiţionare a unei matrice cu elemente coeficienţii necunoscutelor unui sistem de ecuaţii liniare indică sensibilitatea soluţiei sistemului la perturbaţii asupra coeficienţilor. O matrice bine condiţionată este relativ insensibilă la mici perturbaţii.

Mathcad 2001, ediţia Professional calculează condiţionarea matricelor prin patru funcţii: cond1(A), cond2(A), conde(A), condi(A). Acestea sunt bazate pe normele L1, L2, euclidiană şi infinită, conform relaţiilor: ie,1, x),()()( 1 =−= −AnormAnormxAcondx (vezi tabelul 14.1).

Valori relativ mari, în general de ordinul miilor, ale numărului de condiţionare, sunt asociate unor matrice rău condiţionate.

7.6.2. Descompunerea şi factorizarea matricelor

7.6.2.1. Valori şi vectori proprii

Dacă A este o matrice pătrată de ordin n, cu elemente reale, un număr λ∈C se numeşte

valoare proprie a matricei A dacă există un vector nenul x∈Cn, astfel încât Ax=λx. Vectorul x se numeşte vector propriu a lui A, asociat valorii proprii λ [LAR89]. Valorile şi vectorii proprii au o deosebită importanţă în simplificarea calculelor matriceale, în determinarea soluţiilor particulare ale sistemelor de ecuaţii diferenţiale ordinare [DOD76].

Funcţia eigenvals(A) returnează un vector cu valorile proprii ale matricei pătrate A.

Funcţia eigenvec(A,z) retrurnează un vector propriu normalizat, asociat valorii proprii z.

Funcţia eigenvecs(A) este o generalizare a funcţiei eigenvec(A,z), care furnizează o matrice conţinând pe coloane toţi vectorii proprii normalizaţi ai matricei A. Coloana i este un vector propriu asociat valorii proprii i returnate de eigenvals(A).

Funcţiile genvals(M,N) şi genvecs(M,N) sunt funcţii corespondente celor prezentate anterior, aplicabile în cazul problemei generalizate a valorilor proprii.

Page 109: Aplicata in Inginerie Mathcad 2001

109

7.6.2.2. Calculul valorilor singulare

Funcţia svds(A) (singular values decomposition) returnează un vector având ca elemente valorile singulare ale matricei A.

Funcţia svd(A) (singular value decomposition) returnează o matrice formată din două submatrice U şi V plasate una sub alta. Cele două matrice satisfac ecuaţia A=U diag(s) VT, unde s este vectorul returnat de svds(A).

În ambele cazuri, A este o matrice reală, cu dimensiuni mxn, m≥n.

7.6.2.3. Factorizări

Factorizarea Cholesky este realizată de funcţia cholesky(A), care returnează o matrice superior triunghiulară, nesingulară L, care satisface relaţia: LLT=A. Matricea A este simetrică. Această factorizare este o metodă directă de rezolvare a ecuaţiilor liniare AX=B, cu A matrice pozitiv definită [GHI97].

Factorizarea LU (Lower-Upper) se efectuează cu funcţia lu(A) care returnează o matrice formată din trei matrice pătrate P, L şi U, având aceeaşi dimensiune ca şi matricea pătrată A şi care satisfac ecuaţia PA=LU. Matricele sunt asamblate pe orizontală în ordinea P-L-U. L şi U sunt matricea inferior triunghiulară, respectiv superior triunghiulară. Factorizarea LU se utilizează în calculul inversei unei matrice, determinanţilor, rezolvarea ecuaţiilor liniare.

Factorizarea QR se realizează prin intermediul funcţiei qr(A), care returnează o matrice formată din: matricea ortonormală Q de dimensiune n (primele n coloane), şi o matrice superioară (următoarele coloane) triunghiulară R, care satisfac ecuaţia: A=QR. A poate fi vector sau matrice reală. Factorizarea QR se utilizează la rezolvarea sistemelor de ecuaţii liniare cu mai multe necunoscute decât ecuaţiile [GHI97].

7.7. OPERATORI VECTORIALI ŞI MATRICEALI (E)

Majoritatea operatorilor pentru V&M se găsesc pe paleta Vector and Matrix putând fi accesaţi şi prin intermediul tastelor.

Operatorii de însumare +, scădere -, pot fi inseraţi prin apăsarea tastelor corespunzătoare sau prin simbolurile respective din paleta Calculator. Matricele, vectorii, care se însumează, sau se scad trebuie să aibă aceleaşi dimensiuni. În membrul stâng al evaluării pot fi adunate, scăzute oricâte matrice. Printre operanzi pot fi şi scalari reali sau complecşi.

Înmulţirea a două matrice se face cu operatorul * după regula “linii pe coloane”. Atenţie, la dimensiunile operanzilor: Amn*Bnp=Cmp. Dacă unul din operanzi este scalar, se efectuează înmulţirea fiecărui element al matricei cu scalarul respectiv.

Împărţirea unei matrice cu un scalar nenul utilizează operatorul /.

Ridicarea la putere a unei matrice pătrate An se efectuează cu operatorul ^, utilizat şi la operaţia similară aplicată numerelor reale, sau complexe. Pentru n întreg pozitiv, A este înmulţită cu ea însăşi de n ori.

Cazuri particulare: - A0=I, unde I este matricea identitate cu dimensiunea matricei A;

Page 110: Aplicata in Inginerie Mathcad 2001

110

- A1=A; - A-1 returnează inversa matricei A.

Pentru efectuarea produsului scalar a doi vectori se utilizează operatorul * sau din paleta Vector and Matrix. Evident, cei doi vectori trebuie să aibă acelaşi număr de elemente.

Operatorul produsului vectorial este , aflat tot pe paleta Vector and Matrix. Cei doi vectori trebuie să aibă câte trei elemente, reprezentând proiecţiile vectorilor pe cele trei axe.

Modulul unui vector se calculează cu operatorul plasat pe paleta Vector and Matrix.

Transpusa unui vector, matrice este obţinută ca urmare a aplicării operatorului .

Determinantul unei matrice pătrate se calculează cu operatorul .

Operatorul de calcul a inversei unei matrice pătrate este . Acelaşi efect se obţine prin ridicarea la putere –1 (nume matrice pătrată ∧ -1), sau prin aplicarea funcţiei geninv.

Pentru calculul negativei unei matrice se scrie operatorul – în stânga numelui matricei

Suma elementelor unui vector se efectuează cu operatorul .

Operatorul de vectorizare , din paleta Vector and Matrix, modifică sensul uzual al operatorilor specifici V&M, aceştia aplicându-se fiecărui element al operanzilor. Vectorizarea permite efectuarea calculelor numerice, sau simbolice în paralel.

Pentru a aplica operatorul de vectorizare asupra unei expresii cuprindeţi-o cu LEO, după care

apăsaţi butonul , sau combinaţia de taste [Ctrl]+[-].

Exemplu. Calculul în paralel a soluţiilor mai multor ecuaţii de gradul doi 02 =++ cbxax , în scopul ridicării graficului dependenţei soluţiilor la variaţia coeficientului a într-un interval dat.

Problema de mai sus se putea aborda şi prin intermediul VPA, sau analitic determinând derivatele simbolice ale funcţiilor soluţii.

Aplicarea vectorizării are următoarele efecte asupra unor operaţii specifice V&M:

- modulul fiecărui element al V&M:

Page 111: Aplicata in Inginerie Mathcad 2001

111

- înmulţirea element cu element a matricelor

7.8. REPREZENTAREA GRAFICĂ A VECTORILOR ŞI MATRICELOR

7.8.1. Reprezentarea grafică a vectorilor

În exemplul alăturat, s-a definit o VPA, cu numele i, a cărei limite sunt primul şi ultimul indice al vectorului v.

După inserarea cadrului unui grafic 2D, în coordonate carteziene, în placeholder-ul ordonatei s-a scris numele vectorului v, iar în abscisă numele indexului i.

Pentru reprezentarea grafică a elementelor vectorului, s-a ales simbolul romb (abrevierea dmnd de la “diamond” în tab-ul Traces al ferestrei de dialog Formatting Currently Selected X-Y Plot) şi s-a selectat “points”, pentru Type.

În vederea unei reprezentări sugestive, s-a lăţit banda abscisei cu 20%: în placeholder-ele abscisei s-au inserat valorile: a-e, b+e, unde variabila e, are ca valoare 10% din xmax-xmin.

Succesiunea de comenzi utilizate mai sus asigură o oarecare generalitate, în sensul că se poate reprezenta orice vector cu numele v, indiferent de indicele de început.

7.8.2. Reprezentarea grafică a matricelor

O matrice bidimensională poate fi reprezentată prin graficului 3D Scatter Plot ( din paleta Graph), unde axele X, Y sunt indicii i şi j, iar pe Z sunt reprezentate valorile elementelor matricei (pentru amănunte vezi subcap. 9.2.2).

Page 112: Aplicata in Inginerie Mathcad 2001

112

I FUNDAMENTE MATHCAD 2001 ŞIRURI DE CARACTERE _______________________________________________________________________________

În Mathcad, un şir de caractere (SC) (în engleză “string”) este format dintr-o secvenţă de caractere plasate între ghilimele duble (“ ”). Convenţia de încadrare a SC între ghilimele se întâlneşte şi la alte limbaje, de exemplu în Turbo Pascal se utilizează ghilimele simple, la fel în Matlab. Numărul de caractere este limitat doar de memoria disponibilă. La afişarea unui SC caracterele componente apar pe o singură linie.

Şirul de caractere numerice (SCN) conţine caractere care formează un număr real, complex, (vezi 4.1.1. “Numerele în Mathcad”). Spaţiile libere plasate după primele ghilimele, sau înaintea ultimelor sunt ignorate la evaluarea acestui tip de SC.

Exemple: “-6.256 ”, “3.25 e-12 ”, “4.2+5i ”.

8.1. DEFINIRI

8.1.1. Definiri de variabile cu valori SC

Etape ________________________________

1. Clic într-o zonă liberă a foii de lucru, scrieţi numele unei variabile.

2. Inseraţi simbolul de definire (tasta [:]).

3. În placeholder-ul din dreapta simbolului de definire, inseraţi

ghilimelele duble, prin apăsarea tastei [“].

4. Scrieţi, între ghilimele, orice combinaţie de litere,

numere, caractere.

5. Apăsaşi tasta [Enter], sau clic în exteriorul zonei matematice.

_______________________________________________________________________________

Page 113: Aplicata in Inginerie Mathcad 2001

113

8.1.2. Definiri de funcţii cu argumente SC

Definirea funcţiilor cu argumente SC se face asemănător variabilelor. În exemplul de mai jos, s-a definit o prin programare o funcţie, care calculează secundele existente într-un număr oarecare de ore, minute, secunde. Argumentul are un format fix: ore:minute:secunde, fără spaţii goale, cu introducerea cifrei zero dacă orele, minutele sau secundele, lipsesc. În definirea funcţiei hms2s(t) (hours minutes seconds to seconds) s-au utilizat câteva funcţii specifice, care sunt detaliate în subcapitolele următoare.

- p1, p2 -poziţiile separatorilor - h, m, s - subşirurile orelor, minutelor, secundelor - valoarea returnată de funcţie - utilizarea funcţiei anterior definite

Funcţia de mai sus s-ar fi putut defini, mai concentrat, fără variabilele locale, intermediare p1, p2 etc.

8.1.3. Definiri de vectori, matrice cu elemente SC

Definirea vectorilor şi matricelor cu elemente SC se efectuează prin metodele detaliate în subcapitolul 7.1. “Crearea de vectori şi matrice”, respectând, pentru SC, convenţia de utilizare a separatorilor ghilimele duble.

Exemplu:

8.2. FUNCŢII PENTRU OPERAREA CU SC

8.2.1. Funcţii generale

Funcţia IsString(x) returnează 1 dacă x este SC şi 0 în caz contrar.

Funcţia strlen(x) (în engleză “string length”) furnizează numărul de caractere ale SC, x.

Funcţia search(s,ss,p) returnează poziţia de start a subSC ss, din SC s, căutarea pornind de la poziţia p. Dacă ss nu există în s funcţia furnizează valoarea –1. Vezi exemplul de la 8.1.2.

Funcţia substr(s,p,n) (în engleză “substring”) extrage un subşir format din n caractere, începând de la dreapta caracterului cu număr de ordine p. Primul caracter este numerotat cu 0. Vezi exemplul de la 8.1.2.

Page 114: Aplicata in Inginerie Mathcad 2001

114

Funcţia concat(S1, S2, S3,...) returnează un SC compus din alăturarea mai multor SC, S1-S2-S3-..., vezi exemplul de mai jos.

Funcţia erorr(s) afişează SC s, ca mesaj de eroare. Funcţia este frecvent utilizată în programarea Mathcad.

Exemplu: S-a dezvoltat exemplul de la 8.1.2. cu protecţie la formatul incorect al argumentului.

8.2.2. Funcţii de conversie

Funcţia num2str(x) returnează un SCN corespunzător lui x, care poate fi o constantă numerică, o expresie numerică.

Funcţia str2num (x) efectuează conversia SCN număr, deci inversul conversiei efectuate de funcţia num2str.

Exemple:

Funcţia str2vec(x) returnează un vector a cărui elemente sunt codurile ASCII, ale caracterelor SC x.

Funcţia vec2str(v) efectuează conversia inversă funcţiei prezentate anterior. V este un vector conţinând codurile ASCII ale caracterelor care formează un SC. Reamintim, că acestea sunt numere întregi cu valori cuprinse între 0 ...255.

Page 115: Aplicata in Inginerie Mathcad 2001

115

Exemple:

8.3. OPERATORI PENTRU SC

Operatorii relaţionali pot avea operanzi SC.

Exemple:

Se aplică regulile acceptate şi în alte limbaje: compararea

se face caracter cu caracter, pe baza codurilor ASCII ale

caracterelor SC.

În exemplul alăturat, ss < sd =1, deoarece primele patru

caractere sunt identice, diferă doar codurile elementelor cu poziţia

cinci. Codul ASCII al caracterului l este mai mare decât cel al

caracterului c.

Page 116: Aplicata in Inginerie Mathcad 2001

116

I FUNDAMENTE MATHCAD 2001 REPREZENTĂRI GRAFICE ÎN MATHCAD _______________________________________________________________________________

9.1. REPREZENTĂRI GRAFICE 2D (E)

În Mathcad se pot reprezenta, în grafică 2D, funcţii sau expresii dependente de o singură variabilă reală şi date X-Y ca puncte în plan.

Curbele plane pot fi definite analitic, in următoarele forme [MUR62]: - ecuaţia implicită F(x,y)=0; - ecuaţia explicită y=f(x),unde f(x) este uniformă, continuă si admite o derivată continuă,

pentru x ∈[a...b]; - ecuaţii parametrice x=f1(t), y=f2(t), unde f1, f2 stabilesc o corespondenţă biunivocă între

punctele care aparţin curbei şi mulţimea valorilor parametrului real t. Funcţiile f1, f2 admit derivate de ordinul întâi continue, care nu se anulează simultan.

Mathcad poate, de asemenea, reprezenta curbe plane şi expresii monovariabilă care nu respectă condiţiile enumerate anterior. Mai mult, intervalul de definire a variabilei poate avea limite infinite.

9.1.1. Etapele reprezentării unor grafice 2D cu parametri impliciţi

În prealabil, se definesc funcţia, setul de funcţii, după care indiferent de natura graficului se

parcurg următoarele etape:

Etape ________________________________

1. Selectaţi locul de inserare, prin clic, într-o zonă liberă a foii de lucru. Graficul va fi

inserat cu colţul N-V în punctul selectat.

2. Inseraţi cadrul graficelor 2D, fie prin meniul Insert Graph X-Y Plot sau Polar

Plot, fie prin butoanele , respectiv , din paleta Graph.

Rapid ________________________________

Prin procedura 2D QuickPlots se poate insera rapid un grafic 2D: se scrie numele funcţiei monovariabilă sau expresia dependentă de o variabilă, urmată de caracterul @, sau clic pe butonul

, sau . Ca efect, Mathcad afişează cadrul X-Y Plot sau Polar Plot cu placeholder-ul corespunzător funcţiei, completat cu numele funcţiei, sau expresiei şi cu placeholder-ul variabilei

Page 117: Aplicata in Inginerie Mathcad 2001

117

necompletat. Dacă executaţi un clic, în afara spaţiului graficului sau dacă se apasaţi tasta [Enter], sistemul completează automat numele variabilei şi afişează un grafic cu limitele implicite ale variabilei [ –10, 10], pentru X-Y Plot, [0, 2π], pentru Polar Plot. _______________________________________________________________________________

3. Dacă nu aţi utilizat metoda 2D QuickPlots, completaţi cele două placeholder-e

corespunzătoare funcţiei, sau expresiei (plasat median în dreapta), şi variabilei (plasat median în

partea inferioară a graficului). Graficul 2D permite completarea ambelor placeholder-e cu numele

unor funcţii, sau direct cu expresii evident de aceeaşi variabilă reală (vezi subcap. 9.1.4).

4. Clic în afara spaţiului graficului sau apasaţi tasta [Enter]. Este afişat graficul 2D având

parametri impliciţi.

_______________________________________________________________________________

9.1.2. Setarea domeniului reprezentării grafice 2D

Valorile extreme de pe fiecare axă definesc domeniul reprezentării grafice 2D. După cum s-a amintit, la reprezentările în coordonate carteziene, Mathcad consideră ca interval implicit al variabilei –10 ... 10, iar la reprezentările polare 0 .. 2π. Aceste intervale sunt de multe ori inadedecvate, utilizatorul putându-le modifica după necesităţi.

Setarea domeniului reprezentării unui grafic 2D se poate face pe mai multe căi, funcţie de natura graficului: 1. O primă cale este setarea valorilor limitelor variabilei prin intermediul placeholder-elor.

1.1. Pentru grafice X-Y Plot completaţi în placeholder-ele limitelor de reprezentare pe abscisă şi/sau ordonată, valorile dorite, sau definiţi variabile a căror nume le inseraţi în placeholder-ele respective. Dacă se setează limitele variabilei, Mathcad reprezintă grafic doar zona corespunzătoare cuprinsă între valorile minime, maxime ale funcţie, sau expresiei reprezentate. Pentru a vizualiza placeholder-ele amintite selectaţi graficul X-Y Plot.

În captura de mai sus se află graficul 2D QuickPlots a unei expresii, deci cu limitele implicite ale variabilei x∈[-10 ... 10] şi reprezentarea aceleiaşi expresii cu modificarea limitelor implicite, în x∈[2 ... 5].

Odată fixat domeniul de reprezentare, dacă se efectuează un dublu clic în spaţiul graficului se deschide fereastra de dialog Formatting Curently Selected X-Y Plot. În tab-ul X-Y Axes, pe coloanele X-Axis, Y-Axis există câte un checkbox Autoscale

Page 118: Aplicata in Inginerie Mathcad 2001

118

selectat. Dacă acesta se deselectează, graficul va fi reprezentat mai “strâns”, în sensul că se va termina exact la valoarea setată a limitelor, comparativ cu celălalt caz, când se lărgeşte banda de reprezentate la cea mai apropiată valoare semnificativă.

În figura de mai sus, s-au capturat: în stânga, un grafic în care opţiunea Autoscale

este selectată, în dreapta opţiunea respectivă este selectată, doar pentru axa X. În cele patru placeholder-e se poate insera şi simbolul +∞ sau -∞, caz în care sistemul ia în considerare numerele reale maxime admise +10307 , respectiv -10307.

1.2. Pentru grafice Polar Plot, posibilităţile sunt mai limitate, deoarece graficul este reprezentat implicit pentru unghiuri 0 … 2π, putând fi setate doar limitele razei. Valorile respective se trec în cele două placeholder-e din partea dreaptă, superioară a graficului.

În figura de

Mai sus sunt reprezentate două grafice ale aceleiaşi spirale Arhimede ρ=2*θ. Primul a fost creat cu metoda 2D QuickPlots, la al doilea s-au modificat valorile limitelor razei: rmin=5, rmax=10. Reprezentarea polară nu are opţiunea Autoscale.

2. O altă cale este utilizarea VPA pentru setarea variabilei funcţiei sau expresiei.

În exemplul alăturat s-a definit o VPA, care este argumentul funcţiei reprezentate. Pentru un pas relativ mare, graficul nu are un aspect neted deoarece Mathcad reprezintă punctele şi le uneşte cu segmente de dreaptă. În graficul curent s-a utilizat un pas π/n, cu n=100, definit anterior.

Page 119: Aplicata in Inginerie Mathcad 2001

119

9.1.3. Multigrafice 2D

Pe un acelaşi grafic 2D pot fi reprezentate maximum 16 curbe, folosind ca separator virgula, atât între funcţii/expresii, cât şi între argumente, variabile. În figura alăturată s-au reprezentat două funcţii cu argumente diferite. Dacă funcţiile au aceeaşi variabilă, ca argument, este suficient să se scrie doar o singură dată numele variabilei.

9.1.4. Reprezentarea curbelor definite prin ecuaţii parametrice

Curbele parametrice pot fi reprezentate completând placeholder-ele abscisei şi ordonatei cu funcţii, sau expresii dependente de aceeaşi variabilă reală, ca în figurile de mai sus, unde sunt reprezentate curbele Lissajous. Dacă doriţi să reprezentaţi doar porţiuni de curbe definiţi parametrul ca VPA (vezi exemplul de mai sus).

9.1.5. Reprezentarea V&M şi a numerelor imaginare

Pentru reprezentarea grafică a vectorilor şi matricelor vezi subcapitolul 7.7.

Page 120: Aplicata in Inginerie Mathcad 2001

120

Punctul M(x,y) se numeşte imaginea geometrică a numărului complex z=x+iy.

După cum se cunoaşte, pentru a reprezenta geometric numerele complexe se consideră un plan raportat la un sistem de axe ortogonale XOY. În acest scop se utilizează funcţiile Re(z) şi Im(z) care returnează partea reală, respectiv imaginară a unui vector sau număr (vezi capitolul 18).

În exemplul alăturat sunt reprezentate patru numere complexe extrase din vectorul v.

9.1.6. Formatări în reprezentările carteziene

Modificarea setărilor implicite ale reprezentărilor grafice 2D, se efectuează prin dublu clic, fie într-o zonă neadiacentă axelor, fie în

proximitatea axelor.

În primul caz se deschide o fereastră cu mai multe tab-uri: X-Y Axes, Traces (”trasee”), Labels (”etichete”), Default (“implicit”). În al doilea caz Mathcad deschide ferestre specifice setărilor axelor carteziene.

Pentru exemplificare în figura de mai sus s-a capturat un grafic X-Y Plot şi tab-ul X-Y Axes asociat. Tab-ul este structurat în două coloane de checkbox-uri X-Axis şi Y-Axis, cu aceleaşi semnificaţii ale proprietăţilor pentru fiecare axă şi un câmp cu numele Axes Style.

Opţiunile pentru axe sunt: • Log Scale afişează o scară logaritmică a axei; • Grid Lines afişează o grilă pentru axa respectivă; • Numbered* asociază fiecărei linii de grid valoarea numerică a distanţei faţă de axa X sau Y; • Autoscale* a fost detaliat la 9.1.2;

Page 121: Aplicata in Inginerie Mathcad 2001

121

• Show Markers permite plasarea pe grafic a maximum două linii orizontale şi două verticale. Dacă opţiunea este selectată pentru o axă, pe cadrul graficului apar două placeholder-e. În acestea se scriu valorile numerice ale abscisei, sau ordonatei liniilor de marcare. Pentru afişarea liniei efectuaţi un clic în afara graficului, sau alegeţi comanda Calculate din meniul Math, dacă doriţi să nu părăsiţi graficul.

• Auto Grid* afişează automat o grilă. Dacă opţiunea nu este activă, în editbox-ul Number of Grids, utilizatorul poare introduce valoarea dorită.

• Semnificaţia opţiunilor Boxed*, Crossed şi None se referă la modalităţile de afişare a axelor de coordonate. Cele trei posibilităţi de afişare sunt selectabile prin butoane radio.

• Equal Scales introduce aceeaşi unitate de măsură a distanţelor pe ambele axe.

Opţiunile marcate mai sus cu * sunt implicite.

Opţiunile din tab-ul Traces se referă la grafica fiecărei curbe reprezentate Acestea sunt numerotate în ordinea introducerii trace1, trace2 ...

Elementul de trasare a graficelor (coloana Symbol) se poate face cu următoarele simboluri: x (x’s), + (+’s), simboluri pătrate (”box”), romburi (”dmnd” - diamond), o (o’s) sau fără utilizarea nici unui simbol (”none”). Linia de trasare (coloana Line): continuă (”solid”), scurtă întreruptă (”dot”), lungă întreruptă (”dash”), puncte (”dadot”). Culoarea (coloana Color): roşu (red), albastru (blue), verde (grn-green), magenta (mag-magenta), cian (cya - cyan), maro (brn-brown), negru (blk -

black), alb(wht-white). Tipul de reprezentare (coloana Type): linie (“lines”), puncte (”points”), bare de eroare

(”error”), care se utilizează în compararea a două grafice, bare (”bars”), scară (”step”), grafic desenat (”draw”), tijă (”stem").

Page 122: Aplicata in Inginerie Mathcad 2001

122

Grosimea curbei (coloana Weight): 1 ... 9 şi p. Ultima opţiune se referă la reprezentarea cu o grosime de un pixeld, care este posibil să nu aibă nici un efect la tipărire, dacă imprimanta nu are rezoluţie corespunzătoare. Comanda Weight are efect şi asupra simbolurilor diferite de “none.”. Se pot ascunde argumentele funcţiei prin comanda Hide Argument, sau legenda prin Hide Legend.

Tab-ul Labels (etichete) permite inserări de texte ca: titlu plasat sus sau jos, etichete de axe

În figura alăturată este reprezentată o astroidă prin ecuaţiile parametrice. A fost adăugat prin tab-ul Labels un titlu. Săgeata a fost capturată din Winword, adusă prin copiere şi lipire în foia de lucru şi în final dragată până în poziţia dorită. Asemănător s-a procedat cu textul “punct de întoarcere” care a fost creat într-o regiune text şi apoi dragat.

Ultimul tab Default (implicit) permite modificarea

setărilor implicite Mathcad.

9.1.7. Formatări în reprezentările polare

Setările reprezentărilor polare sunt asemănătoare celor carteziene.

În captura de mai sus se observă elementele specifice din tab-ul Polar Axes şi setările corespunzătoare pentru reprezentarea unei lemniscante.

Page 123: Aplicata in Inginerie Mathcad 2001

123

9.1.8. ZOOM şi afişarea coordonatelor cursorului în graficele 2D, în coordonate carteziene sau polare

9.1.8.1. ZOOM în graficele 2D

Etape ________________________________

1. Selectaţi graficul, prin clic.

2. Din paleta Graph, clic pe butonul

sau meniul Format Graph Zoom

ca efect este afişată o ferestră de dialog

X-Y Zoom sau Polar Zoom.

3. Clic într-unul din colţurile regiunii pe care doriţi

să o măriţi.

4. Cu ButS apăsat deplasaţi cursorul spre celălalt colţ al regiunii. Se observă că, în cele

patru editbox-uri sunt afişate coordonatele colţurilor regiunii dreptunghiulare selectate,

butoanele Zoom şi Unzoom sunt activate.

În continuare, după ce eliberaţi butonul mouse-ului, sunt disponibile următoarele opţiuni:

5.1. Dacă apăsaţi pe butonul Zoom al ferestrei de dialog în cadrul graficului, va fi detaliată

regiunea selectată. Puteţi reveni la graficul iniţial dacă apăsaţi butonul Unzoom, fără

părasirea ferestrei de dialog, sau Cancel cu părasirea acesteia.

5.2. Dacă apăsaţi butonul OK, se închide fereastra de dialog şi detalierea rămâne

permanentă.

5.3. La apăsarea butonului Full View, graficul revine la setarea implicită a abscisei.

_______________________________________________________________________________

În figura de mai sus sunt reprezentate următoarele stări: graficul iniţial, selecţia zonei de mărit, detalierea acesteia.

Page 124: Aplicata in Inginerie Mathcad 2001

124

9.1.8.2. Afişarea coordonatelor cursorului în graficele 2D

Etape ________________________________

1. Selectaţi graficul prin clic.

2. Din paleta Graph, clic pe butonul ,

sau meniul Format Graph Trace .

3. Efectuaţi un clic pe suprafaţa activă a graficului, cursorul se transformă într-un

colimator, iar în editbox-urile X-Value şi Y-Value apar coordonatele curente. Acestea

pot fi copiate (transferate în clipboard). Dacă se selectează opţiunea Track Data Points

colimatorul se deplasează doar pe curbă.

_______________________________________________________________________________

Determinarea coordonatelor unor puncte ale graficului este utilă în calculele iterative (vezi

partea a II-a).

Se cunoaşte că, pentru determinarea numerică a soluţiilor unei ecuaţii, maximelor, minimelor algoritmii trebuie să pornească de la un punct, care este indicat să fie cât mai apropiat de soluţie. În consecinţă prin mecanismul de mai sus se pot determina cu o precizie suficientă (aceasta poate fi mărită prin ZOOM) coordonatele aproximative ale punctului de start.

9.2. REPREZENTĂRI GRAFICE 3D (E)

Grafica 3D Mathcad permite reprezentarea suprafeţelor şi curbelor spaţiale, a datelor sub forma a mai multe tipuri de grafice carteziene:

- 3D Scatter Plot (“to scatter”- a împrăştia, a dispersa) utilizat pentru reprezentarea grafică în spaţiu a mulţimilor de puncte.

- Surface Plot folosit pentru reprezentarea suprafeţelor şi curbelor spaţiale.

- Contour Plot reprezintă suprafeţele sub forma liniilor curbelor de nivel.

- 3D Bar Plot foloseşte paralelipipedul dreptunghic ca element de reprezentare grafică 3D.

- Vector Field Plot utilizat pentru reprezentarea câmpurilor de vectori.

Reprezentarea primelor patru tipuri se bazează pe o reţea de puncte P(x,y,z) unite prin: elemente de arie plane, prin segmente de dreaptă, sau neunite şi reprezentate ca puncte sau paralelipipede cu înălţimea egală cu cota (coordonata z). Fiecare formă de reprezentare grafică se utilizează în funcţie de natura obiectului geometric reprezentat: suprafeţe, curbe mulţimi de puncte.

Page 125: Aplicata in Inginerie Mathcad 2001

125

În Mathcad 2001 nu există posibilitatea reprezentării 3D a datelor în alte sisteme de coordonate diferite de cel cartezian. Dacă funcţiile se referă la coordonate sferice sau cilindrice, acestea pot fi convertite în coordonate carteziene: dublu clic pe grafic, în caseta de dialog 3D Plot Format, alegeţi tab-ul Quick Plot Data şi în câmpul Coordinate System, selectaţi “Spherical” sau “Cylindrical”.

9.2.1. Reprezentarea graficelor 3D cu parametri impliciţi prin QUICK PLOT (E)

În prima etapă, se defineşte funcţia, setul de funcţii, pe care doriţi să le reprezentaţi în grafică 3D. Acestea sunt diferite, fiind dependente de natura ecuaţiei/lor care definesc seturi de puncte, suprafeţe sau curbe spaţiale. Indiferent de natura, graficului pentru reprezentarea 3D se parcurg următoarele etape:

Etape ________________________________

1. Selectaţi locul de inserare, prin clic într-o zonă liberă a foii de lucru. Graficul va fi

inserat cu colţul N-V, în punctul selectat.

2. Inseraţi cadrul graficelor 3D, fie prin meniul Insert Graph Surface Plot, sau

Contour Plot, sau 3D Bar Plot, sau 3D Scatter Plot, sau Vector Field Plot, fie prin butoanele

, din paleta Graph.

3. În placeholder-ul din colţul S-V al cadrului graficului 3D, scrieţi numele funcţiei

explicite a suprafeţei, sau numele funcţiilor parametrice despărţite prin virgule, între paranteze

rotunde. În cazul reprezentărilor 3D, Mathcad nu acceptă scrierea directă a expresiei în placeholder.

4. Clic în afara spaţiului graficului, sau apasaţi tasta [Enter]. Este afişat graficul 3D cu

parametri impliciţi (x, y ∈[-5 ...5], pentru suprafeţele exprimate prin ecuaţii explicite, u, v ∈[-5

...5], pentru suprafeţele exprimate prin ecuaţii parametrice. În ambele cazuri pasul reţelei de

reprezentare este constant şi egal cu 0.5). Pentru QuickPlot, opţiunea Autoscale, din tab-ul Axes a

ferestrei de dialog 3D Plot Format este activă, deci se iau în considerarea domeniile implicite.

În reprezentatea 3D nu există un mecanism rapid de reprezentatare 3D, similar 2D quickPlots, care să scutească utilizatorul de completarea placeholder-elor.

9.2.2. Reprezentarea graficelor 3D cu parametri impliciţi prin 3D PLOT WIZARD (E)

3D PLOT WIZARD se deschide prin: meniul Insert Graph 3D Plot Wizard. “Vrăjitorul” (“wizard”) este compus dintr-o succesiune de ferestre de dialog, prin care se pot seta principalele caracteristici de formă şi culoare ale unui grafic 3D.

Page 126: Aplicata in Inginerie Mathcad 2001

126

După cum se observă din capturile de mai sus, setările se fac prin intermediul unor butoane radio (în capturi au fost lăsate neschimbate setările implicite). Efectul poate fi văzut într-o fereastră asociată fiecărei casete de dialog. Prin butoanele Back, Next se trece de la o fereastră la alta în sensul dorit.

Setările de mai sus şi multe altele pot fi efectuate şi prin caseta de dialog 3D Plot Format.

Page 127: Aplicata in Inginerie Mathcad 2001

127

9.2.3. Reprezentarea 3D a datelor (E)

Datele, care sunt numere reale pot fi organizate în mai multe forme, uzuale fiind:

- Forma matriceală:

o indecşii liniilor şi coloanelor (i, j) sunt reprezentaţi pe abscisă şi pe ordonată, iar elementele matricei reprezintă cotele (coordonatele z) (vezi captura a de mai jos);

o matricea are structura Nx3, pe fiecare linie fiind plasate coordonatele câte unuia din cele N puncte (vezi captura b).

În captura b, se observă că în placeholder s-au scris coloanele matricei B şi că Mathcad vizualizează paralelipipedul de dimensiune minimă care cuprinde setul de puncte.

- Forma vectorială, unde se se lucrează cu trei vectori, cu acelaşi număr de linii, vectorii conţinând unul coordonatele x, altul y şi ultimul z (vezi figura alăturată).

În exemplele de mai sus matricele, vectorii au fost creaţi prin paleta ”Vector and Matrix”, evident că se putea folosi oricare dintre metodele de generare, detaliate în subcapitolul 7.1.

Page 128: Aplicata in Inginerie Mathcad 2001

128

9.2.4. Reprezentarea suprafeţelor (E)

9.2.4.1. Principii de reprezentare a suprafeţelor (E)

O porţiune simplă de suprafaţă este mulţimea punctelor M(x,y,z) din spaţiu, ale căror coordonate satisfac relaţiile [MUR62]:

1. F(x,y,z)=0, ecuaţia implicită. 2. Z=f(x,y), ecuaţia explicită.

3.

===

),(),(),(

3

2

1

vufzvufyvufx

, ecuaţiile parametrice.

unde funcţiile de mai sus satisfac condiţiile: - F, f, f1, f2, f3 sunt funcţii reale, uniforme şi continue; - F, f, f1, f2, f3 admit derivate de ordin I, continue; - f1, f2, f3 stabilesc o corespondenţă biunivocă şi bicontinuă între punctele M şi perechile

ordonate (u,v) unde u,v sunt parametri reali.

Mathcad poate vizualiza orice funcţie de două variabile reale, ca porţiune de suprafaţă (Surface Plot), set de bare (3D Bar Plot), curbe de nivel (Contour Plot), set de puncte (3D Scatter Plot), “petice” (Patch Plot), chiar dacă conţine puncte singulare (punctele care nu satisfac condiţiile de regularitate [MUR62]).

O suprafaţă, definită printr-o ecuaţie explicită Z=f(x,y) cu x∈[xmin ... xmax], y∈[ymin ... ymax] este reprezentată de către Mathcad după cum urmează:

- intervalele [xmin ... xmax], [ymin ... ymax] sunt împărţite în nx - 1, ny - 1 subintervale egale pe fiecare axă. Astfel se obţine în planul XY o reţea de nx x ny puncte;

- fiecărui nod din reţea i se asociază o valoare care reprezintă cota (coordonata Z = f(x,y)); - valorile Z sunt memorate intr-o matrice cu nx linii, ny coloane;

- nodurile adiacente formează vârfurile unui element de arie.

O reprezentare, prin set de bare, este compusă din paralelipipede dreptunghice cu latura implicită 0.5, o bară având ca înălţime valoarea nodului i,j.

În cazul reprezentării prin curbe de nivel Mathcad interpolează liniar valorile matricei sub forma curbelor de nivel. Implicit contururile z sunt plasate în planul XY. Elementul de pe linia şi coloana zero este poziţionat în colţul S-V. 9.2.4.2. Setarea domeniului reprezentării 3D a suprafeţei (E) Setarea domeniului reprezentării 3D a suprafeţei prin utilizarea ferestrei de dialog 3D Plot Format

Suprafeţele definite prin ecuaţii explicite, reprezentate prin 3D Quick Plots, au domeniile implicite ale axelor X şi Y, setate între -5 şi +5, cu grid 20 x 20, sub forma cadru de sârmă (“wireframe”), care implică un consum minim de memorie. Domeniile variabilelor x, y pot fi modificate în tab-ul Quick Plot Data, din fereastra de dialog 3D Plot Format, care se deschide

Page 129: Aplicata in Inginerie Mathcad 2001

129

prin dublu clic pe grafic, sau prin intermediul tab-urilor X-Axis, Y-Axis, Z-Axis, debifând Autoscale şi setând limitele intervalului axei/lor. Atenţie, opţiunea Autoscale are în cazul 3D, alt sens decât în 2D. Reprezentarea 3D cu Autoscale activ utilizează domeniile x, y implicite.

Setarea domeniului reprezentării suprafeţelor definite prin ecuaţii parametrice diferă de cel al suprafeţelor explicite. Parametrii u, v pot fi setaţi în tab-ul Quick Plot Data, pe când domeniul de reprezentare pe axe, în tab-urilor X-Axis, Y-Axis, Z-Axis. Deci, dacă Autoscale este selectat suprafaţa este reprezentată în volumul xmin, xmax, ymin, ymax, zmin, zmax determinat de domeniul u∈[umin, umax], v∈[vmin, vmax].

La alte reprezentări, cum ar fi datele, domeniile şi grid-urile pot fi modificate de utilizator prin intermediul tab-urilor X-Axis, Y-Axis, Z-Axis debifând Autoscale şi setând limitele intervalului axei. În acest caz tab-ul Quick Plot Data este dezactivat. Setarea domeniului reprezentării 3D a suprafeţei prin funcţia CreateMesh

CreateMesh(F (sau G, sau f1, f2, f3), s0, s1, t0, t1, sgrid, tgrid, fmap) Funcţia returnează o matrice imbricată, formată din trei matrice care reprezintă coordonatele

x, y, z ale unei suprafeţe, definite prin ecuaţia explicită F (de exemplu F(x,y)=x+y2), sau parametric

printr-o funcţie “vectorială” G (de exemplu

⋅−+

=vuvuvu

G ) sau prin trei funcţii f1, f2, f3 (de exemplu

x(u,v)=u+v, y(u,v)=u-v, z(u,v)=uv). Toate funcţiile au argumente reale. Restul argumentelor sunt opţionale şi au semnificaţiile:

- s0 şi s1 sunt limitele inferioară, respectiv superioară a intervalului pentru primul argument al funcţiei, implicit au valorile –5, respective +5 ;

- t0 şi t1 sunt limitele inferioară, respectiv superioară a intervalului pentru al doilea argument al funcţiei, implicit au valorile –5, respective +5 ;

- sgrid, tgrid sunt numărul de noduri în care se împarte intervalul primului argument, respectiv al doilea. Implicit au valoarea 20;

- fmap este o funcţie “vectorială”, care conţine trei funcţii de transformare din alt sistem de coordonate în cel cartezian.

Page 130: Aplicata in Inginerie Mathcad 2001

130

În figura de mai sus, a fost reprezentată suprafaţa f(x,y) = x*y ignorându-se argumentul fmap. Se observă conţinutul matricei imbricate, generate de CreateMesh. În placeholder se poate trece direct funcţia CreateMesh cu valorile parametrilor actuali, fără a utiliza matricea intermediară.

Setarea domeniului reprezentării grafice 3D prin generarea matricelor asociate funcţiilor parametrice

După cum se observă, din exemplul alăturat, este mai simplu să se utilizeze funcţia CreateMesh.

9.2.4.3. Reprezentarea poliedrelor uniforme În scopul reprezentării poliedrelor uniforme, se utilizează două funcţii:

1. Polyhedron(S), care generează un poliedru, argumentul S fiind string-ul numelui poliedrului, numărul de cod sau simbolul Wythoff.

Exemple: Polyhedron("cube"), Polyhedron("#6"), Polyhedron("3|2 4")

2. PolyLookup(n) returnează un vector, care conţine numele, numele dual şi simbolul Wythoff al poliedrului, corespondente numărul de cod al poliedrului n (vezi captura de mai jos).

Page 131: Aplicata in Inginerie Mathcad 2001

131

9.2.5. Reprezentarea curbelor (E)

9.2.5.1. Definirea analitică a curbelor

Un arc de curbă spaţială este definit analitic, sub următoarele forme [MUR62]:

- ( )( )

∈=∈=

2 2

1 1

,ay 0),,(,a x0),,(bzyxGbzyxF

ecuaţiile implicite (intersecţia a două suprafeţe implicite);

- ( )( )

∈=∈=

2 2

1 1

,ay ),(,a x),(byxgzbyxfz

ecuaţiile explicite (intersecţia a două suprafeţe explicite);

- ( )

=∈=

=

)(ba, t)(

)(

3

2

1

tfztfytfx

ecuaţiile parametrice.

unde funcţiile F,G, f, g, f1, f2, f3 satisfac condiţiile:

- sunt funcţii reale, uniforme şi continue;

- funcţiile f1, f2, f3 stabilesc o corespondenţă biunivocă şi bicontinuă între punctele curbei şi mulţimea valorilor parametrului t;

- admit derivate de ordinul I continue.

Mathcad poate vizualiza orice arc de curbă spaţială sub forma 3D Scatter Plot, chiar dacă conţine puncte singulare (puncte care nu satisfac condiţiile de regularitate [MUR62]).

9.2.5.2. Setarea domeniului reprezentării 3D a curbelor (E)

Avându-se în vedere, că sub forma explicită şi implicită o curbă spaţială rezultă din intersecţia a două suprafeţe, posibilităţile de setare a reprezentării grafice 3D a curbei rezultă din cele ale suprafeţelor (vezi 9.2.4.2 ).

În cazul curbelor definite parametric mijloacele de setare a domeniului reprezentării 3D sunt asemănătoare celor utilizate la suprafeţe.

Setarea domeniului reprezentării 3D a suprafeţei prin utilizarea ferestrei de dialog 3D Plot Format

Intervalul de variaţie al parametrului curbei spaţiale (implicit –5 ... +5), ca şi numărul de noduri ale curbei (implicit 20) se setează în tab-ul QuickPlotData, a ferestrei de dialog 3D Plot Format.

Domeniul de reprezentare pe axe se setează deselectând Autoscale în tab-urilor X-Axis, Y-Axis, Z-Axis şi completând cu valorile dorite cele două editbox-uri. Dacă Autoscale este selectat, curba este reprezentată în volumul xmin, xmax, ymin, ymax, zmin, zmax determinat de domeniul t∈[tmin, tmax].

Page 132: Aplicata in Inginerie Mathcad 2001

132

Setarea domeniului reprezentării 3D a suprafeţei prin funcţia CreateSpace

CreateSpace(F (sau f1, f2, f3), t0, t1, tgrid, fmap) este asemănătoare ca funcţionalitate şi ca sintaxă cu funcţia CreateMash. Aceasta returnează un vector imbricat, format din trei vectori care reprezintă coordonatele x, y, z ale unei curbe definite parametric printr-o funcţie “vectorială” F (în exemplul alăturat aceasta este notată cu H(t)), sau prin trei funcţii f1, f2, f3 (de exemplu x(t)=t, y(t)=t2, z(t)=t-5). Toate funcţiile au argumente reale.

Restul argumentelor sunt opţionale şi au semnificaţia:

- t0 şi t1 sunt limitele inferioară, respectiv superioară a intervalului argumentului t al funcţiei. Implicit au valorile –5 ... +5 ;

- tgrid este numărul de noduri în care se împarte intervalul argumentului. Implicit are valoarea 20;

- fmap este o funcţie “vectorială” care conţine trei funcţii de transformare din alt sistem de coordonate, în cel cartezian.

Setarea domeniului reprezentării grafice 3D prin generarea vectorilor asociaţi funcţiilor parametrice

În exemplul alăturat, s-a utilizat o VPA notată i, prin care se generează numărul de noduri ale elicei, s-a definit un vector ti pentru parametru şi alţi trei vectori Xi, Yi, Zi pentru cele trei coordonate ale nodurilor curbei spaţiale.

După cum se observă, este mai simplu să se utilizeze funcţia CreateSpace.

Page 133: Aplicata in Inginerie Mathcad 2001

133

9.2.6. Reprezentarea câmpurilor de vectori (E)

Un câmp de vectori este reprezentat în Mathcad prin asocierea fiecărui punct din plan a câte unui segment cu săgeată, a cărui lungime este proporţională cu intensitatea câmpului şi având direcţia liniei de câmp, care trece prin acel punct.

Unele din cele mai frecvent întâlnite forme de definire analitică a câmpului vectorial sunt definirea discretă şi cea prin funcţii.

9.2.6.1. Definirea discretă a câmpului vectorial

Cîmpul vectorial este reprezentat în m x n puncte, unde m, n sunt numărul de linii, respectiv coloane ale unei matrice cu elemente complexe, sau a doua matrice cu aceleaşi dimensiuni. Submatricea părţii reale conţine proiecţiile vectorilor pe axa X, cea imaginară pe Y. În cazul lucrului cu două matrice fiecare are ca elemente proiecţiile vectorilor pe cele două axe carteziene.

9.2.6.2. Definirea câmpului vectorial prin funcţii

Dacă se cunosc funcţiile proiecţiilor câmpului pe axele X şi Y (în exemplul care urmează având numele prx, pry), generaţi două matrice cu valorile discrete ale câmpului, în domeniul plan dorit.

Page 134: Aplicata in Inginerie Mathcad 2001

134

Observaţie. Capturile de mai sus nu respectă poziţia reală de pe foia de lucru. Reprezentarea câmpului trebuie să se afle sub linia definirii matricelor X, Y.

Câmpul mai pot fi reprezentat printr-o suprafaţă, sau prin liniile de contur ale intensităţii acestuia. În cazul exemplului de mai sus, intensitatea este: 22 ),(),(),( yxpryyxprxyxf += .

9.2.6.3. Setări grafice specifice reprezentării Vector Field Plot

Pentru setarea culorii săgeţii vectorului de câmp, se procedează după cum urmează:

Etape ________________________________

1. Clic dublu pe reprezentarea grafică a câmpului de vectori.

2. În caseta de dialog 3D Plot Format, selectaţi tab-ul Appearance.

Page 135: Aplicata in Inginerie Mathcad 2001

135

3. Utilizaţi una din opţiunile:

• Fill the arrows (umple săgeata) cu solid color (culoare uniformă), sau cu colormap (culori în “degradè”).

• Remove color from the arrows (îndepărtează culoarea săgeţii).

4. Apasaţi butonul "Apply", pentru preview, sau "Close", ori "OK" pentru a închide caseta de dialog.

_______________________________________________________________________________

Setarea grosimii cozii vectorului se efectuează tot în tab-ul Appearance, în câmpul Line Options, opţiunile No Lines, sau Wire Arrows, unde se pot seta grosimi.

9.2.7. Formatări ale reprezentărilor grafice 3D (E)

Pentru a deschide fereastra de dialog 3D Plot Format efectuaţi un dublu clic pe oricare din graficele 3D: Surface Plot, Contour Plot, 3D Bar Plot, 3D Scatter Plot, Vector Field Plot, Patch Plot, sau doar un clic în zona placeholder-ului şi alegeţi din meniul Format Graph comanda 3DPlot.

Tab-urile ferestrei amintite diferă funcţie de natura graficului reprezentat. Structura generală este aproximativ aceeaşi, anumite zone, elemente de setare fiind inactive în circumstanţe particulare, sau pot avea chiar o structură diferită. În continuare, descrierea tab-urilor este axată pe cazul reprezentării suprafeţelor şi sunt relevate doar diferenţele specifice.

Caseta de dialog conţine nouă tab-uri, o parte din setări cum ar fi cele legate de domeniul reprezentării, sau ai vectorilor câmpului au fost descrise în subcapitolele anterioare, restul sunt detaliate în continuare.

9.2.7.1. Tab-ul General

Zona Plot este compusă din şase butoane radio prin care se pot selecta tipurile de grafice 3D.

În zona View se setează unghiurile de rotaţie ale reperului cartezian (Rotation, Tilt, Twist) şi factorul mărire (valori supraunitare), micşorare a graficului (valori subunitare).

Zona Axes Style conţine trei butoane radio, prin care se selectează grafica axelor

(Perimeter, Corner, None) şi un checkbox Equal Scales, prin care se selectează aceeaşi unitate de lungime pe fiecare axă.

Page 136: Aplicata in Inginerie Mathcad 2001

136

Zona Frames permite afişarea unui cadru în jurul graficului (Show Border) şi încadrarea într-un paralelipiped (Show Box). În ambele cazuri se poate selecta culoarea liniei.

Dacă în aceeaşi fereastră sunt reprezentate mai multe grafice 3D, numărul de tab-uri este multiplicat corespunzător.

9.2.7.2. Tab-ul Axes

Tab-ul Axes conţine alte trei subtab-uri: X-Axis, Y-Axis, Z-Axis cu aceleaşi comenzi. În zona Grids se pot selecta Draw Lines, pentru a vizualiza grila pe axă, Draw Ticks, pentru diviziunile pe axă. Dacă Auto Grid este activă, sistemul alege automat o grilă, în caz contrar se pot seta: culoarea liniilor, numărul şi grosimea lor. Zona Axis Format permite afişarea valorilor prin care trec liniile grilei (Show Number), culoarea şi grosimea liniilor axelor (Axis Color, Axis Weight). Zona Axis Scale conţine o

comandă Auto Scale, care dacă nu este activă permite modificarea domeniului de vizualizare pe axă. În caz contrar, domeniul este cel setat în tab-ul Quick Plot Data.

9.2.7.3. Tab-ul Appearance

Tab-ul Appearance conţine câte un sub-tab pentru fiecare funcţie reprezentată 3D în acelaşi grafic.

În zona Fill Options se pot seta:

- Fill Surface: umplerea elementelor de arie ale funcţiei cu culoarea setată în zona Color Options.

- Fill Contours: afişează culori diferite pe intervale ale axei Z.

- No Fill: nu asociază nici o culoare suprafeţei reprezentate.

- comenzile Alternate Mesh şi Smooth Shading (ambele corelate cu Fill Surface) se referă la utilizarea unor elemente de arie triunghiulare, respectiv la utilizarea unei colorizări în “degradè”.

- Zona Color Options permite, prin comanda Colormap, alegerea automată de către sistem a culorilor calde pentru zonele cu cote înalte şi a culorilor reci pentru cele joase, iar prin Solid Color, o culoare unică aleasă de utilizator.

Page 137: Aplicata in Inginerie Mathcad 2001

137

9.2.7.4. Tab-ul Lighting

Efectele de iluminare, prin surse de lumină de diverse culori, sunt implicit dezactivate din considerente de economie de memorie. Pentru a fi activate, selectaţi checkbox-ul Enable Lighting, din zona Lighting. Se poate alege lumina difuză a ambientului, ca şi diverse scheme de iluminare predefinite. Poziţia şi culoarea fiecărei surse este definită în sub-tab-urile Light1 … Light8.

Pot fi activate pâna la opt surse de lumină printr-un grup de butoane radio On / Off.

În zona Light Color pot fi setate: culoare de difuzie (Diffuse Color), care măreşte luminozitatea suprafeţei şi cea reflectată (Specular Color). Ambele au un efect major asupra aspectului suprafeţei. De obicei, lumina reflectată este albă şi se utilizează pentru efectul de strălucire (vezi tab-ul Advanced)

Zona Light Location permite setarea poziţiei reflectorului, inclusiv plasarea ei la infinit, pe o direcţie oarecare.

9.2.7.5. Tab-ul Title

Tab-ul Title conţine un editbox şi trei butoane radio, care permit ascunderea textului, sau poziţionarea în partea superioară, sau inferioată a graficului 3D. 9.2.7.6. Tab-ul Backplanes

Tab-ul Backplanes conţine trei sub-tab-uri X-Y Backplane, Y-Z Backplane, X-Z Backplane, cu structură identică.

Comanda Fill Backplane umple fundalul cu culoarea selectată în Color, eventual bordurează cu Backplane Border.

Zonele Grids şi Subgrids permit desenarea liniilor grilei (Draw Lines), marcarea diviziunilor pe axe (Draw Ticks), cu o anumită culoare (Line Color) şi grosime (Line Weight).

9.2.7.7. Tab-ul Special

Tab-ul Special şi tab-ul Appearance conţin câte un sub-tab pentru fiecare funcţie reprezentată 3D în acelaşi grafic. Un sub-tab este structurat în mai multe zone:

- În zona Contour Options, se pot seta parametrii tipului de reprezentare, prin curbe de nivel. Implicit este selectată comanda Auto Contour, care lucrează cu curbe de nivel de cotă (perpendiculare pe axa Z). Dacă nu este activă, se poate seta seta un număr de curbe diferit de cel implicit 15. Comanda Fill umple fiecarea curbă de nivel cu câte o culoare, după o schemă selectată în tab-ul Advanced, prin comanda Choose Colormap. Draw Lines reprezintă curbele de nivel.

Page 138: Aplicata in Inginerie Mathcad 2001

138

- Zona Bar Plot Layout permite reprezentarea graficului Bar Plot sub formele: matrice (Matrix), stivă (Stack), sau felii (Side by Side). De asemenea, se mai poate seta spaţierea barelor (Spacing).

- Zona Interpolated Mesh este activă dacă suprafaţa este generată prin interpolare, având la bază o reţea de puncte. În acest caz, este reprezentată suprafaţa de interpolare care aproximează setul de puncte. Pentru a schimba densitatea reţelei utilzate pentru interpolare, modificaţi numărul de linii şi coloane din cele două edit-box-uri Rows şi Columns.

- Zona Connectivity controlează modul de conectare a punctelor, în cazul când sunt selectate Data Points, din tab-ul General şi Lines, din tab-ul Appearance:

• Row Order – în ordinea existentă în vectori;

• Increasing X – în ordinea valorilor x, crescătoare.

• Increasing Y - în ordinea valorilor y, crescătoare.

• Increasing Z - în ordinea valorilor z, crescătoare.

Din lista Line, se alege tipul liniei de conectare a punctelor (“solid”- solid, “dashed” - linie întreruptă, “dotted” - linie punctată, “da-dot” – linie-punct).

9.2.7.8. Tab-ul Advanced

- Zona Advanced View Options conţine patru opţiuni:

• Enable Fog, care simulează efectul de ceaţă; • Perspective, în corelaţie cu valoarea din edit-box-ul Viewing Distance (distanţa

de plasare a observatorului, valori 1 … 99). • Verticale Scale, cu valori 1 … 100, schimbă amplitudinea pe axa z.

- În zona Plot1, există trei opţiuni:

• Shininess – strălucirea reprezentării, cu valori 1 … 128. • % Transparency – transparenţa, cu valori 0% … 100%. • Poligon Offset – acurateţea reprezentării liniilor şi suprafeţelor colorate, cu valori 1

… 10.

- Zonele Colormap şi Choose Colormap permit alegerea mai multor scheme de colorare, funcţie de: X crescător (Increasing X), Y crescător (Increasing Y), Z crescător (Increasing Z), respectiv de combinaţii ale unor culori predefinite: Rainbow (curcubeu) … Topagraf.

Page 139: Aplicata in Inginerie Mathcad 2001

139

9.3. EDITĂRI ALE GRAFICELOR, REDIMENSIONĂRI, ROTIREA ŞI ZOOM-UL GRAFICELOR 3D (E)

Operaţiile de mutare, copiere, tăiere, lipire a unor grafice individuale sau grupuri sunt identice cu cele ale oricărei regiuni text, sau matematice.

Redimensionarea graficelor 2D şi 3D se face prin intermediul celor trei mânere de tragere, care permit modificarea dimensiunilor graficului pe abscisă, ordonată, respectiv proporţional pe ambele direcţii.

Rotirea unui grafic 3D se poate face precis prin specificarea unghiurilor (vezi tab-ul General al casetei de dialog 3D Plot Format), sau imprecis în etapele:

Etape ________________________________

1. Clic pe graficul 3D.

2. Ţineţi apăsată tasta dreapta a mouse-ului şi trgeţi în direcţia dorită.

3. Eliberaţi tasta mouse-ului, când aţi atins orientarea convenabilă. _______________________________________________________________________________

Se poate imprima graficului 3D o mişcare continuă de rotaţie, în jurul unei axe:

Etape ________________________________

1. Clic pe graficul 3D.

2. Ţineţi apăsată tasta [Shift], când apăsaţi tasta mouse-ului.

3. Trageţi în direcţia dorită.

4. Eliberaţi tasta mouse-ului.

_______________________________________________________________________________

Oprirea mişcării se realizează, printr-un clic în interiorul graficului 3D.

Pentru zoom-ul aproximativ se procedează asemănător ca la operaţia de rotire continuă, dar cu apăsarea tastei [Ctrl], iar cel precis prin tab-ul General, zona View.

9.4. ANIMAŢII

În Mathcad 2001 se pot crea şi vizualiza scurte animaţii (clip-uri) prin intermediul variabilei predefinite FRAME. O valoare a acesteia reprezentă indexul unei secvenţe a animaţiei.

Principiul este: se include variabila FRAME în definirea unei variabile argument de funcţie, sau mai general, într-un obiect matematic, şi se memorează o succesiune de secvenţe, care ulterior sunt rulate cu frecvenţa dorită.

O animaţie poate fi salvată în format AVI, şi apoi poate fi vizualizată în Mathcad prin meniul View Playback, sau în exteriorul Mathcad, cu orice player care suportă formatul amintit (de exemplu Windows Media Player: în Windows buton Start Programs Accessories Entertainment).

Page 140: Aplicata in Inginerie Mathcad 2001

140

Pentru o mai uşoară asimilare a metodologiei de animare, în continuare, aceasta se exemplifică pe un cerc cu rază crescătoare.

Etape ________________________________

1. Creaţi o expresie, un grup de expresii,sau un grafic care să depindă de variabila

FRAME. Comanda Automatic Calculation (meniul Math ) trebuie să fie activă.

În captura de mai jos cercul este definit parametric, în coordonate polare. Raza depinde de

variabila predefinită FRAME şi este reprezentat prin 24 de puncte “diamonds”.

2 Meniul View Animate ... deschide o casetă de dialog, ca cea din figura de mai jos.

3. Selectaţi porţiunea din foaia de lucru pe care doriţi să o animaţi. Aceasta poate să conţină mai multe reprezentări grafice.

4. Setaţi limitele variabilei FRAME şi frecvenţa de memorare a secvenţelor.

5. Apăsaţi pe butonul Animate. În fereastra preview a casetei, se văd secvenţele înregistrate. La sfârşitul procesului se deschide un player pentru animaţia creată.

6. _______________________________________________________________________________

Animaţia poate fi salvată numai în format avi, prin intermediul butonului Save As. Fişierul animaţiei are, în general, o mărime considerabilă. Butonul Options deschide o fereastră de dialog, în care se poate seta metoda şi parametrii comprimării.

Page 141: Aplicata in Inginerie Mathcad 2001

141

I FUNDAMENTE MATHCAD 2001 INSERAREA ŞI EDITAREA OBIECTELOR ŞI FIŞIERELOR IMAGINE _______________________________________________________________________________

După cum s-a amintit Mathcad 2001 este complet integrat în Windows 9x, 2000, Windows

NT. Acesta asigură suport pentru OLE2d şi pentru protocolul OLE Automationd. Capitolul curent se focalizează pe obiectele împachetated (embedded) şi legated (linked). Prin intermediul ultimelor se realizează o conectare statică, spre deosebire componente, care permit o conectare dinamică (vezi partea a III-a Managementul datelor şi a programelor în Mathcad 2001, capitolul Schimbul de date).

10.1. INSERAREA OBIECTELOR ÎN FOIA DE LUCRU (E)

Pentru a insera un obiect într-o foaie de lucru Mathcad, acesta trebuie să fie o aplicaţie compatibilă OLE2d. Mai jos, sunt descrise trei metode generale de inserare a obiectelor şi câteva, specifice imaginilor.

10.1.1. Inserarea prin comanda OBJECT

Utilizarea comenzii Object permite inserarea unui obiect existent ca fişier, sau creat după inserare.

Pentru crearea unui obiect nou (inexistent în momentul inserării), se parcurg etapele:

Etape ________________________________

1. Clic într-o zonă liberă a foii de lucru.

2. Meniu Insert Object deschide caseta de dialog Insert Object, în care butonul radio

Create New este implicit selectat.

3. În fereastra Object Type sunt afişate toate programele compatibile OLE2, care sunt

instalate pe calculat. Se selectează unul dintre ele.

4. Se poate bifa checkbox-ul Display as icon, dacă nu doriţi ca în foaia de lucru să fie

afişat obiectul, ci doar icoana lui.

5. Clic pe butonul OK.

_______________________________________________________________________________

Page 142: Aplicata in Inginerie Mathcad 2001

142

Ca urmare a acestor operaţii, în foia de lucru se deschide o fereastră specifică programului selectat, în care se creează obiectul dorit. La terminare se închide aplicaţia sursă. Obiectul astfel creat este un obiect împachetat (integrat în foia de lucru Mathcad).

Pentru crearea unui obiect existent la momentul inserării, care a fost anterior salvat într-un fişier, se parcurg etapele:

Etape ________________________________

1 şi 2, descrise mai sus.

3. Se selectează butonul radio Create from file.

4. Ca urmare fereastra de dialog Insert Object se transformă şi în locul listei aplicaţiilor

compatibile OLE2, apar trei componente: o casetă de editare a căii spre fişierul sursă, un

buton Browse (răsfoire), un checkbox Link. În caseta de editare se poate scrie direct calea şi

numele fişierului, sau acesta se poate localiza prin fereastra Browse, deschisă prin clic pe

butonul cu acelaşi nume. Dacă nu se bifează checkbox-ul Link (opţiunea implicită) obiectul

inserat va fi împachetat (embedded), în caz contrar legat (linked).

5. Clic pe butonul OK.

_______________________________________________________________________________ Un obiect legat (linked) nu face schimb dinamic de date cu foia de lucru Mathcad. Dacă

obiectul se modifică, ulterior efectuării legăturii, acest lucru nu se reflectă în foia Mathcad. Pentru realizarea unor conectări dinamice se utilizează alte mecanisme, cum ar fi componentele, sau referinţele (vezi capitolul 21).

10.1.2. Inserarea prin lipire

Metoda Copy Paste se utilizează, în general, când se doreşte inserarea doar a unei părţi dintr-un obiect şi nu a întregului fişier.

Etape ________________________________

1. Deschideţi aplicaţia sursă, din care doriţi să extrageţi obiectul.

2. Selectaţi şi apoi copiaţi obiectul din aplicaţia sursă. În general, pentru orice program

integrat Windows, operaţia de copiere se efectuează prin comanda Copy, din meniul

Edit, sau prin combinaţia de taste [Ctrl]+[C].

3. Clic într-o zonă liberă a foii de lucru. Mathcad.

4. Meniul Edit Paste, sau Paste Special.

_______________________________________________________________________________

Dacă se optează pentru comanda Paste, lipirea se face în funcţie de natura regiunii ţintă şi de cea a datelor. Câteva din cazurile cele mai frecvente sunt :

- dacă datele de natură numerică, existente în clipboard, sunt organizate matriceal iar ţinta este un placeholder gol al unei regiuni matematice, datele sunt organizate ca matrice;

Page 143: Aplicata in Inginerie Mathcad 2001

143

- un obiect împachetat, dacă aplicaţia sursă suportă OLE; - o imagine, dacă obiectul din clipboard este un fişier grafic (*.bmp, *.jpg, *. gif ... sau în

formatul grafic *. wmf (Windows Metafile Format)).

În cazul utilizării comenzii Paste Special, se deschide o fereastră de dialog, având o structură dependentă de natura obiectului copiat în clipboard.

De exemplu, pentru o porţiune de text copiată dintr-un fişier *.doc (captura de mai sus) este indicată calea sursei; într-un câmp de editare sunt listate formatele ce pot fi utilizate la inserarea obiectului, de asemenea se poate selecta prin două butoane radio, tipul de inserţie: împachetat (Paste), sau legate (Paste Link).

10.1.3. Inserarea prin DRAG & DROP

Etape ________________________________

1. Aranjaţi pe desktop, una lângă alta, foaia de lucru Mathcad şi fereastra aplicaţiei sursă

care suportă OLE2.

2. Selectaţi obiectul din aplicaţia sursă.

3. Mutaţi cu ButS apăsat, obiectul selectat în foia de lucru Mathcad (etapa “drag”).

4. Ajunşi în poziţia dorită, eliberaţi butonul mouse-ului (etapa “drop”).

_______________________________________________________________________________

Spre deosebire de metoda Copy Paste, în acest caz obiectul inserat poate fi doar împachetat.

10.1.4. Inserarea imaginilor

Imaginile statice pot fi inserate prin cele trei metode generale, prezentate mai sus,dar şi prin metode specifice.

Page 144: Aplicata in Inginerie Mathcad 2001

144

10.1.4.1. Inserarea imaginilor în format bmp, gif, jpg

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Meniul Insert Picture,sau clic pe butonul , din paleta Matrix.

3. În placeholder-ul ferestrei pentru afişarea imaginii, se trece calea şi numele fişierului

bitmap, ca string (exemplu: “C:\My Documents\My Pictures\figura1.bmp”).

4. Clic în exteriorul ferestrei.

_______________________________________________________________________________

Deoarece fişierul imagine este legat prin cale, în cazul în care i se schimbă directorul şi/sau numele, nu va mai fi văzut de către Mathcad. În această situaţie, trebuie refăcută manual actualizarea căii şi/sau numelui. Dacă se modifică fişierul imagine, pentru a vedea efectul în foaia de lucru Mathcad, se execută comanda Calculate Worksheet, din meniul Math.

10.1.4.2. Inserarea imaginii unei matrice

Orice matrice bidimensională poate fi văzută în Mathcad, ca imagine formată din n x m pixeli (n-numărul de linii ale matricei, m-numărul de coloane), cu o adâncime de 256 de nuanţe de gri (0-negru, 255-alb). Operatorul Picture, ignoră valorile zecimale şi face o reducere modulo 256 pentru cele din exteriorul intervalului 0 .. 255.

Alăturat, cu titlu de exemplu, este prezentată o aplicaţie care generează un pătrat cu griuri în degrade, simetrice faţă de diagonala principală.

10.2. EDITATREA UNUI OBIECT (E)

Mecanismul OLE de editare a obiectelor depinde de tipul inserare: împachetat, legat şi dacă programul în care a fost creat obiectul suportă mecanismul “in-place activation”.

Dacă obiectul este împachetat, şi este activ mecanismul “in-place activation”, la execuţia unui clic dublu pe obiect, se produc următoarele transformări:

- anumite elemente ale meniului şi barelor de instrumente ale programului gazdă iau forma programului în care a fost generat obiectul; - obiectul este plasat într-o fereastră de editare, încadrată într-o ramă haşurată.

În cazul de mai sus, se încadrează Mathcad, cu obiecte create în MSOffice: Word, Excel etc.

Dacă obiectul este împachetat şi dacă programul în care a fost creat obiectul nu suportă mecanismul “in-place activation”, se creează o copie a obiectului, care este plasată într-o fereastră de editare a programului sursă a obiectului. La fel se întâmplă şi dacă obiectul este legat.

Page 145: Aplicata in Inginerie Mathcad 2001

145

Operaţiile de editare a legăturii unui obiect sunt: actualizarea legăturii, tăierea sau schimbarea fişierului cu care este legat obiectul. Acestea sunt efectuate prin intermediul unei ferestre de dialog Links, care se deschide prin comanda Links, din meniul Edit.

10.3. PROCESAREA IMAGINILOR

10.3.1. Citirea fişierului imagine şi conversia într-o matrice

Primul pas în procesarea imaginilor constă în citirea acestora şi transpunerea lor într-o matrice. În formă matriceală, imaginea poate fi prelucrată la nivel de pixel, prin funcţiile şi operatorii specifici lucrului cu matrice.

În Mathcad există un set de funcţii care citesc un fişier imagine tip: BMP, GIF, JPG, PCX, TGA şi creează o reprezentare matriceală, aplicând diverse filtre.

Tabel 10.1. Funcţii pentru citirea fişierelor grafice

Nr. crt. Funcţia

Format fişier

imagine Matricea returnată

1. READBMP(“fişier”) bmp

Reprezentarea matriceală, în nuanţe de gri. Fiecare element reprezintă un pixel, căruia i se asociază o valoare întreagă 0-negru ... 255-alb.

2. READRGB(“fişier”) bmp

Matricea este formată din trei submatrice augmentate, de aceleaşi dimensiuni, continând informaţii pentru culorile roşu, verde şi albastru, în această ordine. Valorile aparţin intervalului 0 ... 255. Fiecărui pixel i se asociază câte trei valori corespunzătoare celor trei culori

Page 146: Aplicata in Inginerie Mathcad 2001

146

Tabel 10.1. (continuare) Funcţii pentru citirea fişierelor grafice

Nr.

crt. Funcţia

Format fişier

imagine Matricea returnată

3 READ_IMAGE(“fişier”) bmp, gif, jpg, pcx, tga

Reprezentarea matriceală, în nuanţe de gri. Fiecare element reprezintă un pixel, căruia i se asociază o valoare întreagă 0-negru ... 255-alb.

4 READ_HLS(“fişier”) READ_HSV(“fişier”)

bmp, gif, jpg, pcx, tga

Crează o matrice în care informaţiile despre culori sunt reprezentate de valori corespunzătoare pentru nuanţăd (hue), strălucired (lightness), saturaţied (saturation), respectiv nuanţă, saturaţie şi valoared (value).

5 READ_RED(“fişier”) READ_GREEN(“fişier”) READ_BLUE (“fişier”)

bmp, gif, jpg, pcx, tga

Cele trei funcţii extrag doar componentele roşu, verde şi albastru. Cele trei matrice returnate sunt cuprinse în matricea returnată de funcţia READRGB

6 READ_HLS_HUE(“fişier”) READ_HLS_LIGHT(“fişier”) READ_HLS_SAT(“fişier”)

bmp, gif, jpg, pcx, tga

Extrag doar valorile corespunzătoare nuanţei, strălucirii şi saturaţiei. Cele trei matrice returnate sunt cuprinse în matricea funcţiei READ_HLS

7 READ_HSV_HUE(“fişier”) READ_HSV_LIGHT(“fişier”) READ_HSV_SAT(“fişier”)

bmp, gif, jpg, pcx, tga

Extrag doar valorile corespunzătoare nuanţei, saturaţiei şi valorii. Cele trei returnate sunt cuprinse în matricea returnată de funcţia READ_HSV

Observaţie: toate numele de funcţii, cuprinse în tabelul de mai sus, se scriu cu majuscule, argumentul fişier este un string care conţine calea şi numele fişierului imagine.

10.3.2. Procesări ale imaginilor

10.3.2.1. Procesări ale imaginilor prin intermediul funcţiilor şi operatorilor matriceali

Pe matricea imaginii se pot efectua operaţii asupra pixelilor, în sensul măririi luminozităţii, constrastului, rotiri şamd.

Mai jos se găsesc trei aplicaţii simple, care procesează imagini în nuanţe de gri:

1. roteşte imaginea cu 900, prin utilizarea operatorului transpusa unei matrice;

2. transformă o imagine în negativul ei, prin relaţia de transformare nij=255-mij, care asociază fiecărui pixel nuanţa de gri complementară;

3. modifică luminozitatea prin însumarea cu o valoare pozitivă pentru luminare sau una negativă pentru întunecare Tij=f+Mij. Procesarea se face prin intermediul unui program. Argumentele funcţiei sunt: matricea imagine şi procentul de modificare a luminozităţii.

Page 147: Aplicata in Inginerie Mathcad 2001

147

Pixelii transformaţi, care au valori care depăşesc intervalul 0 ... 255, iau valorile limită ale capetelor intervalului: 0-negru, 255-alb.

10.3.2.2. Procesări ale imaginilor prin intermediul paletei Picture Toolbar

În biblioteca Mathcad 2001 nu există funcţii specializate de procesare a imaginilor.

Imaginile pot fi procesate rudimentar prin intermediul unui paletei Picture Toolbar, care se deschide efectuând un clic pe regiunea imagine (vezi captura alăturată).

Aceasta conţine butoane cu următoarele posibilităţi de procesare: - modificarea poziţiei şi orientării

imaginii; - zoom; - modificarea contrastului; - selecţii; - afişarea poziţiei pixelilor; - valorile RGB (Red, Green, Blue)

ale pixelului selectat.

Page 148: Aplicata in Inginerie Mathcad 2001

148

10.3.3. Salvarea imaginilor modificate

În scopul salvării imaginilor se utilizează funcţiile concentrate în tabelul de mai jos.

Tabel 10.2. Funcţii pentru salvarea fişierelor grafice

Nr. crt. Funcţia

Format fişier

imagine Matricea returnată

1. WRITEBMP(“fişier”) bmp Crează un fişier BMP, în nuanţe de gri, dintr-o matrice imagine.

2. WRITERGB(“fişier”) bmp Crează un fişier BMP color, în format roşu-verde-albastru, dintr-o matrice imagine

3. WRITE_HLS(“fişier”) bmp Crează un fişier BMP color, în care imaginea este memorată în format HLS (nuanţă- strălucire-saturaţiei)

4. WRITE_HSV(“fişier”) bmp Crează un fişier BMP color, în care imaginea este memorată în format HSV (nuanţă- saturaţiei-valoare)

Observaţii:

- toate numele de funcţii, cuprinse în tabelul de mai sus, se scriu cu majuscule;

- argumentul fişier este un string care conţine calea şi numele fişierului imagine;

- funcţiile de mai sus, se folosesc sub forma: WRITE_…:=nume_matrice.

Page 149: Aplicata in Inginerie Mathcad 2001

149

I FUNDAMENTE MATHCAD 2001 PROGRAMAREA ÎN MATHCAD _______________________________________________________________________________

Programarea în Mathcad 2001 Professional se bazează, ca şi versiunea 2000, pe zece instrucţiuni, care aparent au o funcţionalitate relativ limitată, dacă se compară cu posibilităţile de programare existente în alte medii matematice care au cam aceeaşi complexitate globală, şi mult mai limitată, în comparaţie cu a mediilor generale de programare. În realitate, cu setul de zece instrucţiuni, la care se adaugă numeroasele funcţii disponibile în biblioteca Mathcad şi cu şi structurile de mare eficienţă cum ar fi matricele imbricate, se pot elabora programe sofisticate.

Instrucţiunile de programare pot fi apelate prin intermediul paletei Programming , sau prin meniul View Toolbars Programming.

11.1. PROPRIETAŢI GENERALE ALE PROGRAMELOR MATHCAD (E)

1. Un program Mathcad este format din cu două structuri: - o parte, care este identică cu cea a unei funcţii, plasată la stânga operatorului de asignare

numerică; - o parte, situată în dreapta operatorului de asignare, unde se efectuează operaţii specifice.

2. Un program Mathcad poate apela orice funcţie predefinită în Mathcad, sau creată de utilizator, variabile definite de utilizator, alte programe, cu respectarea condiţiilor de vizibilitate valabile într-o foaie de lucru.

3. În programele Mathcad se pot utiliza instrucţiuni repetitive (FOR, WHILE) şi condiţionale (IF, OTHERWISE), care măresc mult flexibilitatea programării, comparativ cu cazul în care nu se recurge la acestea.

4. Instrucţiunile de programare se introduc doar prin intermediul paletei Programming, sau prin hot keys, nu prin scrierea lor caracter cu caracter.

5. Ca orice expresie, un program Mathcad returnează o valoare de natură scalară, vectorială, matriceală, matriceală imbricată sau string. Aceasta este, in general, returnată de ultima instrucţiune executată de program. Sunt posibile mai multe ieşiri din program, prin întreruperea programului, cu instrucţiunea RETURN.

6. O variabilă definită într-un program este locală programului, deci nu este vizibilă in exteriorul corpului acestuia.

7. În programele Mathcad poate fi aplicată recursivitatea.

Intr-un program Mathcad nu sunt posibile:

1. Folosirea operatorului de asignare , pentru definirea locală a unei funcţii, dar este posibil a se apela în corpul programului o funcţie anterior definită în foia de lucru, sau o funcţie predefinită, ori utilizarea ca parametru formal a numelui unei funcţii.

Page 150: Aplicata in Inginerie Mathcad 2001

150

2. Utilizarea funcţiei WRITEPRN, dar este posibilă utilizarea READPRN (citirea unui fişier ASCII care conţine elementele unui tablou).

3. Utilizarea variabilelor in progresie aritmetică (range), în afară de cazul utilizării lor în componenţa instrucţiunii FOR

11.2. ELEMENTE DE EDITARE A PROGRAMELOR MATHCAD (E)

Liniile programului:

- operatorul de adăugare a unei linii la corpul programului Mathcad este sau tasta [ ] ] ;

- pe fiecare linie se scrie doar o instrucţiune; - ştergerea unei linii selectate, se efectuează cu tasta [Bksp]; - asupra liniilor unui program se pot efectua operaţii de ştergere (“delete”), tăiere (”cut”),

copiere (”copy”), lipiere (”paste”);

Atribuirea

- operatorul de asignare (atribuire) se poate utiliza doar in corpul unui program Mathcad. Acesta se insereaza din paleta Programming, sau cu tasta [ { ];

- operatorul de definire :=, nu poate fi utilizat în corpul unui program Mathcad.

Pentru exemplificare, mai jos se detaliază etapele implementării unui program de calcul al ecuaţie de gradul doi. Se consideră că cei trei coeficienţi ai ecuaţiei 02 =++ cbxax , sunt argumentele subrutinei având numele ecgr2.

Etape ________________________________

1. Scrieţi numele funcţiei şi lista parametrilor formali.

2. Inseraţi operatorul de asignare numerică.

3. Inseraţi operatorul Ad Line.

4. Pe prima linie, scrieti numele unei variabile

locale d, care va memora valoarea discriminantului,

inseraţi operatorul de asignare şi scrieţi expresia.

5. Inseraţi, din paleta Matrix, un vector cu

două elemente, în care apoi scrieţi expresiile

soluţiilor.

_______________________________________________________________________________

Page 151: Aplicata in Inginerie Mathcad 2001

151

Observaţii

- programul are caracter didactic, în consecinţă nu s-a urmărit scrierea unui minim de cod (o variantă mai simplă nu utilizează variabila locală d);

- deoarece programul trebuie să returneze două valori, s-a folosit ca element de ieşire un vector cu două elemente;

- variabila locală d este vizibilă doar în corpul programului.

Utilizarea unui program, definit într-o foaie de lucru se face respectând regulile de vizibilitate. Se scrie numele programului, urmat de lista parametrilor actuali, între paramteze rotunde, folosind ca separatori virgulele. După cum se ştie, există o corespondenţă poziţională strictă între parametri actuali şi cei formali.

11.3. INSTRUCŢIUNI

11.3.1 Instrucţiunea condiţională (E)

Inserare

Instrucţiunea IF din paleta Programming, sau tasta [ } ]

Sintaxa

forma simplificată:

valoarea dorită daca condiţia este adevarată IF condiţia (expresia booleană)

forma completă:

valoarea dorită daca condiţia este adevarată IF condiţia (expresia booleană)

valoarea dorită daca condiţia nu este adevarată OTHERWISE

Observaţii

În zonele din stinga cuvintelor IF, sau OTHERWISE, pot fi mai multe linii. Instrucţiunea IF-

OTHERWISE este echivalentă instrucţiunii IF THEN ELSE din Turbo Pascal, Delphi ...

Exemplu

Utilizarea instrucţiunii condiţionale în definirea unor funcţii pe domenii:

Page 152: Aplicata in Inginerie Mathcad 2001

152

( )( ) ( )

∞∪∞−∈

≤−−−+=

........)(

22

RRxycdaca

RxcxdacaxcxRycxf

S-au utilizat notaţiile: - xc, yc coordonatele

centrului cercului - R- raza

S-a definit o funcţie g cu patru parametri formali:

- x – abscisa - xc, yc, R

11.3.2. Instrucţiuni repetitive (E)

11.3.2.1 Instrucţiunea FOR

Inserare

Instrucţiunea FOR din paleta Programming, sau combinaţia de taste [Ctrl]+["].

Sintaxa

Contorul este uzual o VPA (variabilă “range”):

FOR nume indice ∈ valoare initiala a indicelui, a doua valoare .. valoare finala

expresia care se evaluează repetat

Se utilizează, mai rar, şi alte contoare:

FOR nume indice ∈ vector sau listă scalari sau listă de VPA sau listă de vectori

expresia care se evaluează repetat

Observaţii

Instrucţiunea FOR se utilizează când este cunoscut numărul de cicluri. Dacă contorul este o VPA, acesta se inserează cu operatorul m..n, din paleta Calculator, sau cu tasta [ ; ]

Page 153: Aplicata in Inginerie Mathcad 2001

153

Exemplu:

Funcţie care generează un vector cu n elemente, având valori aleatoare în intervalul xmin .. xmax. Reamintim, că funcţia rnd(x) returnează un numar intreg, aleator cu distribuţie uniformă, cuprins între 0 si x.

11.3.2.2 Instrucţiunea WHILE

Inserare

Instrucţiunea WHILE din paleta Programming sau [Ctrl]+] Sintaxa WHILE condiţie (expresie booleană)

expresia care se evaluează repetat, dacă condiţia este satisfacută

Observaţii

Instrucţiunea WHILE se utilizează dacă nu se cunoaşte numarul de cicluri, ieşirea din calculele repetitive făcându-se când nu mai este îndeplinită condiţia. Aceasta trebuie să se refere la o variabilă, expresie care se modifică în corpul ciclului. Dacă iniţial condiţia nu este satisfacută expresia nu este evaluată niciodată, deoarece WHILE este o instrucţiune repetitivă cu test iniţial.

Expresia care se evaluază repetat poate cuprinde mai multe instrucţiuni (mai multe linii). În biblioteca de funcţii Mahcad 2001 nu există instrucţiunea REPEAT cu funcţionalitatea din Turbo Pascal, Delphi …

Exemplu:

Calculul seriei ∑∞

= +121

1i i

cu precizia impusă ε (diferenţa între doi termeni succesivi ai seriei

mai mică decit ε. ).

S-a definit o funcţie care calculează o serie oarecare, definită printr-o funcţie. Deoarece la fiecare iteraţie se adaugă un termen al seriei, condiţia este ε>)(ia

Page 154: Aplicata in Inginerie Mathcad 2001

154

11.3.3. Instrucţiuni pentru controlul execuţiei programului (E)

Mathcad pune la dispoziţia utilizatorului trei instrucţiuni cu rol de întrerupere a rulării programului, enumerate mai jos, în ordinea descrescătoare a efectului:

1. RETURN întrerupe programul; 2. BREAK întrerupe un ciclu; 3. CONTINUE întrerupe o iteraţie.

Instrucţiunile RETURN, BREAK, CONTINUE se inserează din paleta Programming sau cu combinaţiile de taste: [Ctrl]+ [I], respectiv [Ctrl]+ [{], respectiv [Ctrl]+ [[].

Ca şi în cazul celorlalte instrucţiuni de programare este interzisă inserarea prin tastatură literă cu literă.

11.3.3.1. Instrucţiunea RETURN

Instrucţiunea RETURN permite întreruperea rularii programului şi returnarea unei valori calculate, oriunde în corpul programului.

Sintaxa

RETURN expresia sau şirul de caractere care se returnează

Deseori, instrucţiunea RETURN se utilizează în combinaţie cu instrucţiunea IF

RETURN expresie returnată IF condiţia (expresia booleană)

Exemplu

Extragerea dintr-un vector a primului element care este mai mare decât o valoare dată.

Page 155: Aplicata in Inginerie Mathcad 2001

155

11.3.3.2. Instrucţiunea BREAK

Instructiunea BREAK se utilizeazã în corpul instructiunilor ciclice FOR, sau WHILE

pentru intreruperea ciclului şi executarea instrucţiunii imediat urmatoare după ciclu.

Sintaxa

Instrucţiunea BREAK se utilizează în combinaţie cu instrucţiunea IF:

BREAK IF condiţia (expresia booleană)

Exemplu [RMM00]

Extragerea dintr-un vector, a unui subvector, care conţine primul grup de termeni pozitivi. Dacă vectorul începe cu un numãr negativ, nu se extrage nici un subvector.

Page 156: Aplicata in Inginerie Mathcad 2001

156

11.3.3.3. Instrucţiunea CONTINUE

Instrucţiunea CONTINUE se utilizează în corpul instrucţiunilor ciclice, pentru întreruperea unei iteraţii a ciclului şi executarea instrucţiunii imediat urmatoare din ciclu.

Sintaxa

La fel ca instrucţiunile anterioare, CONTINUE se utilizează în combinaţie cu instrucţiunea IF:

CONTINUE IF condiţia (expresia booleană)

Exemplu [RMM00]

Extragerea unui subvector, care conţine toţi termenii pozitivi, dintr-un vector dat de dimensiune oarecare.

11.3.4. Instrucţiuni pentru gestiunea erorilor

11.3.4.1. Instrucţiunea ON ERROR

Instrucţiunea ON ERROR este destinată manipularii erorilor neprevizibile. Aceasta are funcţionalitatea unei instrucţiuni condiţionale.

Inserare

Paleta Programming sau [Ctrl]+[ , ]

Sintaxa

expresie, funcţie evaluată dacă există eroare ON ERROR

expresie, funcţie evaluată daca NU există eroare

Exemplu:

Definirea unei funcţii pentru calculul expresiei 1/x, care pentru valori x<ε, returnează valoarea 1/ ε

Page 157: Aplicata in Inginerie Mathcad 2001

157

11.3.4.2. Instrucţiunea ERROR

Afişează scurte mesaje, stabilite de utilizator (“tip” sau “hint”), dacă nu sunt îndeplinite anumite condiţii.

Inserarea se face din paleta Programming.

Sintaxa

Instrucţiunea ERROR se utilizează de obicei în combinaţie cu instrucţiunea IF:

ERROR ('' mesaj stabilit de utilizator'') IF condiţia (expresia booleană)

Exemplu

Definirea unei funcţii protejate pentru calculul combinărilor

La efectuarea unui clic pe regiunea unde se evaluează funcţia cu argumentele greşite 3, 5, apare un mesaj de eroare.

Pentru protecţia programelor, sunt utile funcţiile care verifică tipul variabilelor actuale

IsScalar, IsArray, IsString. Acestea au ca argumente numele unei variabile sau expresii şi returnează 0 pentru fals, sau 1 pentru adevărat.

11.4. SUBPROGRAME ŞI RECURSIVITATE

11.4.1. Subprograme (E)

Mathcad 2001 Professional permite utilizarea subprogramelor, care pot fi imbricate pe oricâte nivele. Subrutinele sunt recomandate în scopul stăpânirii complexităţii programării. Un program astfel structurat este mult mai lizibil, se poate testa şi depana mult mai uşor, în plus dă posibilitatea refolosirii codului.

Exemplu

Exemplul de mai jos are un caracter didactic, calculând combinări pe baza unui subprogram pentru permutări (în biblioteca Mathcad există funcţia predefinită combin(n,k)).

Page 158: Aplicata in Inginerie Mathcad 2001

158

11.4.2. Recursivitatea în Mathcad

Deşi utilizarea recursivităţii în definirea unei funcţii permite scrierea unui cod minimal, resursele de memorie nu sunt eficient utilizate.

O funcţie definită recursiv trebuie să conţină două părţi: o definire a funcţiei dependentă de o valoare anterioară a argumentului şi o condiţie iniţială, pentru a evita ciclarea.

Exemplu

Definirea recursivă a unei funcţii pentru calculul permutărilor [RMM0].

Page 159: Aplicata in Inginerie Mathcad 2001

159

I FUNDAMENTE MATHCAD 2001 CALCULE SIMBOLICE ÎN MATHCAD _______________________________________________________________________________

În general, efectuarea de calcule simbolice, pe calculatoare numerice, decurge mult mai greu comparativ cu cele numerice. În particular, procesorul simbolic Mathcad are anumite limitări în raport cu cel numeric:

- numeroase probleme pot fi rezolvate în Mathcad doar numeric (de exemplu în matematică nu există relaţii algebrice generale de rezolvare a polinoamelor de grad mai mare de 4);

- multe probleme rezolvate simbolic au rezultate atât de complicate încât utilizatorul este nevoit sa apeleze la demersul numeric.

Mathcad poate evalua o expresie, în modul simbolic, pe trei căi:

1. Utilizând "egalul simbolic" ( , echivalentul egalului numeric = , vezi toolbar-ul Evaluation, sau Symbolic Keyword, sau inserat prin combinaţia de taste [Ctrl] + [.] ). 2. Utilizând meniul Symbolics.

3. Apelând la metoda "Symbolic Optimization", care realizează o colaborare între procesorul simbolic şi cel numeric, şi care are ca efect o eficientizare a calculelor numerice complicate.

Există o deosebire de esenţă între utilizarea comenzilor din meniul Symbolics şi cele similare din Symbolic Keyword Toolbar (vezi 12.6): în primul caz procesorul simbolic nu ia în considerare definirile anterioare de funcţii, variabile, în cazul secund acestea sunt active.

12.1. EGALUL SIMBOLIC (E)

Egalul simbolic (ES) , se utilizează ca echivalent al egalului numeric (=), returnând în general expresii.

Când se evaluează simbolic, Mathcad-ul verifica toate variabilele şi funcţiile conţinute de expresie, tratându-le în doua moduri:

- dacă acestea au fost definite, le utilizează cu valorile respective; - pe cele găsite nedefinite, le tratează simbolic (algebric).

Exista doua excepţii de la acesta regulă, când Mathcad ignoră definirile anterioare:

- variabilele sunt definite recursiv; - variabilele sunt definite ca VPA (“range variables”).

ES poate fi inserat în trei moduri: - din toolbar-ul "Evaluation"; - din toolbar-ul "Symbolic Keyword";

- prin combinaţia de taste [Ctrl] + [.].

Page 160: Aplicata in Inginerie Mathcad 2001

160

Exempule

1. Evaluarea simbolică a unei funcţii.

- definirea variabilei a şi a funcţiei f(x); - evaluări numerice ale funcţiei; - evaluarea simbolică a funcţiei.

Se observă că alternanţa între regiunile în care se evaluează simbolic, numeric este oarecare, singura restricţie fiind de natură logică.

2. Utilizarea ES pentru evaluarea unei expresii

3. Utilizarea punctului zecimal obligă procesorul simbolic să evalueze o valoare oarecare numeric.

4. Excepţii: dacă expresia conţine variabile care a fost definite recursiv, sau ca VPA procesorul

simbolic nu ia in considerare definirile amintite.

12.2. EGALUL SIMBOLIC PERSONALIZAT (E)

Mathcad permite personalizarea egalului simbolic, în sensul adăugării de către utilizator a unei operaţii specifice, care acţionează asupra rezultatului evaluării. În continuare, acesta este numit egal simbolic personalizat (ESP), în engleză “customizing the symbolic equal sign”.

ESP poate fi inserat din:

- paleta "Symbolic Keyword Toolbar" - paleta "Evaluation Toolbar" - prin tastele: [Ctrl]+[Shift]. Succesiunea operaţiilor pentru evaluarea simbolică personalizată:

Page 161: Aplicata in Inginerie Mathcad 2001

161

Etape ________________________________

Metoda 1

1. Scrieţi pe foia de lucru expresia, cuprindeţi-o în totalitate cu LEO (linia de editare

orizontală).

2. Inseraţi ESP.

3. În placeholder scrieţi operaţia simbolică dorită (factor, expand....), eventual adăugaţi un

placeholder, prin tasta [ , ], dacă este necesar (vezi operaţiile float sau expand etc).

4. Rezultatul se obţine prin apăsarea tastei Enter, sau prin clic în afara zonei matematice.

Metoda 2 (mai rapidă, mai sigură).

1. Scrieţi expresia, se cuprinde cu LEO (linia de editare orizontală) toată expresia.

2. Selectaţi din "Symbolic Keyword Toolbar", operaţia simbolică dorită.

3. În structura apărută pe foaia de lucru, efectuaţi, dacă este nevoie, operaţii de editare

4. Rezultatul se obţine prin apăsarea tastei Enter, sau prin clic în afara zonei matematice.

_______________________________________________________________________________ Principalele operaţii simbolice predefinite, care personalizează egalul simbolic, sunt

discutate în continuare.

12.3. OPERAŢIILE SIMBOLICE PREDEFINITE ÎN MATHCAD 2001 (E)

- COMPLEX returnează, când este posibil, o expresie sub forma algebrică a numărului complex a+ib.

- FLOAT, sub forma: float, m returnează valoarea reală rotunjita la m cifre. Dacă se ignoră argumentul m rotunjirea se face la valoarea implicită 20.

- SIMPLIFY aduce expresia la o formă mai mai puţin complicată efectuând simplificări, prin aplicarea identităţilor trigonometrice.

Page 162: Aplicata in Inginerie Mathcad 2001

162

- EXPAND, sub forma: expand, subexpresie, expandează toate puterile şi produsele de sume, din expresia aflată la stânga comenzii, cu excepţia celei cuprinse în subexpresie. Acesta din urmă este opţională, dacă se omite, este expandată toată expresia.

- FACTOR efectuează operaţia inversă, pe care o execută comanda EXPAND.

- CONVERT, PARFRAC, var descompune o expresie tip fracţie în sumă de fracţii parţiale. În placeholder-ul notat mai sus cu var, se specifică variabila sau variabilele, după care se face descompunerea.

În al exemplul doi, s-a adăugat comanda float,2, după ce a fost selectată cu LEO comanda şi

expresia, s-a apasat tasta [,]. Descompunerile se fac pe baza unor expresii liniare sau pătratice reale.

Acelaşi efect, se obţine dacă după introducerea primei comenzi apăsaţi combinaţia de taste [Ctrl]+[Shift]+[.], sau comanda Add line, din toolbar-ul Programming. În consecinţă, este adăugată o linie de program, iar în placeholder-ul liber se scrie a doua comandă.

Evident că, utilizarea a două comenzi pentru personalizarea egalului simbolic, poate fi

aplicată şi la alte comenzi diferite de parfrac.

- COEFFS sub forma: coeffs, var returnează un vector, care conţine coeficienţii unui polinom, în ordinea crescătoare a exponentului variabilei.

Page 163: Aplicata in Inginerie Mathcad 2001

163

- COLLECT sub forma: collect, var scrie o expresie polinomială sub forma unui polinom dependent de variabila trecută în placeholder-ul notat cu var.

- SUBSTITUTE sub forma generală: substitute, var1=expr1, var2=expr2, ... (atenţie se utilizează egalul logic), substituie var1 cu expresia expr1, var2 cu expresia expr2, şamd. În particular, se poate face doar o substituţie, var poate fi numai o variabilă.

- SOLVE sub forma generală: solve, lista variabile, rezolva simbolic un sistem sau o ecuaţie.

Rezolvarea simbolică, numerică a ecuaţiilor şi sistemelor este detaliată în partea a II-a. - SERIES sub forma: series, var1=valoare1, var2=valoare2,...,m (atenţie se utilizează egalul logic), dezvoltă expresia într-o serie sau polinom Taylor în jurul punctelor: valoare1, valoare2 ... până la ordinul m.Valorile şi ordinul sunt opţionale, implicit valoare1=valoare2=....=0 şi m=6.

Page 164: Aplicata in Inginerie Mathcad 2001

164

Suplimentar_______________________________

Pentru a afla eroarea, într-un punct al aproximării prin serie Taylor, se efectuează operaţiile:

Etape ________________________________ - se defineşte funcţia (în exemplul de mai jos f(x):=sin(x)+cos(x));

- se defineşte o funcţie, care va avea ca termeni dezvoltarea Taylor (în exemplu serT(x):=);

- se încadrează cu LEO, doar numele funcţiei, din partea dreaptă a egalului de definire (serT(x));

- se selectează din "Symbolic Keyword Toolbar" operatorul series se completează argumentele;

- se efectuează clic, în afara regiunii Math, pentru a se produce evaluarea seriei;

- se calculează eroarea.

Se observă că într-o singură regiune matematică, s-a definit funcţia serT(x), prin preluarea rezultatului unei operaţii simbolice.

- ASSUME sub forma: assume, restricţii impune restricţii asupra variabilelor expresiei. Pentru restricţii egalitate se foloseşte egalul logic var=valoare reală, pentru intervale var=RealRange(a,b).

Paleta “Symbolic Toolbar Keyword” mai conţine operatori de transformare: fourier, invfourier, laplace, invlaplace, ztrans, invztrans.

Page 165: Aplicata in Inginerie Mathcad 2001

165

12.4. MODIFICATORI AI OPERATORILOR SIMBOLICI (E)

Modificatorii permit particularizări ale variabilelor asupra cărora acţionează unii operatori simbolici. Aceştia pot fi selectaţi din paleta Symbolic Keyword prin comanda Modifier care deschide subpaleta reprezentată alăturat. În general modificatorul este separat de operator printr-o virgulă.

Modificatorii asociaţi operatorului assume sunt: - var=real; - var=RealRange(a,b).

Modificatorii asociaţi operatorului simplify: - assume=real, presupune că toate variabilele sunt reale; - assume=RealRange(a,b), presupune că variabilele sunt reale şi aparţin intervalului a,b;

Operatorul trig simplifică expresiile trigonometrice folosind identităţile: sin(x)2+cos(x)2=1 şi sinh(x)2+cosh(x)2=1.

Mai sus, s-a utilizat funcţia csgn(z), care returnează: 0 dacă z=0; 1 dacă Re(z)>0 sau (Re(z)=0 şi Im(z)>0); -1 în celelalte cazuri.

12.5. UTILIZAREA A MAI MULTOR OPERATORI SIMBOLICI ÎNTR-O REGIUNE

MATEMATICĂ (E)

După cum s-a văzut, în exemplele anterioare, Mathcad permite efectuarea succesivă a mai multor operaţii simbolice. Funcţie de modul de afişare a rezultatelor, acestea se împart în:

Metoda 1 permite vizualizarea rezultatelor intermediare.

Etape ________________________________

- introduceţi expresia şi cuprindeţi-o cu LEO;

- inseraţi ESP, completaţi argumentele necesare;

- apăsaţi tasta Enter pentru a vedea primul rezultat simbolic;

- clic pe primul rezultat şi introduceţi un nou ESP, primul rezultat dispare temporar;

- apăsaţi tasta Enter pentru a vedea primul şi al doilea rezultat simbolic şamd.

_______________________________________________________________________________

Exemplificare metoda 1

Page 166: Aplicata in Inginerie Mathcad 2001

166

Metoda 2 permite doar vizualizarea rezultatului final.

Etape ________________________________

- introduceţi expresia si cuprindeţi-o cu LEO;

- inseraţi separatorul virgulă, sau folosiţi combinaţia de taste [Ctrl]+[Shift]+[.];

- inseraţi ESP, completaţi argumentele necesare;

- scrieţi cel de al doilea ESP, completaţi argumentele necesare;

şamd.

- in final, apăsaţi tasta Enter pentru a vedea rezultatul.

_______________________________________________________________________________

Exemplificare metoda 2:

12.6. OPERAŢII SIMBOLICE PRIN INTERMEDIUL MENIULUI SYMBOLIC (E)

Comenzile din meniul Symbolics nu sunt "live", deci nu iau în considerare definirile anterioare ale variabilelor.

Prin meniul, mai sus amintit, se poate acoperi marea majoritate a operaţiilor simbolice, apelabile prin “Symbolic Keyword Toolbar”.

Implicit, rezultatul operaţiei simbolice este plasat sub expresia care este evaluată, însă poziţia acestuia este controlabilă prin comanda Evaluation Style, din meniul Symbolics, care deschide o casetă de dialog.

Exemplu

Page 167: Aplicata in Inginerie Mathcad 2001

167

După cuprinderea întregii expresii ( )∑=

−5

0i

iax , cu LEO, a fost selectată comanda Symbolically, din

submeniul Evaluate, al meniului Symbolics. Evaluarea se poate face şi prin combinaţia de taste [Shift]+[F9]. Dintr-o expresie complexă se poate evalua simbolic, doar o subexpresie selectând-o cu LEO.

Exemplu

Pentru evaluarea simbolică doar a subexpresiei (w-2)2 s-a efectuat o selectare a acesteia cu LEO, urmată de comanda Expand, din meniul Symbolics.

12.7. OPTIMIZAREA CALCULELOR NUMERICE PRIN INTERMEDIUL OPERAŢIILOR SIMBOLICE

Dacă procesările numerice sunt foarte complicate, există posibilitatea de a forţa procesorul numeric să colaboreze cu cel simbolic, prin intermediul comenzii Optimization din meniul Math.

Etape ________________________________

1. Scrieţi expresia sub forma: variabilă := expresie; 2. Alegeţi Optimization, din meniul pop-up, asociat regiunii matematice curente. 3. Rămânând în regiunea matematică

- dacă, procesorul simbolic găseşte o formă mai simplă a expresiei, o furnizează procesorului numeric şi marchează acest fapt printr-un asterisc roşu, plasat în dreapta expresiei;

- dacă, procesorul simbolic nu găseşte o formă mai simplă, plasează un asterisc albastru.

4. Pentru vizualizarea rezultatului, efectuaţi un dublu clic pe asterisc, sau alegeţi din meniul pop-up, comanda Show pop-up

_______________________________________________________________________________

În general pe această cale, dacă procesorul simbolic găseşte o formă simplificată a expresiei, se obţin rezultate mai rapid.

Dacă doriţi ca întreaga foaie să fie optimizată, alegeţi comanda Optimize, din meniul Math.

Exemplu

În exemplul de mai sus, capturat din Mathcad, prima integrală triplă a fost rezolvată numeric, a doua prin intermediul metodei Optimization.

Page 168: Aplicata in Inginerie Mathcad 2001

PRECIZIA CALCULELOR ITERATIVE

REZOLVAREA ECUAŢIILOR

REZOLVAREA SISTEMELOR DE ECUAŢII

OPTIMIZĂRI PRIN PROGRAMARE MATEMATICĂ

INTERPOLĂRI

REGRESII

EXTRAPOLARE

AJUSTAREA DATELOR

REZOLVAREA ECUAŢIILOR DIFERENŢIALE

CALCULE ÎN COMPLEX

COMBINATORICĂ

STATISTICĂ ŞI PROBABILITĂŢI

Page 169: Aplicata in Inginerie Mathcad 2001

169

II CALCULE NUMERICE ÎN MATHCAD

PRECIZIA CALCULELOR ITERATIVE

_______________________________________________________________________________

Capitolul tratează câteva probleme legate de efectuarea calculelor cu numere aproximative şi pune la dispoziţia cititorului recomandări, sau instrumente care să-i permită controlul erorilor de calcul.

13.1. ELEMENTE DE TEORIA ERORILOR

13.1.1. Sistematizarea şi definirea erorilor de calcul numeric iterativ

13.1.1.1. Sistematizarea erorilor de calcul numeric iterativ ( E)

Erorile care apar în rezolvarea iterativă, numerică a problemelor matematice, se clasifică în

următoarele categorii [BEU92, DOD76]:

1. Erorile de problemă, care sunt datorate adoptării unor ipoteze simplificatoare în scopul reducerii complexităţii formulării modelului matematic.

2. Erorile de metodă sunt specifice algoritmilor aplicaţi. Acestea pot fi micşorate prin alegerea metodei celei mai adecvate de rezolvare.

3. Erorile de măsură (inerente) sunt datorate impreciziei de măsurare a valorile datelor iniţiale ale problemei. Acestea nu pot fi cunoscute exact, dar nu pot depăşi o eroare maximă, corespunzătoare preciziei aparatului de măsură folosit.

4. Erorile de rotunjire apar datorită reprezentării numerelor cu un număr finit de cifre semnificative exacte. Acestea depind de particularităţile hardware ale calculatorului, de modul de reprezentare internă a diferitelor tipuri de date. În anumite circumstanţe, există un proces de cumulare a erorilor de rotunjire.

5. Erorile de trunchiere (reziduale) sunt generate de întreruperea unui proces iterativ teoretic, infinit.

În general, metodele numerice permit controlul erorilor de tip 2, 4, 5.

13.1.1.2. Definiri ale erorilor ( E)

Cifre semnificative

Se numesc cifre semnificative ale numărului aproximativ a, cifrele nenule, cifrele nule cuprinse între cifre nenule, sau cele care indică ordinul de mărime [DOD76, TOD76].

Exemplu: a=0,050300 are, ca cifre nesemnificative, primele două şi ultimele trei.

Page 170: Aplicata in Inginerie Mathcad 2001

170

Eroarea absolută

Fie a valoarea aproximativă, rezultată prin măsurare, observaţii, sau calcule, a valorii adevărate A. Diferenţa ε = A-a poartă numele de eroare, iar εa = IA-aI eroare absolută. Eroarea relativă Numim eroare relativă, raportul dintre eroarea absolută εa şi valoarea absolută a lui A, ra=εa /IAI. Eroarea relativă este mai completă, din punct de vedere informaţional, decât cea absolută.

Eroarea relativă aparentă În cele mai multe cazuri nu se cunoaşte A, deci nu poate fi calculată eroarea absolută. În aceste cazuri fie se foloseşte eroarea relativă aparentă: r’a=εa/ IaI, fie eroare absolută limită [DOD76, TOD76], definită mai jos.

Eroarea absolută limită Se numeşte eroare absolută limită (admisibilă) a numărului aproximativ a, notată cu *

aε , maximum admisibil al erorii absolute. În general *

aε se calculează cu una sau două cifre semnificative.

*aa aA ε≤−=ε (13.1)

Din relaţia de mai sus rezultă: *a

*a aAa ε+≤≤ε−

ceea ce înseamnă, că *aa ε− aproximează A prin lipsă, iar *

aa ε+ prin adaos.

Eroarea relativă limită Se numeşte eroare relativă limită expresia:

*a

*a*

a ar

ε−ε

= (13.2)

13.1.1.3. Numărul de cifre exacte ale unui număr aproximativ

În baza 10 valoarea adevărată A se scrie:

A=am10m+am-110m-1+am-210m-2+ ... +am-n+110m-n+1+ ....

iar cea aproximativă a:

a=bm10m+bm-110m-1+bm-210m-2+ ... +bm-n+110m-n+1+ ....

Dacă numărul a are n zecimale exacte, rezultă că eroarea absolută nu depăşeşte jumătate de unitate din cea de a n-a cifră, socotită de la stânga la dreapta:

110

21 +−⋅≤−= nm

a aAε (13.3)

În consecinţă, primele n cifre (bm, bm-1, bm-2, ... bm-n+1) sunt exacte.

Exemplu: numărul exact A=125,96, numărul aproximativ a=125,00. Conform relaţie de mai sus 1050040 ...aAa ⋅<=−=ε . Cum m=2, m-n-1=-1, rezultă n=4 (a are patru cifre exacte).

În practică, se utilizează mult mai frecvent relaţia între eroarea relativă şi numărul de cifre exacte.

Page 171: Aplicata in Inginerie Mathcad 2001

171

13.1.1.4. Relaţia între eroarea relativă şi numărul de cifre exacte

În cazul aplicării regulilor de rotunjire, cu completare, se demonstrează propoziţia [DOD76, TOD76, TIR72]:

Dacă un număr aproximativ a are n cifre exacte, eroarea relativă ra satisface relaţia:

1101

21 1

⋅≤

n,b

rn

ma (13.4)

unde bm este prima cifră semnificativă.

Exemplu: A=π, a=3.14. Cum n=3, b3=3 rezultă: %..ra 160001666606001

101

321 13

≈==

⋅≤

În cazul rotunjirii fără completare, se utilizează relaţia:

11011 1

⋅≤

n,b

rn

na (13.5)

13.1.2. Ce este o metodă iterativă ? ( E)

Metoda iteraţiei, sau a aproximărilor succesive, constă în obţinerea unui şir de valori care, în anumite condiţii, poate să fie convergent către soluţia căutată. Valoarea x0, se numeşte valoare de start şi se obţine printr-un procedeu mai puţin precis decât cel folosit ulterior, pentru rafinarea ei [POS94].

Într-o formă mai riguroasă, metoda iterativă se defineşte [DOD76]:

Suplimentar_______________________________

Considerăm f:X Y, X ⊂ Rn, Y ⊂ Rn, şi ecuaţia sau sistemul f(x)=0, care într-o vecinătate Vα⊂ X, are o rădăcină unică x=α. Se notează cu x0, aproximaţia iniţială a rădăcinii (x0 trebuie să se afle în Vα şi este oarecare).

Se numeşte formulă (şir) de iterare, pentru determinarea rădăcinii α, un şir de forma:

xk=ϕk(x0, x1, ..., xk-1)

care satisface condiţiile:

xk α când k ∞

Funcţia ϕk depinde de f şi chiar de rangul termenilor din şir. Dacă, nu depinde de rangul termenilor din şir, formula de iterare se numeşte de tip staţionar xk=ϕ(x0, x1, ..., xk-1). În cazul formulei de iterare de ordinul întâi şi staţionare, datorită dependenţei de forma: xk=ϕ(xk-1), după ce s-a calculat xk nu mai este nevoie să se reţină în memorie xk-1.

În aceste sisteme iterative, ecuaţia f(x)=0 se pune sub forma echivalentă (cel puţin în vecinătatea Vα⊂ X):

f(x)=0 ⇔ α=ϕ(α)

Teorema cu punct fix, pentru contracţii garantează, în anumite condiţii, convergenţa şirului de iterare, existenţa şi unicitatea soluţie [DOD76].

Page 172: Aplicata in Inginerie Mathcad 2001

172

Geometric, metoda iteraţiei are următoarea interpretare: intersecţia dintre curbele y=x şi y=ϕ(x) reprezintă soluţia x=α. În figurile de mai jos, se pleacă din punctul (x0, ϕ(x0)), prin linia poligonală desenată punctat s-a reprezentat procesul convergenţa spre α. Dacă Iϕ’(x)I ≥ 1 procesul iterativ poate să fie divergent, dacă Iϕ’(x)I = 1 poate cicla.

Se demonstrează [POS94], că nu este necesară o precizie mare de calcul, de la primele iteraţii, deoarece rotunjirile, sau unele erori minore nu au influenţă asupra preciziei finale.

După un număr relativ mare de iteraţii, eroarea de trunchiere are o pondere foarte mică şi în consecinţă o continuare a calculelor nu duce la o îmbunătăţire a acurateţei soluţiei [POS94].

13.1.3. Criterii de oprire a iteraţiilor [POS94]

13.1.3.1. Calitatea condiţionării soluţiei

Fie o ecuaţie f(x)=0, pentru care presupunem că xn este o aproximare a rădăcinii simple, x=α (f(α)=0, f’(α)≠0).

O estimare a erorii absolute ( α−=ε na x ), independentă de metoda de rezolvare, se poate face cu relaţia:

Jx,)x('fM,M

)x(fx n

n ∈≤≤α− (13.6)

unde J este intervalul care are limitele xn şi α.

Dacă se notează )x(f n valoarea calculată şi afectată de erori a )x(f n , se poate scrie: )()()( nnn xxfxf δ+= , )( nxδ fiind eroarea de rotunjire, care are valoarea limită notată cu δ .

δ≤δ )x( n , δ este independentă de x.

În cel mai bun caz, când 0=)x(f n rezultă că δ≤)x(f n .

ϕ(x0)=x1

x2

y=ϕ(x)

y=x

x0 α x x1

ϕ(x1)=x2

y

0 0

y

x x3 x0 α x1 x2

y=ϕ(x) y=x

ϕ(x0)=x1

Page 173: Aplicata in Inginerie Mathcad 2001

173

Dacă variaţia f’(x) în vecinătatea rădăcinii x=α nu este prea mare, din relaţia 13.6 rezultă:

)x('fMxn

δ≈

δ≤α− (13.7)

Se observă că dacă numitorul relaţiei 13.7 are o valoare mică, rezultă o valoare mare a

erorii absolute limită ()x('fM

*a

δ≈

δ=ε ) şi în acest caz, se spune că problema determinării soluţiei

α este prost condiţionată, adică perturbaţiile slabe, care afectează datele de intrare (coeficienţii ecuaţiei sau ecuaţiilor dacă se rezolvă un sistem), produc perturbaţii mari în soluţie, deci soluţia este instabilă. Dacă, numitorul are o valoare mare problema este bine condiţionată şi soluţia este stabilă. Calitatea condiţionării problemei nu depinde de algoritm ci este de natură matematică.

Problemele cu rădăcini multiple sunt, în general, prost condiţionate, iar aε se calculează cu

relaţia: ( ) ( )

p

pa fp

1

α

⋅δ=ε (13.8)

unde p este ordinul de multiplicitate al rădăcinii α.

13.1.3.2. Criterii de oprire a iteraţiilor

Relaţiile 13.6 şi 13.7 utilizate pentru oprirea iteraţiilor au o valoare practică scăzută, deoarece trebuie cunoscută valoarea f’(x) în vecinătatea rădăcinii x=α, care este necunoscută.

Se observă că, dacă xn α de la o iteraţie n diferenţele 1−− nn xx descresc până ce *anx ε≈α− . În continuare, erorile de rotunjire au ponderea majoră. Ca urmare, putem stopa iteraţiile

şi accepta, ca soluţie xn, dacă sunt satisfăcute simultan condiţiile:

δ<−

−≥−

−+

1

11

nn

nnnn

xx

xxxx (13.9)

unde, δ este o toleranţă nu prea strânsă, care se utilizează pentru ca procesul iterative să nu se termine, înainte ca xn să fi ajuns în apropierea lui α.

Condiţiile 13.9, asociate unor algoritmi cu convergenţă rapidă, acţionează în sensul împiedicării terminării iteraţiilor pentru rădăcinile prost condiţionate, caz în care, eroarea absolută limită este mare.

13.1.4. Rotunjirea numerelor ( E)

Rotunjirea este operaţia de reţinere, a unui număr mai mic de cifre semnificative, dintr-un număr aproximativ, prin eliminarea tuturor cifrelor de la un anumit rang şi înlocuindu-le, când este cazul, cu cifre zero, eventual modificându-se şi valoarea ultimei cifre reţinute.

Regulile uzuale de rotunjire cu completare sunt [TIR72,TOD76]:

1. Dacă prima cifră, la care se renunţă, este mai mare decât 5, atunci ultima dintre zecimalele (cifrele) păstrate se măreşte cu o unitate.

Exemplu: 159.28 159.3

2. Dacă prima cifră, la care se renunţă, este mai mică decât 5, atunci ultima dintre

Page 174: Aplicata in Inginerie Mathcad 2001

174

zecimalele (cifrele) păstrate se menţine nemodificată. 3. Dacă prima dintre cifrele abandonate, este egală cu 5 şi printre cifrele la care se renunţă

există cifre nenule, atunci ultima cifră păstrată se măreşte cu o unitate. Exemplu: 159.45157 159.5; 159.45024 159.5.

4. Dacă prima dintre cifrele abandonate este egală cu 5, dar toate celelalte, care urmează sunt nule, atunci ultima cifră păstrată rămâne neschimbată, dacă este pară şi se măreşte cu o unitate, dacă este impară Regula numerelor pare se bazează pe următorul raţionament: numerele pare se divid exact cu mai multe numere decât cele impare, deci sunt mai puţin afectate de erori.

Exemplu: 159.4500 159.4; 159.7500 159.8. Rotunjirea fără completare se utilizează mai rar, şi constă, doar din eliminarea cifrelor semnificative începând de la un rang oarecare.

13.1.5. Eroarea absolută şi relativă a unei funcţii de mai multe variabile ( E)

Fie f:X R, X⊂Rn, derivabilă parţial pe X, (x1, x2, ..., xn) un punct interior din X, derivatele

parţiale n,...,,i,xfi

21=∂∂ , fiind continue. Fie

nxxx ,...,, εεε21

erorile absolute limită ale argumentelor

funcţiei, considerate cunoscute.

Eroarea absolută, eroarea absolută limită, eroarea relativă, eroarea relativă limită a unei funcţii se calculează cu relaţiile [DOD76]:

*x

n

i

*fnxnxxf in x

f)x,...,x,x(f)x,...,x,x(f ε⋅∂∂

=ε≤−ε+ε+ε+=ε ∑1

2121 21 (13.10)

( )∑ ε⋅∂

∂=≤

ε=

n*x

i

*f

ff ix

flnrf

r1

(13.11)

13.1.6. Erorile operaţiilor aritmetice elementare

Erorile absolute şi relative ale operaţiilor aritmetice elementare: suma, diferenţa, produs, cât

se deduc din particularizările relaţiilor generale 13.10 şi 13.11. 13.1.6.1. Eroarea sumei

Fie x1, x2, ..., xn numerele aproximative afectate de erorile absolute

nxxx ,...,, εεε21

. Se consideră suma lor: nx...xxS ±±±±= 21 , care este o funcţie de n variabile.

nn xxxxxxS ...... ε++ε+ε≤ε±±ε±ε±=ε2121

(13.12)

Eroarea absolută a unei sume de n numere aproximative nu depăşeşte suma erorilor absolute ale acestor numere

**** ...21 nxxxS εεεε +++= (13.13)

Eroarea absolută limită a sumei a n numere aproximative este egală cu suma erorilor limită ale numerelor. Eroarea absolută limită a sumei nu poate fi mai mică decât eroarea absolută limită a termenului cel mai puţin exact din sumă. Ceilalţi termeni ai sumei, care sunt mai precişi nu au o pondere esenţială în precizia rezultatului (sumei).

Page 175: Aplicata in Inginerie Mathcad 2001

175

Eroarea relativă a sumei se calculează cu: relaţia

S

r SS

ε= (13.14)

În practică, erorile relative i

xx x

r i

i

ε= sunt de acelaşi ordin de mărime. Dacă unul din

termenii sumei este mult mai mare, atunci acesta va avea ponderea majoră în calculul erorii relative a sumei respective. 13.1.6.2. Eroarea produsului

Fie x1, x2, ..., xn numerele aproximative afectate de erorile absolute

nxxx ,...,, εεε21

. Se consideră produsul lor: nx...xxP ⋅⋅⋅= 21 , care este o funcţie de n variabile. Prin logaritmare, diferenţiere şi trecere la mărimi finite rezultă:

∑=n

*x

*P i

rr1

(13.15)

Eroarea relativă limită a produsului este egală cu suma erorilor relative limită. Eroarea relativă a produsului unor numere aproximative, diferite de zero, nu

depăşeşte suma erorilor relative ale numerelor aproximative.

13.1.7. Problema directă şi inversă a erorilor

În calculele cu numere aproximative se întâlnesc frecvent două tipuri de probleme: 1. Problema directă a erorilor: se cunosc erorile numerelor cu care se efectuează un

calcul oarecare, se cere determinarea preciziei rezultatului. 2. Problema indirectă a erorilor: se impune precizia rezultatului şi se cere determinarea

erorilor numerelor, cu care se efectuează calculul. Acest tip se întâlneşte în proiectare.

Problema directă poate fi rezolvată plecând de la observaţia că, deoarece erorile absolute ale termenilor au valori mici, derivatele de ordinul doi şi superior pot fi neglijate, în procesul dezvoltării în serie. În consecinţă, rezultă:

*xi

n

i

*f

n

xi

nnxnxxf

xf

xf

)x...x,x(df)x,...,x,x(f)x,...,x,x(f

i

n

ε⋅∂∂

=ε≤ε⋅

∂∂

=

≈−ε+ε+ε+=ε

∑∑11

212121 21

(13.16)

Problema indirectă este mai dificil de rezolvat. O variantă [TIR72] pleacă de la ipoteza că erorile absolute ale numerelor au ponderi egale în eroarea totală a funcţiei, calculul erorilor absolute limită făcându-se cu relaţia:

∑ ∂∂

ε⋅=ε

n

ii

*fi*

x

xfx

xi

1

(13.17)

13.1.8. Recomandări privind controlul preciziei calculelor numerice ( E)

Pentru a se evita greşelile de calcul şi a se obţine soluţiile cu un efort de calcul rezonabil se recomandă respectarea regulilor detaliate mai jos [UMM00, HRI91]. Precizia calculelor trebuie să corespundă preciziei datelor iniţiale.

Precizia rezultatului final nu poate fi mai mare decât a datelor iniţiale.

Page 176: Aplicata in Inginerie Mathcad 2001

176

În acest sens, se acţionează pe următoarele direcţii: trebuie evaluată precizia datelor iniţiale, pentru a nu cădea în greşeala de a nu calcula cu un număr suficient de cifre semnificative, sau de a îngreuna calculele, prin păstrarea unui număr excedentar de cifre semnificative;

trebuie evaluată eroarea relativă a rezultatului pe baza erorilor relative ale datelor iniţiale, de preferinţă, înainte de efectuarea calculului propriu-zis;

în general, eroarea rezultatului final este determinată de eroarea relativă a mărimii care este cea mai imprecisă;

în rezultatul final, trebuie păstrate atâtea zecimale câte zecimale are eroarea absolută; dacă calculul se face etapizat, trebuie evaluate erorile relative ale fiecărui rezultat parţial (intermediar). În general rezultatele intermediare se calculează cu cel mult două cifre semnificative, în plus, faţă de numărul de cifre semnificative ale rezultatului final. Acestea se elimină prin rotunjire, doar în rezultatul final.

erorile relative se dau şi se calculează cu una sau două cifre semnificative;

13.1.9. Recomandări privind calculele iterative ( E) Referitor la calculele iterative efectuate de funcţiile predefinite, sau în general din aplicaţiile

create de utilizator se recomandă: când folosiţi funcţii predefinite care utilizează metode numerice verificaţi întotdeauna rezultatul returnat de funcţie. Pentru calculele complicate, dacă există dubii asupra corectitudinii rezultatului, aplicaţi şi alte funcţii similare (deseori Mathcad oferă această facilitate) sau rezolvaţi problema simbolic.

în cazul în care funcţia eşuează în obţinerea unui rezultat, încercaţi să declaraţi problema într-o altă formă;

studiaţi metoda/ele numerice utilizată/e de funcţia care vă returnează un rezultat nesatisfăcător. Help-ul indică numele metodei şi sursa bibliografică. De multe ori nu sunt respectate anumite restricţii de aplicare. Sunt situaţii când Mathcad încercă să rezolve problema prin mai mulţi algoritmi, selectându-l pe care îl consideră cel mai potrivit. Este cazul integrării numerice, când se poate opta pentru un algoritm sau pentru autoselectare;

prin intermediul setării valorii variabilei predefinite TOL utilizatorul poate ajunge la un compromis între precizie de evaluare a funcţiei şi viteza de obţinere a rezultatului. Dacă există restricţii egalităţi/inegalităţi se operează cu valoarea variabilei predefinite CTOL.

eficenţa metodele iterative este puternic dependentă de alegerea punctului de start x0. Se recomandă ca acesta să fie cât mai aproape de soluţie.

13.2. FUNCŢII CARE EFECTUEAZĂ TRUNCHIERI ŞI APROXIMAŢII

Mathcad 2001 pune la dispoziţia utilizatorului o funcţie de rotunjire round şi trei funcţii care efectuează operaţii de trunchiere: floor, ceil şi trunc. Toate operează asupra numerelor reale şi se găsesc la categoria Truncation and Round off, în caseta de dialog Insert Function, care se deschide la: apăsarea butonului f(x) din bara de instrumente, prin meniul Insert Function, sau prin combinaţia de taste [Ctrl]+[E].

Funcţia round(x,n) rotunjeşte un număr real x la n zecimale. Dacă n întreg este pozitiv rotunjirea operează la dreapta punctului zecimal, dacă este negativ operează la stânga punctului zecimal, şi dacă se omite acesta este considerat n=0 şi funcţia rotunjeşte la întreg.

Funcţiile trunc(x), ceil(x) şi floor(x) trunchiază un număr real x prin îndepărtarea părţii zecimale, respectiv prin trunchierea la cel mai mic întreg x≥ , respectiv la cel mai mare întreg x≤ .

Page 177: Aplicata in Inginerie Mathcad 2001

177

II APLICAŢII ÎN MATHCAD 2001 REZOLVAREA ECUAŢIILOR ŞI SISTEMELOR _______________________________________________________________________________

Rezolvarea problemelor specifice ingineriei conduce, în multe cazuri, la determinarea rădăcinilor ecuaţiilor, sau la calculul soluţiilor sistemelor de ecuaţii. Pentru a veni în sprijinul utilizatorilor mediului de programare, firma MathSoft pune la dispoziţie un pachet de funcţii predefinite, destinat soluţionării acestui tip de probleme. Utilizarea acestor funcţii permite:

a. rezolvarea numerică iterativă a ecuaţiilor algebrice; b. rezolvarea numerică iterativă a ecuaţiilor transcendente; c. rezolvarea numerică a sistemelor de ecuaţii liniare; d. rezolvarea numerică iterativă a sistemelor de ecuaţii neliniare; e. rezolvarea simbolică a ecuaţiilor şi sistemelor de ecuaţii.

14.1. REZOLVAREA NUMERICĂ ITERATIVĂ

A ECUAŢIILOR ALGEBRICE

O ecuaţie de forma:

f(x) = 0 (14.1)

se numeşte algebrică dacă funcţia f(x) este un polinom sau poate fi adusă la formă polinomială. Toate ecuaţiile care nu sunt algebrice se numesc transcendente.

Forma generală a unei ecuaţii algebrice este, deci:

0011

1 =+⋅++⋅++⋅+⋅ −− axaxaxaxa i

in

nn

n LL , (14.2) unde:

- n, reprezintă gradul ecuaţiei; - ai, reprezintă coeficienţii ecuaţiei, 00 ≠∈ na,n,i . Aceştia pot fi reali sau complecşi; - x, reprezintă variabila sau necunoscuta ecuaţiei.

O altă formă, sub care se poate reprezenta o ecuaţie algebrică de gradul n, este forma normală:

0011

1 =+⋅++⋅++⋅+ −− bxbxbxbx i

in

nn LL , (14.3)

Această formă se obţine din forma generală (14.2) prin împărţire cu na .

O ecuaţie algebrică de gradul n cu o necunoscută are întotdeauna n rădăcini, [MEM80]. Aceste rădăcini nu trebuie să fie toate diferite. Dacă o rădăcină se repetă de 2, 3, … , k ori, se zice

Page 178: Aplicata in Inginerie Mathcad 2001

178

că ea este o rădăcină dublă, triplă, multiplă de ordinul k. Dacă coeficienţii, ai, sunt numere reale şi dacă ecuaţia are o rădăcină complexă bia ⋅+ , atunci ecuaţia admite ca rădăcină şi valoarea complexă conjugată bia ⋅− .

Notând cu n,j,x j 1∈ , cele n rădăcini ale ecuaţiei, se poate obţine, din (14.3), o nouă formă de reprezentare a ecuaţiei de gradul n, ca un produs de factori liniari:

( ) ( ) ( ) ( ) 021 =−⋅⋅⋅−⋅⋅−⋅− nj xxxxxxxx LL . (14.4)

Această ultimă formă de reprezentare a ecuaţiilor algebrice poartă denumirea de formă factorizată.

Pentru rezolvarea ecuaţiilor algebrice, în sensul obţinerii tuturor celor n soluţii, în Mathcad este predefintă:

• Funcţia polyroots:

o Sintaxa funcţiei: polyroots(v);

o Argumentele funcţiei: v – reprezintă un vector, de dimensiuni n+1 linii × 1 coloană, ce conţine valorile coeficienţilor ecuaţiei algebrice, ai, scrişi sub forma:

=

n

i

a

a

aa

v

M

M1

0

. (14.5)

o Valoarea returnată: un vector, de dimensiuni n linii × 1 coloană, ce conţine valorile aproximative ale celor n rădăcini ale ecuaţiei.

o Observaţii:

a. Funcţia polyroots poate fi utilizată:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se defineşte vectorul coeficienţilor ecuaţiei algebrice, v. La realizarea acestei etape trebuie, neapărat, avut în vedere faptul că pot exista ecuaţii algebrice la care lipsesc anumite puteri ale necunoscutei x. Acest lucru semnifică faptul că acel termen, al ecuaţiei, are valoarea coeficientului egală cu zero. În plus, semnul unui termen al ecuaţiei este dat de semnul coeficientului numeric respectiv.

3. Se apelează funcţia polyroots direct sau se defineşte o variabilă a vectorului rezultat.

Etapa a doua poate fi omisă dacă se introduce direct, ca argument al funcţiei polyroots, vectorul coeficienţilor.

______________________________________________________________________________________________

Exemplul 1: Să se rezolve ecuaţia algebrică de gradul şase:

035142 2346 =+⋅−⋅+⋅−− x.xxx

Page 179: Aplicata in Inginerie Mathcad 2001

179

- vectorul coeficientilor: v

3

0

1.5−

4

2−

0

1−

:=

polyroots

3

0

1.5−

4

2−

0

1−

0.724−

0.719− 1.74i−

0.719− 1.74i+

0.462 0.855i+

0.462 0.855i−

1.238

=- se apeleaza functia polyroots.

SOL polyroots v( ):= sol polyroots v( ):=

sol0 0.724−=

sol1 0.719− 1.74i−=

sol2 0.719− 1.74i+=SOL

0.724−

0.719− 1.74i−

0.719− 1.74i+

0.462 0.855i+

0.462 0.855i−

1.238

= sol3 0.462 0.855i+=

sol4 0.462 0.855i−=

sol5 1.238=

b. Pentru a defini vectorul argument al funcţiei polyroots se poate utiliza operatorul de calcul simbolic . Se procedează în felul următor:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se defineşte expresia ecuaţiei algebrice f(x).

3. Se tastează operatorul de calcul simbolic :

x6 x5+ 14 x4

⋅− 5 x3⋅− 19 x2

⋅+ 34 x⋅+ 24+ coeffs , →

4. Se completează placeholder-ul cu simbolul variabilei ecuaţiei algebrice, după care se execută un clic în foaia de calcul sau se tastează [Enter]:

x6

x5

+ 14 x4

⋅− 5 x3

⋅− 19 x2

⋅+ 34 x⋅+ 24+ coeffs x,

24

34

19

5−

14−

1

1

5. Prin operaţii de copiere şi lipire, vectorul astfel obţinut poate fi utilizat ca argument al

funcţiei polyroots. ______________________________________________________________________________________________________________________

c. Pentru rezolvarea numerică a ecuaţiilor algebrice funcţia polyroots utilizează două procedee diferite:

- metoda LaGuèrre; - metoda companionului matriceal.

Page 180: Aplicata in Inginerie Mathcad 2001

180

Implicit, funcţia polyroots utilizează metoda La Guèrre. Dacă se doreşte calculul soluţiei ecuaţiei prin metoda companionului matriceal se dispune cursorului în interiorul identificatorului funcţiei polyroots şi din meniului pop-up, ce apare în urma unui clic pe butonul din dreapta al mouse-ului se alege opţiunea Companion Matrix.

d. Cele două metode de rezolvare, utilizate de funcţia polyroots, sunt metode iterative. În multe situaţii, rezolvarea unei ecuaţii, printr-un procedeu, poate conduce la soluţii care diferă (diferenţele nu sunt semnificative) de soluţiile obţinute prin cel de-al doilea procedeu. Din acest motiv, în cazul ecuaţiilor de ordin superior, sau a celor care prezintă rădăcini multiple se recomandă utilizarea ambelor metode. Rădăcinile astfel obţinute se testează prin înlocuirea lor în expresia ecuaţiei algebrice şi în funcţie de rezultatul obţinut se aleg valorile convenabile pentru rădăcini.

Exemplul 2: Să se rezolve ecuaţia algebrică de gradul cinci: 037533753125125353 2345 =−⋅+⋅−⋅+⋅− .x.x.x.x.x .

- expresia ecuatiei algebrice:

F x( ) x5 3.5 x4⋅− 3.25 x3

⋅+ 1.125 x2⋅− 3.375 x⋅+ 3.375−:=

x5 3.5 x4⋅− 3.25 x3

⋅+ 1.125 x2⋅− 3.375x⋅+ 3.375− coeffs x,

3.375−

3.375

1.125−

3.25

3.5−

1

- determinarea solutiilor ecuatiei prin metoda LaGuerre:

polyroots

3.375−

3.375

1.125−

3.25

3.5−

1

0.500000065581− 0.866025442682i−

0.500000058999− 0.86602542541i+

1.496910757836 0.005362691362i+

1.496918252261 0.00536267409i−

1.506171114483

=

F

0.500000065581− 0.866025442682i−

0.500000058999− 0.86602542541i+

1.496910757836 0.005362691362i+

1.496918252261 0.00536267409i−

1.506171114483

1.34248 10 6−× 2.58833i 10 7−

×+

1.12671 10 6−× 7.26888i 10 9−

×−

1.12304 10 6−× 1.81963i 10 9−

×+

1.12100 10 6−× 1.70997i 10 9−

×+

1.12212 10 6−×

=

- determinarea vectorului coeficientilor:

- testarea solutiilor obtinute:

Page 181: Aplicata in Inginerie Mathcad 2001

181

- determinarea solutiilor ecuatiei prin metoda companionului matriceal:

polyroots

3.375−

3.375

1.125−

3.25

3.5−

1

0.5− 0.866025403784i−

0.5− 0.866025403784i+

1.499996447388 0.000006153238i+

1.499996447388 0.000006153238i−

1.500007105225

=

F

0.5− 0.866025403784i−

0.5− 0.866025403784i+

1.499996447388 0.000006153238i+

1.499996447388 0.000006153238i−

1.500007105225

2.65921− 10 12−× 7.40297i 10 12−×−

2.65921− 10 12−× 7.40297i 10 12−×+

1.77636 10 15−×

1.77636 10 15−×

1.33227 10 15−×

=

- testarea solutiilor obtinute:

Se observă că, pentru exemplul considerat metoda, metoda companionului matriceal este mai precisă decât La Guèrre.

e. În situaţiile în care soluţiile obţinute nu sunt convenabile, din punctul de vedere al preciziei obţinute, valorile rădăcinilor pot fi rafinate prin utilizarea funcţiei root. Această funcţie este prezentată în subcapitolul 14.2.

f. Valorile exacte, ale soluţiilor unei ecuaţii algebrice, se pot determina prin utilizarea calculului simbolic disponibil în Mathcad (vezi subcapitolul 14.5).

14.1.1. Metoda La Guèrre

Metoda La Guèrre reprezintă un procedeu numeric iterativ utilizat pentru calculul soluţiilor unei ecuaţii algebrice şi presupune parcurgerea următoarelor etape, [RMM01]:

1. Definirea vectorului coeficienţilor ecuaţiei algebrice, v, ce urmează a fi rezolvată. 2. Se alege, drept soluţie iniţială, coeficientul termenului liber, v0, al ecuaţiei. 3. Se construieşte un şir a cărui limită este o rădăcină a ecuaţiei algebrice. Expresia

termenului general al acestui şir este prezentată în continuare:

- vectorul coeficientilor ecuatiei algebrice: v

2−

1

5

1

2

:=

- expresia ecuatiei algebrice: P v x,( )

0

4

i

vi xi⋅∑=

:=

- expresia derivatei de ordinul I: d v x,( )

1

4

i

vi i⋅ xi 1−⋅∑=

:=

- expresia derivatei de ordinul II: d2 v x,( )

2

4

i

vi i⋅ i 1−( )⋅ xi 2−⋅∑=

:=

Page 182: Aplicata in Inginerie Mathcad 2001

182

polyroots

2−

1

5

1

2

0.715−

0.142− 1.666i−

0.142− 1.666i+

0.5

=- calculul solutiilor ecuatiei utilizand functia polyroots:

P v glast g( ),( ) 0=

P v g,( )

40

2.037−

0.344−

1.186 10 4−×

4.774− 10 15−×

0

0

=

2 0 2 4 6 8

50

P v gj,( )

j

- valorile calculate ale polinomului :

g

2−

0.156252−

0.666878−

0.715241−

0.715225−

0.715225−

0.715225−

=

0 2 4 6 8

4

2

2

gj

j

- valorile calculate ale sirului ce converge spre radacina ecuatiei:

gi gi 1− a v gi 1−,( )−:=- expresia sirului ce are ca limita solutia ecuatiei:

j 0 Nr..:=i 1 Nr..:=Nr 6:=- numarul total de iteratii:

g0 2−===>g0 v0:=- solutia initiala:

a v x,( )4

d v x,( ):=

d v x,( ) if d1 v x,( ) d2 v x,( )> d1 v x,( ), d2 v x,( ),( ):=

d2 v x,( ) G v x,( ) 4 1−( ) 4 H v x,( )⋅ G v x,( )2−( )⋅−:=

d1 v x,( ) G v x,( ) 4 1−( ) 4 H v x,( )⋅ G v x,( )2−( )⋅+:=

H v x,( ) G v x,( )2 d2 v x,( )P v x,( )

−:=G v x,( )d v x,( )P v x,( )

:=Se definesc urmatoarele cantitati:

4. Se determină o rădăcină, 1x , a ecuaţiei algebrice.

5. Se simplifică ecuaţia cu expresia 1xx − :

Page 183: Aplicata in Inginerie Mathcad 2001

183

)x(fxx

)x(fn

n1

1−=

−. (14.6)

Dacă presupunem că ecuaţia de rezolvat este de forma (14.4) se observă că ecuaţia rezultată, )x(fn 1− , este tot o ecuaţie algebrică, dar de grad inferior.

6. Se reia algoritmul, de la pasul 1, pentru ecuaţia (14.6) astfel obţinută, până se calculează toate cele n rădăcini ale ecuaţiei iniţiale.

14.1.2. Metoda companionului matriceal

Această metodă, [RMM00], de calcul a rădăcinilor unei ecuaţii algebrice de ordinul n, presupune determinarea rădăcinilor ca valori proprii ale matricei:

1

2

1

0

1000

0100

001000010000

−−

−−−

n

i

a

a

aaa

LL

MMLMLMM

LL

MMLMLMM

LL

LL

LL

.

Valorile 10 −∈ n,i,ai reprezintă coeficienţii ecuaţiei algebrice, de gradul n, mai puţin coeficientul termenului ce conţine necunoscuta la puterea n. Exemplul 3: Să se rezolve ecuaţia algebrică de gradul şase:

0243419514 23456 =+⋅+⋅+⋅−⋅−+ xxxxxx .

- expresia ecuatiei algebrice:

P x( ) x6 x5+ 14 x4⋅− 5 x3⋅− 19 x2⋅+ 34 x⋅+ 24+:=

P x( ) coeffs x,

24

34

19

5−

14−

1

1

→ ==> v

24

34

19

5−

14−

1

1

:=

- se definesc tablourile:j 0 length v( ) 2−..:= i 0 length v( ) 3−..:=

Cj v j:=

A identity length v( ) 2−( ):=

F0 i, 0:=

G augment stack F A,( ) C−,( ):= ==> G

0

1

0

0

0

0

0

0

1

0

0

0

0

0

0

1

0

0

0

0

0

0

1

0

0

0

0

0

0

1

24−

34−

19−

5

14

1−

=

- vectorul coeficientilor ecuatieii algebrice:

Page 184: Aplicata in Inginerie Mathcad 2001

184

- calculul valorilor proprii ale tabloului G:

valorile obtinute reprezinta radacinile ecuatiei algebrice

r eigenvals G( ):= ==> r

0.5− 0.866i+

0.5− 0.866i−

1−

2

3

4−

=

- calculul solutiilor ecuatiei utilizand functia polyroots:

polyroots v( )

4−

1−

0.5− 0.866i−

0.5− 0.866i+

2

3

=

14.2. REZOLVAREA NUMERICĂ ITERATIVĂ A ECUAŢIILOR TRANSCENDENTE

Ecuaţiile transcendente au fost denumite astfel de către matematicianul Leonhard EULER, „quod algebrae vires transcendent”, deoarece rezolvarea lor este mai dificilă decât cea a ecuaţiilor algebrice. Din această categorie de ecuaţii fac parte: ecuaţii exponenţiale, ecuaţii logaritmice, ecuaţii trigonometrice etc.

În Mathcad acest tip de ecuaţii se rezolvă prin intermediul funcţiei root. Datorită algoritmilor, pe care îi utilizează, root reprezintă o funcţie cu un grad mare de generalitate, ce poate fi folosită la rezolvarea ecuaţiilor cu o necunoscută, indiferent de tipul lor.

În funcţie de numărul argumentelor cu care este apelată, funcţia root permite calculul numeric iterativ al soluţiilor unei ecuaţii în două variante:

o Sintaxa funcţiei: root(f(x), x);

root(f(x), x, a, b);

o Argumentele funcţiei: x – reprezintă variabila ecuaţiei. Acestei variabile, anterior apelării funcţiei root, i se va atribui o valoare iniţială pe baza căreia se calculează numeric soluţia ecuaţiei;

f(x) – reprezintă funcţia, a cărei rădăcină dorim să o calculăm, din condiţia:

0=)x(f ; (14.7)

a, b – reprezintă limita inferioară, respectiv cea superioară, ba < , a intervalului în care se caută soluţia ecuaţiei;

o Valoarea returnată: soluţia numerică aproximativă, sol, a ecuaţiei (14.7), care respectă condiţia:

TOL)sol(f ≤ (14.8)

o Observaţii:

a. Funcţia root, varianta cu două argumente, poate fi utilizată respectând următorii paşi:

Page 185: Aplicata in Inginerie Mathcad 2001

185

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se defineşte expresia funcţiei )x(f , a cărei soluţie urmează a fi calculată.

3. Se precizează valoarea iniţială a variabilei x. Această valoare iniţială reprezintă o primă aproximaţie a soluţiei ecuaţiei. Succesul rezolvării depinde de alegerea adecvată a soluţiei iniţiale. De aceea se recomandă ca valoarea de start să fie cât mai apropiată de soluţie. Pentru ecuaţiile transcendente nu se cunoaşte a priori numărul de soluţii.

Prin reprezentarea grafica a funcţiei, )x(f , se pot obţine informaţii despre numărul şi poziţionarea acestora.

De asemenea, odată reprezentată grafic funcţia, prin utilizarea facilităţilor de afişare a coordonatelor cursorului în graficele 2D, vezi subcapitolul 9.1.8.2., se poate determina cu suficientă precizie valoarea iniţială a soluţiei ecuaţiei.

4. Se apelează funcţia root. ______________________________________________________________________________________________

Exemplul 4: Să se rezolve ecuaţia transcedentală:

( ) 05901 81 =+⋅−− e.x . .

f x( ) x 1−( )1.8 0.9 e

x

2⋅− 5+:= - expresia functiei.

0 2 4 6 8 10

20

10

10

f x( )

x

x 7.03:= - precizarea valorii initiale.

y root f x( ) x,( ):= - apelarea functiei root

==> y 7.047= - solutia ecuatiei

Verificare: f y( ) 5.77− 10 4−×=

b. O altă modalitate de utilizare a acestei funcţii constă în posibilitatea introducerii în mod direct a expresiei funcţiei )x(f , ca primul argument al funcţiei root. În cele ce urmează este prezentat acest mod de utilizare al funcţiei root, pentru rezolvarea ecuaţiei din exemplul 4.

Page 186: Aplicata in Inginerie Mathcad 2001

186

x 7.03:= - precizarea valorii initiale.

y root x 1−( )1.8 0.9 e

x

2⋅− 5+ x,

:= - apelarea functiei root

==> y 7.047= - solutia ecuatiei

Verificare: f y( ) 5.77− 10 4−×=

c. În cazul funcţiei root, varianta cu două argumente, există câteva posibilităţi de utilizare

necorespunzătoare. În continuare sunt prezentate greşelile frecvente, ce pot apare, în utilizarea acestei funcţii:

root f x( ) 6.5,( ) =6.5Cazul 3:

root f z,( ) =fz 6.5:=Cazul 2:

root f x( ) y,( ) =f x( )y 6.5:=Cazul 2:

root f x1( ) x1,( ) =x1x1 6.5:=Cazul 1:

2. Utilizarea necorespunzatoare a functiei root:

root f t( ) t,( ) 7.349=t 6.5:=

1. Rezolvarea ecuatiei f(x)=0:

- expresia functiei.f x( ) 2x 3 x2⋅− 1−:=

d. Dacă se caută o rădăcină complexă a ecuaţiei, valoarea iniţială trebuie să fie un număr complex.

Exemplul 5: Să se rezolve ecuaţia:

0243419514 23456 =+⋅+⋅+⋅−⋅−+ xxxxxx .

P x( ) x6 x5+ 14 x4⋅− 5 x3⋅− 19 x2⋅+ 34 x⋅+ 24+:=

Valori initiale: Apelarea functiei root: Valorile radacinilor:

x 1 i+:= Sol0 root P x( ) x,( ):= Sol0 0.5− 0.8660254i+=

x 1 i−:= Sol1 root P x( ) x,( ):= Sol1 0.5− 0.8660254i−=

e. Varianta funcţiei root, cu patru argumente, nu necesită precizarea unei valori iniţiale, pentru calculul soluţiei unei ecuaţii. Intervalul [a,b] ce conţine soluţia ecuaţiei trebuie, în schimb, specificat sub forma unor valori ale celor două argumente suplimentare. În acest caz trebuie să fie respectate condiţiile:

intervalul [a,b] trebuie ales astfel încât să conţină doar o singură rădăcină;

0<⋅ )b(f)a(f .

Page 187: Aplicata in Inginerie Mathcad 2001

187

g x( ) x 1−( )1.8 5+ 0.9 e

x

2⋅−:= - expresia functiei.

x 7.01:= - precizarea valorii initiale.

y root g x( ) x,( ):= - apelarea funcitiei root

==> y 7.047= - solutia ecuatiei

f. Dacă o ecuaţie are mai multe rădăcini, pentru a le determina, este necesar să utilizăm funcţia root cu diferite valori iniţiale. În aceste condiţii valorile iniţiale, pentru calculul tuturor soluţiilor, se pot determina prin reprezentarea grafică a funcţiei.

Exemplul 6: Să se rezolve ecuaţia:

( ) 83212 .xsinxln =⋅−+ .

r8 14.787230=r8 root F t( ) t,( ):=t 14.50:=

r7 13.331971=r7 root F t( ) t,( ):=t 12.95:=

r6 9.104562=r6 root F t( ) t,( ):=t 8.95:=

r5 6.224365=r5 root F t( ) t,( ):=t 5.90:=

r4 6.326164−=r4 root F t( ) t,( ):===>t 6.50−:=

20 10 0 10 20

5

5

F x( )

x

Valori initiale: Apelarea functiei root: Valorile radacinilor:

t 18.0−:= r0 root F t( ) t,( ):= r0 17.539885−=

t 16.9−:= r1 root F t( ) t,( ):= r1 16.899798−=

t 12.15−:= r2 root F t( ) t,( ):= r2 11.943153−=

t 10.15−:= r3 root F t( ) t,( ):= r3 9.825561−=

F x( ) ln x2 1+( ) 2sin x( )− 3.8−:=

g. Precizia de calcul a soluţiei unei ecuaţii poate fi controlată prin utilizarea variabilei predefinite TOL, din condiţia (14.8). Această variabilă poate lua valori în intervalul [0,1].

Page 188: Aplicata in Inginerie Mathcad 2001

188

Valoarea implicită a acestei variabile

este 10-3. Pentru a modifica precizia de rezolvare a unei ecuaţii există două metode:

• prin supradefinirea, în foaia de calcul, a valorii variabilei TOL. Valoarea minimă recomandată a acestei variabile este 10-15. Modificarea valorii variabilei TOL se efectuează înaintea apelării funcţiei root;

• prin modificarea valorii Convergence Tolerance (TOL), din fereastra de dialog a tab-ului Built-In Variables, ce apare ca urmare a alegerii opţiunii Options meniul Math.

h. În anumite circumstanţe, stabilirea unei valori mici a variabilei TOL, sau alegerea unei valori iniţiale îndepărtate de soluţia ecuaţiei, pot conduce la compromiterea rezolvării ecuaţiei. În general, micşorarea valorii lui TOL are ca efect creşterea timpului de calcul necesar pentru obţinerea soluţiei.

Exemplul 7: Să se rezolve ecuaţia transcedentală: ( ) xx exe ⋅=−⋅ 45 .

i. Pentru o ecuaţie care are mai multe rădăcini şi la care am determinat o valoare r a unei soluţii, căutarea unei noi rădăcini se poate realiza prin ecuaţia echivalentă, [UGM00]:

0=− )rx(

)x(f (14.9)

Acest procedeu, împreună cu scăderea valorii variabilei TOL, poate fi utilizat cu succes pentru a calcula două rădăcini foarte apropiate ale unei ecuaţii.

j. Dacă funcţia f(x) are o pantă mică în vecinătatea soluţiei, valoarea calculată a rădăcinii poate rezulta cu o precizie relativ scăzută. În acest caz, pentru îmbunătăţirea preciziei de rezolvare se poate micşora valoarea variabilei TOL, sau se va căuta rădăcina ecuaţiei, [RMM00]:

0=′ )x(f

)x(f . (14.10)

Mai jos este prezentat modul de utilizare al ecuaţiei (14.10) pentru calculul rădăcinilor ecuaţiei din exemplul anterior.

Page 189: Aplicata in Inginerie Mathcad 2001

189

F x( ) 5 ex 4−( )⋅:= G x( ) x ex⋅:= H x( ) F x( ) G x( )−:=

TOL 10 10−≡ root H k( ) k, 4.5, 5,( ) 4.8422076548=

TOL 10 15−:= root H k( ) k, 4.5, 5,( ) =root H k( ) k, 4.5, 5,( )

4.6 4.7 4.8 4.9 5

600

800

F x( )

G x( )

x

x5 ex 3−( )⋅ x ex⋅− d

d4 exp x( )⋅ x exp x( )⋅−→ substitute x k, 4 exp k( )⋅ k exp k( )⋅−→

5 ek 3−( )⋅ k ek⋅−

4 exp k( )⋅ k exp k( )⋅−simplify 5− exp k( )⋅ 15+ k exp k( )⋅+( )

exp k−( )4− k+( )

⋅→

k 4.8422:=

root 5− exp k( )⋅ 15+ k exp k( )⋅+( )exp k−( )

4− k+( )⋅ k,

4.88681923318=

k. Funcţia root, împreună cu valori mici, atribuite variabilei TOL, poate fi utilizată pentru

rafinarea soluţiilor ecuaţiilor algebrice. În continuare este prezentată foaia de calcul care ilustrează această procedură, în cazul ecuaţiei algebrice din exemplul 2.

- expresia ecuatiei polinomiale

F x( ) x5 3.5 x4⋅− 3.25 x3

⋅+ 1.125 x2⋅− 3.375 x⋅+ 3.375−:=

- determinarea solutiilor ecuatiei prin metoda LaGuerre:

polyroots

3.375−

3.375

1.125−

3.25

3.5−

1

0.500000065581− 0.866025442682i−

0.500000058999− 0.86602542541i+

1.496910757836 0.005362691362i+

1.496918252261 0.00536267409i−

1.506171114483

=

F

0.500000065581− 0.866025442682i−

0.500000058999− 0.86602542541i+

1.496910757836 0.005362691362i+

1.496918252261 0.00536267409i−

1.506171114483

1.34248 10 6−× 2.58833i 10 7−

×+

1.12671 10 6−× 7.26888i 10 9−

×−

1.12304 10 6−× 1.81963i 10 9−×+

1.12100 10 6−× 1.70997i 10 9−×+

1.12212 10 6−×

=

- testarea solutiilor obtinute :

Page 190: Aplicata in Inginerie Mathcad 2001

190

-rafinarea solutiei x =1.506171114483

TOL 10 15−:=

y 1.506171114483:=

sol root F y( ) y,( ):= ==> sol 1.5000037304=

Verificare: F 1.50000( ) 0.0000000000=

l. Funcţia root poate fi utilizată şi la rezolvarea unei familii de ecuaţii, ce depinde de un parametru, ale cărui valori sunt cunoscute.

Exemplul 8: Să se rezolve ecuaţia:

( ) 011 =−+− −− aa xx ,

pentru următoarele valori ale parametrului a: 0.4; 0.5; 0.8; 1.0; 1.5; 2.2.

TOL 10 10−:=

F x a,( ) 1 x a−− 1 x−( ) a−

+:= - expresia functiei

a

0.4

0.5

0.8

1.0

1.5

2.2

:= - valorile parametrului a

i 0 length a( ) 1−..:=

Solutia initiala: Rezolvarea ecuatiei in functie de diferitele valori ale parametrului a

y 0.3:=

soli root F y ai,( ) y,( ):=

Solutiile familiei de ecuatii: sol

0.161612

0.219952

0.336723

0.381966

0.442219

0.475402

=

m. Funcţia root poate fi utilizată pentru definirea, de către utilizator, a unor noi funcţii. În cele ce urmează este prezentată o foaie de calcul Mathcad unde funcţia root este utilizată pentru definirea funcţiei inverse. Acest lucru este posibil prin rezolvarea succesivă, pentru diferite valori ale variabilei x, a ecuaţiei:

x)x(f = (14.11)

Exemplul 9: Să se determine inversa funcţiei:

⋅−=

510 tsint)t(F .

Page 191: Aplicata in Inginerie Mathcad 2001

191

TOL 10 14−:=

p 0:= -solutia initiala

I x( ) root p 10 sinp5

⋅−

x− p,

:= - definirea functiei inverse.

q 5− 4.9995−, 5..:=

4 2 0 2 4

4

2

2

4

5

5−

t 10 sint

5

I q( )

r

55− t q, r,

n. Metodele numerice, de calcul a rădăcinii unei ecuaţii, utilizate de funcţia root – varianta cu două argumente, sunt:

metoda coardei; metoda Mueller

şi metoda Ridder; metoda Brent,

în cazul variantei cu patru argumente.

La apelarea funcţiei root algoritmii intră, în acţiune, în ordinea enumerării lor. Dacă prima metodă iterativă nu este convergentă, sau nu se poate determina rădăcina cu precizia impusă, atunci se trece automat la utilizarea celei de a doua metode. Dacă nici în acest caz nu este posibilă obţinerea soluţiei cu nivelul de precizie cerut, Mathcad-ul afişează un mesaj de eroare. Acelaşi mesaj de eroare poate apare şi în situaţiile următoare, [RMM01]:

ecuaţia nu are soluţie relativ la domeniul ei de definiţie; valoarea iniţială furnizată funcţiei root este prea departe de rădăcina ecuaţiei; funcţia f(x) are un punct de extrem local (punct de maxim sau de minim) în

vecinătatea soluţiei ecuaţiei; funcţia f(x) are un punct de discontinuitate în vecinătatea soluţiei ecuaţiei; ecuaţia are rădăcini complexe, iar valoarea iniţială a fost precizată cu valoare

reală.

Page 192: Aplicata in Inginerie Mathcad 2001

192

14.2.1. Metoda coardei Sub această denumire se întâlnesc două metode, diferite, de calcul numeric iterativ a soluţiei unei ecuaţii, [MEM80]:

• metoda falsei poziţii (sau metoda secantei); • metoda coardei cu punct fix.

14.2.1.1. Metoda falsei poziţii

Presupunem că ecuaţia (14.7) are o rădăcină reală, xr, izolată în intervalul [a,b] şi că f’(x) este continuă şi păstrează semnul pentru x∈[a,b].

Având o aproximaţie iniţială, x0, a rădăcinii xr, prin această metodă se poate construi un şir xi, n,i 1∈ , a cărui limită este:

rnnxxlim =

∞→. (14.12)

Se procedează în felul următor:

Se alege, vezi fig. 14.1, un nou punct x1, din condiţia, [MEM80], [ŞAB83]:

)x(f)x(f 01 < (14.13)

Fig. 14.1 Metoda falsei poziţii, sau metoda secantei

Cele două puncte de pe curba y = f(x), M0(x0, y0 = f(x0)) şi respectiv M1(x1, y0 = f(x1)), se unesc printr-o dreaptă de ecuaţie:

01

1

01

1

yyyy

xxxx

−−

=−− . (14.14)

Ecuaţia (14.14) se poate scrie sub forma:

M1(x1,f(x1))

M2(x2,f(x2))

M3(x3,f(x3))

x0 x1

x2

x3 x4 x

f(x) M0(x0,f(x0))

M4(x4,f(x4))

xr

b

0

a

Page 193: Aplicata in Inginerie Mathcad 2001

193

( ) ( )01

11

10

10

xxxxy

xxxxyy

−−⋅

−−−⋅

= . (14.15)

Următorul punct, x2, al şirului ce converge la limită spre rădăcina ecuaţiei, se alege la intersecţia dreptei 10MM cu axa Ox. Abscisa acestui punct se determină pe baza ecuaţiei (14.15), din condiţia:

==

02

yxx

. (14.16)

După o serie de transformări, rezultă:

10

10012 yy

yxyxx−

⋅−⋅= . (14.17)

Se trasează secanta prin punctele 21MM . Următorul punct, x3, al şirului ce converge la limită spre rădăcina ecuaţiei, se alege la intersecţia dreptei 21MM cu axa Ox. Se obţine, procedând asemănător ca în cazul punctului x2, abscisa:

21

21123 yy

yxyxx−

⋅−⋅= . (14.18)

Se determină punctul x4 etc.

Expresia generală a şirului ce converge la limită spre rădăcina ecuaţiei rezultă:

)x(f)x(f

)x(fx)x(fxyy

yxyxxnn

nnnn

nn

nnnnn −

⋅−⋅=

−⋅−⋅

=−

−−

−−+

1

11

1

111 . (14.19)

După fiecare iteraţie se calculează n,i),x(f i 1∈ şi se testează dacă:

ε≤)x(f i , (14.20)

unde ε reprezintă precizia impusă pentru rezolvarea ecuaţiei. Dacă condiţia (14.20) este îndeplinită algoritmul de calcul este forţat să se oprească, iar valoarea xi, este returnată drept soluţie a ecuaţiei.

14.2.1.2. Metoda coardei cu punct fix

Presupunem că ecuaţia (14.7) are o rădăcină reală, xr, izolată în intervalul [a,b] şi că f’(x) este continuă şi păstrează semnul pentru x∈[a,b].

Pornind de la o aproximaţie iniţială, x0, a rădăcinii xr, această metodă permite construirea un şir xi, n,i 1∈ , a cărui limită este xr, procedând în felul următor, [MEM80], [LAR89]:

Se alege, vezi fig. 14.2, un nou punct x1, din condiţia (14.13). Cele două puncte de pe curba y = f(x), M0(x0, y0 = f(x0)) şi respectiv M1(x1, y0 = f(x1)), se unesc printr-o dreaptă de ecuaţie:

01

1

01

1

yyyy

xxxx

−−

=−− . (14.21)

Următorul punct, x2, al şirului ce converge la limită spre rădăcina ecuaţiei, se alege la intersecţia dreptei 10MM cu axa Ox. Abscisa acestui punct se determină pe baza ecuaţiei (14.21), din condiţia:

Page 194: Aplicata in Inginerie Mathcad 2001

194

==

02

yxx

. (14.22)

Rezultă, după o serie de transformări:

10

1011

10

10012 yy

xxyxyy

yxyxx−−

⋅−=−

⋅−⋅= . (14.23)

Se trasează coarda prin punctele 20MM . Următorul punct, x3, al şirului ce converge la limită

spre rădăcina ecuaţiei, se alege la intersecţia dreptei 20MM cu axa Ox. Se obţine, procedând asemănător ca în cazul punctului x2, valoarea abscisei:

20

20223 yy

xxyxx−−

⋅−= . (14.24)

Fig. 14.2 Metoda coardei cu punct fix

Se determină punctul x4 etc.

Expresia generală a şirului ce converge la limită spre rădăcina ecuaţiei rezultă:

)x(f)x(f

xx)x(fxyyxxyxx

nnn

n

nnnn −

−⋅−=

−−

⋅−=+0

20

0

01 . (14.25)

La fiecare iteraţie se calculează n,i),x(f i 1∈ şi se testează dacă:

TOL)x(f i ≤ , (14.26)

unde TOL reprezintă o variabilă Mathcad predefinită. Valoarea implicită a acestei variabile este 10-3. Dacă condiţia (14.26) este îndeplinită algoritmul de calcul este forţat să se oprească, iar valoarea xi, este returnată drept soluţie a ecuaţiei.

Metoda coardei cu punct fix, cu diferite implementări, este utilizată de funcţia root, pentru calculul numeric iterativ al rădăcini unei ecuaţii.

M0(x0,f(x0))

f(x)

x x0 x1

x2 x3 x4

M1(x1,f(x1))

M2(x2,f(x2)) M3(x3,f(x3)) M4(x4,f(x4)) xr

Page 195: Aplicata in Inginerie Mathcad 2001

195

14.3 REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUAŢII LINIARE

Rezolvarea sistemelor de ecuaţii este una din cele mai frecvente aplicaţii care apare în calculul numeric. Există numeroase fenomene care au ca model matematic sistemele de ecuaţii, sau generează sisteme de ecuaţii. Metodele de rezolvare a sistemelor de ecuaţii liniare pot fi grupate în trei categorii:

cu ajutorul matricei inverse; cu ajutorul metodei eliminării; cu ajutorul tehnicilor iterative.

Se consideră sistemul de n ecuaţii liniare, cu n necunoscute:

=⋅++⋅+⋅

=⋅++⋅+⋅

=⋅++⋅+⋅=⋅++⋅+⋅

nnnnnn

ininii

nn

nn

bxaxaxa

bxaxaxa

bxaxaxabxaxaxa

L

MMMM

L

MMMM

L

L

2211

2211

22222121

11212111

. (14.27)

Sistemul (14.27) se poate scrie sub formă matriceală: bxA =⋅ , (14.28)

unde s-a notat:

=

==

n

i

n

i

njnninn

iniiii

ni

ni

b

b

bb

;

x

x

xx

;

aaaa

aaaa

aaaaaaaa

M

M

M

M

LL

MLMLMM

LL

MLMLMM

LL

LL

2

1

2

1

21

21

222221

111211

bxA . (14.29)

Sistemul (14.29) are o soluţie unică dacă şi numai dacă determinantul lui A este diferit de zero, adică dacă matricea A este nesingulară. Când matricea A este nesingulară, atunci există matricea inversă A-1, astfel că: IAAAA =⋅=⋅ −− 11 , (14.30)

unde I este matricea unitate de ordinul n.

Rezolvarea sistemului de ecuaţii (14.27) cu ajutorul matricei inverse se bazează pe proprietatea (14.30). Dacă înmulţim ecuaţia (14.28), la stânga cu A-1 şi ţinând seama că I⋅x = x, se obţine: bAx ⋅= −1 . (14.31)

În Mathcad rezolvarea sistemelor de ecuaţii liniare, prin metoda matricei inverse, se realizează foarte simplu prin utilizarea operatorilor specializaţi pentru calculul tablourilor de date.

Exemplul 10: să se rezolve sistemul de ecuaţii liniare,

=⋅+⋅+⋅=⋅+⋅+⋅

=++

2516945432

1

zyxzyx

zyx.

Page 196: Aplicata in Inginerie Mathcad 2001

196

- se definesc tablourile de date:

A

1

2

4

1

3

9

1

4

16

:= b

1

5

25

:=

- se calculeaza solutia sistemului, prin metoda matricei inverse:

x A 1− b⋅:= ==> rezulta solutia sistemului x

1

3−

3

=

Verificare: A x⋅

1

5

25

=

Cea de-a doua posibilitate oferită de Mathcad, pentru rezolvarea sistemelor liniare de ecuaţii, constă în utilizarea funcţiei specializate lsolve:

o Sintaxa funcţiei: lsolve(A, b);

o Argumentele funcţiei: A – reprezintă matricea coeficienţilor, (14.29), celor n necunoscute ale sistemului de ecuaţii (14.33);

b – reprezintă vectorul termenilor liberi, (14.29).

o Valoarea returnată: un vector, avînd n linii × o coloană, ce conţine soluţiile celor n necunoscute ale sistemului de ecuaţii.

o Observaţii:

a. Modul de utilizare al funcţiei lsolve rezultă din foaia de calcul prezentată mai jos.

Exemplul 11: Să se rezolve sistemul de ecuaţii liniare,

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

=++⋅+⋅

26232532832

1032

tzyxtzyx

tzyxtzyx

.

- se definesc tablourile de date:

A

2

1

1−

3

3

2

1−

1−

1

3−

2

1

1

1

3

2

:= b

10

8−

25

26

:=

- se calculeaza solutia sistemului:

x

y

z

t

lsolve A b,( ):= ==> rezulta solutia sistemului: x 2.76471=

y 1.86275−=

z 4.27451=

t 5.78431=

Verificare: A

x

y

z

t

10

8−

25

26

=

Page 197: Aplicata in Inginerie Mathcad 2001

197

b. Funcţia lsolve se utilizează pentru rezolvarea sistemelor liniare de n ecuaţii cu n necunoscute. Rezolvarea sistemelor de ecuaţii supradeterminate, de n ecuaţii cu m necunoscute, unde m < n, se poate realiza prin utilizarea funcţiei Find.

c. Dimensiunile maxime, ale sistemelor liniare de ecuaţii, ce pot fi rezolvate prin utilizarea funcţiei lsolve sunt 50 de ecuaţii cu 50 de necunoscute pentru Mathcad varianta Premium şi 500 de ecuaţii cu 500 de necunoscute în cazul Mathcad-ului varianta profesională.

d. Precizia de rezolvare a sistemului de ecuaţii depinde de valoarea numărului de condiţionare a matricei A şi de complexitatea sistemului. Numărul de condiţionare oferă informaţii despre precizia cu care poate fi inversată o matrice. În Mathcad există câteva funcţii predefinite, având ca argument un tablou pătratic, care calculează condiţionarea unei matrice pe baza diferitelor norme existente. Aceste funcţii sunt prezentate în tabelul 14.1. Valori mari ale numărului de condiţionare indică faptul că matricea este aproape singulară, deci precizia de calcul, a soluţiilor sistemului de ecuaţii, este slabă.

e. Algoritmul de rezolvare, implementat funcţiei lsolve, are la bază metoda lui Crout.

Tabelul 14.1 Funcţii pentru determinarea condiţionării matricelor

Nr. crt.

Sintaxa funcţiei Valoarea returnată Observaţii

1. cond1(A) Valoarea de condiţionare a matricei A calculată cu ajutorul normei L1:

norm1(A)⋅norm1(A-1)

Funcţia norm1(A) returnează valoarea normei L1:

= ∑

=−=

1

010

n

ij,i

n,jAmax)( Anorm1 .

2. cond2(A) Valoarea de condiţionare a matricei A calculată cu ajutorul normei L1:

Norm2(A)⋅norm2(A-1)

Funcţia norm2(A) returnează valoarea normei L2.

3. condi(A) Valoarea de condiţionare a matricei A calculată cu ajutorul normei infinite:

normi(A)⋅normi(A-1)

Funcţia normi(A) returnează valoarea normei infinite:

= ∑

=−=

1

010

n

jj,i

n,iAmax)( Anormi

4. conde(A) Valoarea de condiţionare a matricei A calculată cu ajutorul normei euclidiene:

norme(A)⋅norme(A-1)

Funcţia norme(A) returnează valoarea normei euclidiene:

21

1

0

1

0

2

= ∑∑

=

=

n

i

n

jj,iA)( Anorme

14.3.1. Metoda lui Crout

Această metodă exactă de rezolvare a sistemelor liniare se aplică matricei A, a sistemului de ecuaţii (14.27) şi constă în descompunerea lui A într-un produs de două matrice T şi S, inferior şi respectiv superior triunghiulare, [POS94]:

AST =⋅ , (14.32)

Page 198: Aplicata in Inginerie Mathcad 2001

198

unde:

.jisji

s

;n,j,n,i,s

;jitjiji

t

;n,j,n,i,t

ijij

ij

ij

ij

ij

≤>

=

∈∈≡

><=

=

∈∈≡

dacãdacã0

11

dacãdacã0dacã1

11

S

T

. (14.33)

Pentru a exemplifica modul de identificare al elementelor tij şi sij se consideră cazul unui sistem de patru ecuaţii cu patru necunoscute. În acest caz, folosind relaţiile (14.33), rezultă:

44

3433

242322

14131211

434241

3231

21

00000

0

1010010001

ssssssssss

,

ttttt

t== ST

şi

44344324421441334323421341224212411141

34213214313323321331223212311131

2414212313212212211121

14131211

sstststststststststsststsststststst

sstsstsststssss

+⋅+⋅+⋅⋅+⋅+⋅⋅+⋅⋅+⋅+⋅+⋅+⋅⋅+⋅⋅

+⋅+⋅+⋅⋅=⋅ ST .

(14.34)

Considerăm matricea A de forma (14.29) şi prin identificare din ecuaţia (14.34), obţinem:

.k,kistas

t

;k,jkstas

;,aat

;,as

k

ppkipik

kkik

k

ppjkpkjkj

ii

jj

2dacã1

2dacã

n2,ipentru

n1,jpentru

1

1

1

1

11

11

11

≥>

⋅−⋅=

≥≤⋅−=

∈=

∈=

∑−

=

=

. (14.35)

Relaţiile (14.35) pot fi utilizate la calculul matricelor T şi S, indiferent de numărul de necunoscute a sistemului de ecuaţii.

În continuare se defineşte 111 bs n, =+ ; in,i ba =+1 şi se utilizează cea de-a treia ecuaţie din relaţiile (14.35), cu j = n + 1, pentru a construi o nouă coloană matricei S, (si,n+1). Această nouă coloană, pe care o notăm cu b(n), se foloseşte împreună cu matricea iniţială S la determinarea soluţiilor sistemului de ecuaţii, din condiţia (14.28). Dacă se înlocuieşte, în ecuaţia (14.28), relaţia (14.32), rezultă:

)n(bTxST ⋅=⋅⋅ . (14.36)

Înmulţind, apoi, ecuaţia (14.36), la stânga, cu T-1 obţinem:

)n(bxS =⋅ . (14.37)

Page 199: Aplicata in Inginerie Mathcad 2001

199

Relaţia (14.37) stă la baza calculului soluţiilor sistemului liniar de ecuaţii. Se utilizează relaţiile:

( )

( )

−−=

⋅−⋅=

=

∑+=

.,,,n,ni,xsbs

x

sbx

n

ijjij

ii

iii

nn

nn

n

12211

1L

. (14.38)

Semnificaţia relaţiilor (14.38) rezultă din metoda de eliminare lui Gauss. De aceea în continuare va fi prezentată această metodă tradiţională de rezolvare a sistemelor liniare de ecuaţii.

14.3.2. Metoda de eliminare a lui Gauss

Asemenea metodei lui Crout şi metoda de eliminare a lui Gauss este o metodă exactă de calcul a soluţiilor unui sistem liniar de ecuaţii. Singurele erori care pot să apară sunt erori de rotunjire. De aceea, în cazul sistemelor cu un număr mare de ecuaţii, soluţiile sunt numere aproximative. În plus, expresiile soluţiilor obţinute, prin utilizarea celor două metode, sunt identice. Se preferă, totuşi, utilizarea metodei lui Crout datorită faptului că ea reduce considerabil numărul de elemente intermediare ce trebuie memorate.

Ideea metodei de eliminare a lui Gauss constă în reducerea sistemului dat la un sistem cu matrice triunghiulară şi apoi explicitarea succesivă a necunoscutelor, [MAR87], [DOD76].

Pentru simplificarea expunerii principiului acestei metode considerăm, la început sistemul:

=⋅+⋅+⋅+⋅=⋅+⋅+⋅+⋅=⋅+⋅+⋅+⋅=⋅+⋅+⋅+⋅

4444343242141

3434333232131

2424323222121

1414313212111

bxaxaxaxabxaxaxaxabxaxaxaxa

bxaxaxaxa

. (14.39)

Fie 011 ≠a , atunci prin împărţirea primei ecuaţii cu a11, avem:

ij,aa

b;bxbxbxbx j >==⋅+⋅+⋅+11

112154143132121 . (14.40)

Folosind (14.40) se elimină x1 din ecuaţiile (2÷4) ale lui (14.39):

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

=⋅+⋅+⋅

=⋅+⋅+⋅

=⋅+⋅+⋅

1454

1443

1432

142

1354

1343

1332

132

1254

1243

1232

122

axaxaxa

axaxaxa

axaxaxa

, (14.41)

unde:

( ) 21111 ≥⋅−= j,i;baaa jijij . (14.42)

Analog, dacă ( ) 0122 ≠a , rezultă:

( ) ( ) ( ) ( )( )

( ) 2122

121

21

2541

2431

232 >==⋅+⋅+ j,aa

b;bxbxbx jj . (14.43)

Eliminând pe x2 din ecuaţiile (2÷3) ale lui (14.41), avem:

Page 200: Aplicata in Inginerie Mathcad 2001

200

( ) ( ) ( )

( ) ( ) ( )

=⋅+⋅

=⋅+⋅2

4542

4432

43

2354

2343

233

axaxa

axaxa, (14.44)

unde:

( ) ( ) ( ) ( ) 312

12

12 ≥⋅−= j,i;baaa jiijij . (14.45)

Dacă ( ) 0233 ≠a , rezultă:

( ) ( ) ( )( )

( ) 3233

232

32

3542

343 >==⋅+ j,aa

b;bxbx jj . (14.46)

Eliminând pe x3 din ecuaţiile (14.44), obţinem: ( ) ( )3

4543

44 axa =⋅ , (14.47) unde: ( ) ( ) ( ) ( ) 42

323

23 ≥⋅−= j,i;baaa jiijij . (14.48)

În final s-a obţinut un sistem echivalent cu matricea triunghiulară, A*:

( ) ( )

( )( )

( )

( ) L,,,k,ijaa

b,bbbbbb

* kii

kijk

ij 210pentru

1000100

101

234

124

123

141312

=>==A , (14.49)

cu vectorul termenilor liberi, b(n):

( )( )

( )

( )

=

345

235

125

15

b

b

b

b

nb (14.50)

şi cu soluţia:

( )

( )

( ) ( )

( ) ( ) ( )

⋅−⋅−⋅−=⋅−⋅−=

⋅−=

=

414313212151

41

2431

231

252

42

342

353

344

345

4

xbxbxbbxxbxbbx

xbbx

aax

. (14.51)

Soluţia sistemului liniar de ecuaţii (14.27) se poate obţine prin rezolvarea sistemului echivalent: ( )n* bxA =⋅ , (14.52)

unde A* şi b(n) se obţin din matricea A şi respectiv vectorul b, prin procedeul eliminării gaussiene utilizând relaţii de tipul (14.40) ÷ (14.52).

În plus, se constată, analizând relaţiile (14.38) şi (14.51), că metoda lui Crout şi metoda de eliminare a lui Gauss sunt echivalente din punctul de vedere al expresiilor ce se utilizează pentru calculul soluţiilor sistemului de ecuaţii. Avantajul metodei lui Crout este că reduce considerabil numărul de valori intermediare ce trebuie memorate în procesul de rezolvare.

Page 201: Aplicata in Inginerie Mathcad 2001

201

14.4. REZOLVAREA NUMERICĂ ITERATIVĂ A SISTEMELOR DE ECUAŢII NELINIARE

Forma generală a unui sistem de ecuaţii neliniare este:

( )( )

( )

( )

=

=

==

0

0

00

21

21

212

211

mip

mij

mi

mi

x,,x,,x,xf

x,,x,,x,xf

x,,x,,x,xfx,,x,,x,xf

KK

M

KK

M

KK

KK

, (14.53)

unde:

m,i,xi 1= - reprezintă cele m necunoscute ale sistemului de ecuaţii;

,p,j),x,,x,,x,x(f mij 121 =KK - reprezintă mp ≥ expresii matematice ce depind de cele m variabile, ix

Rezolvarea numerică, a unui sistem de neliniar de ecuaţii, reprezintă o problemă complexă. Se face apel în acest caz la o serie de algoritmi de calcul deosebit de puternici şi cu un grad mare de generalitate. În Mathcad, rezolvarea numerică a unei astfel de probleme, se realizează pornind de la o aproximaţie iniţială, a soluţiei, prin intermediul a două funcţii:

o Sintaxa funcţiilor: Find( mi x,,x,,x,x KK21 );

Minerr( mi x,,x,,x,x KK21 );

o Argumentele funcţiei: m,i,xi 1= – reprezintă variabilele sistemului de ecuaţii. Acestor variabile, anterior apelării funcţiei Find/Minerr, li se vor atribui valori iniţiale pe baza cărora se calculează soluţia sistemului de ecuaţii, din condiţiile (14.53);

o Valoarea returnată: un vector, sol, cu m linii × o coloană, ce conţine valorile soluţiilor numerice aproximative, 10 −= m,i,soli , ale sistemului de ecuaţii (14.53). Soluţiile calculate respectă condiţiile:

( )( )

( )

( )

<

<

<<

TOLsol,,sol,,sol,solf

TOLsol,,sol,,sol,solf

TOLsol,,sol,,sol,solfTOLsol,,sol,,sol,solf

mip

mij

mi

mi

110

110

1102

1101

KK

M

KK

M

KK

KK

, (14.54)

În cazul utilizării funcţiei Minerr, dacă condiţiile (14.54) nu pot fi îndeplinite, vectorul sol conţine soluţiile numerice aproximative, ale sistemului de ecuaţii (14.53), calculate din condiţia minimizării erorii pătratice:

minerrerrerrerr pj →+++++ 2222

21 LL , (14.55)

unde s-a notat prin:

Page 202: Aplicata in Inginerie Mathcad 2001

202

( )( )

( )

( )

=

=

==

110

110

11022

11011

mipp

mijj

mi

mi

sol,,sol,,sol,solferr

sol,,sol,,sol,solferr

sol,,sol,,sol,solferrsol,,sol,,sol,solferr

KK

M

KK

M

KK

KK

, (14.56)

o Observaţii:

a. Utilizarea funcţiilor Find şi/sau Minerr se realizează respectând următorii paşi:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se precizează valorile iniţiale ale variabilelor xi. Aceste valori iniţiale reprezintă o primă aproximaţie a soluţiilor sistemului de ecuaţii. Tot cu această ocazie se declară şi variabilele sistemului de ecuaţii. Succesul rezolvării depinde de alegerea adecvată a soluţiilor iniţiale. De aceea se recomandă ca valorile de start să fie cât mai apropiate de soluţia sistemului de ecuaţii.

3. Într-o zonă matematică a foii de calcul, se tastează cuvântul Given. Acesta informează sistemul că pe foaia de lucru există un „bloc de rezolvare” (solve block) care necesită o tratare specifică. Cuvântul Given şi identificatorul funcţiei Find/Minerr pot fi scrise cu litere mici, cu majuscule sau combinate.

4. Se precizează cele p condiţii sub formă de ecuaţii. Scrierea acestor ecuaţii se realizează prin utilizarea operatorului relaţional de identitate, nu simbolul egal. Acesta se obţine

prin acţionarea butonului , din paleta Boolean, sau prin tastarea [Ctrl]+[=].

5. Se apelează funcţia Find, sau Minerr. Zona din foaia de calcul, cuprinsă între cuvântul Given şi funcţia Find, sau Minerr, poartă denumirea de bloc de tip solve. Blocul de rezolvare poate conţine şi alte funcţii ca: Maximize, Minimize sau Odesolve.

______________________________________________________________________________________________________________________

Exemplul 12: Să se determine punctele de intersecţie ale parabolei 334

2−⋅−= xxy şi dreapta de

ecuaţie 3+−= xy .

Sistemul de ecuaţii neliniare, corespunzător problemei din exemplul 12, este

=−+=+⋅+−

0303342

xyxxy

.

x 1−:=y 5:= Given

yx2

4− 3x+ 3+ 0

y x− 3+ Blocul de tip solve

Sol1 Find x y,( ):=

Sol10 2.325−=

Sol11 5.325=

Page 203: Aplicata in Inginerie Mathcad 2001

203

x 10:=- solutiile initiale

y 1:=

Given

yx2

4− 3x+ 3+ 0 Blocul de tip solve

y x− 3+

Sol2 MiNERr x y,( ):= Sol20 10.325=

Sol21 7.325−=

10 0 10 20

20

20x12

43x1− 3−

x1− 3+

Sol11

Sol21

x1 x1, Sol10, Sol20,

- semnificatia geometrica a solutiei sistemului de ecuatii

b. Dacă un sistem de ecuaţii are mai multe rădăcini, pentru a le determina, este necesar să utilizăm funcţia Find/Minerr cu diferite valori iniţiale. În aceste condiţii se poate determina soluţia cea mai apropiată de fiecare valoare iniţială. Acest lucru se poate observa din exemplul anterior.

c. Dacă sistemul de ecuaţii are rădăcini complexe valorile iniţiale trebuie să fie numere complexe. Valorile de start aproximative nu mai pot fi determinate, în acest caz, prin reprezentarea grafică a funcţiilor.

Exemplul 13: să se calculeze soluţiile sistemului de ecuaţii:

=+

−=⋅

22 2

tgxxsinyx .

x i:=

- solutiile initialey 2 i−:=

Given

2 x⋅ y2

Blocul de tip solvesin x( ) tan y( )+ 2− 0

Find x y,( )1.07596 1.46759i+

2.93518 2.15193i−

=

Page 204: Aplicata in Inginerie Mathcad 2001

204

d. Diferenţe între funcţiile Find şi Minerr pot să apară doar la rezultatele returnate. Şi anume, în situaţiile în care condiţiile (14.54) nu pot fi îndeplinite, funcţia Find returnează un mesaj de eroare. În aceleaşi condiţii, utilizarea funcţiei Minerr conduce la obţinerea unei soluţii, care îndeplineşte condiţia (14.55). Precizia de calcul a soluţiei conţinute în vectorul returnat de funcţia Minerr, poate fi apreciată prin valoarea variabilei predefinite ERR. Valoarea acestei variabile este calculată pe baza relaţiei:

2222

21 pj errerrerrerrERR +++++= LL . (14.57)

Exemplul 14: să se determine soluţia sistemului de ecuaţii

−=⋅−−=⋅−

18252

xy.xsinxy

, situată în intervalul

( )100,x∈ .

Given F1 x( ) y− 0F2 x( ) y− 0x 0≥ x 10< x1

y1

MinErr x y,( ):= ==> x1 5.538= si y1 6.094=

Determinarea erorii de calcul: ERR 3.18035=

e1 F1 x1( ) y1−:=

e2 F2 x1( ) y1−:= err e12 e22+:= ==> err 3.18035=

F1 x( ) x sinx2

⋅ 2.5+:= F2 x( ) 2− x⋅ 18+:=

0 2 4 6 8 1010

0

10

F1 x( )

F2 x( )

6.094

x x, 5.538,

TOL 10 10−:=

Utilizarea functiei Find

x 3:=y 4:= Given F1 x( ) y− 0

F2 x( ) y− 0x 0≥ x 10< ==> Find x y,( ) =

Utilizarea functiei Minerrx 3:=y 4:=

e. Funcţia Find, sau Minerr, poate oferi o alternativă, la rezolvarea unei ecuaţii, în situaţiile în care funcţia specializată root nu conduce la rezultatele aşteptate, din punctul de vedere al preciziei de rezolvare, deoarece acestea au la bază alţi algoritmi. Utilizarea funcţiei Find sau Minerr, în această situaţie, se realizează tot sub forma unui bloc de tip solve.

Page 205: Aplicata in Inginerie Mathcad 2001

205

Exemplul 15: Să se rezolve ecuaţia:

( ) ( ) 075010

.xx!kn!k

!nr

k

knk =−⋅⋅−⋅∑

=

− ,

pentru următoarele valori ale paramet rilor: n = 20 şi r = 15

Find t( ) 0.88335975=F t( ) 0

Given

- solutia initialat 0.4:=

- precizia de rezolvare a ecuatieiTOL 10 13−:=CAZUL II:

- fuctia root nu poate rezolva ecuatia cu precizia impusaroot F z( ) z,( ) =root F z( ) z,( )

- solutia initialaz 0.4:=

- precizia de rezolvare a ecuatieiTOL 10 6−:=CAZUL I:

F x( )

0

r

k

n!k! n k−( )!⋅

xk⋅ 1 x−( )n k−

⋅∑=

0.075−:=

Expresia ecuatiei:

- valorile parametrilor ecuatiei.r 15:=n 20:=

.

f. Funcţia Find/Minerr poate fi utilizată la rezolvarea unei familii de sisteme de ecuaţii neliniare, ce depind de un parametru al cărui valori sunt cunoscute.

Exemplul 16: Să se rezolve sistemul de ecuaţii

=+

=+

2

63

22

ayx

ayx

,

pentru următoarele valori ale parametrului a: 1; 2; 3; 5; 6; 19.

x 1:=

y 1:=Given

x2

3y

2

6+ a

x y+a2

P a( ) Find x y,( ):=

Solutia sistemului de ecuatii, pentru a=1; 2; 3; 5; 6; 19

P 1( )1.561

1.061−

= P 3( )2.845

1.345−

= P 6( )4.162

1.162−

=

P 2( )2.277

1.277−

= P 5( )3.768

1.268−

= P 19( )7.403

2.097

=

Page 206: Aplicata in Inginerie Mathcad 2001

206

g. Funcţia Find/Minerr poate fi utilizată la rezolvarea ecuaţiilor matriceale.

Exemplul 17: Să se rezolve ecuaţia matriceală: 1005050100

=⋅+⋅+⋅⋅− XBCXXAX TT , unde,

matricele A, B şi C sunt de forma: ,C,B,A0001

1010

1000

=−

==

A0

0

0

1

:= B0

0

1

1−

:= C1

0

0

0

:=

X identity 2( ):= - solutiile initiale

Given

X− A⋅ X⋅ XT C⋅+ BT X⋅+100

50

50

100

Find X( )50.503−

1.509−

99.75

0.501−

= - solutia ecuatiei matriceale

h. Algoritmii de rezolvare numerică a sistemelor de ecuaţii neliniare, care sunt utilizaţi de funcţia Find/Minerr, permit şi rezolvarea sistemelor combinate de ecuaţii şi inecuaţii. Modul de utilizare al funcţiei Find/Minerr, în această situaţie, este acelaşi ca şi în cazul sistemelor de ecuaţii. Precizarea inecuaţiilor, în interiorul blocului de tip solve, se face prin

utilizarea operatorilor relaţionali, din paleta Boolean, , sau, a operatorilor

Booleeni: .

Sunt permise, de asemenea, şi constrângeri duble de forma: .x 51 <≤−

În continuare este prezentat modul de rezolvare al problemei din exemplul 12, sub forma unui sistem de ecuaţii şi inecuaţii. Pentru delimitarea celor două soluţii ale sistemului de ecuaţii s-au introdus condiţii suplimentare, sub forma unor inegalităţi.

Sol21 7.324555−=

Sol20 10.324555===>Sol2 Find x y,( ):=x 5>

y x− 3+

yx2

4− 3x+ 3+ 0Given

y 4−:=Sol11 5.324555=- solutiile initiale

x 10:=

Sol10 2.324555−===>Sol1 Find x y,( ):=x 5<

y x− 3+

yx2

4− 3x+ 3+ 0Given

y 1−:=- solutiile initiale

x 8:=

Page 207: Aplicata in Inginerie Mathcad 2001

207

i. Utilizarea, cu succes, a blocului de tip solve este restrictivă în privinţa expresiilor ce apar între cuvântul Given şi funcţia Find/Minerr. Astfel, nu sunt permise:

• constrângeri care utilizează operatorul relaţional, , (diferit); • utilizarea variabilelor de tip şir;

• atribuiri, prin utilizarea operatorilor: şi .

De asemenea, un bloc de tip solve nu poate conţine, în interiorul lui, un alt bloc de tip solve, sau numai funcţia Find/Minerr.

Dacă necesităţile de calcul presupun utilizarea funcţiei Find/Minerr în interiorul unui bloc de tip solve, această situaţie poate fi rezolvată printr-o atribuire de forma, [UGM00]:

h x y,( ) Find x y,( ):= . Funcţia )y,x(h , astfel definită, poate fi utilizată în interiorul unui bloc de tip solve.

j. Precizia de calcul, a soluţiei unui sistem de ecuaţii, poate fi controlată prin utilizarea variabilei predefinite TOL, din condiţiile (14.54). Dacă sistemul ce urmează a fi rezolvat conţine şi restricţii sub forma unor inecuaţii, precizia de calcul a soluţiei unei inecuaţii poate fi controlată prin utilizarea variabilei predefinite CTOL.

Să presupunem că inegalităţile sunt de forma: .ct)x(h < (14.58)

În acest caz, se evaluează diferenţa dintre membrul stâng şi membrul drept, iar precizia de rezolvare se consideră corespunzătoare dacă este îndeplinită condiţia:

CTOL<− .ct)sol(h (14.59)

Aceste două variabile pot lua valori în intervalul [0,1], iar valoarea implicită a lor este 10-3. Pentru a modifica precizia de rezolvare a unui sistem de ecuaţii există două modalităţi:

I. prin supradefinirea, în foaia de calcul,

a valorii variabilelor TOL şi CTOL. Valoarea minimă recomandată a acestor variabile este 10-15. Modificarea valorii variabilelor TOL şi CTOL se efectuează înaintea definirii blocului de tip solve;

II. prin modificarea valorilor Convergence Tolerance (TOL) şi Constraint Tolerance (CTOL), din fereastra de dialog a tab-ului Built-In Variables, ce apare ca urmare a alegerii opţiunii Options meniul Math.

k. În anumite circumstanţe, stabilirea unor valori mici ale variabilelor TOL şi CTOL, sau alegerea unor valori iniţiale îndepărtate de soluţia sistemului de ecuaţii, pot conduce la compromiterea rezolvării sistemului. În general, micşorarea valorilor lui TOL şi CTOL are ca efect creşterea timpului de calcul necesar pentru obţinerea soluţiei.

Page 208: Aplicata in Inginerie Mathcad 2001

208

l. Dată fiind complexitatea deosebită a problemelor de rezolvare a sistemelor de ecuaţii şi inecuaţii, metodele numerice de calcul a soluţiilor, utilizate de funcţia Find/Minerr, acţionează specific funcţie de natura sistemului. Aceste metode au la bază:

algoritm pentru rezolvarea sistemelor liniare; algoritm pentru rezolvarea sistemelor cvadratice. Acest algoritm este disponibil

doar în situaţia în care Mathcad-ul conţine Expert Solver-ul, ca urmare a instalării pachetului opţional Solving and Optimisation Extension Pack;

algoritmi pentru rezolvarea sistemelor neliniare, prin:

o metoda gradientului conjugat; o metoda Levenberg-Marquardt; o metode quasi-Newton.

La apelarea funcţiei Find/Minerr, Mathcad-ul identifică tipul sistemului de ecuaţii (liniar, cvadratic sau neliniar) şi alege algoritmul corespunzător. Acest lucru este posibil ca urmare a faptului că opţiunea AutoSelect, din meniul contextual ce apare ca urmare a unui clic pe butonul din dreapta al mouse-ului, în condiţiile în care cursorul se găseşte dispus pe identificatorul funcţiei Find/Minerr, este selectată în mod implicit.

În cazul sistemelor de ecuaţii şi inecuaţii neliniare, algoritmii de rezolvare intră în funcţiune în ordinea prezentării lor din meniu. Prima dată, este utilizată metoda gradientului conjugat. Dacă această metodă iterativă nu este convergentă, sau nu se pot determina rădăcinile cu precizia impusă, atunci se trece automat la utilizarea metodei Levenberg-Marquardt etc.

Dacă, prin nici una din cele trei metode disponibile, nu este posibilă obţinerea soluţiei cu nivelul de precizie cerut, Mathcad-ul afişează un mesaj de eroare, „No solution was found. Try changing the guess value or the value of TOL or CTOL”.

Acelaşi mesaj de eroare poate apare şi în situaţiile următoare:

sistemul de ecuaţii nu are soluţie relativ la domeniul lui definiţie; valorile iniţiale furnizate funcţiei Find sunt prea departe de rădăcinile sistemului

de ecuaţii; sistemul de ecuaţii are rădăcini complexe, iar valorile iniţiale au fost precizate cu

valori reale; algoritmul de rezolvare a atins un punct din care nu se mai poate reduce eroarea

de rezolvare a sistemului; algoritmul de rezolvare a atins un punct din care nu se mai poate determina o

direcţie de căutare a soluţiilor; algoritmul de rezolvare a atins limita de acurateţe pentru calculul soluţiei.

m. Algoritmii de rezolvare a sistemelor de ecuaţii pot fi aleşi, de către utilizator, prin setarea lor manuală. Se procedează în felul următor:

Etape ________________________________ 1. Se dispune cursorul pe identificatorul funcţiei Find/Minerr.

2. Se execută un clic pe butonul din dreapta, al mouse-ului.

3. Se deselectează opţiunea AutoSelect din meniul contextual ce apare.

Page 209: Aplicata in Inginerie Mathcad 2001

209

4. Se selectează, printr-un clic, algoritmul de rezolvare dorit.

5. În situaţia utilizării algoritmilor specifici rezolvării sistemelor neliniare de ecuaţii şi inecuaţii, şi anume, în cazul metodei gradientului conjugat şi metodei quasi-Newton, prin alegerea meniului Advanced Options ..., se pot seta, din meniul contextual aferent, o serie de opţiuni privind controlul suplimentar al:

modului de calcul al derivatelor; modului de determinare al direcţiilor şi

paşilor de căutare a soluţiei; modului de utilizare al restricţiilor

sistemului de ecuaţii pentru determinarea paşilor de căutare a soluţiilor.

Alegerea opţiunii Derivative estimation – Forward permite calculul derivatelor utilizate în procesul de căutare al rădăcinilor pe baza unor relaţii de tipul:

h

)x(f)hx(f)x(df 000

−+= , (14.60)

iar opţiunea Derivative estimation – Central permite calculul derivatelor pe baza unor relaţii de tipul:

h

)hx(f)hx(f)x(df⋅

−−+=

200

0 , (14.61)

Alegerea opţiunii Variabile estimation – Tangent determină paşi de căutare a soluţiilor în direcţia tangentei:

⋅+

⋅+

)y,x(fdydhy

)y,x(fdxdhx

000

0

000

0

(14.62)

la hipersuprafaţa obţinută pe baza unei relaţii de tipul (14.90), iar opţiunea Variabile estimation – Quadratic determină paşi de căutare a soluţiilor în direcţia:

⋅+⋅+

⋅+⋅+

)y,x(fdydh)y,x(f

dydhy

)y,x(fdxdh)y,x(f

dxdhx

0020

22

000

0

0020

22

000

0

2

2 (14.63)

Alegerea opţiunii Linear variabile check determină ca algoritmul de calcul să ia în considerare, la determinarea derivatelor, doar partea liniară a expresiilor sistemului de ecuaţii. Această aproximaţie conduce la simplificarea calculelor.

______________________________________________________________________________________________________________________

n. Dimensiunile maxime, ale sistemelor neliniare de ecuaţii, ce pot fi rezolvate prin utilizarea funcţiei Find/Minerr sunt 50 de ecuaţii cu 50 de necunoscute pentru Mathcad varianta

Page 210: Aplicata in Inginerie Mathcad 2001

210

Premium şi 200 de ecuaţii cu 200 de necunoscute în cazul Mathcad-ului varianta profesională. În condiţiile în care este instalat Expert Solver-ul, se pot rezolva sisteme liniare, sau cvadratice de 1000 de ecuaţii cu 1000 de necunoscute şi sisteme neliniare de 250 de ecuaţii cu 250 de necunoscute.

14.4.1. Metoda Newton

Pentru a evidenţia semnificaţia geometrică a acestei metode de calcul iterativ al rădăcinilor vom prezenta, la început, metoda Newton în cazul rezolvării unei ecuaţii, de forma (14.7).

Presupunem că ecuaţia are o singură rădăcină reală, xr, în intervalul [a,b], iar derivatele f’(x) şi f”(x) sunt funcţii continue şi păstrează semn constant pentru x∈[a,b]. În aceste condiţii, procedeul iterativ de tip Newton oferă o relaţie de recurenţă, [MEM80], [LAR89]:

)x(f)x(fxx

n

nnn ′−=+1 , (14.64)

unde x0, reprezintă aproximaţie iniţială a rădăcinii xr şi rnnxxlim =

∞→.

Aşa cum arată şi numele, metoda tangentelor propune aproximarea rădăcinii cu şirul xi, determinat prin intersecţia tangentelor duse la curbă, în punctele M0, M1, M2, … , Mi, … cu axa Ox.

Pentru a determina expresia termenului general al şirului (14.64) se procedează în felul următor:

Se porneşte din punctul M0, de pe curba f(x), corespunzător abscisei x0, care reprezintă valoarea iniţială a rădăcinii. Ecuaţia tangentei la curbă, în acest punct, este:

( ) ( ) ( )000 xxxfxfy −⋅′=− . (14.65)

Fig. 14.3 Metoda lui Newton, sau metoda tangentelor

Se determină punctul x1, de intersecţie a tangentei cu axa Ox, din condiţia:

==

01

yxx

. (14.66)

M0(x0,f(x0))

M1(x1,f(x1))

M2(x2,f(x2))

M3(x3,f(x3))

x0 x1 x2 x3 x4

x

f(x)

Page 211: Aplicata in Inginerie Mathcad 2001

211

Rezultă, după o serie de transformări:

)x(f

yxx0

001 ′−= . (14.67)

Se determină punctul x2, de intersecţie a tangentei cu axa Ox. Procedând asemănător ca în cazul punctului x1, obţinem:

)x(f

yxx1

112 ′−= . (14.68)

Pornind de la valoarea x2 se calculează un nou termen al şirului, x3 şi aşa mai departe, până se ajunge la un termen xn, care este de forma (14.64).

La fiecare iteraţie se testează precizia rădăcinii aproximative, xn, cu relaţia (14.8). Când această condiţie este îndeplinită, termenul corespunzător, al şirului, este considerat drept rădăcină a ecuaţiei.

Generalizând metoda lui Newton unidimensională, în cazul unui sistem de două ecuaţii cu două necunoscute, [MEM80]:

==

00

212

211

)x,x(f)x,x(f

, (14.69)

se înlocuiesc suprafeţele 0211 =)x,x(f şi 0212 =)x,x(f prin planele lor tangente, în vecinătatea punctului determinat şi se ia ca aproximaţie următoare punctul în care dreapta de intersecţie a celor două plane taie z = 0.

Utilizând din nou pe n drept indice, planele tangente sunt:

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

−⋅∂

∂+−⋅

∂∂

+=

−⋅∂

∂+−⋅

∂∂

+=

−−−

−−−

−−

−−−

−−−

−−

122

2

12

1121

111

12

1121

21

12

122

2

12

1111

111

12

1111

21

11

nnn

nnn

nn

nnn

nnn

nn

xxx

x,xfxxx

x,xfx,xfz

xxx

x,xfxxx

x,xfx,xfz. (14.70)

Rezolvând sistemul (14.70), de ecuaţii liniare, în raport cu 111−− nxx şi 1

22−− nxx împreună cu

condiţiile suplimentare:

=

=

=

n

n

xx

xx

22

11

0z

, (14.71)

se obţine expresia şirului ce converge spre soluţia sistemului de ecuaţii:

( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

∂∂⋅

∂∂

−∂

∂⋅

∂∂

∂∂⋅−

∂∂⋅

+=

∂∂⋅

∂∂

−∂

∂⋅

∂∂

∂∂⋅−

∂∂⋅

+=

==

==

122

111

122

111

1

212

2

211

2

212

1

211

1

211212

1

212211

122

1

212

2

211

2

212

1

211

2

2121

2

211212

111

n

n

n

n

xxxx

nn

xxxx

nn

xx,xf

xx,xf

xx,xf

xx,xf

xx,xfx,xf

xx,xfx,xf

xx

xx,xf

xx,xf

xx,xf

xx,xf

xx,xff

xx,xfx,xf

xx

. (14.72)

Page 212: Aplicata in Inginerie Mathcad 2001

212

Dacă se notează cu J(x1,x2), Jacobianul sistemului de ecuaţii:

( ) ( )

( ) ( )2

211

1

211

2

211

1

211

21

xx,xf

xx,xf

xx,xf

xx,xf

)x,x(

∂∂

∂∂

∂∂

∂∂

=J , (14.73)

expresiile (14.70) se pot scrie sub forma matriceală:

( ) ( )1111 -n-n--nn xfxJxx ⋅−= . (14.74)

În relaţia (14.74), prin J-1(xn-1) s-a notat inversa matricei Jacobiene.

Considerăm în continuare cazul unui sistem de m, m > 2, ecuaţii cu m necunoscute:

( )( )

( )

( )

=

=

==

0

0

00

21

21

211

211

mim

mii

mi

mi

x,,x,,x,xf

x,,x,,x,xf

x,,x,,x,xfx,,x,,x,xf

KK

M

KK

M

KK

KK

. (14.75)

Folosind o notaţie vectorială, adică considerăm vectorul x, ca fiind vectorul necunoscutelor:

m

i

x

x

xx

M

M

2

1

=x , (14.76)

şi funcţia vectorială f(x), de forma:

)(f

)(f

)(f)(f

)(

m

i

x

x

xx

xf

M

M

2

1

= , (14.77)

sistemul de ecuaţii (14.75) se poate scrie sub o formă concisă:

0=)(xf . (14.78)

Extinderea procedeului iterativ de tip Newton pentru sistemul de ecuaţii (14.75) se face în mod natural, adică, relaţia de recurenţă corespunzătoare acestui caz este tot de forma expresiei (14.74).

Pornind de la relaţia (14.74) se poate imagina o serie de alte procedee iterative, pentru determinarea soluţiei unui sistem de ecuaţii, considerând relaţia de recurenţă sub forma, [ŞAB83]:

( )11 n-n-n xfxx ⋅+= Λ , (14.79)

Page 213: Aplicata in Inginerie Mathcad 2001

213

unde Λ este o matrice nesingulară. Aceste modele poartă denumirea de procedee Newton modificate (pseudo-Newton sau quasi-Newton).

Astfel, dacă utilizăm relaţia (14.79), sistemul de ecuaţii (14.78) se poate scrie în forma matriceală:

( )xfxx ⋅+= Λ . (14.80)

Dacă notăm cu g(x) expresia:

( )xfxxg ⋅+= Λ)( , (14.81)

obţinem relaţia de recurenţă:

( )1n-n xgx = . (14.82)

Ecuaţia (14.82) reprezintă relaţia de recurenţă a metodei contracţiei.

Dacă derivăm ecuaţia (14.81), rezultă:

( )xfIxg ′⋅+=′ Λ)( , (14.83)

unde I reprezintă o matrice unitate. Dacă în continuare se determină matricea Λ din condiţia 0)( =′ xg , adică:

( ) 0=′⋅+ xfI Λ , (14.84)

rezultă valoarea lui Λ:

( )[ ] 1−′= xf-Λ . (14.85)

Cu Λ astfel determinat, rezultă:

( )[ ] ( )xfxfxxg ⋅′= −1-)( , (14.86)

şi putem scrie expresia generală a unui nou şir iterativ, ce converge la limită spre soluţia sistemului de ecuaţii (14.78):

( )[ ] ( )1111 n-nn-n xfxfxx ⋅′=−−- , (14.87)

Ecuaţia (14.87) reprezintă expresia şirului iterativ cunoscut sub denumirea de metoda Newton modificată.

Fiecare pas în metoda lui Newton presupune calculul derivatei f’(x) care, în spaţiul m-dimensional, este o matrice cu m2 elemente. Calculul numeric al derivatei este, în general, mult mai dificil şi mai laborios decât calculul valorilor funcţiei vectoriale f (x). De aceea, putem păstra ecuaţia (14.74) neschimbată şi aproximăm derivatele prin diferenţe:

i

i xfxfxfh

)()eh(x

)( i

i

−⋅+=

∂∂ , (14.88)

unde ei este vectorul axei i şi h un parametru vectorial m-dimensional cu componentele m,i,hi 10 ∈≠ . Notând cu J(x,h) jacobianul calculat cu ajutorul diferenţelor (14.88), putem scrie

direct relaţia de recurenţă a altui procedeu pseudo-Newton:

( ) ( )1111 -n-n--nn , xfhxJxx ⋅−= . (14.89)

Page 214: Aplicata in Inginerie Mathcad 2001

214

14.4.2. Metoda gradientului

Considerăm sistemul de ecuaţii neliniare, (14.75), care poate fi scris matriceal sub forma (14.78). Presupunem că funcţiile ( ) m,i,x,,x,,x,xf mii 1021 ∈=KK sunt reale şi continuu diferenţiabile pe domeniul lor comun de definiţie. Considerăm funcţia, [BEU92], [MAR87]:

( )[ ] )()(1

2 xfxfxx ,f)(Um

ii ==∑

=

, (14.90)

unde s-a notat prin )()( xfxf , produsul scalar al vectorului )(xf cu el însuşi.

Se observă că dacă vectorul x este soluţie a sistemului de ecuaţii (14.78) atunci, U(x)=0. Deci, prin intermediul relaţiei (14.90) am redus problema rezolvării sistemului (14.78) la o problemă de calcul a minimului funcţiei U(x).

Pornind de la această constatare, putem aborda problema rezolvării sistemului de ecuaţii prin căutarea soluţiei în direcţia gradientului.

Pentru a prezenta semnificaţia geometrică a gradientului, de unde rezultă şi principiul metodei gradientului, considerăm cazul tridimensional şi o funcţie scalară ( ) ( )321 x,x,xϕ=ϕ x .

Variaţia dϕ a funcţiei ϕ pentru kdxjdxidxdrrr⋅+⋅+⋅= 321x este:

33

22

11

dxx

dxx

dxx

d ⋅∂ϕ∂

+⋅∂ϕ∂

+⋅∂ϕ∂

=ϕ . (14.91)

Această expresie poate fi privită ca produsul scalar dintre vectorul dx şi un vector:

kx

jx

ix

gradrrr⋅

∂ϕ∂

+⋅∂ϕ∂

+⋅∂ϕ∂

=ϕ∇=ϕ321

, (14.92)

numit gradientul funcţiei ϕ.

Variaţia funcţiei corespunzătoare variaţiei vectorului de poziţie dx va fi atunci:

xdgradd ⋅ϕ=ϕ . (14.93)

Dacă se alege direcţia dx astfel încât dx să fie o suprafaţă de nivel, const.=ϕ , atunci ϕ nu se schimbă şi deci ,d 0=ϕ adică vectorul grad ϕ este perpendicular pe suprafeţele de nivel

const.=ϕ

Dacă dx face cu gradientul unghiul θ, atunci:

,cosdgraddgradd θ⋅⋅ϕ=⋅ϕ=ϕ rr (14.94)

deci funcţia creşte cel mai repede în direcţia gradientului, când θ = 0.

Dacă se cere găsirea minimului funcţiei ( ) ( )321 x,x,xϕ=ϕ x , atunci trebuie să rezulte o îmbunătăţire la o deplasare a punctului x în direcţia opusă gradientului.

Revenind acum la cazul m-dimensional şi la determinarea minimului funcţiei U(x), extinderea problemei se face în mod natural, [POS94], [MEM80]:

I. fie x rădăcina lui (14.78) şi x0 o primă aproximaţie. Prin x0 trece o suprafaţă de nivel a lui U(x). Dacă punctul x0 este suficient de aproape de rădăcină atunci, în condiţiile impuse, suprafaţa de nivel U(x)=U(x0) poate fi asimilată cu un elipsoid;

Page 215: Aplicata in Inginerie Mathcad 2001

215

II. pornind din punctul x0 şi deplasându-ne după normala la suprafaţa U(x)=U(x0), vezi fig. 14.4 vom întâlni o altă suprafaţă de nivel U(x)=U(x1), a unui punct x1;

Fig. 14.4 Metoda gradientului pentru funcţia U(x1,x2)

III. plecând din punctul x1 şi mişcându-ne după normala la suprafaţa de nivel U(x)=U(x1), vom întâlni o altă suprafaţă de nivel U(x)=U(x2), a unui punct x2, etc.

IV. deoarece U(x0) > U(x1) > U(x2) > …, urmând această cale ne apropiem rapid de punctul de minim al lui U care corespunde rădăcinii căutate, x, a sistemului (14.78).

Dacă notăm gradientul funcţiei U(x) prin vectorul:

∂∂

∂∂

∂∂

∂∂

∂∂

=∇mi x

UxU

xU

xU

xU)(U LL

321x , (14.95)

din triunghiurile OM0M1, OM1M2, etc. Deducem că:

n,n),(Uxx nnn 11 ∈∇⋅λ−=+ x . (14.96)

Dacă căutarea soluţiei se realizează cu o relaţie de tipul (14.96), în care λ=λn , adică mărimea pasului de căutare este constantă şi cu o valoare fixată iniţial, această metodă poată numele de metoda gradientului.

Se poate căuta soluţia prin alegerea optimă a lui nλ la fiecare pas. Această metodă poartă numele de metoda celei mai rapide descreşteri. Nu există o metodă unică pentru determinarea valorii pasului nλ . O cerinţă naturală pentru calculul lui λ este minimizarea funcţiei:

( ))(UU)(F 1-n1-n xx ∇⋅λ−=λ , (14.97) după fiecare pas.

14.4.3. Metoda Levenberg – Marquardt

Metoda Levenberg-Marquardt pentru rezolvarea sistemelor neliniare de ecuaţii se poate încadra în categoria metodelor Newton modificate. Ea constă în parcurgerea următoarelor etape,[RMM01]:

1. se alege o soluţie iniţială, x0;

x1

x2

0

M0

M1

M2 M3

x0 x1

x2 x3

U(x1)

U(x0)

U(x2) U(x3)

Page 216: Aplicata in Inginerie Mathcad 2001

216

2. se parcurg p paşi de tip Newton prin utilizarea relaţiei de recurenţă (14.74). Numărul de paşi p este determinat, de la caz la caz, din condiţia preciziei de inversare numerică a Jacobianului, J-1(x p).

3. se testează la fiecare pas condiţia de oprire:

( ) ,mi,uf ii 1∈≤TOL . (14.98)

Se pot constata următoarele situaţii:

• Dacă condiţia (14.98) este îndeplinită, la pasul k ≤ p, algoritmul se opreşte şi returnează vectorul xk drept soluţie a sistemului de ecuaţii;

• Dacă condiţia de oprire (14.98) nu este îndeplinită se parcurge un nou pas de tip Newton;

• Dacă, după parcurgerea a p paşi, condiţiile (14.98) nu sunt îndeplinite, se trece automat la un nou algoritm pentru rafinarea soluţiei aproximative x p obţinute:

( ) ( )1111 -p-p--pp xfxJxx ⋅−= . (14.99)

4. se rafinează soluţia iniţială, x 0=x p, prin metoda gradientului, căutându-se o soluţie iterativă de forma ecuaţiei (14.96) în care parametrul iλ se calculează la fiecare iteraţie ca, valoarea care minimizează ecuaţia (14.90). Dacă se analizează relaţiile (14.90) şi (14.97) se poate concluziona că, îndeplinirea acestei condiţii, pentru parametrul iλ , este echivalentă cu minimizarea funcţiei reziduurilor:

( ) ( ),r,x,,x,xm

jij,ii

im

ii ∑=

−−−− λ=λΦ

1

21

112

11 L (14.100)

unde s-a notat prin ( )ij,ir λ−1 reziduul calculat la iteraţia i-1, pentru ecuaţia j:

( ) ( )iim

iijij,i ,x,,x,xfr λ=λ −−−

−11

21

11 L . (14.101)

14.4.4. Metoda gradienţilor conjugaţi

Metoda gradienţilor conjugaţi face parte din categoria tehnicilor care utilizează gradientul funcţiei U(x) şi are proprietatea de a atinge minimul unei forme pătratice, de tipul (14.90) având m variabile, în cel mult n iteraţii (făcând abstracţie, bineînţeles, de erorile de rotunjire numerică).

Paşii algoritmului sunt, [MAR87], [BEU92]:

1. Se alege o soluţie iniţială, x0, caracterizată de vectorul de poziţie 0ur , care poartă denumirea de vector de start:

,exexexexu mmiir

Lr

Lrrr

⋅++⋅++⋅+⋅= 22110 (14.102)

unde ei este vectorul axei i, m,i 1∈ .

2. Se calculează gradientul funcţiei U(x) în punctul iniţial x0:

)(Ug 00 x∇= , (14.103)

şi se stabileşte direcţia iniţială de căutare a minimului, 00 gs −= .

Page 217: Aplicata in Inginerie Mathcad 2001

217

3. Noul punct, caracterizat prin vectorul de poziţie 1+iur , se determină ca minim al funcţiei în direcţia definită de si.

4. Se calculează gradientul funcţiei în xi+1:

)(Ug ii

11

++ ∇= x , (14.104)

5. Se determină factorul:

ii

iii g,g

g,g 11 ++=β . (14.105)

6. Se stabileşte o nouă direcţie de optimizare:

iiii sgs ⋅β+−=+1 . (14.106)

7. Se testează condiţia de oprire:

( ) ,mi,f ii 1∈≤TOLx . (14.107)

Dacă condiţia de oprire (14.107) nu este îndeplinită se revine la pasul 3.

În algoritmul descris mai sus etapa principală constă, în determinarea minimului funcţiei (14.90) într-o direcţie definită de si:

( ) ( )iiii suUU ⋅α+=α . (14.108)

Această operaţie se realizează la pasul 3 şi constă în rezolvarea aproximativă a ecuaţiei:

( ) 0=α′ i*U . (14.109)

Calculul valorii lui i*α se efectuează în trei etape:

a. Estimarea valorii lui i*α . Această operaţie se efectuează considerând ( )iU α ca o funcţie pătratică:

2iiii cba)(H)(U α⋅+α⋅+=α≅α . (14.110)

b. Determinarea intervalului care-l conţine pe i*α prin metoda relaxării. Această metodă presupune variaţia succesivă a coordonatelor punctului.

c. Calculul unei valori aproximative, i*α , printr-un proces de interpolare.

14.5. REZOLVAREA SIMBOLICĂ A ECUAŢIILOR

ŞI SISTEMELOR DE ECUAŢII

O altă modalitate de rezolvare a ecuaţiilor şi sistemelor de ecuaţii, pe care Mathcad o pune la dispoziţia utilizatorilor, este rezolvarea simbolică.

Avantajul acestei metode de rezolvare constă în faptul că relaţiile şi/sau valorile numerice obţinute reprezintă soluţia exactă a problemei.

Principalele limitări ale algoritmilor de rezolvare simbolică a ecuaţiilor/sistemelor de ecuaţii, în Mathcad, sunt:

gradul de dificultate al problemelor, ce pot fi rezolvate, este relativ redus, ţinând

Page 218: Aplicata in Inginerie Mathcad 2001

218

cont de faptul că rezolvarea simbolică se bazează pe relaţii de calcul a soluţiilor, disponibile doar pentru anumite clase de sisteme/ecuaţii;

în anumite situaţii expresiile obţinute sunt deosebit de lungi, ceea ce face ca ele să fie foarte greu de manipulat.

Pentru efectuarea calculelor simbolice, în vederea obţinerii rădăcinilor, se utilizează operatorul solve:

o Sintaxa operatorului: expresie solve, var →;

o Elementele operatorului: expresie – reprezintă expresia algebrică, sau identificatorul ecuaţiei/sistemului de ecuaţii ce va fi rezolvat simbolic în funcţie de variabila/variabilele independente precizate în elementul var;

var – reprezintă variabila/variabilele în funcţie de care se rezolvă ecuaţia/sistemul de ecuaţii. În cazul în care se rezolvă un sistem de ecuaţii, variabilele independente se precizează fie separate prin virgulă, fie sub forma unui vector;

→ – reprezintă operatorul de calcul simbolic. Acest operator declanşează procesul de calcul al rădăcinii/rădăcinilor.

o Valoarea returnată: soluţia/vectorul soluţiilor ecuaţiei/sistemului de ecuaţii.

o Observaţii:

a. Cuvântul solve este implementat sub forma unui operator care se găseşte în paleta Symbolic. Pentru calculul simbolic al rădăcinilor, cuvântul cheie solve se utilizează, în foaia de calcul, ca rezultat al acţionării butonului corespunzător, nu va fi scris de la tastatură !

b. Pentru rezolvarea simbolică a unei ecuaţii cu o necunoscută, de forma (14.1), se procedează în felul următor:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se scrie expresia lui f(x).

3. Se acţionează butonul , rezultatul va fi de forma:

expresie solve, █ →.

4. Se completează placeholder-ul cu simbolul necunoscutei, x.

5. Se tastează [Enter], sau se execută clic în exteriorul expresiei. Rezultatul acestei operaţii constă în obţinerea expresiei rădăcinii ecuaţiei, în partea dreaptă a operatorului de calcul simbolic, .

______________________________________________________________________________________________________________________

Exemplul 18: să se determine soluţiile ecuaţiei algebrice:

03636271343 23456 =+⋅−⋅+⋅−⋅+− xxxxxx

În continuare este prezentat modul de rezolvare al problemei din exemplul 18.

Page 219: Aplicata in Inginerie Mathcad 2001

219

x6 13 x3⋅− 3 x5⋅− 27 x2⋅+ 4 x4⋅+ 36 x⋅− 36+ solve x,

2

12

12

1i⋅ 7⋅+

12

12

1i⋅ 7⋅−

332

1−2

332⋅

32

1i⋅ 6 3⋅+

1−2

332⋅

32

1i⋅ 6 3⋅−

c. Dată expresia ecuaţiei este de forma )x(g)x(f = , se procedează identic, ca în cazul precedent, cu observaţia că, la scrierea ecuaţiei de rezolvat se va utiliza operatorul relaţional de identitate, nu simbolul egal. Acesta se inserează în foaia de calcul prin

acţionarea butonului , din paleta Boolean, sau prin tastarea [Ctrl]+[=]. Exemplul 19: să se determine soluţiile ecuaţiei:

tgxxsin ⋅=

π

+ 22

.

sin xπ2

+

2tan x( ) solve x,

atan2 1−( )

2− 2 2⋅+( )

1

2

atan2 1−( )

2− 2 2⋅+( )

12

− π+

atan2 1− 2− 2− 2 2⋅−( )

1

2,

atan2 1− 2− 2− 2 2⋅−( )

12

−,

d. Aceleaşi rezultate se pot obţine prin utilizarea comenzilor din meniul Symbolics. Diferenţele apar la modul de afişare al rezultatelor, vezi subcapitolul 12.6.

e. Prin calcul simbolic se pot rezolva şi inecuaţii. Se procedează, în acest caz, la fel ca în cazul ecuaţiilor, cu deosebirea că, precizarea inecuaţiei ce urmează a fi rezolvată se realizează prin utilizarea obligatorie a unuia dintre operatorii relaţionali, , care se găsesc în paleta Boolean.

Exemplul 20: să se determine soluţia inecuaţiei:

52 3 ≤⋅ +xe .

Page 220: Aplicata in Inginerie Mathcad 2001

220

2e

x 3+5≤ solve x, x 3− ln

52

+≤→

f. Operatorul solve permite utilizarea lui şi la rezolvarea simbolică a sistemelor de ecuaţii. Se procedează:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se inserează, în foaia de calcul, un vector având atâtea linii câte ecuaţii are sistemul ce urmează a fi rezolvat.

3. Ecuaţiile sistemului se scriu ca elemente ale acestui vector. Precizarea ecuaţiilor se face prin utilizarea operatorului relaţional de identitate, nu simbolul egal. Acesta se inserează

în foaia de calcul prin acţionarea butonului , din paleta Boolean, sau prin tastarea [Ctrl]+[=],

4. Se acţionează butonul , rezultatul va fi de forma:

necuatie

jecuatie

ecuatieecuatie

M

M

21

solve, █ →.

5. Se completează placeholder-ul cu simbolurile necunoscutelor, separate prin virgulă, sau se inserează un vector a cărui componente sunt necunoscutele sistemului de ecuaţii.

6. Se tastează [Enter], sau se execută clic în exteriorul expresiei. Rezultatul acestei operaţii se obţine în partea dreaptă a operatorului de calcul simbolic, .

______________________________________________________________________________________________________________________

Exemplul 21: să se determine soluţia sistemului de ecuaţii:

+=⋅+⋅=⋅+

73422

byxayx , în funcţie de valorile parametrilor a şi b.

x2 2 y⋅+ a

4 x⋅ 3 y⋅+ b 7+

solvex

y

,

43

13

26− 6 b⋅− 9 a⋅+( )

1

2⋅+

43

13

26− 6 b⋅− 9 a⋅+( )

1

2⋅−

59

49

26− 6 b⋅− 9 a⋅+( )

1

2⋅−13

b⋅+

59

49

26− 6 b⋅− 9 a⋅+( )

1

2⋅+13

b⋅+

Page 221: Aplicata in Inginerie Mathcad 2001

221

x2 2 y⋅+ a

4 x⋅ 3 y⋅+ b 7+

solve x, y,

43

13

26− 6 b⋅− 9 a⋅+( )

1

2⋅+

43

13

26− 6 b⋅− 9 a⋅+( )

1

2⋅−

59

49

26− 6 b⋅− 9 a⋅+( )

1

2⋅−13

b⋅+

59

49

26− 6 b⋅− 9 a⋅+( )

1

2⋅+13

b⋅+

g. Utilizând facilităţile de calcul simbolic se pot rezolva şi sisteme de inecuaţii. Se procedează, în acest caz, la fel ca în cazul sistemelor de ecuaţii, cu deosebirea că, precizarea inecuaţiilor, ce urmează a fi rezolvate, se realizează prin utilizarea obligatorie a unuia dintre operatorii relaţionali, , care se găsesc în paleta Boolean.

Exemplul 22: să se determine soluţia sistemului de inecuaţii:

≥≥

+−≤≤

00

2

yx

xyxy

.

x 0≥

y 0≥

y x≤

y x− 2+≤

solvex

y

, x 2≤ y 1≤ y x 2−+ 0≤ y x− 0≤ 0 y≤ 0 x≤( )→

x2 1 1.05, 2..:= x3 0 2.4..:= Semnificatia geometrica a sistemului de inecuatii:x1 0 0.05, 1..:=

0 0.5 1 1.5 2

0.5

1x1

x2− 2+

x

x− 2+

1.0

0

0

x1 x2, x, x,0

0

, x3,

Page 222: Aplicata in Inginerie Mathcad 2001

222

h. Calcul simbolic al soluţiilor unui sistem de ecuaţii se poate efectua şi prin folosirea funcţiei Find. Se utilizează, în acest caz, un bloc de tip solve, fără a fi necesară precizarea soluţiilor iniţiale. Soluţia simbolică este returnată după acţionarea operatorului de calcul simbolic,

, situat în paleta Symbolic, sau în paleta Evaluation.

Exemplul 23: să se determine soluţia sistemului de inecuaţii:

=⋅⋅+

=⋅

+

022

2

yax

rb

yax

, în funcţie de valorile parametrilor a, b şi r.

Givenx2

ay

2 b⋅+ r

x 2a y⋅+ 0

Find x y,( )

1−8 b⋅

1− 1 64 a⋅ b2⋅ r⋅+( )1

2+

116 a b⋅⋅

1− 1 64 a⋅ b2⋅ r⋅+( )1

2+

1−8 b⋅

1− 1 64 a⋅ b2⋅ r⋅+( )1

2−

116 a b⋅⋅

1− 1 64 a⋅ b2⋅ r⋅+( )1

2−

Page 223: Aplicata in Inginerie Mathcad 2001

223

II APLICAŢII ÎN MATHCAD 2001 OPTIMIZĂRI PRIN PROGRAMARE MATEMATICĂ _______________________________________________________________________________

Programarea matematică este o ramură a cercetării operaţionale care se ocupă cu problemele generale ale optimizării. Modelul unei probleme de programare matematică este format din una sau mai multe funcţii obiectiv (funcţie sau funcţii a căror valori minime sau maxime sunt căutate) şi un set de restricţii, sub formă de egalităţi sau inegalităţi. Modelul poate fi determinist sau stohastic.

Forma generală a unei probleme de programare, prin programare matematică deterministă, monoobiectiv este, [MEM80]:

( ){ } mn,n,i,m,j,x,xg)x(fmax jjij ≥∈∈≥≥ 1100 , (15.1)

unde:

f(xj), reprezintă funcţia obiectiv sau scop, definită pentru variabilele, m,j,x j 1∈ , procesului considerat. Acestei funcţii i se caută o valoare optimă (minimă sau maximă);

( ) 0≥ji xg şi 0≥jx poartă denumirea de restricţii. Ele delimitează un domeniu real, D, mRD ⊂ , m-dimensional, numit domeniul soluţiilor posibile. Valoarea optimă a funcţiei

obiectiv se caută în interiorul, sau la limita domeniului soluţiilor posibile.

Problemele de programare se mai întâlnesc şi sub denumirile de extreme cu legături, sau extreme cu restricţii.

Dacă restricţiile, ( ) 0≥ji xg şi 0≥jx , lipsesc problema de programare se transformă într-o problemă de calcul a valorilor extreme locale, pentru funcţia obiectiv.

Clasificarea problemelor de programare matematică deterministă se poate realiza în funcţie de tipul expresiilor funcţiei obiectiv şi al restricţiilor. Distingem:

• Optimizare liniară (programare liniară), dacă atât f(xj) cât şi ( )ji xg sunt funcţii liniare; • Optimizare pătratică (programare pătratică), dacă f(xj) este o funcţie de gradul doi şi

( )ji xg sunt funcţii liniare; • Optimizare neliniară generală, dacă f(xj) şi/sau ( )ji xg sunt funcţii oarecare.

Aplicaţiile practice nu conduc întotdeauna la probleme de programare matematică sub forma standard (15.1). În aceste situaţii, problemele pot fi transformate ţinând cont de următoarele considerente de ordin matematic:

a. Deoarece: ( ))(fmax)(fmin

DDxx

xx−−=

∈∈, (15.2)

orice problemă de maxim se poate transforma într-o problemă de minim şi invers; În relaţia (15.2), prin x s-a notat vectorul variabilelor problemei de programare:

Page 224: Aplicata in Inginerie Mathcad 2001

224

Tmi x,,x,,x,x,xx LL321= . (15.3)

b. Inegalităţile de forma „≥” pot fi transformate în inegalităţi de forma „≤” prin înmulţirea lor cu -1;

c. Inegalităţile „≤” sau „≥” pot fi transformate în egalităţi prin scăderea, sau adăugarea, unei noi variabile nenegative.

În plus, o problemă de programare este echivalentă cu o problemă de determinare a soluţiilor unui sistem de ecuaţii. Pentru a justifica această afirmaţie pornim de la modul de calcul al valorilor extreme pentru o funcţie f(x1, x2,…, xm).

Pentru căutarea multidimensională a valorilor extreme, de exemplu pentru maximizarea funcţiei f(x1, x2,…, xm) o condiţie necesară este:

( ) ( )

( ) ( )

( ) ( )

( ) ( )

=∂

∂=

=∂

∂=

=∂

∂=

=∂

∂=

0

0

0

0

2121

2121

2

2121

1

2121

2

1

m

mjmjx

j

mjmjx

mjmjx

mjmjx

xx,,x,,x,xf

x,,x,,x,xf

xx,,x,,x,xf

x,,x,,x,xf

xx,,x,,x,xf

x,,x,,x,xf

xx,,x,,x,xf

x,,x,,x,xf

m

j

LLLL

MMM

LLLL

MMM

LLLL

LLLL

, (15.4)

în interiorul domeniului de definiţie. Prin rezolvarea acestui sistem de ecuaţii se obţin nu numai punctele de maxim ci şi punctele de minim sau puncte şa.

Reciproca acestei afirmaţii poate fi, de asemenea, demonstrată foarte simplu dacă facem apel la relaţia (14.90) prin care rezolvarea unui sistem de ecuaţii neliniare poate fi transformată într-o problemă de minim.

De aceea, algoritmii generali de rezolvare a sistemelor de ecuaţii neliniare, prezentaţi la subcapitolul 14.4 pot fi utilizaţi şi în cazul problemelor de programare şi/sau în cazul problemelor de calcul al punctelor de maxim/minim local. Apare, totuşi, o serie de diferenţe la modul lor de implementare, astfel încât soluţia determinată să rămână în regiunea soluţiilor posibile.

Pentru ca utilizatorul să nu fie nevoit să transforme manual problema de programare, pentru a o aduce la forma generală, în Mathcad au fost implementate două funcţii specializate pentru rezolvarea problemelor de programare şi/sau a problemelor de maxim şi minim. Aceste funcţii sunt Minimize şi Maximize. Ele se utilizează integrate în blocuri de tip solve.

o Sintaxa funcţiilor: Minimize( mj x,,x,,x,x,f KK21 ); Maximize( mj x,,x,,x,x,f KK21 );

o Argumentele funcţiilor: f – reprezintă identificatorul funcţiei obiectiv.

m,j,x j 1= – reprezintă variabilele sistemului de ecuaţii. Acestor variabile, anterior apelării funcţiei Minimize/Maximize, li se vor atribui valori iniţiale pe baza cărora se calculează soluţia problemei de programare;

o Valoarea returnată: un vector, sol, cu m linii × o coloană, ce conţine valorile soluţiilor numerice aproximative, 10 −= m,j,sol j , ale problemei de programare matematică (15.1). Soluţiile

Page 225: Aplicata in Inginerie Mathcad 2001

225

returnate asigură valoarea minimă/maximă a funcţiei obiectiv în interiorul sau la limitele domeniului, D, a soluţiilor posibile.

Pentru restricţiile problemei (15.1) care se prezintă sub forma unor ecuaţii:

( ) 0=ji xg , (15.5)

soluţiile returnate respectă condiţia:

TOL)sol(gi ≤ . (15.6) Pentru restricţiile problemei (15.1) care se prezintă sub forma unor inecuaţii, de tipul:

( ) ct.≥ji xg , (15.7)

soluţiile returnate respectă condiţia:

CTOL)sol(gi ≥− ct. . (15.8)

o Observaţii:

a. Utilizarea funcţiei Minimize/Maximize se realizează respectând următorii paşi:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se defineşte funcţia obiectiv, f(xj), m,j 1∈ .

3. Se precizează valorile iniţiale ale variabilelor xj. Aceste valori iniţiale reprezintă o primă aproximaţie a soluţiilor problemei de programare. Tot cu această ocazie se declară şi variabilele sistemului de ecuaţii. Succesul rezolvării depinde de alegerea adecvată a soluţiilor iniţiale. De aceea, se recomandă ca valorile de start să fie cât mai apropiate de soluţia problemei.

4. Într-o zonă matematică, a foii de calcul, se tastează cuvântul Given. Cuvântul Given şi identificatorul funcţiei Minimize/Maximize poate fi scris cu litere mici, cu majuscule sau combinate (Minimize/Maximize este „case insensitive”).

5. Se scriu cele n restricţii, cu utilizarea operatorului relaţional de identitate, nu simbolul egal, dacă restricţia respectivă se prezintă sub forma unei ecuaţii de tipul (15.5). Acest

operator se obţine prin acţionarea butonului , din paleta Boolean, sau prin tastarea [Ctrl]+[=].

Dacă restricţia respectivă se prezintă sub forma unei inecuaţii de tipul (15.7), aceasta se scrie, în interiorul blocului de tip solve, prin utilizarea operatorilor relaţionali,

din paleta Boolean, . Se pot utiliza, la specificarea restricţiilor şi

operatori Booleeni: . Sunt permise, de asemenea, şi inegalităţi duble de forma: .x 51 <≤−

6. Se apelează funcţia Minimize/Maximize. ______________________________________________________________________________________________

Exemplul 1: să se determine minimul şi maximul funcţiei obiectiv:

ycosxsin)y,x(F +=2

,

Page 226: Aplicata in Inginerie Mathcad 2001

226

pe un domeniu plan determinat de restricţiile:

>+⋅<+

<<>>

4210

101000

xyyx

yxyx

maxF 1.5===>maxF F xmax ymax,( ):=

ymax 6.283=

xmax 1.571=

Solutiile problemei de programare matematica:

xmax

ymax

MaximizeF x, y,( ):=

2 y⋅ x+ 4− 0>

Blocul de tip SOLVE

- restrictiile problemei de programarex y+ 10− 0<0 y< 10<

0 x< 10<

Given

y 5:=- solutiile initiale

x 2:=

Domeniul solutiilor posibile:

CreateMesh F 0, 6, 0, 8, 36,( )

- functia obiectiv

0 5 10

0

5

10

0

x− 10+

y

x−

22+

x 0, x,

F x y,( )sin x( )

2cos y( )+:=

Page 227: Aplicata in Inginerie Mathcad 2001

227

minF 1.5−===>minF F xmin ymin,( ):=ymin 3.142=

xmin 4.712=

Solutiile problemei de programare matematica:

xmin

ymin

Minimize F x, y,( ):=

2 y⋅ x+ 4− 0>

Blocul de tip SOLVE

- restrictiile problemei de programarex y+ 10− 0<0 y< 10<

0 x< 10<

Given

y 5:=- solutiile initiale

x 2:=

b. După cum rezultă din precizările anterioare, utilizarea funcţiei Minimize/Maximize se realizează prin intermediul unui bloc de tip solve, identic cu cel al funcţiei Find. Din acest motiv, toate consideraţiile prezentate la subcapitolul 14.4, privind modul de utilizare al funcţiei Find, sunt valabile şi pentru funcţiile Minimize/Maximize.

c. Funcţiile Minimize/Maximize se pot utiliza şi la calculul valorilor extreme, minime/maxime, locale. Pentru a rezolva acest tip de probleme se procedează după cum urmează:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se defineşte funcţia obiectiv, f(xj), m,j 1∈ . 3. Se precizează valorile iniţiale ale variabilelor xj. Aceste valori iniţiale reprezintă o primă

aproximaţie a soluţiilor problemei. 4. Se apelează funcţia Minimize/Maximize.

______________________________________________________________________________________________

Exemplul 2: Să se determine punctele de minim şi de maxim local ale funcţiei, [UDR80]:

8011 4090 .xx)x(F .. −+⋅−= .

TOL 10 15−:=F x( ) x 1−( )0.9 x 1+( )0.4

⋅ 0.8−:=

0.5 0 0.5 1 1.5 2

1

1

F x( )

x

Page 228: Aplicata in Inginerie Mathcad 2001

228

Calculul minimului local:•

x1 1.5:= Min Minimize F x1,( ):= ==> Min 1.000000=

Fmin F Min( ):= Fmin 0.800000−=

Calculul maximului local:•

x2 0:= Max MaximizeF x2,( ):= ==> Max 0.384615−=

Fmax F Max( ):= Fmax 0.303710=

d. Dacă funcţia obiectiv are pe domeniul soluţiilor posibile mai multe puncte de minim local, pentru a le putea calcula este necesară utilizarea funcţiei Minimize/Maximize cu diferite valori iniţiale. În aceste condiţii se poate determina soluţia cea mai apropiată de fiecare valoare iniţială. Acest lucru rezultă din foaia de calcul prezentată în continuare.

Exemplul 3: Să se determine punctele de minim şi maxim local ale funcţiei, [UDR80]:

3 243 24

152

1152+⋅−⋅

++⋅−⋅=xx

xx)x(F .

MinimizeF x5,( ) 0=x5 0.20:=MaximizeF X3,( ) 0.70711=X3 2.0:=

MinimizeF x4,( ) 1.58114=x4 1.55:=MaximizeF X2,( ) 0.46819−=X2 0.5−:=

MinimizeF x3,( ) 0.46825=x3 0.55:=MaximizeF X2,( ) 0.46819=X2 0.5:=

MinimizeF x2,( ) 0.46825−=x2 0.55−:=MaximizeF X1,( ) 0.70711−=X1 2−:=

MinimizeF x1,( ) 1.58114−=x1 1.55−:=Calculul maximelor locale:•

Calculul minimelor locale:•

2 1 0 1 2

10

5

5

F x( )

x

TOL 10 15−:=F x( )

32 x4⋅ 5 x2

⋅− 1+1

32 x4⋅ 5 x2

⋅− 1+

+:=

e. Precizia de calcul, a soluţiei unei probleme de programare, poate fi controlată prin utilizarea variabilei predefinite CTOL, din condiţiile (15.8), în cazul restricţiilor care se prezintă sub forma unor inecuaţii. Dacă sistemul restricţiilor conţine şi restricţii sub forma unor ecuaţii, precizia de calcul a soluţiei poate fi controlată prin utilizarea variabilei predefinite TOL, din condiţia (15.6).

Page 229: Aplicata in Inginerie Mathcad 2001

229

Aceste două variabile pot lua valori în intervalul [0,1], iar valoarea implicită a lor este 10-3. Pentru a modifica precizia de rezolvare a unui sistem de ecuaţii există două

metode:

prin supradefinirea, în foaia de calcul, a valorii variabilelor TOL şi CTOL. Valoarea minimă recomandată a acestor variabile este 10-15. Modificarea valorii variabilelor TOL şi CTOL se efectuează înaintea definirii blocului de tip solve;

prin modificarea valorilor Convergence Tolerance (TOL) şi Constraint Tolerance (CTOL), din fereastra de dialog a tab-ului Built-In Variables, ce apare ca urmare a alegerii opţiunii Options meniul Math.

f. Stabilirea unor valori mici ale variabilelor TOL şi CTOL, sau indicarea unor valori iniţiale îndepărtate de soluţia ecuaţiei, pot conduce la imposibilitatea rezolvării cu precizia cerută.

g. Dată fiind complexitatea deosebită a problemelor de programare matematică şi/sau de calcul a punctelor de minim/maxim local, metodele numerice, utilizate de funcţiile Minimize/Maximize, sunt:

Algoritmul simplex pentru rezolvarea problemelor de programare liniară; Algoritm pentru rezolvarea problemelor de programare cvadratice. Acest

algoritm este disponibil doar în situaţia în care Mathcad-ul conţine Expert Solver-ul, ca urmare a instalării pachetului opţional Solving and Optimisation Extension Pack;

Algoritmi pentru rezolvarea problemelor neliniare de programare:

• Metoda gradientului conjugat; • Metoda Levenberg-Marquardt; • Metode quasi-Newton.

La apelarea funcţiilor Minimize/Maximize, Mathcad-ul are posibilitatea de a identifica tipul problemei de programare (liniar, cvadratic sau, neliniar) şi de a alege algoritmul corespunzător. Acest lucru este posibil ca urmare a faptului că opţiunea AutoSelect, din meniul pop-up ce apare ca urmare a unui clic pe butonul din dreapta al mouse-ului, în condiţiile în care cursorul se găseşte dispus pe identificatorul funcţiei Minimize/Maximize, este selectată în mod implicit.

În cazul problemelor neliniare de programare, algoritmii de rezolvare intră în funcţiune în ordinea prezentării lor de mai sus. Prima dată, este utilizată metoda gradientului conjugat. Dacă această metodă iterativă nu este convergentă, spre soluţia problemei, sau nu se pot determina soluţiile cu precizia impusă, atunci se trece automat la utilizarea metodei Levenberg-Marquardt etc.

Page 230: Aplicata in Inginerie Mathcad 2001

230

h. Algoritmii de rezolvare a problemelor de programare pot fi aleşi, de către utilizator, prin setarea lor manuală. Se procedează în felul următor:

Etape ________________________________

1. Se dispune cursorul pe identificatorul funcţiei Minimize/Maximize.

2. Se execută un clic pe butonul din dreapta, al mouse-ului.

3. Se deselectează opţiunea AutoSelect din meniul pop-up ce apare.

4. Se selectează, printr-un clic, algoritmul de rezolvare dorit.

5. În situaţia utilizării algoritmilor specifici rezolvării problemelor neliniare de programare, şi anume, în cazul metodei gradientului conjugat şi metodei quasi-Newton, prin alegerea meniului Advanced Options ..., se pot seta, din meniul contextual aferent, o serie de opţiuni privind controlul suplimentar al:

modului de calcul al derivatelor;

modului de determinare al direcţiilor şi paşilor de căutare a soluţiei;

modului de utilizare al restricţiilor problemei de programare pentru determinarea paşilor de căutare a soluţiilor.

15.1. ALGORITMUL SIMPLEX

Forma standard a unei probleme de programare matematică liniară este, [UDR80]:

mn,m,j,n,i,b,x,bxaxc iji

m

jjij

m

jjj ≥∈∈≥

≥≥⋅⋅ ∑∑==

1100min11

, (15.9)

unde:

( ) ∑=

⋅=m

jjjmj xcx,,x,,x,xf

121 LL reprezintă funcţia obiectiv, ce trebuie minimizată;

mn,n,i,x,bxa:D ji

m

jjij ≥∈≥≥⋅∑

=

101

reprezintă restricţiile, care delimitează domeniul

soluţiilor posibile, D, numit hiperpoliedrul restricţiilor.

Semnificaţia geometrică, a unei probleme de programare liniară, este prezentată în fig. 15.1.

Dacă se trasează, în cazul bidimensional - m = 2, dreptele i

m

jjij bxa ≥⋅∑

=1 şi 0≥jx obţinem domeniul

haşurat, D. Punctele din interiorul şi de pe laturile acestui poligon satisfac inegalităţile date.

Page 231: Aplicata in Inginerie Mathcad 2001

231

Fig. 15.1 Semnificaţia geometrică a unei probleme de programare liniară

Pe de altă parte, funcţia obiectiv reprezintă un fascicol de hiperplane paralele:

.constkxcMm

jjjf ==⋅∑

=1: (15.10)

Pentru a obţine, spre exemplu, maximul lui ( )mj x,,x,,x,xf LL21 , hiperplanul Mf trebuie mişcat în sensul indicat de gradientul funcţiei obiectiv, ( )mj x,,x,,x,xf LL21∇ , deoarece gradientul dă direcţia şi sensul creşterii maxime, vezi capitolul 14.

Deoarece distanţa d de la origine la Mf este:

222

221 mj cccc

kd

LL ++++= , (15.11)

rezultă că extremele lui k (kmax sau kmin) pe D sunt proporţionale cu extremele lui d pe D şi nu pot fi atinse decât în punctele comune ale lui D şi ale unui hiperplan din familia lui Mf. Înseamnă că pentru determinarea optimului lui f ar fi suficient să determinăm vârfurile hiperpoliedrului restricţiilor, apoi să calculăm valorile lui ( )mj x,,x,,x,xf LL21 în aceste puncte şi să selectăm valoarea minimă sau maximă.

Determinarea valorilor optime printr-o astfel de metodă, în primul rând, necesită un volum foarte mare de calcule şi în al doilea rând, nu de pretează implementării sub forma unui program de calcul. De aceea funcţiile Mathcad, destinate optimizării, rezolvă problemele de programare liniară prin intermediul algoritmului simplex.

Pentru rezolvarea unei probleme de programare liniară, metoda simplex constă în parcurgerea următorilor paşi:

1. Se aduce, prin transformări algebrice, problema la forma standard (15.9);

2. Se introduc n variabile suplimentare, wi, de egalizare, astfel încât restricţiile se transformă în egalităţi:

n,i,w,x,wbxa ijii

m

jjij 100

1∈≥≥=−⋅∑

=

. (15.12)

x1

x2

D

( )L,x,xf 21∇

ibm

jjxija =

=

⋅∑1

.constm

jjxjc =

=

⋅∑1

maxkm

jjxjc =

=

⋅∑1

Page 232: Aplicata in Inginerie Mathcad 2001

232

3. Problema de programare se transformă într-o problemă echivalentă, de forma:

mn,m,j,n,i,b,w,x,wbxaxc iijii

m

jjij

m

jjj ≥∈∈≥

≥≥=−⋅⋅ ∑∑==

11000min11

. (15.13)

4. Ataşăm problemei un tabel simplex:

x1 x2 … xj … xm

a11 a12 … a1j … a1m −b1 w1

a21 a22 … a2j … a2m −b2 w2

M M … M … M M M

ai1 ai2 … aij … aim −bi wi

M M … M … M M M

an1 an2 … anj … anm −bn wn

c1 c2 … cj … cm 0 f

Această problemă echivalentă va fi utilizată pentru determinarea valorii optime, minime, a problemei. Se constată că:

Toate valorile −bi, n,i 1∈ , din tabel sunt pozitive; Punctul m,j,x j 10 ∈= , este un vârf al hiperplanului restricţiilor.

5. Alegem un element nenegativ în ultima linie:

c1 c2 … cj … cm

a tabelului simplex. Dacă ultima linie a tabelului nu conţine elemente strict negative,

atunci valoarea minimă a lui ( ) ∑=

⋅=m

jjjmj xcx,,x,,x,xf

121 LL este zero şi punctul

m,j,x j 10 ∈= este un punct de minim, deci soluţia problemei de programare.

6. Se aplică o serie de transformări succesive asupra elementelor tabelului simplex. Să presupunem că elementul cj îndeplineşte condiţia 0<jc . Se formează câturile:

01 <∈− ijij

i a,n,i,ab , (15.14)

unde j este fixat. 7. Se determină:

∈−

∈n,i,

abmax

ij

i

n,i1

1. (15.15)

Acel element 0<ija pentru care este adevărată relaţia (15.15) se alege ca pivot. Dacă toate elementele coloanei j sunt pozitive sau nule, atunci problema de programare liniară nu admite soluţie.

8. Se înlocuiesc, în tabelul simplex: xj cu wi; Pivotul cu inversul său;

Page 233: Aplicata in Inginerie Mathcad 2001

233

Elementele liniei pivotului prin rapoartele: pivot

linieielementele− ;

Celelalte elemente ale coloanei pivotului, prin rapoartele:

pivotcoloaneielementele ;

Toate celelalte elemente din tabel ( f,c,b,a jiij ) se înlocuiesc prin elemente calculate cu relaţia:

p

qsep*e ⋅−⋅= , (15.16)

unde, s-a notat prin: p – elementul pivot; e, q şi s – elementele din tabel, dispuse după următoarea regulă:

p q

s r

9. Se reia algoritmul de la pasul 5.

Şirul iterativ, de tabele, se poate opri, dacă nu sunt respectate condiţiile impuse la:

o Pasul 5. Dacă iteraţia se opreşte în raport cu condiţiile impuse la acest pas, atunci problema de programare are soluţie. Valoarea minimă a funcţiei obiectiv, f, se citeşte din colţul din dreapta jos, al ultimului tabel.

Coordonatele punctul de minim se determină astfel: x-şii care se găsesc deasupra tabelului se egalează cu zero, iar x-şii care apar pe marginea din dreapta tabelului iau valorile corespunzătoare din coloana ce conţine elementele bj.

o Pasul 7. Dacă iteraţia se opreşte în raport cu condiţiile impuse la acest pas, atunci problema de programare nu are soluţie.

Exemplul 4, [UDR80]: O societate comercială produce două tipuri de repere A şi B. Beneficiul net este de 2 €, pentru o piesă de tipul A şi de 1.5 €, pentru o piesă de tipul B. Durata de fabricaţie pentru reperul A este de două ori mai mare decât timpul de fabricaţie pentru reperul B. Dotarea tehnică, a societăţii comerciale, permite realizarea a maxim 1200 de repere, tip B, zilnic. Stocul de materii prime, existent, permite realizarea a 900 de repere (tip A şi B), iar capacitatea de producţie a atelierului este de maxim 400 de repere tip A şi de cel mult 700 de piese de tipul B. Să se determine numărul de repere (de tip A şi de tip B) ce trebuie realizate zilnic, astfel încât beneficiul total al atelierului să fie maxim.

Dacă se notează cu 100⋅x producţia zilnică de piese, tip A şi cu 100⋅y, producţia zilnică de piese de tip B, rezultă următoarea problemă de programare:

( )y.xmax ⋅+⋅ 512 ,

cu restricţiile:

≤+⋅≤+

≥≤≥≤

1229

0704

yxyx

y;yx;x

.

Page 234: Aplicata in Inginerie Mathcad 2001

234

0 2 4 6 8

5

10

15

7x1− 9+

2− x2⋅ 12+

4

x1 x2, x3,

Semnifictia geometrica a domeniului solutiilor posibile:

fmax 15===>fmax f xmax ymax,( ):=

ymax 6=

xmax 3===>xmax

ymax

Maximizef x, y,( ):=2x y+ 12≤

x y+ 9≤y 7≤x 4≤

Given

- solutiile initialey 0:=x 0:=

f x y,( ) 2 x⋅32

y⋅+:=Functia obiectiv:

Pentru a ilustra modul iterativ de rezolvare al acestei probleme prin utilizarea metodei simplex, transformăm problema de programare, pentru a o aduce la o formă standard echivalentă:

( )y.xmin ⋅−⋅− 512 , cu restricţiile:

≥≥−≥−⋅−

−≥−−−≥−−≥−

00122

974

y;xyx

yxy;x

.

Se calculează, în continuare, şirul de tabele simplex ataşate problemei echivalente:

x y w1 y

-1 0 4 w1 -1 0 4 x

0 -1 7 w2 0 -1 7 w2

-1 -1 9 w3 1 -1 5 w3

-2 -1 12 w4 2 -1 4 w4

-2 -1.5 0 k 2 -1.5 -8 k

Pivo

t

Pivo

t

Page 235: Aplicata in Inginerie Mathcad 2001

235

w1 w4 w3 w4

-1 0 4 x 1 -1 3 x -2 1 3 w2 2 -1 1 w2 -1 1 1 w3 -1 1 1 w1 2 -1 4 y 2 1 6 y

-1 1.5 14 k 1 0.5 -15 kmax

Se constată că, la cel de-al patrulea tabel, toate valorile cj sunt pozitive. În aceste condiţii şirul iterativ se opreşte, iar valorile optime ale variabilelor sunt:

==

63

yx

,

ceea ce conduce la valoarea minimă a funcţiei obiectiv, kmin = −15. Foaia de calcul ce conţine rezolvarea problemei echivalente din exemplul 4 este prezentată

în cele ce urmează.

==> fmin 15−=fmin f xmin ymin,( ):=

ymin 6===>

xmin 3=xmin

ymin

Minimize f x, y,( ):=2− x y− 12−≥

x− y− 9−≥

y− 7−≥

x− 4−≥

Given

- solutiile initialey 0:=x 0:=

- Functia obiectiv:f x y,( ) 2− x⋅32

y⋅−:=

15.2. ALGORITMUL CVADRATIC

Forma standard a unei probleme de programare cvadratică este, [UDR80]:

mn,m,j,n,i,x,bxaexdxxc ji

m

jjij

m

jjj

m

j

m

kkjjk ≥∈∈

≥≥⋅+⋅+⋅⋅ ∑∑∑∑=== =

110min111 1

, (15.17)

unde:

( ) ∑∑∑== =

+⋅+⋅⋅=m

jjj

m

j

m

kkjjkmj exdxxcx,,x,,x,xf

11 121 LL reprezintă funcţia obiectiv,

ce trebuie minimizată;

Pivo

t

Page 236: Aplicata in Inginerie Mathcad 2001

236

mn,n,i,x,bxa:D ji

m

jjij ≥∈≥≥⋅∑

=

101

reprezintă restricţiile, care delimitează domeniul

soluţiilor posibile, D, numit hiperpoliedrul restricţiilor.

În acest caz, ecuaţia obţinută pe baza funcţiei obiectiv: ( ) kx,,x,,x,xf mj =LL21 , (15.18)

unde k – este o constantă reală, reprezintă un fascicol de hipercvadrice în Rm. Ecuaţia (15.18) poate fi transformată, printr-o izometrie (Translaţie + rotaţie a axelor de coordonate) şi adusă la o formă canonică. Dacă ecuaţia (15.18) reprezintă o formă de hipercvadrice cu centru, atunci:

KXm

iii =γ+⋅α∑

=1

2 . (15.19)

Dacă ecuaţia (15.18) reprezintă o formă de hipercvadrice fără centru, atunci:

KXX m,,i,,

m

iii =⋅β+⋅α∑

=LL1

1

2 . (15.20)

Aplicând aceeaşi transformare şi restricţiilor, acestea conduc la delimitarea unui domeniu, Dt::

n,i,gXh i

m

jjij 1

1∈≥⋅∑

=

. (15.21)

În aceste condiţii, pentru a ilustra semnificaţia geometrică a unei probleme cvadratice de programare, vom considera cazul bidimensional cu funcţia obiectiv de forma:

( ) 22

2121 xxx,xf += . (15.22)

Cu aceste ipoteze, funcţia obiectiv reprezintă o familie de cercuri concentrice cu centrul în origine, iar k reprezintă pătratul distanţei dintre punctele O(0,0) şi M(x1,x2). Rezultă că valoarea lui k este un extrem, atunci când distanţa d(O,M) = extrem.

Se pot întâlni două cazuri distincte: Cazul I, când O(0,0)∈D, vezi fig. 15.2. În acest caz:

0=mink , (15.23)

Fig. 15.2 Soluţia problemei de programare cvadratice, în cazul în care O(0,0)∈D

x1

x2

ibm

jjxija =

=

⋅∑1

D

maxk

k

M(x1,x2)

0

22

2121 xx)x,x(f +=

Page 237: Aplicata in Inginerie Mathcad 2001

237

iar, valorile funcţiei obiectiv, calculate în vârfurile hiperpoliedrului D, conţin şi valoarea maximă a problemei de programare.

Cazul II, când O(0,0)∉D, vezi fig. 15.3. În acest caz soluţia optimă este reprezentată de un singur punct comun frontierei lui D şi un cerc din familia de cercuri concentrice ,k)x,x(f =21 cu centrul în origine.

Dacă există laturi ale hiperpoliedrului D cu proprietatea, că perpendiculara dusă pe ele din O(0,0), nu cade pe prelungiri atunci comparând pătratele distanţelor de la origine la aceste drepte, obţinem soluţia optimă a problemei, kmin şi respectiv kmax.

Fig. 15.3 Soluţia problemei de programare cvadratice, în cazul în care O(0,0)∉D

Dacă nici o latură nu are această proprietate, atunci kmin şi/sau kmax se obţine comparând valorile lui k în vârfurile hiperpoliedrului restricţiilor.

Metodele de rezolvare numerică a acestor probleme de programare cvadratică nu se bazează pe considerentele de ordin geometric, descrise mai sus. Ele au la bază metode de tip gradient, vezi subcapitolul 14.4.

În situaţia în care utilizatorul nu dispune de pachetul opţional, Solving and Optimisation Extension Pack, acest tip de probleme este rezolvat prin utilizarea algoritmilor specifici problemelor neliniare.

Exemplul 5: să se determine minimul funcţiei obiectiv:

yxyx)y,x(F ⋅+⋅+⋅+= 933 22 ,

pe un domeniu plan determinat de restricţiile:

<⋅+⋅≥

−≥

4010603

yxyx

x1

ibm

jjxija =

=

⋅∑1

x2

D

0

M(x1,x2)

22

2121 xx)x,x(f +=

Page 238: Aplicata in Inginerie Mathcad 2001

238

kmin 50.076922===>kmin F xmin ymin,( ):=

ymin 1.576923===>

xmin 4.038462=xmin

ymin

Minimize F x, y,( ):=y 0≥

x 3−≥

6 x⋅ 10y+ 40≥

Given

y 1:=- solutiile initiale

x 1:=

- functia obiectiv:F x y,( ) x2 3 y2⋅+ 3 x⋅+ 9 y⋅+:=

Page 239: Aplicata in Inginerie Mathcad 2001

239

II APLICAŢII ÎN MATHCAD 2001 INTERPOLĂRI ŞI REGRESII _______________________________________________________________________________

Numeroase probleme specifice ingineriei moderne îşi găsesc rezolvarea în urma analizei şi prelucrării numerice a datelor experimentale.

În general aceste valori se prezintă sub forma unor tabele de corespondenţă între variabile independente şi o variabilă dependentă de acestea. Spre exemplu, în cazul bidimensional, dacă notăm cu x variabila independentă şi cu y variabila dependentă, în cazul unei relaţii de dependenţă exprimată sub forma relaţiei:

)x(fy = , (16.1)

n valori determinate experimental se pot prezenta sub forma:

Tabelul 16.1 Valori experimentale

x x1 x2 x3 … xi … xn-1 xn

y y1 y2 y3 … yi … yn-1 yn

Valorile:

− ni x,,x,,x,xx KK21= se numesc puncte de sprijin (noduri); − ni y,,y,,y,yy KK21= se numesc valori de sprijin (nodale).

Manipularea acestor date, prezentate sub formă tabelară, este greoaie şi nu se pretează unor prelucrări ulterioare folosind instrumentele analizei matematice (derivare, integrare etc.). De aceea se pune problema stabilirii expresiei matematice a dependenţei (16.1).

Această dependenţă poate fi stabilită pe baza unor ecuaţii, [POP86]:

a. Raţionale. Acest tip de ecuaţii este dedus în mod teoretic, pe baza unor legi, sau strategii cunoscute, urmând ca pe baza datelor experimentale să se determine valorile unor constante pe care aceste expresii le conţin.

b. Empirice. Acest tip de ecuaţii este dedus pe cale experimentală. Reprezentarea analitică a dependenţei funcţionale dintre variabilele acestui tip de ecuaţii se realizează în două etape:

− stabilirea formei relaţiei de dependenţă; − determinarea valorilor adecvate ale parametrilor.

Prelucrarea datelor experimentale, în modalitatea prezentată anterior, face apel al teoria aproximării. Acest domeniu al matematicii oferă soluţii practice admisibile acolo unde metodele exacte sunt imposibil de aplicat.

Operaţiile matematice specifice teoriei aproximării sunt:

a. Interpolarea. Prin interpolare se înţelege operaţia matematică ce constă în găsirea unei funcţii, F(x), care să permită, pentru valori oarecare a lui x, situate în intervalul [x1,xn], estimarea valorilor funcţiei f(x).

Page 240: Aplicata in Inginerie Mathcad 2001

240

O condiţie necesară pentru determinarea funcţiei de interpolare, F(x), este coincidenţa cu funcţia f(x) în valorile nodale:

=

=

==

nn

ii

y)x(F

y)x(F

y)x(Fy)x(F

M

M

22

11

. (16.2)

Din acest motiv, interpolarea se recomandă a fi utilizată în condiţiile în care:

− valorile experimentale sunt relativ precise, neafectate de erori semnificative; − numărul de valori experimentale este relativ mic. Nerespectarea acestei condiţii,

conduce la obţinerea unor relaţii complexe, greu de utilizat; − funcţia f(x) este cunoscută, dar expresia ei este complicată şi/sau foarte greu de

evaluat şi manipulat.

b. Extrapolarea. Prin extrapolare se înţelege operaţia matematică ce constă în găsirea unei funcţii, F(x), care să permită estimarea valorilor funcţiei f(x), pentru valori oarecare a lui x, situate în afara intervalului în care sunt determinate punctele nodale, ( ) ( )U xxxx n << 1 .

c. Regresia. Ca origine, această operaţie matematică, provine din statistică unde a fost dezvoltată pentru cercetarea şi descrierea dependenţei dintre variabilele aleatorii. Această tehnică poate fi utilizată cu succes şi la studiul tipului de dependenţă, de forma (16.1), dintre două variabile prezentate sub o formă tabelară.

Regresia reprezintă operaţia matematică prin care se determină valorile parametrilor unei funcţii trasate printre punctele experimentale, din condiţia minimizării distanţei dintre funcţia f(x) şi modelul F(x) adoptat:

[ ]∫21

2

1

⋅−=nx

xdx)x(F)x(f)F,f(d . (16.3)

Din punct de vedere practic, relaţia (16.3) nu este utilizabilă decât în cazurile în care f(x) este cunoscută, dar datorită complexităţii ei se caută o expresie mai simplă şi mult mai uşor de utilizat. În majoritatea cazurilor, în care apelăm la regresie nu se cunoaşte expresia lui f(x). În aceste situaţii se utilizează o expresie, mai puţin riguroasă:

[ ]21

1

2

−= ∑=

n

iii )x(F)x(f)F,f(d . (16.4)

Relaţia (16.4) poartă numele de principiul Gauss-Legendre, sau metoda celor mai mici pătrate.

Din acest motiv, regresia se recomandă a fi utilizată în condiţiile în care:

− valorile experimentale sunt afectate de erori semnificative; − numărul de valori experimentale este relativ mare şi utilizarea interpolării

conduce la obţinerea unor relaţii complexe, greu de utilizat; − funcţia f(x) este cunoscută, dar expresia ei este complicată şi/sau foarte greu de

evaluat şi manipulat.

Mathcad pune la dispoziţia utilizatorului un pachet de funcţii predefinite destinat prelucrării datelor printr-una din operaţiile specifice teoriei aproximării, prezentate anterior.

Page 241: Aplicata in Inginerie Mathcad 2001

241

16.1. FUNCŢII PENTRU INTERPOLARE Calculul valorilor de interpolare, respectând condiţia necesară (16.2), se poate face în foarte multe moduri. Tendinţa actuală este aceea de a se renunţa la determinarea unei funcţii de interpolare globală şi de a se utiliza funcţii care interpolează pe porţiuni. În acest sens, funcţiile Mathcad predefinite, permit:

a. Interpolarea liniară; b. Interpolarea polinomială de tip spline.

16.1.1. Interpolarea liniară

Interpolarea liniară reprezintă cea mai simplă formă de interpolare care poate fi aplicată la determinarea valorilor de sprijin intermediare, în cazul unor date prezentate sub formă tabelară.

Presupunem că dorim să determinăm valoarea de interpolare corespunzătoare unui punct de abscisă xc, vezi fig. 16.1. Se procedează în felul următor:

1. Se determină două puncte de sprijin consecutive, xi şi xi+1, care conţin în intervalul pe care îl delimitează, punctul, xc:

[ ]1+∈ iic x,xx ,

în care dorim să calculăm valoarea de interpolare.

2. Se determină ecuaţia dreptei ce trece prin cele două puncte Pi şi Pi+1:

ii

i

ii

i

yyyy

xxxx

−−

=−−

++ 11. (16.5)

În ecuaţia (16.5) s-au notat prin yi şi yi+1 valorile de sprijin corespunzătoare lui xi şi xi+1.

3. Se calculează valoarea de interpolare, cu relaţia:

( )ii

iiicic xx

yyxxyy−−

⋅−+=+

+

1

1 . (16.6)

Ecuaţia (16.6) se obţine din (16.5) în urma unor prelucrări.

Fig. 16.1. Interpolarea liniară

În Mathcad, valorile de interpolare liniară se determină prin utilizarea:

P1(x1,y1)

P2(x2,y2)

Pi(xi,yi)

Pi+1(xi+1,yi+1)

Pn-1(xn-1,yn-1)

Pn(xn,yn)

yi

yi+1

yc

xi xc xi+1 x

y

0

Page 242: Aplicata in Inginerie Mathcad 2001

242

• Funcţiei linterp:

o Sintaxa funcţiei: linterp(Vx,Vy,x);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori coloană, cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru n puncte;

x – reprezintă valoarea abscisei unui punct, a cărui ordonată urmează a fi determinată prin interpolare liniară.

o Valoarea returnată: un număr real care reprezintă valoarea calculată prin interpolare liniară.

o Observaţii:

a. Valorile conţinute în vectorul Vx trebuie să fie ordonate crescător;

b. Valoarea argumentului x trebuie să respecte condiţia:

10 −≤≤ nVxxVx . (16.7)

Exemplul 1: Într-un experiment se realizează următoarele măsurători:

x 8 6 10 5 13 11 14

y 1.33 2.5 4.78 6.0 7.34 8.89 15.45

Să se calculeze valorile de interpolare liniară, în punctele x=5.3; 7.0; 13.333.

Date0 1

0123456

8 1.336 2.5

10 4.785 6

13 7.3411 8.8914 15.45

:=- se ordoneaza crescator valorile absciselor:

DATE csort Date 0,( ):=

valorile absciselor:•

valorile ordonatelor•

X DATE 0⟨ ⟩:=

Y DATE 1⟨ ⟩:=

Functia de interpolare liniara:• y x( ) linterp X Y, x,( ):=Calculul valorilor interpolate:• y 5.2( ) 5.3=

y 7( ) 1.915=

y 13.333( ) 10.041=

4 6 8 10 12 14 16

10

20

Punctele initialeFunctia de interpolare liniara

Y

y x( )

X x,

Page 243: Aplicata in Inginerie Mathcad 2001

243

16.1.2. Interpolarea polinomială de tip spline

Interpolarea polinomială de tip spline reprezintă un tip de interpolare pe porţiuni, care se aplică unei diviziuni:

bxxxxa ni =<<<<<= LL21 , (16.8) a intervalului [a,b].

O funcţie spline polinomială de gradul p cu nodurile în punctele xi, n,i 1∈ , este o funcţie F cu următoarele proprietăţi:

a. Pe fiecare subinterval [ ]1+ii x,x , F(x) este un polinom de gradul p; b. F(x) şi primele sale (p-1) derivate sunt continue pe [a,b].

Deoarece funcţia spline F(x) are primele (p-1) derivate continue pe [a,b], derivata de ordinul p fiind discontinuă în nodurile ix ale diviziunii, spunem că ea este o funcţie netedă pe porţiuni. Gradul de netezime este dat de ordinul p. Principiul de realizare al interpolării polinomiale de tip spline este prezentat în fig. 16.2.

Fig. 16.2 Principul de realizare al interpolării polinomiale de tip spline pe porţiuni

Cel mai des utilizate funcţii polinomiale de tip spline sunt funcţiile spline cubice. În

condiţiile prezentate anterior, funcţia spline cubică au ecuaţia:

( ) ( ) ( ) ( ) 132 pentru +≤≤−⋅+−⋅+−⋅+= iiiiiiiiii xxx,xxdxxcxxbyxF , (16.9)

Construcţia unei funcţii spline cubice reprezintă un procedeu numeric simplu şi stabil, în care coeficienţii bi, ci şi di ai fiecărei porţiuni din curbă se de termină din condiţiile de continuitate în punctele ,n,i,xi 1∈ ale diviziunii.

Să considerăm subintervalul [ ]1+ii x,x şi să notăm cu, [ŞAB83]:

ω−=ω

−=ω

−= +

1

1

i

i

iii

hxx

xxh

, (16.10)

se constată că dacă x parcurge acest subinterval, atunci ω variază de la zero la unu, iar ω de la unu

x1 x4 x2 x3 x5

F2(x)

Page 244: Aplicata in Inginerie Mathcad 2001

244

la zero. Cu aceste notaţii, Fi(x) poate fi scris sub forma:

( ) ( )[ ]iiiiii hyy)x(F σ⋅ω−ω+σ⋅ω−ω⋅+⋅ω+⋅ω= ++3

132

1 , (16.11)

unde iσ şi 1+σi reprezintă două constante ce urmează a fi determinate. Primii doi termeni corespund interpolării liniare obişnuite, iar ultimul termen reprezintă o corecţie cubică, prin intermediul căreia asigurăm netezimea lui Fi(x).

De asemenea, putem face observaţia că acest termen se anulează la ambele extremităţi ale subintervalului, astfel încât:

==

++ 11 iii

iii

y)x(Fy)x(F

, (16.12)

deci Fi(x) interpolează datele ( )ii y,x independent de alegerea constantelor iσ . Prin derivarea lui

Fi(x) şi având în vedere că ih

1=ω′ şi

ih1

−=ω′ , obţinem:

( ) ( )[ ]

( )

σ−σ⋅=′′′

σ⋅ω⋅+σ⋅ω⋅=′′

σ⋅−ω⋅−σ⋅−ω⋅⋅+−

=′

+

+

++

i

iii

iii

iiii

iii

h)x(F

)x(F

hh

yy)x(F

1

1

21

21

6

66

1313

. (16.13)

Se observă că )x(Fi ′′ este o funcţie liniară care interpolează valorile 6⋅σi şi 6⋅σi+1. Rezultă:

6

)x(F iii

′′=σ , (16.14)

iar )x(Fi ′′′ este constantă pe fiecare subinterval şi 0=)x(F IV pe tot intervalul [a,b]. Calculând derivatele laterale, la capetele unui subinterval, )x(F i−′ şi )x(F i+′ , obţinem:

( )( )

σ+σ⋅⋅−∆=′σ⋅+σ⋅−∆=′

+−

++

iiiii

iiiii

h)x(Fh)x(F

1

1

22

, (16.15)

unde s-a notat prin ( ) iiii hyy −=∆ +1 . Pentru a obţine continuitatea dorită, impunem în nodurile interioare condiţiile suplimentare:

12 −∈′=′ +− n,i),x(F)x(F ii . (16.16)

Dacă, în ecuaţiile (16.15) înlocuim pe i cu i-1 şi apoi impunem condiţiile (16.16), obţinem:

( ) ( )iiiiiiii hh σ+σ⋅⋅+∆=σ+σ⋅⋅+∆ +−−− 1111 22 , (16.17) şi ( ) 122 11111 −∈∆−∆=σ⋅+σ⋅+⋅+σ⋅ −+−−− n,i,hhhh iiiiiiiii . (16.18)

Ecuaţiile (16.18) reprezintă un sistem de n-2 ecuaţii liniare în raport cu necunoscutele n,i,i 1∈σ . Pentru determinarea, în mod unic, a funcţiei spline de interpolare mai sunt necesare

încă două condiţii. Acestea se pot specifica în mai multe feluri. De exemplu, ele pot fi de forma:

0111 =′′=′′ − )x(F)x(F nn . (16.19)

Page 245: Aplicata in Inginerie Mathcad 2001

245

Condiţiile (16.19) se consideră condiţii la limită naturale şi conduc la obţinerea unei funcţii spline cubică naturală.

O altă modalitate de a defini condiţiile suplimentare, constă în alegerea a două polinoame de gradul trei, C1(x) şi Cn(x), ale căror grafice trec prin primele patru puncte şi respectiv, prin ultimele patru puncte, )y,x( ii . Condiţiile la limită, care leagă funcţiile F(x), C1(x) şi Cn(x) sunt în acest caz:

′′′=′′′′′′=′′′

nn C)x(FC)x(F 11 . (16.20)

Constantele 1C ′′′ şi nC ′′′ pot fi determinate considerând diferenţele divizate:

ii

iii xx

yy−−

=∆+

+

1

1 - de ordinul întâi;

ii

ii)(i xx −

∆−∆=∆

+

+

2

12 - de ordinul doi;

ii

)(i

)(i)(

i xx −∆−∆

=∆+

+

3

2213 - de ordinul trei.

Se constată că )(i22 ∆⋅ şi )(

i36 ∆⋅ aproximează derivatele de ordinul doi şi trei. Pe baza

acestor consideraţii şi cu notaţiile anterioare, rezultă:

∆⋅=′′′

∆⋅=′′′

−)(

inn

)(

C

C3

3

311

6

6. (16.21)

Relaţiile (16.21) împreună cu relaţiile (16.13), conduc la:

∆=σ−σ

∆=σ−σ

−−

− )(n

n

nn

)(

h

h

33

1

1

31

1

12

. (16.22)

Dacă înmulţim ecuaţiile (16.22) cu 21h şi respectiv cu 2

1−− nh , după o serie de transformări, rezultă:

∆⋅−=σ⋅−σ⋅

∆⋅=σ⋅+σ⋅−

−−−−−)(

nnnnnn

)(

hhh

hhh3

32

1111

31

212111 . (16.23)

O altă modalitate de a defini condiţiile suplimentare, constă în alegerea a două polinoame de gradul doi, C1(x) şi Cn(x), ale căror grafice trec prin primele trei puncte şi respectiv, prin ultimele trei puncte, )y,x( ii . Condiţiile la limită, care leagă funcţiile F(x), C1(x) şi Cn(x) în acest caz, sunt:

′′=′′′′=′′

nn C)x(FC)x(F 11 . (16.24)

Constantele 1C ′′ şi nC ′′ pot fi determinate considerând diferenţele divizate şi procedând ca în cazul precedent.

Pentru a determina funcţia spline cubică este necesar să rezolvăm sistemul liniar de ecuaţii care rezultă luând în considerare cele n-2 ecuaţii (16.18) împreună cu cele două ecuaţii (16.19), (16.23), sau cele ce rezultă din condiţiile (16.24).

Page 246: Aplicata in Inginerie Mathcad 2001

246

Sistemul de ecuaţii rezultat prin utilizarea ecuaţiilor (16.18) împreună cu (16.19) se poate scrie sub formă matriceală:

( )( )

( ))(

nn

nn

ii

)(

n

n

i

nn

nnn

i

h

h

hhhhh

h

hhhhhhh

hh

33

21

21

1

23

12

31

21

1

3

2

1

11

112

322

2211

11

000020000

000000

0002000020000

−−

−−

−−

−−−

∆⋅−∆−∆

∆−∆

∆−∆∆−∆

∆⋅

=

σ

σ

σ

σσσ

−+⋅

+⋅+⋅

M

M

M

M

LL

LL

MMLMLMMM

LL

MMLLMMM

LL

LL

LL

(16.25)

Matricea sistemului (16.25) este tridiagonală, simetrică, nesingulară şi diagonal dominantă. Deci pentru a obţine soluţia sistemului se poate folosi metoda lui Gauss fără pivotare. Eliminarea gaussiană transformă sistemul iniţial în:

n

n

i

n

n

i

n

nn

i

h

hh

ββ

β

βββ

=

σσ

σ

βσσ

αα

α

αα

α

−−−− 1

3

2

1

1

3

2

1

11

3

22

11

000000000

00000

0000000000000

M

M

M

M

LL

LL

MMLMLMMM

LL

MMLMLMMM

LL

LL

LL

. (16.26)

Coeficienţii iσ se determină din sistemul (16.26) prin substituţie regresivă, cu relaţiile:

11pentru1 ,ni,h

i

iiii −∈

ασ⋅−β

=σ + , (16.27)

unde elementele diagonale se calculează cu ecuaţiile:

( )

α−−=α

−∈α

−−⋅=α

−=α

−−

−−

1

212

1n

1

21

1

11

12pentru2

n

nn

i

iiii

hh

n,i,hhh

h

(16.28)

şi termenii liberi, iβ :

( )

αβ⋅−∆⋅−=β

−∈αβ⋅

−∆−∆=β

∆⋅=β

−−−−

−−−

1

11

33

21

1

111

31

211

12pentru

n

nn

)(nnn

i

iiiii

)(

hh

n,i,hh

. (16.29)

Page 247: Aplicata in Inginerie Mathcad 2001

247

Cu ajutorul valorilor determinate prin ecuaţiile (16.27), (16.28) şi (16.29) se pot calcula coeficienţii bi, ci şi di ai fiecărei porţiuni din funcţia spline cubică. Se utilizează relaţiile:

( )

σ−σ=

−∈σ⋅=

σ⋅+σ⋅−−

=

+

++

i

iii

ii

iiii

iii

hd

n,ic

hh

yyb

1

11

11pentru3

2

. (16.30)

În Mathcad, valorile de interpolare de tip spline cubice se determină prin utilizarea a trei funcţii: lspline, pspline şi cspline. În funcţie de tipul argumentelor cu care sunt apelate, aceste funcţii permit calculul coeficienţilor curbei cubice de interpolare în cazul: a. Bidimensional

o Sintaxa funcţiilor: lspline(Vx,Vy); pspline(Vx,Vy); cspline(Vx,Vy).

o Argumentele funcţiilor: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru n puncte;

o Valoarea returnată: un vector ce conţine coeficienţii curbei spline de interpolare.

o Observaţii:

a. Valorile conţinute în vectorul Vx trebuie să fie ordonate crescător;

b. Curba spline de interpolare are formă:

liniară în vecinătatea extremităţilor domeniului, adică în preajma punctelor de abscisă Vx0 şi Vxn-1, în cazul utilizării funcţiei lspline (condiţie de terminare liniară). Această formă rezultă ca urmare a utilizării relaţiilor (16.19) pentru precizarea celor două condiţii, la limită, suplimentare;

parabolică în vecinătatea extremităţilor domeniului, în cazul utilizării funcţiei pspline (condiţie de terminare parabolică). Această formă rezultă ca urmare a utilizării relaţiilor (16.24) pentru precizarea celor două condiţii, la limită, suplimentare;

cubică în vecinătatea extremităţilor domeniului, în cazul utilizării funcţiei cspline (condiţie de terminare cubică). Această formă rezultă ca urmare a utilizării relaţiilor (16.20) pentru precizarea celor două condiţii, la limită, suplimentare.

c. Evaluarea ordonatei unui punct, de abscisă x, se realizează prin utilizarea funcţiei interp:

)x,Vy,Vx,Vr(erpinty = , (16.31)

unde prin Vr s-a notat vectorul pe care-l returnează funcţia lspline. Valoarea argumentului x trebuie să respecte condiţia din relaţia (16.7).

În cele ce urmează este prezentată foaia de calcul în care este exemplificat modul de utilizare al celor trei funcţii Mathcad (lspline, pspline şi cspline). Valorile de calcul utilizate sunt cele precizate la exemplul 1. De asemenea, s-a realizat şi o reprezentare grafică a celor trei tipuri de curbe de regresie. Detaliile prezentate, la capetele intervalului pe care se realizează interpolarea, evidenţiază efectul pe care îl au cele două condiţii suplimentare impuse (precizate prin ecuaţiile (16.19), (16.21) şi (16.24)).

Page 248: Aplicata in Inginerie Mathcad 2001

248

4 6 8 10 12 14

5

10

15

Punctele initialeFunctia csplineFunctia psplineFunctia lspline

Y

yc x( )

yp x( )

yl x( )

X x,

yl 13.333( ) 9.295=

yl 7( ) 1.185=

yl 5.2( ) 5.207=

3. Functia spline cu limite de grad 1:

yp 13.333( ) 8.912=yc 13.333( ) 8.639=

yp 7( ) 1.261=yc 7( ) 1.285=

yp 5.2( ) 5.104=yc 5.2( ) 5.068=

2. Functia spline cu limite de grad 2:1. Functia spline cu limite de grad 3:

Calculul valorilor interpolate:•

yl x( ) interp cl X, Y, x,( ):=cl lspline X Y,( ):=

yp x( ) interp cp X, Y, x,( ):=cp pspline X Y,( ):=

yc x( ) interp cs X, Y, x,( ):=cs cspline X Y,( ):=

Calculul functiei de interpolare spline:•

Cu limite de grad 3:

Cu limite de grad 2:

Cu limite de grad 1:

Y Date 1⟨ ⟩:=

X Date 0⟨ ⟩:=valorile absciselor:•

valorile ordonatelor:•

Date

5

6

8

10

11

13

14

6

2.5

1.33

4.78

8.89

7.34

15.45

=

Date csort DATE 0,( ):=

- se ordoneaza crescator valorile absciselor:DATE0 1

0123456

8 1.336 2.5

10 4.785 6

13 7.3411 8.8914 15.45

:=

Page 249: Aplicata in Inginerie Mathcad 2001

249

Detalii:1. La limita inferioara: 2. La limita superioara:

4 5 6

5

10

Punctele initialeFunctia csplineFunctia psplineFunctia lspline

13 13.5 14 14.5 15

10

15

20

Punctele initialeFunctia csplineFunctia psplineFunctia lspline

b. Tridimensional

o Sintaxa funcţiilor: lspline(Mxy,Mz); pspine(Mxy,Mz); cspline(Mxy,Mz).

o Argumentele funcţiei: Mxy – reprezintă un tablou cu elemente reale şi cu dimensiunile n linii × 2 coloane, ce conţine valorile absciselor şi respectiv a ordonatelor, pentru n puncte din planul xOy. Cele n puncte se aleg astfel încât să reprezinte diagonala unui domeniu dreptunghiular, fig. 16.3.

Fig. 16.3 Modul de precizare al elementelor tabloului Mxy

Domeniul dreptunghiular ales pentru interpolarea de tip spline este împărţit într-o reţea de n × n puncte. Pentru a se manipula mai puţine date, în planul xOy, este suficient să se dea valorile coordonatelor punctelor situate pe diagonala reţelei. Astfel Mxy este un tablou cu

P0(x0,y0)

Pn-1(xn-1,yn-1)

Pi(xi,yi)

P2(x2,y2)

P1(x1,y1)

Pn-2(xn-1,yn-1)

O

O

Page 250: Aplicata in Inginerie Mathcad 2001

250

elemente reale având n linii şi două coloane, pe fiecare coloană valorile fiind crescătoare. Evident că dacă se cunoaşte Mxy programul calculează coordonatele tuturor celorlalte puncte.

Mz – reprezintă un tablou, de dimensiuni n linii n coloane, ce conţine valorile coordonatei z ale celor n × n puncte conţinute în domeniul plan delimitat.

o Valoarea returnată: un vector ce conţine coeficienţii suprafeţei spline de interpolare. o Observaţii:

a. Valorile conţinute în tabloul de date Mxy trebuie să fie ordonate crescător; b. Valorile conţinute în tabloul de date Mz trebuie să respecte condiţia: elementul Mzi,j

reprezintă coordonata z a punctului de abscisă Mxyi,0 şi de ordonată Mxyj,1. c. Suprafaţa spline de interpolare are:

• condiţie de terminare liniară în cazul utilizării funcţiei lspline; • condiţie de terminare parabolică în cazul utilizării funcţiei pspline; • condiţie de terminare cubică în cazul utilizării funcţiei cspline.

d. Evaluarea coordonatei z a unui punct, de abscisă x şi ordonată y, se realizează prin utilizarea funcţiei interp:

)yx

,My,Mxy,Vr(erpinty

= , (16.32)

unde prin Vr s-a notat vectorul pe care-l returnează funcţia lspline. Valorile argumentelor x şi y trebuie să respecte relaţiile:

≤≤

≤≤

1110

0100

,n,

,n,

MxyyMxyMxyxMxy

. (16.33)

În continuare este prezentat modul de utilizare al funcţiei cspline în cazul tridimensional. Trebuie făcută precizarea că şi celelalte două funcţii, lspline şi pspline se utilizează în acelaşi mod.

Mz Mz,

Coordonatele punctelor din planul xoy: Valorile coordonatei z:

Reprezentarea grafica a punctelor initiale

Mz

0.05

3.55−

3.551−

1.889−

0.499−

0.029−

1.499−

3.815−

3.432−

1.801−

0.374−

0.362

2.82−

3.909−

3.198−

1.656−

0.249−

0.697

3.701−

3.672−

2.744−

1.4−

0.125−

0.921

4−

3−

2−

1−

0

1

3.668−

1.854−

0.94−

0.442−

0.125

0.921

=Mxy

0

1

2

3

4

5

0

1

2

3

4

5

=

Page 251: Aplicata in Inginerie Mathcad 2001

251

Mz fit,

S cspline Mxy Mz,( ):= fit x y,( ) interp S Mxy, Mz,x

y

,

:=

fit 2.5 3.9,( ) 1.569−=Calculul valorilor de interpolare:

Reprezentarea grafica a functiei de interpolare

fit 0.1 1.7,( ) 2.729−=

Relativ la o diviziune (16.8), a unui interval [a,b], se poate defini un alt tip de funcţii de interpolare polinomială, şi anume funcţiile B-spline. Se numeşte funcţie B-spline de gradul p, asociată nodurilor 110 +pi x,,x,,x,x LL , vezi fig. 16.4, o funcţie alcătuită ca o combinaţie liniară de funcţii elementare, [LAR89]:

pp

pppp )xx(,,)xx(,)xx(,)xx(,x,,x,x,x, ++++ −−−− LL 210321 , (16.34)

real definită, continuă şi cu derivate continue până la ordinul p-1, pentru 1≥p .

Fig. 16.4 Principul de realizare al interpolării polinomiale de tip B-spline

x0 x1 xi xp+1 x2 … …

pp )xx(,x,,x,x,x, +− 1321 L

Page 252: Aplicata in Inginerie Mathcad 2001

252

În relaţia (16.34) s-a notat:

( ) ( )

≤>−

=− +i

ip

ipi xx

xxxxxxdaca0daca . (16.35)

În Mathcad interpolarea polinomială de tip B-spline se realizează prin intermediul:

• Funcţiei bspline:

o Sintaxa funcţiei: bspline(Vx,Vy,Vl,k);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru n puncte;

Vl – reprezintă un vector cu elemente reale, de dimensiuni n-k+1 linii × 1 coloană, ce conţine coordonatele unor puncte de legătură, în care elementele de tip B-spline sunt forţate să se conecteze;

k – reprezintă tipul de curbe individuale, ce alcătuiesc polinomul de interpolare determinat:

• k=1 – indică faptul că se utilizează segmente de dreaptă pentru interpolare; • k=2 – indică utilizarea unor curbe de tip parabolic (de gradul doi); • k=3 – indică utilizarea unor curbe polinomiale de gradul trei.

o Valoarea returnată: un vector ce conţine coeficienţii curbei de interpolare B-spline, având gradul k.

o Observaţii:

a. Valorile conţinute în vectorul Vx trebuie să fie ordonate crescător;

b. Valorile conţinute în vectorul Vl trebuie să fie ordonate crescător şi să respecte condiţiile:

≥≤

−− 1

00

nkn VxVlVxVl

. (16.36)

c. Faptul că, utilizatorul deţine controlul asupra punctelor de conectare a elementelor individuale de curbă B-spline, prin indicarea lor în vectorul Vl, asigură o flexibilitate sporită. Curbele de interpolare prezentate anterior (linterp, cspline, lspine sau pspline), reprezintă cazuri particulare ale curbelor B-spline.

d. Evaluarea ordonatei unui punct, de abscisă x, se realizează prin utilizarea funcţiei interp, conform relaţiei (16.31). Valoarea argumentului x trebuie să respecte condiţia din relaţia (16.7).

Mai jos este prezentată foaia de calcul în care este exemplificat modul de utilizare al

funcţiei Mathcad, destinată interpolării prin funcţii de tip B-spline de grad k = 1, 2, 3. Valorile de calcul utilizate sunt cele precizate la exemplul 1. Toate funcţiile Mathcad specializate pentru interpolare polinomială de tip spline (cspline, pspline, lspline şi bspline), după cum rezultă din foile de calcul prezentate anterior, se utilizează doar pentru a calcula parametrii funcţiilor de interpolare. Ele sunt funcţii pregătitoare. Interpolarea propriu-zisă se realizează prin utilizarea funcţiei interp.

Page 253: Aplicata in Inginerie Mathcad 2001

253

4 6 8 10 12 14

10

20

30

Punctele initialeFunctia B-spline de grd. 1Functia B-spline de grd. 2Functia B-spline de grd. 3

Y

y1 x( )

y2 x( )

y3 x( )

X x, x, x,

y3 x( ) interp bs3 X, Y, x,( ):=bs3 bspline X Y, V3, k3,( ):=

y2 x( ) interp bs2 X, Y, x,( ):=bs2 bspline X Y, V2, k2,( ):=

y1 x( ) interp bs1 X, Y, x,( ):=bs1 bspline X Y, V1, k1,( ):=

Calculul functiei de interpolare B-spline:•

V3

4

6.9

7

13

16

:=V2

5

7

9

10.5

13

14

:=V1

4

6.3

8.4

9.3

11.8

12.7

22

:=

Definirea vectorului ce contine punctele de conexiune ale curbelor B-spline:•

k3 3:=k2 2:=k1 1:=

Gradul curbelor B-spline:•

Y Date 1⟨ ⟩:=

X Date 0⟨ ⟩:=Valorile absciselor:•

Valorile ordonatelor:•

Date0 1

0123456

5 66 2.58 1.33

10 4.7811 8.8913 7.3414 15.45

:=

În funcţie de tipul argumentelor cu care este apelată, interp permite calculul valorilor de interpolare şi/sau regresie în cazul:

a. Bidimensional

o Sintaxa funcţiei: interp(Vr,Vx,Vy,x);

Page 254: Aplicata in Inginerie Mathcad 2001

254

o Argumentele funcţiei: Vr – reprezintă un vector ce conţine valorile coeficienţilor curbei de interpolare (dacă a fost generat de una din funcţiile bspline, cspline, lspline sau pspline), sau valorile coeficienţilor curbei de regresie (dacă a fost generat de una din funcţiile regress sau loess).

Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru n puncte. Aceste puncte sunt cele utilizate pentru generarea vectorului Vr;

x – reprezintă abscisa punctului unde se determină valoarea de interpolare şi/sau regresie.

o Valoarea returnată: valoarea de interpolare, sau cea de regresie, calculată în punctul x.

o Observaţii: valoarea argumentului x trebuie să respecte condiţia din relaţia (16.7).

b. Tridimensional

o Sintaxa funcţiei: interp(Vr, Mxy,Mz,v);

o Argumentele funcţiei: Vr – reprezintă un vector ce conţine valorile coeficienţilor suprafeţei de interpolare (dacă a fost generat de una din funcţiile cspline, lspline sau pspline), sau valorile coeficienţilor suprafeţei de regresie (dacă a fost generat de una din funcţiile regress sau loess).

Mxy, Mz – reprezintă două tablouri cu elemente reale, ce conţin valorile coordonatelor, pentru n puncte. Aceste puncte sunt cele utilizate pentru generarea vectorului Vr;

v – reprezintă un vector ce conţine coordonatele unui punct unde se determină valoarea de interpolare şi/sau regresie.

o Valoarea returnată: valoarea de interpolare sau cea de regresie, calculată în punctul de coordonate:

==

1

0

vyvx

. (16.37)

o Observaţii: valorile argumentelor x şi y trebuie să respecte condiţiile (16.33).

16.2. FUNCŢII PENTRU REGRESII

După efectuarea unei serii de măsurători, de tipul celor prezentate în tabelul 16.1, asupra

variabilei dependente y, pentru diverse valori ale variabilei independente x, se pune problema să se găsească forma dependenţei funcţionale, F(x), precum şi a valorilor parametrilor acestei funcţii.

Alegerea funcţiei F(x) este esenţială pentru succesul utilizării metodei regresiei. Din păcate, nu există o metodă directă care să permită precizarea celui mai potrivit model al lui F(x). Dacă există legităţi, pe care le cunoaştem apriori, cu privire la forma legăturii dintre variabile, atunci von utiliza drept ecuaţie de regresie expresia matematică a acestora. Dacă nu există o asemenea bază teoretică, [ŢAR98], se procedează la o analiză calitativă a esenţei fenomenelor şi dacă se ajunge la concluzia că poate exista o legătură între variabile, pentru a alege cel mai potrivit model de regresie se pot aplica următoarele reguli:

1. Datele experimentale se reprezintă grafic. Se obţine un număr de n puncte;

Page 255: Aplicata in Inginerie Mathcad 2001

255

2. Se trasează vizual o curbă care să se apropie cât mai mult de punctele experimentale. Apoi, se trasează efectiv, pe grafic, curba corespunzătoare, căutându-se să se acorde ponderi egale tuturor punctelor înscrise;

3. Se apreciază forma funcţiei adecvate curbei trasate şi apoi se alege o ecuaţie care să corespundă cât mai bine alurei curbei empirice;

4. Se calculează valorile parametrilor acestei curbe utilizând principiul Gauss-Legendre (metoda celor mai mici pătrate), conform ecuaţiei (16.4);

5. Se apreciază gradul de concordanţă dintre punctele experimentale şi curba empirică obţinută în etapa 4, prin calculul valorilor unor indicatori de concordanţă;

6. Dacă există mai multe modele matematice potenţiale, a căror alură ar putea modela modul de dispunere pe grafic a celor n puncte experimentale, pentru fiecare, în parte, se parcurg etapele 4 şi 5;

7. În funcţie de valorile indicatorilor de concordanţă şi/sau din alte considerente, de ordin teoretic sau practic, se determină modelul cel mai potrivit.

Tipul modelului matematic adoptat pentru F(x) determină tipul de regresie utilizat pentru reprezentarea datelor experimentale.

16.2.1. Regresia liniară

Regresia liniară utilizează o funcţie model de forma:

xBAy)x(F ⋅+== . (16.38)

Determinarea parametrilor A şi B, ai ecuaţiei (16.38), prin metoda celor mai mici pătrate implică minimizarea valorii ecuaţiei (16.4). Particularizată pentru cazul regresiei liniare ecuaţia (16.4) devine:

[ ]21

1

2

⋅−−= ∑=

n

iii xBAy)F,f(d . (16.39)

Întrucât punctul de minim al ecuaţiei (16.39) coincide cu minimul relaţiei:

[ ]∑=

⋅−−=n

iii xBAy)B,A(

1

2ε , (16.40)

ecuaţia (16.40) se utilizează în aplicaţiile practice pentru determinarea valorii parametrilor A şi B.

Semnificaţia geometrică a ecuaţiei (16.40) este prezentată în fig. 16.5 şi anume:

∑=

ε=n

ii)B,A(

1

2ε , (16.41)

unde s-a notat prin n,i,i 1∈ε - eroarea dintre ordonata unui punct experimental şi ordonata aceluiaşi punct situat pe dreapta (16.38):

iii xBAy ⋅−−=ε . (16.42)

Dacă impunem, ecuaţiei (16.40), condiţia de minim, min)B,A( →ε , parametrii dreptei de regresie se obţin rezolvând sistemul ecuaţiilor normale:

=∂

=∂

0

0

B)B,A(

A)B,A(

ε

ε

. (16.43)

Page 256: Aplicata in Inginerie Mathcad 2001

256

Fig. 16.5 Utilizarea principiului celor mai mici pătrate în cazul regresiei liniare

În continuare este prezentată foaia de calcul Mathcad în care s-a rezolvat sistemul (16.43), folosind facilităţile de calcul simbolic.

Determinarea sistemului de ecuatii normale:•

A1

n

i

yi A− B xi⋅−( )2∑=

∂2 n⋅ A⋅

1

n

i

2− yi⋅ 2 B⋅ xi⋅+( )∑=

+→

B1

n

i

yi A− B xi⋅−( )2∑=

∂1

n

i

2− yi⋅ xi⋅ 2 A⋅ xi⋅+ 2 B⋅ xi( )2⋅+

=

Rezolvarea sistemului de ecuatii normale:•

2 n⋅ A⋅ 2

1

n

i

yi− B xi⋅+( )∑=

⋅+ 0

2

1

n

i

yi− xi⋅ A xi⋅+ B xi( )2⋅+

=

⋅ 0

solveA

B

,1

n

i

yi∑=

1

n

i

xi( )2∑=

1

n

i

xi∑= 1

n

i

yi xi⋅∑=

⋅+

1

n

i

xi∑=

2

1

n

i

xi( )2∑=

n⋅+

1

n

i

yi xi⋅∑=

n⋅

1

n

i

xi∑= 1

n

i

yi∑=

⋅−

1

n

i

xi∑=

2

1

n

i

xi( )2∑=

n⋅+

Rezultă:

−⋅

⋅−⋅⋅=

−⋅

⋅⋅−⋅=

∑∑

∑∑∑

∑∑

∑∑∑∑

==

===

==

====

2

11

2

111

2

11

2

111

2

1

n

ii

n

ii

n

ii

n

ii

n

iii

n

ii

n

ii

n

iii

n

ii

n

ii

n

ii

xxn

yxyxnB

xxn

yxxxyA

. (16.44)

Pi2(xi,A+B⋅xi)

Pi1(xi,yi) Pn-1(xn-1,yn-1)

Pn(xn,yn)

P2(x2,y2)

P1(x1,y1)

x

y

0

P3(x3,y3)

x1 x2

y1

xi xn … …

y=A+B⋅x y2

yi

yn

ε i

tgα=A

B

Page 257: Aplicata in Inginerie Mathcad 2001

257

Funcţiile predefinite, prin intermediul cărora se calculează parametrii dreptei de regresie, admit ca argumente doi vectori, Vx şi Vy, cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte experimentale printre care se trasează dreapta de regresie În Mathcad valorile parametrilor dreptei de regresie se calculează cu:

• Funcţia line:

o Sintaxa funcţiei: line(Vx,Vy); o Valoarea returnată: un vector (2 linii × 1 coloană) ce conţine valorile calculate ale parametrilor

dreptei de regresie (A şi B).

• Funcţia intercept: o Sintaxa funcţiei: intercept(Vx,Vy); o Valoarea returnată: valoarea parametrului A al dreptei de regresie (A reprezintă ordonata

punctului de intersecţie al dreptei de regresie cu axa Oy), vezi fig. 16.5.

• Funcţia slope:

o Sintaxa funcţiei: slope(Vx,Vy); o Valoarea returnată: valoarea parametrului B, al dreptei de regresie (B reprezintă panta dreptei

de regresie), vezi fig. 16.5.

Ca indicator al concordanţei, dintre dreapta de regresie şi valorile Vx şi Vy, se utilizează coeficientul de corelaţie. El poate fi calculat utilizând funcţia corr(Vx,Vy). Pentru aplicaţii, valori ale coeficientului de corelaţie, corr(Vx,Vy) > 0.9, indică o bună corelaţie între dreapta de regresie şi valorile Vx şi Vy. Relaţia de calcul a valorii coeficientului de corelaţie este:

( ) ( )

( ) ( )21

0

2

1

0

VyVyVxVx

VyVyVxVx)Vy,Vx(corr

i

n

ii

i

n

ii

−⋅−

−⋅−=

∑−

=

= , (16.45)

În relaţia (16.45) prin Vx şi Vy s-au notat mediile aritmetice ale valorilor conţinute în cei doi vectori argument:

⋅=

⋅=

∑−

=

=1

0

1

0

1

1

n

ii

n

ii

Vyn

Vy

Vxn

Vx. (16.46)

Metoda regresiei fiind, la origine, o metodă statistică ea permite şi aprecierea împrăştierii datelor experimentale faţă de dreapta de regresie. Acest lucru se poate realiza prin utilizarea:

• Funcţia stderr:

o Sintaxa funcţiei: stderr(Vx,Vy);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează dreapta de regresie;

Page 258: Aplicata in Inginerie Mathcad 2001

258

o Valoarea returnată: eroarea standard asociată regresiei liniare:

( )( )∑−

=

⋅+−⋅−

=1

0

2

21 n

iii )Vx)Vy,Vx(slopeVy,Vx(erceptintVy

n)Vy,Vx(stderr . (16.47)

o Observaţii: valoarea erorii standard reprezintă o măsură a împrăştierii dintre dreapta de regresie şi valorile Vx şi Vy.

Exemplul 2: Într-un experiment se realizează următoarele măsurători:

x -1.82 -0.65 0.53 1.71 2.88 4.06 5.24 6.41

y 6.02 4.58 0.95 0.14 -0.83 -5.48 -5.97 9.53

Să se calculeze valorile parametrilor dreptei de regresie şi să se aprecieze gradul de concordanţă şi împrăştierea datelor experimentale, faţă de modelul adoptat.

4 2 0 2 4 6 8

15

10

5

5

10

15

Punctele experimentaleDreapta de regresie

Y

A1 B1 x⋅+

X x,

corr X Y,( ) 0.985975−=Valoarea erorii standard:stderr X Y,( ) 0.969806=Valoarea coeficientului de corelatie:

B2 1.840697−=A2 2.958061===>

A2

B2

line X Y,( ):=

B1 1.840697−=B1 slope X Y,( ):===> A1 2.958061=A1 intercept X Y,( ):=

Calculul parametrilor dreptei de regresie:

i 0 n 1−..:=

n rows date( ):=Y date 1⟨ ⟩:=

X date 0⟨ ⟩:=valorile absciselor:•

valorile ordonatelor•

date0 1

01234567

-1.82 6.02-0.65 4.580.53 0.951.71 0.142.88 -0.834.06 -5.485.24 -5.976.41 -9.53

:=

Deşi nu reprezintă o funcţie pentru regresii liniare, în continuare este prezentată o altă funcţie Mathcad care permite calculul parametrilor unui model liniar, trasat tot printre punctele experimentale. Aceasta este:

Page 259: Aplicata in Inginerie Mathcad 2001

259

• Funcţia medfit:

o Sintaxa funcţiei: medfit(Vx,Vy);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează dreapta mediană;

o Valoarea returnată: un vector (2 linii × 1 coloană) ce conţine valorile calculate ale parametrilor dreptei mediane (A şi B).

o Observaţii : algoritmul de calcul al parametrilor dreptei mediane constă în, [RMM01]:

1. cele n puncte, ale căror coordonate sunt indicate prin argumentele funcţiei – Vx şi Vy, sunt împărţite în trei grupe;

2. se iau în considerare doar primul şi ultimul grup de puncte. 3. se calculează valorile mediane ale coordonatelor, pentru punctele din primul grup, (x1Me,

y1Me) şi pentru cele din grupul al treilea, (x2Me, y2Me). Modul de calcul al valorii mediane este prezentat la subcapitolul 20.1.

4. se determină ecuaţia dreptei ce trece prin cele două puncte:

MeMe

Me

MeMe

Me

yyyy

xxxx

121

121

−−

=−

− . (16.48)

5. Parametrii acestei drepte:

−−

=

⋅−−

−=

MeMe

MeMe

MeMeMe

MeMeMe

xxyyB

xxxyyyA

1212

112121

, (16.49)

reprezintă valorile returnate de funcţia medfit. În continuare, este prezentată foaia de calcul ce prezintă modul de rezolvare al problemei din exemplul 2, folosind de această dată dreapta mediană. Foaia de calcul conţine şi o reprezentare grafică comparativă între dreapta de regresie şi dreapta mediană.

date0 1

01234567

-1.82 6.02-0.65 4.580.53 0.951.71 0.142.88 -0.834.06 -5.485.24 -5.976.41 -9.53

:=

valorile absciselor:•

valorile ordonatelor•

X date 0⟨ ⟩:=

Y date 1⟨ ⟩:=

n rows date( ):=

i 0 n 1−..:=

Calculul parametrilor dreptei mediane:

A3

B3

medfit X Y,( ):= ==> A3 3.536845=

B3 1.794183−=

Page 260: Aplicata in Inginerie Mathcad 2001

260

4 2 0 2 4 6 8

15

10

5

5

10

15

Punctele experimentaleDreapta medianaDreapta de regresie

10.713577

11.767517−

Y

A3 B3 x⋅+

A1 B1 x⋅+

84− X x, x,

Regresia liniară poate fi utilizată şi în cazul unor funcţii neliniare, cu condiţia ca acestea să

poată fi liniarizate printr-o schimbare convenabilă a variabilelor:

=

===

)b(fB)a(fA)x(fX

)y(fY

4

3

2

1

. (16.50)

În tabelul 16.2 sunt prezentate principalele funcţii neliniare care prin transformări simple, de tipul (16.50) pot fi aduse la o formă liniară:

XBAY ⋅+= , (16.51)

a cărei parametri, A şi B se pot calcula cu relaţiile (16.44).

Exemplul 3: Într-un experiment se realizează următoarele măsurători:

x 0.60 1.10 1.60 2.10 2.60 3.10 3.60 4.10 4.60 5.10 5.60 6.10

y 0.040 0.627 1.587 3.059 4.257 5.573 6.674 7.636 8.353 9.046 9.804 10.433

Să se determine un model de regresie corespunzător şi să se calculeze valorile parametrilor. Dacă se reprezintă grafic punctele experimentale, constatăm că putem utiliza modelul prezentat la poziţia 2, din tabelul 16.2.

Transformarea variabilelor pentru liniarizare:

Y ln y( ):= X1x

:=

Calculul parametrilor dreptei de regresie:

A

B

line X Y,( ):= A 2.912===>

B 3.709−=

Page 261: Aplicata in Inginerie Mathcad 2001

261

Valoarea coeficientului de corelatie: corr X Y,( ) 0.999538−=

Calculul parametrilor curbei de regresie: b B:=

a eA:=

Ecuatia curbei de regresie: R t( ) a expbt

⋅:=

0 1 2 3 4 5 6 70

5

10

15

y

R t( )

x t,

16.2.2. Regresii polinomiale

Regresia polinomială de gradul m utilizează o funcţie model de forma:

mm

jj xaxaxaxaay)x(F ⋅++⋅++⋅+⋅+== LL2

210 . (16.52)

Determinarea parametrilor m,j,a j 0∈ , ai ecuaţiei (16.52), prin metoda celor mai mici pătrate implică minimizarea valorii ecuaţiei:

( )[ ]∑=

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

i

mimijiiim xaxaxaxaay)a,,a(

1

2222100 LLLε . (16.53)

Sistemul ecuaţiilor normale, care se obţine dacă impunem ecuaţiei (16.53) condiţia de minim, este:

( )

( )

( )

( )

=⋅⋅−−⋅−−⋅−⋅−−⋅−≡∂

=⋅⋅−−⋅−−⋅−⋅−−⋅−≡∂

=⋅⋅−−⋅−−⋅−⋅−−⋅−≡∂

=⋅−−⋅−−⋅−⋅−−⋅−≡∂

=

=

=

=

n

i

mi

mim

jijiii

m

n

n

i

ji

mim

jijiii

j

n

n

ii

mim

jijiii

n

n

i

mim

jijiii

n

xxaxaxaxaaya

)a,,a,a(

xxaxaxaxaaya

)a,,a,a(

xxaxaxaxaaya

)a,,a,a(

xaxaxaxaaya

)a,,a,a(

1

2210

10

1

2210

10

1

2210

1

10

1

2210

0

10

02

02

02

02

LLL

M

LLL

M

LLL

LLL

ε

ε

ε

ε

. (16.54)

Sistemul (16.54) este un sistem liniar de m+1 ecuaţii cu m+1 necunoscute. El poate fi scris matriceal, sub forma:

Page 262: Aplicata in Inginerie Mathcad 2001

262

Tabelul 16.2 Funcţii care pot fi liniarizate prin transformări simple

Nr. crt.

Expresia funcţiei, y = f(x) Graficul funcţiei f(x) Substituţii recomandate

pentru liniarizare 0 1 2 3

1

xbeay ⋅⋅= , sau

xbalnyln ⋅+=

====

xXbB

alnAylnY

2

xb

eay ⋅= , sau

xbalnyln +=

=

===

xX

bBalnAylnY

1

3

xebay −⋅+=

1 ,

sau xeba

y−⋅+=

1

Mod

ele

de t

ip e

xpon

enţi

al

=

==

=

−xeX

bBaAy

Y 1

y

x 0

y

x 0

0>b 0<b

a a

y

x 0

0>b

a

y

x 0

0<b

0

y

x

a1

a⋅21

ba +1

abln

2ae

ab

Page 263: Aplicata in Inginerie Mathcad 2001

263

Tabelul 16.2 (continuare) Funcţii care pot fi liniarizate prin transformări simple

0 1 2 3

4

xbay ⋅= , sau

blogxalogylog

++=

M

odel

e de

tip

ex

pone

nţia

l

====

xXblogBalogAylogY

5

bxay ⋅= , sau

xlogbalogylog⋅++=

Mod

el d

e ti

p pu

tere

====

xlogXbB

alogAylogY

6

xbay += ,

sau

xbxay +⋅

= ;

∞<< x0 Mod

ele

de t

ip

hipe

rbol

ic

=

===

xX

bBaAyY

1

y

x 0

y

x 0

10

>>

b;a

100<<

>b

;a

y

x 0

y

x 0

1=b 0<b

y

x 0

y

x

0

0>b

0<b

a a

a

a

1 1

1>b

1<b

0>b

111

−<−=−>

bbb

a

a

Page 264: Aplicata in Inginerie Mathcad 2001

264

Tabelul 16.2 (continuare) Funcţii care pot fi liniarizate prin transformări simple

Nr. crt.

Expresia funcţiei, y = f(x) Graficul funcţiei f(x) Substituţii recomandate

pentru liniarizare 0 1 2 3

7

xbay

⋅+=

1 ,

sau

xbay

⋅+=1 ;

∞<<− xba .

===

=

xXbBaAy

Y 1

8

xba

y+

=1 ,

sau

bxaxy+⋅

= ;

∞<<− xba

=

==

=

xX

bBaAy

Y

1

1

9

xa

by1

+= ,

sau

xaxby⋅+

⋅=

1;

∞<<− xa1

Mod

ele

de t

ip h

iper

bolic

=

=

=

=

xX

bB

baA

yY

1

1

1

y

x 0

y x

0

00

<>

ab

00

><

ab

y

x 0

0>−ab

y

x 0

ab

ab

ab

0<−ab

a1

a1

y

x 0

0<a x 0

a1

a1

0>a

ab

ab

y

Page 265: Aplicata in Inginerie Mathcad 2001

265

Tabelul 16.2 (continuare) Funcţii care pot fi liniarizate prin transformări simple

0 1 2 3

10 xlogbay ⋅+= ;

∞<< x0

Mod

el d

e ti

p lo

gari

tmic

====

xlogXbBaAyY

y

x

0

y

x 0

0>b 0<b

1

a

1

a

Page 266: Aplicata in Inginerie Mathcad 2001

266

∑∑∑∑

∑∑∑∑

∑∑∑∑

∑∑∑

=

=

=

=

=

=

+

=

+

=

=

+

=

=

+

=

=

+

=

+

==

===

=⋅

n

ii

mi

n

ii

ji

n

iii

n

ii

m

j

n

i

mi

n

i

jmi

n

i

mi

n

i

mi

n

i

jmi

n

i

ji

n

i

ji

n

i

ji

n

i

mi

n

i

ji

n

ii

n

ii

n

i

mi

n

i

ji

n

ii

yx

yx

yx

y

a

a

aa

xxxx

xxxx

xxxx

xxxn

1

1

1

1

1

0

1

2

11

1

1

11

2

1

1

1

1

1

1

1

1

2

1

111

M

M

M

M

LL

MLMLMM

LL

MLMLMM

LL

LL

. (16.55)

Rezolvarea sistemului (16.55) furnizează coeficienţii m,j,a j 0∈ , ai polinomului de regresie de gradul m.

În Mathcad valorile parametrilor unui polinom de regresie, de gradul m, se calculează cu:

• Funcţia regress În funcţie de tipul argumentelor cu care este apelată, această funcţie, permite calculul parametrilor, pentru un polinom de regresie, în cazul:

a. Bidimensional

o Sintaxa funcţiei: regress(Vx,Vy,m);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează polinomul de regresie;

m – reprezintă gradul polinomului de regresie, 0>m .

o Valoarea returnată: un vector, de dimensiuni m+4 linii × 1 coloană, ce conţine:

primul element – reprezintă un cod ce indică funcţia ce a generat vectorul (pentru funcţia regress această valoare este 3);

al doilea element – reprezintă un cod care indică, începând de la care element al vectorului se găsesc coeficienţii polinomului de regresie (pentru funcţia regress această valoare este 3);

al treilea element − reprezintă gradul polinomului de regresie, m. următoarele m + 1 elemente − reprezintă coeficienţii polinomului de regresie, pornind de la

coeficientul termenului liber şi terminând cu coeficientul puterii a m-a.

o Observaţii:

a. Utilizând precizările anterioare, se poate construi polinomul de regresie folosind relaţia:

∑=

+ ⋅=m

i

ii xC)x(Pm

03 , (16.56)

unde, prin C s-a notat vectorul returnat de funcţia regress.

b. Dacă dorim să utilizăm polinomul de regresie, fără a-i reconstitui expresia algebrică, Mathcad are predefinită funcţia interp, care permite calculul valorilor intermediare. Modul

Page 267: Aplicata in Inginerie Mathcad 2001

267

de utilizare al acestei funcţii este prezentat la subcapitolul 16.1.2.

c. Pentru a putea determina coeficienţii unui polinom de regresie de gradul m, este necesar ca numărul de puncte, n, să îndeplinească condiţia:

1+≥ mn . (16.57)

d. Deşi, funcţia regress poate calcula coeficienţii unui polinom de regresie de orice grad, în aplicaţiile practice nu se recomandă utilizarea gradelor mai mari de şase.

e. Ca o măsură a concordanţei dintre valorile experimentale şi polinomul de regresie se poate utiliza valoarea raportului de corelaţie, [ŢAR98]:

( )

( )

( )

( )∑

∑−

=

=−

=

=

−=

−−= 1

0

2

1

0

2

1

0

2

1

0

2

1 n

ii

n

ii

n

ii

n

iii

yy

y)x(f

yy

)x(fyη , (16.58)

relaţie în care s-au notat prin:

• xi, valorile absciselor celor n valori iniţiale. Aceste valori sunt conţinute în vectorul Vx; • yi, valorile ordonatelor celor n puncte iniţiale. Aceste valori sunt conţinute în vectorul

Vy; • f(xi), valorile ordonatelor punctelor situate pe curba de regresie; • ,y media aritmetică a ordonatelor celor n valori iniţiale:

∑−

=

⋅=1

0

1 n

iiy

ny . (16.59)

În cele ce urmează este prezentată este prezentată foaia de calcul în care este exemplificat modul de utilizare al funcţiei regress, pentru cazul bidimensional. Valorile de calcul utilizate sunt cele precizate la exemplul 1.

Date0 1

0123456

5 66 2.58 1.33

10 4.7811 8.8913 7.3414 15.45

:=

valorile absciselor:•

valorile ordonatelor:•

Vx Date 0⟨ ⟩:=

Vy Date 1⟨ ⟩:=

Calculul functiei polinomiale de regresie:

Gradul polinomului de regresie:•

m1 2:= m2 3:= m3 4:=

Coeficientii polinomului de regresie:•

De grad 2:

De grad 3:

De grad 4:

C1 regress Vx Vy, m1,( ):=

C2 regress Vx Vy, m2,( ):=

C3 regress Vx Vy, m3,( ):=

Page 268: Aplicata in Inginerie Mathcad 2001

268

η4 0.949===>η40

length Vx( ) 1−

j

P4 Vxj( ) mean Vy( )−( )2∑=

0

length Vx( ) 1−

j

Vyj mean Vy( )−( )2∑=

:=

η3 0.897===>η3 10

length Vx( ) 1−

j

Vyj P3 Vxj( )−( )2∑=

0

length Vx( ) 1−

j

Vyj mean Vy( )−( )2∑=

−:=

η2 0.889===>η2 10

length Vx( ) 1−

j

Vyj P2 Vxj( )−( )2∑=

0

length Vx( ) 1−

j

Vyj mean Vy( )−( )2∑=

−:=La grad 2:

La grad 3:

La grad 4:

Calculul rapoartelor de corelatie:

4 6 8 10 12 14

5

10

15

Punctele initialeGradul 2Gradul 3Gradul 4

Vy

P2 x( )

P3 x( )

P4 x( )

Vx x, x, x,

P4 x( ) interp C3 Vx, Vy, x,( ):=P3 x( )

0

m2

j

C2j 3+ xj⋅∑

=

:=P2 x( )

0

m1

j

C1j 3+ xj⋅∑

=

:=

De grad 4:•De grad 3:•De grad 2:•

Determinarea polinomului de regresie:•

Page 269: Aplicata in Inginerie Mathcad 2001

269

b. q-dimensional, q>2 o Sintaxa funcţiei: regress(Vx...y,Vz,m); o Argumentele funcţiei: Vx...y – reprezintă un tablou de date, cu elemente reale (n linii × q-1

coloane), ce conţine valorile celor q-1 variabile independente, pentru cele n puncte printre care se trasează hipersuprafaţa polinomială de regresie;

Vz – reprezintă un vector, cu elemente reale (n linii × 1 coloană), ce conţine valorile celei de a q-a variabile, pentru care se determină o dependenţă polinomială de forma z=f(x,...,y), în cele n puncte printre care se trasează hiper-suprafaţa polinomială de regresie;

m – reprezintă gradul hipersuprafeţei polinomiale de regresie, 0>m .

o Valoarea returnată: un vector, de dimensiuni 31 ++

⋅−+ qqmC m

qm linii × 1 coloană, ce conţine:

primul element – reprezintă un cod ce indică funcţia ce a generat vectorul (pentru funcţia regress această valoare este 3);

al doilea element – reprezintă un cod care indică, începând de la care element al vectorului se găsesc coeficienţii polinomului de regresie (pentru funcţia regress această valoare este 3);

al treilea element − reprezintă gradul polinomului de regresie, m.

următoarele q

qmC mqm

+⋅−+ 1 elemente − reprezintă coeficienţii polinomului de regresie.

o Observaţii: a. Pentru a construi expresia algebrică a polinomului de regresie, realizatorii Mathcad pun la

dispoziţia utilizatorului două funcţii care permit asocierea coeficienţilor, returnaţi de funcţia regress şi puterile celor q -1 coordonate independente, x...y . Cele două funcţii sunt prezentate în continuare.

Nterms, numarul de termeni ai polinomului•nvar, numarul de variabile ale polinomului•deg, ordinul polinomului•

Nterms nvar deg,( )nvar deg+( )!deg! nvar!⋅

:=

Step v Nvar, deg,( )

vi 0, vi 0, i+←

i 0 deg..∈for Nvar 1if

vi i, vi i, 1+←

i 0 Nvar 1−..∈for deg 1if

inc Nterms Nvar deg 1−,( )←

vi Nvar 1−, vi Nvar 1−, 1+←

i 0 inc 1−..∈for

A Step submatrix v 0, inc 1−, 0, cols v( ) 1−,( ) Nvar, deg 1−,( )←

B Step submatrix v inc, rows v( ) 1−, 0, cols v( ) 1−,( ) Nvar 1−, deg,( )←

v stack A B,( )←

otherwise

v

:=

COrder Nvar deg,( ) vNterms Nvar deg,( ) 1− Nvar 1−, 0←

Step v Nvar, deg,( )

:=

Page 270: Aplicata in Inginerie Mathcad 2001

270

Utilizând vectorul returnat de funcţia regress şi cel returnat de funcţia COEForder se poate construi expresia polinomului de regresie printr-o relaţie de forma:

∑+

=+

−+

−++ ⋅⋅⋅=q

qmC

i

IIi

mqm

q,i,i yxcoef)y,...,x(P1

1303

03 K . (16.60)

În relaţia (16.64) s-a notat prin:

- coef – vectorul returnat de funcţia regress; - m – gradul polinomului de regresie; - I – tabloul returnat de funcţia COEForder.

b. Dacă dorim să utilizăm polinomul de regresie, fără a-i reconstitui expresia algebrică, se utilizează funcţia predefinită interp, care permite calculul valorilor intermediare. Această funcţie poate fi utilizată doar în cazul q = 3, sub forma expresiei (16.32)

c. Pentru a putea determina coeficienţii unui polinom de regresie de gradul m, este necesar ca numărul de puncte, n, să îndeplinească condiţia:

q

qmCn mqm

+⋅≥ −+ 1 . (16.61)

d. Ca o măsură a concordanţei dintre valorile experimentale şi polinomul de regresie se poate utiliza valoarea raportului de corelaţie, [ŢAR98]:

( )

( )

( )

( )∑

∑−

=

=−

=

=

−=

−−= 1

0

2

1

0

2

1

0

2

1

0

2

1 n

ii

n

iii

n

ii

n

iiii

q

zz

z)y,,x(f

zz

)y,,x(fz KK

η , (16.62)

relaţie în care s-au notat prin: - xi, ..., yi valorile coordonatelor independente conţinute în vectorul Vx...y; - zi, valorile coordonatei conţinute în vectorul Vz; - f(xi,...,yi), valorile funcţiei polinomiale de regresie; - ,z media aritmetică a coordonatelor celor n puncte iniţiale, zi, (16.59).

Mai jos este prezentată este prezentată foaia de calcul în care este exemplificat modul de utilizare al funcţiei regress pentru cazul tridimensional.

Coordonatele punctelor experimentale:- in planul xoy:

MxyT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

01

0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 3.0 3.0 3.0 3.00.0 1.0 2.0 3.0 4.0 0.0 1.0 2.0 3.0 4.0 0.0 1.0 2.0 3.0 4.0 0.0 1.0 2.0 3.0

=

- dupa z:

VzT 0 1 2 3 4 5 6 7 8 9 10 110 0.050 -1.499 -2.820 -3.701 -4.000 -3.550 -3.815 -3.909 -3.672 -3.000 -3.551 -3.432

=

Calculul functiei polinomiale de regresie:

Gradul polinomului de regresie:•

m1 3:= m2 4:=

Page 271: Aplicata in Inginerie Mathcad 2001

271

coef submatrix C2 3, rows C2( ) 1−, 0, 0,( ):=I COrder Nvars m2,( ):=

ASOCIEREA COEFICIENTILOR:

Nterms Nvars m2,( ) 15=

Nvars cols XY( ):=nvar, numarul de variabile ale polinomului:•deg, ordinul polinomului•Nterms, numarul de termeni ai polinomului:•

Nterms nvar deg,( )nvar deg+( )!deg ! nvar !⋅

:=

b. De grad 4 - prin utilizarea functiilor step si COrder

Z P3,

η3 0.9901183===>η30

length Vz( ) 1−

j

P3 Mxy 0⟨ ⟩( )j Mxy 1⟨ ⟩( )

j,

mean Vz( )−

2

∑=

0

length Vz( ) 1−

j

Vzj mean Vz( )−( )2∑=

:=

Raportul de corelatie:•

P3 x y,( ) interp C1 Mxy, Vz,x

y

,

:=

a. De grad 3 - prin utilizarea functiei interp:

Determinarea polinomului de regresie:•

C2 regress Mxy Vz, m2,( ):=

C1 regress Mxy Vz, m1,( ):=De grad 3:•

De grad 4:•

Coeficientii polinomului de regresie:•

Reprezentarea grafică a funcţiei de regresie

Page 272: Aplicata in Inginerie Mathcad 2001

272

IT0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

01

1 0 0 0 1 2 0 1 2 3 0 1 2 3 43 4 3 2 2 2 1 1 1 1 0 0 0 0 0

=

POLINOMUL DE REGRESIE:

P4 x y,( )

0

last coef( )

i

coef i xIi 0,⋅ y

Ii 1,⋅∑=

:=

coef

0012

34

56

78

910

1112

1314

7.358·10 -3

.492·10 -3

0.041

4.4·10 -3

8.323·10 -3

-1.02·10 -5

-1.596

1.912-0.692

0.0810.051

-6.0452.767

-0.323.333·10 -6

=Raportul de corelatie:•

η40

length Vz( ) 1−

j

P4 Mxy 0⟨ ⟩( )j Mxy 1⟨ ⟩( )

j,

mean Vz( )−

2

∑=

0

length Vz( ) 1−

j

Vzj mean Vz( )−( )2∑=

:=

==> η4 0.9999995=

Z P4,

Pe lângă funcţia regress, care calculează coeficienţii unui singur polinom de regresie, cu gradul precizat prin valoarea coeficientului m, Mathcad conţine o altă funcţie de regresie, care permite determinarea unor familii de curbe polinomiale.

Gradul acestor curbe polinomiale este doi, iar determinarea lor se face în condiţiile analizei locale, a modului de variaţie, a datelor iniţiale. Rezultă în acest fel o curbă de regresie mult mai bine corelată local cu valorile iniţiale. Această funcţie este:

• Funcţia loess (de netezire) o Sintaxa funcţiilor: loess(Vx,Vy,m) – în cazul bidimensional;

loess(Vxy,Vz,m). – în cazul tridimensional

o Argumentele funcţiei: Vx, Vy, Vxy, Vz – au aceeaşi semnificaţie ca în cazul funcţiei regress.

Reprezentarea grafică a funcţiei de regresie

Page 273: Aplicata in Inginerie Mathcad 2001

273

m – reprezintă mărimea vecinătăţii în care se calculează o regresie polinomială de gradul doi, 0>m .

o Valoarea returnată: un vector ce conţine coeficienţii familiei de polinoame de regresie.

o Observaţii:

a. Dacă dorim să folosim, în continuare, familia de polinoame de regresie la diferite prelucrări matematice, se utilizează funcţia predefinită interp, conform celor precizate la subcapitolul 16.1.

b. Valoarea argumentului m determină vecinătatea, punctelor iniţiale, în care se calculează coeficienţii unui polinom de regresie de ordinul doi. Valori mari ale parametrului conduc la rezultate echivalente cu cele returnate de funcţia regress. Valoarea recomandată pentru acest parametru este, 750.m = .

c. Ca o măsură a concordanţei dintre valorile experimentale şi polinomul de regresie se poate utiliza valoarea raportului de corelaţie, vezi ecuaţiile (16.58) sau (16.62).

16.2.3. Regresii generalizate Rezolvarea aplicaţiilor practice, pot conduce la situaţii în care modelele regresiei liniare sau polinomiale nu asigură, întotdeauna, o corelaţie corespunzătoare între datele iniţiale şi curba de regresie. În aceste condiţii se recomandă utilizarea unor funcţii de regresie având o expresie matematică mai complexă. Se pot alege, în aceste situaţii, curbe de regresie alcătuite ca o combinaţie liniară de k+1 funcţii arbitrare, ϕ i(x):

)x(a)x(a)x(a)x(a)x(F kkjj ϕ⋅++ϕ⋅++ϕ⋅+ϕ⋅= KK1100 . (16.63)

Determinarea parametrilor k,j,a j 0∈ , ai ecuaţiei (16.63), prin metoda celor mai mici pătrate implică minimizarea valorii ecuaţiei:

( )[ ]∑=

ϕ⋅++ϕ⋅++ϕ⋅+ϕ⋅+ϕ⋅−=n

iikkijjiiiik )x(a)x(a)x(a)x(a)x(ay)a,a(

1

22211000 LLLε .

(16.64)

Sistemul ecuaţiilor normale, care se obţine dacă impunem ecuaţiei (16.64) condiţia de minim, este:

[ ]

[ ]

[ ]

[ ]

=ϕ⋅ϕ⋅−−ϕ⋅−−ϕ⋅−ϕ⋅−⋅−≡∂

=ϕ⋅ϕ⋅−−ϕ⋅−−ϕ⋅−ϕ⋅−⋅−≡∂

=ϕ⋅ϕ⋅−−ϕ⋅−−ϕ⋅−ϕ⋅−⋅−≡∂

=ϕ⋅ϕ⋅−−ϕ⋅−−ϕ⋅−ϕ⋅−⋅−≡∂

=

=

=

=

02

02

02

02

11100

0

11100

0

11

11001

0

01

11000

0

)x()x(a)x(a)x(a)x(aya

)a,,a(

)x()x(a)x(a)x(a)x(aya

)a,,a(

)x()x(a)x(a)x(a)x(aya

)a,,a(

)x()x(a)x(a)x(a)x(aya

)a,,a(

ik

n

iikkijjiii

k

k

ij

n

iikkijjiii

j

k

i

n

iikkijjiii

k

i

n

iikkijjiii

k

LLL

M

LLL

M

LLL

LLL

ε

ε

ε

ε

.

(16.65)

Sistemul (16.65) este un sistem liniar de k+1 ecuaţii cu k+1 necunoscute. El poate fi scris matriceal, sub forma:

Page 274: Aplicata in Inginerie Mathcad 2001

274

∑∑∑∑

∑∑∑∑

∑∑∑∑

∑∑∑∑

=

=

=

=

====

====

====

====

ϕ⋅

ϕ⋅

ϕ⋅

ϕ⋅

=⋅

ϕϕ⋅ϕϕ⋅ϕϕ⋅ϕ

ϕ⋅ϕϕϕ⋅ϕϕ⋅ϕ

ϕ⋅ϕϕ⋅ϕϕϕ⋅ϕ

ϕ⋅ϕϕ⋅ϕϕ⋅ϕϕ

n

iiki

n

iiji

n

iii

n

iii

k

j

n

iik

n

iikij

n

iiki

n

iiki

n

iikij

n

iij

n

iiji

n

iiji

n

iiki

n

iiji

n

ii

n

iii

n

iiki

n

iiji

n

iii

n

ii

)x(y

)x(y

)x(y

)x(y

a

a

aa

)x()x()x()x()x()x()x(

)x()x()x()x()x()x()x(

)x()x()x()x()x()x()x(

)x()x()x()x()x()x()x(

1

1

11

10

1

0

1

2

111

10

11

2

12

10

11

11

1

21

110

10

10

110

1

20

M

M

M

M

LL

MLMLMM

LL

MLMLMM

LL

LL

(16.66)

Rezolvarea sistemului (16.66) furnizează coeficienţii m,j,a j 0∈ , ai funcţiei de regresie. Pentru rezolvarea acestei probleme şi determinarea coeficienţilor combinaţiei liniare,

10 −∈ k,i,ai , se utilizează:

• Funcţia linfit

o Sintaxa funcţiei: linfit(Vx,Vy,F);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează curba de regresie;

F – reprezintă identificatorul unei funcţii vectoriale, de dimensiuni k linii × 1 coloană ce conţine expresiile matematice ale celor k funcţii elementare.

o Valoarea returnată: un vector, de dimensiuni k linii × 1 coloană, ce conţine valorile celor k coeficienţi, 10 −∈ k,i,ai , necesari realizării combinaţiei liniare de funcţii elementare.

o Observaţii:

a. Elementele vectorului Vx trebuie să fie în ordine crescătoare; b. Funcţia F, definită sub forma unui vector, trebuie să conţină funcţii elementare de o

singură variabilă; c. Utilizând precizările anterioare, se poate construi funcţia de regresie folosind relaţia:

A)t(F)t(L ⋅= , (16.67) unde, prin A s-a notat vectorul coloană al coeficienţilor, returnat de funcţia linfit.

În continuare este prezentată este prezentată foaia de calcul în care este exemplificat modul de utilizare al funcţiei linfit.

Datele experimentale:•

VxT 1 2 3 4 5 6 7 8 9 10 11 12 13 140 2.75 3.5 4.25 5 5.75 6.5 7.25 8 8.75 9.5 10.25 11 11.75 12.5

=

VyT 3 4 5 6 7 8 9 10 11 12 13 140 -6.357 -6.91 -4.544 3.225 5.661 8.542 4.06 0.938 -5.913 -9.18 -4.412 -0.921

=

Page 275: Aplicata in Inginerie Mathcad 2001

275

F x( )

x2

x 2−

1x 1−

sin x( )

:= - expresiile funciilor Fj(x)

A linfit Vx Vy, F,( ):= - calculul coeficientilor curbei de regresie

L t( ) F t( ) A⋅:= - functia de regresie

2 4 6 8 10 12 1410

0

10

Punctele experimentaleCurba de regresie

Vyi

L t( )

Vxi t,

Valoarea raportului de corelatie:• η 10

length Vx( ) 1−

j

Vyj L Vxj( )−( )2∑=

0

length Vx( ) 1−

j

Vyj mean Vy( )−( )2∑=

−:= ==> η 0.985=

O altă variantă, ce poate fi utilizată la prelucrarea datelor, este aceea în care utilizăm curbe neliniare de regresie, ce depind de k parametri. În acest caz se utilizează funcţia:

• Funcţia genfit

o Sintaxa funcţiei: genfit(Vx,Vy,Vs,F); o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi

dimensiune (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează curba de regresie;

Vs – reprezintă un vector coloană ce conţine valori iniţiale ale celor k parametri necunoscuţi;

F – reprezintă un vector, de dimensiuni k+1 linii × 1 coloană ce conţine expresia matematică a funcţiei de regresie, precum şi expresiile derivatelor parţiale ale funcţiei, calculate pentru cei k parametri necunoscuţi.

o Valoarea returnată: un vector, de dimensiuni k linii × 1 coloană, ce conţine valorile calculate ale celor k parametri, 10 −∈ k,i,ui , necesari construirii funcţiei de regresie.

o Observaţii:

a. Calculul parametrilor necunoscuţi ai modelului de regresie se realizează în condiţiile

Page 276: Aplicata in Inginerie Mathcad 2001

276

utilizării principiului Gauss-Legendre (metoda celor mai mici pătrate), prezentat la subcapitolul 16.2. În acest caz, însă, se obţine un sistem neliniar de k ecuaţii cu k necunoscute, a cărui rezolvare se realizează prin utilizarea algoritmul Levenberg-Marquard, descris la subcapitolul 14.4.3.

b. Precizia de calcul a celor k parametri necunoscuţi depinde de valoarea variabilei predefinite TOL;

c. Funcţia de regresie utilizată, trebuie să fie o funcţie de o singură variabilă; d. Utilizând precizările anterioare, se poate construi funcţia de regresie folosind relaţia:

0)U,t(F)t(G = , (16.68) unde, prin U s-a notat vectorul parametrilor, returnat de funcţia genfit.

Mai jos este prezentată este prezentată foaia de calcul în care este exemplificat modul de utilizare al funcţiei Mathcad, genfit.

0 2 4 6 8 10 12 1410

0

10

Curba de regresiePunctele initiale

H t( )

Vyi

t Vxi,

H t( ) F t P,( )0:=Functia de regresie generalizata:•

P

7.537

0.998

1.737

===>P genfit Vx Vy, Vs, F,( ):=

Calculul coeficientilor Functiei de regresie generalizata:•

- solutiile initialeVs

10

1

2

:=

F z u,( )

u0 sin u1 z⋅( )⋅ cos u2 z⋅( )−

sin u1 z⋅( )u0 cos u1 z⋅( )⋅ z⋅

sin u2 z⋅( ) z⋅

:===>

CA sin B z⋅( ) cos C z⋅( )−( )( )d

dsin C z⋅( ) z⋅→

BA sin B z⋅( ) cos C z⋅( )−( )( )d

dA cos B z⋅( )⋅ z⋅→

AA sin B z⋅( ) cos C z⋅( )−( )d

dsin B z⋅( )→

Vectorul derivatelor:•

F1 z u,( ) sin u0 z⋅( ) cos u1 z⋅ u2+( )−:= Vyi

6.0233.881

-3.204-6.357-6.91

-4.5443.2255.6618.5424.06

0.938-5.913-9.18

-4.412-0.921

=Vxi

22.75

3.54.25

55.75

6.57.25

88.75

9.510.25

1111.7512.5

=

Valorile experimentale:Expresia functiei de regresie:•

Page 277: Aplicata in Inginerie Mathcad 2001

277

Valoarea raportului de corelatie:•

η 10

length Vx( ) 1−

j

Vyj H Vxj( )−( )2∑=

0

length Vx( ) 1−

j

Vyj mean Vy( )−( )2∑=

−:= ==> η 0.977106=

16.2.3. Funcţii speciale de regresie

Pe lângă funcţiile destinate realizării prelucrării datelor prin regresie, prezentate anterior, în Mathcad colecţia de funcţii predefinite este completată cu alte cinci funcţii care permit trasarea unor curbe neliniare de regresie, des utilizate în practică. Acestea sunt:

• Funcţia expfit:

o Sintaxa funcţiei: expfit(Vx, Vy, Vi);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează curba de regresie;

Vi – reprezintă un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valori iniţiale pentru cei trei parametri (a, b şi c) ai curbei de regresie.

o Valoarea returnată: un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valorile calculate ale parametrilor curbei exponenţiale de regresie:

ceaxF xb +⋅= ⋅)( . (16.69)

• Funcţia lgsfit:

o Sintaxa funcţiei: lgsfit(Vx, Vy, Vi);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează curba de regresie;

Vi – reprezintă un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valori iniţiale pentru cei trei parametri (a, b şi c) ai curbei de regresie.

o Valoarea returnată: un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valorile calculate ale parametrilor curbei de regresie logistice:

xcebaxF ⋅−⋅+

=1

)( . (16.70)

• Funcţia logfit:

o Sintaxa funcţiei: logfit(Vx, Vy, Vi);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează curba de regresie;

Page 278: Aplicata in Inginerie Mathcad 2001

278

Vi – reprezintă un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valori iniţiale pentru cei trei parametri (a, b şi c) ai curbei de regresie.

o Valoarea returnată: un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valorile calculate ale parametrilor curbei de regresie logaritmice:

( ) cbxaxF ++⋅= ln)( . (16.71) • Funcţia pwrfit:

o Sintaxa funcţiei: pwrfit(Vx, Vy, Vi);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează curba de regresie;

Vi – reprezintă un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valori iniţiale pentru cei trei parametri (a, b şi c) ai curbei de regresie.

o Valoarea returnată: un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valorile calculate ale parametrilor curbei de regresie putere:

cxaxF x +⋅=)( . (16.72)

• Funcţia sinfit:

o Sintaxa funcţiei: sinfit(Vx, Vy, Vi);

o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează curba de regresie;

Vi – reprezintă un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valori iniţiale pentru cei trei parametri (a, b şi c) ai curbei de regresie.

o Valoarea returnată: un vector, de dimensiuni 3 linii × 1 coloană, ce conţine valorile calculate ale parametrilor curbei de regresie sinusoidală:

cbxaxF ++⋅= )sin()( . (16.73) Alura specifică a acestor funcţii speciale de regresie este prezentată în tabelul 16.3.

Tabelul 16.3 Funcţii speciale de regresie

Nr. crt.

Denumirea funcţiei Expresia funcţiei Reprezentarea grafică

1. Regresia exponenţială ceaxF xb +⋅= ⋅)( 4 2 0 2 4

10

10

15

15−

2 e1.5 x⋅⋅ 1+

2 e 1.5− x⋅⋅ 1+

2− e1.5 x⋅⋅ 1+

2− e 1.5− x⋅⋅ 1+

55− x

Page 279: Aplicata in Inginerie Mathcad 2001

279

Tabelul 16.3 (continuare) Funcţii speciale de regresie

Nr. crt.

Denumirea funcţiei

Expresia funcţiei Reprezentarea grafică

2. Regresia logaritmică

( ) cbxaxF ++⋅= ln)(

4 2 0 2 4

10

10

15

15−

2 ln x 3+( )⋅ 1+

2− ln x 3+( )⋅ 1+

55− x

3. Regresia logistică xceb

axF ⋅−⋅+=

1)( 10 5 0 5 10

2

1

1

22.2

2.2−

2

1 3 e 4− x⋅⋅+

2

1 3 e4 x⋅⋅+

2−

1 3 e 4− x⋅⋅+

2−

1 3 e4 x⋅⋅+

1010− x

4. Regresia putere cxa)x(F b +⋅= 4 2 0 2 4

10

10

15

15−

x4 1+

x−( )3 0.5+

2 x 4−⋅ 1+

55− x

5. Regresia sinusoidală

cbxaxF ++⋅= )sin()(

4 2 0 2 4

2

2

45

2−

2 sin x 1+( )⋅ 2.5+

2− sin x 1+( )⋅ 2+

2 sin x 2+( )⋅

55− x

Page 280: Aplicata in Inginerie Mathcad 2001

280

Concordanţa dintre valorile experimentale şi funcţia de regresie utilizată (linfit, genfit, expfit, lgsfit, logfit, pwrfit sau sinfit) se poate aprecia prin raportul de corelaţie, a cărui valoare se calculează cu o relaţie de tipul (16.58).

În cele ce urmează este prezentată foaia de calcul în care este exemplificat modul de utilizare al funcţiei Mathcad, sinfit. În cazul celorlalte funcţii speciale de regresie se procedează asemănător.

Vxi2

2.753.5

4.255

5.756.5

7.258

8.759.5

10.2511

11.7512.5

= Vyi

6.0233.881

-3.204-6.357-6.91

-4.5443.2255.6618.5424.06

0.938-5.913-9.18

-4.412-0.921

=

Vi

1

1

1

:= - soluiile initiale;

s sinfit Vx Vy, Vi,( ):= - calculul coeficientilor curbei de regresie

==> s

7.716

6.281−

0.101

=

L x( ) s0 sin x s1+( )⋅ s2+:= - functia de regresie

2 4 6 8 10 12 1410

0

10

Punctele experimentaleCurba de regresie

Vyi

L t( )

Vxi t,

Valoarea raportului de corelatie:

η 10

length Vx( ) 1−

j

Vyj L Vxj( )−( )2∑=

0

length Vx( ) 1−

j

Vyj mean Vy( )−( )2∑=

−:= ==> η 0.985=

16.3. FUNCŢII PENTRU EXTRAPOLARE

Operaţiile matematice de regresie şi interpolare determină valorile parametrilor unei funcţii care aproximează datele experimentale şi permit estimarea valorilor funcţiei f(x), pentru valori oarecare a lui x, situate în interiorul intervalului în care sunt determinate punctele nodale.

Page 281: Aplicata in Inginerie Mathcad 2001

281

Excepţie de la această regulă face doar, regresia liniară. În cazul ei sunt permise extrapolări ale datelor. Pentru celelalte situaţii se recomandă utilizarea unor operaţii matematice de prelungire a datelor, urmate de extrapolare, pe baza rezultatelor obţinute.

Funcţia Mathcad care realizează prelungirea, la dreapta datelor iniţiale, este:

• Funcţia predict: o Sintaxa funcţiei: predict(Vy,m,p);

o Argumentele funcţiei: Vy – reprezintă un vector cu elemente reale, de dimensiuni (n linii × 1 coloană), ce conţine valorile ordonatelor, pentru n puncte având abscisele situate la intervale egale;

m, p – două numere întregi, 00 >> p,m .

o Valoarea returnată: un vector (p linii × 1 coloană) ce conţine valorile ordonatelor a p puncte cu care se prelungesc cele n valori iniţiale. Cele p valori se determină în urma analizei modului de dispunere a ultimilor m coordonate ale punctele iniţiale.

Mai jos este prezentată este prezentată foaia de calcul în care este exemplificat modul de utilizare al funcţiei Mathcad, predict.

Valorile experimentale utilizate:• datak

2.8820.603

-0.921-1.773-2.038

-1.8-1.143-0.1511.091

2.53.9915.4816.8848.1189.0979.7399.9579.67

8.8627.8066.7865.8565.0144.257

=

p predict data 40, 50,( ):= i 0 2, 100..:=

0 20 40 60 80 100

0

Punctele initialePrelungirea datelor

p1 predict data 20, 100,( ):=

0 20 40 60 80 100 120 140

0

20

Punctele initialePrelungirea datelor

Page 282: Aplicata in Inginerie Mathcad 2001

282

16.4. FUNCŢII PENTRU AJUSTAREA DATELOR Operaţiile matematice de regresie şi interpolare determină valorile parametrilor unei funcţii care aproximează datele experimentale. Ajustarea datelor, în schimb, presupune prelucrarea datelor experimentale afectate de erori şi compensarea acestora pe baza unor principii matematice. Rezultatul acestei operaţii constă în obţinerea unor valori corectate. Funcţiile Mathcad care realizează ajustarea datelor sunt:

• Funcţia ksmooth: o Sintaxa funcţiei: ksmooth(Vx,Vy,b); o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi

dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte ce urmează a fi prelucrate prin netezire;

b – amplitudinea benzii în care se consideră că sunt împrăştiate valorile absciselor punctelor ce urmează a fi prelucrate, 0>b .

o Valoarea returnată: un vector (n linii × 1 coloană) ce conţine valorile recalculate ale ordonatelor punctelor iniţiale.

o Observaţii :

a. Valorile absciselor, pentru cele n puncte, conţinute în vectorul Vx, trebuie să fie ordonate crescător.

b. Algoritmul de calcul al noilor ordonate constă în, [RMM01]:

1. abscisele celor n puncte, ale căror coordonate sunt indicate prin argumentul funcţiei – Vx, se consideră normal repartizate în interiorul benzii de amplitudine b, cu funcţia densitate de probabilitate:

2

37021

37021

⋅−

⋅⋅⋅

= .t

e.

)t(fπ

; (16.74)

2. pentru fiecare valoare Vyi, din vectorul argument, Vy, se calculează o nouă valoare, iyV ′ , utilizându-se relaţia:

∑−

=

=

=′1

0

1

0n

j

ji

n

jj

ji

i

bVxVx

f

Vyb

VxVxf

yV . (16.75)

• Funcţia medsmooth:

o Sintaxa funcţiei: medsmooth(Vy,m);

o Argumentele funcţiei: Vy – reprezintă un vector cu elemente reale, de dimensiuni n linii × 1 coloană, ce conţine valorile coordonatele, pentru cele n puncte ce urmează a fi prelucrate prin netezire;

m – un număr întreg şi impar, 0>b .

o Valoarea returnată: un vector (n linii × 1 coloană) ce conţine valorile recalculate ale ordonatelor punctelor iniţiale.

o Observaţii : algoritmul de calcul al noilor coordonate constă în, [RMM01]:

Page 283: Aplicata in Inginerie Mathcad 2001

283

1. Împărţirea celor n valori în trei grupe. Prima grupă şi cea de-a treia conţin fiecare 2

1−m

valori. Aceste valori vor rămâne neschimbate. 2. Cele n valori iniţiale se utilizează pentru calcularea valorilor din grupa centrală. Valoarea

recalculată, 2

12

1 −−

+∈′ mn,mi,yV i , reprezintă mediana unui grup de m valori dispuse

simetric în jurul unei valori iniţiale, iVy :

=′ −

+−

−2

12

1 niinii Vy,,Vy,,VymedianyV KK ; (16.76)

3. Se evaluează reziduurile:

yVVyVr ′−= ; (16.77) 4. Valoarea reziduurilor este de asemenea ajustată prin utilizarea metodei descrise la punctele

1 şi 2, rezultând rV ′ ; 5. Valorile, V, returnate de funcţia medsmooth sunt calculate cu relaţia:

rVyVV ′+′= . (16.78)

• Funcţia supsmooth: o Sintaxa funcţiei: supsmooth(Vx,Vy); o Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente reale şi cu aceleaşi

dimensiuni (n linii × 1 coloană), ce conţin valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte ce urmează a fi prelucrate prin netezire;

o Valoarea returnată: un vector (n linii × 1 coloană) ce conţine valorile recalculate ale ordonatelor punctelor iniţiale.

o Observaţii : a. Valorile absciselor, pentru cele n puncte, conţinute în vectorul Vx, trebuie să fie ordonate

crescător. b. Algoritmul de calcul, al noilor coordonate, utilizează metoda celor mai mici pătrate,

aplicată asupra unui număr de k valori dispuse simetric în jurul valorii calculate. Valoarea parametrului k se determină automat, în funcţie de modul de variaţie al valorilor ordonatelor.

În cele ce urmează este prezentată foaia de calcul în care este exemplificat modul de utilizare al funcţiilor Mathcad destinate ajustării datelor.

Valorile experimentale utilizate:• Yk

6.4435.0660.222

-1.4461.1250.2092.024

-0.691-2.839

2.57

= Xk

0123456789

=Ksm ksmooth X Y, 8,( ):=

0 20 40 60 80 100

0

10Ksmk

Yk

k

Page 284: Aplicata in Inginerie Mathcad 2001

284

Med medsmooth Y 7,( ):=

0 20 40 60 80 1005

0

5

10

15

Med k

Yk

k

Sup supsmooth X Y,( ):=

0 20 40 60 80 1005

0

5

10

15

Supk

Yk

k

Page 285: Aplicata in Inginerie Mathcad 2001

285

II APLICAŢII ÎN MATHCAD 2001 REZOLVAREA ECUAŢIILOR DIFERENŢIALE _______________________________________________________________________________

Ecuaţiile diferenţiale apar în numeroase aplicaţii legate de rezolvarea problemelor specifice ingineriei. Unele dintre aceste ecuaţii se pot rezolva fără a utiliza metodele numerice, dar în marea majoritate a cazurilor, este necesar să se apeleze la metode aproximative de calcul. Metodele numerice de calcul aproximativ conduc la determinarea unei serii de valori a funcţiei necunoscute.

Mathcad-ul pune la dispoziţia utilizatorului un pachet de funcţii predefinite destinat rezolvării:

a) ecuaţiilor diferenţiale de ordinul n; b) sistemelor de ecuaţii diferenţiale; c) ecuaţiilor diferenţiale cu derivate parţiale.

17.1. REZOLVAREA ECUAŢIILOR DIFERENŢIALE

DE ORDINUL n

Forma implicită unei ecuaţii diferenţiale se consideră, de obicei, ca fiind:

( ) ( )( ) ,y,y,,y,y,y,xF nn 01 =′′′ −K (17.1) unde:

− x reprezintă variabila independentă, sau variabila de integrare; − y este o funcţie de x, adică ( )xyy = ;

− ( )iy reprezintă derivata de ordinul i, adică ( ) ( ) n,i,xydxdy i

ii 1∈= ;

− n reprezintă ordinul ecuaţiei diferenţiale; − ( )( )1−′′′ ny,,y,y,y,xF K reprezintă o funcţie reală arbitrară.

Soluţia generală a unei ecuaţii diferenţiale, pe un interval real [a,b], reprezintă o familie de curbe cu n parametri:

( )nC,,C,C,xy K21ϕ= . (17.2)

Spunem că funcţia (17.2), RI: →ϕ este soluţie a ecuaţiei (17.1) dacă sunt îndeplinite următoarele condiţii:

funcţia ( )nC,,C,C,x K21ϕ este derivabilă de n ori pe domeniul I; funcţia ( )nC,,C,C,x K21ϕ verifică ecuaţia (17.1) pe domeniul dat, I:

( ) ( ) ( ) ( )( ) .C,,C,C,x,,C,,C,C,x,C,,C,C,x,xF nn

nn 0212121 =ϕϕ′ϕ KKKK (17.3)

Funcţia (17.2) se mai numeşte şi integrala generală a ecuaţiei considerate.

Page 286: Aplicata in Inginerie Mathcad 2001

286

Rezolvarea problemelor specifice ingineriei, presupun însă, rezolvarea ecuaţiilor diferenţiale în anumite condiţii particulare. Soluţiile particulare ale unei ecuaţii diferenţiale se obţin din soluţia generală prin alegerea convenabilă a constantelor nC,,C,C K21 .

Integrala particulară a unei ecuaţii diferenţiale se poate obţine în două moduri:

a. Pe baza a n condiţii iniţiale. Condiţiile iniţiale pentru o ecuaţie diferenţială de ordinul n, impun curbei integrale să treacă printr-un punct dat ( )00 y,x şi derivatelor de ordinul întâi până la n - 1 inclusiv, să ia în acest punct valori date:

( )( )

( )( ) ( )

( )( ) ( )

.

yxy

yxy

yxyyxy

nn

ii

=

=

′=′=

−−0

10

1

00

00

00

M

M (17.4)

b. Pe baza unor condiţii limită:

( ) ( ) ( ) ( ) ( ) ( )( )( ) ( ) ( ) ( ) ( ) ( )( )

=′Ψ

=′Ψ−

0

01

2

11

by,,by,,by,by

ay,,ay,,ay,ayni

ni

KK

LK. (17.5)

Relaţiile (17.5) se materializează, în cazul unei aplicaţii concrete, prin n condiţii ce pot fi stabilite între ( )1−′′′ ny,,y,y,y K la limitele domeniului considerat [a,b].

Soluţia particulară a unei ecuaţii diferenţiale (17.1), care respectă condiţiile (17.4) sau (17.5), este o curbă plană, numită curbă integrală.

O altă clasificare a ecuaţiilor diferenţiale, de ordinul n, se poate face în funcţie de forma funcţiei F din ecuaţia (17.1). Dacă expresia acestei funcţii este de forma:

( ) ( ) ( ) ( ) ( ) ( ) ( ) )x(fyxayxayxayxa nin

inn =⋅++⋅++⋅+⋅ −− LL1

10 , (17.6)

ecuaţia se numeşte ecuaţie diferenţială de ordinul n, liniară. În caz contrar, ecuaţia este neliniară.

Toate aceste cazuri ale unei ecuaţii diferenţiale de ordinul n, pot fi rezolvate prin utilizarea funcţiilor Mathcad predefinite.

17.1.1. Rezolvarea ecuaţiilor diferenţiale liniare,

cu condiţii iniţiale Rezolvarea numerică a acestui tip de ecuaţii se realizează cu ajutorul funcţiei Odesolve:

o Sintaxa funcţiei: Odesolve(x,b,p), odesolve(x,b,p); o Argumentele funcţiei: x – reprezintă variabila independentă a ecuaţiei diferenţiale, Rx∈ ; b – reprezintă limita superioară a intervalului în care se calculează

soluţia ecuaţiei diferenţiale, Rb∈ ; p – numărul de puncte în care este evaluată soluţia ecuaţiei

diferenţiale, Nn∈ . Acest argument este facultativ. o Valoarea returnată: o funcţie, definită pe un interval [a,b], ce permite calculul soluţiei ecuaţiei

diferenţiale. Limita inferioară a intervalului, a, ba < , este specificată prin precizarea condiţiilor iniţiale.

Page 287: Aplicata in Inginerie Mathcad 2001

287

o Observaţii:

a. Utilizarea funcţiei sub forma, Odesolve(x,b,p), determină calculul soluţiei ecuaţiei diferenţiale în p valori ale variabilei de integrare, xi, dispuse echidistant în intervalul [a,b], prin respectarea relaţiei:

10 −∈⋅−

+= p,i,ip

abaxi . (17.7)

Limita inferioară a intervalului de integrare, a, ba < , este specificată prin precizarea condiţiilor iniţiale.

b. Utilizarea funcţiei sub forma, Odesolve(x,b), determină calculul soluţiei ecuaţiei diferenţiale pentru valori ale variabilei de integrare, [ ]b,axi ∈ , dispuse sub forma unei progresii aritmetice cu raţia r = 0.1.

c. Funcţia Odesolve se utilizează doar într-un bloc de tip solve, similar celui descris la punctul 14.4. Crearea unui astfel de bloc se realizează respectând următorii paşi:

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru.

2. Se tastează cuvântul Given.

3. Se scrie ecuaţia diferenţială, indicându-se explicit variabila independentă de integrare, ca argument al funcţiei ce urmează a fi determinată. La tastarea expresiei ecuaţiei diferenţiale se pot utiliza:

operatorii de derivare, prin acţionarea butoanelor corespunzătoare din paleta

Calculus: , sau prin tastarea următoarelor succesiuni: [?], pentru inserarea operatorului derivatei de ordinul unu şi/sau [Ctrl]+[Shift]+[?], pentru operatorul de derivare de ordin superior.

notaţiile matematice: K),x(y),x(y),x(y ′′′′′′ . Acestea se pot obţine prin tastarea următoarei succesiuni, [Ctrl]+[F7], pentru apariţia simbolului prim. Acest tip de notaţii pot fi utilizate doar în interiorul blocului de tip solve.

De asemenea, pentru tastarea expresiei ecuaţiei diferenţiale se utilizează operatorul relaţional de identitate, nu simbolul egal. Acesta se obţine prin acţionarea butonului

, din paleta Boolean, sau prin tastarea [Ctrl]+[=].

4. Se tastează valorile celor n condiţii lor iniţiale.

5. Se apelează funcţia Odesolve. _______________________________________________________________________________

Exemplul 1: Să se rezolve ecuaţia diferenţială de ordinul doi:

xe)xsin()x(yx)x(ydxdx)x(y

dxdx −+=⋅⋅+⋅⋅−⋅ 22

2

23 104

Modul de utilizare al funcţiei Odesolve, pentru rezolvarea acestei ecuaţii diferenţiale, este prezentat în continuare. Ecuaţia diferenţială este rezolvată în două situaţii diferite. Aceste moduri, diferite de rezolvare, rezultă prin utilizarea celor două tipuri de notaţii, notaţia matematică ce utilizează simbolul diferenţialei şi cea cu simbolul „prim”.

Page 288: Aplicata in Inginerie Mathcad 2001

288

y 150( ) =y 150( )Valoarea solutiei ecuatiei diferentiale nu poate fi determinata in afara domeniului [a,b], definit prin blocul de tip solve

y 33( ) 10.658−=

Valoarea solutiei ecuatiei diferentiale, calculata in punctele x=20 si x=33.

y 20( ) 5.841=

0 20 40 60 80 100

10

0

10

20

y x( )

x

y Odesolve x 100,( ):=

y' 1( ) 3Conditiile initiale

y 1( ) 0

x32x

y x( )d

d

2⋅ 4 x⋅

xy x( )d

d⋅− 10 x2⋅ y x( )⋅+ sin x2( ) e x−+

GivenCazul 1:

Cazul 2: prin utilizarea simbolului primGiven

x3 y'' x( )⋅ 4 x⋅ y' x( )⋅− 10 x2⋅ y x( )⋅+ sin x2( )− e x−− 0

y 1( ) 0

y' 1( ) 3 Conditiile initiale

y Odesolve x 40,( ):=

0 10 20 30 40

10

0

10

20

y x( )

x

d. Ecuaţia diferenţială trebuie să fie o ecuaţie liniară. Se admit excepţii de la această regulă doar la termenii ecuaţiei ce conţin derivate de ordin inferior.

Page 289: Aplicata in Inginerie Mathcad 2001

289

Exemplul 2: Să se rezolve ecuaţia diferenţială de ordinul doi:

054 22

23 =⋅−

⋅⋅+⋅ x)x(y

dxdsinx)x(y

dxdx .

În continuare, este prezentat modul de utilizare al funcţiei Odesolve pentru rezolvarea acestei ecuaţii diferenţiale ce prezintă neliniarităţi la termenul cu derivata de ordinul întâi.

Given

x32x

y x( )d

d

2⋅ 4 x⋅ sin

xy x( )d

d

⋅+ 5x2+ 0

y 1( ) 0Conditii la limite

y' 1( ) 3

y Odesolve x 65,( ):=

0 10 20 30 40 50 60 701000

500

0

500

y x( )

x

e. Pentru a determina valorile soluţiei ecuaţiei diferenţiale se utilizează funcţia returnată de Odesolve. Acesta realizează calculul acestor valori prin interpolare pornind de la valorile determinate în cele p puncte iniţiale. Din această cauză, valori ale soluţiei ecuaţiei diferenţiale se pot determina doar în intervalul [a,b]. Acest lucru se poate observa în foaia de calcul, unde este prezentată rezolvarea problemei din exemplul 1.

f. Rezolvarea numerică a ecuaţiei diferenţiale, prin utilizarea funcţiei Odesolve, se realizează de fapt, prin intermediul a trei funcţii specializate pentru rezolvarea ecuaţiilor diferenţiale. Aceste funcţii sunt: rkfixed, Rkadapt şi sbval. Cele trei funcţii vor fi descrise în continuarea acestui capitol.

g. Implicit, Odesolve utilizează funcţia rkfixed. Dacă se doreşte calculul soluţiei ecuaţiei diferenţiale în p valori ale variabilei de integrare, xi, dispuse la distanţe neegale în intervalul [a,b], în funcţie de modul local de variaţie al soluţiei ecuaţiei diferenţiale, această situaţie este rezolvată prin utilizarea funcţiei Rkadapt. Alegerea acestui mod de calcul se realizează prin dispunerea cursorului în interiorul identificatorului funcţiei Odesolve şi cu ajutorul meniului contextual, ce apare în urma unui clic pe butonul din dreapta al mouse-ului. Se alege, apoi, opţiunea Adaptive.

h. Dacă în interiorul unui bloc de tip solve, ce conţine funcţia Odesolve, se tastează condiţii limită pentru

Page 290: Aplicata in Inginerie Mathcad 2001

290

rezolvarea ecuaţiei diferenţiale, în mod automat, se apelează funcţia sbval.

Given

x3 y'' x( )⋅ 4 x y' x( )⋅− 10 x2⋅ y x( )⋅+ sin x2( )− e x−

+ 0

y 1( ) 0Conditii la limite

y 25( ) 16

y Odesolve x 25,( ):=

0 5 10 15 20 2550

0

50

y x( )

x

17.1.2. Rezolvarea ecuaţiilor diferenţiale neliniare, cu condiţii iniţiale

Rezolvarea unei ecuaţii diferenţiale de ordinul n se poate reduce la rezolvarea unui sistem

de ecuaţii diferenţiale de ordinul întâi.

Pentru a demonstra această afirmaţie, considerăm o ecuaţie diferenţială de ordin n, de ecuaţie (17.1), scrisă sub forma:

( ) ( )( )1−′′′= nn y,,y,y,y,xfy K . (17.8)

Ecuaţia (17.8) se poate transforma într-un sistem de ecuaţii diferenţiale de ordinul întâi prin introducerea de noi funcţii, [ROŞ79]:

( )

=

′′=

′=

−n

n yy

yyyy

1

2

1

M. (17.9)

Folosind substituţiile (17.9), ecuaţia (17.8) se transformă în sistemul liniar de ecuaţii:

′=′=′

=′=′

−−

−−

)y,,y,y,y,x(fyyy

yyyy

nn

nn

1211

12

21

1

L

M , (17.10)

Rezultă, deci, că prin utilizarea unor substituţii de tipul (17.9), o ecuaţie diferenţială de ordin superior cu condiţii iniţiale (17.4), se transformă într-un sistem liniar de ecuaţii diferenţiale, cu condiţiile iniţiale:

Page 291: Aplicata in Inginerie Mathcad 2001

291

( )( )

( )

( )

.

yxy

yxy

yxyyxy

,nn

,ii

,

,

=

=

=

=

−− 0101

00

0101

000

M

M (17.11)

Reciproca acestei afirmaţii este, de asemenea, adevărată. Pentru a demonstra acest lucru considerăm sistemul liniar de ecuaţii, de ordinul întâi, [ROŞ79]:

( )( )( )

=′=′=′

32133

32122

32111

y,y,y,xfyy,y,y,xfyy,y,y,xfy

. (17.12)

Derivăm prima ecuaţie din (17.12), în raport cu x:

33

12

2

11

1

111 y

yfy

yfy

yf

xfy ′⋅

∂∂

+′⋅∂∂

+′⋅∂∂

+∂∂

=′′ . (17.13)

Dacă considerăm sistemul (17.12), ecuaţia (17.13) se mai poate scrie:

33

12

2

11

1

111 f

yff

yff

yf

xfy ⋅

∂∂

+⋅∂∂

+⋅∂∂

+∂∂

=′′ , (17.14)

sau: ( )32121 y,y,y,xFy =′′ . (17.15)

Dacă derivăm ecuaţia (17.15), în raport cu x şi ţinem seama de sistemul (17.12), obţinem:

33

22

2

21

1

1221 f

yFf

yFf

yF

xFy ⋅

∂∂

+⋅∂∂

+⋅∂∂

+∂∂

=′′′ , (17.16)

sau ( )32133 y,y,y,xFy =′′′ . (17.17)

Din prima ecuaţie a sistemului (17.12) şi din ecuaţia (17.15) se pot determina y2 şi y3 în funcţie de 11 y,y,x ′ şi 1y ′′ . Expresiile acestor valori, înlocuite în ecuaţia (17.17), conduc la o ecuaţie diferenţială de ordinul trei de forma:

( )1113 y,y,y,xFy ′′′=′′′ . (17.18)

Rezolvarea numerică a ecuaţiilor diferenţiale neliniare, cu condiţii iniţiale, se realizează prin intermediul funcţiei rkfixed. În funcţie de tipul argumentelor cu care este apelată, rkfixed permite rezolvarea numerică a ecuaţiilor diferenţiale:

I. De ordinul întâi: o Sintaxa funcţiei: rkfixed(y,a,b,p,D);

o Argumentele funcţiei: y – reprezintă un scalar, Ry∈ , ce indică condiţia iniţială:

( ) yay = ; (17.19) a, b – reprezintă limitele intervalului, pentru variabila

independentă de integrare, în care se calculează soluţia ecuaţiei diferenţiale, ba,Rb,a <∈ ; p – numărul de puncte în care este evaluată soluţia ecuaţiei

diferenţiale, Np∈ ; D(x) – o funcţie, având expresia identică cu cea a derivatei funcţiei

Page 292: Aplicata in Inginerie Mathcad 2001

292

necunoscute, y(x). Expresia funcţiei D(x) se obţine din ecuaţia diferenţială ce urmează a fi rezolvată.

o Valoarea returnată: un tablou, de dimensiuni p linii × două coloane, ce conţine:

- în prima coloană, valorile celor p puncte în care este evaluată soluţia ecuaţiei diferenţiale;

- în cea de-a doua coloană, valorile soluţiei ecuaţiei diferenţiale, )x(yy = , calculate în punctele xi.

o Observaţii:

a. Utilizarea funcţiei rkfixed, determină calculul soluţiei ecuaţiei diferenţiale în p valori ale variabilei de integrare, xi, dispuse echidistant în intervalul [a,b], prin respectarea relaţiei:

10 −∈⋅−

+= p,i,ip

abaxi . (17.20)

b. Funcţia rkfixed(y,a,b,p,D), se poate utiliza pentru calculul valorilor soluţiei unei ecuaţii diferenţiale liniare sau neliniare.

Exemplul 3: Să se rezolve ecuaţia diferenţială de ordinul întâi:

0115223 =−

+⋅−+−

)xxxsin(y)x(y

dxd .

Modul de utilizare al funcţiei rkfixed, pentru rezolvarea acestei ecuaţii diferenţiale liniare, este prezentat în continuare.

y 1:= Conditia initialaa 1:=

Limitele intervaluluib 2:=

p 50:= Numarul de puncte

D x y,( )y

sin x3 x2+ 2 x⋅− 15+( )1+:=

Z rkfixed y a, b, p, D,( ):= i 0 rows Z( ) 1−..:=

1 1.2 1.4 1.6 1.8 20

1

2

3

Z 1⟨ ⟩( )i

Z 0⟨ ⟩( )i

Z

0 10123456789101112131415

1 11.02 1.0531.04 1.111.06 1.1741.08 1.2471.1 1.333

1.12 1.4391.14 1.5831.16 1.8161.18 2.4791.2 0.966

1.22 0.8081.24 0.751.26 0.7211.28 0.7061.3 0.698

=

Exemplul 4: Să se rezolve ecuaţia diferenţială de ordinul unu:

02

=−)xsin(

ye)x(y

dxd

.

Page 293: Aplicata in Inginerie Mathcad 2001

293

Rezolvarea acestei ecuaţii diferenţiale neliniare, prin utilizarea funcţiei rkfixed este:

y 1:= Conditia initiala

a 1:=Limitele intervalului

b 3:=

p 50:= Numarul de puncte

D x y,( ) lny

sin x2( )

:=

Z rkfixed y a, b, p, D,( ):= i 0 rows Z( ) 1−..:=

1 1.5 2 2.5 31

2

3

4

Z 1⟨ ⟩( )i

Z 0⟨ ⟩( )i

Z

0 10123456789101112131415161718

1 11.04 1.0061.08 1.0111.12 1.0141.16 1.0161.2 1.017

1.24 1.0181.28 1.0191.32 1.021.36 1.0221.4 1.025

1.44 1.031.48 1.0381.52 1.051.56 1.0671.6 1.09

1.64 1.1221.68 1.1671.72 1.23

=

II. De ordin superior: o Sintaxa funcţiei: rkfixed(Y,a,b,p,D);

o Argumentele funcţiei: Y – reprezintă un vector, cu n elemente RY,,Y,Y n ∈−110 L , ce indică condiţiile iniţiale (17.2), sub forma:

=

=

′==

−− )a(yY

)a(yY

)a(yY)a(yY

)n(n

)i(i

11

1

0

M

M. (17.21)

a, b – reprezintă limitele intervalului, pentru variabila independentă de integrare, în care se calculează soluţia ecuaţiei diferenţiale, ba,Rb,a <∈ ;

p – numărul de puncte în care este evaluată soluţia ecuaţiei diferenţiale, Np∈ ;

n – reprezintă ordinul ecuaţiei diferenţiale; D(x,y) – o funcţie, definită sub forma unui vector cu n elemente, ce

conţine expresiile derivatelor, de la ordinul întâi până la ordinul n, ale funcţiei necunoscute, y(x). Expresia funcţiei D(x,y) se obţine din ecuaţia diferenţială ce urmează a fi rezolvată, prin utilizarea unor substituţii de forma:

Page 294: Aplicata in Inginerie Mathcad 2001

294

( )

( )

( )

=

==

==′

=

)y,,y,y,x(f)x(y

yydxd)x(y

yydxd)x(y

yxy

nn

iii

110

1

10

0

L

M

M. (17.22)

o Valoarea returnată: un tablou, de dimensiuni p linii × n+1 coloane, ce conţine:

- în prima coloană, valorile celor p puncte în care este evaluată soluţia ecuaţiei diferenţiale;

- în cea de-a doua coloană, valorile soluţiei ecuaţiei diferenţiale, )x(yy = , calculate în punctele xi.

- în următoarele n-1 coloane, valorile derivatelor de ordin întâi până la ordinul n-1, ( ) )x(y,),x(y),x(y n 1−′′′ L , calculate în punctele xi.

o Observaţie: utilizarea funcţiei rkfixed, determină calculul soluţiei ecuaţiei diferenţiale şi ale derivatelor sale, de la ordinul întâi până la ordinul n-1, în p valori ale variabilei de integrare, xi, dispuse echidistant în intervalul [a,b], prin respectarea relaţiei (17.20).

Exemplul 5: Să se rezolve ecuaţia diferenţială de ordinul doi:

( ) 044 22

22 =⋅−⋅+⋅+⋅ )x(yx)x(y

dxdx)x(y

dxdx , cu condiţiile iniţiale:

=′=

110010

).(y).(y

.

Z

0 1 2012345678910111213

1 0 11.015 0.015 0.9871.029 0.029 0.9761.044 0.043 0.9681.059 0.058 0.9631.074 0.072 0.9591.088 0.086 0.9571.103 0.1 0.9571.118 0.114 0.9581.132 0.128 0.9611.147 0.142 0.9651.162 0.156 0.971.176 0.171 0.9771.191 0.185 0.984

=

0 5 10 152

1

0

1

2

Z 1⟨ ⟩( )i

Z 0⟨ ⟩( )i

i 0 rows Z( ) 1−..:=Z rkfixed Y a, b, p, D,( ):=

D x y,( )

y1

y1

x− 4

x2 4−

x2⋅ y0⋅−

:=

xi y(xi) y'(xi)

Numarul de punctep 1000:=b 5 π⋅:=

Limitele intervaluluia 1:=Conditiile initialeY

0

1

:=

Page 295: Aplicata in Inginerie Mathcad 2001

295

Exemplul 6: Să se rezolve ecuaţia diferenţială de ordinul 5:

06 2

2

3

32

5

5=+⋅−⋅+ )x(y

dxd)x(y

dxd)x(y

dxdx)x(y

dxd , cu condiţiile iniţiale:

=′′′′−=′′′

=′′=′=

201301

201101001

).(y).(y).(y).(y).(y

.

În cele ce urmează, este prezentat modul de utilizare al funcţiei rkfixed pentru rezolvarea acestei ecuaţii diferenţiale liniare.

Y

0

1

2

3−

2

:= Conditiile initiale

D x y,( )

y1

y2

y3

y4

6y2 y1− x2 y3⋅−

:=

a 1:=Limitele intervalului

b 10:=

p 200:= Numarul de puncte

Z rkfixed Y a, b, p, D,( ):=

xi y(xi) y'(xi) y''(xi) y'''(xi) y''''(xi)

Z

0 1 2 3 4 50123456

1.000 0.000 1.000 2.000 -3.000 2.0001.045 0.047 1.087 1.867 -2.896 2.6151.090 0.098 1.168 1.740 -2.765 3.1991.135 0.152 1.244 1.619 -2.609 3.7531.180 0.210 1.314 1.505 -2.428 4.2751.225 0.270 1.379 1.401 -2.224 4.7661.270 0.334 1.440 1.305 -1.999 5.226

=

17.1.3. Metoda Runge-Kutta

Un rol important în rezolvarea numerică a ecuaţiilor diferenţiale de ordinul n îl joacă sistemele de ecuaţiile diferenţiale de ordinul întâi. Posibilitatea reducerii ecuaţiei (17.1) la sistemul (17.10) face ca studiul rezolvării numerice a ecuaţiilor diferenţiale să se reducă la studiul sistemelor de ecuaţii diferenţiale de ordinul întâi.

Mai mult studiul metodelor numerice de rezolvare a ecuaţiilor diferenţiale se poate restrânge la studiul ecuaţiei de ordinul întâi:

)y,x(fdxdy

= . (17.23)

Extinderea rezultatelor obţinute, pentru rezolvarea ecuaţiei (17.23), la cazul sistemelor de ecuaţiilor de ordinul întâi, se face în mod natural.

Metodele numerice de rezolvare a ecuaţiilor diferenţiale au ca punct de plecare

Page 296: Aplicata in Inginerie Mathcad 2001

296

semnificaţia geometrică a unei ecuaţii diferenţiale cu condiţii iniţiale, exprimate prin relaţiile (17.4) şi utilizează următorul algoritm, [ROŞ80]: se porneşte din punctul iniţial (x0,y0) şi se calculează panta curbei în punctul 0xx = . Se consideră apoi o creştere h a variabilei de integrare independente, x, obţinându-se un nou punct hxx += 01 . Ordonata corespunzătoare acestui punct, y1, se determină cu ajutorul tangentei la curba ce reprezintă soluţia ecuaţiei diferenţiale. În continuare, pornind de la acest punct, (x1,y1), se procedează identic ca în cazul punctului iniţial. Repetarea acestui algoritm conduce la o succesiune de segmente de dreaptă care aproximează curba soluţie.

Funcţia rkfixed, studiată anterior, utilizează ca algoritm de calcul metoda Runge-Kutta de ordinul patru. Expresia formulei de recurenţă, pentru calculul valorilor lui yi, este identică cu cea dată de seriile Taylor până la termenii în ph , p fiind numit ordinul metodei.

Prin metoda Runge-Kutta se calculează, [MEM80], o valoare aproximativă 1+iy~ pentru:

∫hi

i

x

xii dt))t(y,t(fyy

+

⋅+=+1 , (17.24)

unde: kyy~ ii +=+1 . (17.25)

Creşterea k, a ordonatei:

∑=

⋅=p

jjj kgk

1, (17.26)

se obţine prin paşii intermediari:

p,j,kby,haxfhkj

rrjriij 1

1

0∈

⋅+⋅+⋅= ∑

=

. (17.27)

Parametrii jrj b,a şi jg din relaţiile (17.26) şi (17.27) se determină în funcţie de precizia cerută pentru această metodă. De regulă se impune condiţia ca ecuaţia:

( ) ∫ ∑+

=

⋅−⋅=ϕhx

x

p

jjj

i

i

kgdt))t(y,t(fh1

, (17.28)

să admită derivate nule ( ) ( ) ( )( )000 pϕ==ϕ′=ϕ L . Valoarea parametrului p reprezintă ordinul metodei Runge-Kutta. Respectarea acestei condiţii determină coincidenţa cu seria Taylor până la ordinul p. Pentru p=4, parametrii jrj b,a şi jg nu sunt unic determinaţi, însă se foloseşte următoarea alegere, [ROŞ80]:

( )43211 2261 kkkkyy~ ii +⋅+⋅+⋅+=′+ , (17.29)

unde:

( )

( )

++⋅=

++⋅=

++⋅=

⋅=

34

23

12

1

22

22

ky,hxfhk

ky,hxfhk

ky,hxfhk

y,xfhk

ii

ii

ii

ii

, (17.30)

Pentru cazul unui sistem de două ecuaţii diferenţiale:

Page 297: Aplicata in Inginerie Mathcad 2001

297

( ) ( )( )

( ) ( )( )

=

=

xz,xy,xfdxdz

xz,xy,xfdxdy

2

1, (17.31)

metoda Runge-Kutta de ordinul patru conduce la relaţiile:

( )

( )

+⋅+⋅+⋅+=′

+⋅+⋅+⋅+=′

+

+

43211

43211

2261

2261

mmmmzz~

kkkkyy~

ii

ii, (17.32)

În ecuaţiile (17.32) s-au utilizat următoarele notaţii:

( )

( )( )

( )

+++⋅=

+++⋅=

+++⋅=

⋅=+++⋅=

+++⋅=

+++⋅=

⋅=

3324

2223

1122

21

3314

2213

1112

11

222

222

222

222

mz,ky,hxfhm

mz,ky,hxfhm

mz,ky,hxfhm

z,y,xfhmmz,ky,hxfhk

mz,ky,hxfhk

mz,ky,hxfhk

z,y,xfhk

iii

iii

iii

iii

iii

iii

iii

iii

, (17.33)

17.2. REZOLVAREA SISTEMELOR DE ECUAŢII DIFERENŢIALE

Forma implicită unui sistem de ecuaţii diferenţiale se consideră, de obicei, ca fiind:

( ) ( ) ( )( )( ) ( ) ( )( )

( ) ( ) ( )( )

( ) ( ) ( )( )

,

,w,,w,w,z,,z,z,y,,,y,y,xF

,w,,w,w,z,,z,z,y,,,y,y,xF

,w,,w,w,z,,z,z,y,,,y,y,xF

,w,,w,w,z,,z,z,y,,,y,y,xF

qnm

qnmi

qnm

qnm

=′′′

=′′′

=′′′

=′′′

0

0

0

0

2

1

LKKK

M

LKKK

M

LKKK

LKKK

L

(17.34)

unde: − x, reprezintă variabila independentă, sau variabila de integrare; − y, z, w,… - sunt funcţii de x, necunoscute, adică ( ) ( ) ( )L,xww,xzz,xyy === ; − ( ) ( ) ( ) L,w,z,y iii , reprezintă derivatele de ordinul i, adică:

Page 298: Aplicata in Inginerie Mathcad 2001

298

( ) ( )

( ) ( )

( ) ( )

∈=

∈=

∈=

M

q,i,xwdxdw

n,i,xzdxdz

m,i,xydxdy

i

ii

i

ii

i

ii

1

1

1

; (17.35)

− ),q,n,mmax(n L= , reprezintă ordinul ecuaţiei diferenţiale; − ( ) ( ) ( )( )LKKKL ,w,,,w,w,z,,,z,z,y,,,y,y,xF qnm ′′′ reprezintă funcţii reale arbitrare.

Din marea varietate de sisteme de ecuaţii diferenţiale (17.34) se disting sistemele de ecuaţii diferenţiale de ordinul întâi. Forma implicită unui astfel de sistem de n ecuaţii diferenţiale se consideră, ca fiind:

( )( )

( )

( )

,

y,,y,,y,y,y,,y,,y,y,xF

y,,y,,y,y,y,,y,,y,y,xF

y,,y,,y,y,y,,y,,y,y,xFy,,y,,y,y,y,,y,,y,y,xF

ninin

ninii

nini

nini

=′′′′

=′′′′

=′′′′=′′′′

0

0

00

2121

2121

21212

21211

LKLK

M

LKLK

M

LKLK

LKLK

(17.36)

unde: − x, reprezintă variabila independentă, sau variabila de integrare; − ni y,,y,,y,y LK21 - sunt n funcţii necunoscute, adică ( ) ( ) ( )xyy,,xyy,xyy nn === L2211 ;

− ni y,,y,,y,y ′′′′ LK21 , reprezintă derivatele de ordinul întâi, adică, ( ) n,i,xydxdy ii 1∈=′ ;

− ( ) n,i,y,,y,,y,y,y,,y,,y,y,xF ninii 102121 ∈=′′′′ LKLK reprezintă n funcţii reale arbitrare.

Importanţa deosebită a acestor sistemele de ecuaţii diferenţiale de ordinul întâi rezultă, pe de-o parte din teorema demonstrată la subcapitolul 17.1.2. şi anume, rezolvarea unei ecuaţii diferenţiale de ordinul n se poate reduce la rezolvarea unui sistem de ecuaţii diferenţiale de ordinul întâi şi pe de altă parte, din faptul că studiul şi rezolvarea unui sistem de ecuaţii diferenţiale de ordin superior se poate reduce, tot, la analiza acestor sisteme liniare.

Pentru a demonstra această teoremă vom considera sistemul de ordinul doi, scris sub forma normală:

( )( )( )

′′′=′′′′′=′′′′′=′′

w,z,y,w,z,y,xfww,z,y,w,z,y,xfzw,z,y,w,z,y,xfy

3

2

1

. (17.37)

Transformarea sistemului (17.37) se realizează tot prin introducerea de noi funcţii necunoscute:

′==

′==

′==

56

5

34

3

12

1

yyywyy

yzyy

yy

. (17.38)

Page 299: Aplicata in Inginerie Mathcad 2001

299

Folosind funcţiile (17.38), din sistemul (17.37) va rezulta:

( )

( )

( )

=′=′=′=′=′=′

53253136

65

53253124

43

53253112

21

y,y,y,y,y,y,xfyyy

y,y,y,y,y,y,xfyyy

y,y,y,y,y,y,xfyyy

. (17.39)

Sistemul (17.39), astfel obţinut, reprezintă un sistem liniar de şase ecuaţii, de ordinul şase. Reciproca rezultă şi ea imediat dacă, considerăm că 54321 y,y,y,y,y şi 6y este o soluţie a sistemului (17.39) şi notăm:

===

wyzyyy

5

3

1

, (17.40)

se constată că dacă funcţiile y, z şi w sunt de două ori derivabile, ele verifică sistemul (17.37).

17.2.1. Rezolvarea sistemelor de ecuaţii diferenţiale

Pe baza consideraţiilor teoretice, prezentate anterior, se constată că sistemele de ecuaţii diferenţiale se pot rezolva tot prin intermediul funcţiei predefinite rkfixed. Utilizarea acestei funcţii, pentru diferite sisteme de ecuaţii diferenţiale, prezintă o serie de particularităţi:

a. Cazul sistemelor de ecuaţii diferenţiale de ordinul întâi

o Sintaxa funcţiei: rkfixed(Y,a,b,p,D);

o Argumentele funcţiei: Y – reprezintă un vector, cu n elemente RY,,Y,Y n ∈L10 , ce indică condiţiile iniţiale, pentru fiecare funcţie necunoscută:

a, b – reprezintă limitele intervalului, pentru variabila independentă de integrare, în care se calculează soluţia ecuaţiei diferenţiale, ba,Rb,a <∈ ;

p – numărul de puncte în care sunt evaluate soluţiile sistemului de ecuaţii diferenţiale, Np∈ ;

D(x,y) – o funcţie, definită sub forma unui vector cu n elemente, ce conţine expresiile derivatelor de ordinul întâi, ale funcţiilor necunoscute. Dacă considerăm sistemul de ecuaţii diferenţiale de ordinul întâi scris sub forma normală:

( )( )( )

=′=′=′

w,z,y,xf)x(ww,z,y,xf)x(zw,z,y,xf)x(y

3

2

1

, (17.41)

expresia funcţiei D(x,y), se obţine din ecuaţia diferenţială ce urmează a fi rezolvată, prin utilizarea unor substituţii de forma:

( )

=′=′=′===

)y,y,y,x(f)x(w)y,y,y,x(f)x(z)y,y,y,x(f)x(y

y)x(wy)x(zyxy

2103

2102

2101

2

1

0

. (17.42)

Page 300: Aplicata in Inginerie Mathcad 2001

300

n – reprezintă numărul de funcţii necunoscute ale sistemului.

o Valoarea returnată: un tablou, de dimensiuni p linii × n+1 coloane, ce conţine:

- în prima coloană, valorile celor p puncte în care sunt evaluate soluţiile sistemului de ecuaţii diferenţiale;

- în următoarele n coloane, valorile soluţiilor pentru funcţiile necunoscute ale sistemului, calculate în punctele xi.

Exemplul 7: Să se rezolve sistemul de ecuaţii diferenţiale de ordinul întâi:

=−⋅

−=⋅+⋅

−xe)x(y)x(z

dxd)x(y

xxsin)x(z)x(ydxdx

1

2 1, cu condiţiile iniţiale:

==

01010101

.).(z.).(y

.

Y1

1

:= Conditiile initialeD x y,( )

1 x− y1 sin x( )2⋅−

x

e

1

x−

y0+

y0

:=

a 2−:=Limitele intervalului

b 1−:=

p 200:= Numarul de puncte

Z rkfixed Y a, b, p, D,( ):=

Z

0 1 2012345678

-2 1 1-1.995 0.995 1.013

-1.99 0.989 1.027-1.985 0.984 1.04

-1.98 0.979 1.054-1.975 0.973 1.067

-1.97 0.968 1.081-1.965 0.963 1.094

-1.96 0.958 1.108

=

b. Cazul sistemelor de n ecuaţii diferenţiale de ordin superior

o Sintaxa funcţiei: rkfixed(Y,a,b,p,D);

o Argumentele funcţiei: Y, a, b, p, n – au aceeaşi semnificaţie ca în cazul funcţiei rkfixed utilizată pentru rezolvarea sistemelor de ecuaţii diferenţiale de ordinul întâi;

D(x,y) – o funcţie, definită sub forma unui vector cu n⋅k elemente, ce conţine expresiile derivatelor de la ordinul întâi până la ordinul k, ale celor n funcţii necunoscute. Expresia funcţiei D(x,y) se obţine din sistemul de ecuaţii diferenţiale ce urmează a fi rezolvat, prin utilizarea unor substituţii de forma ecuaţiilor (17.39);

k – reprezintă ordinul fiecărei ecuaţii din sistem.

o Valoarea returnată: un tablou, de dimensiuni p linii × n⋅k+1 coloane, ce conţine:

- în prima coloană, valorile celor p puncte în care sunt evaluate soluţiile sistemului de ecuaţii diferenţiale;

Page 301: Aplicata in Inginerie Mathcad 2001

301

- în următoarele n⋅k coloane, valorile soluţiilor pentru funcţiile necunoscute ale sistemului şi ale derivatelor lor până la ordinul k-1, calculate în punctele xi.

Exemplul 8: Să se rezolve sistemul de ecuaţii diferenţiale de ordinul întâi:

=⋅+−⋅

+=⋅−+

xsin)x(zxln)x(ydxd)x(z

dxdx

x)x(y)x(zdxd)x(y

dxd

22

22

32

252

, cu condiţiile iniţiale:

==

01010101

.).(z.).(y

.

Y

0

1−

3

2

:= Conditiile initiale

D x y,( )

y2

y3

x3 2 y0⋅+ y3− 5+

1

x2sin x( )2⋅ ln x( ) y1⋅− y2+

:=

a 1:=Limitele intervalului

b 4:=

p 200:= Numarul de puncte

Z rkfixed Y a, b, p, D,( ):=

Z

0 1 2 3 4012345

1.000 0.000 -1.000 3.000 2.0001.015 0.045 -0.970 3.061 2.0571.030 0.092 -0.938 3.122 2.1161.045 0.139 -0.906 3.185 2.1761.060 0.187 -0.873 3.250 2.2381.075 0.237 -0.839 3.315 2.301

=

17.2.2. Rezolvarea sistemelor de ecuaţii diferenţiale

cu proprietăţi speciale

Funcţia generală rkfixed, prin algoritmul implementat, poate rezolva numeric, cu o precizie convenabilă, majoritatea problemelor. În cazul unor sisteme de ecuaţii diferenţiale, cu proprietăţi speciale, erorile pot deveni semnificative. Aceste sisteme de ecuaţii diferenţiale se rezolvă cu ajutorul altor funcţii predefinite.

În cazul sistemelor de ecuaţii diferenţiale, a căror soluţii se caracterizează prin faptul că prezintă variaţii fine, se recomandă utilizarea funcţiei:

• Funcţiei Bulstoer: o Sintaxa funcţiei: Bulstoer(Y,a,b,p,D);

o Argumentele funcţiei: Y, a, b, p, D – au aceeaşi semnificaţie ca în cazul funcţiei rkfixed;

o Valoarea returnată: un tablou, ce conţine:

- în prima coloană, valorile celor p puncte în care este evaluată soluţia ecuaţiei diferenţiale;

- în următoarele coloane, valorile soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, calculate în punctele xi.

o Observaţii:

Page 302: Aplicata in Inginerie Mathcad 2001

302

a. Utilizarea funcţiei Bulstoer, determină calculul soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, în p valori ale variabilei de integrare, xi.

b. Funcţia Bulstoer utilizează metoda Bulirsch-Stoer de calcul numeric al soluţiei ecuaţiei diferenţiale.

c. Pentru a utiliza această funcţie în situaţii diferite (ecuaţii diferenţiale de ordinul întâi, doi sau superior, sisteme de ecuaţii diferenţiale) se respectă aceleaşi condiţii ca şi în cazul funcţiei rkfixed.

Mai jos, este prezentat modul de utilizare al funcţiei Bulstoer pentru rezolvarea sistemul de ecuaţii diferenţiale de ordinul întâi, din exemplul 7.

Y1

1

:= Conditiile initiale

D x y,( )

1 x− y1 sin x( )2⋅−

x

e

1

x−

y0+

y0

:=a 2−:=

Limitele intervaluluib 1−:=

p 200:= Numarul de puncte

Z Bulstoer Y a, b, p, D,( ):=

Z

0 1 201234

-2.000 1.000 1.000-1.995 0.995 1.013-1.990 0.989 1.027-1.985 0.984 1.040-1.980 0.979 1.054

=

În cazul sistemelor de ecuaţii diferenţiale, a căror soluţii se caracterizează prin faptul că prezintă variaţii locale foarte mari, se recomandă utilizarea funcţiei:

• Funcţiei Rkadapt: o Sintaxa funcţiei: Rkadapt(Y,a,b,p,D);

o Argumentele funcţiei: Y, a, b, p, D – au aceeaşi semnificaţie ca în cazul funcţiei rkfixed;

o Valoarea returnată: un tablou, ce conţine:

- în prima coloană, valorile celor p puncte în care este evaluată soluţia ecuaţiei diferenţiale;

- în următoarele coloane, valorile soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, calculate în punctele xi.

o Observaţii:

a. Utilizarea funcţiei Rkadapt, determină calculul soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, în p valori ale variabilei de integrare, xi.

b. Funcţia Rkadapt utilizează metoda Runge-Kutta de ordinul cinci, cu paşi neuniformi, pentru calcul numeric al soluţiei ecuaţiei diferenţiale.

c. Pentru a utiliza această funcţie în situaţii diferite (ecuaţii diferenţiale de ordinul întâi, doi sau superior, sisteme de ecuaţii diferenţiale) se respectă aceleaşi condiţii ca şi în cazul funcţiei rkfixed.

Page 303: Aplicata in Inginerie Mathcad 2001

303

Modul de utilizare al funcţiei Rkadapt pentru rezolvarea ecuaţiei diferenţiale liniare, din exemplul 6, este prezentat în continuare.

Y

0

1

2

3−

2

:= Conditiile initiale

D x y,( )

y1

y2

y3

y4

6y2 y1− x2 y3⋅−

:=

a 1:=Limitele intervalului

b 10:=

p 200:= Numarul de puncte

Z Rkadapt Y a, b, p, D,( ):=

xi y(xi) y'(xi) y''(xi) y'''(xi) y''''(xi)

Z

0 1 2 3 4 50123456789

1.000 0.000 1.000 2.000 -3.000 2.0001.045 0.047 1.087 1.867 -2.896 2.6151.090 0.098 1.168 1.740 -2.765 3.1991.135 0.152 1.244 1.619 -2.609 3.7531.180 0.210 1.314 1.505 -2.428 4.2751.225 0.270 1.379 1.401 -2.224 4.7661.270 0.334 1.440 1.305 -1.999 5.2261.315 0.400 1.497 1.221 -1.754 5.6531.360 0.468 1.550 1.148 -1.491 6.0481.405 0.539 1.600 1.087 -1.211 6.409

=

Sistemele liniare de ordinul întâi, ecuaţiile (17.41), se mai pot scrie sub o formă concisă, utilizând notaţia matriceală:

yAy ⋅=′ . (17.43)

În cazul sistemelor (17.43), la care matricea A este aproape singulară, se recomandă utilizarea:

• Funcţiei Stiffb: o Sintaxa funcţiei: Stiffb(Y,a,b,p,D,J);

o Argumentele funcţiei: Y, a, b, p, D – au aceeaşi semnificaţie ca în cazul funcţiei rkfixed; J(x,y) – o funcţie, definită sub forma unui tablou cu dimensiunile

n linii × (n+1) coloane, ce conţine:

în prima coloană derivatele x

)y,x(D∂

∂ ;

în următoarele n coloane Jacobianul funcţiei D(x,y), ky

)y,x(D∂

∂ .

o Valoarea returnată: un tablou, ce conţine:

Page 304: Aplicata in Inginerie Mathcad 2001

304

în prima coloană, valorile celor p puncte în care este evaluată soluţia ecuaţiei diferenţiale;

în următoarele coloane, valorile soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, calculate în punctele xi.

o Observaţii:

a. Utilizarea funcţiei Stiffb, determină calculul soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, în p valori ale variabilei de integrare, xi.

b. Funcţia Stiffb utilizează metoda Bulirsch-Stoer, pentru calcul numeric al soluţiei ecuaţiei diferenţiale.

c. Pentru a utiliza această funcţie în situaţii diferite (ecuaţii diferenţiale de ordinul întâi, doi sau superior, sisteme de ecuaţii diferenţiale) se respectă aceleaşi condiţii ca şi în cazul funcţiei rkfixed.

În continuare, este prezentat modul de utilizare al funcţiei Stiffb pentru rezolvarea sistemul de ecuaţii diferenţiale de ordinul întâi, din exemplul 7.

D x y,( )

1 x− y1 sin x( )2⋅−

x

e

1

x−

y0+

y0

:= - Vectorul derivatelor

J x y,( )

1− 2 y1⋅ sin x( )⋅ cos x( )⋅−( )x

1 x− y1 sin x( )2⋅−

x2−

1

x2

exp1−x

y0⋅

0

1

2 y0( )3

2⋅

exp1−x

y0( )1

2+

y0( )2−

sin x( )2−

x

0

:=

Y1

1

:= Conditiile initiale

a 2−:=Limitele intervalului

b 1−:=

p 200:= Numarul de puncte

Z2 Stiffb Y a, b, p, D, J,( ):= Z2

0 1 2012345678910

-2.000 1.000 1.000-1.995 0.995 1.013-1.990 0.989 1.027-1.985 0.984 1.040-1.980 0.979 1.054-1.975 0.973 1.067-1.970 0.968 1.081-1.965 0.963 1.094-1.960 0.958 1.108-1.955 0.953 1.122-1.950 0.948 1.136

=

Page 305: Aplicata in Inginerie Mathcad 2001

305

• Funcţiei Stiffr:

o Sintaxa funcţiei: Stiffr(Y,a,b,p,D,J);

o Argumentele funcţiei: Y, a, b, p, D – au aceeaşi semnificaţie ca în cazul funcţiei rkfixed; J(x,y) – o funcţie, definită sub forma unui tablou cu dimensiunile

n linii × (n+1) coloane, ce conţine:

în prima coloană derivatele x

)y,x(D∂

∂ ;

în următoarele n coloane Jacobianul funcţiei D(x,y), ky

)y,x(D∂

∂ .

o Valoarea returnată: un tablou, ce conţine:

în prima coloană, valorile celor p puncte în care este evaluată soluţia ecuaţiei diferenţiale;

în următoarele coloane, valorile soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, calculate în punctele xi.

o Observaţii:

a. Utilizarea funcţiei Stiffr, determină calculul soluţiei ecuaţiei/sistemului de ecuaţii diferenţiale şi ale derivatelor ce intervin, în p valori ale variabilei de integrare, xi.

b. Funcţia Stiffr utilizează metoda Rosenbrock, pentru calcul numeric al soluţiei ecuaţiei diferenţiale.

c. Pentru a utiliza această funcţie în situaţii diferite (ecuaţii diferenţiale de ordinul întâi, doi sau superior, sisteme de ecuaţii diferenţiale) se respectă aceleaşi condiţii ca şi în cazul funcţiei rkfixed.

În cele ce urmează, este prezentat modul de utilizare al funcţiei Stiffr pentru rezolvarea sistemul de ecuaţii diferenţiale de ordinul întâi, din exemplul 7.

D x y,( )

1 x− y1 sin x( )2⋅−

x

e

1

x−

y0+

y0

:= Functia ce contine derivatele

J x y,( )

1− 2 y1⋅ sin x( )⋅ cos x( )⋅−( )x

1 x− y1 sin x( )2⋅−

x2−

1

x2

exp1−x

y0⋅

0

1

2 y0( )3

2⋅

exp1−x

y0( )1

2+

y0( )2−

sin x( )2−

x

0

:=

Page 306: Aplicata in Inginerie Mathcad 2001

306

Y1

1

:= Conditiile initiale

a 2−:=Limitele intervalului

b 1−:=

p 200:= Numarul de puncte

Z2 Stiffr Y a, b, p, D, J,( ):= Z2

0 1 2012345678

-2.000 1.000 1.000-1.995 0.995 1.013-1.990 0.989 1.027-1.985 0.984 1.040-1.980 0.979 1.054-1.975 0.973 1.067-1.970 0.968 1.081-1.965 0.963 1.094-1.960 0.958 1.108

=

17.2.3. Calculul soluţiei sistemelor de ecuaţii diferenţiale în punctul final al domeniului

Variante ale celor patru funcţii, descrise la subcapitolul 17.2.2., sunt puse la dispoziţia utilizatorilor Mathcad-ului pentru rezolvarea problemelor la care interesează, în primul rând, soluţia în punctul final al domeniului considerat. Sintaxa acestor funcţii este:

bulstoer(Y,a,b,ac,D,kmax,s); rkadapt(Y,a,b,ac,D,kmax,s); stiffb(Y,a,b,ac,D,J,kmax,s); stiffr(Y,a,b,ac,D,kmax,s).

Utilizarea acestor funcţii se realizează conform celor precizate anterior. Se constată, totuşi, că aceste patru funcţii conţin trei noi argumente. Semnificaţia lor este următoarea:

ac – reprezintă acurateţea de calcul a soluţiei. Valorile recomandate pentru acest parametru sunt ac ≤ 0.001;

kmax – numărul maxim de puncte intermediare în care este evaluată soluţia ecuaţiei diferenţiale, N∈maxk ;

s – valoarea minimă a amplitudinii, dintre două puncte intermediare ale variabilei de integrare, cu care sunt returnate soluţiile sistemului de ecuaţii diferenţiale. Intern funcţia utilizează valori ale amplitudinii care să permită calculul soluţiilor în condiţiile respectării acurateţei impusă prin parametrul ac.

Modul de utilizare al funcţiei rkadapt pentru rezolvarea ecuaţiei diferenţiale liniare, din exemplul 5, este prezentat în continuare.

Y0

1

:= Conditiile initiale

a 1:=Limitele intervalului

b 5 π⋅:=

D x y,( )

y1

y1

x− 4

x2 4−

x2⋅ y0⋅−

:=

Page 307: Aplicata in Inginerie Mathcad 2001

307

xi y(xi) y'(xi)

Z rkadapt Y a, b, 10 5−, D, 50, 10 4−

,( ):=

i 0 rows Z( ) 1−..:=

0 5 102

1

0

1

2

Z 1⟨ ⟩( )i

Z 0⟨ ⟩( )i

Z

0 1 2012345678910111213

1 0 11.147 0.142 0.9651.295 0.29 1.0541.488 0.51 1.2191.719 0.811 1.3641.986 1.176 1.3372.292 1.537 0.9552.585 1.721 0.2492.881 1.662 -0.667

3.16 1.352 -1.5213.464 0.78 -2.183.804 -5.606·10 -3 -2.3294.047 -0.538 -1.9914.299 -0.959 -1.295

=

17.3. REZOLVAREA ECUAŢIILOR DIFERENŢIALE CU CONDIŢII LA LIMITĂ

Metodele de rezolvare numerică a ecuaţiilor/sistemelor de ecuaţii diferenţiale se bazează, fără excepţie, pe cunoaşterea condiţiilor iniţiale. Multe situaţii practice, însă, presupun rezolvarea unei ecuaţii diferenţiale, de forma (17.1) cu condiţii la limită (17.5). În această situaţie metodele numerice nu mai sunt aplicabile.

Modul de rezolvare al unei ecuaţii cu condiţii la limită se bazează pe transformarea problemei într-o ecuaţie cu condiţii iniţiale.

Pentru a ilustra această metodologie considerăm o ecuaţie liniară de ordinul doi, [ROŞ80]: )x(fy)x(qy)x(py =⋅+′⋅+′′ , (17.44)

cu condiţiile la limită exprimate sintetic, sub forma:

( ) ( )( ) ( )

=′⋅β+⋅β=′⋅α+⋅αBbybyAayay

10

10 . (17.45)

Transformarea condiţiilor la limită (17.45) în condiţii iniţiale:

( )( )

′=′=

00

00

yxyyxy

, (17.46)

se realizează utilizând metoda diferenţelor finite. Considerăm n puncte, xi, ale variabilei de integrare, dispuse echidistant, la distanţa h, în intervalul [a,b]:

n

abh,n,i,hixx,bx,ax in−

=−=⋅+=== 1100

şi ( ) ( ) ( )iiiiii xff,xqq,xpp ===

Page 308: Aplicata in Inginerie Mathcad 2001

308

Folosind notaţiile anterioare, înlocuim derivatele funcţiei necunoscute, y(x), din ecuaţia diferenţială (17.44) prin diferenţe finite:

2111 2

2 hyyyy,

hyyy iii

iii

i−++ +⋅−

≅′′⋅−

≅′ . (17.47)

Relaţiile (17.47) rezultă prin utilizarea formulei Taylor în două puncte xi + h şi xi – h:

( ) ( )

( ) ( ) K

K

−′′+′⋅−==−

+′′+′⋅+==+

+

iiiii

iiiii

xy!

hxy!h)x(y)x(y)hx(y

xy!

hxy!h)x(y)x(y)hx(y

21

212

1

2

1. (17.48)

Aproximând )hx(y i + şi )hx(y i − prin primii trei termeni ai dezvoltării avem:

( ) ( )

( ) ( )iiii

iiii

xy!

hxy!h)x(y)x(y

xy!

hxy!h)x(y)x(y

′′+′⋅−≈

′′+′⋅+≈

+

21

212

1

2

1. (17.49)

Scăzând şi respectiv adunând cele două relaţii (17.49) obţinem expresiile derivatelor (17.47). Ecuaţia diferenţială (17.44) şi condiţiile (17.45) se pot înlocui cu sistemul de ecuaţii:

=−

⋅β+⋅β

=−

⋅α+⋅α

−∈=⋅+⋅−

⋅++⋅−

+−+

Bhyyy

Ah

yyy

n,i,fyqh

yyph

yyy

nnn

i

iiii

iiii

110

0100

12

11 112

2

. (17.50)

Rezolvarea sistemului (17.50) se realizează utilizând relaţiile echivalente: ( ) 111 −∈−= + n,i,ydcy iiii . (17.51)

unde:

( )

⋅+⋅−

=

⋅+−⋅⋅

=

⋅⋅−⋅+⋅⋅

=

⋅α−α⋅

⋅+⋅+⋅⋅

=

⋅−=

α⋅+⋅α−α⋅⋅α−α

=

−−

i

ii

i

ii

iiii

ii

iiii

phphk

phhqm

dckhp

hfd

hhAk

hphfd

ckmc

khmhc

22

242

22

22

1

2

11

201

11

21

1

1

11011

011

. (17.52)

Pentru a transforma condiţiile la limită în condiţii iniţiale se determină valorile mi şi ki, iar pe baza lor se calculează ci şi di, n,i 1∈ . Aceste valori fiind determinate, în continuare se calculează şirul 0121 y,y,y,,y,,y,y inn LL− pornindu-se de la expresia:

Page 309: Aplicata in Inginerie Mathcad 2001

309

( )

−⋅β+⋅β⋅

⋅−⋅β−⋅⋅=

−−

nn

nnnn

cch

dcdhBy12

2

110

111 . (17.53)

Funcţiile Mathcad predefinite, care realizează transformarea unei probleme cu condiţii la limită într-o problemă cu condiţii iniţiale, sunt:

• Funcţia sbval:

o Sintaxa funcţiei: sbval(v,a,b,D,load,score);

o Argumentele funcţiei: v – reprezintă un vector, ce conţine valori de pornire pentru calculul condiţiilor iniţiale neprecizate. Numărul de linii al vectorului v este egal cu numărul de condiţii iniţiale ce trebuiesc determinate pentru a transforma problema cu condiţii la limită într-o problemă cu condiţii iniţiale;

a, b – reprezintă limitele intervalului, pentru variabila independentă de integrare, în care se calculează soluţiile sistemului de ecuaţii diferenţiale, ba,Rb,a <∈ ;

D(x,y) – o funcţie, definită sub forma unui vector cu n elemente, ce conţine expresiile derivatelor funcţiilor necunoscute, y(x). Expresia funcţiei D(x,y) se obţine din sistemul de ecuaţii diferenţiale ce urmează a fi rezolvat;

load(a,v) – o funcţie, definită sub forma unui vector cu n elemente, ce conţine expresiile condiţiilor iniţiale. Elementele vectorului la care se cunosc condiţiile iniţiale vor fi completate cu constantele corespunzătoare;

score(b,y) – o funcţie, definită sub forma unui vector, cu dimensiuni egale cu cele ale argumentului v, ce conţine expresiile amplitudinilor pentru condiţiile la limită, ce urmează a fi transformate în condiţii iniţiale.

n – reprezintă numărul de funcţii necunoscute ale sistemului.

o Valoarea returnată: un vector cu dimensiuni egale cu cele ale argumentului v, ce conţine valorile calculate ale condiţiilor iniţiale necunoscute.

o Observaţie: de regulă, funcţia sbval este urmată de o funcţie specializată în rezolvarea ecuaţiilor diferenţiale, ce utilizează valorile condiţiilor iniţiale, astfel calculate, pentru rezolvarea sistemului de ecuaţii diferenţiale.

Exemplul 9: Să se rezolve ecuaţia diferenţială de ordinul patru:

x)x(y)x(ydxd

=+4

4, cu condiţiile la limită:

=′′=′=′′′=

447124401984405101

030010

.).(y.).(y

.)(y.)(y

.

Modul de utilizare al funcţiei sbval este prezentat în continuare. În prima parte a foii de calcul s-a utilizat funcţia sbval, pentru transformarea problemei din exemplul 9, într-o problemă cu condiţii iniţiale şi apoi, în partea a doua, ecuaţia diferenţială este rezolvată prin utilizarea funcţiei rkfixed.

Page 310: Aplicata in Inginerie Mathcad 2001

310

Z

0 1 2 3 40123456789

0 1 -2 5 31·10 -3 0.998 -1.995 5.003 2.9992·10 -3 0.996 -1.99 5.006 2.9983·10 -3 0.994 -1.985 5.009 2.9974·10 -3 0.992 -1.98 5.012 2.9965·10 -3 0.99 -1.975 5.015 2.9956·10 -3 0.988 -1.97 5.018 2.9947·10 -3 0.986 -1.965 5.021 2.9938·10 -3 0.984 -1.96 5.024 2.9939·10 -3 0.982 -1.955 5.027 2.992

=Z rkfixed Y1 a, b, p, D,( ):=

Conditiile initialeY1

1

S0

S1

3

:=

xi y(xi) y'(xi) y''(xi) y'''(xi)

b. Rezolvarea ecuatiei diferentiale:

S2−

5

===>S sbval v a, b, D, load, score,( ):=

score b y,( )y0 1.984405−

y1 4.447124−

:=Vectorul amplitudinilor:

Conditiile initiale partialeload a v,( )

1.0

v0

v1

3

:=

Vectorul derivatelorD x y,( )

y1

y2

y3

x y0−

:=

v1

1

:=Solutii initiale:

Numarul de punctep 1000:=

b 1:=Limitele intervalului

a 0:=a. Calculul conditiilor initiale:

• Funcţia bvalfit: o Sintaxa funcţiei: bvalfit(v1,v2,a,b,xd,D,load1,load2,score);

o Argumentele funcţiei: v1 – reprezintă un vector, ce conţine valori de pornire pentru calculul condiţiilor iniţiale neprecizate. Numărul de linii al vectorului v este egal cu numărul de condiţii iniţiale ce trebuiesc determinate pentru a transforma problema cu condiţii la limită într-o problemă cu condiţii iniţiale;

v2 – reprezintă un vector, ce conţine valori iniţiale pentru calculul condiţiilor neprecizate la limita b, a intervalului de integrare;

a, b – reprezintă limitele intervalului, pentru variabila independentă de integrare, în care se calculează soluţiile sistemului de ecuaţii diferenţiale, ba,Rb,a <∈ ;

Page 311: Aplicata in Inginerie Mathcad 2001

311

xd – valoarea unui punct, situat în interiorul intervalului definit al variabilei de integrare. În acest punct traiectoriile soluţiilor ce sunt determinate pornind din punctul a şi al celor ce sunt determinate pornind din punctul b, sunt forţate să fie egale,

[ ]b,axd ∈ . D(x,y) – o funcţie, definită sub forma unui vector cu n elemente, ce

conţine expresiile derivatelor funcţiilor necunoscute, y(x). Expresia funcţiei D(x,y) se obţine din sistemul de ecuaţii diferenţiale ce urmează a fi rezolvat;

load1(a,v1) – o funcţie, definită sub forma unui vector cu n elemente, ce conţine expresiile condiţiilor iniţiale. Elementele vectorului la care se cunosc condiţiile iniţiale vor fi completate cu constantele corespunzătoare;

load(b,v2) – o funcţie, definită sub forma unui vector cu n elemente, ce conţine expresiile condiţiilor la limita b. Elementele vectorului la care se cunosc condiţiile la limită vor fi completate cu constantele corespunzătoare;

score(xd,y) – o funcţie, definită sub forma unui vector, ce indică modul de comportare al soluţiilor ecuaţiei diferenţiale în punctul xd. Expresia uzuală a acestei funcţii este:

y:)y,xd(score = , (17.54) Definirea funcţiei score conform relaţiei (17.54) asigură continuitatea soluţiilor sistemului de ecuaţii diferenţiale în punctul xd.

n – reprezintă numărul de funcţii necunoscute ale sistemului. o Valoarea returnată: un tablou, ce conţine valorile calculate ale condiţiilor iniţiale şi ale celor de

la limita b, necunoscute. o Observaţie: de regulă, funcţia bvalfit este urmată de o funcţie specializată în rezolvarea

ecuaţiilor diferenţiale, ce utilizează valorile condiţiilor iniţiale, astfel calculate, pentru rezolvarea sistemului de ecuaţii diferenţiale.

Exemplul 10: Să se rezolve ecuaţia diferenţială de ordinul trei:

022

2

3

3=Ψ+⋅⋅−+ )x()x(yx)x(y

dxd)x(y

dxd , cu condiţiile la limită:

==′=

0402020

210

.).(y.)(y

.)(y.

Expresia funcţiei Ψ(x) este:

>+−≤

=ψ1daca31daca2

x,xx,x)x( .

a. Calculul conditiilor initiale:

ψ x( ) x2 x 1≤if

x− 3+( ) otherwise

:= i 0 0.01, 1..:=

j 1.01 1.02, 2..:=

0 0.5 1 1.5 20

2ψ i( )

ψ j( )

1.0

i j,

Page 312: Aplicata in Inginerie Mathcad 2001

312

S bvalfit v1 v2, a, b, xd, D, load1, load2, score,( ):= ==> S3.152−

0

4.141

7.175

=

b. Rezolvarea ecuatiei diferentiale:

xi y(xi) y'(xi) y''(xi) p 200:= Numarul de puncte

Y

1.2

2

S0 0,

:= Solutiile initiale

Z rkfixed Y a, b, p, D,( ):= i 0 p 1−..:=

0 1 2

2

4

Z 1⟨ ⟩( )i

Z 0⟨ ⟩( )i

Z

0 1 2 30123456789101112

0.000 1.200 2.000 -3.1520.010 1.220 1.969 -3.1200.020 1.239 1.938 -3.0890.030 1.259 1.907 -3.0580.040 1.278 1.876 -3.0260.050 1.296 1.846 -2.9950.060 1.314 1.817 -2.9640.070 1.332 1.787 -2.9330.080 1.350 1.758 -2.9010.090 1.368 1.729 -2.8700.100 1.385 1.700 -2.8390.110 1.402 1.672 -2.8080.120 1.418 1.644 -2.776

=

0 1 2

0

5

Z 2⟨ ⟩( )i

Z 0⟨ ⟩( )i

0 1 2

0

5

10

Z 3⟨ ⟩( )i

Z 0⟨ ⟩( )i

a 0:=Limitele intervalului

b 2:= Vectorul derivatelor: D x y,( )

y1

y2

y2− 2 x⋅ y0⋅+ ψ x( )+

:=v10 3:=

Solutiile initialev2

1

0

:=Conditiile initiale:

xd 1.0:=

score xd y,( ) y:=load1 a v1,( )

1.2

2

v10

:= load2 b v2,( )

4

v20

v21

:=

17.4. SOLUŢII ALE UNOR ECUAŢII DIFERENŢIALE PARTICULARE

O altă categorie de funcţii Mathcad, destinate rezolvării ecuaţiilor diferenţiale, este categoria funcţiilor speciale. În această categorie intră o serie de funcţii predefinite care reprezintă soluţiile analitice ale unor ecuaţii diferenţiale particulare.

În tabelul 17.1 este prezentată sintaxa acestor funcţii speciale, argumentele acceptate, valoarea returnată, precum şi expresia analitică a ecuaţiilor diferenţiale a căror soluţie o reprezintă.

Page 313: Aplicata in Inginerie Mathcad 2001

313

Tabelul 17.1 Soluţii analitice ale unor ecuaţii diferenţiale particulare

Nr. crt. Sintaxa funcţiei: Argumentele funcţiei: Valoarea returnată: Observaţii

0 1 2 3 4

1. bei(n,x) n – număr întreg,

0≥n ; x – număr real.

- valoarea funcţiei imaginare Bessel – Kelvin, de ordinul n, calculată în punctul x.

2. ber(n,x) n – număr întreg,

0≥n ; x – număr real.

- valoarea funcţiei reale Bessel – Kelvin, de ordinul n, calculată în punctul x.

Funcţia ber(n,x)+i⋅bei(n,x) reprezintă soluţia ecuaţiei diferenţiale:

( ) 0222

2 =⋅+⋅−⋅+⋅ ynxiydxdxy

dxdx .

3. Bi(x) x – număr real. - valoarea funcţiei Airy de speţa a doua, calculată în punctul x.

Funcţia Bi(,x) reprezintă soluţia ecuaţiei diferenţiale:

02

2=⋅− yxy

dxd .

4. fhyper(a,b,c,x) a,b,c – numere reale; x – număr real,

11 <<− x .

- valoarea funcţiei hipergeome-trice a lui Gauss, calculată în punctul x.

Funcţia fhyper(a,b,c,x) reprezintă soluţia ecuaţiei diferenţiale:

( ) ( )[ ] 0112

2=⋅⋅−⋅⋅++−+⋅−⋅ ybay

dxdxbacy

dxdxx .

5. Her(n,x) n – număr întreg,

0≥n ; x – număr real.

- valoarea polinomului Hermitic, de gradul n, calculat în punctul x..

Polinomul Her(n,x) reprezintă soluţia ecuaţiei

diferenţiale:

0222

2=⋅⋅+⋅⋅−⋅ yny

dxdxy

dxdx .

Page 314: Aplicata in Inginerie Mathcad 2001

314

Tabelul 17.1 (continuare) Soluţii analitice ale unor ecuaţii diferenţiale particulare

0 1 2 3 4

6. In(n,x) n – număr întreg,

1000 ≤≤ n ; x – număr real.

- valoarea funcţiei Bessel modificate, de speţa întâi, calculată în punctul x.

Funcţia In(n,x) reprezintă soluţia ecuaţiei diferenţiale:

( ) 0222

22 =⋅+−⋅+⋅ ynxy

dxdxy

dxdx .

7. Jac(n,a,b,x)

n – număr întreg, 0≥m ;

a,b – numere reale, 11 −>−> b,a ;

x – număr real.

- valoarea polinomului Jacobi, de gradul n cu parametrii a şi b, calculat în punctul x.

Polinomul Jac(n,a,b,x) reprezintă soluţia ecuaţiei

diferenţiale:

( ) ( )[ ]

( ) 01

212

22

=⋅+++⋅+

+⋅⋅++−−+⋅−

ybann

ydxdxbaaby

dxdx

;

Polinomului Jacobi, de gradul n, include polinoamele Cebîşev şi Legendre, ca şi cazuri particulare.

8. Jn(n,x) n – număr întreg,

1000 ≤≤ n ; x – număr real.

- valoarea funcţiei Bessel, de speţa întâi, calculată în punctul x.

Funcţia Jn(n,x) reprezintă soluţia ecuaţiei diferenţiale:

( ) 0222

22 =⋅−+⋅+⋅ ynxy

dxdxy

dxdx .

9. js(n,x) n – număr întreg; x – număr real,

0>x .

- valoarea funcţiei sferice Bessel, de speţa întâi, calculată în punctul x.

Funcţia js(n,x) reprezintă soluţia ecuaţiei diferenţiale:

( )[ ] 012 22

22 =⋅+⋅−+⋅⋅+⋅ ynnxy

dxdxy

dxdx .

10. Kn(n,x)

n – număr întreg, 1000 ≤≤ n ;

x – număr real, 0>x .

- valoarea funcţiei Bessel modificate, de speţa a doua, calculată în punctul x.

Funcţia Kn(n,x) reprezintă soluţia ecuaţiei diferenţiale:

( ) 0222

22 =⋅+−⋅+⋅ ynxy

dxdxy

dxdx .

Page 315: Aplicata in Inginerie Mathcad 2001

315

Tabelul 17.1 (continuare) Soluţii analitice ale unor ecuaţii diferenţiale particulare

0 1 2 3 4

11. Lag(n,x) n – număr întreg,

0≥n ; x – număr real.

- valoarea polinomului Laguerre, de gradul n, calculat în punctul x.

Polinomul Lag(n,x) reprezintă soluţia ecuaţiei

diferenţiale:

( ) 012

2=⋅+⋅−+⋅ yny

dxdxy

dxdx .

12. Leg(n,x) n – număr întreg,

0≥n ; x – număr real.

- valoarea polinomului Legen-dre, de gradul n, calculată în punctul x.

Polinomul Leg(n,x) reprezintă soluţia ecuaţiei

diferenţiale:

( ) ( ) 01212

22 =⋅+⋅+⋅⋅−⋅− ynny

dxdxy

dxdx .

13. mhyper(a,b,x) a,b,x – numere reale.

- valoarea funcţiei confluente hipergeometrice (funcţia Kummer), calculată în punctul x.

Funcţia mhyper(a,b,x) reprezintă soluţia ecuaţiei

diferenţiale:

( ) 02

2=⋅−⋅−+⋅ yay

dxdxby

dxdx .

Funcţia Kummer, include polinoamele Hermitice şi funcţia exponenţială, ca şi cazuri particulare.

14. Tcheb(n,x) n – număr întreg,

0≥n ; x – număr real.

- valoarea polinomului Cebîşev, de speţa întâi şi de gradul n, calculată în punctul x.

Polinomul Tcheb(n,x) reprezintă soluţia ecuaţiei

diferenţiale:

( ) 01 22

22 =⋅+⋅−⋅− yny

dxdxy

dxdx .

Page 316: Aplicata in Inginerie Mathcad 2001

316

Tabelul 17.1 (continuare) Soluţii analitice ale unor ecuaţii diferenţiale particulare

0 1 2 3 4

15. Ucheb(n,x) n – număr întreg,

0≥n ; x – număr real.

- valoarea polinomului Cebîşev, de speţa a doua şi de gradul n, calculată în punctul x.

Polinomul Ucheb(n,x) reprezintă soluţia ecuaţiei

diferenţiale:

( ) ( ) 02312

22 =⋅+⋅+⋅⋅−⋅− ynny

dxdxy

dxdx .

16. Yn(n,x)

n – număr întreg, 1000 ≤≤ n ;

x – număr real, 0>x .

- valoarea funcţiei Bessel, de speţa a doua, calculată în punctul x.

Funcţia Yn(n,x) reprezintă soluţia ecuaţiei diferenţiale:

( ) 0222

22 =⋅−+⋅+⋅ ynxy

dxdxy

dxdx .

17. ys(n,x) n – număr întreg; x – număr real,

0>x .

- valoarea funcţiei sferice Bessel, de speţa a doua şi de grad n, calculată în punctul x.

Funcţia ys(n,x) reprezintă soluţia ecuaţiei diferenţiale:

( )[ ] 012 22

22 =⋅+⋅−+⋅⋅+⋅ ynnxy

dxdxy

dxdx .

Page 317: Aplicata in Inginerie Mathcad 2001

317

17.5. REZOLVAREA ECUAŢIILOR DIFERENŢIALE CU DERIVATE PARŢIALE

Forma generală a unei ecuaţii diferenţiale de ordinul doi cu derivate parţiale se consideră ca

fiind, [ROŞ80]:

( ) ( ) ( ) ( ) ( ) ( ) ( ) ,y,xGuy,xFxuy,xE

xuy,xD

yuy,xC

yxuy,xB

xuy,xA 02 2

22

2

2=+⋅+

∂∂⋅+

∂∂⋅+

∂∂⋅+

∂⋅∂∂

⋅⋅+∂∂⋅

(17.55) unde:

A,B,C,D,E,F,G reprezintă coeficienţii ecuaţiei diferenţiale. Aceşti coeficienţi depind doar de x şi y;

x şi y, reprezintă variabilele independente de integrare;

u(x,y) reprezintă funcţia necunoscută a ecuaţiei diferenţiale. Mulţimea tuturor soluţiilor ecuaţiei (17.55) este infinită. Problemele concrete conduc la necesitatea determinării unei soluţii particulare, care să verifice anumite condiţii iniţiale şi/sau limită date astfel încât să asigure existenţa şi unicitatea soluţiei căutate.

Clasificarea ecuaţiilor diferenţiale de ordinul doi cu derivate parţiale se realizează în funcţie de discriminantul CAB ⋅−=∆ 2 , calculat într-un punct dat din R2:

• dacă 0=∆ , ecuaţia este de tip parabolic;

• dacă 0>∆ , ecuaţia este de tip hiperbolic;

• dacă 0<∆ , ecuaţia este de tip eliptic.

Integrarea ecuaţiilor diferenţiale cu derivate parţiale, în vederea determinării soluţiilor, prin metode analitice nu este întotdeauna posibilă, sau convenabilă şi atunci se recurge la metoda de integrare numerică. Această metodă, numită frecvent metoda reţelelor, utilizează calculul cu diferenţe finite. Această tehnică împarte domeniul D, pe care trebuie căutată soluţia în dreptunghiuri cu laturile paralele cu axele de coordonate, iar soluţia se obţine sub formă de tabel de valori calculate în nodurile reţelei.

Algoritmul acestei metode presupune, [ROŞ79], [ROŞ80]:

1. Specificarea unui domeniu din planul xOy, [m,n] × [p,q]. Pe acest domeniu se construiesc două familii de drepte paralele:

−=

−=

∈⋅+=

∈⋅+=

spqk

rmnh

s,j,kjpy

r,i,himx

j

i

0

0

, (17.56)

care acoperă domeniul D, vezi fig. 17.1 ;

2. Valorile lui u(x,y) în aceste puncte se notează prin ui,j;

3. Se aproximează derivatele prin diferenţe finite, conform relaţiilor de tipul (17.47):

Page 318: Aplicata in Inginerie Mathcad 2001

318

+⋅−≈

∂∂

+⋅−≈

∂∂

−≈

−≈

−≈

∂∂

−≈

−≈

−≈

∂∂

−+

−+

−+−+

−+−+

211

2

2

211

2

2

1111

1111

2

2

2

2

kuuu

yu

huuu

xu

kuu

kuu

kuu

yu

huu

huu

huu

xu

j,ij,ij,i

j,i

j,ij,ij,i

j,i

j,ij,ij,ij,ij,ij,i

j,i

j,ij,ij,ij,ij,ij,i

j,i

; (17.57)

4. Înlocuind relaţiile (17.57) în ecuaţia diferenţială (17.55) se va obţine un sistem de ecuaţii liniare având ca necunoscute pe ui,j;

5. Rezolvarea acestui sistem de ecuaţii, în condiţiile respectării condiţiilor iniţiale şi/sau la limită, conduce la aflarea valorilor, ui,j, care vor aproxima valorile soluţiei reale u(x,y) în punctele xi şi yi.

Fig. 17.1 Metoda reţelelor

Mathcad-ul dă posibilitatea rezolvării, numerice aproximative, a ecuaţiilor diferenţiale de ordinul doi cu derivate parţiale, de tip eliptic, în anumite cazuri particulare. Şi anume ecuaţii Laplace:

,yu

xu 02

2

2

2=

∂∂

+∂∂ (17.58)

şi ecuaţii de tip Poisson:

).y,x(fyu

xu

=∂∂

+∂∂

2

2

2

2 (17.59)

Metoda reţelelor aplicată ecuaţiei lui Laplace, în condiţiile unei reţele pătrate ( kh = ), conduce la următoarea ecuaţie cu diferenţe finite, în punctul (xi, yi), care aproximează ecuaţia diferenţială: 041111 =⋅−+++ −+−+ j,ij,ij,ij,ij,i uuuuu . (17.60)

xi

yj

x

ui+1,j

xi-1

y

yj-1

xi+1

ui-1,j

ui,j-1

ui,j

ui,j+1 yj+1

h

k

0

D

p

q

m n

Page 319: Aplicata in Inginerie Mathcad 2001

319

În cazul ecuaţiei Poisson, aceeaşi metodă, conduce la o ecuaţie de forma:

j,ij,ij,ij,ij,ij,ij,ij,ij,ij,ij,i fueuducubua =⋅+⋅+⋅+⋅+⋅ −+−+ 1111 (17.61)

Funcţiile specializate pentru rezolvarea ecuaţiilor celor două tipuri de ecuaţii diferenţiale de ordinul doi cu derivate parţiale, de tip eliptic, sunt:

• Funcţia multigrid: o Sintaxa funcţiei: multigrid(M,nrc);

o Argumentele funcţiei: M – reprezintă un tablou pătrat, cu dimensiuni ( )k21+ linii × ( )k21+ coloane, ce conţine valorile funcţiei )y,x(f în domeniul pătrat, pe care se rezolvă ecuaţia, Nk∈ ;

nrc – reprezintă un întreg, pozitiv, care specifică numărul de cicluri de iteraţie, la fiecare nivel. Valoarea recomandată pentru a acestui parametru, pentru o precizie rezonabilă a soluţiei, este nrc =2, ;

o Valoarea returnată: un tablou pătratic, de dimensiuni ( )k21+ linii × ( )k21+ coloane, ce conţine valorile soluţiei ecuaţiei Poisson cu condiţii zero pe frontieră, calculate în punctele (xi,yi).

În continuare, este prezentat modul de utilizare al funcţiei multigrid.

R 32:= MR R, 0:= M R

4

R

2,

2.0:=

M R

4

3R

4,

1.5−:= M3

R

4

R

4,

1−:=

S multigrid M 2,( ):=

S

Page 320: Aplicata in Inginerie Mathcad 2001

320

• Funcţia relax: o Sintaxa funcţiei: relax(A,B,C,D,E,F,U,rj);

o Argumentele funcţiei: A,B,C,D,E – reprezintă tablouri pătrate, ce conţin valorile coeficienţilor, j,ia , j,ib , j,ic , j,id , j,ie , ecuaţiei cu diferenţe finite (17.61), ce aproximează soluţia ecuaţiei Poisson;

M – reprezintă un tablou pătrat, ce conţine valorile funcţiei )y,x(f în domeniul pătrat, pe care se rezolvă ecuaţia;

U – reprezintă un tablou pătrat, ce conţine valorile condiţiilor la limită şi/sau iniţiale în domeniul pătrat, pe care se rezolvă ecuaţia;

rj – reprezintă raza spectrală a iteraţiilor. Acest parametru ia valori 10 << rj şi controlează convergenţa algoritmului de calcul;

o Valoarea returnată: un tablou pătratic, ce conţine valorile soluţiei ecuaţiei Poisson, calculate în punctele (xi, yi).

Modul de utilizare al funcţiei relax este prezentat în continuare.

R 40:= i 0 R..:= j 0 R..:=

Mi i, sini4

:= Mi R i−, cos

i3

−:=

ai j, 0.5:= ba3

:= ci j, 0.5:= da2

:= e 2.9− a:= vi j, 0.3:=

S relax a b, c, d, e, M, v, 0.90,( ):=

S

Page 321: Aplicata in Inginerie Mathcad 2001

321

II APLICAŢII ÎN MATHCAD 2001 CALCULE ÎN COMPLEX _______________________________________________________________________________

Un număr complex, z, poate fi reprezentat ca suma unui număr real şi a unui număr imaginar:

ibaz ⋅+= , (18.1)

unde:

a, se numeşte partea reală a numărului complex z; b, se numeşte partea imaginară a numărului complex z; i, se numeşte unitatea imaginară şi reprezintă soluţia ecuaţiei:

12 −=i . (18.2)

Reprezentarea grafică a numerelor complexe, fig. 18.1, se poate realiza într-un sistem de coordonate carteziene rectangulare unde, pe axa Ox se reprezintă partea reală, a numărului complex, iar pe axa Oy, partea imaginară a lui z. Unitatea pe această axă este i.

Fig. 18.1 Reprezentarea numerelor complexe

Numărului complex i se pune, astfel, în corespondenţă punctul z de coordonate (a,b) sau, vectorul zr ce porneşte din origine şi are extremitatea în acest punct.

Numărul complex:

ibaz ⋅−=1 , (18.3)

poartă numele de complexul conjugat lui z.

Necesităţile de calcul şi manipulare a acestor numere au condus la utilizarea altor forme de reprezentare a numerelor complexe. Acestea sunt:

• Reprezentarea trigonometrică a numerelor complexe, fig. 18.1:

y

x

ϕ

z=a+bi

a

b

zr ρ

z=a-bi

-a

ρ

0

Page 322: Aplicata in Inginerie Mathcad 2001

322

( )ϕ⋅+ϕ⋅ρ= sinicosz . (18.4)

În relaţia (18.4) s-a notat prin:

ρ , modulul numărului complex:

22 ba +=ρ . (18.5)

ϕ , argumentul numărului complex:

abarctgaarccosbarcsin =

ρ=

ρ=ϕ . (18.6)

• Formula lui Euler:

( ) ϕ⋅±⋅ρ=ϕ⋅±ϕ⋅ρ iesinicos . (18.7)

În Mathcad se pot realiza calcule cu numere complexe, conform convenţiilor stabilite în matematică, cu oricare din cele trei forme prezentate anterior. Rezultatul acestor operaţii va fi returnat doar sub forma (18.1):

5 cos 0.927295( ) i sin 0.927295( )⋅+( ) 3 4i+=

5 ei 0.927295⋅⋅ 3 4i+=

Utilizatorul are la dispoziţie două variante pentru a reprezenta unitatea imaginară, i şi j. Forma implicită este i.

Aceste două simboluri pentru unitatea imaginară trebuie utilizate ca sufixe ale părţii imaginare a numărului complex. Dacă dorim să efectuăm calcule cu un număr complex având partea imaginară egală cu unitatea, atunci în foaia de calcul, acest lucru va fi obligatoriu precizat

sub forma 1i, sau 1j, sau se utilizează

operatorul din paleta Calculator.

De asemenea dacă, utilizatorul doreşte să utilizeze simbolul j, pentru unitatea imaginară, este necesar ca din meniul principal Format să aleagă opţiunea Result… . Simbolul dorit se alege prin precizarea lui în câmpul Imaginary value a tab-ului Display Options.

Pentru a efectua calcule cu numere complexe în Mathcad, utilizatorul are la dispoziţie un pachet de funcţii predefinite şi operatori. Acestea sunt:

• Funcţia Re: o Sintaxa funcţiei: Re(z);

o Argumentele funcţiei: z – reprezintă un număr real sau complex;

o Valoarea returnată: partea reală a numărului z.

o Observaţii:

a. Valoarea returnată de funcţia Re(z) este a.

Page 323: Aplicata in Inginerie Mathcad 2001

323

b. Funcţia Re permite, de asemenea, argumente reale sau complexe organizate sub forma unor tablouri (V&M). Valoarea returnată, în acest caz, este tot un tablou cu dimensiuni egale cu cele ale argumentului.

• Funcţia Im:

o Sintaxa funcţiei: Im(z);

o Argumentele funcţiei: z – reprezintă un număr real sau complex;

o Valoarea returnată: partea imaginară a numărului z.

o Observaţii:

a. Valoarea returnată de funcţia Im(z) este b.

b. Funcţia Im permite, de asemenea, argumente reale sau complexe organizate sub forma unor tablouri (V&M). Valoarea returnată, în acest caz, este tot un tablou, cu dimensiuni egale cu cele ale argumentului.

• Funcţia arg:

o Sintaxa funcţiei: arg(z);

o Argumentele funcţiei: z – reprezintă un număr real sau complex;

o Valoarea returnată: valoarea unghiului (exprimată în radiani), din planul complex, cuprins între axa reală şi raza vectoare a punctului z, adică, (vezi, fig. 18.1):

==

)zRe()zIm(tana)zarg(ϕ . (18.8)

Valoarea returnată este cuprinsă în intervalul [-π,π] şi este exprimată în radiani.

• Funcţia csgn:

o Sintaxa funcţiei: csgn(z);

o Argumentele funcţiei: z – reprezintă un număr real sau complex;

o Valoarea returnată: ( ) ( ) ( )[ ]

−>=>

=

cazurilorrestulpentru 1000daca1

0daca0)zIm()zRe()zRe(

zIU .

• Funcţia signum:

o Sintaxa funcţiei: signum(z);

o Argumentele funcţiei: z – reprezintă un număr real sau complex;

o Valoarea returnată:

=

cazurilorrestulpentru

0daca1

zz

z.

Pentru calculul modului unui număr complex, conform relaţiei (18.5), se utilizează

operatorul , din paleta Calculator.

Page 324: Aplicata in Inginerie Mathcad 2001

324

Modul de utilizare al funcţiilor, destinate manipulării numerelor complexe, este prezentat, în continuare, în cazul rezolvării ecuaţiei: 132 5 −=⋅ x .

32x5 1− solve x,

1−2

1−8

5⋅18

18

i⋅ 2⋅ 5 5+( )

1

2⋅−+

18

5⋅18

18

i⋅ 2⋅ 5 5−( )

1

2⋅−+

18

5⋅18

+18

i⋅ 2⋅ 5 5−( )

1

2⋅+

1−8

5⋅18

+18

i⋅ 2⋅ 5 5+( )

1

2⋅+

→ Z

1−2

1−8

5⋅18

18

i⋅ 2⋅ 5 5+( )

1

2⋅−+

18

5⋅18

18

i⋅ 2⋅ 5 5−( )

1

2⋅−+

18

5⋅18

+18

i⋅ 2⋅ 5 5−( )

1

2⋅+

1−8

5⋅18

+18

i⋅ 2⋅ 5 5+( )

1

2⋅+

:=

Re Z( )

0.5−

0.155−

0.405

0.405

0.155−

= Im Z( )

0

0.476−

0.294−

0.294

0.476

= arg Z( )

180

108−

36−

36

108

deg= signum Z( )

1−

0.309− 0.951i−

0.809 0.588i−

0.809 0.588i+

0.309− 0.951i+

=

Page 325: Aplicata in Inginerie Mathcad 2001

325

II APLICAŢII ÎN MATHCAD 2001 COMBINATORICĂ ŞI TEORIA NUMERELOR _______________________________________________________________________________

Analiza combinatorie studiază diferite posibilităţi de ordonare ale obiectelor. În Mathcad, numărul sistemelor ordonate, se poate calcula utilizând:

• Funcţia combin:

o Sintaxa funcţiei: combin(n,k);

o Argumentele funcţiei: n, k – reprezintă două numere întregi, .nk ≤≤0 ;

o Valoarea returnată: numărul de combinări de n elemente luate câte k:

( ) !kn!k!nk

n)k,n(combin C−⋅

== . (19.1)

o Observaţii:

a. Sistemele ordonate de k elemente distincte care pot fi formate cu elementele unei mulţimi de n elemente, fără a ţine seama de ordinea elementelor în sistem, sunt combinări de n elemente luate câte k.

b. Dacă în sistemele formate, acelaşi element poate apărea de mai multe ori, combinările astfel formate poartă denumirea de combinări cu repetiţie. Numărul de combinări de n elemente luate câte k, cu repetiţie, este k

nCr :

kknCk

nrC 1−+= . (19.2)

• Funcţia permut:

o Sintaxa funcţiei: permut(n,k);

o Argumentele funcţiei: n, k – reprezintă două numere întregi, .nk ≤≤0 ;

o Valoarea returnată: numărul de aranjamente de n elemente luate câte k:

( ) )kn()n(n!kn

!nkn)k,n(permut A 11 +−⋅⋅−⋅=

−== K . (19.3)

o Observaţii:

a. Sistemele ordonate de k elemente distincte care pot fi formate cu elementele unei mulţimi de n elemente, ţinând seama de ordinea elementelor în sistem, sunt aranjamente de n elemente luate câte k.

b. Dacă în sistemele formate, acelaşi element poate apărea de mai multe ori, aranjamentele astfel formate poartă denumirea de aranjamente cu repetiţie. Numărul de aranjamente de n elemente luate câte k, cu repetiţie, este k

nAr :

Page 326: Aplicata in Inginerie Mathcad 2001

326

knknAr = . (19.4)

Orice sistem format dintr-un număr finit de elemente, într-o ordine oarecare, se numeşte permutarea elementelor date. Un număr de n elemente diferite pot fi permutate în n! moduri:

ni!n ⋅⋅⋅⋅⋅⋅= KK321 . (19.5)

Numărul de permutări poate fi calculat, în Mathcad, conform relaţiei (19.5), prin utilizarea

operatorului , din paleta Calculator.

Dacă cele n elemente se împart în m grupe formate din mp,,p,p K21 elemente identice şi nppp m =+++ K21 , numărul total de permutări este egal cu:

!p!p!p

!n

m⋅⋅⋅ K21. (19.6)

În continuare sunt prezentate principiile şi expresiile de calcul care au stat la baza implementării acestor funcţii predefinite.

C 6 5,( ) 6=combin 6 5,( ) 6=

C 3 4,( ) =C 3 4,( )C 4 3.2,( ) =C 4 3.2,( )

combin 3 4,( ) =combin 3 4,( )combin 4 3.2,( ) =3.2

C n x,( ) error "This must be an integer. The expression you used may have a fractional part"( ) ceil n( ) n≠( ) ceil x( ) x≠( )∨if

error "This function is undefined at one or more of the points you specified"( ) n x<if

0

x 1−

i

n i−( )∏=

x!otherwise

:=

A 6 5,( ) 720=permut 6 5,( ) 720=

A 4 3.2,( ) "This must be an integer. The expression you used may have a fractional part"=

A 3 4,( ) "This function is undefined at one or more of the points you specified"=

permut 4 3.2,( ) =3.2permut 3 4,( ) =permut 3 4,( )

A n x,( ) "This must be an integer. The expression you used may have a fractional part" ceil n( ) n≠( ) ceil x( ) x≠( )∨if

"This function is undefined at one or more of the points you specified" n x<if

0

x 1−

i

n i−( )∏=

otherwise

:=

P 5( ) 120=5! 120=5.5! =5.5

P 5.5( ) "This function is undefined at one or more of the points you specified"=

P n( ) "This function is undefined at one or more of the points you specified" ceil n( ) n≠( )if

0

n 1−

i

n i−( )∏=

otherwise

:=

Utilizarea acestor funcţii cu valori mari ale argumentelor, poate conduce la obţinerea unor valori aproximative ale rezultatelor. În aceste situaţii se recomandă utilizarea facilităţilor de calcul

simbolic. Pentru calculul permutărilor, aranjamentelor şi combinărilor se foloseşte operatorul , din paleta Calculator, precum şi relaţiile (19.1),…,(19.6).

Page 327: Aplicata in Inginerie Mathcad 2001

327

60! 8320987112741389000000000000000000000000000000000000000000000000000000000000000000=

60! 8320987112741390144276341183223364380754172606361245952449277696409600000000000000→

combin 100 60,( ) 13746234145802808000000000000=

100!40! 60!⋅

13746234145802808000000000000=

100!40! 60!⋅

13746234145802811501267369720→

permut 60 40,( ) 3420189997285433000000000000000000000000000000000000000000000000=

60!20!

3420189997285433000000000000000000000000000000000000000000000000=

60!20!

3420189997285434351598365756849270130350567547616624640000000000→

În domeniul teoriei elementare a numerelor, pachetul Mathcad pune la dispoziţia utilizatorului, următoarele funcţii predefinite:

Funcţia gcd: o Sintaxa funcţiei: gcd(A);

o Argumentele funcţiei: A – reprezintă un tablou (de dimensiuni, n linii × m coloane) de numere întregi, 0≥j,ia ;

o Valoarea returnată: cel mai mare divizor comun al celor n×m elemente.

o Observaţii:

a. Cel mai mare divizor comun al celor n×m elemente j,ia este produsul tuturor factorilor primi, comuni, care intervin în descompunerea valorilor j,ia , la puterea cea mai mică.

b. Funcţia gcd se poate utiliza, de asemenea, cu argumente multiple, gcd(A,B,C, …). În acest caz valoarea returnată reprezintă cel mai mare divizor comun al numerelor întregi şi pozitive ce compun tablourile A, B, C, … .

Funcţia lcm: o Sintaxa funcţiei: lcm(A);

o Argumentele funcţiei: A – reprezintă un tablou (de dimensiuni, n linii × m coloane) de numere întregi, 0≥j,ia ;

o Valoarea returnată: cel mai mic multiplu comun al celor n×m elemente.

o Observaţii: a. Cel mai mic multiplu comun al celor n×m elemente j,ia este produsul tuturor factorilor

primi, comuni şi necomuni, care intervin în descompunerea valorilor j,ia , la puterea cea mai mare.

b. Funcţia lcm se poate utiliza, de asemenea, cu argumente multiple, lcm(A,B,C, …). În acest caz valoarea returnată reprezintă cel mai mic multiplu comun al numerelor întregi şi pozitive ce compun tablourile A, B, C, … .

Page 328: Aplicata in Inginerie Mathcad 2001

328

• Funcţia mod:

o Sintaxa funcţiei: mod(n,k);

o Argumentele funcţiei: n, k – reprezintă două numere întregi, 0≠k ;

o Valoarea returnată: restul împărţirii lui n la k.

În cele ce urmează este prezentat modul de utilizare al acestor funcţii predefinite.

MOD 21 5,( ) 1=

MOD 24 5,( ) 4===>mod 21 5,( ) 1=

MOD 19 5,( ) 4=mod 24 5,( ) 4=MOD a b,( ) d floor

ab

a d b⋅−

:=mod 19 5,( ) 4=

Lcm 27027000===>Lcm 23 33⋅ 53

⋅ 7⋅ 11⋅ 13⋅:=

lcm A( )expand

factor23 33

⋅ 53⋅ 7⋅ 11⋅ 13⋅→lcm A( ) 27027000=

Gcd 84===>Gcd 22 3⋅ 7⋅:=

gcd A( )expand

factor22 3⋅ 7⋅→gcd A( ) 84=

A1 factor 22 3⋅ 53⋅ 7⋅→

A0 factor 23 33⋅ 7⋅ 11⋅ 13⋅→A

216216

10500

:=

Page 329: Aplicata in Inginerie Mathcad 2001

329

II APLICAŢII ÎN MATHCAD 2001 STATISTICĂ ŞI PROBABILITĂŢI _______________________________________________________________________________

Statistica reprezintă o ştiinţă ce studiază fenomenele şi procesele colective din natură şi din societate, pe baza observării lor ştiinţifice, a culegerii, prelucrării şi analizei detaliate a datelor, cu scopul de a formula şi explica regulile şi legile ce le guvernează.

Dezvoltarea actuală a acestui domeniu, atât în profunzime, cât şi în sfera de cuprindere a fenomenelor, este rezultatul progreselor teoretice în domeniul probabilităţilor. Astfel, teoria probabilităţilor furnizează statisticienilor metode de analiză a datelor şi de generalizare a rezultatelor obţinute, tehnici dezvoltate în urma studierii regulilor apariţiei evenimentelor aleatorii.

Acesta este motivul pentru care realizatorii Mathcad-ului au pus la îndemâna utilizatorilor o bogată colecţie de funcţii predefinite, destinate prelucrării şi realizării inferenţelor statistice.

20.1. FUNCŢII PENTRU STATISTICĂ

În statistică, prelevarea datelor se desfăşoară asupra unor entităţi care formează o

populaţie. Fiecare observaţie sau experiment constituie un element al populaţiei.

Cercetările statistice analizează întotdeauna o submulţime finită de elemente. Această mulţime poartă denumirea de eşantion, iar numărul de elemente cercetate formează volumul eşantionului.

Datele statistice iniţiale, obţinute în urma observării fenomenelor şi proceselor colective, se prezintă, sub formă brută, ca o masă neordonată de valori. Înainte ca acestea să fie supuse analizei şi generalizărilor, ele trebuie să fie ordonate, grupate şi sistematizate.

20.1.1. Calculul frecvenţelor absolute

Frecvenţele de apariţie a datelor experimentale oferă o imagine preliminară a datelor de eşantionaj şi furnizează elementele necesare determinării repartiţiei de frecvenţe, a valorilor experimentale.

Prin repartiţie de frecvenţe înţelegem, relaţia empirică stabilită între valorile unei caracteristici şi frecvenţele absolute sau relative ale acestora.

Reprezentarea grafică, a repartiţiei de frecvenţe a unei caracteristici cantitative, ce constă dintr-un ansamblu de dreptunghiuri alăturate, fiecare având baza proporţională cu amplitudinea clasei şi aria proporţională cu frecvenţa clasei, reprezintă histograma.

Frecvenţele absolute se calculează în Mathcad cu:

• Funcţia hist - această funcţie permite utilizarea ei în două moduri diferite:

Page 330: Aplicata in Inginerie Mathcad 2001

330

Varianta 1 - Sintaxa funcţiei: hist(v, u);

o Argumentele funcţiei: v – reprezintă un vector, de dimensiuni k+1 linii × 1 coloană, ce conţine limitele, ordonate crescător, a k intervale consecutive şi disjuncte, [ )1+jj v,v , în care este împărţit întregul interval de variaţie al caracteristicii statistice studiate, [ ])max(),min( AA . Aceste intervale se numesc clase;

u – reprezintă un vector, de dimensiuni n linii×1 coloană, ce conţine valorile de eşantionaj.

o Valoarea returnată: un vector, de dimensiuni k linii × 1 coloană, ce conţine frecvenţele absolute cu care valorile de eşantionaj, u, cad în intervalele definite de vectorul v;

o Observaţii:

a. Frecvenţa absolută, Nj, reprezintă numărul de realizări (apariţii) ale unui tip dat de evenimente, sau numărul de observaţii care aparţin unei clase j:

- Dacă )umin(v ≤0 şi )umax(vk ≥+1 , atunci există relaţia nNk

jj =∑

=1, unde, prin n

s-a notat volumul eşantionului.

- Dacă )umin(v >0 şi/sau )umax(vk <+1 , atunci nNk

jj <∑

=1, adică, Mathcad

ignoră elementele ui care sunt în afara intervalului [v0 ,vk+1].

b. Cu ajutorul frecvenţelor absolute se pot calcula frecvenţele relative, fj, prin utilizarea relaţiei:

kj,n

Nf j

j K1== . (20.1)

c. În mod uzual numărul de clase, k, se stabileşte cu ajutorul uneia dintre relaţiile empirice, [POP86], [MEY76]:

)log(322.31 nk ⋅+= , (20.2)

sau, nk = , (20.3)

Valoarea obţinută cu relaţiile (20.2) sau (20.3) se rotunjeşte la întregul superior.

d. Prin utilizarea funcţiei hist, în această variantă, se pot calcula frecvenţele absolute pentru clase având amplitudinea variabilă.

În continuare, este prezentat modul de utilizare al funcţiei hist, pentru calculul frecvenţelor absolute, precum şi etapele necesare determinării unei repartiţii de frecvenţe şi construirii histogramei, pe baza unui eşantion de volum n = 200 generat aleatoriu, dintr-o populaţie normal repartizată.

ORIGIN 1≡n 100:= - volumul esantionului; i 1 n..:=

µ 30:= - parametrii repartitiei normaleσ 5:=

Fi rnd 1( ):= - generarea numerelor aleatorii

ui µ σ qnorm Fi 0, 1,( )⋅+:= - generarea esantionului normal repartizart

Page 331: Aplicata in Inginerie Mathcad 2001

331

==> w 3.009=

-calculul limitelor claselor :

l 1 k..:= j 1 k 1+..:=y j Min j 1−( ) w⋅+:=

- calculul valorii centrale, pentru fiecare clasa:

Yl ylw2

+:=

- determinarea frecventelor absolute:

N hist y u,( ):=

- calculul frecventelor relative:

fNn

:= N

4

11

24

41

44

39

19

14

3

= f

0.02

0.055

0.12

0.205

0.22

0.195

0.095

0.07

0.015

=

- histograma frecventelor valorilor de esantionaj:

20 30 40

20

40

Nl

Nl

Yl

20 30 40

0.1

0.2

fl

f l

Yl

- determinarea valorilor extreme ale seriei statistice:

Min min u( ):= Min 16.907===>

Max max u( ):= Max 43.987=

- determinarea amplitudunii esantionului:

R Max Min−:= ==> R 27.079=

- determinarea numarului de clase:

k ceil 1 3.322 log n( )⋅+( ):= ==> k 9= u

1123456789

10111213141516

21.731024.041033.215216.907338.552433.386032.314432.103222.663035.431336.106024.865230.931425.336634.856735.3708

=

- determinarea amplitudinii unei clase:

wRk

:=

Varianta 2 - Sintaxa funcţiei: hist(k,A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, ce conţine valorile de eşantionaj;

k – reprezintă numărul de clase, de amplitudine constantă, în care se împarte intervalul [ ])Amax(),Amin( ;

o Valoarea returnată: un vector, de dimensiuni k linii × 1 coloană, ce conţine frecvenţele absolute cu care valorile de eşantionaj, Ai,j, cad în intervalele delimitate de valorile:

Page 332: Aplicata in Inginerie Mathcad 2001

332

Nn,k;ki,ik

)Amin()Amax()Amin(i ∈+≤≤⋅−

+= 10limite (20.4)

o Observaţie: frecvenţele absolute determinate prin utilizarea funcţiei hist, în această variantă, respectă relaţia:

mpNk

jj ⋅=∑

=1. (20.5)

Modul de utilizare al funcţiei hist (varianta a doua), pentru calculul frecvenţelor absolute şi construirii histogramei, este prezentat mai jos.

A

112345678910111213141516

24.417919.435323.128222.277617.993817.036628.987417.243615.481331.039824.653119.479014.678819.500017.105238.8975

=

- determinarea numarului de clase:

k ceil 1 3.322 log n( )⋅+( ):= ==> k 8=

- determinarea frecventelor absolute:

N hist k A,( ):=

- calculul frecventelor relative:

fNn

:= N

8

32

37

21

11

7

2

2

= f

0.067

0.267

0.308

0.175

0.092

0.058

0.017

0.017

=

- determinarea amplitudinii unei clase:

wRk

:= ==> w 3.671=

-calculul limitelor claselor :

l 1 k..:= j 1 k 1+..:= y j Min j 1−( ) w⋅+:=

- calculul valorii centrale, pentru fiecare clasa:

Yl ylw2

+:= Y

11.872

15.542

19.213

22.883

26.554

30.224

33.895

37.565

= y

10.04

13.71

17.38

21.05

24.72

28.39

32.06

35.73

39.40

=

ORIGIN 1≡n 120:= - volumul esantionului; i 1 n..:=

µ 3:= - parametrii repartitiei normaleσ 0.25:=

Fi rnd 1( ):= - generarea numerelor aleatorii

Ai exp µ σ qnorm Fi 0, 1,( )⋅+( ):= - generarea esantionului log-normal repartizat

- determinarea valorilor extreme ale seriei statistice:

Min min A( ):= Min 10.036===>

Max max A( ):= Max 39.401=

- determinarea amplitudunii esantionului:

R Max Min−:= ==> R 29.364=

Page 333: Aplicata in Inginerie Mathcad 2001

333

- histograma frecventelor valorilor de esantionaj:

10 20 30 40

0.2fl

f l

Yl

10 20 30 40

20

40

Nl

Nl

Yl

20.1.2. Calculul parametrilor statistici

Prezentarea şi caracterizarea unei variabile aleatorii se poate realiza, într-o formă concisă, prin intermediul unor valori numerice numite parametri sau indicatori statistici. Aceşti parametri, în funcţie de semnificaţia lor, pot fi grupaţi în patru categorii, [MAR95], [GIB76]:

• Parametrii tendinţei centrale, sau parametrii concentrării; • Parametrii de împrăştiere, sau indicatorii variaţiei; • Parametrii formei repartiţiei de frecvenţe; • Parametrii corelaţiei dintre variabilele aleatorii.

20.1.2.1. Parametrii tendinţei centrale

Parametrii tendinţei centrale pot fi calculaţi în Mathcad prin intermediul:

• Funcţiei mean:

o Sintaxa funcţiei: mean(A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, ce conţine valorile de eşantionaj;

o Valoarea returnată: media aritmetică a elementelor, Ai,j:

∑∑−

=

=⋅=

1

0

1

0

1 m

i

p

jj,iA

pm)A(mean . (20.6)

• Funcţiei gmean:

o Sintaxa funcţiei: gmean(A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, ce conţine valorile de eşantionaj. Elementele Ai,j trebuie să fie reale şi pozitive;

o Valoarea returnată: media geometrică a elementelor, Ai,j:

pmm

i

p

jj,iA)A(gmean

⋅−

=

=

= ∏∏

11

0

1

0. (20.7)

Page 334: Aplicata in Inginerie Mathcad 2001

334

• Funcţiei hmean:

o Sintaxa funcţiei: hmean(A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, ce conţine valorile de eşantionaj. Elementele Ai,j trebuie să fie reale şi pozitive;

o Valoarea returnată: media armonică a elementelor, Ai,j:

1

1

0

1

0

11−

=

=

⋅= ∑∑

m

i

p

j j,iApm)A(hmean . (20.8)

• Funcţiei median:

o Sintaxa funcţiei: median(A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, ce conţine valorile de eşantionaj. Elementele Ai,j trebuie să fie reale;

o Valoarea returnată: mediana elementelor, Ai,j;

o Observaţii: a. Dacă p×m este un număr impar, mediana reprezintă statistica de ordine

+⋅

21mpA , a valorilor

de eşantionaj. Şirul statisticilor de ordine, A(k), mp,k ×= 1 , se obţine prin ordonarea crescătoare acelor

p×m valori de eşantionaj: ( ) ( ) ( ) ( )mpk AAAA ×≤≤≤≤≤ KK21 . (20.9) b. Dacă p×m este par, mediana este media aritmetică a valorilor centrale,

2mpA şi

+

⋅ 12mpA .

• Funcţiei mode:

o Sintaxa funcţiei: mode(A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, ce conţine valorile de eşantionaj. Elementele Ai,j pot fi reale şi/sau complexe;

o Valoarea returnată: moda elementelor Ai,j. Moda reprezintă valoarea de eşantionaj cu frecvenţa de apariţie maximă.

În cele ce urmează este prezentat modul de utilizare, al funcţiilor Mathcad, pentru calculul parametrilor tendinţei centrale. Valorile de eşantionaj utilizate sunt generate aleator şi aparţin unei populaţii normal repartizate.

n 100:= - volumul esantionului; i 0 n 1−..:=

µ 50:= - parametrii repartitiei normaleσ 12:=

Fi rnd 1( ):= - generarea numerelor aleatorii

Ai µ σ qnorm Fi 0, 1,( )⋅+:= - generarea esantionului normal repartizat

Page 335: Aplicata in Inginerie Mathcad 2001

335

Datele de esantionaj:

Parametrii statistici de pozitionare:

m mean A( ):= m 51.653=

A

06162636465666768

59.85960.24554.64628.62136.73949.53941.809

53.28

= mg gmean A( ):= mg 50.419=

ma hmean A( ):= ==> ma 49.059=

Me median A( ):= Me 52.676=

Mo mode A( ):= Mo 52.872=

Toate funcţiile Mathcad destinate calculului valorilor parametrilor tendinţei centrale, prezentate anterior, permit şi utilizarea lor cu argumente multiple, de exemplu mode(A,B,C, …).

20.1.2.2. Parametrii de împrăştiere

Funcţiile Mathcad, prin intermediul cărora se pot calcula parametrii de împrăştiere, admit ca argument un tablou, A, de dimensiuni p linii × m coloane, ce conţine valorile de eşantionaj. Elementele Ai,j pot să fie valori reale sau complexe.

Aceşti parametri statistici pot fi calculaţi în Mathcad prin intermediul:

• Funcţiei var:

o Sintaxa funcţiei: var(A);

o Valoarea returnată: dispersia elementelor, Ai,j:

( )∑∑−

=

=

−⋅

=1

0

1

0

21 m

i

p

jj,i )A(meanA

pm)Avar( . (20.10)

o Observaţie: valoarea returnată de funcţia var(A) reprezintă un estimator deplasat al dispersiei populaţiei.

• Funcţiei Var:

o Sintaxa funcţiei: Var(A);

o Valoarea returnată: dispersia de eşantionaj a elementelor, Ai,j:

( )∑∑−

=

=

−−⋅

=1

0

1

0

2

11 m

i

p

jj,i )A(meanA

pm)A(Var . (20.11)

o Observaţie: valoarea returnată de funcţia Var(A) reprezintă un estimator nedeplasat al dispersiei populaţiei.

• Funcţiei stdev:

o Sintaxa funcţiei: stdev(A);

o Valoarea returnată: abaterea medie pătratică a elementelor, Ai,j:

( )∑∑−

=

=

−⋅

==1

0

1

0

21 m

i

p

jj,i )A(meanA

pm)Avar()a(stdev . (20.12)

Parametrii tendinţei centrale:

Page 336: Aplicata in Inginerie Mathcad 2001

336

o Observaţie: valoarea returnată de funcţia stdev(A), reprezintă un estimator deplasat al abaterii medii pătratice a populaţiei.

• Funcţiei Stdev:

o Sintaxa funcţiei: Stdev(A);

o Valoarea returnată: abaterea standard a elementelor, Ai,j:

( )∑∑−

=

=

−−⋅

==1

0

1

0

2

11 m

i

p

jj,i )A(meanA

pm)A(Var)AStdev( . (20.13)

o Observaţie: abaterea standard, returnată de funcţia Stdev(A), reprezintă un estimator nedeplasat al abaterii medii pătratice a populaţiei.

În continuare, este prezentat modul de utilizare al funcţiilor Mathcad, pentru calculul parametrilor de împrăştiere, sau indicatorii variaţiei.

s 10.425=s Stdev A( ):=

s2 108.685=s2 Var A( ):===> S 10.399=S stdev A( ):=

S2 108.142=S2 var A( ):=A

001234567

20.01929.12741.26739.08234.77735.94542.74161.552

=

Parametrii statistici de imprastiere:

Datele de esantionaj:

- generarea esantionului normal repartizatAi µ σ qnorm Fi 0, 1,( )⋅+:=

- generarea numerelor aleatoriiFi rnd 1( ):=

σ 10:=- parametrii repartitiei normaleµ 40:=

i 0 n 1−..:=- volumul esantionului;n 200:=

Toate funcţiile Mathcad destinate calculului valorilor parametrilor de împrăştiere, prezentate anterior, permit, de asemenea, utilizarea lor cu argumente multiple, de exemplu stdev(A,B,C, …). 20.1.2.3. Parametrii formei repartiţiei de frecvenţe

Aceşti parametrii se calculează în Mathcad prin intermediul:

• Funcţiei skew:

o Sintaxa funcţiei: skew(A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, n × m ≥ 3, ce conţine valorile de eşantionaj. Elementele Ai,j pot fi reale şi/sau complexe;

o Valoarea returnată: coeficientul de asimetrie al repartiţiei de frecvenţe a elementelor, Ai,j:

Page 337: Aplicata in Inginerie Mathcad 2001

337

( ) ( ) ∑∑−

=

=

−⋅

−⋅⋅−⋅⋅

=1

0

1

0

3

21

p

i

m

j

j,i

)A(Stdev)A(meanA

pmpmpm)A(skew . (20.14)

o Observaţie: acest coeficient furnizează informaţii privind asimetria repartiţiei de frecvenţe a datelor de eşantionaj:

,)A(skew 0= indică o repartiţie simetrică; 0>)A(skew , indică o asimetrie pozitivă (dreapta); 0<)A(skew , indică o asimetrie negativă (stânga).

• Funcţiei kurt:

o Sintaxa funcţiei: kurt(A);

o Argumentele funcţiei: A – reprezintă un tablou, de dimensiuni p linii × m coloane, n × m ≥ 4, ce conţine valorile de eşantionaj. Elementele Ai,j pot fi reale şi/sau complexe;

o Valoarea returnată: coeficientul de boltire al repartiţiei de frecvenţe a elementelor, Ai,j:

( )( ) ( ) ( )

( )( ) ( )32

13321

1 21

0

1

0

4

−⋅⋅−⋅−⋅⋅

−⋅

−⋅⋅−⋅⋅−⋅+⋅⋅⋅

= ∑∑−

=

= pmpmpm

)A(Stdev)A(meanA

pmpmpmpmpm)A(kurt

p

i

m

j

j,i .

(20.15) o Observaţie: acest coeficient furnizează informaţii privind boltirea repartiţiei de frecvenţe a

datelor de eşantionaj, relativ la forma repartiţiei normale:

,)A(kurt 0= indică o repartiţie având boltirea normală (mezocurtică); 0>)A(kurt , indică o repartiţie având boltirea platicurtică; 0<)A(kurt , indică o repartiţie având boltirea leptocurtică.

Modul de utilizare, al funcţiilor Mathcad, pentru calculul parametrilor formei repartiţiei de frecvenţe este prezentat în cele ce urmează.

β2 0.085=β2 kurt A( ):===>

β1 0.643=β1 skew A( ):=A

001234567

10.8176.4577.7956.5736.26

11.3289.5848.55

=

Parametrii formei repartitiei de frecvente:

Datele de esantionaj:

- generarea esantionului log-normal repartizatAi exp µ σ qnorm Fi 0, 1,( )⋅+( ):=

- generarea numerelor aleatoriiFi rnd 1( ):=

σ 0.3:=- parametrii repartitiei normale

µ 2:=

i 0 n 1−..:=- volumul esantionului;n 150:=

Page 338: Aplicata in Inginerie Mathcad 2001

338

20.1.2.4. Parametrii corelaţiei

Aceşti parametri se determină cu scopul de a studia dependenţa dintre două variabile aleatorii.

Funcţiile Mathcad, prin intermediul cărora se pot calcula parametrii de corelaţie, admit ca argumente, două tablouri A şi B, de dimensiuni egale, p linii × m coloane, ce conţin valorile de eşantionaj. Elementele Ai,j şi Bi,j trebuie să fie valori reale sau complexe.

Aceşti parametrii pot fi calculaţi în Mathcad prin intermediul:

• Funcţiei cvar:

o Sintaxa funcţiei: cvar(A,B);

o Valoarea returnată: covarianţa elementelor, Ai,j şi Bi,j :

( ) ( ))B(meanB)A(meanAmp

)Avar(c j,i

m

i

p

jj,i −⋅−

⋅= ∑∑

=

=

1

0

1

0

1 . (20.16)

o Observaţii:

a. Valoarea returnată de funcţia cvar(A), reprezintă un estimator deplasat al covarianţei populaţiei.

b. Pentru a obţine un estimator nedeplasat al covarianţei populaţiei trebuie, ca valoarea returnată de funcţia cvar(A), să fie corectată cu raportul:

1−⋅

⋅pm

pm . (20.17)

• Funcţiei corr:

o Sintaxa funcţiei: corr(A,B);

o Valoarea returnată: coeficientul de corelaţie al elementelor, Ai,j:

( ) ( )

( ) ( )∑∑

∑∑−

=

=

=

=

−⋅−

−⋅−

=⋅

=1

0

1

0

22

1

0

1

0

m

i

p

jj,ij,i

j,i

m

i

p

jj,i

)B(meanB)A(meanA

)B(meanB)A(meanA

)B(stdev)A(stdev)B,Avar(c)B.A(corr . (20.18)

o Observaţii:

a. Coeficientul de corelaţie este utilizat ca un indicator al dependenţei liniare între două variabile aleatorii. Valoarea lui corr(A,B) este cuprinsă întotdeauna între –1 şi +1. Când valoarea coeficientului de corelaţie este egală cu una din aceste limite, aceasta semnifică o relaţie, exactă, de liniaritate între A şi B.

b. În aplicaţiile practice , valori ale coeficientului de corelaţie, ,,)B,A(corr 900≥ indică o bună corelaţie, de tip liniar, între variabilele aleatorii A şi B.

Modul de utilizare al acestor funcţii este prezentat în continuare. Pentru a studia corelaţia dintre două variabile aleatorii s-au generat două eşantioane, de volum n=200 de elemente, pentru două variabile aleatorii aflate într-o relaţie de dependenţă, aproximativ liniară.

Page 339: Aplicata in Inginerie Mathcad 2001

339

- valoarea coeficientului de corelatiecorr X Y,( ) 0.9−=

- valoarea corectata a covariantei (corelatiei)nn 1−

cvar X Y,( )⋅ 212.223−=

- valoarea covariantei (corelatiei)cvar X Y,( ) 211.162−=

B 1.005−=

A 62.158===>A

B

line X Y,( ):=

20 40 60 8050

0

50

Yi

-19.12121.80233.56935.50510.26411.80222.422-15.66-2.70818.260.643

-3.855-8.40517.7050.936

35.816

=Xi

79.57448.32431.43634.574

42.942.56949.07375.18758.50753.42556.14955.33166.13843.68463.52234.031

=Yi X−( )i 75+ 25 rnd 1( )⋅−:=

Xi 30 rnd 50( )+:=

i 1 n..:=- volumul esantionuluin 200:=

ORIGIN 1≡

20.1.3. Generarea numerelor aleatorii

Numerele aleatorii uniforme în intervalul [0,1] sunt foarte importante în statistică şi nu numai, întrucât prin intermediul lor se pot genera valori de eşantionaj provenind de la repartiţii statistice având un model specificat, sau se pot simula populaţii statistice şi fenomene aflate sub influenţa factorilor întâmplători. Studiul acestor valori generate sau simulate poate conduce la validarea metodelor şi metodologiilor utilizate la prelucrarea datelor sau la realizarea inferenţelor statistice.

În Mathcad generarea numerelor aleatorii uniforme pe intervalul [0,a], R∈a , se realizează prin intermediul:

• Funcţiei rnd:

o Sintaxa funcţiei: rnd(x);

o Argumentele funcţiei: x – reprezintă un număr real.

o Valoarea returnată: un număr aleator cuprins în intervalul [0,x]

o Observaţii:

a. Algoritmul de generare a numerelor aleatorii, uniform repartizate în intervalul [0,x], utilizează metoda congruenţională liniară. Această metodă se bazează pe generarea unui şir

Page 340: Aplicata in Inginerie Mathcad 2001

340

definit prin relaţia:

K2101 ,,n),mmod(cxax nn =+⋅=− , (20.19)

unde, m, a, x0, c – reprezintă constante întregi, caracteristice generatorului şi 1−≤ mc .

b. Algoritmul de generare a numerelor aleatorii utilizează o valoare iniţială, x0. Valoarea implicită a acestei valori este unu. În funcţie de valoarea acestei variabile, Mathcad-ul generează o secvenţă de numere aleatorii. Pentru a modifica această valoare iniţială se alege, din meniul Math, opţiunea Options … . În tab-ul Built-In Variables, se completeză câmpul corespunzător opţiunii Seed value for random numbers, cu noua valoare iniţială.

c. Pentru aceeaşi valoare iniţială a generatorului de numere aleatorii, la fiecare comandă de recalculare a

documentului Mathcad, se obţine o nouă secvenţă de numere aleatorii.

d. Pentru a reseta generatorul, se alege din meniul Math, opţiunea Options … . Se execută apoi, un clic pe opţiunea Built-In Variables şi se apasă butonul [OK]. După aceste operaţii, o nouă comandă de recalculare a documentului, prin alegerea opţiunii Calculate din meniul Math, conduce la aceeaşi secvenţă de numere aleatorii.

20.2. REPARTIŢII STATISTICE

O variabilă, X, care poate lua orice valoare dintr-o mulţime specificată de valori şi căreia îi

este asociată o repartiţie de probabilitate se numeşte variabilă aleatorie, [SRI96].

În funcţie de valorile pe care le pot lua, variabilele aleatorii se clasifică în:

• Variabile aleatorii discrete, care pot lua numai valori izolate. Variabilele aleatorii discrete sunt caracterizate de funcţia de masă a probabilităţii, sau funcţia de probabilitate. Aceasta reprezintă funcţia care, pentru orice valoare xi, a unei variabile aleatorii discrete, X, determină probabilitatea pi ca variabila aleatorie să fie egală cu xi:

( ) { }{ }

∈∉

∈∈==

n,i,xk

n,i,xk,pkXPr

i

ii

1pentru0

1pentru, (20.20)

unde:

11

=∑=

N

Iip . (20.21)

• Variabile aleatorii continue, care pot lua toate valorile din interiorul unui interval finit sau infinit. Variabilele aleatorii continue sunt caracterizate de funcţia densitate de probabilitate. Aceasta reprezintă o funcţie cu următoarele proprietăţi:

Rx,)x(f ∈∀≥ 0 ; (20.22)

Page 341: Aplicata in Inginerie Mathcad 2001

341

1=⋅∫∞

∞−

dx)x(f . (20.23)

O variabilă aleatorie, indiferent de tipul ei, este complet caracterizată de o altă funcţie şi anume, funcţia de repartiţie.

Funcţia care, pentru fiecare valoare x, dă probabilitatea ca variabila aleatorie, X, să fie mai mică sau egală ca x: ( ) ( )xXPrxF ≤= , (20.24)

se numeşte funcţie de repartiţie. Această funcţie prezintă următoarele proprietăţi:

( ) ( ) ∑∑==

===k

ii

k

ik pxiXPrxF

11, (20.25)

în cazul variabilelor aleatorii discrete şi:

( ) ( )bXaPr)x(dFdxfb

a

b

a

≤<===⋅ ∫∫ x ; (20.26)

∫∫∞

∞−

∞−

==⋅ 1)x(dFdx)x(f ; (20.27)

∫∞−

⋅=x

du)u(f)x(F , (20.28)

în cazul variabilelor aleatorii continue.

Indiferent de tipul variabilei aleatorii, funcţia de repartiţie, F(x), este o funcţie monoton nedescrescătoare, adică, ,Rx,x ∈∀ 21 dacă 21 xx < , atunci )x(F)x(F 21 ≤ şi

=

=

∞→

−∞→

1

0

)x(Flim

)x(Flim

x

x . (20.29)

Unele tipuri de repartiţii statistice prezintă o mare importanţă practică la studiul fenomenelor şi proceselor colective. Aceste modele statistice sunt implementate în Mathcad sub forma unor funcţii predefinite. Pentru fiecare repartiţie statistică utilizatorul are la dispoziţie patru funcţii:

Funcţia de repartiţie; Funcţia densitate de probabilitate/funcţia de probabilitate; Cuantilele repartiţiei statistice, sau inversa funcţiei de repartiţie. Această funcţie reprezintă

valoarea variabilei aleatorii pentru care funcţia de repartiţie este egală cu p ( )10 ≤≤ p , sau "sare" de la o valoare inferioară lui p, la o valoare superioară a lui p, [SRI96]. Cuantilele reprezintă soluţia ecuaţiei:

( ) pXF p = . (20.30) Funcţia generatoare de numere aleatorii.

20.2.1. Repartiţii statistice pentru variabile aleatorii discrete

Modelele statistice pentru variabile aleatorii discrete, disponibile în Mathcad sunt:

a. Repartiţia binomială

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, nx ≤≤0 , Nx∈ ;

Page 342: Aplicata in Inginerie Mathcad 2001

342

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; n, k –parametrii repartiţiei binomiale, Rk,Nn ∈∈ şi 10 ≤≤ k .

• Funcţia de probabilitate:

o Sintaxa funcţiei: dbinom(x,n,k);

o Valoarea returnată: probabilitatea cu care variabila aleatorie, binomial repartizată, ia valoarea x:

( ) ( ) xnx kk!kn!k

!n)k,n,x(dbinom −−⋅⋅−⋅

= 1 . (20.31)

• Funcţia de repartiţie:

o Sintaxa funcţiei: pbinom(x,n,k);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, binomial repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

( ) ( )∑=

−−⋅⋅−⋅

=x

u

unu kk!kn!k

!n)k,n,x(pbinom0

1 . (20.32)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qbinom(p,n,k);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p.

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rbinom(m,n,k);

o Valoarea returnată: un vector având m elemente, binomial repartizate, cu parametrii n şi k.

o Observaţii:

a. semnificaţia parametrilor repartiţiei binomiale este următoarea:

k – reprezintă probabilitatea de succes; n – reprezintă numărul de extrageri bernoulliene, cu revenire;

( ) ( ) xnx kk!kn!k

!n)xXPr( −−⋅⋅−⋅

== 1 reprezintă probabilitatea ca din n extrageri

bernoulliene cu revenire, să înregistrăm exact x succese.

b. valoarea cuantilei, xp, reprezintă cel mai mic întreg pentru care este valabilă inegalitatea:

( ) ( ) pkk!kn!k

!npx

u

unu ≥−⋅⋅−⋅∑

=

01 . (20.33)

c. algoritmul de generare a numerelor aleatorii, binomial repartizate, utilizează numere aleatorii uniform repartizate în intervalul [0,1] şi are la bază metoda respingerii, [HAS75]. Această metodă presupune parcurgerea următoarelor etape:

1. pentru fiecare din cele m valori, ce urmează a fi returnate, se generează o secvenţă de n numere aleatorii, n,i,xi 1∈ , uniforme şi continue în intervalul

Page 343: Aplicata in Inginerie Mathcad 2001

343

[0,1]; 2. fiecare din cele m valori se testează în funcţie de parametrul k; 3. se reţin doar valorile pentru care este valabilă inegalitatea:

s,j,kx j 1∈≤ . (20.34) Numărul acestor valori, s, reprezintă o realizare a variabilei aleatorii binomial repartizate, cu parametrii n şi k.

În fig. 20.1 sunt reprezentate grafic funcţiile de probabilitate, repartiţie şi cuantilele repartiţiei binomiale.

f1 x( ) dbinom x 10, 0.5,( ):= f2 x( ) dbinom x 10, 0.3,( ):=

0 5 10

0.2

f1 x( )

x0 5 10

0.2

f2 x( )

x

f3 x( ) pbinom x 10, 0.5,( ):= f4 x( ) qbinom x 10, 0.3,( ):=

0 5 10

0.5

1

f3 x( )

x0 0.5 1

5

10

f4 x( )

x

Fig. 20.1 Graficele funcţiilor de probabilitate, repartiţie şi cuantilele repartiţiei binomiale

b. Repartiţia geometrică

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 0≥x , Nx∈ ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; k – parametrul repartiţiei geometrice, Rk∈ şi 10 ≤≤ k .

• Funcţia de probabilitate:

o Sintaxa funcţiei: dgeom(x,k);

o Valoarea returnată: probabilitatea cu care variabila aleatorie, geometric repartizată, ia valoarea x:

( )xkk)k,x(dgeom −⋅= 1 . (20.35)

Page 344: Aplicata in Inginerie Mathcad 2001

344

În fig. 20.2 este reprezentată grafic funcţia de probabilitate a repartiţiei geometrice.

f1 x( ) dgeom x 0.3,( ):= f2 x( ) dgeom x 0.5,( ):=

0 5 10

0.2

0.4

f1 x( )

x0 2 4 6 8

0.2

0.4

f2 x( )

x

Fig. 20.2 Graficul funcţiei de probabilitate a repartiţiei geometrice

• Funcţia de repartiţie:

o Sintaxa funcţiei: pgeom(x,k);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, geometric repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

( ) xx

u

u )k(kk)k,x(pgeom −−=−⋅=∑=

1110

. (20.36)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qgeom(p,k);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rgeom(m,k);

o Valoarea returnată: un vector având m elemente, geometric repartizate, cu parametrul k.

o Observaţii: a. semnificaţia parametrilor repartiţiei geometrice este următoarea:

k – reprezintă probabilitatea de succes, pentru o extragere bernoulliană cu revenire;

x − valoarea variabilei aleatorii, reprezintă numărul minim de extrageri bernoulliene, cu revenire, necesar pentru a înregistra un succes.

b. relaţia de calcul a cuantilei, xp, este:

)klog()plog(xp −

−=

11 . (20.37)

c. metoda de calcul a numerelor aleatorii, geometric repartizate, xi, utilizează numere aleatorii, yi, uniforme şi continue, repartizate în intervalul [0, 1] şi relaţia de calcul, [HAS75]:

Page 345: Aplicata in Inginerie Mathcad 2001

345

m,i,)klog(

)ylog(x ii 1

1∈

−= . (20.38)

Valoarea xi, calculată cu ecuaţia (20.38), se rotunjeşte la întregul superior.

c. Repartiţia hipergeometrică

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, Nx∈ , ax ≤≤0 şi axn ≤−≤0 ;

a, b, n – reprezintă parametrii repartiţiei hipergeometrice, Nn,b,a ∈ , ban +≤≤0 .

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ;

• Funcţia de probabilitate:

o Sintaxa funcţiei: dhypergeom(x,a,b,n);

o Valoarea returnată: probabilitatea cu care variabila aleatorie, hipergeometric repartizată, ia valoarea x:

nba

xnb

xa

CCC)n,b,a,x(dhypergeom+

−⋅= . (20.39)

• Funcţia de repartiţie:

o Sintaxa funcţiei: phypergeom(x,a,b,n);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, hipergeometric repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

∑= +

−⋅=

x

oun

ba

unb

ua

CCCknxphypergeom ),,( . (20.40)

În fig. 20.3 este reprezentată grafic funcţia de repartiţie a modelului repartiţiei hipergeometrice.

f1 x( ) phypergeom x 10, 15, 8,( ):= f2 x( ) phypergeom x 10, 10, 10,( ):=

0 5 10

0.5

1

f1 x( )

x0 5 10

0.5

1

f2 x( )

x

Fig. 20.3 Graficul funcţiei de repartiţie pentru modelul hipergeometric

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qhypergeom(p,a,b,n);

Page 346: Aplicata in Inginerie Mathcad 2001

346

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rhypergeom(m,a,b,n);

o Valoarea returnată: un vector având m elemente, hipergeometric repartizate, cu parametrii a, b şi n.

o Observaţii:

a. semnificaţia parametrilor repartiţiei hipergeometrice este următoarea: a+b – reprezintă numărul de elemente al populaţiei; n – reprezintă numărul de extrageri bernoulliene fără revenire; a – reprezintă numărul de elemente, care prezintă un anumit atribut, astfel încât

extragerea lor să fie considerată ca succes.

nba

xnb

xa

CCC)xXPr(+

−⋅== reprezintă probabilitatea ca din n extrageri bernoulliene

fără revenire, să înregistrăm exact x succese.

b. Valoarea cuantilei, xp, reprezintă cel mai mic întreg pentru care este valabilă inegalitatea:

pC

CCpx

oun

ba

unb

ua ≥⋅∑

= +

. (20.41)

c. Algoritmul de generare a numerelor aleatorii, hipergeometric repartizate presupune parcurgerea următoarelor etape, [HAS75], [RMM01]:

1. Se generează o secvenţă de n numere aleatorii, yi, ni ,1∈ , uniform repartizate în intervalul [0,1];

2. Aceste valori sunt comparate cu probabilitatea de succes ip :

ba

ap+

=1 şi ( ) ( )iadpNp iii −⋅−⋅=+1 , (20.42)

unde s-a notat:

<=≥=

+=

i

i

pdpd

baN

i

i

1

ydaca,0ydaca,1 . (20.43)

3. Dacă este îndeplinită condiţia ii py < , atunci această valoare se înregistrează ca succes. Numărul acestor succese reprezintă o realizare a variabilei aleatorii hipergeometric repartizate, cu parametrii a, b şi n.

d. Repartiţia binomială negativă

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 0>x , Nx∈ ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ;

n, k – parametrii repartiţiei binomiale negative, Rk,Nn ∈∈ şi 10 ≤≤ k .

• Funcţia de probabilitate:

o Sintaxa funcţiei: dnbinom(x,n,k);

Page 347: Aplicata in Inginerie Mathcad 2001

347

o Valoarea returnată: probabilitatea cu care variabila aleatorie, ia valoarea x:

( )xnxxn kkC)k,n,x(dnbinom −⋅⋅= −+ 11 . (20.44)

• Funcţia de repartiţie:

o Sintaxa funcţiei: pnbinom(x,n,k);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

( )∑=

−+ −⋅⋅=x

u

unuun kkC)k,n,x(pnbinom

11 1 . (20.45)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qnbinom(p,n,k);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

În fig. 20.4 este reprezentată grafic inversa funcţiei de repartiţie a modelului negativ-binomial.

f1 x( ) qnbinom x 12, 0.8,( ):= f2 x( ) qnbinom x 12, 0.5,( ):=

0 0.5 1

5

10

f1 x( )

x0 0.5 1

20

f2 x( )

x

Fig. 20.4 Graficul funcţiei inverse de repartiţie a modelului negativ-binomial

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rnbinom(m,n,k);

o Valoarea returnată: un vector având m elemente, binomial negativ repartizate, cu parametrii n şi k.

o Observaţii:

a. semnificaţia parametrilor repartiţiei binomiale negative este următoarea:

k – reprezintă probabilitatea de succes; n – reprezintă numărul de extrageri bernoulliene, cu revenire, la care se

înregistrează succese; x – reprezintă numărul de extrageri bernoulliene, cu revenire, la care se

înregistrează insuccese, efectuate până la realizarea celui de-al n-lea succes;

Page 348: Aplicata in Inginerie Mathcad 2001

348

( )xnxxn kkC)xXPr( −⋅⋅== −+ 11 - reprezintă probabilitatea ca în urma unei

succesiuni de extrageri bernoulliene cu revenire, să înregistrăm exact x insuccese, până la constatarea celui de-al n-lea succes.

b. Valoarea cuantilei, xp, reprezintă cel mai mic întreg pentru care este valabilă inegalitatea:

( ) pkkCpx

u

unuun ≥−⋅⋅∑

=−+

11 1 . (20.46)

c. Algoritmul de generare a numerelor aleatorii, binomial-negativ repartizate, utilizează numere aleatorii uniform repartizate în intervalul [0,1] şi are la bază metoda respingerii. Această metodă presupune parcurgerea următoarelor etape, [HAS75], [RMM01]:

a. pentru fiecare din cele m valori, ce urmează a fi returnate, se generează o secvenţă de numere aleatorii, ,xi uniforme şi continue în intervalul [0,1];

b. secvenţa de numere aleatorii se consideră încheiată în momentul în care se constată apariţia celei de-a n-a valori pentru care este îndeplinită condiţia: kxi ≥ . (20.47)

c. din secvenţa de numere aleatorii, astfel generată, se contabilizează valorile pentru care este valabilă inegalitatea: s,j,kx j 1∈≤ . (20.48)

d. numărul acestor valori, s, reprezintă o realizare a variabilei aleatorii binomial negativ repartizate, cu parametrii n şi k.

e. Repartiţia Poisson

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 0>x , Nx∈ ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; λ – parametrul repartiţiei Poisson, R∈λ şi 0>λ .

• Funcţia de probabilitate:

o Sintaxa funcţiei: dpois(x,λ);

o Valoarea returnată: probabilitatea cu care variabila aleatorie, Poisson repartizată, ia valoarea x:

λλλ −= e

!x),x(dpois

x. (20.49)

• Funcţia de repartiţie:

o Sintaxa funcţiei: ppois(x,λ);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, Poisson repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

∑=

−⋅=x

u

ue

!u),x(ppois

0

λλλ . (20.50)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qpois(p,λ);

Page 349: Aplicata in Inginerie Mathcad 2001

349

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rpois(m,λ);

o Valoarea returnată: un vector având m elemente, Poisson repartizate, cu parametrul λ.

o Observaţii:

a. Parametrului repartiţiei Poisson, λ, reprezintă media repartiţiei; b. Repartiţia Poisson se mai numeşte şi repartiţia evenimentelor rare. c. Repartiţia Poisson reprezintă cazul limită al repartiţiei binomiale, pentru:

→⋅→

∞→

λpnkn

0 . (20.51)

d. Valoarea cuantilei, xp, reprezintă cel mai mic întreg pentru care este valabilă inegalitatea:

pe!u

px

u

u≥⋅∑

=

0

λλ . (20.52)

e. Algoritmul de generare a numerelor aleatorii, Poisson repartizate presupune parcurgerea următoarelor etape, [HAS75], [RMM01]:

1. Se generează o secvenţă de numere aleatorii, iy , uniform repartizate, pe intervalul [0,1];

2. o realizare a variabilei aleatorii Poisson repartizate, cu parametrul λ , reprezintă cel mai mic număr întreg pentru care este valabilă relaţia:

( ) 11ln11

1>

−⋅

λ−∑

+

=

k

iiy (20.53)

Foaia de calcul, prezentată în continuare, ilustrează modul de utilizare al funcţiei Mathcad,

rpois la generarea a două eşantioane, de volum n =8 elemente.

n 8:= - volumul esantionuluii 0 n 1−..:=

k1 1.5:=- valorile parametrul repartitiei Poisson

k2 8.0:=

X rpois n k1,( ):= Xi

20100210

= Y rpois n k2,( ):= Yi

108

1611

911

66

=

Page 350: Aplicata in Inginerie Mathcad 2001

350

20.2.1. Repartiţii statistice pentru variabile aleatorii continue

Repartiţiile statistice pentru variabile aleatorii continue, în funcţie de destinaţia lor, pot fi clasificate în:

Repartiţii statistice de bază. Aceste repartiţii se utilizează la modelarea şi la studiul fenomenelor şi proceselor colective;

Repartiţii statistice auxiliare. În această categorie intră modelele statistice utilizate pentru realizarea inferenţelor statistice referitoare la parametrii şi indicatorii statistici ai modelelor de bază.

20.2.2.1. Repartiţii statistice de bază Modelele statistice de bază, disponibile în Mathcad, sunt:

a. Repartiţia beta o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 10 << x ;

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; α, β - parametrii de formă ai repartiţiei beta, ., 00 >> βα

• Funcţia densitate de probabilitate:

o Sintaxa funcţiei: dbeta(x,α,β);

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei beta, pentru X=x:

( )( ) ( ) ( ) 11 1 −− −⋅⋅

⋅+

= βα

βΓαΓβαΓ

βα xx),,x(dbeta . (20.54)

În fig. 20.5 este reprezentată grafic funcţia densitate de probabilitate a repartiţiei binomiale, pentru diferite combinaţii ale celor doi parametri.

• Funcţia de repartiţie:

o Sintaxa funcţiei: pbeta(x,α,β);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, beta repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤x):

( )( ) ( ) ( )∫ ⋅−⋅⋅

⋅+

= −−x

duuu),,x(pbeta0

11 1 βα

βΓαΓβαΓ

βα . (20.55)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qbeta(p,α,β);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p. Aceasta reprezintă soluţia ecuaţiei:

( )( ) ( ) ( ) pduuu

px

=⋅−⋅⋅⋅+

∫ −−

0

11 1 βα

βΓαΓβαΓ . (20.56)

Page 351: Aplicata in Inginerie Mathcad 2001

351

f1 x( ) dbeta x 1, 2,( ):= f2 x( ) dbeta x 0.5, 2,( ):=

0 0.5 1

1

2

f1 x( )

x0 0.5 1

5

10

f2 x( )

xf3 x( ) dbeta x 2.5, 2,( ):= f2 x( ) dbeta x 0.5, 0.5,( ):=

0 0.5 1

1

2

f3 x( )

x0 0.5 1

2

4

f2 x( )

x

Fig. 20.5 Graficele funcţiei densitate de probabilitate a repartiţiei beta

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rbeta(m,α,β);

o Valoarea returnată: un vector având m elemente, beta repartizate cu parametrii α şi β.

o Observaţie: în relaţia funcţiei densitate de probabilitate, pentru repartiţia beta, prin ),x(Γ s-a notat funcţia gama a lui Euler, având expresia:

( ) ∫∞

−− ⋅⋅=0

1 dttex xtΓ . (20.57)

b.Repartiţia Cauchy

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, Rx∈ ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; a, b – parametrii repartiţiei Cauchy, Ra∈ şi 0>b ;

• Funcţia de densitate de probabilitate:

o Sintaxa funcţiei: dcauchy(x,a,b);

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei Cauchy, pentru X=x:

+⋅⋅

=2

1

1

baxb

)b,a,x(dcauchy

π

(20.58)

Page 352: Aplicata in Inginerie Mathcad 2001

352

• Funcţia de repartiţie:

o Sintaxa funcţiei: pcauchy (x,a,b);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, Cauchy repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

+⋅⋅

=

∞−

x

.du

baub

)b,a,x(pcauchy2

1

11π

(20.59)

În fig. 20.6 este reprezentată grafic funcţia de repartiţie a modelului Cauchy.

f1 x( ) pcauchy x 0, 2,( ):= f2 x( ) pcauchy x 10, 4,( ):=

20 0 20

0.5

1

f1 x( )

x20 0 20 40

0.5

1

f2 x( )

x

Fig. 20.6 Graficul funcţiei de repartiţie pentru modelul Cauchy

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qcauchy (p,a,b);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rcauchy (m,a,b);

o Valoarea returnată: un vector având m elemente, Cauchy repartizate, cu parametrii a şi b.

o Observaţii:

a. Semnificaţia parametrilor repartiţiei Cauchy este următoarea:

a, reprezintă parametrul de localizare. În acelaşi timp, a reprezintă valoarea medianei şi a modei, pentru repartiţia Cauchy;

b, reprezintă parametrul de scală.

b. Valoarea cuantilei, xp, reprezintă soluţia ecuaţiei:

pdu

baub

px

=⋅

+⋅⋅

∞−

2

1

11π

. (20.60)

Page 353: Aplicata in Inginerie Mathcad 2001

353

c. Repartiţia exponenţială o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 0≥x ;

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; λ - reprezintă parametrul repartiţiei exponenţiale, .0>λ

• Funcţia densitate de probabilitate:

o Sintaxa funcţiei: dexp(x,λ);

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei exponenţiale, pentru o valoare X=x:

xe),xexp(d ⋅−⋅= λλλ . (20.61)

• Funcţia de repartiţie:

o Sintaxa funcţiei: pexp(x,λ);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, exponenţial repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤x):

xe),xexp(p ⋅−−= λλ 1 . (20.62)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qexp(p,λ);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

În fig. 20.7 este reprezentată grafic inversa funcţiei de repartiţie a modelului exponenţial.

f1 x( ) qexp x 2,( ):= f2 x( ) qexp x 0.5,( ):=

0 0.5 1 1.5

2

4

f1 x( )

x0 0.5 1 1.5

5

10

f2 x( )

x

Fig. 20.7 Graficul funcţiei inverse de repartiţie a modelului exponenţial

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rexp(m,λ);

o Valoarea returnată: un vector având m elemente, exponenţial repartizate cu parametrul λ.

Page 354: Aplicata in Inginerie Mathcad 2001

354

o Observaţii:

a. parametrul λ reprezintă rata defectărilor şi are valoarea egală cu inversa valorii medii a repartiţiei.

b. relaţia de calcul a cuantilei, xp, este:

⋅=p

lnxp 111

λ. (20.63)

c. metoda de calcul a numerelor aleatorii, exponenţial repartizate, xi, utilizează numere aleatorii, yi, uniforme şi continue, repartizate în intervalul [0,1] şi relaţia de calcul:

m,i,y

lnxi

i 111∈

⋅=

λ. (20.64)

d. Repartiţia gama

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 0≥x ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; k - parametrul repartiţiei gama, 0>k .

• Funcţia densitate de probabilitate:

o Sintaxa funcţiei: dgamma(x,k);

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei gama, pentru o valoare X=x:

( )kex)k,x(dgamma

x`k

Γ

−− ⋅=

1. (20.65)

• Funcţia de repartiţie:

o Sintaxa funcţiei: pgamma(x,k);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, Gama repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤x):

( ) ∫ ⋅⋅⋅= −−x

u`k dueuk

)k,x(pgamma0

11Γ

. (20.66)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qgamma(p,k);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p.

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rgamma(m,k);

o Valoarea returnată: un vector având m elemente, gama repartizate, cu parametrul k.

o Observaţii: a. Semnificaţia parametrului repartiţiei Gama este următoarea, k reprezintă parametrul de

formă;

Page 355: Aplicata in Inginerie Mathcad 2001

355

b. Forma uzuală, a repartiţiei gama, este cea biparametrică având expresia densităţii de probabilitate:

( )byk

eby

kb)y(f

−−

⋅=

11Γ

. (20.67)

Cel de-al doilea parametru al repartiţiei gama, b, reprezintă un parametru de scală. c. Între două variabile aleatorii, X şi Y, repartizate după cele două forme ale repartiţiei gama,

se poate stabili următoarea relaţie:

bYX = . (20.68)

d. În relaţia funcţiei densitate de probabilitate, pentru repartiţia gama, prin ),x(Γ s-a notat funcţia gama a lui Euler, având expresia (20.57);

e. Valoarea cuantilei, xp, reprezintă soluţia ecuaţiei:

( ) pdueuk

pxu`k =⋅⋅⋅ ∫ −−

0

11Γ

. (20.69)

Modul de utilizare al funcţiei rgamma, pentru generarea aleatorie a eşantioanelor, este prezentată în cele ce urmează.

n 10:= - volumul esantionului i 0 n 1−..:=

k1 3:=- valorile parametrului de forma

k2 2.5:=

b 20:= - parametrul de scala

X rgamma n k1,( ):= Xi

8.852.9923.9254.0555.8595.4551.0311.435

0.41.99

= Y b rgamma n k2,( )⋅:= Yi

126.91730.10224.78941.201

27.0438.52345.40516.83313.61331.967

=

e. Repartiţia lognormală

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, ∞<≤ x0 ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; µ, σ – parametrii repartiţiei lognormale, 00 >> σµ , ;

• Funcţia de densitate de probabilitate:

o Sintaxa funcţiei: dlnorm(x,µ,σ);

Page 356: Aplicata in Inginerie Mathcad 2001

356

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei normale, pentru X=x:

⋅⋅⋅σ⋅π⋅

=σµ

σµ−

⋅−2

211

21 )xln(

ex

),,x(ormlnd (20.70)

• Funcţia de repartiţie:

o Sintaxa funcţiei: plnorm (x,µ,σ);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, lognormal repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

.dueu

),,x(ormlnp

x)uln(

⋅⌡

⌠⋅⋅

⋅⋅=

−⋅−

0

21 2

12

1 σµ

σπσµ . (20.71)

În fig. 20.8 este reprezentată grafic funcţia de repartiţie a modelului lognormal.

f1 x( ) plnorm x 0, 1,( ):= f2 x( ) plnorm x 4, 0.5,( ):=

0 5 10 15 20

0.5

1

f1 x( )

x0 50 100 150

0.5

1

f2 x( )

x

Fig. 20.8 Graficul funcţiei de repartiţie pentru modelul lognormal

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qlnorm (p,µ,σ);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rlnorm (m,µ,σ);

o Valoarea returnată: un vector având m elemente, lognormal repartizate, cu parametrii µ şiσ.

o Observaţii:

a. Semnificaţia parametrilor repartiţiei lognormale este următoarea:

µ – reprezintă parametrul de localizare; σ – reprezintă parametrul de scală.

b. Valoarea cuantilei, xp, reprezintă soluţia ecuaţiei:

Page 357: Aplicata in Inginerie Mathcad 2001

357

pdueu

px)uln(

=⋅⌡

⌠⋅⋅

⋅⋅

−⋅−

0

21 2

12

1 σµ

σπ. (20.72)

c. Metoda de calcul a numerelor aleatorii, xi, repartizate lognormal cu parametrii µ şi σ, utilizează numere aleatorii, yi, normal repartizate, cu media zero şi abaterea medie pătratică unu şi relaţia de calcul:

m,i,ex iyi 1∈= ⋅+σµ . (20.73)

d. Relaţia anterioară are la bază proprietatea ce poate fi stabilită între o variabilă aleatorie, X, lognormal repartizată cu parametri µ şi σ şi o variabilă aleatorie, Y, normal repartizată cu aceeaşi parametri µ şi σ:

Y)Xln( = , (20.74) precum şi relaţia (20.86).

f. Repartiţia logistică

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, Rx∈ ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; a, b – parametrii repartiţiei logistice, Ra∈ şi 0>b ;

• Funcţia de densitate de probabilitate:

o Sintaxa funcţiei: dlogis(x,a,b);

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei logistice, pentru X=x:

dlogis ⋅

+⋅

=−

2

1 bax

bax

eb

e)b,a,x( (20.75)

• Funcţia de repartiţie:

o Sintaxa funcţiei: plogis (x,a,b);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, logistic repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

plogis

+

−=−b

ax

e

)b,a,x(

1

11 . (20.76)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qlogis (p,a,b);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

În fig. 20.9 este reprezentată grafic inversa funcţiei de repartiţie a modelului logistic.

Page 358: Aplicata in Inginerie Mathcad 2001

358

f1 x( ) qlogis x 0, 1,( ):= f2 x( ) qlogis x 1, 0.5,( ):=

0 0.5 1

5

5

f1 x( )

x

0 0.5 1

5

5

f2 x( )

x

Fig. 20.9 Graficul funcţiei inverse de repartiţie a modelului logistic

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rlogis (m,a,b);

o Valoarea returnată: un vector având m elemente, logistic repartizate, cu parametrii a şi b.

o Observaţii:

a. Semnificaţia parametrilor repartiţiei logistice este următoarea:

a – reprezintă parametrul de localizare; b – reprezintă parametrul de scală.

b. Valoarea cuantilei, xp, se determină cu relaţia:

⋅+=p

plnbaxp 1. (20.77)

c. Metoda de calcul a numerelor aleatorii, geometric repartizate, xi, utilizează numere aleatorii, yi, uniforme şi continue, repartizate în intervalul [0,1] şi relaţia de calcul:

m,i,y

ylnbaxi

ii 1

1∈

⋅+= . (20.78)

g. Repartiţia normală o Argumentele funcţiei: x – reprezintă valoarea variabilei aleatorii, ∞<≤∞− x ;

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; µ, σ – parametrii repartiţiei normale, 0>∈ σσµ ,R, .

• Funcţia de densitate de probabilitate:

o Sintaxa funcţiei: dnorm(x,µ,σ);

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei normale, pentru X=x:

⋅⋅⋅⋅

=

−⋅−

2

21

21 σ

µ

σπσµ

x

e),,x(dnorm (20.79)

Page 359: Aplicata in Inginerie Mathcad 2001

359

În fig. 20.10 este reprezentată grafic funcţia densitate de probabilitate a repartiţiei normale, pentru diferite combinaţii ale celor doi parametri.

f1 x( ) dnorm x 0, 1,( ):= f2 x( ) dnorm x 3, 1,( ):=

5 0 5

0.2

0.4

f1 x( )

x5 0 5 10

0.2

0.4

f2 x( )

x

f3 x( ) dnorm x 2−, 2,( ):= f4 x( ) dnorm x 2−, 4,( ):=

15 10 5 0 5 10

0.1

0.2

f3 x( )

f4 x( )

x

Fig. 20.10 Graficele funcţiei densitate de probabilitate a repartiţiei normale

• Funcţia de repartiţie:

o Sintaxa funcţiei: pnorm (x,µ,σ);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, normal repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

.due),,x(pnormx u

⋅⌡⌠⋅

⋅⋅=

∞−

−⋅−

2

21

21 σ

µ

σπσµ (20.80)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qnorm (p,µ,σ);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rnorm (m,µ,σ);

o Valoarea returnată: un vector având m elemente, normal repartizate, cu parametrii µ şi σ.

Page 360: Aplicata in Inginerie Mathcad 2001

360

o Observaţii:

a. Semnificaţia parametrilor repartiţiei normale este următoarea:

µ – reprezintă parametrul de localizare; σ – reprezintă parametrul de scală.

b. Dacă o variabilă aleatorie, X, este repartizată normal, cu media µ şi abaterea medie pătratică σ, atunci variabila aleatorie Y, unde:

σµ−

=XY , (20.81)

este repartizată normal cu media 0=µ şi 1=σ , având funcţia densitate de probabilitate:

2

21

21 y

e)y(f⋅−

⋅⋅

. (20.82)

Variabila aleatorie Y se numeşte variabilă aleatorie normală normată. c. Funcţia de repartiţie a unei variabile aleatorii, Z, repartizate normal cu 0=µ şi 1=σ , este

de forma:

∫z

udue)z(

∞−

⋅−⋅⋅

⋅=

2

21

21π

Φ . (20.83)

Funcţia Φ(z) se numeşte funcţia integrală Laplace. d. Valoarea cuantilei, xp, reprezintă soluţia ecuaţiei:

pduepx u

=⋅⌡⌠⋅

⋅⋅

−⋅−

0

21 2

21 σ

µ

σπ. (20.84)

e. Metoda de calcul a numerelor aleatorii, normal repartizate, z, utilizează numere aleatorii, yi, uniforme şi continue, repartizate în intervalul [0, 1]. Pentru generarea unei valori, normal repartizate cu 0=µ şi 1=σ , se utilizează o secvenţă de doisprezece numere aleatorii, yi, uniforme şi continue şi relaţia de calcul, [MEY76]:

∑=

−=12

16

iiyz . (20.85)

Pentru a genera numere aleatorii, normal repartizate, xi, utilizează numere aleatorii, zi, obţinute conform metodologiei descrise anterior şi relaţia:

m,i,zx ii 1∈⋅+= σµ . (20.86)

h. Repartiţia uniformă

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, bxa,Rx ≤≤∈ ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ;

a,b - reprezintă parametrii repartiţiei uniforme, ba,Rb,a <∈ .

• Funcţia densitate de probabilitate:

o Sintaxa funcţiei: dunif(x,a,b);

Page 361: Aplicata in Inginerie Mathcad 2001

361

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei uniforme, pentru o valoare X=x:

ab

)b,a,x(dunif−

=1 . (20.87)

• Funcţia de repartiţie:

o Sintaxa funcţiei: punif(x,a,b);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, uniform repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤x):

abax)b,a,x(punif

−−

= . (20.88)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qunif(p,a,b);

o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

În fig. 20.11 sunt reprezentate grafic funcţiile de probabilitate, repartiţie şi cuantilele repartiţiei uniforme.

f1 x( ) dunif x 0, 1,( ):= f2 x( ) dunif x 1, 4,( ):=

0 0.5 1

0.5

1

f1 x( )

x0 2 4

0.2

0.4

f2 x( )

xf3 x( ) punif x 0, 1,( ):= f2 x( ) qunif x 1−, 4,( ):=

0 0.5 1 1.5 2

0.5

1

f3 x( )

x

0 0.5 1

5

f2 x( )

x

Fig. 20.11 Graficele funcţiilor densitate de probabilitate, repartiţie şi cuantilele repartiţiei uniforme

Page 362: Aplicata in Inginerie Mathcad 2001

362

• Funcţia generatoare de numere aleatorii: o Sintaxa funcţiei: runif(m,a,b); o Valoarea returnată: un vector având m elemente, uniform repartizate cu parametrii a şi b. o Observaţii:

a. Parametrul a reprezintă parametrul de poziţionare; b. Parametrul b-a reprezintă parametrul de scală. c. Relaţia de calcul a cuantilei, xp, este:

( )abpaxp −⋅+= . (20.89)

d. Metoda de generare a numerelor aleatorii, uniform repartizate în intervalul [a,b], xi, utilizează numere aleatorii, yi, uniforme şi continue, repartizate în intervalul [0, 1] şi relaţia de calcul:

( ) m,i,abyax ii 1∈−⋅+= . (20.90) e. Între funcţia rnd(x), prezentată la punctul 20.1 şi funcţia runif(m,a,b) se poate stabili relaţia:

)x,,m(runif)x(rnd 0= . (20.91) i. Repartiţia Weibull o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 0≥x ;

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; k - parametrul repartiţiei Weibull, 0>k .

• Funcţia densitate de probabilitate:

o Sintaxa funcţiei: dweibull(x,k); o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei Weibull, pentru o valoare

X=x:

kxk exk)k,x(dweibull −− ⋅⋅= 1 . (20.92)

• Funcţia de repartiţie: o Sintaxa funcţiei: pweibull(x,k); o Valoarea returnată: probabilitatea ca variabila aleatorie, X, Weibull repartizată, să fie mai mică

sau egală cu o valoare particulară x, Pr(X≤x):

kxe)k,x(pweibull −−=1 . (20.93)

• Cuantilele repartiţiei: o Sintaxa funcţiei: qweibull(p,k); o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p.

• Funcţia generatoare de numere aleatorii: o Sintaxa funcţiei: rweibull(m,k); o Valoarea returnată: un vector având m elemente, Weibull repartizate, cu parametrul k. o Observaţii:

a. Parametrul k, al repartiţiei Weibull, reprezintă un parametru de formă;

Page 363: Aplicata in Inginerie Mathcad 2001

363

b. Forma uzuală, a repartiţiei Weibull, este cea biparametrică având expresia densităţii de probabilitate:

k

byk

eby

bk)y(f

−−

⋅=

1

. (20.94)

Cel de-al doilea parametru al repartiţiei Weibull, b, reprezintă un parametru de scală. c. Între două variabile aleatorii, X şi Y, repartizate după cele două forme ale repartiţiei

Weibull, se poate stabili următoarea relaţie:

bYX = . (20.95)

d. Altă formă, des utilizată, a repartiţiei Weibull o reprezintă varianta triparametrică:

k

bazk

eb

azbk)z(f

−−−

−⋅=

1

. (20.96)

Cel de-al treilea parametru al repartiţiei Weibull, a, reprezintă un parametru de localizare. e. Între cele două variabile aleatorii, Y şi Z, repartizate Weibull bi şi respectiv triparametric,

există următoarea relaţie: aYZ += . (20.97)

f. În relaţia funcţiei densitate de probabilitate, pentru repartiţia Weibull, prin ),x(Γ s-a notat funcţia gama a lui Euler, având expresia (20.57).

g. Valoarea cuantilei, xp, se determină cu relaţia:

k

p plnx

1

11

= . (20.98)

h. Metoda de calcul a numerelor aleatorii, Weibull repartizate, xi, utilizează numere aleatorii, yi, uniforme şi continue, repartizate în intervalul [0, 1] şi relaţia de calcul:

m,i,y

lnxk

ii 1

11

1

= . (20.99)

Modul de utilizare al funcţiei rweibull, pentru generarea aleatorie a eşantioanelor, este

prezentată în continuare.

Yi

13.0026.113

13.2911.9678.246

19.1486.276

12.472

=Yi

13.0026.113

13.2911.9678.246

19.1486.276

12.472

=Xi

1.1750.5270.4741.6370.32

0.7580.8990.139

=Z a b rweibull n k3,( )⋅+:=Y b rweibull n k2,( )⋅:=X rweibull n k1,( ):=

- parametrul de localizarea 20:=

- parametrul de scalab 15:=

k3 2.5:=- valorile parametrului de formak2 2.0:=

k1 1.5:=i 0 n 1−..:=- volumul esantionuluin 8:=

Page 364: Aplicata in Inginerie Mathcad 2001

364

20.2.2.2. Repartiţii statistice auxiliare Modelele statistice auxiliare, disponibile în Mathcad, sunt:

a. Repartiţia F (Fisher-Snedecor) o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, 0≥x ;

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; d1, d2 - parametrii repartiţiei Fisher-Snedecor, ,d,d 00 21 >>

Nd,d ∈21 .

• Funcţia densitate de probabilitate: o Sintaxa funcţiei: dF(x, , d1,d2); o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei Fisher-Snedecor, pentru o

valoare X=x:

( ) 212

22

21

2122

21

21

121

22

2dd

ddd

xdd

xdd

dddd),,x(dF +

⋅+⋅

+

⋅⋅=

ΓΓ

Γβα . (20.100)

• Funcţia de repartiţie:

o Sintaxa funcţiei: pF(x, d1,d2);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, Fisher-Snedecor repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤x):

( )

⌠⋅

⋅+⋅

+

⋅⋅= +

−x

dd

ddd

duudd

udd

dddd),,x(pF

0212

22

21

2122

21

21

121

22

2

ΓΓ

Γβα . (20.101)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qF(p, d1,d2); o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p.

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rF(m, d1,d2);

o Valoarea returnată: un vector având m elemente, Fisher-Snedecor repartizate, cu parametrii d1 şi d2.

o Observaţii:

a. Semnificaţia parametrilor repartiţiei Fisher-Snedecor este următoarea, d1 şi d2 reprezintă numărul gradelor de libertate;

b. În relaţia funcţiei densitate de probabilitate, pentru repartiţia Fisher-Snedecor, prin ),x(Γ s-a notat funcţia gama a lui Euler, având expresia (20.57).

c. Valoarea cuantilei, xp, reprezintă soluţia ecuaţiei:

Page 365: Aplicata in Inginerie Mathcad 2001

365

( )

pduudd

udd

ddddpx

dd

ddd

=

⌠⋅

⋅+⋅

+

⋅⋅

+

0212

22

21

2122

21

21

121

22

2

ΓΓ

Γ. (20.102)

În fig. 20.12 sunt reprezentate grafic funcţiile densitate de probabilitate, repartiţie şi cuantilele repartiţiei Fisher-Snedecor.

f1 x( ) dF x 10, 2,( ):= f2 x( ) dF x 4, 10,( ):=

0 5 10

0.5

f1 x( )

x0 2 4 6

0.5

f2 x( )

xf3 x( ) pF x 10, 3,( ):= f4 x( ) qF x 10, 4,( ):=

0 5 10

0.5

1

f3 x( )

x0 0.5 1

5

10

f4 x( )

x

Fig. 20.12 Graficele funcţiilor densitate de probabilitate, repartiţie şi cuantilele repartiţiei Fisher-Snedecor

b. Repartiţia hi-pătrat o Argumentele funcţiei: x – reprezintă valoarea variabilei aleatorii, ∞<≤ x0 ;

p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ;

ν – parametrul repartiţiei hi-pătrat, N, ∈> νν 0 ;

• Funcţia de desitate de probabilitate: o Sintaxa funcţiei: dchisq(x,ν); o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei hi-pătrat, pentru X=x:

=−− 1

22

22

2

ν

νΓ

νxe),x(dchisq

x

(20.103)

Page 366: Aplicata in Inginerie Mathcad 2001

366

• Funcţia de repartiţie:

o Sintaxa funcţiei: pchisq (x,ν);

o Valoarea returnată: probabilitatea ca variabila aleatorie, X, hi-pătrat repartizată, să fie mai mică sau egală cu o valoare particulară x, Pr(X≤ x):

.duue),x(dchisq

xu

⋅⌡

⋅⋅

=−−

0

122

22

2

νΓ

ν (20.104)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qchisq (p,ν); o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rchisq (m,ν);

o Valoarea returnată: un vector având m elemente, hi-pătrat repartizate, cu parametrul ν. o Observaţii:

a. Parametrul ν reprezintă numărul gradelor de libertate; b. În relaţia funcţiei densitate de probabilitate, pentru repartiţia hi-pătrat, prin ),x(Γ s-a notat

funcţia gama a lui Euler, având expresia (20.57). c. Valoarea cuantilei, xp, reprezintă soluţia ecuaţiei:

pduue

px

o

u

=⋅⌡

⋅⋅

−− 122

22

2

νΓ

. (20.105)

În fig. 20.13 sunt reprezentate grafic funcţiile densitate de probabilitate, repartiţie şi cuantilele repartiţiei hi-pătrat. c. Repartiţia t (Student)

o Argumentele funcţiilor: x – reprezintă valoarea variabilei aleatorii, Rx∈ ; p – reprezintă valoarea probabilităţii, 10 ≤≤ p ; m – reprezintă un număr întreg, 0>m ; ν - parametrul repartiţiei Student, N, ∈> νν 0 .

• Funcţia densitate de probabilitate:

o Sintaxa funcţiei: dt(x,ν);

o Valoarea returnată: valoarea densităţii de probabilitate, a repartiţiei Student, pentru X=x:

2

12

1

2

21 +

+

⋅⋅

+

=

ν

ννπν

Γ

νΓ

νx),x(dt . (20.106)

Page 367: Aplicata in Inginerie Mathcad 2001

367

f1 x( ) dchisq x 10,( ):= f2 x( ) pchisq x 10,( ):=

0 10 20

0.1

f1 x( )

x0 10 20 30 40

0.5

1

f2 x( )

xf3 x( ) qchisq x 10,( ):=

0 0.5 1

20f3 x( )

x

Fig. 20.13 Graficele funcţiilor densitate de probabilitate, repartiţie şi cuantilele repartiţiei hi-pătrat

• Funcţia de repartiţie:

o Sintaxa funcţiei: pt(x,ν); o Valoarea returnată: probabilitatea ca variabila aleatorie, X, Student repartizată, să fie mai mică

sau egală cu o valoare particulară x, Pr(X≤x):

⌠⋅

+

⋅⋅

+

=

∞−

+−

x

duu),x(pt2

12

1

2

21 ν

ννπν

Γ

νΓ

ν . (20.107)

• Cuantilele repartiţiei:

o Sintaxa funcţiei: qt(p,ν); o Valoarea returnată: cuantila xp, corespunzătoare unei probabilităţi p;

• Funcţia generatoare de numere aleatorii:

o Sintaxa funcţiei: rt(m,ν);

o Valoarea returnată: un vector având m elemente, Student repartizate cu parametrul ν. o Observaţii:

a. Parametrul ν reprezintă numărul gradelor de libertate. b. În relaţia funcţiei densitate de probabilitate, pentru repartiţia Student, prin ),x(Γ s-a notat

funcţia gama a lui Euler, având expresia (20.57).

Page 368: Aplicata in Inginerie Mathcad 2001

368

c. valoarea cuantilei, xp, reprezintă soluţia ecuaţiei:

pduupx

=⌡

⌠⋅

+

⋅⋅

+

∞−

+−

21

21

2

21 ν

ννπν

Γ

νΓ

. (20.108)

În fig. 20.14 sunt reprezentate grafic funcţiile densitate de probabilitate, repartiţie şi cuantilele repartiţiei Student.

f1 x( ) dt x 10,( ):= f2 x( ) pt x 10,( ):=

5 0 5

0.2

0.4

f1 x( )

x5 0 5

0.5

1

f2 x( )

x

f3 x( ) qt x 10,( ):=

0 0.5 1

5

5

f3 x( )

x

Fig. 20.14 Graficele funcţiilor densitate de probabilitate, repartiţie şi cuantilele repartiţiei Student

Page 369: Aplicata in Inginerie Mathcad 2001

IMPORTUL DE DATE

EXPORTUL DE DATE

INSERAREA COMPONENTELOR

CONFIGURAREA COMPONENTELOR

SCHIMBUL DE DATE

ACCESAREA MATHCAD DIN ALTĂ APLICAŢIE

REFERINŢE

HYPERLINK - URI

MATHCONNEX

CREAREA CĂRŢILOR ELECTRONICE

ADNOTAREA CĂRŢILOR ELECTRONICE

Page 370: Aplicata in Inginerie Mathcad 2001

370

III MANAGEMENTUL DATELOR ŞI AL

PROGRAMELOR ÎN MATHCAD 2001 SCHIMBUL DE DATE _______________________________________________________________________________

Mathcad 2001 este complet integrat în Windows, beneficiind de suport pentru tehnologia

OLE2 şi protocolul OLE Automationd.

În capitolul 10 este tratată inserarea de obiecte legate (linked), împachetate (embedded). După cum s-a amintit, prin realizarea unei legături (link) se poate face doar un schimb static de date.

Pentru realizarea unor conexiuni dinamice, în Mathcad 2001, se pot utiliza două mecanisme: referinţele (references, vezi secţiunea 21.4) între fişiere Mathcad şi apelarea la OLE2d, pentru schimbul dinamic de date între Mathcad şi altă aplicaţie Windows.

Schimbul dinamic de date, între Mathcad şi alt program, se poate face apelând la OLE Automation (vezi secţiunea 21.1) prin:

- componentele specializate care permit integrarea a unor aplicaţii, din alte medii, în foaia de lucru Mathcad: EXCEL, AXUM, SmartSketch, S-PLUS, MATLAB, baze de date în Access, sau FoxPro prin componenta OBDC (Open Database Connectivity).

- mai general, orice alt program, care suportă OLE Automation, poate fi integrat în Mathcad prin intermediul componentei Scriptable Object.

Componentele program primesc, ca date de intrare, variabile Mathcad, le procesează în mediul ţintă, fără a părăsi mediul Mathcad şi returnează date de ieşire care sunt asociate cu variabile Mathcad. Datele de intrare, ieşire sunt scalari, vectori, matrice şi în anumite cazuri şiruri de caractere. După cu s-a văzut în secţiunile 7.1.1.6 şi 7, prin componente mai pot fi realizate: citiri, scrieri de date tabelare (componenta File Read or Write), crea tabele (componenta Input Table).

Mathcad poate fi accesat şi din altă aplicaţie Windows. Prin utilizarea interfeţei OLE Automation, se pot trimite date, în mod dinamic, din altă aplicaţie spre Mathcad. Acestea se procesează în mediul Mathcad şi în final sunt returnate aplicaţiei (vezi secţiunea 21.2).

Regiunile Mathcad pot fi legate, prin hyperlinkd, de alte fişiere ca documente: Mathcad, texte *.doc, *.txt, *.rtf, *.pdf, documente Excel *.xls, prezentări Power Point *.ppt, etc sau adrese internet (vezi secţiunea 21.5).

Tabloul schimburilor de date, în care este implicat Mathcad, este reprezentat în figura 21.1.

Page 371: Aplicata in Inginerie Mathcad 2001

371

Fig. 21.1. Tabloul schimburilor de date Mathcad

MEDIUL MATHCAD 2001

Foaie de lucru

Mathcad

Foaie de lucru

Mathcad

Reference

Hyperlink

Date tabelare

Matlab, Axum, Excel, SmartSketch, S-PLUS Graph, S-PLUS Script

Aplicaţii care suportă OLE Aut.

Componenta Import Table

Componenta File Read or Write

Componente Specializate

Componenta Scriptable Object

Fişiere de tipurile *.doc, *.rtf, *.txt, *.xls, *.ppt, *.pdf

Adresă internet (URL)

Hyperlink Hyperlink

1 2 1 1 2 2

Aplicaţie care suportă

OLE Automation

1

2

Program Visual Basic

Page 372: Aplicata in Inginerie Mathcad 2001

372

21.1. SCHIMBUL DE DATE PRIN COMPONENTE

21.1.1. Importul de date, citirea datelor dintr-un fişier În terminologia Mathcad se face deosebirea între import de date (componenta File Read or Write vezi secţiunea 7.1.1.6) şi citirea de date dintr-un fişier (componenta Input Table urmată de comanda Import din meniul pop-up asociat componentei, vezi secţiunea 7.1.1.7).

Prin ambele mecanisme se înţelege aducerea de date dintr-un fişier extern într-o foaie de lucru. Diferenţele apar, dacă fişierul sursă se modifică ulterior importului sau citirii. La apelarea comenzii Calculate Worksheet, în cazul importului, modificările nu se reflectă în foia de lucru, pe când la citire da.

21.1.2. Exportul de date, salvarea datelor într-un fişier

Similar cazului discutat anterior, în terminologia Mathcad se face deosebirea între export de date şi scrierea de date într-un fişier.

Prin ambele mecanisme se înţelege trimiterea de date dintr-o foaie de lucru, de obicei rezultate matriceale sau vectoriale, spre un fişier. Diferenţele apar dacă datele se modifică ulterior scrierii fişierului.

21.1.2.1. Exportul de date

Etape ________________________________

1. Dacă rezultatul este un vector sau o matrice, efectuaţi un clic dublu pe rezultat.

2. Ca urmare, se deschide fereastra de dialog Result Format. În tab-ul Display Options, alegeţi, din lista Matrix Display Style, elementul Table şi apoi apăsaţi pe butonul OK, ca urmare matricea este convertită într-un tabel.

3. Din meniul pop-up, asociat tabelului, selectaţi comanda Export. Se deschide o casetă de dialog Write to File.

4. În fereastra de dialog specificaţi calea şi numele fişierului în care doriţi să salvaţi datele, tipul de fişier şi în final, apăsaţi pe butonul Save

_______________________________________________________________________________

Dacă datele salvate se modifică, fişierul nu va fi automat reactualizat, pentru aceasta va

trebui să-l mai exportaţi o dată. 21.1.2.2. Salvarea datelor prin componenta File Read or Write

Etape ________________________________

1. Clic într-o zonă liberă a foii de lucru, la dreapta, sau dedesubt de regiunea math cu datele

matriceale pe care doriţi să le salvaţi.

2. Meniul Insert → Component

Page 373: Aplicata in Inginerie Mathcad 2001

373

3. Ca urmare, se deschide un “vrăjitor” (Component wizard). Din listă alegeţi File Read or

Write şi apoi apăsaţi pe butonul Next.

4. În următoarea fereastră, alegeţi Write to a File, apoi apăsaţi pe butonul Next.

5. În noua fereastră, alegeţi tipul de fişier, indicaţi calea şi numele, la sfârşit apăsaţi pe

butonul Finish.

6. Ca urmare, pe foia de lucru apare o regiune, ca cea din figura

alăturată, în care trebuie să completaţi placeholder-ul cu

numele variabilei ale cărei valori doriţi să le salvaţi

_______________________________________________________________________________

Spre deosebire de cazul anterior, dacă datele asociate numelui variabilei sunt modificate de către utilizator, fişierul va fi automat reactualizat.

21.1.3. Editarea şi exploatarea componentelor

21.1.3.1. Inserarea componentelor

Etape ________________________________

1. Clic într-o zonă liberă a foii de lucru. Aceasta trebuie să fie plasată dedesubt, sau la dreapta zonelor matematice unde sunt definite variabilele dorite a fi intrări, în componentă.

2. Meniu Insert Component.

3. Ca urmare, se deschide un “vrăjitor” (Component wizard), din prima fereastră de dialog (vezi captura de mai jos) se alege o componentă şi funcţie de acesta se setează anumite proprietăţi. În final se apasă pe butonul [Finish].

_______________________________________________________________________________

Page 374: Aplicata in Inginerie Mathcad 2001

374

Fiecare componentă are un mod diferit de reprezentare în foia de lucru Mathcad. Ca urmare a inserţiei, în regiunea matematică există un simbol de definire :=, dedesubt sunt plasate unul sau mai multe placeholder-e destinate numelui variabilelor de intrare, iar la stânga placeholder-ele pentru variabilele de ieşire.

După completarea placeholder-elor pentru intrări şi ieşiri acestea pot fi ascunse prin comanda Hide, din meniul pop-up asociat componentei. Din acelaşi meniu, mai pot fi selectate comenzile:

- Add Input Variable, pentru adăugarea de variabile de intrare; - Add Output Variable, pentru adăugarea de variabile de ieşire; - Remove Input Variable şi Remove Output Variable, pentru eliminări.

21.1.3.2. Configurarea componentelor

Etape ________________________________

1. Clic pe o componentă cu ButD, pentru afişarea meniului pop-up.

2. Alegeţi comanda Proprieties.

3. Completaţi setările care sunt specifice fiecărui tip de componentă.

_______________________________________________________________________________

Dacă efectuaţi un clic dublu pe componentă, se modifică meniul şi barele de instrumente ale

Mathcad-ului fiind introduse elemente suplimentare, specifice componentei. Prin intermediul acestora se poate interveni activ în mediul ţintă fără a părăsi mediul gazdă.

21.1.3.3. Schimbul de date

După finalizarea configurării, dacă efectuaţi un clic în afara componentei se produce schimbul de date: valorile variabilelor de intrare sunt transferate în componentă (în mediul ţintă), sunt procesate şi variabilele de ieşire preiau rezultatele.

Schimbul de date între Mathcad şi componentă are loc când: - selectaţi componenta şi apăsaţi tasta [F9]; - se modifică valorile variabilelor de intrare; - alegeţi comanda Calculate Worksheet, din meniul Math.

Anumite componente permit salvarea într-un fişier, a datelor, prin comanda Save As din meniul pop-up, asociat componentei.

21.1.3.4. Componenta EXCEL

După cum s-a amintit, un fişier Excel poate fi citit prin intermediul componentei File Read or Write, pe această cale realizându-se o legătură statică. Însă, există şi o cale directă, dinamică care apelează componenta EXCEL, în scopul schimbului de date cu Mathcad.

Un exemplu tipic este: există un set de valori, în foia de lucru Mathcad, care trebuie transferate în Excel, procesate acolo şi apoi aduse rezultatele în Mathcad. Toate aceste operaţii se pot executa doar dacă pe calculator este instalată, cel puţin, versiunea 7 a EXCEL-ului.

Page 375: Aplicata in Inginerie Mathcad 2001

375

O componentă EXCEL execută următoarele operaţii, fără a părăsi mediul Mathcad: - transferă datele din Mathcad în Excel; - permite lucrul în EXCEL, în interiorul unei ferestre EXCEL plasate în Mathcad, prin

efectuarea unui dublu clic pe componenta EXCEL; - trimite valori din EXCEL în Mathcad, la efectuarea unui clic în afara ferestrei EXCEL.

Inserarea unei componente EXCEL

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru, plasată dedesubt sau la dreapta zonelor

matematice, unde sunt definite variabilele dorite a fi intrări în componenta EXCEL.

2. Meniu Insert Component.

3. Selectaţi componenta EXCEL, din lista primei ferestre de dialog, apoi apăsaţi butonul [Next].

4. Este lansat un “vrăjitor” Excel Setup Wizard. În prima casetă de dialog puteţi selecta crearea unei foi de lucru EXCEL goale (Create an empty Excel worksheet) sau a unei foi care să conţină un fişier EXCEL (Create from file). În a doua variantă, se completează manual calea şi numele fişierului, sau se foloseşte pentru căutare butonul [Browse] care deschide o fereastră de dialog . Dacă bifaţi check-box-ul Display as Icon, componenta EXCEL va fi afişată, ca icoană, ocupând o suprafaţă mult mai mică pe foia de lucru. Pentru trecerea la următoarea fereastră, de dialog, se apasă pe butonul [Next]. În următoarea casetă se setează intrările şi ieşirile componentei EXCEL (vezi captura de mai jos).

5. Fixaţi numărul de intrări şi ieşiri necesare şi indicaţi locaţiile acestora în foia de lucru EXCEL (se utilizează sintaxa EXCEL). La sfârşit apăsaţi pe butonul [Finish].

6. În foia de lucru Mathcad este afişată o regiune, ca cea din captura alăturată, cu două grupuri de placeholdere libere: la stânga simbolului := pentru ieşiri, dedesubt pentru intrări. Acestea trebuie completate cu numele variabilelor respective.

Page 376: Aplicata in Inginerie Mathcad 2001

376

7. Dacă efectuaţi un clic în afara componentei EXCEL, se efectuează schimbul de date. După cum s-a amintit, puteţi deschide şi lucra în foia EXCEL, prin dublu click pe componentă.

_______________________________________________________________________________ Pentru economie de memorie, în foia de lucru Mathcad este afişată doar o zona limitată din tabelul EXCEL. Pentru a avea acces la toată foia, executaţi dublu clic pe componenta EXCEL. Editarea intrărilor, ieşirilor componentei EXCEL Unei componente EXCEL i se pot adăuga, şterge, modifica intrările şi ieşirile:

Etape ________________________________ 1. Clic pe componentă cu ButD. 2. Din meniul pop-up alegeţi comanda Proprieties. 3. Fereastra de dialog, Excel Component Proprieties, conţine două tab-uri Inputs,

Outputs în care se pot modifica numărul de intrări, ieşiri, adresele celulelor. _______________________________________________________________________________

Exemplu a.

b.

Page 377: Aplicata in Inginerie Mathcad 2001

377

În fişierul vinzari.xls se află cantităţile de produse vândute ale unei firme. O captură din EXCEL conţinând informaţiile din fişierul vinzari.xls se află în figura de mai sus. Câmpul E este liber, valorile preţurilor unitare ale produselor se află în foia de lucru Mathcad, de asemenea câmpul F care nu conţine relaţiile de calcul ale încasărilor.

În Mathcad, s-a inserat sub relaţiile de calcul, ale preţurilor unitare, ale celor şapte produse o componentă EXCEL, în conformitate cu succesiunea de etape detaliată mai sus. Pentru variabila input, cost_unitar, s-a indicat într-o fereastră de dialog, ca cea din figura de pe pagina anterioară, grupul de celule E6:E12, iar pentru variabila de ieşire, numită rez, s-a indicat F6:F12.

După inserare, s-a efectuat un dublu clic pe componenta EXCEL şi s-au introdus relaţiile de calcul ale încasărilor (încasări=cost_unitar x cantitate vândută) şi suma obţinută din vânzări. În captura din figura b, efectuată din foia de lucru Mathcad, se observă: valorile costurilor cuprinse în variabila vector cost_unitar, componenta EXCEL cu valorile calculate ale vânzărilor şi aceleaşi valori afişate sub numele variabilei de ieşire rez. 21.1.3.5. Componenta Matlab

Componenta MATLAB permite schimbul dinamic, de date, cu mediul de programare MATLAB, cel puţin versiunea 4.2.c. Ca şi în cazul componentei EXCEL, dacă doriţi doar o legătură statică între Mathcad şi fişiere MATLAB, utilizaţi componenta File Read or Write. Inserarea unei componente MATLAB

Etape ________________________________ 1. Clic într-o zonă liberă a foii de lucru, plasată dedesubt sau la dreapta zonelor matematice

unde sunt definite variabilele dorite, a fi intrări, în componenta MATLAB.

2. Meniu Insert Component.

3. Selectaţi componenta MATLAB, din lista primei ferestre de

dialog, apoi apăsaţi butonul [Finish]. Ca urmare, o componentă

Matlab, ca cea din captura alăturată, este inserată în foia de lucru

Mathcad.

4. În placeholder-ul din stânga simbolului :=, se trece numele variabilei de ieşire, iar în cel de dedesubt numele variabilei/lor de intrare. Implicit, acestea au în Mathcad numele out0, out1, ..., respectiv in0, in1, ... Variabila/ele de ieşire pot fi modificate, ca nume, prin comanda Proprieties a meniului pop-up, asociat componentei şi ca număr prin comenzile Add Input Variable, Add Output Variable, Remove Input Variable, Remove Output Variable.

_______________________________________________________________________________

Utilizarea componentei MATLAB

Etape ________________________________

1. Efectuaţi un clic dublu pe componenta MATLAB, în consecinţă se deschide o fereastră de editare a fişierului script Matlab, numită Script Editor – [MATLAB]. Aici se editează fişierul script (succesiunea de comenzi Matlab). Fie se concepe un fişier nou,

Page 378: Aplicata in Inginerie Mathcad 2001

378

fie se modifică unul existent, adus în editor prin comanda Import din meniul File. Atenţie la concordanţa numelor variabilelor cu cele declarate la inserarea componentei. Fişierul poate fi salvat prin comanda Export din meniul File.

2. Executaţi un clic, în afara componentei, pentru a se realiza schimbul de date: variabilele de intrare, din Matcad, sunt transferate în mediul Matlab, datele sunt procesate şi în final rezultatele sunt asignate variabilelor de ieşire.

_______________________________________________________________________________ Exemplu Se pune problema rezolvării unei ecuaţii de gradul doi, în mediul MATLAB, coeficienţii necunoscutelor fiind definiţi sau calculaţi în Mathcad. Evident, problema putea fi uşor rezolvată în Mathcad, însă s-a ales acest exemplu banal pentru a se urmări, mai uşor, dinamica schimbului de date.

S-a inserat o componentă MATLAB parcurgându-se paşii 1 şi 2. Scriptul Matlab pentru calculul soluţiilor ecuaţiei este listat mai jos:

% REZOLVAREA ECUATIEI DE GRADUL 2

disp('-----------------------------------------------------------')

disp(' Rezolvare a*x*x+b*x+c=0')

a,b,c % afisare valori a,b,c

d=sqrt(b*b-4*a*c); x=[(-b-d)/(2*a) (-b+d)/(2*a)]

Deoarece în script există trei variabile de intrare: a, b, c şi una de ieşire: vectorului x, având ca elemente cele două soluţii, prin comanda Proprieties i s-au modificat numele implicite, in0, in1, in2, respectiv out1 (vezi captura de mai sus). După completarea placeholder-elor componentei, cu numele variabilelor, s-a efectuat un clic în afara componentei şi s-a afişat rezultatul (vezi captura mai sus).

Page 379: Aplicata in Inginerie Mathcad 2001

379

21.1.3.6. Componenta AXUM

Axum este un produs al firmei MathWorks, fiind destinat reprezentării grafice şi analizelor statistice a datelor. Ultima versiune, numerotată cu 7, oferă utilizatorului mai mult de 100 de tipuri de grafice 2D şi 3D care permit construirea unor diagrame de calitate foarte bună. Pentru inserarea unei componente AXUM este necesar să aveţi instalată, cel puţin, versiunea Mathcad 5.03.

Inserarea unei componente AXUM

Etape ________________________________

1. Creaţi în Mathcad vectori, matrice cu datele pe care doriţi să le reprezentaţi grafic.

2. Clic într-o zonă plasată sub, sau la dreapta datelor.

3. Alegeţi comanda Component din meniul Insert.

4. Selectaţi componenta Axum Graph din lista afişată în fereastra de dialog Component Wizard şi apăsaţi pe butonul [Next].

5. Se deschide caseta de dialog Graph Setup Wizard în care se fac următoarele setări:

o prin intermediul butonului Choose Axis/Plot Type, se pot selecta tipurile de grafice şi alţi parametri;

o se fixează numărul de intrări;

o prin bifarea unui check-box, puteţi folosi ultima intrare pentru variabile condiţionate.

După ce efectuaţi toate setările, apăsaţi butonul [Finish].

6. În placeholder-ul componentei AXUM, care apare foia de lucru Mathcad, completaţi numele variabilei/lor de intrare.

7. Pentru vizualizarea graficului efectuaţi un clic, în afara componentei, sau apăsaţi pe tasta [Enter].

_______________________________________________________________________________

Page 380: Aplicata in Inginerie Mathcad 2001

380

Editarea unui grafic AXUM

Etape ________________________________

1. Clic dublu pe grafic. Ca efect, se modifică meniul Mathcad în care sunt integrate şi bare de instrumente, meniuri AXUM.

2. Editaţi diagrama AXUM, prin intermediul instrumentelor specifice.

3. Clic în afara componentei, pentru a vedea modificările făcute.

_______________________________________________________________________________ Exemplu

În exemplul de mai sus, s-a creat în Mathcad o matrice 3 x 359 apelându-se la componenta File Read or Write (în captura de mai sus, se vede o porţiune din matrice, afişată ca tabel). Graficul 3D, AXUM, vizualizează atât punctele cât şi suprafaţa de regresie liniară. Acestea s-ar fi putut reprezenta şi în Mathcad, însă utilizatorul ar fi trebuit să efectueze mult mai multe operaţii.

21.1.3.7. Componenta ODBC Read Component

Prin componenta ODBCd (Open Database Connectivity) se pot citi informaţii dintr-o bază de date care suportă SQLd în driver-ul său, ODBC.

Page 381: Aplicata in Inginerie Mathcad 2001

381

21.2. SCHIMBUL DE DATE ÎNTRE MATHCAD ŞI ALT PROGRAM CARE OFERĂ SUPORT OLE AUTOMATION

Pentru a fi posibilă efectuarea unui schimb de date, între Mathcad şi altă aplicaţie Windows, trebuie îndeplinite condiţiile:

- anterior, trebuie instalat un limbaj script ca Microsoft VBScript (Visual Basic Scripting Edition) sau Microsoft JScript (o implementare a limbajului Java Script), ambele fiind incluse în Microsoft Internet Explorer, sau pot fi descărcate ca programe freeware de la www://msdn.microsoft.com/scripting;

- aplicaţia ţintă este instalată în sistem; - aveţi informaţii asupra modului de implementare OLE, pentru aplicaţie.

Inserarea unei componente Scriptable Object

Etape ________________________________

1. Clic într-o zonă liberă a foii de lucru, plasată dedesubt sau la dreapta zonelor matematice, unde sunt definite variabilele dorite a fi intrări în componentă.

2. Meniu Inert Component.

3. Selectaţi componenta Scriptable Object, din lista primei ferestre de dialog, apoi apăsaţi butonul [Next]. Ca urmare, este lansat un Scripting Wizard.

4. În prima fereastră sunt afişate toate aplicaţiile serverd disponibile, pe sistemul pe care lucraţi. Alegeţi o aplicaţie care suportă interfaţa OLE2. Prin două butoane radio, selectaţi dacă componenta este nouă, sau există un fişier. Mai există opţiunea afişării componentei ca icoană.

5. Urmează o succesiune de două ferestre de dialog în care se specifică limbajul script, numele obiectului, numărul de intrări, ieşiri. După apăsarea butonului [Finish], este inserată, în foia de lucru Mathcad, componenta Scriptable Object.

6. La fel ca şi la celelalte componente, în placeholder-ul din stânga simbolului := se trece numele variabilei de ieşire, iar în cel de dedesubt numele variabilei/lor de intrare.

_______________________________________________________________________________ O componentă tip Scriptable Object are obiecte, proprietăţi predefinite şi metode care permit configurarea componentei. Detalierea acestora depăşeşte obiectivele prezentei lucrări, fiind detaliate în documentaţia limbajului script selectat.

Editarea scriptului

Etape ________________________________

1. Selectaţi obiectul prin clic.

2. Prin apăsarea tastei dreapta, a mouse-ului, apare meniul pop-up din care selectaţi Edit Script. Ca urmare, este afişată o fereastră de editare Editor Script.

3. Completaţi codul dumneavoastră în cele trei funcţii predefinite, din editbox-ul ferestrei.

4. meniu File → Close & Return. _______________________________________________________________________________

Page 382: Aplicata in Inginerie Mathcad 2001

382

Câteva exemple, de aplicaţii, în care se lucrează cu componenta Scriptable Object se găsesc în directorul unde este instalat Mathcad, subdirectorul Samples/ Scripted.

21.3. ACCESAREA MATHCAD DIN ALTĂ APLICAŢIE

Utilizând interfaţa OLE Automation, se pot trimite dinamic date din altă aplicaţie Windows spre Mathcad, se poate utiliza mediul Mathcad pentru efectuarea unor calcule şi rezultatele pot fi returnate aplicaţiei.

În acest scop, utilizatorul trebuie să scrie un program în Visual Basic x, x ≥ 5, sau într-o aplicaţie care poate servi ca OLE Automation clientd (de exemplu Excel x, x ≥ 5). Programul se utilizează pentru a defini şi recupera variabilele în Mathcad. Cum s-a amintit anterior în Mathcad variabilele de intrare vor avea numele in0, in1, in2 ..., iar cele de ieşire out0, out1, out2....

Procedurile specifice, cerute pentru a scrie un obiect Mathcad OLE, sunt în general aceleaşi cu mici deosebiri, în funcţie de natura aplicaţiei care serveşte drept client:

Etape ________________________________

1. Furnizaţi sau creaţi un obiect Mathcad OLE cu care se va realiza comunicarea.

2. Setaţi aplicaţia care trimite date spre Mathcad şi/sau locaţiile de primire a datelor, returnate de Mathcad.

3. Scrieţi codul, pentru a specifica datele care se trimit spre Mathcad şi/sau datele returnate. _______________________________________________________________________________

21.4. REFERINŢE

În cazul unor fişiere Mathcad de dimensiuni mari este, de multe ori, avantajos, în scopul măririi lizibilităţii documentului, să se facă referiri dintr-o foaie de calcul considerată principală, la alte foi de calcul. În acelaşi scop, se pot utiliza blocurile de regiuni (vezi secţiunea 3.4). Mecanismul referinţelor este util şi când se lucrează în echipă. Este important de reţinut că referinţa (reference) este o conexiune dinamică. Inserarea unei referinţe se efectuează în următorii paşi:

Etape ________________________________

1. Clic într-o zonă liberă a foii de lucru.

2. Meniu Insert → Reference.

3. În caseta de dialog Insert Reference se scrie direct calea spre fişierul Mathcad accesat sau se utilizează butonul [Browse]. Se poate face referire şi la o adresă internet.

4. Efectuaţi un clic pe butonul [OK]. _______________________________________________________________________________

Ca urmare, la dreapta punctului de inserare, apare o icoană urmată de calea spre fişier, ca în

captura alăturată: Dacă se efectuează un clic dublu pe

icoană, documentul Mathcad este deschis într-o fereastră separată.

Page 383: Aplicata in Inginerie Mathcad 2001

383

Dacă documentul principal a fost anterior salvat, în fereastra de dialog Insert Reference este activ check-box-ul Use relative path for reference. În consecinţă, dacă se mută fişierul referit şi cel principal pe alt drive, conservându-se însă structura relativă a directoarelor, referinţa rămâne validă. Dacă modificaţi conţinutul fişierelor referite, conexiunea dinamică se realizează doar la deschiderea fişierului principal.

Deşi, mai sus, s-a detaliat cazul întâlnit frecvent: un fişier principal, unul sau mai multe fişiere secundare referite, pot fi construite şi alte structuri cu imbricări până la orice nivel dorit.

21.5. HYPERLINK-URI

Uzual, hyperlinkd-ul este asociat unui cuvânt, grup de cuvinte sau simboluri plasate într-o regiune text, dintr-o foaie de lucru. Acestea apar marcate cu caractere îngroşate şi subliniate. Dacă se efectuează un clic dublu, pe textul care are asociat un hyperlink, se deschide o fereastră suplimentară, de afişare a programului, sau mediului în care a fost editat fişierul legat.

Inserarea unui hyperlink:

Etape ________________________________

1. Selectaţi caracterul sau grupul de caractere cărora doriţi să le asociaţi un hyperlink.

2. Meniu Insert → Hyperlink.

3. Caseta de dialog Insert Hyperlink este asemănătoare, celei anterior analizate, Insert Reference, în plus mai apare un check – box, Display as pop-up document şi o zonă de editare pentru mesajul din bara de stare, afişat când se trece cu mouse-ul peste zona cu hyperlink.

4. Efectuaţi un clic pe butonul [OK].

_______________________________________________________________________________

21.6. MATHCONNEX (P)

Mathconnex este un mediu de programare vizual, care permite integrarea aplicaţiilor care suportă OLE2, în scopul creării unui sistem de calcul eterogen. Deoarece este un mediu care nu are performanţe deosebite (printre altele este relativ lent), Mathsoft a renunţat la el în varianta Mathcad 2001. În consecinţă nu este detaliat în prezentul curs.

Page 384: Aplicata in Inginerie Mathcad 2001

384

III MANAGEMENTUL DATELOR ŞI AL

PROGRAMELOR ÎN MATHCAD 2001 CĂRŢILE ELECTRONICE ÎN MATHCAD 2001 ________________________________________________________________________________

Toate facilităţile pe care le oferă Mathcad: foi de lucru “live”, referinţe, hyperlink-uri, blocuri de regiuni pot fi reunite în scopul creării unor cărţi electronice (Electronic Books), abreviate în continuare cu CE. Un exemplu este Resource Center-ul sau numeroasele CE specializate, pe anumite domenii disponibile comercial, sau freeware.

Câteva dintre cele mai importante caracteristici, specifice unei CE, sunt:

pagini “live” (proprietatea foii de lucru Mathcad); dintr-o CE se pot copia şi lipi în alte documente Mathcad: texte, figuri, relaţii; într-o CE se pot face adnotări nepermanente sau permanente; CE poate fi răsfoită în două moduri:

- prin folosirea butoanelor şi comenzilor disponibile în bara de instrumente, respectiv meniurile asociate CE;

- dublu clic pe titlurile capitolelor, sau subcapitolelor din cuprins sau alte regiuni text care au hyperlink-uri;

într-o CE se pot face căutări prin mecanismul cunoscut al oricărei aplicaţii Windows (comanda Find din meniul Edit) sau prin butonul Search.

unei CE voluminoase i se poate asocia un index.

22.1. CREAREA UNEI CĂRŢI ELECTRONICE

Etape ________________________________

1. Creaţi fişierele Mathcad care vor fi conţinutul CE.

2. Creaţi un cuprins si hyperlink-urile necesare.

3. Creaţi un fişier *.hbk care va memora ordinea de răsfoire a fişierelor, legăturile între

capitole şi fişiere, titlurile din barele de titlu.

4. Opţional se poate crea un index.

________________________________________________________________________________

22.1.1. Crearea fişierelor Mathcad

La crearea fişierelor Mathcad care formează conţinutul CE nu uitaţi că aceasta este destinată lucrului on-line şi în consecinţă trebuie să aibă un aspect mai îngrijit şi funcţionalitate mărită comparativ cu un document cu care lucraţi doar dumneavoastră. Deorece s-a constatat că citirea de pe display este cu circa 30% mai lentă în comparaţie cu cea de pe hârtie, este indicat ca textul dintr-o CE trebuie să fie cât mai concis.

Page 385: Aplicata in Inginerie Mathcad 2001

385

În acest sens luaţi în considerare următoarele recomandări:

- fiecare capitol al cărţii pe care doriţi să-l accesaţi prin intermediul cuprinsului salvaţi-l ca fişier *.mcd, fişierele se plasează într-un singur director, eventual în mai multe subdirectoare;

- pentru mărirea productivităţii şi constanţa calităţii conţinutului CE utilizaţi stilurile de text (text style) şi modelele de documente (template);

- dacă aveţi mai multe paragrafe succesive plasaţi-le în regiuni text separate pentru a le mări controlabilitatea;

- aliniaţi la stânga regiunile, utilizaţi rigla şi marcatorii de indentare. - utilizaţi separatorii de pagină (meniul Insert → Break) unde doriţi să se încheie o

pagină şi să se producă saltul la următoarea; - marcaţi prin culoare regiunile matematice în care cititorul CE poate interveni cu

modificări; - dacă în CE procesaţi date de intrare tabelare utilizaţi importul de date (vezi secţiunea

21.1.3.3); - dacă inseraţi imagini folosiţi comanda Paste Special din meniul Edit cu opţiunea

Device Independent Bitmap pentru ca imaginile să nu fie obiecte OLE; - dacă doriţi ca CE să aibă dimensiuni reduse limitaţi-vă la 256 de culori (în Windows

Control Panel → Display → Settings). Evident şi imaginile importate trebuie prelucrate în acest sens: 256 de culori sau chiar mai puţine dacă este posibil.

22.1.2. Crearea cuprinsului cărţii electronice

Cuprinsul CE este un fişier cu nume predefinit TOC.MCD (Table Of Contents) care conţine lista capitolelor CE legate de fişierele corespunzătoare prin hyperlink-uri (vezi subcapitolul 21.5).

22.1.3. Fişierul hbk

Fişierul cu extensia hbk (abreviere de la handbook) este un fişier text, deci poate fi creat în orice editor de texte de exemplu Notepad.

Fişierul amintit specifică:

- ordinea de răsfoire a CE; - fişierele corespunzătoare capitolelor cuprinsului, indexului şi primei pagini a CE; - textul din bara de titlu a secţiunilor, a meniului Open Book.

Fişierul hbk are o structură rigidă, un exemplu fiind analizat în continuare:

; Acesta este un comentariu precedat de punct şi virgulă

.version 2001

.titleTutorial Mathcad 2001

SPLASH pagina1.mcd :Prima fereastra a CE

TOC cuprins.mcd :Cuprinsul cartii electronice

cap1 cap1.mcd :Prezentarea generala a Mathcad-ului 2001

cap2 cap2.mcd :IDE Mathcad-ului 2001

cap3 cap3.mcd :Lucrul cu regiunile text

Page 386: Aplicata in Inginerie Mathcad 2001

386

Prima linie este un comentariu, care evident poate fi inclus în orice zonă a fişierului. Aceasta este precedată de semnul de punctuaţie punct şi virgulă prin intermediul căruia interpretorul este anunţat să ignore informaţia care urmează pe rândul respectiv.

Următoarele patru cuvinte predefinite sunt obligatorii în succesiunea: .version 2001 .title SPLASH TOC Textul introdus imediat după .title apare în bara de titlu a ferestrei CE şi eventual în bara de titlu a help-ului.

Începând de la linia care începe cu SPLASH în jos informaţia este împărţită în trei coloane cu separatori tab-uri. După SPLASH urmează numele fişierului primei pagini şi eventual urmează un text explicativ.

După TOC se scrie numele fişierului care conţine cuprinsul CE.

În continuare urmează capitolele CE şi asocierile cu fişierele corespondente. Pe prima coloană se trece numele fişierului capitolului, neurmat de extensie. Acesta este utilizat intern de către sistem ca nume logic al capitolului. După separatorul: se trec de obicei titlurile capitolelor care vor apărea în barele de titlu. Numele din prima şi a doua coloană nu trebuie să conţină spaţii libere. Când cititorul CE apasă butoanele Next Topic sau Previous Topic din bara de instrumente saltul se face în ordinea impusă în fişierul hbk.

Observaţii:

- numărul de fişiere nu este limitat; - nu sunt permise linii libere, pentru lizibilitate mărită folosiţi simbolul “;” - pentru a sări la răsfoire peste un capitol precedaţi-l de comanda skip

(exemplu: nume_fisier nume_fisier.mcd skip: Titlul fişierului); - fişierul trebuie salvat ca fişier text cu extensia hbk. În plus numele acestuia trebuie

să fie identic cu al folder-ului (directorului) care conţine fişierele CE.

Căutaţi în directorul programului Mathcad subdirectorul HANDBOOK. Dacă acesta nu există creaţi-l. Copiaţi sau mutaţi directorul care conţine fişierele CE şi fişierul hbk în directorul mai sus amintit.

Exemplu: C:\[Program Files] (În exemplul alăturat folder-ele, subfolder-ele [MathSoft] au fost cuprinse între paranteze pătrate) [Mathcad 2001 Professional] …. [Handbook] [appstat] (În subfolder-ul Handbook este plasat subfolder-ul appstat.mcd appstat şi fişierul appstat.mcd)

Noua CE este plasată, la redeschiderea Mathcad-ului, în meniul Help → Handbooks. O CE se mai poate lansa şi prin meniul Help → Open Book, mecanism prin care se încarcă şi packd-urile (P).

Page 387: Aplicata in Inginerie Mathcad 2001

387

22.2. Adnotarea cărţii electronice

Implicit, modificările în zonele matematice ale CE sau eventualele adăugări de text, grafică sunt nepermanente (nu sunt salvate la părăsirea CE), cele matematice fiind colorate de către sistem (comanda Annotate Book este implicit debifată, iar comanda Highlight Changes bifată. Ambele se găsesc în meniul Book sau în meniul pop-up). Culoarea implicită a adnotării poate fi schimbată: meniul Format → Color → Annotation.

Modificările pot fi permanetizate prin utilizarea comenzii Annotate Book. În acest caz, sistemul face o copie a CE care conţine adnotările şi care este afişată implicit la redeschiderea CE. În meniul pop-up, asociat CE sau în meniul ferestrei CE, mai există: comanda contextuală View Original Section/ View Edited Section (vezi varianta originală / modificată), comenzile pentru salvări: Save Section, Save All Changes şi comenzile pentru reconstituiri: Restore Section, Restore All.

Page 388: Aplicata in Inginerie Mathcad 2001

388

REFERINŢE MATHCAD PE INTERNET

www.mathsoft.com – site-ul firmei producătoare a mediului matematic Mathcad. În

secţiunea Library se găsesc câteva zeci de cărţi electronice, unele în regim freeware.

ftp://ftp.mathsoft.com/pub - serverul ftp al firmei Mathsoft, vezi folderele Author, Contrib,

Mcaddaq, Software, Support, Wavelets.

www.adeptscience.com – este un site, care se referă la cele mai importante software-uri

matematice, inclusiv Mathcad, pentru achiziţii de date, analiză şi vizualizare.

htpp://cims.clayton.edu\MathCAD Tutorials.htm – un tutorial Mathcad, la nivel

elementar, însoţit şi de animaţii.

htpp://neuron.eng.wayne.edu\Matlab-Mathcad-WIMS-Ti-89.htm – se ocupă de câteva

probleme rezolvabile cu ajutorul Mathcad, printre altele, de integrale şi rezolvarea ecuaţiilor

diferenţiale. Este de asemenea însoţit şi de animaţii.

ww2.lafayette.ed\Mechancial Engineering ME 352 Dynamic Systems Circuits Dr_

Seeler.htm – conţine 11 tutoriale, dintre care primul este o introducere în Mathcad, restul sunt

specializate pe probleme specifice Dinamicii sistemelor şi circuitelor electrice.

www.che.lsu.edu\Tutorials - Chemical Engineering Department Louisiana State

University.htm – conţine numeroase tutoriale, inclusiv pentru Mathcad.

www.et.byu.edu\Chemical Engineering Department.htm – tutoriale, la nivel elementar, sub

forma unor fişiere *.mcd.

http://ist.uwaterloo.ca/ic/mathcad/videos/- tutorial Mathcad, nivel elementar, sub forma unor

slide-uri în format pdf.

www.math.odu.edu/cbii/calcanim/- Calculus Animations with Mathcad, de P. Bogacki şi

G. Melrose, utilizează animaţii elaborate în Mathcad pentru câteva probleme de matematică.

Page 389: Aplicata in Inginerie Mathcad 2001

389

GLOSAR

ActiveX – o nouă tehnologie, dezvoltată de Microsoft, pentru schimbul de informaţii între diferite aplicaţii. ActiveX se bazează pe alte două tehnologii Microsoft OLEd şi COMd.

Add-on – referitor la software, este un program suplimentar care extinde funcţionalitatea unui program de bază. Se mai utilizează şi termenul de pack.

ASCII (American Standard Code for Information Interchange) – codul standard american pentru interschimbarea de informaţii. Acesta este un cod de reprezentare a caracterelor limbii engleze prin numere. În codul standard ASCII există 128 de caractere, deci poate fi reprezentat pe 7 biţi. De exemplu, caracterul M are codul 77. Codul ASCII extins utilizează 8 caractere şi în consecinţă poate reprezenta 256 de caractere. Cele 128 de caractere, suplimentare faţă de codul standard, sunt folosite pentru caracterele unor alte limbi, diferite de engleză şi pentru simboluri grafice.

AVI (Audio Video Interleave) - format standard, promovat de Microsoft, pentru videoclipuri. Fişierele respective, cu extensia AVI, au o rezoluţie limitată la 320x240 dpid, maximum 30 de frame-uri pe secundă şi nu necesită nici un fel de dispozitive hardware suplimentare pentru a fi vizualizate.

Brightness – strălucirea este cantitatea de lumină pe care o transmite sau o reflectă un pixeld dat. Uzual, se măsoară în procente 0% este negru, 100% este alb. În modelul RGBd , se asignează fiecărui pixeld valori între 0 (negru) şi 255 (alb). Când valorile celor trei componente roşu-verde-albastru sunt egale rezultă o nuanţă de gri. Dacă toate, cele trei componente roşu-verde-albastru, au valoarea zero, rezultă negru pur şi alb pur, pentru 255.

Broswer – interfaţă destinată prezentării unei vederi de ansamblul asupra unui mediu de stocare, bază de date. În general, conţine bare de derulare sau alte elemente de interfaţă care ajută utilizatorul în procesul de căutare.

Case senzitive – proprietatea unui program de a face distincţia între litere mari şi mici. De exemplu, Mathcad este case senzitive la definirea unor nume de variabile pe când Turbo Pascal, Delphi nu.

Clic - presupune două operaţii succesive: plasarea cursorului într-o anumită zonă a foii de lucru, urmată de apăsarea tastei stânga a mouse-ului.

Clipboard – zonă de memorie tampon destinată stocării temporare a datelor înainte ca acestea să fie copiate în altă locaţie. Utilizarea memoriilor tampon permit CPU să manipuleze datele înainte de transferarea spre un dispozitiv. De obicei buffer-ul este creat în RAMd. Deoarece procesele de citire-scriere a datelor de pe/pe disc sunt relativ lente, multe programe efectuează modificările în clipboard şi numai după aceea copiază (salvează) pe disc. Evident că utilizarea clipboard-ului îmbunătăţeşte substanţial viteza de lucru. Procesoarele de text utilizează clipboard-ul ca memorie intermediară între operaţiile de copiere (copy), tăiere (cut) şi lipire (paste).

COM (Component Object Model) – defineşte un standard care conţine mecanismele ce permit comunicarea între obiected prin intermediul unei interfeţe.

Context senzitive – dependent de context, cu referire la proprietăţile unui program care se modifică automat funcţie de operaţiile pe care vrei să le efectuezi cu acesta. De exemplu, un help, dependent de context, asigură documentaţia pentru o operaţie particulară care se utilizează la un moment dat.

DDE (Dynamic Data Exchange) – sistem IPC (InterProcess Communication) care permite schimbul de date între două aplicaţii. Actualmente este rar utilizat în comparaţie cu mecanisme mai

Page 390: Aplicata in Inginerie Mathcad 2001

390

evoluate ca OLEd, ActiveXd.

Desktop – exprimă, metaforic, suprafaţa de lucru a unui birou transpusă pe display. Este elementul GUId al unei aplicaţii şi care conţine pictograme, meniuri, zone de editare etc., deci instrumentele de lucru specifice, care sunt plasate pe un birou.

DLL (Dynamic Linked Library) – bibliotecă, cu legare dinamică, care conţine una sau mai multe rutine discrete, pe care o aplicaţie le poate utiliza în scopul efectuării unor funcţii specifice. De exemplu, o bibliotecă DLL poate furniza un set comun de casete de dialog necesare managementului fişierelor. O copie rezidentă în memorie a unui DLL poate fi utilizată de mai multe aplicaţii în acelaşi timp. Aplicaţiile, în rulare, sunt în conexiune dinamică cu DLL-ul, efectul fiind un necesar de memorie mai redus. Unele DLL-uri sunt asigurate de sistemul de operare Windows, altele sunt scrise pentru aplicaţii particulare şi sunt încărcate o dată cu aplicaţia, altele ca driver-ele sunt încărcate la startup-ul sistemului. Uzual DLL-urile au extensiile: dll, exe, fon sau drv.

dpi (dots per inch) – unitate de măsură a rezoluţiei care reprezintă numărul de puncte identificabile pe o un segment de dreaptă cu lungimea de un inch.

Embedded objects – obiecte împachetate sau înglobate. Obiectul împachetat este parte din fişierul destinaţie şi odată înglobat, în acesta, se rupe legătura cu fişierul sursă. Dacă într-un obiect împachetat se modifică informaţia, în fişierul sursă aceasta rămâne nemodificată. În consecinţă actualizările trebuie făcute manual. Spre deosebire de obiectele legate, cele împachetate pot fi create în timpul inserţiei.

GUI (Graphical User Interface) – interfaţa grafică cu utilizatorul este un sistem de pictograme şi imagini grafice care înlocuiesc, ca funcţionalitate, meniurile create în mod caracter. Principalele elemente GUI sunt: pointerd, pointing deviced, icond, desktopd, menud.

HTML (HyperText Markul Language) - limbajul utilizat pentru scrierea paginilor Web.

HBS model – (Hued Brightnessd Saturationd model) este un model bazat pe modul de percepţie uman al culorilor şi urmăreşte trei caracteristici fundamentale ale culorii: culoare, luminozitate şi saturaţia.

Hue – culoarea reflectată sau transmisă printr-un obiect. Uzual este identificată prin nume: roşu, verde etc. Pentru cuantificare se utilizează poziţia în grade hexazecimale 00 … 3600 pe cercul standard al culorilor.

Hypertext – documente care conţin legături (link-uri) către alte documente.

Hyper-link – grup de caractere care reprezintă referiri către alte pagini Web.

Icon – icoană, vezi pictogramă.

IDE (Integrated Development Environment) – mediu integrat de dezvoltare, se referă la limbaje de programare care trebuie să fie dotate cu utilităţile necesare pentru dezvoltarea completă a unui program: editare, compilare şi depanare (debug).

Linkeded objects – obiecte legate. Într-un obiect legat, informaţia este actualizată numai dacă se modifică obiectul (fişierul) sursă. Datele legate sunt memorate în fişierul sursă. Fişierul destinaţie memorează doar locul unde se află fişierul sursă. Evident, că un obiect legat trebuie să existe ca fişier salvat. De obicei se utilizează un obiect legat, în loc de unul împachetat, dacă mărimea fişierului sursă este relativ mare.

Page 391: Aplicata in Inginerie Mathcad 2001

391

Macro – un simbol, o tastă care la acţionare declanşează o listă de comenzi definită de utilizator. Se utilizează pentru mărirea productivităţii în cazul unor succesiuni de comenzi, care se repetă, frecvent. Termeni similari, macro-ului, sunt: fişierul batch, script-ul.

MAPI (Messaging API) - set de funcţii şi resurse Windows destinate programelor de comunicaţii.

MathML (Mathematical Markup Language) – este o aplicaţie XMLd pentru descrierea notaţiilor matematice în scopul transmiterii, procesării obiectelor matematice pe Webd. Cea mai importantă influenţă asupra MathML a avut-o TeX (sistem de prelucrare a textelor, dezvoltat de Donald Knuth, mai frecvent cunoscut sub forma extensiei LaTeX).

Menu – o listă de comenzi sau opţiuni din care utilizatorul poate selecta un element. Meniurile au mai multe forme: pop-up menud, pull-down menud, bar-menud.

Menu-bar – un meniu orizontal, fiecare opţiune a meniului se dezvoltă ca meniu pull-downd.

Object – obiectul este un modul de program care descrie caracteristicile şi comportamentul unei entităţi conceptuale sau fizice. În multe limbaje orientate pe obiecte, tipul class (obiect în general) are ca articole date, metode (funcţii, proceduri prin intermediul cărora se prelucrează datele obiectului, deci comportamentul) şi proprietăţi care, în general, pot fi schimbate atribuiri.

ODBC (Open Database Connectivity) – standard pentru accesarea a diferitelor baze de date. Există interfeţe pentru Visual Basic, Visual C++, SQL, iar ODBC driver pack conţine drivere pentru baze de date: Access, Paradox, dBase, Excel etc.

OLE object – este, în terminologia OLE, o colecţie de date care este transferată, în formatul ei nativ, de la o aplicaţie spre alta. Este necesar ca aplicaţia, care creează obiectul, să accepte condiţiile impuse de OLE.

OLE (Object Linking and Embedding) – tehnologie de legare şi împachetare a obiectelor, creată de Microsoft şi ajunsă la versiunea OLE 2, specifică sistemelor de operare Windows 9x, 2000… Mecanismul obiectelor legate (linked) sau împachetate, înglobate (embeddeded) este utilizat pentru a adăuga un fişier, parţial sau total la alt fişier. Actualmente OLE a fost înlocuit cu tehnologia ActiveXd.

OLE Automation – este un protocold prin care o aplicaţie Windows poate accesa un obiect aflat în interiorul altui obiect sau în interiorul unei biblioteci (DLL).

OLE Client - aplicaţie Windows care conţine un obiect legat sau împachetat. De exemplu, dacă plasaţi un obiect foaie de calcul (spreadsheetd) într-un document Word, procesorul de text este aplicaţia client. O aplicaţie client acţionează ca un container pentru obiectele care le primeşte de la o aplicaţie server. Într-o OLE Automation Client se poate scrie un program sau un macrod pentru a interacţiona cu alt obiect. De exemplu Excel x, x≥5 este un OLE Automation Client.

OLE Container – este un obiect care conţine, la rândul său, alte obiecte. Pentru a afişa sau tipări un document OLE compusd este nevoie, doar, de aplicaţia OLE Container.

OLE Compound Document – (document compus) este un document care conţine unul sau mai multe obiecte. Toate documentele OLE sunt considerate compuse.

OLE Server – aplicaţia Windows pe care clientul o apelează pentru a manipula un obiect. Pentru a face modificări asupra conţinutului obiectului, aplicaţia client trebuie să apeleze aplicaţia care a creat obiectul, deci cele două aplicaţii trebuie să lucreze împreună, pentru a crea un document coerent. Pentru a edita un obiect legat sau împachetat, este nevoie de aplicaţia OLE server.

Page 392: Aplicata in Inginerie Mathcad 2001

392

Pictogramă – simbol utilizat pentru reprezentarea grafică a scopului unei funcţii, aplicaţii sau fişier. Pictogramele sunt parte integrantă a mediului GUId. Similar termenului icoană (icon).

Pixel (picture element) – element rectangular care formează o imagine digitizată, de exemplu pe un ecran video. Fiecărui pixel i se atribuie o culoare şi o intensitate. Numărul de biţi asociaţi unui pixel determină numărul de culori pe care le poate afişa. De exemplu cu 8 biţi pot fi reprezentate 28 culori sau nuanţe de gri. Pe monitoarele color fiecare pixel este compus din trei culori: roşu, verde şi albastru (modelul RGBd).

Pointer – (indicator) element al GUId reprezentat, de obicei, printr-o săgeată care apare pe display, poziţia ei fiind controlată de un dispozitiv numit pointing deviced.

Pointing-device – dispozitiv care permite utilizatorului să selecteze obiecte de pe desktop. Cele mai cunoscute sunt: mouse-ul, track-ball-ul şi tastatura.

Pop-up menu - meniu flotant care apare în zona desktop-ului unde s-a executat un click cu butonul dreapta al mouse-ului. De obicei conţine comenzi referitoare la obiectul aflat în zona respectivă.

Protocol – un sistem de reguli şi proceduri care guvernează comunicaţiile între două sau mai multe dispozitive. Formatul datelor, semnalizarea stării care permite recepţia sau transmiterea datelor, detectarea sau corectarea erorilor sunt câteva din operaţiile care pot fi definite de un protocol.

Pull-down menu – meniu special tip pop-up care apare dedesubt de comanda selectată.

RAM (Random Access Memory) – este orice memorie care poate fi accesată în orice moment (aleatoriu) de către microprocesor.

Saturation – saturaţia exprimă puritatea unei culori. O culoare pură sau cu saturaţie 100% este o culoare care nu conţine alb. O culoare cu saturaţie 0% este un gri. Pe cercul culorilor standard saturaţia creşte radial de la centru spre margine.

Spreadsheet – foaie de calcul “live” organizată în linii şi coloane, între celule stabilindu-se relaţii de calcul. Deseori aplicaţiilor tip foaie de calcul (spreadsheet applications), care de fapt sunt programe prin care se crează şi manipulează informaţii organizate tabelar (Excel, Lotus 1-2-3), li se spun pe scurt spreadsheets.

SQL – limbaj standard pentru crearea, întreţinerea sistemelor de management a bazelor de date relaţionale.

Template - model de document care conţine informaţii asupra formatării foii de lucru. Extensia implicită a modelelor de documente Mathcad este “.mct”.

Tab – o suprafaţă redusă (“ureche”), inscripţionată cu un cuvânt sau un text foarte scurt, cu rol de identificator, plasată de obicei proeminent deasupra unei fişe (vezi cartotecile de la o bibliotecă). Prin clic pe tab este afişat într-o monofereastră textul fişei.

Tip – fereastră pop-up de mici dimensiuni care conţine un text explicativ foarte sumar.

XML (EXtesible Markup Language) – o versiune simplificată a metalimbajului SGML (Standard Generalized Markup Language) care defineşte gramatica şi sintaxa HTMLd.

Wizard – (vrăjitor) este o aplicaţie, de obicei formată din mai multe ferestre de dialog, care facilitează o succesiune de setări relativ complicate pe care trebuie să le efectueze utilizatorul.

WWW (Word Wide Web), sau pe scurt Web, sau W3 – serviciu complex pentru accesul la documente existente pe calculatoare răspândite în întreaga lume. Acesta permite: localizarea şi

Page 393: Aplicata in Inginerie Mathcad 2001

393

accesarea interactivă a informaţiei aflate pe calculatoare, afişarea de texte, imagini, înregistrări audio, video, accesarea informaţiilor de la mai multe servicii Internet prin intermediul unui mecanism unic.

În întocmirea glosarului au fost utilizate următoarele surse bibliografice:

M.T. Ban şa - Dicţionar explicativ de calculatoare. Ed. Tehnică, Bucureşti 1994. P. Norton şi J. Mueller. - Ghid complet pentru Delphi 2. Ed. Teora, Bucureşti 1998. M. Schnier - Scott Mueller Library - Computer Dictionary, Macmillan Computer Publishing, 1998. I Szekey - Internet. Notiţe de curs, 2001, www. *** PC Webopaedia 1.9 Lite, Mecklermedia Corp, 1998. *** FOLDOC, Free on-line Computing Dictionary, http://wombat.doc.ic.ac.uk/foldoc/foldoc

Page 394: Aplicata in Inginerie Mathcad 2001

394

Bibliografie

AMA77 ***. Analiză matematică, vol I, II, Edit. Didactică şi Pedagogică, Bucureşti,1977. BEU92 Beu T. A., Calcul Numeric în Turbo Pascal, Edit. MicroInformatica, Cluj-Napoca,

1982. CIR00 Cira O., Lecţii de Mathcad, Edit. Albastră, Cluj-Napoca, 2000. CRA80 Craiu M., Tănase V. V., Analiză matematică, Edit. Didactică şi Pedagogică, Bucureşti,

1980. DOD76 Dodescu Gh., Toma M., Metode de calcul numeric, Edit. Didactică şi Pedagogică,

Bucureşti, 1976. DUM75 Dumitru V., Programare neliniară, Edit. Academiei, Bucureşti, 1975. GHE68 Gheorghiu O. E M., Crstici B. D., Geometrie analitică şi diferenţială. Edit. Didactică şi

Pedagogică, Bucureşti, 1968. GHI97 Ghinea M., Fireţeanu V., Matlab. Calcul numeric, grafică, aplicaţii. Edit. Teora,

Bucureşti, 1997. GIB76 Gibra I.N., Probability and Statistical Inference for Scientist and Engineers, Prentice-

Hall, Inc., Englewood Cliffs, New Jersey, 1976. HAS75 Hastings N.A.J., Peacock J.B., Statistical Distributions, Wiley & Sons, Inc., New York,

1975. HRI91 Hristev A., Probleme de fizică, Edit. Icar, Bucureşti, 1991. JAL95 Jalobeanu C., Raşa I., Mathcad. Probleme de calcul numeric şi statistic. Edit. Albastră,

Cluj-Napoca, 1995. LAR89 Larionescu D., Metode numerice. Edit. Tehnică, Bucureşti, 1989. MAR87 Marinescu Gh. Probleme de analiză numerică rezolvate cu calculatorul. Edit.

Academiei, Bucureşti, 1987. MAR95 Martinescu I., Popescu I., Fiabilitate, Edit. Gryphon, Braşov, 1995. MCC98 ***, MathConnex User’s Guide MathSoft Inc., Cambrige, Massachusetts, 1998, 1997. MEM80 ***, Mică enciclopedie matematică, traducere din limba germană. Edit. Tehnică,

Bucureşti, 1980. MEY76 Meyer S.L., Data Analysis for Scientists and Engineers, Wiley & Sons, Inc., New York,

1976. MUR62 Murgulescu E. ş.a. Geometrie analitică şi diferenţială. Edit. Didactică şi Pedagogică,

Bucureşti, 1962. POP86 Popescu I., Bazele cercetării experimentale în tehnologia construcţiilor de maşini.

Universitatea "Transilvania", Braşov, 1986. POP93 Popescu I., ş.a., Fiabilitate. Bazele teoretice, Univ. "Transilvania" din Braşov, 1993. POS94 Postolache M., Metode numerice, Edit. Sirius, Bucureşti, 1994. RMM01 ***, Reference Manual, Mathcad 2001, 2000, 8, 7 Professional, MathSoft Inc.,

Cambrige, Massachusetts, 2000, 1999, 1998, 1997. ROŞ79 Roşculeţ M., Analiză matematică, Edit. Didactică şi Pedagogică, Bucureşti, 1979.

Page 395: Aplicata in Inginerie Mathcad 2001

395

ROŞ80 Roşculeţ M., Balea P., Moldoveanu Ş., Programarea şi utilizatea maşinilor de calcul şi elemente de calcul numeic şi informatică, Edit. Didactică şi Pedagogică, Bucureşti, 1980.

SCH94 Scheiber E., Lixăndroiu D. MathCAD. Prezentare şi probleme rezolvate, Editura Tehnică, Bucureşti, 1994.

SRI96 SR ISO 3534-1:1996 Statiscă-Vocabular şi simboluri. Partea 1: Termeni de teoria probabilităţilor şi statistică generală.

ŞAB83 Şabac I. Gh., Cocârlan P. ş.a. Matematici speciale, Edit. Didactică şi Pedagogică, Bucureşti, 1983.

TIR72 Tiron M., Teoria erorilor de măsurare şi metoda celor mai mici pătrate, Edit. Tehnică, Bucureşti, 1972.

TOD76 Todoran I., Tratarea matematică a datelor experimentale. Funcţii empirice, Edit. Academiei RSR, Bucureşti 1976.

ŢAR98 Ţarcă M., Tratat de statistică aplicată, Edit. Didactică şi Pedagogică, Bucureşti, 1998. UDR80 Udrişte C., Tănăsescu E., Maxime şi minime ale funcţiilor reale de variabile reale, Edit.

Tehnică, Bucureşti, 1980. UGM01 ***, Mathcad User’s Guide, Mathcad 2001, 2000, 8, 7 Professional, MathSoft Inc.,

Cambrige, Massachusetts, 2000, 1999, 1998, 1997.

Page 396: Aplicata in Inginerie Mathcad 2001

ISBN 973 – 635 – 302 – 8