Sunteți pe pagina 1din 288

Ionu Lambrescu

MATHCAD

Editura Universitii din Ploieti 2004

Coperta 2

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

Ionu Lambrescu

MATHCAD

Editura Universitii din Ploieti 2004

Pagina cu ISBN-ul

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

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

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

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

5.2 GRAFICE 3D ................................................................................ 106 5.2.1 GRAFICE DE TIP SUPRAFA .............................................. 106 5.2.2 GRAFICE DE TIP CURBE DE NIVEL (CONTOUR PLOT) .......... 112 5.2.3 GRAFICE DE TIP PUNCTE DISTRIBUITE N SPAIU (3D SCATTER PLOTS) ........................................................ 114 5.2.4 GRAFICE DE TIP 3D BAR .................................................... 115 5.2.5 FORMATAREA GRAFICELOR 3D.......................................... 117 5.3 GRAFICE DE TIP VECTOR PLOT .................................................... 123 5.3.1 FORMATAREA GRAFICELOR DE TIP VECTOR....................... 124 6 REZOLVAREA NUMERIC A ECUAIILOR I A SISTEMELOR DE ECUAII ............................................................. 125 6.1 REZOLVAREA ECUAIILOR ALGEBRICE........................................ 126 6.2 REZOLVAREA ECUAIILOR TRANSCENDENTE .............................. 126 6.3 REZOLVAREA SISTEMELOR ALGEBRICE LINIARE.......................... 128 6.4 REZOLVAREA SISTEMELOR NELINIARE ........................................ 129 6.5 REZOLVAREA APROXIMATIV A SISTEMELOR NELINIARE............ 132 7 DERIVARE I INTEGRARE NUMERIC. CALCUL DE SUME I PRODUSE . 133 7.1 DERIVAREA NUMERIC ............................................................... 134 7.2 INTEGRAREA NUMERIC ............................................................. 135 7.3 CALCUL DE SUME I PRODUSE ..................................................... 136 8 UTILIZAREA UNITATILOR DE MASURA IN DOCUMENTELE MATHCAD 139 8.1 MOD DE LUCRU ........................................................................... 140 8.2 DEFINIREA DE UNITI DE MSUR ............................................ 141 8.3 MODIFICAREA UNITILOR DE MSUR N CARE ESTE EXPRIMAT UN REZULTAT ....................................... 142 8.4 ALEGEREA SISTEMULUI DE UNITI DE MSUR I CONTROLUL 8.5 SCHIMB DE INFORMATIE INTRE MATHCAD SI ALTE APLICATII .......... 149 9.1 INSERAREA UNEI COMPONENTE EXCEL ....................................... 150 9.2 INSERAREA UNEI COMPONENTE MATLAB ................................. 155 9.3 INSERAREA UNEI COMPONENTE DE TIP BAZ DE DATE ................ 159 9.4 INSERAREA UNEI COMPONENTE DE TIP INPUT TABLE .................. 168 9.5 INSERAREA UNEI COMPONENTE DE TIP CONTROL MATHSOFT ..... 169 9.6 INSERAREA UNEI COMPONENTE DE TIP CITIRE (READ), SCRIERE (WRITE) DIN/N FIIERE ............................................................... 172
FORMATULUI DE AFIARE A REZULTATELOR CU UNITI DE MSUR .............................................................. 144 UTILIZAREA UM N CALCULUL INTEGRAL SAU DIFERENIAL ...... 147

9.7

FUNCII PREDEFINITE PENTRU CITIREA/SCRIEREA DIN/N FIIERE DE DATE ASCII.................................................... 175

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

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

Produsul MathCAD. Prezentare general

Obiective
Familiarizarea cititorului cu facilitile oferite

de MathCAD

Introducerea unor noiuni primare despre

fiierele i structura documentelor MathCAD

Prezentarea mediului de lucru MathCAD i a

unor tehnici de lucru

13

Capitolul 1
1.1 Introducere MathCAD este un produs soft destinat rezolvrii problemelor ce implic efectuarea de calcule matematice, de la simple formule pn la rezolvarea de ecuaii, sisteme de ecuaii, ecuaii difereniale, calcul integral, calcul matricial, att la nivel numeric, ct i la nivel simbolic. MathCAD permite trasarea de grafice (2D i 3D), prelucrarea de imagini, interaciunea cu fiiere de date, precum i cu alte aplicaii rspndite (Excel, Axum, Smartsketch). Produsul este destinat studenilor, specialitilor din industrie i cercetare, cadrelor didactice din nvmntul mediu i superior. Marea for a MathCAD este interfaa de lucru (desktop-ul MathCAD), deosebit de prietenoas i care utilizeaz tehnica WYSIWYG (What You See Is What You Get), astfel nct att aspectul documentelor MathCAD, dar mai ales modul de completare (generare) sunt identice cu cele care s-ar obine/utiliza n cazul folosirii hrtiei i creionului (de subliniat c documentele MathCAD pot conine i seciuni de comentarii, deci de text, ceea ce le va face mult mai uor de neles). Mai mult dect att, documentele MathCAD pot fi evaluate integral n mod automat ori de cte ori se produce o modificare n structura lor, astfel c ntotdeauna rezultatele afiate vor reflecta starea curent (instantanee) a documentului. 1.2 Nouti aduse de MathCAD 2001 Versiunea 2001 a produsului pune la dispoziia utilizatorului o serie de noi faciliti, succint descrise n paragrafele urmtoare: Accesare de componente SGBD. Este posibil conectarea la baze de date. Componenta de accesare [a bazelor de date] permite efectuarea de operaii de interogare a oricrei baze de date compatibile SQL. Achiziie de date. Este posibil att achiziia, ct i trimiterea de date n timp real de la/ctre dispozitive acceptate de MathCAD. 14

Produsul MathCAD. Prezentare general

casete de text cu ajutorul crora se poate mbuntii interactivitatea documentelor de lucru. Modulul de dezvoltare (SDK). Permite crearea rapid de componente MathCAD, inclusiv documentaie sau exemple la nivel de cod. Compatibilitate fiiere wav. MathCAD citete, scrie i poate extrage informaie pentru fiiere n format pulse cod modulated (PCM) Microsoft Wav, cu ajutorul noilor funcii wav. Faciliti WEB. MathCAD ofer posibilitatea salvrii documentelor n format HTML, cu elemente MathML (Mathematical Markup Language) incluse i implicit citirea lor cu oricare din browser-ele curente. Astfel de documente pot conine legturi de tip hyperlink i regiuni de tip index. Este disponibil i un mecanism de detectare a erorilor documentaiilor electronice (HBK debugging). Import de fiiere imagine. Versiunea 2001 permite importul de imagini ntr-o gam larg de formate (JPEG, GIF i PCX), n afar de formatul BMP, disponibil i la versiunile mai vechi. O imagine odat importat, exist posibilitatea procesrii acesteia (faciliti de zoom, decupare, control strlucire, contrast, culoare, orientare). Noi funcii. Au fost introduse, pe lng numeroasele funcii MathCAD cunoscute de la versiunile mai vechi, funcii pentru transformarea de coordonate, sau funcii pentru cutarea de valori n tablouri de mari dimensiuni.

Faciliti de generare de elemente (casete de dialog) de control. MathCAD 2001 permite crearea de butoane sau

Crearea de documentaii electronice (Electronic Books).

1.3 Cerine hard i soft pentru instalare Structura minim necesar instalrii i utilizrii versiunii MathCAD 2001 este urmtoarea: Pentium 133MHz sau compatibil; CD-ROM drive; 15

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

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

Produsul MathCAD. Prezentare general


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

Fig. 1-1 - Fereastra MathCAD


17

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

18

Produsul MathCAD. Prezentare general


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

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

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

