Sunteți pe pagina 1din 9

Curs 7

Programe de calcul

Introducere
Programele de calcul permit cunoaşterea principalelor metode de prelucrare a
rezultatelor experimentale, determinarea unor caracteristici ale sistemelor complexe, metode şi
fenomene numerice, tipuri de simulări ale proceselor fizice, elaborarea unor programe de calcul
pentru rezolvarea de probleme, reprezentări grafice, etc. Calculul simbolic este calculul cu
variabile şi constante care respectă regulile algebrice, ale analizei şi ale altor ramuri ale
matematicii. Maple, Mathematica, MathCAD, MATLAB şi TKSolver, sunt clase de produse
software care permit manipularea formulelor care utilizează simboluri, necunoscute şi operaţii
formale, în comparaţie cu limbajele de programare tradiţionale care utilizează doar date
numerice, caractere şi şiruri de caractere.
Aceste programe reprezintă noi softuri pentru rezolvarea problemelor de matematică,
fizică, chimie, inginerie şi crearea de aplicaţii interactive. Intuitiv şi uşor de realizat, acestea
oferă cele mai avansate, complete capabilităţi matematice. Permit crearea de documente
executabile care oferă atât răspunsul cât şi analiza modului de gândire. Documentele combină
perfect calcule numerice şi simbolice, explorări, notaţii matematice, documentare, butoane şi
glisante, grafică, şi animaţii.
Utilizarea acestor softuri permite crearea de documente interactive puternice. Se pot
vizualiza şi anima probleme în două şi trei dimensiuni. Pot fi rezolvate probleme complexe
printr-un simplu click de mouse sau interfeţe usor de modificat documente interactive. Pot fi,
de asemenea, elaborate soluţii personalizate folosind limbajele de programare. Milioane de
oameni de ştiinţă, ingineri, matematicieni, profesori şi studenţi din întreaga lume beneficiază
de această nouă tehnologie.

MAPLE este un program care inglobeaza instructiuni matematice, reprezentand cel mai
dinamic si usor softwear utilizat in matematica, inginerie si stiintele mediului.
Acest program a fost creat in 1981 de catre membrii grupului Symbolic Computation de
la Universitatea Waterloo din Ontario, Canada.
Maple combina limbajul de programare cu o interfata astfel incat utilizatorii pot sa
introduca notatiile matematice traditionale. Cele mai importante functii matematice ale lui
Maple au fost scrise in limbajul sau propriu, care este interpretat de nucleul acestui program.
Limbajul de programare utilizat pentru crearea lui Maple este C (versiunile Maple 3-Maple 9)
si Java in Maple 10-Maple 11.
Limbajul de programare Maple este de tip dinamic si interpretabil. In mod uzual in
Maple expresiile simbolice si sistemele algebrice de calcul sunt stocate in memorie ca si grafice
directionate aciclic.
Incepand cu anul 1982 variantele Maple s-au imbunatatit ajungandu-se in anul 2003 ca
o noua interfata sa fie introdusa in Maple 9 intr-un nou limbaj de programare Java. In 2005,
Maple 10 a introdus "un nou model de document" ca parte a interfetei standard. În prezent a
apărut versiunea Maple17.
Structura internă . Categorii de comenzi MAPLE.
MAPLE are trei componente de bază: nucleul (kernel),
biblioteca standard (library)
interfaţă cu utilizatorul (interface).
Nucleul este scris în C şi realizează cea mai mare parte a calculelor făcute de sistem.
Biblioteca standard este automat încărcată în memorie la deschidere unei sesiuni MAPLE. În
afara acestei biblioteci există o bibliotecă extinsă cu rutine destinate rezolvării unor probleme
mai complicate, ca de exemplu, rezolvarea sistemelor de ecuaţii, probleme de statistică sau

1
algebră liniară.
Interfaţa cu utilizatorul este scrisă în C. Interfaţa pentru sistemul de operare Windows este
bazată pe ferestre.
Un fişier MAPLE, fişier cu extensia .mws poate fi încărcat selectând Open din meniul File, iar
o foaie nouă de programare MAPLE poate fi creată selectând New din meniul File. Salvarea
foii de programare MAPLE se realizează selectând Save sau Save as
Foia de programare se poate salva sub forma unui fişier text sau latex dacă se selectează
Export as din meniul File. Încheierea sesiunii MAPLE se face selectând Exit din meniul File,
sau prin clic pe butonul de închidere X.

Pachete de programe
Pachetele sunt colectii de functii care permit efectuarea de calcule specifice. Apelarea lor
se face cu ajutorul comenzii with(nume_pachet). Pentru a apela o anumita functie dintr-un
pachet, se foloseste sintaxa: pachet['functie'](argumente).
Printre cele mai utilizate pachete sunt:
plots - pentru reprezentări grafice;
DEtools - pentru rezolvarea ecuatiilor diferentiale;
linalg - pentru rezolvarea unor probleme de algebraă liniarăa;
student - pentru analizăa matematicăa.

