Sunteți pe pagina 1din 101

Olivia Florea

Olivia Florea 1

1

CUPRINS

Capitolul 1

maple

1.2 modul de lucru document 1.3 introducerea expresiilor matematice

1.4. Utilizarea programului de ajuror – maple help

1.1 Scurta introducere in

1.5.

Utilizarea paletelor

Capitolul 2

maple

2.2. Operatii cu numere intregi 2.3. Operatii cu numere rationale

2.4. Operatii cu numere complexe

2.5. Polinoame si functii rationale

2.6. Rezolvari de ecuatii si inecuatii Capitolul 3 Pachete uzuale si calcule simbolice 3.1. Pachetul realdomain

3.2. Functii

2.1. Calcule numerice cu

………………………………………………5

8

8

………………………………………………12

13

………………………………………………15

16

17

17

18

21

………………………………………………22

………………………………………………24

3.3.

Matematici financiare

25

3.4.

Limite

………………………………………………27

3.5.

Derivari si diferentieri

27

3.6. Integrale

Capitolul 4

plan

Capitolul 5 Conice

5.1. Cercul

Geometrie analitica in

………………………………………………27

………………………………………………28

………………………………………………34

 

5.2 elipsa

………………………………………………34

5.3.

Parabola

………………………………………………35

5.4. Hiperbola

Capitolul 6.

Geometrie in spatiu.

6.1. Punctul

6.2. Segment si segment orientat

6.3. Dreapta

6.4. Planul

6.5. Sfera 6.6. Tetraedrul regulat

6.7. Tetraedul neregulat 6.8. Paralelipipedul

Capitolul 7 Algebra liniara Capitolul 8

plan

8.2. Reprezentari de functii in spatiu 8.3. Reprezentari grafice utilizand mediul plots 8.4. Reprezentarea grafica a functiilor implicite 8.5. Reprezentari grafice de functii vector si suprafete

8.1. Reprezentari grafice de functii in

………………………………………………36

………………………………………………38

………………………………………………38

38

………………………………………………39

………………………………………………39

………………………………………………40

42

43

………………………………………………43

44

………………………………………………48

53

56

………………………………………………57

………………………………………………62

2

8.6. Reprezentari grafice de functii in planul complex Capitolul 9

Pachetul plottools

Capitolul 10 Introducere in

programare Capitolul 11 Mapleturi Capitolul 12 Reprezentari practice folosind notiuni de programare Anexe 1 Teme de laborator Bibliografie

………………………………………………64

………………………………………………65

………………………………………………69

………………………………………………73

………………………………………………76

………………………………………………82

………………………………………………101

3

PREFATA

Maple este unul dintre cele mai noi softuri pentru rezolvarea problemelor de matematica si crearea de aplicatii tehnice interactive. Intuitiv si usor de realizat, acesta ofera cele mai avansate, complete capabilitati matematice. Maple permite crearea de documente tehnice executabile care ofera atât răspunsul cat si analiza modului de gandire. Documentele Maple combina perfect calcule numerice şi simbolice, explorari, notaţia matematice, documentare, butoane şi glisante, grafică, şi animaţii. Milioane de ingineri, oameni de ştiinţă, matematicieni, profesori şi studenţi din întreaga lume beneficiază de tehnologia Maple. Utilizand software-ul Maple, aveţi posibilitatea să creaţi documente interactive puternice. Puteţi vizualiza şi anima probleme în două şi trei dimensiuni. Puteţi rezolva probleme complexe printr-un simplu click de mouse sau interfeţe uşor de modificat documente interactive. Puteţi, de asemenea, să elaborati soluţii personalizate folosind limbajul de programare Maple.

4

Capitolul 1 1.1 SCURTA INTRODUCERE IN MAPLE

Programul se lanseaza in executie din mediul Windows, prin selectia pictogramei Maple. Se deschide o fereastra ca in figura 1.1 formata din urmatoarele bare: bara de titlu, bara de meniuri, bara de unelte, bara de context. In partea stanga exista coloana de palete, iar in partea dreapta suprafata de lucru propriu-zisa.

iar in partea dreapta suprafata de lucru propriu-zisa. Fig.1.1. Bara de meniuri este prezentata in figura

Fig.1.1.

Bara de meniuri este prezentata in figura 1.2.

Fig.1.1. Bara de meniuri este prezentata in figura 1.2. Fig. 1.2. Bara de unelte este prezentata

Fig. 1.2. Bara de unelte este prezentata in figura 1.3.

1.2. Fig. 1.2. Bara de unelte este prezentata in figura 1.3. Fig. 1.3. Prezentam butoanele barei

Fig. 1.3. Prezentam butoanele barei de unelte din figura 1.3. in detaliu:

5

CREATE A NEW FILE - crearea unei noi foi de lucru (WORKSHEET)OPEN A FILE – deschiderea unei noi foi de lucru SAVE THE ACTIVE FILE –

OPEN A FILE – deschiderea unei noi foi de lucruCREATE A NEW FILE - crearea unei noi foi de lucru (WORKSHEET) SAVE THE ACTIVE FILE

SAVE THE ACTIVE FILE – salvarea foii de lucruOPEN A FILE – deschiderea unei noi foi de lucru PRINT – listarea foii de lucru

PRINT – listarea foii de lucrufoi de lucru SAVE THE ACTIVE FILE – salvarea foii de lucru PRINT PREVIEW – previzualizarea

PRINT PREVIEW – previzualizarea foii de lucru inainte de imprimare– salvarea foii de lucru PRINT – listarea foii de lucru CUT – ducuparea textului selectat

CUT – ducuparea textului selectat din foaia de lucru in memoria intermediara– previzualizarea foii de lucru inainte de imprimare COPY – copierea textului selectat din foaia de

COPY – copierea textului selectat din foaia de lucru in memoria intermediaratextului selectat din foaia de lucru in memoria intermediara PASTE – lipirea continutului din memoria intermediara

PASTE – lipirea continutului din memoria intermediara in foaia de lucru activetextului selectat din foaia de lucru in memoria intermediara UNDO THE LAST OPERATION – anularea ultimei

UNDO THE LAST OPERATION – anularea ultimei operatii facutedin memoria intermediara in foaia de lucru active REDO THE LAST UNDONE OPERATION – refacerea ultimei

REDO THE LAST UNDONE OPERATION – refacerea ultimei operatii anulateUNDO THE LAST OPERATION – anularea ultimei operatii facute INSERT PLAIN TEXT – inserarea textului INSERT

INSERT PLAIN TEXT – inserarea textuluiLAST UNDONE OPERATION – refacerea ultimei operatii anulate INSERT MAPLE INPUT – insereaza continut Maple ENCLOSE

INSERT MAPLE INPUT – insereaza continut Mapleoperatii anulate INSERT PLAIN TEXT – inserarea textului ENCLOSE THE SELECTION IN A SUBSECTION – realizeaza

ENCLOSE THE SELECTION IN A SUBSECTION – realizeaza subsectiunitextului INSERT MAPLE INPUT – insereaza continut Maple REMOVE ANY SECTION ENCLOSING THE SELECTION – anuleaza

REMOVE ANY SECTION ENCLOSING THE SELECTION – anuleaza sectiunile facuteTHE SELECTION IN A SUBSECTION – realizeaza subsectiuni MOVE BACKWARD TO PREVIOUS WORKSHEET IN THE HYPERLINK

MOVE BACKWARD TO PREVIOUS WORKSHEET IN THE HYPERLINK HSTORY – deplasare la foaia de lucru precedentaENCLOSING THE SELECTION – anuleaza sectiunile facute MOVE FORWARD TO NEXT WORKSHEET IN THE HYPERLINK HSTORY

MOVE FORWARD TO NEXT WORKSHEET IN THE HYPERLINK HSTORY – deplasare la foaia de lucru urmatoareHYPERLINK HSTORY – deplasare la foaia de lucru precedenta EXECUTE THE ENTIRE WORKSHEET – refacerea comenzilor

EXECUTE THE ENTIRE WORKSHEET – refacerea comenzilor pe intraga foaie de lucrude lucru precedenta MOVE FORWARD TO NEXT WORKSHEET IN THE HYPERLINK HSTORY – deplasare la foaia

6

EXECUTE ALL SELECTED GROUPS – refacerea comenzilor din grupul selectatINTERRUPT THE CURRENT OPERATION – intreruperea operatiei in lucru DEBUG THE CURRENT OPERATION – gasirea

INTERRUPT THE CURRENT OPERATION – intreruperea operatiei in lucruSELECTED GROUPS – refacerea comenzilor din grupul selectat DEBUG THE CURRENT OPERATION – gasirea erorii in

DEBUG THE CURRENT OPERATION – gasirea erorii in operatia curentaTHE CURRENT OPERATION – intreruperea operatiei in lucru RESTART MAPLE SERVER – repornirea serverului maple pentru

RESTART MAPLE SERVER – repornirea serverului maple pentru golirea memoriei interneTHE CURRENT OPERATION – gasirea erorii in operatia curenta ZOOM 100% - marirea suprafetei de lucru

ZOOM 100% - marirea suprafetei de lucru la 100%repornirea serverului maple pentru golirea memoriei interne ZOOM 150% - marirea suprafetei de lucru la 150%

ZOOM 150% - marirea suprafetei de lucru la 150%interne ZOOM 100% - marirea suprafetei de lucru la 100% ZOOM 200% - marirea suprafetei de

ZOOM 200% - marirea suprafetei de lucru la 100%la 100% ZOOM 150% - marirea suprafetei de lucru la 150% TOGGLE ENTRY OF TAB CHARACTERS

TOGGLE ENTRY OF TAB CHARACTERS WITH TAB KEY – schimbarea modului de introducere a tastei tabla 150% ZOOM 200% - marirea suprafetei de lucru la 100% OPEN THE HELP SYSTEM -

OPEN THE HELP SYSTEM - deschiderea programului de ajutorTAB KEY – schimbarea modului de introducere a tastei tab GESTIONAREA FISIERELOR In Maple Cursorul este

GESTIONAREA FISIERELOR