curent a cursorului (prin utilizarea paletei de butoane ) operatorul integral definit, care n prima faz va arta ca mai jos : Place-holder

19

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

20

Lansarea comenzilor n MathCAD

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

21

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

Fig. 2-1 - Barele de unelte MathCAD


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

Lansarea comenzilor n MathCAD


Paleta aritmetic. Ea conine butoane pentru inserarea n documente a cifrelor precum i a operatorilor de calcule matematice (*, +, -, radical etc); Paleta operatorilor booleeni. Conine operatori de tipul <, >, diferit, egal, evaluare, atribuire etc; Paleta pentru reprezentri grafice. Conine butoanele pentru inserarea n documente a diferitelor tipuri de grafice; Paleta de calcul matriceal. Conine butoane dedicate calculelor cu vectori i matrice; Paleta pentru calculul de sume, produse, limite, derivate i integrale; Paleta pentru inserarea n documentele MathCAD a structurilor de programare (bucle FOR, WHILE, blocul decizional IF etc); Paleta caracterelor greceti. Conine butoane pentru inserarea n documente a caracterelor alfabetului grecesc; Paleta operatorilor de evaluare. Conine butoanele ce insereaz n documente operatorii de evaluarea numeric i simbolic; Paleta ce conine cuvintele cheie pentru evalurile simbolice.

Poziia oricrei palete pe spaiul de lucru MathCAD se poate modifica prin utilizarea tehnicii drag and drop. 2.3 Agende electronice (electronic books) Agendele electronice MathCAD sunt colecii de formule i relaii matematice i inginereti, constante fizice, proprieti de material, precum i alte informaii utile. 23

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

Fig. 2-2 - Resource Center


24

Lansarea comenzilor n MathCAD


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

25

Documente MathCAD

Obiective

nsuirea tehnicilor de diferitelor tipuri de regiuni

creare

Prezentarea metodelor de control, formatare i editare a regiunilor Prezentarea metodelor de evaluare a documen-telor MathCAD

27

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

28

Documente MathCAD
x : 0 ; 20 a:3

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

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

Capitolul 3
cmpul Insert Graph X-Y Plot. La poziia curent a cursorului va apare o regiune de tip grafic la care se vor completa numai marcatorii de la jumtile axelor ox i oy, ca n figura 3.1.a. Un simplu clic n interiorul graficului, sau apsarea tastei F9 va produce desenarea [graficului], aa cum se poate vedea n figura 3.1.b.

a.

b.

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


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

30

Documente MathCAD

Fig. 3-2 - Documentul MathCAD rezultat

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

Operatorii cei mai folosii sunt cei aritmetici : +, -, *, ^ (ridicarea la putere), /, la care se adaug o gam larg de operatori scalari sau vectoriali specifici diferitelor tipuri de operaii matematice.

31

Capitolul 3
3.2.2 Constante

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

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

Fig. 3-3 Utilizarea bazelor de numeraie


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

Documente MathCAD
3.2.4 Variabile

n MathCAD numele unei variabile (regul valabil i pentru numele de funcii), poate conine oricare din urmtoarele caractere : Caracterele alfabetului latin, a..z, A..Z; Cifrele de la 0 la 9; Caracterul _, simbolul Caracterul % Caracterele alfabetului grec Simbolul infinit Un nume de variabil nu poate ncepe cu o cifr sau cu unul din caracterele _, , sau %. Toate caracterele dintr-un nume de variabil trebuie s fie de acelai tip, n sensul c trebuie s aparin aceluiai font, s aib aceeai dimensiune i acelai stil (bold, italic, underlined etc). Deci nu pot fi folosite caractere latine i greceti n acelai nume de variabil. MathCAD face diferena ntre majuscule i minuscule, astfel c variabila timp este diferit de variabila TIMP. n figura 3.4 sunt prezentate cteva exemple de variabile MathCAD.

Fig. 3-4 - Variabile MathCAD


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

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

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

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

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

35

Capitolul 3

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


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

Fig. 3-6 Definire de variabile de tip ir de caractere


36

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

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

37

Capitolul 3

Fig. 3-7 - Evaluri de funcii

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

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

Fig. 3-8 - Regiuni selectate

39

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

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


Ct privete alinierea regiunilor, aceasta se poate realiza pe orizontal sau pe vertical. Pentru acest scop se pot folosi fie 40

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

3.4.1

Editarea de expresii

Construirea unei expresii MathCAD se realizeaz natural prin tastarea cifrelor, literelor i operatorilor expresiei, n ordinea n care s-ar face acelai lucru pe o foaie de hrtie. S-a precizat deja 41

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

Fig. 3-10 Editarea expresiilor

Fig. 3-11 Editarea regiunilor de tip text


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

Documente MathCAD
Se ncadreaz zona de nchis ntre paranteze ntr-un cursor de tip |___ - vezi figura 3.12; Se tasteaz caracterul (virgula).

a.

b.

Fig. 3-12 Inserarea de paranteze


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

a.

Fig. 3-13 Aplicarea unei funcii

b.

43

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

Fig. 3-14 Tag-uri ataate variabilelor sau constantelor


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

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

Fig. 3-15 Definirea unei noi etichete


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

constants variabila_2

variables

45

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

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

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

Fig. 3-16 Formatare la nivel de paragraf


3.6.1 Stiluri

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

47

Capitolul 3

Fig. 3-17 Stiluri de paragrafe


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

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

Fig. 3-18 Controlul dimensiunii zonei ocupat de o regiune de tip text


48

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

Fig. 3-19 - Controlul dimensiunilor unei regiuni de tip text


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

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

49

Capitolul 3

Fig. 3-21 Seciunea Display a casetei de dialog Properties


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

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

Fig. 3-22 Formatare rezultate


Cnd se face formatare local, apare i butonul Set as Default (inexistent n cazul formatrii globale). Apsarea sa transform formatarea local ntr-una global. Semnificaiile controalelor ferestrei Result Format sunt n marea lor majoritate foarte uor de intuit, astfel c nu se va insista dect asupra celor a cror nelegere nu este imediat. - Seciunea Number Format (vezi figura 3-22) n caseta de editare corespunztoare se va introduce o valoarea cuprins ntre 0 i 15. Fie aceasta n. Rezultatele mai mici dect 10-n i mai mari dect 10n, vor fi afiate in notaie tiinific (exponenial). n cazul n care caseta de selecie are n interior o bif (un simplu clic pe caset sau textul din dreapta activeaz sau dezactiveaz bifa), zerourile din coada unui numr care apar n conformitate cu setarea din seciunea Number of decimal places, sunt afiate, dei prezena lor nu spune nimic n plus. Dac bifa lipsete, aceste zerouri inutile nu mai sunt afiate. Astfel dac la Number of decimal places s-a precizat 4, un rezultat de forma 12/5, va fi 51

Exponential Threshold

Show trailing Zeros

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

Number of decimal places

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

Fig. 3-23 Display Options


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

Matrix display style

52

Documente MathCAD

a.

b.

Fig. 3-24 Afiare de matrice


53

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

Expand nested arrays

a.

b.

Fig. 3-25 Vizualizarea tablourilor

54

Documente MathCAD
Prin deschiderea listei derulabile se pot alege caracterele folosite (i sau j) pentru reprezentarea numrului complex i. Permite stabilirea bazei de numeraie n care rezultatele vor fi afiate. n cazul n care se opteaz pentru baza 8 sau 16, rezultatul n zecimal nentreg va fi trunchiat la valoarea de ntreg, dup care are loc transformarea rezultatului. Acesta va fi urmat de un h sau un o, dup cum s-a folosit baza 16 sau 8. MathCAD asigur rezultate corecte pentru valori mai mici dect 231 (sau aproximativ 2*109). - Seciunea Tolerance vezi figura 3-26

