Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA DE STIINTE
Calculatoarele sunt din ce în ce mai mult folosite pentru a rezolva pe scala largă
probleme care sunt inerent geometrice.
Obiectele geometrice cum ar fi punctele, liniile şi poligoanele formează bazele unei
varietăţi largi de aplicaţii importante în teoria algoritmilor. Astfel se pot identifica mai multe
domenii ale informaticii care se ocupǎ cu rezolvarea problemelor de naturǎ geometricǎ, cum
ar fi reprezentările grafice, procesarea imaginilor, robotica, fabricarea şi proiectarea asistată
de calculator, dinamica fluidelor şi „geometria” bazelor de date, pentru a numi câteva dintre
ele.
Unul dintre scopurile Algoritmicii geometrice este de a oferi instrumentele de bazǎ
necesare din care programatorii pot sǎ-şi construiască apoi aplicaţiile. S-a făcut un progres
semnificativ în acest sens, dar încă e departe de a fi pe deplin realizat. Algoritmii geometrici
sunt importanţi de asemenea în studiul modelelor de analiză ale obiectelor fizice, începând de
la clădiri şi automobile până la marea categorie a circuitelor integrate.
Un proiectant care lucrează cu un obiect fizic are o intuiţie geometrica care este greu
de implementat în reprezentarea pe calculator a obiectului.
Termenul de Geometrie computaţională a fost utilizat prima dată de Marvin Minsky în
cartea sa “Perceptroni”, care se referea la recunoaşterea formelor (pattern recognition) şi de
asemenea a fost des folosit la descrierea algoritmilor pentru manipularea curbelor şi
suprafeţelor. Totuşi, în mare măsură utilizarea sa curentă este asociată subdomeniului teoriei
algoritmilor 10 care studiază proiectarea şi analiza algoritmilor eficienţi pentru probleme
derivate din geometrie. În acest sens am preferat să folosim termenul de Algoritmică
geometrică pentru acest domeniu, mai potrivit ca descriere decăt „geometrie computaţională”.
Ce este Matlab?
function[parametri_iesire] = nume_funcŃie[parametri_intrare].
Aceste fisiere au proprietatea că după executarea lor, variabilele interne nu răman in zona de
memorie a spatiului de lucru, ci doar cele de iesire.
Programele create in Matlab se scriu cu un editor de text si au extensia .m.
Functiile recunoscute de acest limbaj sunt grupate in toolbox-uri specializate pe categorii de
probleme din domenii diverse de activitate. O listare a acestor categorii si a functiilor
corespunzatoare poate fi facută cu usurintă utilizand comanda help in fereastra de comanda.
>> help
[lista cu categoriile de functii existente]
Dacă după comanda help se tipareste numele exact al comenzii sau functiei care ne
intereseazǎ, atunci se vor tipari informatiile corespunzǎtoare acestora existente in meniul help
al mediului Matlab. De asemenea dacǎ sunteti conectat la Internet aveti si posibilitatea de a vi
se oferi ajutor online. Dacǎ dupǎ help veti tipǎri numele unui director atunci , atunci se vor
afisa fisierele continute in directorul specificat .
La apelare nu este necesar sǎ se scrie intreaga cale a directorului, ultima componentǎ
este suficientǎ.
Matlab utilizeazǎ deasemenea cateva functii de control general :
In Matlab existǎ cateva variabile si constante speciale, ale cǎror nume e bine sǎ nu le
intrebuintǎm in alte asocieri de variabile. O parte din acestea ar fi :
• ans- variabilǎ creatǎ automat, in care este returnat rezultatul unui calcul, atunci cand
expresia nu a avut asignat un nume ;
• eps- variabilǎ permanentǎ in care este memoratǎ eroarea relativǎ pentru calculele efectuate
in virgulǎ mobilǎ. Valoarea implicitǎ este eps=2.2204e-016, dar poate fi redefinitǎ la orice
altǎ valoare ;
• pi- variabilǎ permanentǎ care are asignatǎ valoarea
3.14159265358 ;
• i = −1 - variabilǎ folositǎ pentru introducerea numerelor
complexe ;
• j = −1 - alternativǎ la utilizarea nitǎŃii imaginare i;
• inf- variabilǎ folositǎ pentru reprezentarea lui plus infinit in artitmetica IEEE (rezultat al
impǎrŃirii la zero) ;
• NaN- variabilǎ folositǎ pentru reprezentarea lui Not-a-
Number, In artimetica IEEE, rezultat al impǎrtirii nedefinite
0.0/0.0 ;
• nargin- variabilǎ permanentǎ pentru testarea numǎrului de argumente de intrare ce se
introduc pentru apelarea unei functii ;
• nargout- variabilǎ permanentǎ pentru testarea numǎrului de argumente de iesire ale unei
functii ;
• realmax- reprezintǎ cea mai mare valoare pozitivǎ in virgulǎ mobilǎ care poate fi folositǎ in
calcule, respectiv 1.7977e+308 ;
• realmin- reprezintǎ cea mai micǎ valoare pozitivǎ in virgulǎ mobilǎ care poate fi folositǎ in
calcule, respectiv 2.2251e- 308 ;
Numele de variabile si funcŃii au ca prim caracter urmate de litere, cifre sau liniutǎ de
subliniere si pot fi formate din maxim 19 caractere. Matlab face deosebirea dintre litere mari
si litere mici.
Matlab suportǎ si calcule cu numere complexe.
» (-1)^0.25
ans =
0.7071 + 0.7071i
unde i reprezintǎ −1 , partea imaginarǎ.
» 2-3i
ans =
2.0000 - 3.0000i
Reprezentarea 2D
Graficul unui set arbitrar de date asociate unei variabile y poate fi generat utilizand comanda
plot(y). Sa consideram exemplul unor date care reprezinta cubul numerelor cuprinse in
intervalul [-5, 4] cu pasul 0.1. Aceste date pot fi generate direct folosind comanda
la prometer:
>>y = (-5:0.1:4).^3;
>>plot(y);
O alta variantă a codului de mai sus o reprezintă si comenzile:
>>x = -5:0.1:4;
>>y = (x).^3;
>>plot(x,y);
>> title('graficul functiei x^3')
Reprezentarea obiectelor 3D predefinite
Mai sus este generată o suprafată binecunoscută peaks, folosind comanda surf.
Să considerăm cazul reprezentării unei functii de două variabile func(x,y), functie creată intr-
un fisier Matlab.
function z=func(x,y)
z=sin(x).*cos(y)+1;
» x=linspace(0,pi,20);
» y=linspace(-pi,pi,20);
» [xx,yy]=meshgrid(x,y);
» zz=func(xx,yy);
» mesh(xx,yy,zz)
Bibliografie