In Maple Cursorul este reprezentat prin simbolul: [>. Daca dupa o comanda este pus semnul “:” atunci aceasta este evaluata, insa nu este afisata pe foaia de lucru. Daca acest semn lipseste atunci pe foaia de lucru apare rezultatul operatiei cerute. De exemplu:

de lucru apare rezultatul operatiei cerute. De exemplu: Apelarea calculelor precedente se face cu simbolurile: %

Apelarea calculelor precedente se face cu simbolurile: % pentru apelarea ultimului rezultat si cu %% pentru penultimul rezultat

7

Observam ca semnul procent % se refera la rezultatul precedent, iar semnul dublu procent %%

Observam ca semnul procent % se refera la rezultatul precedent, iar semnul dublu procent %% se refera la rezultatul de dinaintea celui precedent

1.2 MODUL DE LUCRU DOCUMENT

Deschiderea unei fereste document se face de la meniul File New Document Mode sau utilizand combinatia te taste CTRL+N. Modul de lucru Document permite realaizarea rapida de calcule. Pot fi introduce si evaluate expresii matematice, rezolvarea de ecuatii sau reprezentate functii fara a fi necesara inserararea de instructiuni. Salvarea unui document Maple se face de la maniul FILE SAVE. Extensia fisierelor create este .mw (Maple Worksheet)

1.3 INTRODUCEREA EXPRESIILOR MATEMATICE

Pentru a trece de la modul Text la modul Math putem folosi tasta shortcut F5. Fractii rationale: se introduce numaratoru, se pune /, se introduce numitorul, apoi cu ajutorul tastei sageata la dreapta se iese din fractie; Ex: 2/5 Puteri: se introduce baza, se pune ^, se introduce exponentul, apoi cu ajutorul sagetii la dreapta se iese din putere; Ex 5^3 Produse: se introduce primul factor, se pune *, se introduce cel de-al doilea factor; Ex. 3*2 Radicali: comanda sqrt: Ex. sqrt(25) Pentru ca rezultatul sa fie dat pe acelasi rand trebuie folosita combinatia de taste CTRL= Pentru a prelua o comanda din lista de comenzi se introduce doua litere si apoi combinatia de taste CTRL+Space, vezi figura:

8

Pentru a efectua operatii asupra unei expresii se da clic dreapta pe aceasta. Se deschide

Pentru a efectua operatii asupra unei expresii se da clic dreapta pe aceasta. Se deschide un meniu vertical (popup menu) ca in figura, numit Context Menu:

vertical (popup menu) ca in figura, numit Context Menu: Explicam in detaliu ce face fiecare comanda:

Explicam in detaliu ce face fiecare comanda:

Evaluate efectueaza calculul pe randul de jos Evaluate and display inline efectueaza calculul pe acelasi rand

9

Apply a Command se deschide o fereastra de dialog in care trebuie introdusa comanda ce se

doreste a fi aplicata functiei si variabila in raport cu care sa fie efectuata comanda. De

exemplu dorim sa derivam functia ln(x) . Pentru aceasta vom introduce comanda diff si

variabila x ca in figura

vom introduce comanda diff si variabila x ca in figura Assign to a name unei functii

Assign to a name unei functii i se asigneaza un nume pentru a fi apelata ulterior si pentru a nu

mai fi rescrisa inca odata. De exemplu sa denumim functia

1 ln 2 x + 3
1
ln
2
x
+ 3

introducem functia

sin

 1  ln  2 x + 3 
1
ln
2
x
+ 3

   . Pentru usurinta vom scrie doar sin(test).

test. Si apoi

sa

Differentiate permite derivarea functiei in raport cu variabila dorita.

Evaluate at a Point calculeaza expresia data in punctul dorit de cerinta problemei.

Expand desface un produs de factori.

Factor descompune in factori ireductibili un polinom.

Implicit Differentiation conduce la obtinrea ecuatiei diferentiale pentru functia ceruta.

Integrate integrarea functiei

Series dezvoltarea in serie Taylor

Simplify aducerea la forma cea mai simpla a unei expresii algebrice

Solve rezolvarea unei ecuatii sau a unui sistem de ecuatii.

Complex Maps operatii cu numere complexe: argumentul, conjugatul, partea imaginara,

partea reala, modulul unui numar complex.

Constructions permite scrierea expresiilor pentru integrala definita, diferentiala functiei,

evaluarea functiei intr-un punct, integrala nedefinita, limite, produse si sume

Conversions permite convertirea mediului de lucru Maple in Latex.

Integer functions operatii aritmetice ca:

- ceiling: cel mai mare numar intreg x

10

-

floor: partea intreaga a numarului x

- fractional part: partea fractionala a numarului x;

- round: rotunjirea pana la cel mai apropiat intreg

- truncate: rotunjire pana la interegul cel mai apropiat de zero.

Integral transforms utilizeaza calculul operational cu transformatele Fourier, Laplace, Hankel,

Hilbert

Language

Conversions

converte

limbajul

Maple

in

limbaj

C,

Fortran,

Matlab,

Java,

VisualBasic

Optimization optimizarea solutiei (maximizare, minimizare);

Plots reprezentare grafica a functiei in plan (2D) si in spatiu (3D);

Exemple:

1 1 1. Sa se calculeze derivata in punctul x = pentru ln . 2
1
1
1. Sa se calculeze derivata in punctul
x =
pentru
ln
.
2
2
x
+ 3
Pasul1. introducem de la tastatura

Pasul2. dam click si alegem Differentiate x. Pe foaia de lucru apare rezultatul derivatei

functiei date

Pasul3. dam din nou click dreapta si alegem Evaluate at a Point. Pe ecran apare o fereastra in

care introducem valoarea pentru

x =

1 . Dam click pe Ok
2

Cerinta rezolvata cu Maple are urmatoarea forma:

pe Ok 2 Cerinta rezolvata cu Maple are urmatoarea forma: 2. Sa se determine solutia sistemului

2. Sa se determine solutia sistemului de ecuatii:

x

x

+

y

y

= 1

= 0

sistemului de ecuatii:  x x   + − y y = 1 = 0

3.

1

Sa se dezvolte in serie Taylor in jurul punctului x = 0 functia 1x

cu 6 termeni.

y y = 1 = 0 3. 1 Sa se dezvolte in serie Taylor in jurul

11

4. Sa se determine argumentul, partea reala, partea imaginara, modului si conjugatul expresiei

z + 2 unde

z =

1 + i

2

3 i

conjugatul expresiei z + 2 unde z = 1 + i 2 − 3 i 1.4.

1.4. UTILIZAREA PROGRAMULUI DE AJUROR – MAPLE HELP

De la meniul HELP MEPLE HELP sau cu ajutorul combinatiei de taste: CTRL+F1. Se deschide o fereastra ca cea din figura:

taste: CTRL+F1. Se deschide o fereastra ca cea din figura: In cazul in care utilizatorul are

In cazul in care utilizatorul are nevoie de informatii despre o anumita instructiune, la propterul de Maple poate introduce “?instructiune” si se va deschide fereastra de Help cu informatii despre acea instructiune. De exemplu ?int deschide fereastra de mai jos:

12

1.5. UTILIZAREA PALETELOR In partea stanga a feresteri de lucru exista o lista de butoane,

1.5. UTILIZAREA PALETELOR

In partea stanga a feresteri de lucru exista o lista de butoane, fiecare dinte ele continand anumite caractere/simboluri:

Accents cuprinde paleta tuturor simbolurilor ce sunt puse deasupra caracterelor (de ex. Vectori, derivate, acolade, etc.) Layout paleta indicilor inferiori, superiori, module, norme, parti intregi, etc. Roman Extended Lower Case – caractere diacritice minuscule Roman Extended Upper Case – caractere diacritice majuscule Diacritical Marks – simboluri diacritice Cyrillic – caractere chirilice Handwriting – deschide o fereastra in care exista posibilitatea de a introduce caracterul scris de mana si programul Maple s ail interpreteze Expression - este una dintre cele mai utilizate palete. Permite introducerea simbolurilor pentru: integrale, definire de functii, derivate, module, exponentiale, logaritmi, etc. Units (SI), (FPS) – permite introducerea unitatilor de masura in sistem international respective in sistemul bazat pe picior, secunda si greutate (foot, second, pounds mass) Common symbols - simboluri des utilizate( ca de ex: sume, produse, integrale, derivate, multimi de numere, adunari, scaderi, intersectii, reuniuni)

13

Matrix – inserarea blocurilor matriceale Components – inserarea de component necesare crearii unui document: boton, check box, zona de text, zona de graphic, etc. Drawing Properties – permite selectare culorii pentru o linie sau umplerea desenului

Canvas Properties – permite modificarea liniilor si fundalului suprafetei de lucru

Greek – caractere grecesti Arrows – inserarea de sageti Relational – inserarea de relatii matematice (=, <, >, etc.) Relational round - inserarea de relatii matematice rotunjite (apartenente, reuniuni, incluziuni, etc. ) Negated – inserarea simbolurilor de negare pentru construirea expresiilor Large Operators – inserarea operatorilor mari pentru construirea expresiilor Operators – inserarea de operatori pentru construirea expresiilor Open Face – caracterele alfabetului majuscule dublate Fractur, Script - caracterele alfabetului italic Miscellaneous - cateva caractere diferite de cele prezentate (dreptunghi, triunghi, cerc, simboluri de carti de joc, etc) Fenced – diferite tipuri de paranteze Punctuation - diferite semen de punctuatie Constants and symbols – diferite constante si simboluri matematice

14

Capitolul 2

2.1. CALCULE NUMERICE CU MAPLE

Operatiile de baza in Maple sunt:

+ adunarea - scaderea * inmultirea / impartirea ^ sau ** puterea

Functii matematice elementare care fac softul mathematic sa se comporte ca un calculator stiintific sunt:

abs(x) reprezinta valoarea absoluta a unui numar

x

sqrt(x) reprezinta radicalul unui numar x

log(x) reprezinta logaritmul natural al unui numar exp(x) reprezinta functia exponentiala sin(x) functia sinus cos(x) functia cosinus tan(x) functia tangenta cot(x) functia cotangenta arcsin(x) functia trigonometrica inverse a lui sinus arccos(x) functia trigonometrica inverse a lui cosinus Atribuirea unui nume unui numar/valori/expresii se face prin := astfel:

> E := 2x + 3 Acest lucru este necesar pentru a simplifica apelarea unei functii, ca de exemplu, daca se

doreste rezolvarea ecuatiei 2x + 3 = 5 , tinem cont de apelarea de mai sus si vom introduce urmatoarea instructiune la prompterul de Maple:

cont de apelarea de mai sus si vom introduce urmatoarea instructiune la prompterul de Maple: >

> solve(E = 5)

15

2.2. OPERATII CU NUMERE INTREGI

Catul impartirii a doua numere se obtine cu instructiunea iquo(x,y) - integer quotient Restul impartirii a doua numere se obtine cu instructiunea irem(x,y) – integer reminder De ex. : Sa se determine catul si restul impartirii lui 18 la 4

ex. : Sa se determine catul si restul impartirii lui 18 la 4 In cazul in

In cazul in care se doreste a fi retinut catul sau restul in instructiunile de mai sus putem sa utilizam comenzile: iquo(x,y,’r’) si va retine restul impratirii, respective irem(x,y,’c’) si se va retine catul impartirii.

irem(x,y,’c’) si se va retine catul impartirii. Descompunerea in factori primi a unui numar intreg se

Descompunerea in factori primi a unui numar intreg se efectueaza cu comanda ifactor(x) Ex. Sa se descompuna in factori numarul intreg 18

Ex. Sa se descompuna in factori numarul intreg 18 Cel mai mare divizor comun dintre doua

Cel mai mare divizor comun dintre doua sau mai multe numere intregi se calculeaza cu

comanda igcd(x,y,

ilcm(x,y,…) - least common multiple of integers Ex. Sa se afle c.m.m.d.c. si c.m.m.m.c al numerelor 12, 24, 54

- greatest common divisor of integers, iar cel mai mic multiplu comun

)

common divisor of integers, iar cel mai mic multiplu comun ) Verificarea unui numar daca este

Verificarea unui numar daca este sau nu prim se face cu ajutorul instructiunii isprime(x) Ex. Sa se verifice care din numerele 1,2 este prim

16

2.3. OPERATII CU NUMERE RATIONALE Cel mai mare numar intreg ≥ x se obtine cu

2.3. OPERATII CU NUMERE RATIONALE

Cel mai mare numar intreg x se obtine cu instructiunea ceil(x)

numar intreg ≥ x se obtine cu instructiunea ceil(x) Partea intreaga a unui numar se obtine

Partea intreaga a unui numar se obtine cu instructiunea floor(x) iar cea zecimala se obtine cu instructiunea frac(x) Ex. Sa se determine partea intreaga si partea fractionara a numarului 15,5

partea intreaga si partea fractionara a numarului 15,5 Maple poate sa calculeze cu aproximatie pana la
partea intreaga si partea fractionara a numarului 15,5 Maple poate sa calculeze cu aproximatie pana la

Maple poate sa calculeze cu aproximatie pana la ultima zecimala orice rezultat cerut, pentru aceasta exista instructiunea evalf(x,zecimale). De exemplu sa se afiseze valoarea numarului irational π cu 30 de zecimale:

valoarea numarului irational π cu 30 de zecimale: Transformarea unui numar zecimal intr-un numar rational se

Transformarea unui numar zecimal intr-un numar rational se face cu instructiunea convert(x,rational). De exemplu: sa se treaca numarul irational e scris cu 30 de zecimale intr-o fractie:

irational e scris cu 30 de zecimale intr-o fractie: 2.4. OPERATII CU NUMERE COMPLEXE Numarul compex

2.4. OPERATII CU NUMERE COMPLEXE

Numarul compex i

numerele complexe in Maple sunt urmatoarele:

in Maple se introduce cu majuscule astfel: I. Comenzile folosite la