Imaginary value Radix

Fig. 3-26 Seciunea Tolerance


Setarea se refer la modul n care vor fi afiate numerele complexe. Valoarea introdus n caseta de dialog corespunztoare trebuie s fie un ntreg ntre 0 i 63. Fie acest numr n i fie numrul complex a+bi. Dac

Complex Tolerance

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

< 10 n

atunci rezultatul complex se va scrie sub forma : a sau bi dup cum min(|a|,|b|)=b, respectiv min(|a|,|b|)=a. Sau altfel spus nu se mai afieaz coeficientul mai mic n valoare absolut, dac 55

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

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


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

Zero Threshold

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

Fig. 3-28 ntrerupere forat evaluare


3.8.1 Dezactivarea unei ecuaii

MathCAD evalueaz automat toate expresiile care folosesc variabile asupra crora s-au efectuat modificri, actualiznd rezultatele (evident dac setarea Automatic Calculation este activ). Acest 57

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

Fig. 3-29 Dezactivarea evalurii


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

Reactivarea unei ecuaii dezactivat anterior se va realiza prin acelai procedeu parcurs n ordine invers. 3.8.2 Optimizarea evalurilor

Cmpul Math Optimization permite activarea sau dezactivarea optimizrii expresiilor. Dac o expresie este optimizat, nainte de evaluarea numeric se verific (cu ajutorul procesorului simbolic) 58

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

Fig. 3-30 - Optimizarea expresiilor


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

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

Fig. 3-31 Definirea de hyperlink-uri


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

60

Calcul matriceal numeric

Obiective

Familiarizarea cititorului oferite de MathCAD

cu

facilitile

Introducerea unor noiuni primare despre fiierele i structura documentelor MathCAD Prezentarea mediului de lucru MathCAD i a unor tehnici de lucru

61

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

Fig. 4-1- Variabile tip vector i matrice


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

Fig. 4-2 Inserarea unei matrice


62

Calcul matriceal numeric


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

Capitolul 4
tergerea de linii sau coloane se face ncepnd cu linia sau coloana pe care se afl poziionat elementul selectat.

Fig. 4-3- Inserarea unei linii


4.1.1 Variabile de tip vector sau matrice

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

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

Calcul matriceal numeric


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

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

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


4.1.3 Originea indicilor 65

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

Fig. 4-6 Modificarea originii indicilor


66

Calcul matriceal numeric

4.1.4

Limitri asupra dimensiunilor matricelor

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

zA

Produs de vectori

u v
A B Av

Produs matricial nmulire vector/matrice

* *

vectori cu acelai numr de elemente Efectueaz produsul matricelor A i B Efectueaz produsul dintre matricea A i vectorul v

67

Capitolul 4
Operaia mprire de tip scalar Adunare de vectori (matrice) Adunare cu un scalar Diferen de matrice Diferen de tip scalar Negativarea unei matrice Ridicare la putere Norma vector Determinant Transpusa Produs vectorial Extragere de coloan Suma termenilor unui vector Vectorizare unui Aspect Tasta / + + ^ | | Ctrl + ! Ctrl + 8 Ctrl+6 Ctrl + 4 Ctrl+-

A/z A+B A+z A-B A-z -A An |v| |A| AT uxv


M<n>

Descriere mparte toate elementele matricei A la scalarul z Adun matricele A i B Adun scalarul z la elementele matricei A toate

Scade matricea B din matricea A Scade scalarul z din toate elementele matricei A Schimb semnul tuturor elementelor matricei A Ridicarea unei matrice la o putere oarecare. Dac aceasta este 1 atunci se realizeaz de fapt inversarea matricei Calculeaz norma unui vector v Calculeaz determinantul matricei ptrate A Determin transpusa matricei A Calculeaz produsul vectorial al vectorilor coloan u i v cu cte 3 elemente Extrage coloana n a unei matrice nsumeaz elementele vectorului v Operatorii i funciile matriciale sub acest operator se aplic fiecrui element al matricei (vezi paragraful 4.3.6)

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

68

Calcul matriceal numeric

Fig. 4-7 - Operatori pentru calcul matriceal


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

Dimensiunea/dimensiunile unui tablou


rows(A) cols(A) length(v) last(v) identity(n) Numrul de linii al matricei A Numrul de coloane al matricei A Numrul de elemente al vectorului v Indicele ultimului element al vectorului v Matricea identitate de ordinul n

Extremele unui tablou


max(A,B,C,..) Elementul de valoare tablourile A, B, C, maxim din

69

Capitolul 4
Numele funciei min(A,B,C,) Rezultatul obinut n urma aplicrii funciei Elementul de valoare minim din matricea A, B, C,

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

CreateMesh(F,...)

CreateSpace(F,)

Concatenarea de tablouri
stack(A,BC,) augment(A,B,C,..) O matrice obinut prin alipirea matricelor A, B, C, una peste alta O matrice obinut prin alipirea matricelor A, B, C, una dup alta

Valori i vectori proprii


70

Calcul matriceal numeric


Numele funciei eigenvals(A) eigenvec(A,z) eigenvecs(A) genvals(M,N) genvecs(M,N) Rezultatul obinut n urma aplicrii funciei Un vector format din valorile proprii ale matricei ptrate A. Vectorul propriu al matricei A, asociat valorii proprii z. Vectorul este normalizat (suma ptratelor elementelor este 1). O matrice coninnd pe coloane vectorii proprii ai matricei A. Un vector coninnd valorile proprii pentru o problema general de vectori i valori proprii O matrice coninnd vectorii proprii pentru o problema general de vectori i valori proprii

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

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

Tipuri speciale de matrice


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

71

Capitolul 4
Numele funciei rref(A) Rezultatul obinut n urma aplicrii funciei Ealonul redus al matricei sau vectorului A. Matricea sau vectorul A trebuie s fie reale.

Caracteristici speciale ale matricelor


tr(A) rank(A) norm1(M) norm2(M) norme(M) normi(M) cond1(M) cond2(M) conde(M) condi(M) cholesky(M) Re(A) Im(A) Urma matricei ptratice A (suma elementelor situate pe diagonala principal) Rangul matricei A Norma L1 a matricei ptrate M Norma L2 a matricei ptrate M Norma Euclidian a matricei M Norma infinit a matricei M. Numrul de condiionarea a matricei ptrate M, bazat pe norma L1 Numrul de condiionarea a matricei ptrate M, bazat pe norma L2 Numrul de condiionarea a matricei ptrate M, bazat pe norma Euclidian Numrul de condiionarea a matricei ptrate M, bazat pe norma infinit O matrice inferior triunghiular, fie ea L, astfel nct L * L T =M. Matricea M trebuie s fie simetric. O matrice ale crei elemente sunt prile reale ale elementelor matricei A O matrice ale crei elemente sunt prile imaginare ale elementelor matricei A

Descompuneri de matrice

72

Calcul matriceal numeric


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

lu(M)

svd(A)

svds(A)

Funcii de cutare n tablouri


lookup(z,A, B) O valoare sau un vector ce reprezint elementul/elementele din matricea B care ocup aceeai poziie [n B] cu cea ocupat de valoarea z n A.

73

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

vlookup(z, A, c)

match(z, A)

nainte de a se prezenta cteva exemple de utilizare a unor funcii aplicabile vectorilor i matricelor, vor fi reamintite cteva relaii matematice importante : Norma L1 returneaz cea mai mare sum a elementelor de pe coloane, adic :