Reguli generale de introducere a comenzilor


Un document Maple poate avea patru tipuri de campuri:
1. comenzi Maple (introduse de către utilizator);
2. rezultate Maple (râspunsuri ale CAS-ului la comenzile introduse);
3. grafice (râspunsuri ale CAS-ului);
4. texte (introduse de catre utilizator).
Orice comandă se introduce cu “ >”
Orice comandă se termină cu “;” (dacă dorim să afişeze rezultatul) sau “:” (dacă nu dorim ca
rezultatul să fie afişat).
Exemplu:

Operatori, constante şi funcţii predefinite în MAPLE. Expresii.


O expresie este o combinaţie validă de operatori şi variabile, constante, şi apeluri de funcţii.

a) Operatorii folosiţi frecvent sunt:

2
b) Funcţiile de bază din MAPLE ce pot interveni în expresiile aritmetice.

c) constante MAPLE:

Efectuarea de calcule simple cu Maple. Operatii cu numere intregi, rationale si


complexe.

Operatiile de baza in Maple sunt:


+ adunarea
- scaderea
* inmultirea

3
/ impartirea
^ sau ** puterea

Functiile 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
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 := 2 x + 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:
> solve(E = 5);

OPERAŢII CU NUMERE ÎNTREGI


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
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, respectiv irem(x,y,'c') si se va
retine catul impartirii.
Descompunerea in factori primi a unui numar intreg se efectueaza cu comanda factor(x)

Cel mai mare divizor comun dintre doua sau mai multe numere intregi se calculeaza cu
comanda gcd(x,y,...) - greatest common divisor of integers,
iar cel mai mic multiplu comun lcm(x,y,…) - least common multiple of integers
Verificarea unui numar daca este sau nu prim se face cu ajutorul instructiunii isprime(x)

NUMERE REALE
Afisarea numerelor reale

Tipul integer
O valoare intreaga este aautomat pusa in forma intreaga si afisata intotdeauna in baza
10. Rezultatul poate sa se desfasoare pe cateva linii ale ecranului. O valoare intreaga este de tip
integer.
Tipul fraction
O valoare fractionala care nu este intreg este automat pusa ca raportul a doua numere
relativ prime, cu numitorul strict pozitiv, si afisata in aceasta forma pe ecran. Ea este de tip
fraction.
Tipul float

4
O valoare catre este exprimata prin nr. rationale, folosind patru operatii si cel putin o
variabila a punctului zecimal este automat simplificata si retinuta ca doua nr. : un intreg, mantisa
si puterea lui 10, exponentul. Un astfel de element este de tipul float.
O valoare de tipul float este de obicei afisata pe ecran in forma zecimala clasica ca si
123456.789, sau scris stiintific ca .602 10^24. Utilizatorul poate tasta nr. zecimale in oricare
din aceste doua forme dar trebuie sa avem grija sa nu uitam de simbolul *, dintre mantisa si
puterea lui 10

NUMERE COMPLEXE

Diferite tipuri de nr.complexe


O valoare numerica complexa obtinuta din nr. reale de tip numeric si nr. I=sqrt(-1) utilizand
operatorii +,-,*,^ si / este automat evaluata in forma a+bI unde a si b sunt nr. reale de tip
numeric

Functia type poate fi folosita pt a asigura tipul coeficientilor a si b a unui nr. complex de forma
a+bI

O valoare numerica complexa z este de tip complex(realcons) daca z este scris in forma a
+bI unde a si b sunr doua nr. reale de tip realcons Acest tip de date nu este returnat de
wattype dar poate fi determinat cu ajutorul lui type.

Functiile Re si Im
Daca z contine o valoare numerica complexa atunci Re(z) si Im(z) returneaza partea reala si
partea imaginara a unui nr.complex z

Cateodata Re(z) sau Im(z) returneaza o forma neevaluata utilizand R(z) si Iz). Functia evalc
poate fi utilizata in asemenea cazuri pentru a forta evaluarea rezultatelor

Conjugata complexa a nr.complex

Daca z contine o valoare complexa conjugate(z) returneaza conjugatul lui z

Forma trigonometrica a nr. complexe

Functia abs
Daca z contine o valoare complexa abs(z) returneaza valoarea absoluta a nr. complez z

Functia argument
Daca z contine o valoare numerica complexa diferita de zero argument(z) returneaza unicul
nr. real pozitiv apartinand lui [-π,π]a.i. z=|z|e^It.

Rezolvarea ecuatiilor si inecuatiilor. Functiile in Maple.

Rezolvarea unei ecuatii


Comanda pentru rezolvarea ecuatiilor este:
>
optiuni - intervalul pe care gasim solutiile, n..m;
- numar maxim solutii, maxsols=3;
- complex;

5
- real;
Exemplu:
>

Rezolvarea unor ecuatii simple.


>
>

In cazul unor ecuatii mai complicate rezultatul obtinut in Maple este de forma Root of
(-z^n..)
Pentru a gasi valoarea numerica a radacinilor se foloseste comanda fsolve (ecuatie=termen
liber);
>