- Im(z) – determina partea imaginara a numarului complex z

- Re(z) – determina partea reala a numarului complex z

- abs(z) – determina modulul numarului complex z

17

- argument(z) – determina argumantul numarului complex z

- conjugate(z) – determina conjugatul numarului complex z

- convert(a+b*I, polar) – determina coordonatele polare ale unui numar complex, returneaza polar(modul,argument) Ex. Sa se determine pentru numarul complex: z=1-i: partea reala, partea imagiara, modulul, argmentul, conjugatul, coordonatele polare

modulul, argmentul, conjugatul, coordonatele polare 2.5. POLINOAME SI FUNCTII RATIONALE 1. Functii necesare

2.5. POLINOAME SI FUNCTII RATIONALE

1. Functii necesare pentru a manipula un polinom:

coeff(polinom,variabila^n) – extrage coeficientul unui anumit termen din polinom

– extrage coeficientul unui anumit termen din polinom degree(polinom, variabila) – afiseaza gradul unui polinom

degree(polinom, variabila) – afiseaza gradul unui polinom ldegree(polinom,variabila) – afiseaza gradul minim al unui polinom

18

In cazul in care expresia data nu este una polinomiala atunci va fi returnat raspunsul

In cazul in care expresia data nu este una polinomiala atunci va fi returnat raspunsul FAIL

2. Operatii aritmetice cu polinoame

divide(polinom1,polinom2) – verifica daca doua polinoame sunt divizibile. Returneaza raspunsul TRUE in caz afirmativ si FALSE in caz negative:

raspunsul TRUE in caz afirmativ si FALSE in caz negative: gcd(polinom1,polinom2) - calculeaza cel mai mare

gcd(polinom1,polinom2)- calculeaza cel mai mare divisor comun al doua polinoame lcd(polinom1,polinom2)- calculeaza cel mai mic multiplu comun dintre doua polinoame

calculeaza cel mai mic multiplu comun dintre doua polinoame quo(polinom1,polinom2,variabila) – calculeaza catul

quo(polinom1,polinom2,variabila) – calculeaza catul impartirii a doua polinoame rem(polinom1,polinom2, variabila) – calculeaza restul impartirii a doua polinoame

– calculeaza restul impartirii a doua polinoame 3. Operatii matematice cu polinoame

3. Operatii matematice cu polinoame

subs((variabila,expresie) – inlocuieste variabila in expresie:

– inlocuieste variabila in expresie: sum(functie, k=m n) – calculeaza sume finite sau infinite

sum(functie, k=m

n)

– calculeaza sume finite sau infinite de termini

19

4. Aflarea radacinilor unui polinom si factorizari factor(polinom) – descompune in factori ireductibili un polinom

4. Aflarea radacinilor unui polinom si factorizari factor(polinom) – descompune in factori ireductibili un polinom

– descompune in factori ireductibili un polinom expand(polinom) - desface un produs de factori pentru a

expand(polinom)- desface un produs de factori pentru a afisa polinomul

- desface un produs de factori pentru a afisa polinomul irreduc(polinom)- verifica daca un polinom este

irreduc(polinom)- verifica daca un polinom este sau nu ireductibil

verifica daca un polinom este sau nu ireductibil realroot(polinom, lungimea intervalului) – returneaza o

realroot(polinom, lungimea intervalului) – returneaza o lista de intervale izolate pentru toate radacinile reale ale unui polinom. Lungimea intervalului este mai mica sau egala cu valoarea data. Aceasta valoare este optionala; daca aceasta lipseste Maple alege cea mai convenabila lungime pentru fiecare interval.

alege cea mai convenabila lungime pentru fiecare interval. roots(polinom) – returneaza radacinile rationale ale

roots(polinom) – returneaza radacinile rationale ale polinomului ca o lista de perechi de forma [ri,mi] unde ri este radacina rationala a polinomului si mi ordinal ei de multiplicitate

20

fsolve(polinom) – determina solutiile zecimale ale unuei sau mai multor ecuatii Descompunerea in fractii simple

fsolve(polinom) determina solutiile zecimale ale unuei sau mai multor ecuatii

solutiile zecimale ale unuei sau mai multor ecuatii Descompunerea in fractii simple a unei expresii de

Descompunerea in fractii simple a unei expresii de forma:

convert(expresie,parfrac,variabila)

Ex. Sa se descompuna in fractii

f

(

x

)

1

= x

(

x +

1)

descompuna in fractii f ( x ) 1 = x ( x + 1) P se

P se face cu ajutorul sintaxei:
Q

x

(

x

)

(

)

2.6. REZOLVARI DE ECUATII SI INECUATII

solve(ecuatie,variabile) -

ceruta

rezolva una sau mai multe ecuatii sau inecuatii in necunoscuta

una sau mai multe ecuatii sau inecuatii in necunoscuta Rezolvarea unui sistem de ecuatii liniare se

Rezolvarea unui sistem de ecuatii liniare se face utilizand comanda:

solve([ecuatie_1,ecuatie_2,…ecuatie_n],[x1,x2, xn])

21

Rezolvarea inecuatiilor liniare se face prin utilizarea aceleiasi comenzi: Observam ca rezultatul este unul nu

Rezolvarea inecuatiilor liniare se face prin utilizarea aceleiasi comenzi:

liniare se face prin utilizarea aceleiasi comenzi: Observam ca rezultatul este unul nu foarte prietenos. Pentru

Observam ca rezultatul este unul nu foarte prietenos. Pentru a eviata acest lucru vom folosi scrierea:

prietenos. Pentru a eviata acest lucru vom folosi scrierea: Rezolvarea msolve(ecuatie,n) ecuatiilor in clasele Ex. Sa

Rezolvarea

msolve(ecuatie,n)

ecuatiilor

in

clasele

Ex. Sa se determine solutia ecuatiei

de

resturi

ˆ

2

ˆ

3

x + =

ˆ

2,

Z

modulo

5

n

se

face

cu

ajutorul

comenzii

ˆ 3 x + = ˆ 2, Z modulo 5 n se face cu ajutorul comenzii

Capitolul 3 Pachete uzuale si calcule simbolice

3.1. PACHETUL REALDOMAIN

În mod implicit, Maple efectuează calculele plecand de la presupunerea că se lucreaza in domeniul complex. Pachetul RealDomain oferă un mediu de lucru în care calculele sunt efectuate în ipoteza că sistemul de bază este domeniul de numere reale. Acest pachet este necesar pentru a conferi utilizatorului o mai buna vizualizare a modului in care Maple interpreteaza anumite instructiuni.

Pentru verificarea celor spuse mai sus incercati sa introduceti de la tastatura urmatoarea instructiune:

>simplify(sqrt(x^2))

22

Rezultatul afisat nu va fi unul prietenos: csgn(x)x. Pentru a evita astfel de neplaceri vom utiliza pachetul RealDomain.

Incarcarea pachetului se face cu comanda with(RealDomain). Pe suprafata de lucru va aparea

o lista de proceduri pe care le utilizeaza acest pachet.

Reintroducem instructiunea de mai sus, iar rezultatul de aceasta data va fi cel dorit:

de mai sus, iar rezultatul de aceasta data va fi cel dorit: Instructiunea assume stabileste proprietati

Instructiunea assume stabileste proprietati ale variabilei si relatii intre variabile. O utilizare comuna a functiei assume este assume(a>0). Aceasta stabileste ca simbolul a este presupus a

fi pozitiv. In aceasta situatie rezultatul

2
2

a b este a

b
b

Ex. Considerand ca x > 1 sa se expliciteze modulul | 1 x |

Functia additionally adauga presupuneri suplimentare fara a le indeparta pe cele deja facute. De ex. Pentru a putea scrie ca: x (a, b) vom introduce urmatoarea comanda:

>assume(x>a); additionally(x<b)

Functia is (x::prop) verifica daca valoarea x satisface proprietatea mentionata. Aceasta functie returneaza false daca rezultatul este fals, true daca rezultatul este corect sau FAIL in cazul in care nu poate stabili daca respective proprietate este mereu indeplinita

Ex.1. Sa se verifice daca exista x intreg in intervalul (0,1)

>assume(x>0);additionally(x<1)

>is(x::integer)

Ex.2. Sa se verifice daca x Z pentru presupunerile: x>2 si x intreg

x ∈ Z pentru presupunerile: x>2 si x intreg Ex.3. Sa se verifice daca x ∈

Ex.3. Sa se verifice daca x Z sau x 3 pentru presupunerea ca x>2 si suplimentar ca x este intreg

se verifice daca x ∈ Z sau x ≥ 3 pentru presupunerea ca x>2 si suplimentar

23

Pentru a rezolva inecuatii facand discutie dupa parametru avem nevoie de a defini parametrul

respective cu comanda assume(nume_parametru,domeniu), si apoi sa trecem la comanda de

rezolvare a inecuatiei.

Ca ex. Sa se discute solutia ecuatiei: ax + 2 5, a R

ecuatiei: a x + 2 ≥ 5 , a ∈ R 3.2. FUNCTII O functie este

3.2. FUNCTII

O functie este o procedura care returneaza o valoare specificata de o multime de variabile. In

Maple vom folosi simbolul -> (minus urmat de semnul mai mare) pentru a defini o functie.

Unei functii i se poate asigna un nume folosind caracterul “:=” in acelasi mod in care i se

atribuie nume unei expresii.

De ex. Sa se defineasca fucntia

f

(

x = x +

)

2

5

De ex. Sa se defineasca fucntia f ( x = x + ) 2 5 Pentru

Pentru a evalua aceasta functie intr-un punct se tasteaza f(x 0 )

O functie de mai multe variabile se introduce la fel ca o functie de o singura variabila doar ca

variabilele care se regasesc in functie sunt enumerate cu virgule si puse intr-o paranteza.

De ex. Sa se defineasca functia

punctul A(2,3)

f

(

x

,

y

)

=

2

2

x

y − 1
y −
1

si sa se determine valoarea acesteia in

y ) = 2 2 x y − 1 si sa se determine valoarea acesteia in

Definirea

functiilor

pe

mai

multe

ramuri

se

face

cu

instructiunea

piecewise(conditie1,expresie1,conditie2,expresie2,…)

24

Compunerea functiilor se face cu simbolul @ , astfel se definesc functiile f(x) si g(x)

Compunerea functiilor se face cu simbolul @ , astfel se definesc functiile f(x) si g(x) si apoi se introduce comanda (f@g)(x)

functiile f(x) si g(x) si apoi se introduce comanda (f@g)(x) In cazul in care functiile sunt

In cazul in care functiile sunt explicitate pe ramuri pentru afisarea corecta a compunerii functiilor se da comanda:

simplify((f@g)(x))

3.3. MATEMATICI FINANCIARE Funcţiile matematice economice fac parte din pachetul finance al programului Maple. Apelarea acestui pachet se face cu comanda with (finance).

Apelarea acestui pachet se face cu comanda with (finance) . Comanda pentru aflarea capitalului constituit este:

Comanda pentru aflarea capitalului constituit este:

futurevalue(suma iniţială, procentul dobânzii, perioada)

Ex 1. Să se determine capitalul obţinut după 2 ani prin depunerea într-o bancă a sumei de

1000

u.m. cu o dobândă compusă de 5%.

bancă a sumei de 1000 u.m. cu o dobândă compusă de 5%. Comanda necesara pentru aflarea

Comanda necesara pentru aflarea anuitatii este urmatoarea: annuity(suma, rata dobanzii, perioada)

Ex. Sa se afle anuitatea in cazul unui credit de 37800 Euro pe o perioada de 20 de ani si cu o

rata a dobanzii de 3.75%

25