L1 = max ( m kj
1 j N k =1

Norma L2 returneaz cea mai mare valoare singular, adic :

L2 = ( M ) = max , ( M ) . unde cu ( M ) s-a notat mulimea valorilor proprii ale matricei M


(numit i spectrul acesteia), iar cu

(M )

s-a notat raza spectral a

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

Calcul matriceal numeric


Norma Euclidian ntoarce valoarea : M

m
j ,k

2 jk

Norma infinit returneaz suma cea mai mare sum a elementelor de pe linii, adic : L = max (
1 k N

m
j =1

kj

Cteva exemple privind utilizarea acestor funcii sunt prezentate n figurile urmtoare.

Fig. 4-8 Funciile rows, cols, max, min, length, tr, last, augment, identity

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


75

Capitolul 4 norm1, normi, norme, norm2


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

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

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

76

Calcul matriceal numeric

Fig. 4-10 Norme i numere de condiionare


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

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

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

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

4.3.3

Descompunerea QR

unde Q este o matrice ortogonal (QT.Q=I), iar R este superior triunghiular, atunci sistemul : A.x=b se poate la rndul su scrie: Q.R.x=b i apoi R.x=QT.b, i se rezolv prin substituie napoi. 4.3.4 Descompunerea SVD (Singular Value Decomposition)

Dac o matrice A se poate scrie ca : A=Q.R,

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

Calcul matriceal numeric


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

Fig. 4-11 - Descompunerea svd


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

79

Capitolul 4

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


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

Calcul matriceal numeric


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

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

81

Capitolul 4

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

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

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

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


82

Calcul matriceal numeric


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

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


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

Fig. 4-16 Funcia hlookup


83

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

Fig. 4-17 Funcia vlookup


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

4.3.6

Vectorizri i atribuiri simultane

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

Calcul matriceal numeric


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

Fig. 4-19 - Vectorizare


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

Fig. 4-20 - Atribuire simultan

85

Capitolul 4
4.3.7 Crearea de matrice structurate

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

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

F este un vector funcie cu 3 elemente, fiecare o funcie de dou variabile u i v; G este o funcie de dou variabile u i v; f1 este o funcie de dou variabile u i v; f2 este o funcie de dou variabile u i v; f3 este o funcie de dou variabile u i v;
-5;

s0 este limita inferioar a variabilei u. Valoarea implicit este s1 este limita superioar a variabilei u. Valoarea implicit
este 5;

86

Calcul matriceal numeric


t0 este limita inferioar a variabilei v. Valoarea implicit este -5; t1 este limita superioar a variabilei v. Valoarea implicit este 5; sgrid este numrul de intervale n care este mprit domeniul de variaie al parametrului u. Valoarea implicit este 20 i sgrid>0 tgrid este numrul de intervale n care este mprit domeniul de variaie al parametrului v. Valoarea implicit este 20 i tgrid>0 fmap este o funcie vector cu trei elemente, de trei variabile
care definete maparea (proiectarea) din orice sistem de coordonate n cel cartezian. n MathCAD exist dou funcii de tip fmap, specializate n maparea din coordonate cilindrice, respectiv sferice n coordonate carteziene (cyl2xyz, respectiv sph2xyz).

Exemplu de funcie de tip fmap:

87

Capitolul 4
Exemple:

1. Utilizarea unei funcii vector

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

88

Calcul matriceal numeric 2. Utilizarea unei funcii de dou variabile

Fig. 4-22 Utilizarea unei funcii de dou variabile i reprezentarea grafic corespunztoare

89

Capitolul 4 3. Utilizarea a trei funcii de dou variabile

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


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

90

Calcul matriceal numeric


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

1. Utilizarea unei funcii vector

Fig. 4-24 Utilizarea unei funcii vector

91

MathCAD permite obinerea unui numr mare de tipuri de reprezentri grafice 2D i 3D, punnd la dispoziia utilizatorilor multiple faciliti de formatare a acestor reprezentri.

Reprezentri grafice

Obiective

Prezentarea tipurilor de reprezentri grafice ce se pot realiza cu ajutorul MathCAD Prezentarea facilitilor de formatare a graficelor

93

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

Fig. 5-1 Completarea marcatorilor

pentru graficele de tip X-Y


n legtur cu modul de completare a marcatorilor se fac urmtoarele precizri: limitele superioar i respectiv inferioar de variaie a variabilei de reprezentare pot s nu fie precizate n mod explicit, caz n care se vor considera egale cu 10 i respectiv -10;

94

Reprezentri grafice
limitele superioar i respectiv inferioar pentru domeniul de reprezentat pot s nu fie precizate, caz n care vor fi folosite valoarea maxim, respectiv minim a expresiei/funciei de reprezentat, nregistrate pe domeniul de lucru; pot fi trasate mai multe curbe pe acelai grafic, curbe ce pot depinde de una sau mai multe variabile; dac se folosesc mai multe variabile, acestea trebuie separate prin virgul;

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

i := 1 .. 20 xi := .5 i
60 40 yi 20 0 20 0 5 xi 10

yi := ( xi) 5 xi
2

a. Reprezentarea unui vector funcie de alt vector

95

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

sin ( x) cos ( x)

f ( x)

10 x

15

20

c. Reprezentarea unei funcii


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

sin ( x) cos ( x) sin ( x) cos ( x)

g( x) := e

sin ( x) +cos ( x)

+e

10 5 0 5

f ( x) g ( x)

10 x

15

20

d. Reprezentarea mai multor funcii dependente de o singur

variabil

96

Reprezentri grafice

e. Reprezentarea mai multor funcii dependente de mai multe

variabile

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


5.1.2 Formatarea graficelor de tip X-Y

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

97

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

a.

b.

Fig. 5-3 Seciunea X-Y Axes


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

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

a.

b.

Fig. 5-4 Seciunea Traces


99

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

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

Fig. 5-5 Marcatori pentru grafice n coordonate polare


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

100

Reprezentri grafice

Fig. 5-6 Grafic n coordonate polare


5.1.4 Formatarea graficelor n coordonate polare

Pentru formatare se va proceda ca n cazul graficelor n coordonate XY. Particularitile specifice graficelor n coordonate polare vor fi uor de neles. Declanarea formatrii se face, dup selectarea unui grafic, prin acionarea cmpului Format Graph Polar Plot 5.1.5 Controlul vizualizrii graficelor 2D

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

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

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


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

102

Reprezentri grafice

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


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

103

Capitolul 5

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

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

Reprezentri grafice

a.

Fig. 5-10 Facilitatea zoom


105

b.

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

Fig. 5-11 Zoom n cazul graficelor polare


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

106

Reprezentri grafice

Fig. 5-12 Crearea unui grafic de tip suprafa


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

107

Capitolul 5

Fig. 5-13 Grafic de tip suprafa obinut pornind de la o matrice

108

Reprezentri grafice

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


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

109

Capitolul 5

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

Fig. 5-16 - Grafic de tip suprafa obinut pornind de la ecuaia unei funcii vector
110

Reprezentri grafice

Fig. 5-17 Grafic de tip suprafa obinut pornind de la ecuaia unei funcii de dou variabile

Fig. 5-18 - Grafic de tip suprafa obinut pornind de la ecuaia a trei funcii de dou variabile
111

Capitolul 5

5.2.2

Grafice de tip curbe de nivel (Contour Plot)

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


Pentru includerea ntr-un curbe de nivel (Contour Graph Contour Plot unelte Graph (vezi figura document MathCAD a unui grafic de tip Plot), se poate utiliza cmpul Insert sau butonul corespunztor de pe bara de 5-20).

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

112

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

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

113

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

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

Fig. 5-23 Grafic de tip scatter obinut pornind de la expresia unei funcii vector de dou variabile
114

Reprezentri grafice

Fig. 5-24 Grafic de tip scatter obinut pornind


5.2.4 Grafice de tip 3D Bar

Se pot obine prin acionarea cmpului Insert Graph 3D Bar Plot, sau a butonului indicat i n figura 5-25 de pe bara de instrumente Graph.

de la trei vectori de coordonate

115

Capitolul 5

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


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

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


116

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

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

Fig. 5-27 Seciunea General


117

Capitolul 5

Fig. 5-28 Seciunea Axes

Fig. 5-29 Seciunea Appearance


118

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

Fig. 5-30 Seciunea Lighting


119

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

Fig. 5-31 Seciunea Backplanes

120

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

Fig. 5-32 Seciunea Special

121

Capitolul 5

Fig. 5-33 Seciunea Advanced


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

Fig. 5-34 Seciunea QuickPlot Data

122

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

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

Fig. 5-35 Inserarea unui grafic de tip Vector Plot


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

Capitolul 5

Fig. 5-36 - Grafic de tip Vector


5.3.1 Formatarea graficelor de tip Vector

Se va face utiliznd cmpul Format Graph 2D Plot , cu precizarea c multe din cmpurile casetei de dialog nu vor fi active.

124

Rezolvarea numeric a ecuaiilor i a sistemelor de ecuaii

Obiective

nsuirea tehnicilor numeric a ecuaiilor

de

rezolvare

nsuirea tehnicilor de rezolvare numeri7c a sistemelor de ecuaii

nsuirea tehnicilor de rezolvare a numeric aproximativ a sistemelor de ecuaii

125

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

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

0.5 2 x 2 x 2 = 0
Pot fi obinute i soluii complexe. Funcia folosete metoda LaGuerre sau pe cea a companionului matriceal. Forarea uneia sau alteia dintre metode se face executnd clic dreapta pe numele funciei i alegerea variantei de lucru (vezi figura 6-2).

Fig. 6-1 funcia polyroots

6.2 Rezolvarea ecuaiilor transcendente Pentru ecuaiile de forma:

f ( x) = 0 ,

sau

f ( x) = g ( x) ,

unde

funciile f i g pot avea orice form, se va utiliza funcia root, cu una din sintaxele: root(f(x),x) root(f(x)-g(x),x) root(f(x),x,a,b) root(f(x)-g(x),x,a,b) Semnificaiile notaiilor sunt urmtoarele: 126

Rezolvarea numeric a ecuaiilor i a sistemelor de ecuaii - x este numele variabilei necunoscut - a i b sunt limitele ntre care se va cuta o soluie.

Fig. 6-2 Alegerea algoritmului


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

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

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

Fig. 6-3 Funcia root

6.3 Rezolvarea sistemelor algebrice liniare Pentru un sistem algebric liniar de forma: A x = b , unde A este o matrice ptrat nesingular iar b vectorul termenilor liberi, se poate folosi una din urmtoarele metode de rezolvare: - funcia lsolve; - descompunerile de matrice prezentate n paragraful 4.3. Funcia lsolve care se apeleaz cu sintaxa lsolve(A,b), rezolv sistemul prin inversarea matricei A, adic x = A b , ceea ce impune pruden n cazul sistemelor (matricelor) de mari dimensiuni - ceea ce pentru MathCAD poate nsemna ce depete 20-30 de necunoscute. n astfel de cazuri, sau pentru sistemele instabile (vezi paragraful 4.3) se recomand utilizarea descompunerilor de matrici. n figura 6-4 este prezentat un exemplu de rezolvare a sistemului:
1

128

Rezolvarea numeric a ecuaiilor i a sistemelor de ecuaii


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

Fig. 6-4 Funcia lsolve


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

x1:= a1 x2:=a2
Given Ecuaii. [Constrngeri] Find(x1, x2, x3,xn)

xn:=an

Estimare iniial a soluiei (ca n cazul funciei root)

Opionale

129

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

Fig. 6-5 Funcia Find


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

Fig. 6-6 Operatorul =

Funcia Find poate utiliza diferii algoritmi pentru rezolvarea de sisteme de ecuaii. Alegerea se poate face automat (AutoSelect, sau manual - vezi figura 6-7). 130

Rezolvarea numeric a ecuaiilor i a sistemelor de ecuaii

Fig. 6-7 Alegerea algoritmului utilizat de funcia Find


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

131

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

Fig. 6-8 Utilizarea funciei Minerr


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

132

Derivare i integrare numeric. Calcul de sume i produse

Obiective

Prezentarea tehnicilor de integrare i derivare numerice Calculul de sume i produse n MathCAD

133

Capitolul 7
7.1 Derivarea numeric

Pentru realizarea de derivri numerice se pot folosi operatorii

. Ei pot fi obinui fie prin utilizarea combinaiilor de taste sau ?, respectiv CTRL+SHIFT+?, fie prin folosirea butoanelor de pe bara de instrumente Calculus (vezi figura 7-1).

Fig. 7-1 Operatorii pentru derivare numeric


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

Derivare i integrare numeric. Calcul de sume i produse


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

Fig. 7-2 - Derivri numerice

7.2 Integrarea numeric Pentru calculul de integrale definite se poate folosi operatorul

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

&, fie a butonului corespunztor (


Calculus (vezi figura 7-1).

) de pe bara de instrumente

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

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

Fig. 7-3 Stabilirea algoritmului de calcul a integralei


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

Fig. 7-4 Integrarea numeric

7.3 Calcul de sume i produse Evaluarea numeric a sumelor sau produselor se poate face utiliznd operatorii: 136

Derivare i integrare numeric. Calcul de sume i produse

Au fost precizate i combinaiile de taste aferente fiecrui operator. Se pot utiliza i butoanele barei de instrumente Calculus (vezi figura 7-1). Utilizarea operatorilor este ilustrat n figura 7-5.

Fig. 7-5 - Calcul de sume i produse

137

Utilizarea unitilor de msur n documentele MathCAD

Obiective

Prezentarea modului de lucru cu uniti de msur n MathCAD Utilizarea unitilor de msur n calculul diferenial i integral

139

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

a.

b.

Fig. 8-1 Verificarea omogenitii dimensionale i realizarea de transformri


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

Utilizarea unitilor de msur n documentele Math


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

Fig. 8-2 Inserare de uniti de msur

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

141

Capitolul 8

Fig. 8-3 Definirea de noi uniti de msur, multipli sau submultipli de UM


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

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

142

Utilizarea unitilor de msur n documentele Math

a.

b.

Fig. 8-4 Modificarea unitilor de msur n care este exprimat un rezultat


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

a.

b.

Fig. 8-5 - Modificarea unitilor de msur n care este exprimat un rezultat


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

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

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

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

144

Utilizarea unitilor de msur n documentele Math

Fig. 8-7 Alegerea sistemului de uniti de msur


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

145

Capitolul 8

Fig. 8-8 Schimbarea numelor mrimilor fizice de baz


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

a.

b.

Fig. 8-9 Rezultate exprimate n nume de mrimi fizice sau n nume de uniti de msur
Alte elemente legate de formatarea rezultatelor cu uniti de msur au fost prezentate n paragraful 3.7.

146

Utilizarea unitilor de msur n documentele Math


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

a.

b.

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

147

Schimb de informaie MathCAD i alte aplicaii

ntre

Obiective

Prezentarea modalitilor prin care se poate face schimp de informaie ntre MathCAD i alte aplicaii Windows:
o o o

Excel Matlab Baz de date

Prezentarea modului de lucru cu fiiere de date n MathCAD

149

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

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-1 Structura iniial a documentului MathCAD


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

Fig. 9-2 Structura iniial a documentului Excel


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

151

Capitolul 9

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


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

152

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-4 Stabilirea numrului de variabile de intrare/ieire i a zonelor din Excel unde acestea vor aciona
Dup apsarea butonului Finish, n documentul MathCAD va aprea un obiect ca cel din figura 9-5;

153

Capitolul 9

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


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

Fig. 9-6 Completarea numelor variabilelor de intrare/ieire


154

Schimb de informaie ntre MathCAD i alte aplicaii


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

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


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

Capitolul 9

Fig. 9-8 Structura iniial a documentului MathCAD


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

Fig. 9-9 Prima faz a inserrii unei componente MATLAB


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

Fig. 9-10 Generarea secvenei MATLAB

156

Schimb de informaie ntre MathCAD i alte aplicaii


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

Fig. 9-11 Adugarea de variabile de intrare


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

157

Capitolul 9

a.

b.

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


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

158

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-13 Completarea numelor de variabile


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

Fig. 9-14 Evaluarea variabile de ieire


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

159

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

Fig. 9-15 Structura bazei de date (echivalent aici chiar cu un tabel)


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

Schimb de informaie ntre MathCAD i alte aplicaii


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

Fig. 9-16 Definirea unei noi surse de date


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

161

Capitolul 9

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

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


162

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-19 Stabilirea unui utilizator i a unei parole de acces ulterior


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

163

Capitolul 9

Fig. 9-20 Selectarea legturii la baza de date, precizarea utilizatorului i parolei

Fig. 9-21 Alegerea tabelului din baza de date


164

Schimb de informaie ntre MathCAD i alte aplicaii


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

Fig. 9-22 Stabilirea cmpului (cmpurilor) ce vor fi transmise MathCAD

n documentul MathCAD se va insera o secven de tipul celei din figura 9-23.a. Este obligatorie completarea numelui variabilei de ieire (pentru baza de date), sau de intrare pentru MathCAD (vezi figura 9-23.b);

a.

b.

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

165

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

Fig. 9-24 Evaluarea variabilei de ieire


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

166

Schimb de informaie ntre MathCAD i alte aplicaii

Fig. 9-25 Impunerea unei clauze WHERE

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


167

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

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


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

Schimb de informaie ntre MathCAD i alte aplicaii


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

Fig. 9-28 Formatarea tabelelor de tip Input Table

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

169

Capitolul 9
Check Box ListBox

PushButton RadioButton Slider TextBox

Fig. 9-29 Elemente de control


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

170

Schimb de informaie ntre MathCAD i alte aplicaii


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

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

171

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

Fig. 9-31 Stabilirea tipului de operaie ce se va executa


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

Schimb de informaie ntre MathCAD i alte aplicaii


Comma Separated Values (text n care cmpurile sunt separate prin punct i virgul); Matlab; Excel; Lotus 1-2-3; Quattro Pro; dBase III; S-Plus.

Fig. 9-32 Stabilirea tipului de fiier i a poziiei n structura de directoare


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

173

Capitolul 9

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


Rezultatele sunt prezentate n figura 9-35.

a.

b.

c.

Fig. 9-34 Fiiere ASCII obinute cu ajutorul unei componente de tip File Read or Write

174

Schimb de informaie ntre MathCAD i alte aplicaii


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

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

176

10
Obiective

Programare n MathCAD

Familiarizarea cititorului cu structurile de programare oferite de MathCAD Prezentarea tehnicilor execuiei programelor de control a

177

Capitolul 10
10.1 Prezentare general

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

Fig. 10-1 Exemplu de program MathCAD


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

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

Fig. 10-2 Paleta de butoane Programming


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

a.

b.

Capitolul 10

Fig. 10-3 Marcatori inserai de secvena Add Line


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

Fig. 10-4 Variabile locale


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

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

a.

b.

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


Pentru ilustrarea tehnicilor de programare n MathCAD, mai jos sunt prezentate cteva exemple: 10.2 Instruciunea de test (if)

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

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

a.

Fig. 10-6 Secvena if

b.

Pentru exemplificare, mai jos sunt sugerate cteva probleme rezolvate cu ajutorul secvenei if. 10.2.1 Definirea de funcii pe intervale. n figura 10-7 sunt definite dou funcii cu expresii diferite pe intervale. Cuvntul cheie otherwise se traduce prin n rest.

182

Programare n MathCAD

Fig. 10-7 Funcii definite pe intervale

10.3

Instruciuni de ciclare

Structurile de ciclare permit executarea unei secvene de instruciuni de mai multe ori. Numrul de execuii poate fi cunoscut (ca n cazul secvenei for), sau nu (ca n cazul lui while). Mai jos sunt prezentate cteva exemple simple de utilizare a unor secvente de ciclare. 10.3.1 Instruciunea for 10.3.1.1 Calculul sumei primelor n numere naturale

n figura 10-8 se poate vedea cum arat un program foarte simplu ce calculeaz suma primelor n numere naturale.

183

Capitolul 10

Fig. 10-8 Calcului sumei primelor n numere naturale


10.3.1.2 Calculul lui n!

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

Fig. 10-9 - Calculul lui n!


10.3.1.3 Bucl FOR cu incrementare nentreag

Este posibil proiectarea unei structuri de ciclare utiliznd secvena for, dar cu incrementare nentreag. n figura 10-10 se poate analiza un astfel de exemplu.

Fig. 10-10 Bucl for cu incrementare nentreag


184

Programare n MathCAD
10.3.1.4 Instruciunea while

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

Fig. 10-11 - Secvena while


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

Fig. 10-12 - Calculul lui n!

185

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

Fig. 10-13 - Gsirea primului element al unui vector mai mare dect o anumit valoare
10.4 Controlul execuiei programelor

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

Programare n MathCAD

Fig. 10-14 Utilizarea secvenei break


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

187

Capitolul 10

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

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

188

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

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


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

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

Fig. 10-18 Structura on error

190

Programare n MathCAD

Fig. 10-19 Funcia error


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

10.5

Subrutine (program n program)

Odat o funcie definit printr-o secven de programare MathCAD, este posibil folosirea ei n corpul unui alt program (funcie), cu 191

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

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

Fig. 10-20 Recursivitate

192

11
Obiective

Calcul simbolic

Familiarizarea cititorului cu facilitile oferite de MathCAD n domeniul calcului simbolic Prezentarea simbolic tehnicilor de evaluare

193

Capitolul 12
11.1 Prezentare general

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

Fig. 11-1 Exemple de evaluri simbolice


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

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


194

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

Modul de selectare

Fig. 11-3 Selectarea unei variabile dintr-o expresie ce se va evalua simbolic


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

195

Capitolul 12
11.2 Modaliti de evaluare simbolic

11.2.1 Evaluarea simbolic

cu

ajutorul

operatorului

de

evaluare

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

CTRL +. F9 sau clic stnga n afara expresiei

Fig. 11-4 Utilizarea operatorului de evaluare simbolic


196

Animaie n MathCAD

Fig. 11-5 Operatorul de evaluare simbolic


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

Pentru realizarea de evaluri simbolice de un anumit tip, se recomand utilizarea urmtoarei tehnici: se selecteaz expresia de evaluat; se tasteaz combinaia de taste CTRL + SHIFT + . , sau se folosete butonul (vezi figura 11-6);

Fig. 11-6 Operatorul de evaluare cu cuvnt cheie


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

a.

b. 197

Capitolul 12

Fig. 11-7 Evaluarea simbolic cu cuvnt cheie


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

c.

Fig. 11-8 Bara de instrumente Symbolic


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

198

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

- Evaluare cu cuvntul cheie complex

Se observ c n cel de-al doilea caz rezultatul are prile imaginar i real bine separate. float, [m] Foreaz evaluarea numeric cu m (0m250) cifre (care includ i partea ntreag, dar nu i punctul zecimal) a unei expresii. Dac parametrul m lipsete, valoarea implicit a numrului de zecimale este 20. Exemple: Simplific (prin reduceri de termeni, simplificri, sau prin utilizarea formulelor trigonometrice sau a funciilor inverse) o expresie.

simplify

Exemple:

expand, [expr]

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

Exemple:

199

Capitolul 12
- Evaluare fr parametrul expr

- Evaluare cu parametrul expr

factor, [expr]

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

Exemple:

200

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

Exemple:

- Rezolvarea unei ecuaii

- Rezolvarea unui sistem

collect, var1varn

Ordoneaz o expresie n ordinea descresctoare a puterilor variabilelor precizate de var1,varn.

Exemple:

coeffs, var

ntoarce sub forma unui vector coeficienii polinomiali ai expresiei argument, n raport cu variabila var.

Exemple:

201

Capitolul 12

sau

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

Exemple:

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

Exemple:

202

Animaie n MathCAD

convert, parfrac, var

Transform o expresie ntr-o sum de fracii simple. Parametrul var precizeaz variabila ce se va considera pentru determinarea fraciilor simple.

Exemple:

fourier, var

Calculeaz transformata Fourier a unei expresii n raport cu variabila var. Rezultatul este o funcie de forma:
+

f (t ) e

it

dt , unde f(t) este funcia pentru

Exemple:

care se determin transformata Fourier.

203

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

Exemple:

laplace, var

Calculeaz transformata Laplace a unei expresii n raport cu variabila var. Rezultatul este o funcie de forma:

f (t ) e
0

st

dt , unde f(t) este funcia pentru

care se determin transformata.

Exemple:

204

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

Exemple:

ztrans, var

Calculeaz transformata Z a unei expresii n raport cu variabila var. Rezultatul este o funcie de forma:

f ( n) z
n =0

, unde f(n) este funcia pentru care se

Exemple:

determin transformata.

205

Capitolul 12
Se menioneaz c n stnga liniei verticale sunt prezentate semnalele continui de la care s-a plecat. Expresia ce sufer efectul evalurii cu cuvntul cheie ztrans, reprezint semnalul discret. Pentru cteva detalii suplimentare legate de transformata Z, vezi notele ce urmeaz imediat dup tabelul curent. invztrans, var Calculeaz inversa transformrii Z pentru o expresie, n raport cu variabila var. Rezultatul este o funcie de forma: 1 F ( z ) z n 1 dz , unde F(z) este funcia 2 i C pentru care invers. se determin transformata

Exemple:

assume constraint

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

Exemple:

Transformata Z se folosete pentru prelucrarea semnalelor eantionate (digitale), obinute n urma unui traseu ca cel din figura 11-9. 206

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

Fig. 11-9 - Circuit de formare a semnalului eantionat xT(t) i a semnalului numeric xd(t), din semnalul continuu x(t)
Dac se noteaz cu x[n] semnalul numeric, relaia folosit pentru calculul transformatei Z este :

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

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

Fig. 11-10 - Semnal continuu i semnal eantionat


207

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

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

208

Animaie n MathCAD

Fig. 11-12 Modificatori de cuvinte cheie


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

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

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

Tehnica de lucru pentru ntrebuinarea succesiv a mai multor cuvinte cheie este urmtoarea: 1. Se scrie expresia de evaluat; 209

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

3. Se apas ENTER pentru obinerea primului rezultat. Se va ajunge la:

4. Se face clic stnga pe rezultat i se insereaz nc odat operatorul . Se ajunge la:

5. n marcatorul liber se completeaz noul cuvnt cheie. Se poate ajunge la:

6. Se apas ENTER pentru obinerea noului rezultat, adic (n cazul exemplului prezentat):

7. Se pot insera n continuare noi cuvinte cheie. 11.2.4.2 cheie Utilizarea simultan a mai multor cuvinte

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

Animaie n MathCAD

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

4. Se scrie al doilea cuvnt cheie:

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

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

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

Fig. 11-13 Evaluri simbolice

212

Animaie n MathCAD
Expresie Cmp din meniul Symbolic Rezultat

Fig. 11-14 Calcul integral i diferenial simbolic

213

Capitolul 12
Expresie Cmp din meniul Symbolic Rezultat

Fig. 11-15 Transformarea n fracii simple


Expresie Cmp din meniul Symbolic Rezultat

Fig. 11-16 Determinarea coeficienilor polinomiali


214

Animaie n MathCAD
Expresie Cmp din meniul Symbolic Rezultat

Fig. 11-17 Calculul simbolic al valorilor proprii

Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-18 Calculul simbolic al determinantului unei matrice

215

Capitolul 12

Expresie

Cmp din meniul Symbolic

Rezultat

Fig. 11-19 Evaluarea simbolic a unor inegaliti

Rezultatul obinut la evaluarea celei de a doua inegaliti se poate nc prelucra, aa cum se poate vedea n figura 11-20.

216

Animaie n MathCAD

a.

b.

c.

Fig. 11-20 Prelucrarea suplimentar a rezultatului evalurii unei inegaliti


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

217

Capitolul 12
1 2 3 4

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


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

Fig. 11-22 Formatarea rezultatelor simbolice


218

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

Fig. 11-23 Formatarea rezultatelor simbolice


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

219

12
Obiective

Animaie n MathCAD

Familiarizarea cititorului cu tehnicile de realizare de animaii oferite de MathCAD

221

Capitolul 12
12.1 Crearea i rularea unei animaii

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

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

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

Fig. 12-1 Crearea unei animaii


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

223

Capitolul 12

Fig. 12-2 Rularea animaiei


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

Fig. 12-3 Animarea unei regiuni de tip grafic


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

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

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

Fig. 12-4 Alegerea metodei de compresie


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

Capitolul 12

Fig. 12-5 Controlul calitii animaiei


12.3 Rularea unei aplicaii salvate anterior

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

Fig. 12-6 Rularea unei animaii creat anterior


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

13
Obiective

Operatori personalizai

Familiarizarea cititorului cu facilitile oferite de MathCAD pentru definirea de operatori particularizai (alii dect cei predefinii)

227

Capitolul 13
13.1 Introducere

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

Fig. 13-1 Tipuri de operatori personalizai

228

Operatori personalizai
13.2 Definirea i utilizarea operatorilor personalizai

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

Fig. 13-2 Definirea i utilizarea operatorilor personalizai


229

14
Obiective

Fiiere ablon (template)

Prezentarea noiunii de fiier ablon nsuirea tehnicilor de modificare a unui ablon creare sau

231

Capitolul 14
14.1 Introducere

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

Fig. 14-1 Deschiderea unui document nou MathCAD


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

232

Fiiere ablon (template)

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


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

233

Capitolul 14

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

14.2

Crearea unui [fiier] ablon

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

Fiiere ablon (template)

Fig. 14-4 Salvarea unui fiier ca ablon


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

235

Capitolul 14

Fig. 14-5 Alegerea unui ablon prin folosirea butonului

14.3

Modificarea unui ablon

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

236

15

Formatarea de tiprirea n MathCAD

pagin

Obiective

Familiarizarea cititorului cu tehnicile de tiprire oferite de MathCAD Prezentarea modului de control al paginii n MathCAD

237

Capitolul 15
15.1 Formatarea de pagin

Stabilirea elementelor de control al paginii se face cu ajutorul cmpului File Page Setup. Caseta de dialog Page Setup, prezentat de altfel n figura 15-1, permite setri de baz care nu necesit explicaii suplimentare.

Fig. 15-1 Controlul paginii


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

Formatarea de pagin i tiprirea n MathCAD


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

Fig. 15-2 Controlul antetelor i subsolurilor

239

Capitolul 15
15.2 Tiprirea

Procesul de tiprire este declanat i controlat de caseta de dialog Print, deschis prin utilizarea cmpului File Print (vezi figura 15-3).

Fig. 15-3 Caseta de dialog Print


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

Formatarea de pagin i tiprirea n MathCAD


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

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


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

241

Capitolul 15

Fig. 15-5 Structura unui document MathCAD


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

242

Interpolarea i extrapolarea datelor. Metode de regresie

16

Obiective

Familiarizarea cititorului cu tehnici de prelucrare a datelor experimentale oferite de MathCAD Interpolare Extrapolare Regresie

243

Capitolul 16
16.1 Interpolarea datelor n 2 dimensiuni

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

Fig. 16-1 Interpolare liniar


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

Interpolarea i extrapolarea datelor. Metode de regresie


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

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


16.1.1 Funcia linterp

linterp (vx, vy, x), unde:


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

245

Capitolul 16
x este valoarea abscisei pentru care se dorete valoarea corespunztoare de pe ordonat. Ea va fi determinat prin interpolare, aici liniar.

16.1.2 Funcia interp

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

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

16.1.3 Funciile scpline, pspline i lspline

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

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

Interpolarea i extrapolarea datelor. Metode de regresie


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

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


247

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

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

c=y0<y1<yn=d.

248

Interpolarea i extrapolarea datelor. Metode de regresie

Fig. 16-4 - Graficele curbelor de interpolare


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

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

Interpolarea i extrapolarea datelor. Metode de regresie


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

251

Capitolul 16

Fig. 16-5 Interpolarea 3D

252

Interpolarea i extrapolarea datelor. Metode de regresie

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

16.3

Extrapolarea datelor

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

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

i 10

valori n intervalul 130, dincolo de limita superioar a argumentului 253

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

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

Fig. 16-7 Extrapolarea datelor

254

Interpolarea i extrapolarea datelor. Metode de regresie


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

255

Capitolul 16

Fig. 16-8 Regresie liniar


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

256

Interpolarea i extrapolarea datelor. Metode de regresie


interp (vs, vx, vy, x) ntoarce valoarea interpolat y corespunztoare lui x (ultimul argument). Parametrul vs este preluat de la funcia regress sau loess.

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

257

Capitolul 16

Fig. 16-9 Regresie polinomial

n figura 16-10 sunt prezentate punctele (Yi) precum i datele obinute prin regresie.

258

Interpolarea i extrapolarea datelor. Metode de regresie

Fig. 16-10 Reprezentarea punctelor i a rezultatelor regresiei


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

259

Capitolul 16

Fig. 16-11 - Graficul polinomului de interpolare


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

Interpolarea i extrapolarea datelor. Metode de regresie


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

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

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

s aproximeze cu eroare minim setul de date considerat. Funcia care realizeaz interpolarea/aproximarea unui set de date prin metoda combinaiei liniare de funcii, este linfit i are sintaxa: linfit (vx, vy, F) - funcia ntoarce un vector care conine coeficienii ai din relaia de mai sus. Vectorii vx i vy definesc setul de date analizat i trebuie s aib acelai numr de elemente. n plus, elementele lui vx trebuie s fie n ordine cresctoare. F este un vector care conine setul de funcii fi. 261

Capitolul 16 F i vx sau vy NU trebuie n mod obligatoriu - s aib


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

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

1 + 3.587 10 4 e x x +1

n figura 16-12 se poate vedea cum ar arta un document MathCAD care determin combinaia liniar de funcii ce aproximeaz un set de date.

Fig. 16-12 Determinarea coeficienilor funciilor


262

Interpolarea i extrapolarea datelor. Metode de regresie


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

Fig. 16-13 Reprezentarea funciei de aproximare


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

Spre deosebire de aproximarea prin utilizarea combinaiilor liniare de funcii, care pornea de la un set de funcii complet determinate i 263

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

f ( x) = e a0 x + a1 x

+ a2 (1+ x ) 0.8

Documentul MathCAD arta ca n figura 16-14.

264

Interpolarea i extrapolarea datelor. Metode de regresie

Fig. 16-14 Metoda funciei arbitrare


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

265

Capitolul 16

Fig. 16-15 Reprezentarea datelor i a funciei arbitrare

266

Prelucrarea Analiza Fourier

17

semnalelor

Obiective

Familiarizarea cititorului cu facilitile oferite de MathCAD pentru calcului transformatei Fourier discrete sau a integralei Fourier

267

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

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

Fig. 17-1 Semnal n domeniul timpului


268

Prelucrarea semnalelor - Analiza Fourier


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

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

unde

(t) este funcia treapt data de relaia:

0, pentru x < 0 (t ) = 1, in rest


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

Fig. 17-2 Integrala Fourier


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

f ( ) :=

e id

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

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

Fig. 17-3 - Integrala Fourier


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

Fig. 17-4 Transformata Fourier invers


270

Prelucrarea semnalelor - Analiza Fourier


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

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

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


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

fc =

1 2 t

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

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

Fig. 17-5 - Fenomenul de aliasing


Odat aceste observaii fcute, se va trece la o succint prezentare a funciilor MathCAD ce realizeaz transformata Fourier discret. ntoarce transformata Fourier a vectorului v. Vectorul v trebuie s aib 2m elemente reale, astfel c transformata va avea 1+2m-1 elemente. Elementul de ordin j este dat de relaia:

fft(v)

cj =

i( 1 vk e n k

2 j )k n

272

Prelucrarea semnalelor - Analiza Fourier


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

FFT(v)

cj =

i ( 1 vk e n k

2 j )k n

cfft(A)

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

cj =

i( 1 vk e n k

2 j )k n

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

cj =

i ( 1 vk e n k

2 j )k n

Pentru toate aceste transformri directe, exist i transformrile inverse, dup cum urmeaz: fft(v) cfft(A) FFT(v) CFFT(A) ifft(u) icfft(B) IFFT(u) ICFFT(B) 273

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

ck =

j fs N

Pentru a evita fenomenul de aliasing, trebuie ca frecvena de eantionare s fie mai mic dect frecvena Nyquist, deci:

fs < fc =

1 2 t

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

Prelucrarea semnalelor - Analiza Fourier


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

275

Capitolul 17

Fig. 17-6 Semnalul iniial


276

Prelucrarea semnalelor - Analiza Fourier


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

Fig. 17-7 Transformata Fourier discret

277

Capitolul 17

Fig. 17-8 Informaia de faz

278

18
proprii Obiective

Probleme de valori i vectori

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

279

Capitolul 18
18.1 Baza teoretic

Dac A este o matrice ptrat cu dimensiunea n x n, se spune c ea are un vector propriu x, corespunztor valorii proprii z, dac:

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

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

a12 a1n x1 ... a11 z a a z a ... 22 2n x2 21 = 0 ... ... an2 ... a nn z a n1 xn


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

Probleme de valori i vectori proprii


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

i xiT M j x j =

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

xi i xj sunt vectorii proprii considerai. n afar de relaia (1), problemele de valori i vectori proprii se mai pot prezenta i sub forma unei relaii de tipul:

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

Prelucrarea relaiilor (1) i (5), permite enunarea urmtoarelor propoziii: vectorii proprii la stnga sunt transpuii vectorilor proprii la dreapta ai matricei transpuse; valorile proprii la stnga i la dreapta sunt egale.

281

Capitolul 18
18.2 Valori i vectori proprii generalizai

Problema generalizat de vectori proprii este descris de relaia urmtoare:

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

( B 1 A) x = z x
18.3 Valori i vectori proprii neliniari

O generalizare a problemelor de valori i vectori proprii este cazul descris de ecuaia:

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

282

Probleme de valori i vectori proprii


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

eigenvec(M,z)

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

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

283

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

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


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

Probleme de valori i vectori proprii

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


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

285

Capitolul 18

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


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

Fig. 18-4 Verificarea normalitii vectorilor proprii

286

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

datelor experimentale cu calculatoare numerice, Editura Tehnic


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

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

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

recipes in C -The art of scientific computing, Cambridge


University Press, Cambridge, 1992 287

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

difereniale i cu derivate pariale, Editura Didactic i


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

288

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