>

In unele cazuri se obtin si solutii imaginare si apare numarul I. In Maple i:=I

Sisteme de ecuatii.
- Functia solve, poate fi de asemenea folosita la rezolvarea sistemelor de ecuatii.
Rezolvarea unui sistem de ecuatii liniare se face utilizand comanda:

> Sol:=solve({ecuatie_1,ecuatie_2, ecuatie_n},{x1,x2,...xn});

Obs1: - Functia solve se foloseste foarte bine in cazul sistemelor simetrice.

Obs2: - Folosind functia solve, se pot rezolva si sisteme liniare de ecuatii, depinzand de un
parametru.

Metode de rezolvare a sistemeleor de ecuatii

1. Metoda lui Newton de gasire a solutiei aproximative a unei ecuatii de forma f(x)=0.
Se porneste de la o solutie x_0 si se obtine apoi secventa x_1, x_2, x_3,... iar daca este corect
se obtine o convergenta buna spre solutia ecuatiei. Comanda fsolve include metoda lui Newton
Pentru a gasi solutia initiala aproximativa corecta se foloseste metoda grafica. Se aproximeaza
f(x) langa x=x[0] prin tangenta in punctul x=x[n], astfel incat urmatoarea aproximatie radacina
x[n+1] este punctul in care aceasta tangenta intersecteaza axa x.
Vom face graficul lui f(x) si tangenta sa din punctul (x[n],f(x[n])) in punctul (x[n+1],f=0). Vom
face grafice separate pentru f(x) si tangente si vom folosi comanda display.

2. Metoda lui Newton aplicata pentru rezolvarea sistemelor de ecuatii


Consideram ca avem de rezolvat un sistem de m ecuatii cu m necunoscute

6
Vom folosi comanda mtaylor pentru a gasi aproximatie liniara ap1 pentru prima ecuatie si
ap2 pentru cea de-a doua ecuatie. Punctul de pornire va fi (1,1) care este o solutie a primei
ecuatii.
Apoi vom avea de rezolvat sistemul mai simplu de ecuatii ap1=0 , ap2=0. Comanda este:
> solve({ap1=0,ap2=0},{x,y});

Vrem sa obtinem numere zecimale nu expresii; folosim comanda evalf.


> p[1]=evalf(%);

Inecuatii
- Functia solve poate rezolva de asemenea si inecuatii simple cu o variabila. Rezultatul este
exprimat cu ajutorul functiei Real Range si apoi este folosita functia assume:

- Observam ca rezultatul este unul nu foarte prietenos. Pentru a evita această scriere, în
interiorul comenzii „solve”, se va scrie inecuaţia între acolade.

Polinoame

Comanda pentru rezolvare


>solve(polinom);
Obs: Atunci cand functia solve nu este in masura sa determine solutia intr-o forma explicita:
a). Poate sa returneze o expresie explicita folosind functia Root Of.
b). Poate sa returneze o secventa goala, chiar daca ecuatia are solutii. In acest caz Solution
May Be Lost, se returneaza pe True.

Comenzi principale pentru polinoame:


a) Comanda "expand", se foloseste pentru a desface parantezele.
b) Functia "collect", se foloseste pentru gruparea termenilor asemenea.
c) Functia "sort", pentru aranjarea dupa exponentii variabilei date.

Gradul polinomului.
Comenzile: "degree" calculeza gradul unui polinom,
"ldegree", calculeaza gradul inferior, al unui polinom.

Obtinerea coeficientilor unui polinom.


Pentru coeficientul termenului de grad "k"se foloseste comanda: "coeff(f,x,k);(x^k)”

Divizibilitatea polinoamelor.
Functia divide, comanda este "divide(f,g)”;
Obs: Aceasta functie nu se utilizeaza in afara domeniului cu coeficienti rationali, deoarece
Maple poate da mesaj de eroare de calcul.

Cel mai mare divizor comun al polinoamelor f si g.


Pentru c.m.m.d.c. se foloseste comanda "gcd(f,g)" - greatest common divisor of polynomials
Cel mai mic multiplu comun al polinoamelor f si g.
Penrtu c.m.m.m.c. se fol. comanda "lcm(f,g)"- least common multiple of polynomials

Descompunerea polinoamelor in factori primi .


Linia de comanda care se da este: "factor(f);"

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

Definirea unei functii


a). definirea functiei de o variabila:
Evaluarea unei functii pentru o anumita valoare a variabilei se face astfel:
Ex:

> f(3);

Diferenta dintre functie si expresie:

> g:=x^2;

pentru functie:

> f:=x->x^2;

b). Substitutia:
Ex:
> subs(x=4,g);
16
Pentru a transforma o expresie intr-o functie se foloseste comanda:
>

>

Compunerea functiilor
>

>

>

Modulul
Comanda pentru modulul unei expresii este:

>

8
Pentru semnul unei functii se foloseste:

>

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