În cazul amortizării unei datorii D contractată cu o dobândă de d%, se efectuează în fiecare an şi la o dată fixă depunerea unei sume constante S. Ne propunem să determinăm suma S ce va trebui depusă anual la bancă pe o perioadă dată de n ani. Pentru vizualizarea graficului plăţilor folosim comanda amortization (datoria,rata anuală, procentul dobânzii, perioada). Această comandă va genera răspunsul sub forma unei liste ce cuprinde: anul, rata, dobânda, suma cu care se reduce datoria, suma rămasă de plată. Exemplul 3. Să se calculeze suma S ce se va depune anual într-o bancă pentru amortizarea unei datorii de 100000 u.m., rambursabilă în 15 ani dacă dobânda de împrumut este de 6%. Datoria de 100000 u.m. ajunge după 15 ani la valoarea:

6%. Datoria de 100000 u.m. ajunge după 15 ani la valoarea: Dacă simultan constituim un capital

Dacă simultan constituim un capital cu ajutorul a 15 depuneri a unei sume S, obţinem:

capital cu ajutorul a 15 depuneri a unei sume S , obţinem: Pentru determinarea sumei S

Pentru determinarea sumei S egalăm cele două rezultate :

Pentru determinarea sumei S egalăm cele două rezultate : Interpretarea rezultatului: in al 14-lea an: rata
Pentru determinarea sumei S egalăm cele două rezultate : Interpretarea rezultatului: in al 14-lea an: rata

Interpretarea rezultatului: in al 14-lea an: rata este aceeasi de 10296.2764 u.m, dobanda este 1132.627053 u.m., suma cu care se reduce datoria 9163.649347, iar suma ramasa de plata 9713.468203. Observam ca in ultimul an suma ramasa de plata este 0 u.m.

26

3.4.

LIMITE

Sintaxa pentru lucrul cu limite este: limit(functie,x=a,directia). Pentru limitele la stanga si la

dreapta este necesar si parametrul optional directie, astfel:

lim

x

x

0

< 0

lim

x

x

0

> 0

1

x

1

x

sintaxa va fi: limit(1/x,x,’left’)

sintaxa va fi limit(1/x,x,’right’)

3.5. DERIVARI SI DIFERENTIERI

Derivata unei functii de o singura variabila poate di facuta cu instructiunea D(functie)

arctg x ( ) Ex. Sa se calculeze derivate functiei f ( x ) =
arctg x
(
)
Ex. Sa se calculeze derivate functiei
f
(
x
)
=
x 2 + 1

Derivata unei functii de una sau mai multe variabile poate fi calculate s cu ajutrul instructiunii

diff(functie,variabila).

De ex. Pentru functia de mai sus introducem sintaxa:

De ex. Pentru functia de mai sus introducem sintaxa: 3.6. INTEGRALE Comanda pentru calculul integralelor

3.6. INTEGRALE

Comanda pentru calculul integralelor nedefinite este: int(functie,variabila)

De ex. Sa se calculeze xe dx

x

sintaxa este: int(x*exp(x),x)

Comanda pentru integralele definite este: int(functie,variabila=a

integralei definite

2

De ex. Sa se calculeze

x

xe dx

sintaxa este: int(x*exp(x),x=1

2)

1

b)

unde a si b sunt capetele

27

Capitolul 4 Geometrie analitica in plan

Incarcarea pachetului de lucru cu instructiuni din geometria plana euclidiana este with(geometry). Pentru a nu mai aparea intreaga lista de instructiuni ale pachetului apelat, dupa comanda se pune caracterul “:”. Obiectele cu care lucreaza acest pachet sunt: punctual, segmental, dreapta, triunghiul, patratul, cercul, elipsa, parabola, hiperbola si conicele.

Definirea unui punct se face cu sintaxa: point(A,Ax,Ay). Aceasta comanda atribuie punctului A coordonatele (Ax, Ay). Rezultatul returnat va fi chiar punctual A. Pentru a cere coordonatele punctului A se introduce comanda coordinates(A). Pentru a apela coordonata orizontala, respeciv cea verticala a punctului A comenzile vor fi: HorizontalCoord(A), respective VerticalCoord(A). Informatii despre un anumit punct se obtin cu ajutorul comenzii detail(A). Se obtin urmatoarele informatii: numele obiectlui, tipul obiectului si coordonatele.

numele obiectlui, tipul obiectului si coordonatele. Pentru definirea unui segment sunt necesare doua puncte;

Pentru definirea unui segment sunt necesare doua puncte; comanda este:

segment(P1P2,[P1,P2]). Pentru a verifica tipul obiectului introdus se foloseste comanda:

form(nume_segment); pentru a veifica ce puncte definesc segmentul se foloseste comanda DefinedAs(nume_segment), iar pentru a afisa coordonatele punctelor ce definesc segmentul se foloseste instructiunea map(coordinates,%). Aceasta ultima instructiune trebuie folosita concomitent cu instructiunea DefinedAs.

28

Definirea dreptei ce trece prin doua puncte se face cu ajutorul instructiunii line(nume_dreapta,[P1,P2]), insa inainte

Definirea dreptei ce trece prin doua puncte se face cu ajutorul instructiunii line(nume_dreapta,[P1,P2]), insa inainte de a determina dreapta trebuie determinat sistemul cartezian in care lucram si anume xOy astfel: _EnvHorizontalName:=x;

_EnvVerticalName:=y. Pentru a evita definirea sistemului de axe de coordinate putem folosi comanda: line(nume_dreapta,[P1,P2],[x,y]). Vizualizarea informatiilor despre obiectul dreapta se obtine prin apelarea instructiunii: detail(nume_dreapta)

Vizualizarea informatiilor despre obiectul dreapta se obtine prin apelarea instructiunii: detail(nume_dreapta) 29
Vizualizarea informatiilor despre obiectul dreapta se obtine prin apelarea instructiunii: detail(nume_dreapta) 29

29

Doua drepte concurente se intersecteaza intr-un punct, comanda pentru determinarea punctului de intersectie este Intersection(A,dr1,dr2), iar pentru a vizualiza coordonatele avm instructiunea coordinates(A)

a vizualiza coordonatele avm instructiunea coordinates(A) Lungimea unui segment, resectiv distanta dintre doua puncte

Lungimea unui segment, resectiv distanta dintre doua puncte se calculeaza cu ajutorul sintaxei: distance(P1,P2)

puncte se calculeaza cu ajutorul sintaxei: distance(P1,P2) Pentru a determina mijlocul M al unui segment AB

Pentru a determina mijlocul M al unui segment AB trebuie intai s ail definim cu ajutorul instructiunii midpoint(M,A,B) si apoi sa cerem coordonatele acestuia cu sintaxa:

coordinates(M):

sa cerem coordonatele acestuia cu sintaxa: coordinates(M): Pentru definirea unui triunghi trebuiesc definite punctele

Pentru definirea unui triunghi trebuiesc definite punctele care determina triunghiul iar instructiunea este: triangle(nume_triunghi,[P1,P2,P3]). Informatii despre definirea triunghiului se obtinu cu instructiunea detail(nume_triunghi)

Informatii despre definirea triunghiului se obtinu cu instructiunea detail(nume_triunghi) 30

30

Un triunghi poate fi detereminat si de 3 drepte, astfel ca se vor defini cele trei drepte si apoi se va apela triunghiul cu sintaxa: triangle(nume-triunghi,[dreapta_1,dreapta_2, dreapta_3]), astfel:

dreapta_3]), astfel: Calculul ariei unui triunghi se face cu ajutorul sintaxei

Calculul ariei unui triunghi se face cu ajutorul sintaxei area(nume_triunghi)

triunghi se face cu ajutorul sintaxei area(nume_triunghi) ajutorul comenzii: square(nume_patrat,[P1,P2,P3,P4]).

ajutorul comenzii:

square(nume_patrat,[P1,P2,P3,P4]). Pentru a calucla diagonala patratului avem instructiunea diagonal(nume_patrat); calculu ariei unui patrat se face cu instructiune area(nume_patrat)

Definirea

unui

patrat

se

face

cu

area(nume_patrat) Definirea unui patrat se face cu Linii importante intr-un triunghi: - inaltimea: pentru

Linii importante intr-un triunghi:

- inaltimea: pentru determinarea inaltimii ce porneste din punctul A al unui triunghi ABC avem sintaxa: altitude(hA,A,ABC). Pentru vizualizarea datelor inaltimii vom da comanda: detail(hA)

31

-bisectoarea: comanda este bisector(bA,A,ABC) avem: detail(hA) iar pentru vizualizarea datelor bisectoarei -mediana

-bisectoarea: comanda este bisector(bA,A,ABC) avem: detail(hA)

iar pentru vizualizarea datelor bisectoarei

detail(hA) iar pentru vizualizarea datelor bisectoarei -mediana intr-un triunghi se defineste cu comanda

-mediana intr-un triunghi se defineste cu comanda median(mA,A,ABC), iar pentru vizualizarea datelor acesteia vom apela instructiunea detail(mA)

datelor acesteia vom apela instructiunea detail(mA) In cazul in care dorim sa vizualizam doar ecuatia unei

In cazul in care dorim sa vizualizam doar ecuatia unei anumite drepte definite de noi putem introduce comanda: Equation(nume_dreapta,[x,y]) Centrul de greutate G al unui triunghi ABC se defineste cu ajutorul instructiuniii centroid(G,ABC), iar aflarea coordonatelor cu instructiunea coordinates(G) Verificarea coliniaritatii a trei puncte se face cu instructiunea AreCollinear(A, B, C); aceasta instructiune returneaza true sau false

32

Verificarea paralelismului dintre doua drepte se face cu sintaxa: AreParallel(d1,d2), verificarea perpendicularitatii dintre doua drepte: ArePerpendicular(d1,d2), verificarea daca trei drepte sunt concurente: AreConcurrent(d1, d2, d3). Toate aceste comenzi returneaza rezultatele true sau false. Testarea tipului de triunghi se face cu urmatoarele instructiuni: IsEquilateral(ABC) – verifica daca triunghiul ABC este echilateral, IsRightTriangle(ABC) – verifica daca triunghiul ABC este dreptunghic. Daca este data ecuatia unei drepte (d) si avem nevoie de aflarea dreptei paralele (d1) cu aceasta care trece printr-un punct T, comanda este: ParallelLine(d1, T, d)

printr-un punct T, comanda este: ParallelLine(d1, T, d) Daca este data ecuatia unei drepte (d) si

Daca este data ecuatia unei drepte (d) si avem nevoie de aflarea dreptei perpendiculare pe aceasta (d2) care trece prin punctual T, comanda este: PerpendicularLine(d2,T,d)

33

Capitolul 5 CONICE 5.1. CERCUL

Definirea unui cerc poate fi facuta in functie de datele pe care le avem: astfel, trei puncte necoliniare definesc un cerc,iar comnada este: circle(nume_cerc, [A, B, C], n, 'centername'=m), daca ne este dat centrul cercului si raza, atunci comanda va fi:

circle(c,[A,r])

cercului si raza, atunci comanda va fi: circle(c,[A,r]) Aflarea razei unui cerc a carui ecuatie este

Aflarea razei unui cerc a carui ecuatie este data se face cu sintaxa: radius(nume_cerc), iar determinarea centrului cercului cu instructiunea center(nume_cerc). Determinarea ecuatiei cercului circumscris unui triunghi se face cu sintaxa:

circumcircle(nume_cerc, nume_triunghi).

Dintr-un punct N exterior unui cerc (C) pot fi duse doua tangente la acesta, astfel

instructiunea este: TangentLine(tg, N, Cerc, [d1,d2]) Calculul ariei unui cerc se face cu comanda area(nume_cerc).

5.2 ELIPSA

O elipsa poate fi definita de 5 puncte distincte. Mentionam ca nu este neaparat ca oricare 5 puncte distincte sa defineasca o elipsa. Sintaxa de definire a unei elipse este:

ellipse(nume_elipsa,[A,B,C,D,E]). Pentru vizualizarea ecuatiei elipsei comanda este:

Equation(nume_elipsa)

este: ellipse(nume_elipsa,[A,B,C,D,E]) . Pentru vizualizarea ecuatiei elipsei comanda este: Equation(nume_elipsa) 34

34

Definirea unei elipse poate fi facuta folosindu-ne de forma ei algebrica:

ellipse(nume_elipsa,ecuatie). Pentru a determina coordonatele centrului elipsei introducem succesiv comnezile: pentru definirea centrului elipsei center(nume_elipsa) si apoi pentru vizualizarea coordonatelor centrului coordinates(center_nume_elipsa)

coordonatelor centrului coordinates(center_nume_elipsa) Determinarea focarelor unei elipse se face

Determinarea

focarelor

unei

elipse

se

face

mai

intai

apeland

definirea

acestora

foci(nume_elipsa)

iar

apoi

cerand

afisarea

coordonatelor:

map(coordinates,foci(nume_elipsa):

coordonatelor: map(coordinates,foci(nume_elipsa): Elipsa este determinate de doua axe una mare si una mica, a

Elipsa este determinate de doua axe una mare si una mica, a caror lungime o putem afla cu ajutorul instructiunilor

a caror lungime o putem afla cu ajutorul instructiunilor 5.3. PARABOLA Definirea unei parabole poate fi

5.3. PARABOLA Definirea unei parabole poate fi facuta utilizand forma ei algebrica astfel:

parabola(nume_parabola, ecuatie parabola). Orice parabola este caracterizata prin varf si focar. Comanda pentru determinarea varfului parabolei este: vertex(nume_parabola) iar pentru vizualizarea coordonatelor acestuia coordinates(vertex). Comanda pentru determinarea focarului unei parabole este: focus(nume_parabola), iar vizualizarea coordonatelor se face cu instructiunea coordinates(focus)

35

Dreapta directoare la parabola se determina cu instructiunea directrix(nume_parabola) . Pentru vizualizarea tuturor

Dreapta directoare la parabola se determina cu instructiunea directrix(nume_parabola). Pentru vizualizarea tuturor infromatiilor referitoare la obiectul parabola putem apela comanda

detail(nume_parabola)

5.4. HIPERBOLA

ei

hyperbola(nume_hiperbola,ecuatie_hiperbola).

Definirea

unei

hyperbole

folosind

forma

algebrica

se

face

cu

ajutorul

comenzii:

folosind forma algebrica se face cu ajutorul comenzii: O hiperbola este caracterizata prin centru, focare, varfuri

O hiperbola este caracterizata prin centru, focare, varfuri si asimptote. Pentru vizualizarea coordonatelor centrului unei hyperbole avem comanda

center(nume_hiperbola).

unei hyperbole avem comanda center(nume_hiperbola). Definirea varfurilor unei hyperbole se face cu comanda

Definirea varfurilor unei hyperbole se face cu comanda vertices(hip) iar pentru determinarea coordonatelor acestora avem instructiunea: map(coordinates,vertices(hip))

acestora avem instructiunea: map(coordinates,vertices(hip)) Definirea asimptotelor unei hyperbole se face cu

Definirea asimptotelor unei hyperbole se face cu instructiunea asymptotes(nume_hiperbola), iar determinarea ecuatiilor acestora se face cu ajutorul comenzii:

map(Equation,asymptotes(hip))

36

37

37

Capitolul 6.

Geometrie in spatiu. Pachetul care trebuie incarcat pentru a putea lucra cu obiecte in spatiu este: with(geom3d). Pentru a nu fi listate toate instructiunile cu care lucreaza acest pachet vom introduce

caracterul “:”. Obiectele cu care se lucreaza in spatiu sunt: punctul, dreapta si planul. Stabilirea mediului de lucru, respective a spatiului xOyz si face cu ajutorul comenzilor:

_EnvXName:=x; _EnvYName:=y; _EnvZName:=z;

6.1. PUNCTUL Definirea unui punct in spatiu se face cu ajutorul comenzii: point(A,Ax,Ay,Az). Pentru a verifica daca trei puncte sunt coliniare avem sintaxa AreCollinear(P1,P2,P3). Rezultatul acestei instructiuni este true daca cele trei puncte sunt coliniare, respective false daca cele trei puncte nu sunt coliniare.

respective false daca cele trei puncte nu sunt coliniare. Pentru a vizualiza coordonatele unui punct instructiunea

Pentru a vizualiza coordonatele unui punct instructiunea este: xcoord(P),ycoord(P),zcoord(P)

punct instructiunea este: xcoord(P),ycoord(P),zcoord(P) Determinarea mijlocului midpoint(nume_punct,P1,P2) iar

Determinarea mijlocului

midpoint(nume_punct,P1,P2) iar pentru vizualizarea coordonatelor avem instructiunea

coordinates(nume_punct)

instructiunii

unui

segment

se

face

cu

ajutorul

instructiunii unui segment se face cu ajutorul Distanta dintre doua puncte se afla cu instructiune

Distanta dintre doua puncte se afla cu instructiune distance(A,B) 6.2. SEGMENT SI SEGMENT ORIENTAT Sintaxa pentru definirea unui segment este: segment(nume_segment,[P1,P2]), iar sintaxa

pentru definirea unui segment orientat

P P

1

2

este: dsegment(nume_segment,[P1,P2])

38

6.3.

DREAPTA

Dreapta in spatiu poate fi definita daca se stiu doua puncte prin care trece, sau daca se cunoaste un punct si vectorul director al acesteia. Forma dreptei care este afisata de Maple este cea parametrica.

Definirea dreptei in spatiu care trece prin doua puncte A,B este: line(nume_dreapta,[A,B]), iar pentru a fi afisata ecuatia acesteia comanda este: Equation(nume_dreapta,parametru)

acesteia comanda este: Equation(nume_dreapta,parametru) Pentru a putea defini o dreapta cu ajutorul vectorului ei

Pentru a putea defini o dreapta cu ajutorul vectorului ei director va trebui s ail definim astfel:

v:=[l,m,n], si apoi introducem comanda line(nume_dreapta,[A,v])

, si apoi introducem comanda line(nume_dreapta,[A,v]) Determinarea unghiului dintre doua drepte se face cu

Determinarea unghiului dintre doua drepte se face cu ajutorul comenzii FindAngle(l1,l2)

doua drepte se face cu ajutorul comenzii FindAngle(l1,l2) 6.4. PLANUL Definirea unui plan in forma algebrica

6.4. PLANUL

Definirea

unui

plan

in

forma

algebrica

se

face

plane(Nume_plan,ax+by+cz+d=0,[x,y,z]).

Trei

puncte

determina

un

plan.

plane(nume_plan,[A,B,C],[x,y,z])

Definirea

planului

ce

trece

folosind

prin

trei

instructiunea:

puncte

este:

ce trece folosind prin trei instructiunea: puncte este: Daca se cunoaste un punct din plan (A)

Daca se cunoaste un punct din plan (A) si normala la plan (N) avem posibiliatea de a determina ecuatia planului cu ajutorul instructiunii: plane(nume_plan,[A,N],[x,y,z])

39

Doua plane se intersecteaza dupa o dreapta. Pentru a gasi ecuatia acestei drepte avem sintaxa:

Doua plane se intersecteaza dupa o dreapta. Pentru a gasi ecuatia acestei drepte avem sintaxa:

line(nume_dreapta,[plan1,plan2])

drepte avem sintaxa: line(nume_dreapta,[plan1,plan2]) Determinarea FindAngle(plan1,plan2) unghiului dintre doua

Determinarea

FindAngle(plan1,plan2)

unghiului

dintre

doua

plane

se

face

cu

ajutorul

comenzii:

unghiului dintre doua plane se face cu ajutorul comenzii: Calculul de la un punct la o

Calculul de la un punct la o dreapta sau de la un punct la un plan se face cu ajutorul comenzilor: distance(A,dreapta), respective distance(A, plan)

distance(A,dreapta), respective distance(A, plan) 6.5. SFERA O sfera poate fi definita prin 4 puncte cu

6.5. SFERA O sfera poate fi definita prin 4 puncte cu sintaxa: sphere(nume,[P1,P2,P3,P4]). Aceasta este caracterizata prin centru ale carui coordinate sunt determinate cu instructiunea coordinates(center(nume_sfera)) si de raza care este determinata de comanda radius(nume_sfera). Asupra unei sfere se pot face urmatoarele calcule: determinarea ariei cu sintaxa: area(nume_sfera) si determinarea volumului cu ajutorul comenzii volume(nume_sfera)

40

O sferea mai poate fi definite cunoscandu-se coordonatele centrului si lungimea razei. Comanda Maple este:

O sferea mai poate fi definite cunoscandu-se coordonatele centrului si lungimea razei. Comanda Maple este: sphere(s,[Centru,Raza])

lungimea razei. Comanda Maple este: sphere(s,[Centru,Raza]) Daca se cunoaste ecuatia sferei avem posibiliatea de a

Daca se cunoaste ecuatia sferei avem posibiliatea de a obtine informatii despre centrul, raza, aria si volumul ei. Sintaxa pentru definirea sferei este: sphere(s,ecuatie,[x,y,z])

41

6.6. TETRAEDRUL REGULAT Un tetraedru regulat este inscris intr-o sfera. Pentru a defini un tetraedru

6.6. TETRAEDRUL REGULAT

Un tetraedru regulat este inscris intr-o sfera. Pentru a defini un tetraedru regulat sunt necesare urmatoarele: coordonatele centrului sferei si lungimea razei, iar sintaxa este:

tetrahedron(nume,centrul_sferei,raza). Infromatiile care pot fi obtinute despre obiectul tetraedru sunt: aria tetraedrului: area(nume_tetraedru), volumul tetraedrului:

volume(nume_tetraedru), varfurile tetraedrului: vertices(nume_tetraedru), determinarea fetelor tetraedrului reprezentate de varfurile de coordinate: faces(nume_tetraedru)

de varfurile de coordinate: faces(nume_tetraedru) Intr-o sfera mai pot fi inscrise urmatoarele poliedre

Intr-o sfera mai pot fi inscrise urmatoarele poliedre regulate: cubul cu sintaxa:

cube(nume,centrul_sferei, raza), hexahedron(nume,cetrul_sferei,raza), respectiv dodecaedru cu sintaxa: dodecahedron(nume,centru_sferei,raza), octahedron, icosahedron

42

6.7. TETRAEDUL NEREGULAT Patru puncte necoplanere determina un tetraedru. Definirea acestuia se face cu sintaxa:

gtetrahedron(nume,[P1,P2,P3,P4]).

Un alt mod de a defini un tetraedru neregulat este prin intersectia a patru plane, iar comanda

este: gtetrahedron(nume,[plan1,plan2,plan3,plan4]). Informatiile obtinute despre obiectul tetraedru neregulat cu ajutorul instructiunii details(nume_tetraedru) sunt: varfurile tetraedrului, respective fetele acestuia determinate de cooroantele varfurilor.

fetele acestuia determinate de cooroantele varfurilor. 6.8. PARALELIPIPEDUL Paralelipipedul este construit pe
fetele acestuia determinate de cooroantele varfurilor. 6.8. PARALELIPIPEDUL Paralelipipedul este construit pe

6.8. PARALELIPIPEDUL Paralelipipedul este construit pe directiile a trei vectori care pleaca din acelasi punct. Pentru definirea unui paralelipiped avem nevoie de 4 puncte si de trei segmente orientate care pornesc din acelasi varf. Sintaxa pentru construirea paralelipipedului este:

parallelepiped(nume,[seg_orien1, seg_orien2, seg_orien3]). Daca se doreste obtinerea de informatii despre obiectul creat acestea constau in: determinarea tuturor fetelor paralelipipedului prin afisarea punctelor, si determinarea celor 8 varfuri. Vizualizarea coordonatelelor varfurilor ce determina fetele laterale ale paralelipipedului se face si cu sintaxa faces(nume_paralelipiped). Volumul paralelipipedului construit pe cei trei vectori orientate se calculeaza cu ajutorul comenzii volume(nume_paralelipiped)

43

DESENAREA OBIECTELOR Pentru a putea vizualiza obiectul la cere ne referim utilizam sintaxa draw(obiect) Capitolul

DESENAREA OBIECTELOR Pentru a putea vizualiza obiectul la cere ne referim utilizam sintaxa draw(obiect)

Capitolul 7 ALGEBRA LINIARA

1. operatii cu matrici se vectori

Crearea unei matrici se poate face utilizand paleta Matrix sau cu ajutorul comenzii Matrix(nr_linii,nr_coloane,val_init). In cazul in care parametrul val_init lipseste Maple afiseaza o matrice cu toate elementele zero.Astfel o comanda de genul Matrix(2,2) returneaza matricea O 2 , iar o comanda de genul Matrix(2,2,10) returneaza matricea patratica de ordinal 2 cu toate elementele 10. o alta metoda de a defini o matrice este de a-I introduce toate elementele linie cu linie. Elementele unei linii se scriu intre paranteza patrata separate prin virgule, iar intreaaga matrice este scrisa intre paranteze patrate, sintaxa va fi:

Matrix([[a 11,, a 1n ],…[a m1,, a mn ]])

44

Definirea unui vector se face cu ajutorul caracterelor <>. Putem defini un vector coloana astfel:

Definirea unui vector se face cu ajutorul caracterelor <>. Putem defini un vector coloana astfel: v:=<a,b,c>, respective un vector linie astfel: v:=<a|b|c>

respective un vector linie astfel: v:=<a|b|c> Vizualizarea unui element al unei matrici sau al unui vector

Vizualizarea unui element al unei matrici sau al unui vector se face cu ajutorul comenzii nume[linie,coloana], De exemplu sa determinam elementul a 21 . pentru aceasta vom introduce de la tastatura a[2,1].

Operatiile uzuale cu matrici sunt:

Adunarea cu ajutorul operatorului “+”, comanda introdusa de la tastatura va fi a+b

Amplificarea cu scalari cu ajutorul operatorului “*”, sau folosind spatiu, adica: 2*a, sau 2 a

Inmultirea matricilor se face cu ajutorul caracterului “.” (punct), adica a.b

Ridicarea unei matrici la putere a^n

Aflarea inversei unei matrici se face prin ridicarea acesteia la puterea -1

a.b Ridicarea unei matrici la putere a^n Aflarea inversei unei matrici se face prin ridicarea acesteia

45

2.

pachetul LinearAlgebra contine comenzi necesare calculului matriceal. Incarcarea pachetului se face cu ajutorul comenzii with(LinearAlgebra).

Functii uzuale ale pachetului LinearAlgebra sunt:

Determinant(A) calculeaza determinantul unei matrice patratice

Transpose(A) afiseaza transpusa matricei

MatrixInverse(A)= calculul inversei matricii A; Rank(A)= determinarea rangului matricii A Trace(A)=determina urma matricii (suma elementelor pe diagonala princiala)

urma matricii (suma elementelor pe diagonala princiala) DotProduct(u,v)= produsul scalar al doi vectori;
urma matricii (suma elementelor pe diagonala princiala) DotProduct(u,v)= produsul scalar al doi vectori;

DotProduct(u,v)= produsul scalar al doi vectori; CrossProduct(u,v)= produsul vectorial al doi vectori; VectorNorm(v,2) = calculeaza norma unui vector in spatiul euclidian VectorAngle(v1,v2) = determina unghiul dintre doi vectori

Basis({v1,v2,…

vn})=determina

o baza a unui spatiu vectorial

46

LinearSolve(M)- Rezolvarea unui sistem : M:=<<col1>|<col2>|<col3>|<col.libera>>;

LinearSolve(M)- Rezolvarea unui sistem: M:=<<col1>|<col2>|<col3>|<col.libera>>;

Rezolvarea unui sistem : M:=<<col1>|<col2>|<col3>|<col.libera>>; 47

47

Capitolul 8

8.1. REPREZENTARI GRAFICE DE FUNCTII IN PLAN

Reprezentarea

unei

functii

definite

 

pe

plot(functie,domeniu).

 

De ex. Sa se repezinte grafic functia

f

(

x

)

=

> plot(cos(x/2) + sin(2*x), x = 0 4*Pi)

R R

se

face

cu

ajutorul

cos

 +  sin(2 x ) , x[0,4π]

2

 

x

instructiunii

x ) , x ∈ [ 0,4 π ]  2   x instructiunii Reprezentara

Reprezentara curbelor date in forma parmetrica se face cu ajtorul instructunii:

plot([x(t),y(t),domeniu])

De exemplu sa se reprezinte cercul unitate cu ajutorul coordonatelor polare:

C :

x

y

=

=

cos(t)

sin(t)

,

t

[0,2

π

]

.

>plot([cos(t),sin(t),t=0 2*Pi])

48

Orice grafic poate fi particularizat si personalizat in functie de optiunile care pot fi adaugate

Orice grafic poate fi particularizat si personalizat in functie de optiunile care pot fi adaugate in sintaxa plot:

i) axes=option - specifica tipul axelor care poate fi: boxed, frame, none, normal.

ii) axesfont=option – fontul pentru etichetarea axelor, specificat la fel ca font

iii) axis=option sau axis[dir]=option permite obtinerea de informatii despre axele de

coordonate. Prima comanda aplica optiunea ambelor axe, iar cea de-a doua pentru fiecare axa in parte, dand lui dir valoarea 1 pentru axa x si valoarea 2 pentru axa y.

iv) caption=denumire figura, introducerea denumirii figurii poate fi independenta sau o

lista de optiuni. Implicit avem fara denumire

v) color=n sau colour=n permite utilizatorului sa mentioneze culoarea curbei ce urmeaza

a fi reprezentata

vi) coords=polar – reprezentarea grafica a functiei in coordinate polare

vii) font=optiune. Parametrul optiune este o list ace tine de fontul caracterelor [family, style, size]. Valorile pentru family pot fi: TIMES, COURIER, HELVETICA, SYMBOL. Aceste valori trebuie scrise cu majuscule. Stilurile pentru TIMES sunt: ROMAN, BOLD, ITALIC sau BOLDITALIC. Stilurile pentru HELVETICA sau COURIER sunt BOLD, OBLIQUE sau BOLDOBLIQUE. Valoare SYMBOL nu accepta optiunea stil. Pentru size va fi introdusa valoare pentru dimensiunea caracterelor.

viii) gridlines=[optiune] deseneaza grila suprafetei de lucru

ix)

labels=[x, y] etichetarea axelor de coordonate

x)

labelfont=optiune. Fontul pentru textul etichetelor axelor este la fel ca la font

xi)

legend=optiune. Introduce legenda pentru graficele reprezentate in desen.

49

xii)

legendstyle=optiune. Suboptiunile disponibile pentru legendstyle sunt: font si location

ale carei valori pot fi: top, bottom, right, left

xiii) linestyle=tip_linie. Tipul liniei graficului poate fi:

solid, dot, dash, dashdot, longdash, spacedash, spacedot. The default value of t is solid. The value t can also be an integer from 1 to 7, where each integer represents a line style, as given in the order above.

xiv)style=s . Stilul de reprezentare grafica poate fi: line,point,polygon. Stilul implicit este

line. Stilul point reprezinta graficul sub forma punctata

xv) symbol=s. Aceasta optiune poate fi utilizata in parallel cu style=point. Valorile aceste

sintaxe sunt: asterisk, box, circle, cross, diagonalcross, diamond, point, solidbox,

solidcircle, soliddiamond.

xvi)symbolsize=n. Aceasta optine poate fi folosita in parallel cu style=point si symbol si permite marirea sau micsorarea caracterelor graficului punctat. Implicit marimea acestora este 10.

xvii) thickness=n Aceasta optine permite stabilirea grosimii graficului. Implicit

grosimea acestuia este 0

xviii) title=t introducerea titlului graficului

xix)titlefont=l modificarea fonturilor titlului

acestuia este 0 xviii) title=t introducerea titlului graficului xix) titlefont=l modificarea fonturilor titlului 50

50

51
51

51

52

52

8.2. REPREZENTARI DE FUNCTII IN SPATIU

Comanda plot3d este destinata reprezentarii grafice a suprafeaelor in spatiu tridimensional. Ca si in cazul comenzii plot reprezentarea grafica se face conform cu optiunile indicate in comanda sau în raport cu cele implicite. Unele din aceste optiuni se pot stabili si din meniul contextual.

Daca functia este de mai multe variabile, definta pe R

2 R

atunci se foloseste instructiunea

plot3d(functie, domeniu variabila1, domeniu variabila 2)

De

exemplu:

Sa

se

reprezinte

x [10,10], y [10,10] .

grafic

functia

f

(

x

,

y

) =

2 2 sin x + y 2 2 x + y
2
2
sin
x
+ y
2
2
x
+ y

pentru

f ( x , y ) = 2 2 sin x + y 2 2 x

Reprezentarea

parametrica

a

unei

suprafete

plot3d([x(s,t),y(s,t),z(s,t)],s=a b,t=c d)

53

se

face

cu

instructiunea:

Optiunile folosite pentru reprezentarea graficelor sunt in mare parte aceleasi cu cele de la reprezentarea

Optiunile folosite pentru reprezentarea graficelor sunt in mare parte aceleasi cu cele de la

reprezentarea in plan

i) contours = n Specifica numarul contururilor ce urmeaza a .fi desenate. Implicit,

contours=10.

ii) coords=c Specifica tipul coordonatelor utilizate. Implicit, coords = Cartesian. Se mai pot

utiliza, de exemplu: coords=cylindrical, sau coords=spherical. iii) lightmodel=x. Alege un model de iluminare a desenului. lihgtmodel poate lua valorile none, light1, light2, light3, and light4.

iv) shading=s. Specifica modul de colorare a suprafetei. s poate lua una din valorile xyz,xy, z,

zgrayscale, zhue, sau none.

exista in plus insa cateva optiuni specifice:

54

55
55

55

8.3. REPREZENTARI GRAFICE UTILIZAND MEDIUL PLOTS

Incarecarea mediului de reprezenatri grafice se face cu ajutorul comenzii with(plots):

Comanda Animate permite realizarea de animatii asupra graficelor in plan si in spatiu asupra unui parametru. Sintaxa este animate(comanda,[functie, domeniu, optiuni],domeniu parametru). De exemplu: sa se reprezinte graficul functiei f (x) = A sin( x) , unde A este amplitdinea,

5) .

Va fi afisat sistemul de axe de coordonta. Deasupra ferestrei de lucru Maple apare o bara Animation, ca in figura de mai jos:

x [0,10], A [0,5] . Expresia Maple este: > animate( plot,[ Asin(x), x = 0

10],

A = 0

> animate ( plot ,[ A sin( x ), x = 0 10], A = 0

Cu urmatoarele butoane:

Previous Frame – conduce la cadrul anterior Stop – opreste animatia Play – porneste animatia Next Frame – conduce la cadrul urmator Frame – cadrul curent Animation plays in both directions – animatia de produce si revine la forma initiala Continuous Cycle – animatia cicleaza pana va fi oprita de noi de la butonul Stop Animation Speed – modifica viteza de redare a animatiei

Pentru a anima o curba ce depinde de timp avem exemplu de mai jos:

>animate( plot, [sin(t), t=0

Animatiile in spatiu se obtin in mod asemanator ca in exemplul:

>animate( plot3d, [sin(A)*(x^2+y^2), x=-2

Comanda animate3d permite realizarea de animatii in spatiu:

animate3d(cos(t*x)*sin(t*y),x=-Pi

animate3d(x*cos(t*u),x=1

x],

x=0

4*Pi

)

2,

y=-2

2],

A=0

2)

2*Pi

)

Pi,

4,u=2

y=-Pi

Pi,t=1

3,t=1

4,coords=spherical)

Pi,u=1

animate3d((1.3)^x * sin(u*y),x=-1

2*Pi,y=0

8,coords=spherical)

56

animate3d(sin(x)*cos(t*u),x=1

7/2,coords=cylindrical) 4,u=1/4 3,t=1

animate3d([x*u,t-u,x*cos(t*u)],x=1

3,t=1

4,u=2

4)

animate3d([x,y,(1.3)^x * sin(u*y)],x=1

3,y=1

4,u=1

2,coords=spherical);

animate3d([x*u,u*t,x*cos(t*u)],x=1

3,t=1

4,u=2

4,coords=cylindrical);

animate3d(cos(t*x)*sin(t*y),x=-Pi

Pi, y=-Pi

Pi,t=1 2,color=cos(x*y))

8.4. Reprezentarea grafica a functiilor implicite

Daca dorim sa reprezentam o curba data de f (x, y) = 0 , atunci vom utiliza mediul

with(plots,implicitplot)

De exemplu sa reprezentam functia

culori: in interiorul curbei albastru, in afara curbei verde.

f

(

x , y ) = x + y 1, x [

2

2

1,1],

y [

1,1] , cu doua

1, x ∈ [ − 2 2 1,1], y ∈ [ − 1,1] , cu doua

Reprezentarea curbelor date de functiile implicite: f (x, y, z) = 0 . Pentru reprezentari

implicite in spatiu trebuie incarcat in prealabil pachetul plots.

Exemplu:

Sa se reprezinte grafic functia:

x 3

+ y + z + = ( x + y + z

1

3

3

57

)

3

,

x

,

y , z [

2,2]

Reprezentarea grafica a doua functii pe acelasi desen: sintaxa Maple este display: De ex: sa

Reprezentarea grafica a doua functii pe acelasi desen: sintaxa Maple este display:

De ex: sa se reprezinte pe acelasi graphic functiile cosinus cu stil linie continua si tangenta cu

stil linie punctata:

y

y

= cos(

x

=

tg

(

x

)

)

,

x

,

y

[

∈ −π π

,

]

F:=plot(cos(x), x=-Pi

Pi,

y=-Pi

Pi,

style=line):

G:=plot(tan(x), x=-Pi

Pi,

y=-Pi

Pi,

style=point):

display({F, G}, axes=boxed, scaling=constrained, title=`Cosinus si tangenta`);

58

Pentru reprezentarea pe acelasi grafic a trei functii in spatiu avem urmatorul exemplu: ( ,

Pentru reprezentarea pe acelasi grafic a trei functii in spatiu avem urmatorul exemplu:

( ,

,

(

x

y

y

=

) =

)

x

g

h t

( ,

s

) =

f

sin(

x

xy

+

y

)

[2sin( ) cos( ),2 cos( ) cos( ),2sin( )]

t

s

t

s

s

F:=plot3d(sin(x*y), x=-Pi

G:=plot3d(x + y, x=-Pi

Pi,

Pi,

y=-Pi

Pi):

y=-Pi

Pi):

,

x

,

y

[

∈ −π π

,

H:=plot3d([2*sin(t)*cos(s), 2*cos(t)*cos(s), 2*sin(s)], s=0

display({F, G, H});

],

s

Pi,

[0,

π

t=-Pi

],

t

[

∈ −π π

,

Pi):

]

2*cos(t)*cos(s), 2*sin(s)], s=0 display({F, G, H}); ], s Pi, ∈ [0, π t=-Pi ], t [

59

Reprezentarea de animatii pe acelasi grafic:

f

g

(

(

x

x t

,

,

y

)

)

=

sin(

x

=

cos(

x

+

+

t

)

t

)

,

x t

,

[

∈ −π π

,

]

P := animate(plot, [sin(x+t), x=-Pi

Pi],

t=-Pi

Pi,

frames=8):

Q := animate(plot, [cos(x+t), x=-Pi

Pi],

t=-Pi

Pi,

frames=8):

display([P, Q]);

x=-Pi Pi], t=-Pi Pi, frames=8): display([P, Q]); Reprezentarea grafica a contururilor functiei se face cu

Reprezentarea grafica a contururilor functiei se face cu ajutorul instructiunii contourplot:

Ex: Sa se reprezinte conturul functiei f (x, y) = (1.3) sin( y), x [1,2π ], y [0,π ]

coordonate sferice

x

in

>contourplot((1.3)^x * sin(y),x=-1 2*Pi,y=0 Pi,coords=spherical)

60

r Ex: Sa se reprezinte conturul functiei vectoriale: f ( x , y ) =

r Ex: Sa se reprezinte conturul functiei vectoriale: f (x, y) = sin( xy)i + (x + 2 y) j , x, y [π ,π ]

r

> contourplot({sin(x*y), x + 2*y},x=-Pi Pi,y=-Pi

Pi);

r > contourplot({sin(x*y), x + 2*y},x=-Pi Pi,y=-Pi Pi); Reprezentarea pe acelasi grafic a contururilor de functii

Reprezentarea pe acelasi grafic a contururilor de functii

Ex: Sa se reprezinte contururile functiilor vectoriale pe acelasi grafic:

 

r

r

r

f (

x

,

y

)

= [cos( )

x

2 cos(0.4

y

)]

i

+

[sin(

x

)

2 sin(0.4

y

)]

j

+

yk

 

r

r

r

g (

x

,

y

)

= [cos( )

x

+

2 cos(0.4

y

)]

i

+

[sin(

x

)

+

2 sin(0.4

y

)]

j

+

yk

,

x [0,2π ], y [0,10]

c1:= [cos(x)-2*cos(0.4*y),sin(x)-2*sin(0.4*y),y];

61

c2:= [cos(x)+2*cos(0.4*y),sin(x)+2*sin(0.4*y),y];

contourplot({c1,c2},x=0 2*Pi,y=0 10,grid=[25,15]);

contourplot({c1,c2},x=0 2*Pi,y=0 10,grid=[25,15]); 8.5. REPREZENTARI GRAFICE DE FUNCTII VECTOR SI SUPRAFETE

8.5. REPREZENTARI GRAFICE DE FUNCTII VECTOR SI SUPRAFETE

Pentru a reprezenta graphic o functie vector avem nevoie de incarcarea pachetului “plots” cu

ajutorul comenzii

> with(plots):

Example 1:

O

functie vector este o functie care are o singura variabila de intrare si returneaza un vector,

ca

r

de exemplu vectorul r t

r ( ) = cos( )

t i

+ sin( )

t

r

j

+

r

tk . Putem defini o functie vector cu ajutorul

unei liste de functii:

> r := [ cos(t), sin(t), t ];

A carei reprezentare grafica se face cu ajutorul comenzii spacecurve:

> spacecurve( r, t=0

4*Pi,

axes=normal, color=blue );

62

Example 2: Putem reprezenta doua grafice in 3D si sa le reprezentam pe acelasi graphic

Example 2:

Putem reprezenta doua grafice in 3D si sa le reprezentam pe acelasi graphic folosind comanda

display3d. Consideram ca, curba reprezentata in primul exemplu se sprijina pe cilindrul

Putem reprezenta acest lucru folosind comanda implicitplot3d, mentionam ca nu putem folosi comanda plot3d deoarece cilindrul nu este o fucntie de x si de y.

> cil := implicitplot3d( x^2+y^2=1, x=-2

> supr := spacecurve( r, t=0

> display3d( cil,supr);

.
.

2,

y=-2

2,

z=0

15,

axes=boxed );

4*Pi,

axes=normal, color=blue, thickness=2 );

63

8.6. REPREZENTARI GRAFICE DE FUNCTII IN PLANUL COMPLEX Comanda complexplot3d creeaza grafice in 3 dimensiuni

8.6. REPREZENTARI GRAFICE DE FUNCTII IN PLANUL COMPLEX

Comanda complexplot3d creeaza grafice in 3 dimensiuni prin definirea functiilor complexe sub forma unui vector in doua dimensiuni. Astfel pe directia x este reprezentata partea reala iar pe directia y este reprezentata partea imaginara. Sintaxa pentru reprezentarea grafica este :

complexplot3d([Re(z),Im(z)],x=a

b,y=a

b)

.

Exemplu: Sa se reprezinte grafic functia

f :C C, f (z) = z

3

Trebuie sa determinam partea reala si cea imaginara a functiei. Astfel:

f

(

z

)

=

(

x + iy

)

3

3

= x

3

xy

2

+ i

(3

2

x

y y

3

)

Comenzile utilizate in Maple sunt:

>with(plots):

>complexplot3d([x^3-3*x*y^2,3*x^2*y-y^3],x=-2 2,y=-2

64

2)

Capitolul 9 PACHETUL PLOTTOOLS Pachetul plottools contine rutine care pot genera obiecte grafice de baza

Capitolul 9 PACHETUL PLOTTOOLS

Pachetul plottools contine rutine care pot genera obiecte grafice de baza pentru utilizarea in structuri grafice. Incarcarea acestui achet se face cu ajutorul comenzii plottools

>with(plottools):

1. Reprezentarea uni arc de cerc

Comanda arc([x 1 ,x 2 ],r,a

arc de cerc de raza r si centru C(x 1 ,x 2 ). Unghiurile de inceput si final ale arcului sunt specificate de intervalul [a,b]. Pentru a realiza reprezentarea grafica este necsara incarcarea pachetului plots.

Exemplu: sa se reprezinte grafic arcul de cerc cu centrul in C(0,0) raza 1 cuprins intre

b)

creaza un obiect in doua dimensiuni, reprezentat sub forma unui

unghiurile

π ,

6

π

>with(plottools):

>with(plots):

>display(arc([0,0],1,Pi/6 Pi),scaling=constrained)

65

2. Reprezentarea grafica a unei sageti Comanda arrow(B,D,gs,gv, lv, us) reprezinta o sageata care porneste

2. Reprezentarea grafica a unei sageti

Comanda arrow(B,D,gs,gv, lv, us) reprezinta o sageata care porneste din punctul de coordonate B (baza), ajunge in punctual D(destinatie). In punctul D este si varful sagetii, grosimea sagetii este gs, grosimea varfului sagetii este gv, lungimea varfului sagetii est lv, umbrirea sagetii este us si poate fi de urmatoarele tipuri: harpoon, arrow, double_arrow, sau cylindrical_arrow (aceasta ultima optiune este utilizata doar pentru reprezentari 3D si mai permite inca o optiune si anume fringe ce reprezinta culoarea marginii varfului). Exemplu:

Sa se reprezinte grafic doua sageti S1 care uneste punctele A(0,0), B(10,10), de grosime 0.2, grosimea varfului 0.4, lungimea sagetii 0.2, culoare verde si S2 care uneste punctele B(10,10), C(0,10), de grosime 0.5, grosimea varfului 0.8, lungimea varfului 0.4, culoare rosie

> with(plots):

with(plottools):

> l1 := arrow([0, 0], [10, 10], .2, .4, .2, color=green):

l2 := arrow([10, 10], [0, 10], .2, .8, .4, color=red):

> display(l1, l2, axes=frame);

66

Exemplul 2: Sa se reprezinte grafic sageata care uneste vectorii: v(1,0,0), u(2,2,2) de grosime 0.2,

Exemplul 2:

Sa se reprezinte grafic sageata care uneste vectorii: v(1,0,0), u(2,2,2) de grosime 0.2, grosimea varfului 0.4, lungimea varfului 0.1, de forma cilindrica, culoare verde, iar marginea varfului albastra

> ll := arrow(vector([1, 0, 0]), vector([2, 2, 2]), .2, .4, .1, cylindrical_arrow, fringe=blue, color=green):

> display(ll, color=red, orientation=[100, 160])

> display(ll, color=red, orientation=[100, 160]) 3. Reprezentari grafice con si sfera Comanda pentru

3. Reprezentari grafice con si sfera

Comanda pentru reprezentarea unui con este cone(c, r, h) unde c reprezinta coordonatele centrului bazei conului, r este raza cercului (daca ea nu este afisata valoarea implicita a acesteia este 1), h este inaltimea conului.

67

Comanda pentru reprezentarea unei sfere este sphere(c, r) unde c este centrul sferei iar r este raza acesteia. Exemplu:

Sa se reprezinte o inghetata formata dintr-un con (cornetul) al carui baza este cercul de centru C(0,0,-2) si raza 0.7, inaltime 2, iar culoarea cornetului este tan. In varful conului este cupa de inghetata adica o sfera centrata in S(0,0,0.2), raza 0.75, culoare pink. Sfera nu trebuie sa fie gridata

>inghetata := cone([0, 0, -2], 0.7, 2, color="Tan"), sphere([0, 0, 0.2], 0.75, color="Pink", style=patchnogrid):

> display(icecream, scaling=constrained, orientation=[45, 70]);

0.75, color="Pink", style=patchnogrid): > display(icecream, scaling=constrained, orientation=[45, 70]); 68

68

Capitolul 10

INTRODUCERE IN PROGRAMARE

Instructiunea IF

Structurile de control sunt structurile dintr-un limbaj care ne permit sa controlam fluxul executiei intr-un program sau script.

Structuri conditionale = sunt structurile care ii spun programului sa ia decizii. Pentru a putea scrie o instructiune in Maple pe mai multe randuri in cadrul aceluiasi promper se foloseste combinatia de taste: Shift+Enter

Sintaxa instructiunii If in Maple este:

if expresie conditionala 1 then secventa de control

elif expresie conditionala 2 then secventa de control 2

else secventa de control 3

end if

Forme simple ale instructiunii IF:

if expr then conditie end if

if expr then conditie 1 else conditie2 end if

Incheierea sintaxei poate fi prescurtata cu fi in loc de end if

Maple executa aceste instructiuni dupa cum urmeaza:

- evaluarea expresiei conditionale din IF: aceasta poate fi o expresie booleana care returneaza true, false sau FAIL . Putem folosi:

Operatori relationali: <, <=, >, >=, =, si <>

Operatori logici: and, or, si not

Nume logice: true, false, si FAIL, altfel instructiunea IF returneaza o eroare

Exemplificam cele spuse mai sus printr-un contraexemplu.

> x := 2:

> if x then adevarat else fals end if;

Error, invalid boolean expression

Daca in expresia conditionala (x) nu exista expresie booleana atunci instructiunea a returnat eroare.

69

Un exemplu corect ar fi:

> x := 2:

> if x>3 then adevarat else fals end if;

Ex. Sa se determine maximul dintre doua numere a=4 si b=7

> if a>b then a else b end if;

Aceasta instructiune va returna : fals.

In cazul in care nu dorim efectuarea niciunei actiuni in caz de fals putem omite pasul else.

Exemplu:

>if x>0 then x:=x^2 fi

Rezultatul returnat va fi: 4

Un exemplu mai complicat in care este folosita si instructiunea elif este urmatorul:

1 Sa se studieze semnul functiei f ( x ) = x − 5 >x:=5
1
Sa se studieze semnul functiei
f
(
x
)
=
x − 5
>x:=5

Rezultatul afisat va fi nedeterminare.

Operatorul `if` reprezinta forma prescurtata a instructiunii if si are urmatoarea sintaxa:

`if`(expresie conditionala, valoarea de adevar, valoarea de fals)

>`if`(x>3,adevarat,fals)

Va returna adevarat.

Instructiunea FOR

O structura bucla (instructiune ce se repeat) executa o sectiune a unui cod de mai multe ori. Sintaxa instructiiunii for este:

for variabila from expresie1 by expresie2 to expresie 3 while expr4 do

secventa instructiunii

end do

Prescuratrea incheierii instructiunii poate fi facuta cu od

Ex. Sa se calculeze patratele perfecte ale numerelor de la 2 la 5:

70

Daca dorim afisarea patratelor perfecte de la 2 la 5 dar din 2 in 2:

Daca dorim afisarea patratelor perfecte de la 2 la 5 dar din 2 in 2:

afisarea patratelor perfecte de la 2 la 5 dar din 2 in 2: Bucla while permite

Bucla while permite repetarea conditiei iterativ pana in momentul in care aceasta nu mai este indeplinita.

De exemplu: Pentru x=16 sa se calculeze x/2 atata timp cat x este mai mare decat 1

sa se calculeze x/2 atata timp cat x este mai mare decat 1 Sa se calculeze

Sa se calculeze primul numar prim mai mare decat 200

decat 1 Sa se calculeze primul numar prim mai mare decat 200 Ex. sa se determine

Ex. sa se determine suma numerelor pare mai mica decat 20:

decat 1 Sa se calculeze primul numar prim mai mare decat 200 Ex. sa se determine

71

Proceduri in maple

Sintaxa de definire a unei proceduri este:

proc( variabile globale ) corpul procedurii end proc Pentru ca o procedura sa poata fi executata este necesara denumirea procedurii Exemplu: sa se calculeze suma a doua numere:

F:=proc(x,y) x+y end proc; Executarea procedurii se face astfel: F(4,6) iar maple va returna 10

72

CAPITOLUL 11

MAPLETURI

Un maplet reprezinta interfata grafica ce permite accesul interactiv la softul matematic Maple

prin intermediul butoanelor, casetelor text, casutelor de dialog.

O aplicatie Maplet poate fi definita prin incarcarea pachetului with(Maplets[Elements]) si

apoi lansarea in executie a comenzii Maplets[Display].

Unul dintre cele mai simple maplet-uri este crearea unei casete de mesaj. De exemplu, ne

propunem sa afisam un mesaj in care sa fie scris “Bine ati venit in lumea Maple!”

with(Maplets[Elements]):

primulmaplet:=Maplets([[“Bine ati venit in lumea Maple!”]]):

Maplets[Display](primulmaplet)

Rezultatul este afisarea in spatial de lucru a ferestrei de mai jos:

este afisarea in spatial de lucru a ferestrei de mai jos: Salvarea unui Maplet se face

Salvarea unui Maplet se face astfel: de la meniul File se alege optiunea Export As…Din

lista ascunsa Files of type se alege Maplet(.maplet). Pictograma va fi una diferita de cea a

Maplet(.maplet). Pictograma va fi una diferita de cea a fisierelor Maple Worksheet (.mw): . Dand dublu

fisierelor Maple Worksheet (.mw): . Dand dublu click pe pictograma va aparea

fereasta de mesaj creata.

Vizualizarea codului unui Maplet se face astfel: din fereastra de lucru Maple de la maniul

File se alege Open. Din lista ascunsa Files of Type se alege (.maplet) si se deschide

fisierul dorit. Mapletul creat mai sus va avea codul:

> with(Maplets[Elements]);

> `output redirected

> primulmaplet := Maplet([["Bine ati venit in lumea

Maple!"]]);

> `output redirected

> Maplets[Display](primulmaplet);

`print();

`print();

# input placeholder

# input placeholder

73

Pentru a lucra cu maplets avem doua variante: Maplet Builder bazat pe interfatagrafica

cu utilizatorul sau pachetul Maplets bazat pe sintaxa. Maplet Builder permite mutarea

butoanelor, regiunilor text a cursorului de tip scroll. Maplet Builder este utilizat pentru a

crea Maplet-uri simple. Pachetul Maplets permite controlul unor aplicatii maplet mai

complicate. Pentru a construi un maplet prima data definim liniile si coloanele aplicatiei si apoi pornim sa adugam corpul de elemente (butoane, campuri tex si regiuni grafice) .

Deschiderea lui Maplet Builder:

De la meniul Tools Assistants Maplet Builder. Pe ecran apare o fereastra de tipul

celei de mai jos:

Pe ecran apare o fereastra de tipul celei de mai jos: Aceasta fereastra este impartita in

Aceasta fereastra este impartita in patru patru sectiuni:

Sectiunea Palette, cea din stanga, contine elementele Maplet organizate pe categorii :

Body Elements

- permite inserarea unui buton in Maplet

- defineste o caseta de verificare (check box)

- acest element defineste o lista ascunsa (Combo Box)

- acest element defineste tot o lista ascunsa insa de lungime mai mica (Drop-Down Box)

- etichete in maplet (Label)

- insereaza o lista deschisa care ramane mereu vizibila ( List Box)

- MathML Editor. Defineste un editor MathML

74

MathML Viewer. Permite vizualizarea unui MathML afisat in 2D . . Permite vizualizarea unui MathML afisat in 2D .

Plotter. Acest element defineste un graphic al unei functii in maplet. . Acest element defineste un graphic al unei functii in maplet.

Radio Button. Acest element permite inserarea unui buton radio . Acest element permite inserarea unui buton radio

Slider. Acest element defineste un cursor in maplet . Acest element defineste un cursor in maplet

Table. Acest element defineste un tabel . Acest element defineste un tabel

-

-

-

-

-

Ex.

Sa se realizeze un mini- calculator de buzunar care sa calculeze suma , diferenta, inmultirea si scaderea .

75

Capitolul 12 – Reprezentari practice folosind notiuni de programare

1. Jobenul

>

Capitolul 12 – Reprezentari practice folosind notiuni de programare 1. Jobenul > > 2. Epicicloida >

>

Capitolul 12 – Reprezentari practice folosind notiuni de programare 1. Jobenul > > 2. Epicicloida >
Capitolul 12 – Reprezentari practice folosind notiuni de programare 1. Jobenul > > 2. Epicicloida >

2. Epicicloida

>
>
Capitolul 12 – Reprezentari practice folosind notiuni de programare 1. Jobenul > > 2. Epicicloida >
Capitolul 12 – Reprezentari practice folosind notiuni de programare 1. Jobenul > > 2. Epicicloida >
Capitolul 12 – Reprezentari practice folosind notiuni de programare 1. Jobenul > > 2. Epicicloida >
Capitolul 12 – Reprezentari practice folosind notiuni de programare 1. Jobenul > > 2. Epicicloida >

76

> > > 77
> > > 77
> > > 77

>

> > > 77
> > > 77

>

> > > 77
> > > 77
>
>

77

3. Pahar de vin > > 4. Rozaceea / Rodoneea 78

3. Pahar de vin

> >
>
>
3. Pahar de vin > > 4. Rozaceea / Rodoneea 78

4. Rozaceea / Rodoneea

78

> > > >
>
>
>
>
>
>
> > > > > > 79
>
>
> > > > > > 79
> > > > > > 79
> > > > > > 79
> > > > > > 79

79

> 80
> 80
> 80
> 80
> 80
> 80

>

> 80

80

> > > > 81

>

>

>

>

> > > > 81
> > > > 81

81

Anexa1 - Teme de laborator

Calcule numerice cu Maple.

Aritmetica in Z, sisteme de numeratie, operatii cu polinoame in Maple

Numere complexe.

Comenzi folosite:

abs= modulul numarului x; irem(a,b)=determinarea restului impartirii a doua numere;

iquo(a,b) = determinarea catului impartirii a doua numere; ceil(x)= cel mai mare numar

intreg x; floor(x) = partea intreaga a lui x, factor(E)= descompunerea in factori a unei

expresii algebrice; simplify(E)= aducerea la forma cea mai simpla a unei expresii

algebrice; expand(P)=desfacerea parantezelor unui produs; rem(f,g,’c’)= determinarea

restului si catului impartirii a doua polinoame; quo(f,g,’r’)=determinarea catului si

restului impartirii a doua polinoame; expand(P)=desfacerea parantezelor unui produs;

rem(f(x),g(x),x)= determinarea restului si catului impartirii a doua polinoame;

quo(f(x),g(x),x)=determinarea catului si restului impartirii a doua polinoame; solve(P)

=determinarea radacinilor unui polinom, coeff(P,x^n)= detreminarea coeficientului lui

x n ; degree(P,x)= determinarea gradului maximal al unui polinom; ldegree(P,x) =

determinarea gradului minim al unui polinom; gcd(p,q)= determinarea c.m.m.d.c al

polinoamelor p si q; lcm(p,q)=determinarea c.m.m.m.c al polinoamelor p si q, I=i;

Re(z)=determinarea partii reale a numarului complex z; Im(z)=determinarea partii

imaginare a numarului complex z; conjugate(z)=conjugatul unui numar complex z;

abs(z)= modulul unui numar complex z; polar(z)= determinare modulului si argumentului

unui numar complex z;

1. Sa se calculeze modulul numerelor:

a)

1

1 3 − 2 4
1
3
2
4

; b)

2

1 5 − 1 − 2 7
1
5
1
2
7