Proiect Matlab

Post on 04-Apr-2015

944 views 5 download

transcript

Universitatea “Vasile Alecsandri” din Bacau

Facultatea de Stiinte

Specializarea Informatica, an II, grupa 421

Matrix Laboratory Geometrie computationala

Proiect MATLAB

Realizat de: HALÎNGA VICTORIA

Îndrumator: COSMIN ION TOMOZEI

Anul 2010

Geometrie computationala

- 2 -

Capitolul I

Calcule matematice

1. >> (1+sqrt(5))/2

ans =

1.6180

Exemplu personal 2. >> (10-sqrt(49))*2

ans =

6

Exemplu personal 3. >> (3-sqrt(49))*2

ans =

-8

Calcule simple in MATLAB. Vectori si matrice.

1. >> a =5; >> b=12;

>> a+b

ans =

17

Exemplu personal

2. >> a=32; >> b=8;

>> (a+b)-b

ans =

32

Geometrie computationala

- 3 -

Exemplu personal

3. >> a1=5; >> a2=18;

>> a2-a1

ans =

13

4. >> x=sin(2)

x =

0.9093

5. >> y=3*exp(x)+cos(x); -- daca folosim semnul ; dupa tastarea expresiei nu se va afisa

>> -- variabila de iesire

6. >> y=3*exp(x)+cos(x)

y =

8.0620

Exemplu personal

7. >> x=sin(pi)

x =

1.2246e-016

Exemplu personal

8. >> x=sin(pi/2)

x =

1

Geometrie computationala

- 4 -

Exemplu personal

9. >> cos(pi/2)

ans =

6.1232e-017

Exemplu personal

10. >> cos(2*pi)

ans =

1

11. >> x=sin(22), y=exp(3)

x =

-0.0089

y =

20.0855

Exemplu personal

12. >> x=sin(1), y=cos(1)

x =

0.8415

y =

0.5403

13. >> (-1)^0.25

ans =

0.7071 + 0.7071i

Geometrie computationala

- 5 -

14. >> 2-3i

ans =

2.0000 - 3.0000i

Exemplu personal

15. >> 12-4i

ans =

12.0000 - 4.0000i

Exemplu personal

16. >> 1^0.25

ans =

1

Exemplu personal

17. >> (-1)^0.12

ans =

0.9298 + 0.3681i

18. >> x=[1 2 3 4 5] ; -- pentru memorarea unui sir de numere

{1,2,3,4,5} intr-un vector

>>

19. >> A=[2 -1 ;0 3] -- afisarea elementelor unei matrici A

A =

2 -1

0 3

Geometrie computationala

- 6 -

20. >> x=[1 2 3 4 5] ; >> x(4)

ans =

4

21. >> A=[2 -1 ;0 3] ; >> A(1,2)

ans =

-1

22. >> A=[2 -1 ;0 3] , A(1,2)

A =

2 -1

0 3

ans =

-1

23. >> linspace(0, 1, 7)

ans =

0 0.1667 0.3333 0.5000 0.6667

0.8333 1.0000

Exemplu personal

24. >> linspace(-2, 2, 5)

ans =

-2 -1 0 1 2

Geometrie computationala

- 7 -

Exemplu personal

25. >> x=[1 2 3 4 5] ; -- lungimea unui vector

>> length(x)

ans =

5

Exemplu personal

26. >> A=[2 -1 ;0 3] ; -- dimensiunea unei matrici

>> size(A)

ans =

2 2

27. >> A=[1 2 3 ; 3 4 -1;2 1 1;4 3 1]; >> A(:,2)

ans =

2

4

1

3

28. >> A=[1 2 3 ; 3 4 -1;2 1 1;4 3 1], A(1,:)

A =

1 2 3

3 4 -1

2 1 1

4 3 1

ans =

1 2 3

Geometrie computationala

- 8 -

29. >> A=[1 2 3 ; 3 4 -1;2 1 1;4 3 1], A(:,3)

A =

1 2 3

3 4 -1

2 1 1

4 3 1

ans =

3

-1

1

1

Exemplu personal

30. >> A=[1 2 3 ; 3 4 -1;2 1 1;4 3 1], A(:)

A =

1 2 3

3 4 -1

2 1 1

4 3 1

ans =

1

3

2

4

2

4

1

3

3

-1

1

1

31. >> A = [1 2 3;4 5 6;7 8 9]; >> B = [1 1 1;2 2 2;3 3 3];

Geometrie computationala

- 9 -

>> C = [1 2;3 4;5 6];

>> A+B

ans =

2 3 4

6 7 8

10 11 12

>> A+C

??? Error using ==> plus

Matrix dimensions must agree.

32. >> A=[1 2 3;3 5 6; 34 5 6]

A =

1 2 3

3 5 6

34 5 6

>> C*A

??? Error using ==> mtimes

Inner matrix dimensions must agree.

>> A*C

ans =

22 28

48 62

79 124

33. >> v = [0:2:8]

v =

0 2 4 6 8

>> A = [ 1 2 3; 3 4 5; 6 7 8]

A =

1 2 3

3 4 5

6 7 8

Geometrie computationala

- 10 -

>> A*v(1:3)

??? Error using ==> mtimes

Inner matrix dimensions must agree.

>> v(1:3)

ans =

0 2 4

>> A*v(1:3)'

ans =

16

28

46

>> v(1:3)'

ans =

0

2

4

Exemplu personal

34. >> A=[2 4 6; 2 4 6;1 3 6]

A =

2 4 6

2 4 6

1 3 6

>> B=[1 6 3; 6 4 2; 2 2 2]

B =

1 6 3

6 4 2

2 2 2

>> C=[1 1 1; 2 2 2]

Geometrie computationala

- 11 -

C =

1 1 1

2 2 2

>> A+B

ans =

3 10 9

8 8 8

3 5 8

>> B+A

ans =

3 10 9

8 8 8

3 5 8

>> A*B

ans =

38 40 26

38 40 26

31 30 21

>> B*A

ans =

17 37 60

22 46 72

10 22 36

>> A*C

??? Error using ==> mtimes

Inner matrix dimensions must agree.

Geometrie computationala

- 12 -

>> C*A

ans =

5 11 18

10 22 36

>> B*C

??? Error using ==> mtimes

Inner matrix dimensions must agree.

>> C*B

ans =

9 12 7

18 24 14

- f(x) = x

- g(x) = x

35. >> x=linspace(-1,1,20); >> f=1./(1+x.^2).*exp(x-1); >> x=linspace(0,2*pi,20);

>> g=cos(x).^2.*exp(x);

>> x=linspace(-1,1,20);

>> f=1./(1+x.^2).*exp(x-1)

f =

Columns 1 through 7

0.0677 0.0835 0.1029 0.1264 0.1544 0.1871

0.2241

Columns 8 through 14

0.2644 0.3065 0.3481 0.3867 0.4203 0.4476

0.4682

Geometrie computationala

- 13 -

Columns 15 through 20

0.4825 0.4916 0.4967 0.4991 0.4999 0.5000

>> x=linspace(0,2*pi,20);

>> g=cos(x).^2.*exp(x)

g =

Columns 1 through 7

1.0000 1.2452 1.2066 0.8068 0.2262 0.0356

1.1736

Columns 8 through 14

4.6437 10.8992 19.0827 26.5618 29.3934 24.2639

11.8805

Columns 15 through 20

0.6989 8.5967 59.4004 172.1172 344.1507 535.4917

36. >> u=[2 3 4 1.2 5 -1]; -- inmultirea a doi vectori linie de aceeasi dimensiune

>> v=[-1 3 4 -3 0 1];

>> u.*v

ans =

-2.0000 9.0000 16.0000 -3.6000 0 -1.0000

>> u*v

??? Error using ==> mtimes

Inner matrix dimensions must agree.

>> v'

ans =

-1

3

4

-3

0

1

Geometrie computationala

- 14 -

37. >> u*v' -- produsul scalar a vectorilor u si v

ans =

18.4000

>> C=[1 3;4 67;12 45]

C =

1 3

4 67

12 45

>> C^2

??? Error using ==> mpower

Matrix must be square.

38. >> C=[1 2 3; 1 2 3; 1 2 3]

C =

1 2 3

1 2 3

1 2 3

>> C^2 --ridicarea la putere a unei matrici

ans =

6 12 18

6 12 18

6 12 18

39. >> A=[2 -1 ;0 3] ;

>> A^-1 -- inversa unei matrici

ans =

0.5000 0.1667

0 0.3333

Geometrie computationala

- 15 -

40. >> A=[1 2 3 ; 3 4 -1;2 1 1;4 3 1]; >> A^-1

??? Error using ==> mpower

Matrix must be square.

41. >> A=[1 2 3;3 5 6; 34 5 6]; >> A^-1

ans =

0.0000 -0.0323 0.0323

-2.0000 1.0323 -0.0323

1.6667 -0.6774 0.0108

42. >> A=[1 2 3;3 5 6; 34 5 6]; >> B=[1 5 7];

>> X=A/B

X =

0.4267

0.9333

1.3467

43. >> A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1];

>> X=inv(A) -- inversa unei matrici

Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND = 9.796086e-018.

X =

1.0e+015 *

0.1251 0.3753 -0.3753 -0.1251

-0.3753 -1.1259 1.1259 0.3753

0.3753 1.1259 -1.1259 -0.3753

-0.1251 -0.3753 0.3753 0.1251

44. >> x = (-5:.1:5); >> y = x./(1+x.^2);

>> y = x./(1+x.^2)

Geometrie computationala

- 16 -

y =

Columns 1 through 7

-0.1923 -0.1959 -0.1997 -0.2036 -0.2076 -0.2118

-0.2161

Columns 8 through 14

-0.2206 -0.2253 -0.2302 -0.2353 -0.2406 -0.2461

-0.2519

Columns 15 through 21

-0.2579 -0.2642 -0.2707 -0.2775 -0.2847 -0.2922

-0.3000

Columns 22 through 28

-0.3082 -0.3167 -0.3257 -0.3351 -0.3448 -0.3550

-0.3657

Columns 29 through 35

-0.3767 -0.3882 -0.4000 -0.4121 -0.4245 -0.4370

-0.4494

Columns 36 through 42

-0.4615 -0.4730 -0.4833 -0.4918 -0.4977 -0.5000

-0.4972

Columns 43 through 49

-0.4878 -0.4698 -0.4412 -0.4000 -0.3448 -0.2752

-0.1923

Columns 50 through 56

-0.0990 0 0.0990 0.1923 0.2752 0.3448

0.4000

Columns 57 through 63

0.4412 0.4698 0.4878 0.4972 0.5000 0.4977

0.4918

Geometrie computationala

- 17 -

Columns 64 through 70

0.4833 0.4730 0.4615 0.4494 0.4370 0.4245

0.4121

Columns 71 through 77

0.4000 0.3882 0.3767 0.3657 0.3550 0.3448

0.3351

Columns 78 through 84

0.3257 0.3167 0.3082 0.3000 0.2922 0.2847

0.2775

Columns 85 through 91

0.2707 0.2642 0.2579 0.2519 0.2461 0.2406

0.2353

Columns 92 through 98

0.2302 0.2253 0.2206 0.2161 0.2118 0.2076

0.2036

Columns 99 through 101

0.1997 0.1959 0.1923

45. >> x=1:.5:4; >> y=1:7;

>> x./y

ans =

1.0000 0.7500 0.6667 0.6250 0.6000 0.5833

0.5714

46. >> x=1:.5:4; >> y=1:6;

>> x./y

??? Error using ==> rdivide

Matrix dimensions must agree

Geometrie computationala

- 18 -

47. >> A=[1 2 3; 45 6 7; 12 3 4;1 1 1]

A =

1 2 3

45 6 7

12 3 4

1 1 1

>> A.^2

ans =

1 4 9

2025 36 49

144 9 16

1 1 1

>> A^2

??? Error using ==> mpower

Matrix must be square.

48. >> A=[1 2 3; 45 6 7; 12 3 4]; >> B=A/4

B =

0.2500 0.5000 0.7500

11.2500 1.5000 1.7500

3.0000 0.7500 1.0000

49. >> A=[1 2 3; 45 6 7; 12 3 4]

A =

1 2 3

45 6 7

12 3 4

Geometrie computationala

- 19 -

>> A' -- transpusa unei matrici

ans =

1 45 12

2 6 3

3 7 4

Exemplu personal

50. >> x=0:4; >> y=5:5:25;

>> A=[x', y']

A =

0 5

1 10

2 15

3 20

4 25

Exemplu personal

51. >> B=zeros(2,2)

B =

0 0

0 0

Exemplu personal

52. >> B=ones(2,3)

B =

1 1 1

1 1 1

Exemplu personal

53. >> B=eye(3)

B =

1 0 0

0 1 0

0 0 1

Geometrie computationala

- 20 -

Exemplu personal

54. >> x=0:3; >> B=diag(x)

B =

0 0 0 0

0 1 0 0

0 0 2 0

0 0 0 3

Exemplu personal

55. >> A=[1 2 3; 45 6 7; 12 3 4;1 1 1]

A =

1 2 3

45 6 7

12 3 4

1 1 1

>> x=max(A)

x =

45 6 7

>> x=min(A)

x =

1 1 1

>> rank(A)

ans =

3

>> B=abs(A)

B =

1 2 3

45 6 7

12 3 4

1 1 1

Geometrie computationala

- 21 -

Exemplu personal

56. >> zeros(1,2)

ans =

0 0

>> zeros(2,1)

ans =

0

0

>> ones(1,2)

ans =

1 1

>> ones(2,1)

ans =

1

1

57. >> B = [ [1 2 3]' [2 4 7]' [3 5 8]']

B =

1 2 3

2 4 5

3 7 8

58. >> A=[1 2 3; 45 6 7; 12 3 4]; >> B=[1 2 3; 2 4 7; 3 5 8];

>> C=A.*B

C =

1 4 9

90 24 49

36 15 32

Geometrie computationala

- 22 -

>> C=A./B

C =

1.0000 1.0000 1.0000

22.5000 1.5000 1.0000

4.0000 0.6000 0.5000

59. >> sqrt([1 2 4 6])

ans =

1.0000 1.4142 2.0000 2.4495

60. >> sin([pi/4 pi/2 pi])

ans =

0.7071 1.0000 0.0000

61. >> x=linspace(0, 1, 7)

x =

0 0.1667 0.3333 0.5000 0.6667 0.8333

1.0000

Exemplu personal

62. >> x=0:4; >> min(x)

ans =

0

>> max(x)

ans =

4

Geometrie computationala

- 23 -

Exemplu personal

63. >> x=[4, 3 , 7, 1]

x =

4 3 7 1

>> min(x)

ans =

1

>> max(x)

ans =

7

>> sort(x)

ans =

1 3 4 7

>> sum(x)

ans =

15

64. >> x=linspace(0, 1, 7)

x =

0 0.1667 0.3333 0.5000 0.6667 0.8333

1.0000

>> [min(x) max(x)]

ans =

0 1

Geometrie computationala

- 24 -

>> sort(x)

ans =

0 0.1667 0.3333 0.5000 0.6667 0.8333

1.0000

65. >> sum(x)

ans =

3.5000

>> rand

ans =

0.8147

>> rand(3)

ans =

0.9058 0.6324 0.5469

0.1270 0.0975 0.9575

0.9134 0.2785 0.9649

Exemplu personal

66. >> A=[1 2 3; 45 6 7; 12 3 4]; >> triu(A)

ans =

1 2 3

0 6 7

0 0 4

>> tril(A)

ans =

1 0 0

45 6 0

12 3 4

Geometrie computationala

- 25 -

>> min(A)

ans =

1 2 3

>> max(A)

ans =

45 6 7

>> sum(A)

ans =

58 11 14

67. >> x=sin(1)+sin(2)+... sin(3)+sin(4)

x =

1.1351

68. >> x=[1 2 3]

x =

1 2 3

>> y=[1 0 0]

y =

1 0 0

>> x>0 & y>0

ans =

1 0 0

69. >> x=[1 2 3]; >> y=[1 0 0];

Geometrie computationala

- 26 -

>> x>0 |y>0

ans =

1 1 1

Reprezentarea grafica a curbelor si suprafetelor

Reprezentarea 2D

1. >> y = (-5:0.1:4).^3; >> plot(y);

2. >> x = -5:0.1:4; >> y=x.^3;

>> plot(x, y);

>> title('graficul functiei x^3')

Geometrie computationala

- 27 -

Exemplu personal

3. >> x=pi:.5:2*pi; >> y=sin(x);

>> z=cos(x);

>> plot(x,y, '*g')

Exemplu personal

4. >> x=pi:.1:2*pi; >> y=sin(x);

>> z=cos(x);

>> plot(x,y, '*g')

>> title('Graficul functiilor trigonometrice')

>> xlabel('x')

>> ylabel('y')

Geometrie computationala

- 28 -

5. >> x=[-pi:.3:pi]; >> y=sin(x);

>> z=cos(x);

>> plot(x,y,'-r');

>> hold on

>> plot(x,z,'--g');

>> hold on

>> plot(x,0,'*-b')

>> legend ('-sin(x)','-cos(x)','y=0');

Geometrie computationala

- 29 -

Exemplu personal

6. >> x=[-pi./2:.2:pi./2]; >> y=sin(x);

>> z=cos(x);

>> plot(x,y,'--g');

>> hold on

>> plot(x,z,'-r');

>> hold on

>> plot(y,z,'*b')

>> legend ('-sin(x)','-cos(x)','x=0')

7. >> x=[-2:.2:2]; >> y=exp(-x.^2);

>> subplot (2,2,1);

>> plot (x,y);

>> title ('exp(-x^2)');

>> z=exp(-x.^2).*cos(2*pi*x);

>> subplot (2,2,2);

>> plot (x,z);

>> title ('exp(-x^2)*cos(2*pi*x)');

>> t=exp(-x.^2).*cos(4*pi*x);

>> subplot (2,2,3);

>> plot (x,t);

>> title ('exp(-x^2)*cos(4*pi*x)');

Geometrie computationala

- 30 -

Exemplu personal

8. >> x=[-3:.2:3]; >> y=exp(x.^2);

>> subplot (3,3,1);

>> plot (x,y);

>> title ('exp(x^2)');

>> subplot (3,3,2);

>> z=exp(-x.^2);

>> plot(x,z);

>> title ('exp(-x^2)');

>> z=exp(x.^2).*cos(3*pi*x);

>> subplot(3,3,3);

>> plot(x,z);

>> title ('exp(x^2)*cos(3*pi*x)');

9. >> fplot ('exp(-t^2)',[-2 2]) >> hold on

>> fplot('2*exp(-t^2)',[-2 2])

>> fplot('3*exp(-t^2)',[-2 2])

>> hold off

Geometrie computationala

- 31 -

Exemplu personal

10. >> fplot ('exp(-t^2)',[-3 3]) >> hold on

>> fplot ('3*exp(-t^2)',[-3 3])

>> fplot ('4*exp(-t^2)',[-3 3])

>> hold off

Geometrie computationala

- 32 -

Reprezentarea 3D. Suprafete.

11. >> x=[-6:.5:6]; >> y=x;

>> [X,Y]=meshgrid(x);

>> Z=sqrt(X.^2+Y.^2);

>> mesh(X,Y,Z)

Exemplu personal

12. >> x=[-8:.5:8]; >> y=x;

>> [X,Y]=meshgrid(x);

>> Z=sqrt(X.^2+Y.^2);

>> surf(X,Y,Z)

Geometrie computationala

- 33 -

13. >> [x,y] = meshgrid([-2:.2:2]); >> Z=x.^2*exp(-x.^2-y.^2);

>> mesh(x,y,Z);

>> colormap cool;

Exemplu personal

14. >> [x,y] = meshgrid([-3:.2:3]); >> Z=x.^2*exp(-2.*x.^2-y.^2);

>> mesh(x,y,Z);

>> colormap spring;

Geometrie computationala

- 34 -

15. >> Z=peaks(30); >> subplot(2,2,1);

>> surf(Z);

>> shading flat;

>> title (' Flat shading!')

>> Z=peaks(30);

>> subplot(2,2,2);

>> surf(Z);

>> shading interp;

>> title (' Interpolated shading!')

>> colormap summer;

>> Z=peaks(30);

>> subplot(2,2,3);

>> surf(Z);

>> shading faceted;

>> title (' Faceted shading!')

>> colormap summer;

Exemplu personal

16. >> Z=peaks(50); >> surf(Z);

>> shading faceted;

>> title (' Faceted shading!')

>> colormap bone;

Geometrie computationala

- 35 -

17. >> x=linspace(0,pi,20); >> y=linspace(-pi,pi,20);

>> [xx,yy]=meshgrid(x,y);

>> zz=func(xx,yy);

>> mesh(xx,yy,zz)

Geometrie computationala

- 36 -

18. >> x=linspace(0,2*pi,20); >> y=linspace(-pi,pi,20);

>> [xx,yy]=meshgrid(x,y);

>> zz=func(xx,yy);

>> surf(xx, yy, zz)

19. >> x=0:.1:pi; >> y=0:.1:pi;

>> [X,Y]=meshgrid(x,y);

>> Z=sin(Y.^2+X)-cos(Y-X.^2);

>> subplot(2,2,1);

>> surf(Z)

>> title('surf');

>> subplot(2,2,2);

>> surfc(Z);

>> title('surfc');

>> subplot(2,2,3);

>> mesh(Z);

>> title('mesh');

Geometrie computationala

- 37 -

Exemplu personal

20. >> Z=peaks(40); >> surfc(Z)

>> title('surfc');

>> colormap hot;

21. >> [X,Y] = meshgrid(0:.1:2*pi,-pi:.1:0);

>> Z = sin(X).*cos(Y);

>> meshz(X,Y,Z);

>> axis('equal');

Geometrie computationala

- 38 -

Exemplu personal

22. >> [X,Y] = meshgrid(0:.1:2*pi,-pi:.1:0); >> Z = cos(X).*sin(Y);

>> meshz(X,Y,Z);

>> axis('equal');

>> title('meshz');

Geometrie computationala

- 39 -

23. >> [th,r]=meshgrid(0:pi/40:2*pi,0:0.05:1); >> [X,Y]=pol2cart(th,r);

>> g=inline('r.^n.*sin(n*th)','r','th','n')

g =

Inline function:

g(r,th,n) = r.^n.*sin(n*th)

>> surf(X,Y,g(r,th,5))

>> hold on

>> mesh(X,Y,-ones(size(X)))

Exemplu personal

24. >> [th,r]=meshgrid(0:pi/40:2*pi,0:0.05:1); >> [X,Y]=pol2cart(th,r);

>> surf(X,Y,g(r,th,3))

>> colormap winter;

>> hold on

>> mesh(X,Y,-zeros(size(X)))

Geometrie computationala

- 40 -

25. >> x=-3*pi:.25:3*pi; >> A=linspace(3,0);

>> A=exp(-A);

>> X=sin(x).^2./(x+eps).^2;

>> Y=A'*X;

>> waterfall(Y)

Exemplu personal

26. >> x=-3*pi:.25:3*pi; >> A=linspace(3,0);

>> Y=A'*X;

>> X=cos(x).^2./(x+eps).^2;

>> waterfall(Y)

Geometrie computationala

- 41 -

Exemplu personal

27. >> x=-3*pi:.25:3*pi; >> A=linspace(3,0);

>> A=exp(-A);

>> X=cos(x).^2./(x+eps).^2;

>> Y=A'*X;

>> waterfall(Y)

Geometrie computationala

- 42 -

28. >> x=0:0.5:6; >> t=0:0.5:20;

>> [X,T]=meshgrid(x,t)

>> g=inline('cos(x-0.4*y).*exp(-0.4*x)','x','y')

g =

Inline function:

g(x,y) = cos(x-0.4*y).*exp(-0.4*x)

>> contour(X,T,g(X,T))

>> pcolor(X,T,g(X,T))

>> hold on

>> contour(X,T,g(X,T),'k')

>> shading interp

>> colorbar

29. >> x=0:0.5:6;

>> t=0:0.5:20;

>> [X,T]=meshgrid(x,t);

>> g=inline('cos(x-0.4*y).*exp(-0.4*x)','x','y')

g =

Inline function:

g(x,y) = cos(x-0.4*y).*exp(-0.4*x)

>> surfc(X,T,g(X,T))

>> colormap(bone)

Geometrie computationala

- 43 -

30. >> [X,Y]=meshgrid(-2:.1:2,-2:.2:2); >> f=-X.*Y.*exp(-2*(X.^2+Y.^2));

>> mesh(X,Y,f);

>> xlabel('x');

>> ylabel('y');

>> grid on;

>> contour(X,Y,f)

>> xlabel('x');

>> ylabel('y');

>> grid on;

>> hold on

>> fmax=max(max(f))

fmax =

0.0886

>> kmax=find(f==fmax)

kmax =

329

533

>> pos=[X(kmax),Y(kmax)]

pos =

-0.5000 0.6000

0.5000 -0.6000

Geometrie computationala

- 44 -

>> plot(X(kmax),Y(kmax),'*')

>> text(X(kmax),Y(kmax),' maximul')

31. >> [x,y]=meshgrid(-3:0.1:3,-5:0.1:10); >> f=100*(y-x.^2).^2+(1-x).^2+2;

>> mesh(x,y,f);

>> xlabel('x')

>> ylabel('y')

>> zlabel('z')

Geometrie computationala

- 45 -

Exemplu personal

32. >> sphere (40)

33. >> [x,y,z]=ellipsoid(2,0,2,2,1,1); >> surf(x,y,z);

>> axis([0 4 -2 2 0 4]);

>> hold on

>> contour(x,y,z)

Geometrie computationala

- 46 -

34. >> x = linspace(-3*pi,3*pi,50); >> r = cos(x).* sin(0.5*x).*exp((x.^2)/200);

>> r = r - min(r);

>> plot(r,linspace(0,1,length(r)));

>> ylabel('z')

>> cylinder(r)

35. >> t=[-1:.01:1];

>> [x,y,z]=cylinder(2+cos(t));

>> mesh(x,y,z)

>> axis square

>> colormap autumn

Geometrie computationala

- 47 -

36. >> t = 0:0.1:10*pi; >> x = exp(-t/20).*cos(t);

>> y = exp(-t/20).*sin(t);

>> z = t;

>> plot3(x,y,z);

>> xlabel('x');

>> ylabel('y');

>> zlabel('z');

Geometrie computationala

- 48 -

37. >> theta = 0:.2:2*pi; >> x=sin(theta);

>> y=cos(theta);

>> z=sin(theta);

>> stem3(x,y,z);

>> hold on

>> plot3(x,y,z,'r')

>> plot(x,y)

38. >> subplot(2,2,1);plot3(x,y,z); >> view(-10,10);

>> title('Default plot3');

>> subplot(2,2,2);plot3(x,y,z,'og');

>> view(-9,56);

>> title('Az=-10, El=10');

>> subplot(2,2,3);plot3(x,y,z,'xb');

>> view(0,90);

>> title('Az=0, El=90');

>> subplot(2,2,4);plot3(x,y,z,'dr');

>> view(90,0);

>> title('Az=90, El=0');

Geometrie computationala

- 49 -

39. >> t = 0:0.1:10*pi; >> x = exp(-t/20).*cos(t);

>> y = exp(-t/20).*sin(t);

>> z = t;

>> plot3(x,y,z);

>> xlabel('x');

>> ylabel('y');

>> zlabel('z');

>> subplot(2,2,1);plot3(x,y,z);

>> view(-10,10);

>> title('Default plot3');

>> subplot(2,2,2);plot3(x,y,z,'og');

>> view(-9,56);

>> title('Az=-10, El=10');

>> subplot(2,2,3);plot3(x,y,z,'xb');

>> view(0,90);

>> title('Az=0, El=90');

>> subplot(2,2,4);plot3(x,y,z,'dr');

>> view(90,0);

>> title('Az=90, El=0');

Geometrie computationala

- 50 -

Grafice de suprafete cu iluminari.

1. >> [X,Y] = meshgrid(-8:.5:8);

>> R = sqrt(X.^2 + Y.^2) + eps;

>> Z = sin(R)./R;

>> surf(X,Y,Z)

>> surf(X,Y,Z,'FaceColor','red','EdgeColor','none');

>> camlight left; lighting phong;

Geometrie computationala

- 51 -

Exemplu personal 2. >> [X,Y] = meshgrid(-8:.5:8);

>> R = sqrt(X.^2 + Y.^2) + eps;

>> Z = sin(R)./R;

>> subplot(2,2,1);

>> surf(X,Y,Z)

>> surf(X,Y,Z,'FaceColor','red','EdgeColor','none')

>> camlight left, lighting phong

>> view(15,65)

>> title('Prima suprafata')

>> subplot(2,2,2)

>> surf(X,Y,Z)

>> surf(X,Y,Z,'FaceColor','red','EdgeColor','none')

>> camlight left, lighting phong

>> view(0,90)

>> title('Cea de a 2-a suprafata')

>> subplot(2,2,3)

>> surf(X,Y,Z)

>> surf(X,Y,Z,'FaceColor','blue','EdgeColor','none')

>> camlight right, lighting phong

>> view(-30,30)

>> title('Cea de a 3-a suprafata')

Geometrie computationala

- 52 -

Calcul Simbolic in MATLAB

1. >> syms x real; >> t=x^2-3*x

t =

x^2 - 3*x

>> subs(t,2)

ans =

-2

>> subs(t,[1 -1.5 2])

ans =

-2.0000 6.7500 -2.0000

Exemplu personal

2. >> syms x real; >> f=x+3*x^2

f =

3*x^2 + x

>> subs(f,1)

ans =

4

>> subs(f,[2 3])

ans =

14 30

Geometrie computationala

- 53 -

3. >> syms x >> f=x^2*sin(x)-exp(x)

f =

x^2*sin(x) - exp(x)

>> diff(f)

ans =

x^2*cos(x) - exp(x) + 2*x*sin(x)

>> diff(f,3)

ans =

6*cos(x) - exp(x) - x^2*cos(x) - 6*x*sin(x)

Exemplu personal

4. >> syms x >> f=3*x^2+x^3

f =

x^3 + 3*x^2

>> diff(f)

ans =

3*x^2 + 6*x

>> diff(f,3)

ans =

6

5. >> syms x y >> z=x^2+x*y

z =

x^2 + y*x

Geometrie computationala

- 54 -

>> diff(z,x)

ans =

2*x + y

>> diff(z,y)

ans =

x

6. >> f=x^2*sin(x)-exp(x)

f =

x^2*sin(x) - exp(x)

>> int(f)

ans =

2*cos(x) - exp(x) - x^2*cos(x) + 2*x*sin(x)

7. >> int(f,0,2)

ans =

4*sin(2) - exp(2) - 2*cos(2) - 1

8. >> syms x; >> f=x^3-3*x+1;

>> ezplot(f,[-1 1]);

Geometrie computationala

- 55 -

9. >> syms x; >> ezplot('x^2 - 2*x + 1');

Geometrie computationala

- 56 -

10. >> syms x y; >> ex1='sqrt(4-x^2-y^2)';

>> figure(1); ezsurf(ex1,[-2,2,-2,2]);

11. >> syms x ; >> f=x^2-7*x+2;

>> solve(f)

ans =

7/2 - 41^(1/2)/2

41^(1/2)/2 + 7/2

12. >> clear, syms x y; >> eq = 'exp(2*x) = 3*y';

>> [x] = solve(eq,x)

x =

log(3*y)/2

13. 2x+3y-4z=5;

y+4z+x=10;

-2z+3x+4y=0;

Geometrie computationala

- 57 -

>> clear, syms x y z;

>> eq1 = '2*x-3*y+4*z = 5'

eq1 =

2*x-3*y+4*z = 5

>> eq2 = 'y+4*z+x = 10'

eq2 =

y+4*z+x = 10

>> eq3 = '-2*z+3*x+4*y = 0'

eq3 =

-2*z+3*x+4*y = 0

>> [x,y,z] = solve(eq1,eq2,eq3,x,y,z)

x =

-5/37

y =

45/37

z =

165/74

14.

>> syms x;

>> f=x^2;

>> limit(f,2)

ans =

4

Geometrie computationala

- 58 -

>> limit(f,inf)

ans =

Inf

>> limit(1/x,inf)

ans =

0

>> limit(log(abs(x)),0)

ans =

-Inf

Exemplu personal

15. >> syms x; >> f=sin(x)./x

f =

sin(x)/x

>> limit(f,Inf)

ans =

0

>> limit(f,0)

ans =

1

Geometrie computationala

- 59 -

Capitolul II

GEOMETRIA DIFERENȚIALĂ A CURBELOR

ÎN PLAN CU APLICAȚII ÎN MATLAB

Reprezentarea explicită a unei curbe plane

Exemplu personal 1. >> syms y;

>> y=sin(x);

>> ezplot(y)

>> title('Graficul functiei sin(x)');

>> legend('- sin(x)')

>> xlabel 'x'

>> ylabel ('f(x)=sin(x)')

Exemplu personal 2. >> x=0:.1:2*pi;

>> y=sin(x);

>> plot(y)

>> title('Graficul functiei sin(x)', 'FontSize', 14);

>> plot(y, '*r')

>> legend('functia sin(x)')

Geometrie computationala

- 60 -

3. >> x=[-pi:.3:pi]; >> y=sin(x);

>> z=cos(x);

>> plot(x,y,'-r');

>> hold on

>> plot(x,z,'--g');

>> hold on

>> plot(x,0,'*-b')

>> legend ('-sin(x)','-cos(x)','y=0');

Geometrie computationala

- 61 -

Reprezentarea implicită a unei curbe plane

1. >> x=linspace(-2,2);

>> plot(x,sqrt(4-x.^2))

>> hold on

>> plot(x,-sqrt(4-x.^2))

>> axis equal

2. >> t=-3:.01:3; >> x=t.^3-4*t;

>> y=t.^2-4;

>> plot(x,y)

Geometrie computationala

- 62 -

3. >> t=0:.01:2*pi; >> x=((sin(t)).^2+1).*cos(t);

>> y=((sin(t)).^2-1).*sin(t);

>> plot(x,y)

>> title('Curba lui Talbot')

Curbe date în coordonate polare

1. >> t=linspace(0,2*pi,200); >> r=1+sin(t);

>> polar(t,r);

>> title('Cardioida')

Geometrie computationala

- 63 -

2. >> th=0:2*pi/100:2*pi; >> ro=1+.2*cos(th);

>> polar(th,ro)

>> [x,y] = pol2cart(th,ro) ;

>> plot(x,y) ;

>> axis equal

>> [x,y] = pol2cart(th,ro)

Geometrie computationala

- 64 -

3. >> th=0:2*pi/100:2*pi; >> ro=3*th;

>> polar(th,ro)

Tangenta și normala într-un punct al unei curbe plane

Tangenta și normala într-un punct al unei curbe plane date explicit

1. >> syms x; >> y=sin(x);

>> ezplot(y,[0,2*pi])

>> dydx=diff(y)

dydx =

cos(x)

>> m=subs(dydx,x,2)

m =

-0.4161

>> y0=subs(y,x,2);

>> hold on;

>> ezplot(m*(x-2)+y0,[0,2*pi]);

>> title('tangenta dusa la o curba data explicit')

Geometrie computationala

- 65 -

Geometrie computationala

- 66 -

Capitolul III

GEOMETRIA DIFERENȚIALĂ A CURBELOR ÎN

SPAȚIU. REPREZENTǍRI ÎN MATLAB

1. >> t = -2*pi:.001:2*pi;

>> x=cos(t); y=sin(t);z=t;

>> plot3(x,y,z)

2. >> a=2; >> b=0.1;

>> w=2;

>> t=linspace(0,12*pi,500);

>> x=a*cos(w*t);

>> y=a*sin(w*t);

>> z=b*t;

>> plot3(x,y,z)

Geometrie computationala

- 67 -

3. >> alpha=0.2; >> t=linspace(-12*pi,12*pi,500);

>> x=cos(t)./sqrt(1+alpha^2*t.^2);

>> y=sin(t)./sqrt(1+alpha^2*t.^2);

>> z=alpha*t./sqrt(1+alpha^2*t.^2);

>> plot3(x,y,z)

Geometrie computationala

- 68 -

4. >> r=1

r =

1

>> phi=linspace(0,pi,30);

>> theta=linspace(0,2*pi,40);

>> [phi,theta]=meshgrid(phi,theta);

>> x=r*sin(phi).*cos(theta);

>> y=r*sin(phi).*sin(theta);

>> z=r*cos(phi);

>> mhndl=mesh(x,y,z)

mhndl =

171.0072

5. >> r=1; >> phi=linspace(0,pi,30);

>> theta=linspace(0,2*pi,40);

>> [phi,theta]=meshgrid(phi,theta);

>> x=2*r*sin(phi).*cos(theta);

>> y=2*r*sin(phi).*sin(theta);

>> z=2*r*cos(phi);

>> mhndl1=mesh(x,y,z)

Geometrie computationala

- 69 -

mhndl1 =

171.0117

>> set(mhndl1,...

'EdgeColor',[0.6,0.6,0.6])

>> axis equal

>> axis off

>> title('Curba lui Viviani')

Exemplu personal

6. >> t=linspace(0,2*pi,40); >> z=linspace(-2*r,2*r,20);

>> [t,z]=meshgrid(t,z);

>> x=r+r*cos(t);

>> y=r*sin(t);

>> z=z;

>> hold on

>> mhndl2=mesh(x,y,z)

mhndl2 =

171.0129

>> set(mhndl2,...

'EdgeColor',[0.8,0,0])

>> view(50,20)

Geometrie computationala

- 70 -

7. >> r=1; >> phi=linspace(0,pi,30);

>> theta=linspace(0,2*pi,40);

>> [phi,theta]=meshgrid(phi,theta);

>> x=2*r*sin(phi).*cos(theta);

>> y=2*r*sin(phi).*sin(theta);

>> z=2*r*cos(phi);

>> mhndl1=mesh(x,y,z)

mhndl1 =

171.0137

>> set(mhndl1,...

'EdgeColor',[0.6,0.6,0.6])

>> axis equal

>> axis off

>> t=linspace(0,2*pi,40);

>> z=linspace(-2*r,2*r,20);

>> [t,z]=meshgrid(t,z);

>> x=r+r*cos(t);

>> y=r*sin(t);

>> z=z;

>> hold on

>> mhndl2=mesh(x,y,z)

mhndl2 =

173.0132

Geometrie computationala

- 71 -

>> set(mhndl2,...

'EdgeColor',[0.8,0,0])

>> view(50,20)

8. >> theta=linspace(0,2*pi,40); >> r=linspace(-1,1,30);

>> [theta,r]=meshgrid(theta,r);

>> x=r.*cos(theta);

>> y=r.*sin(theta);

>> z=r;

>> mhndl=mesh(x,y,z)

mhndl =

171.0144

>> set(mhndl,...

'EdgeColor',[.6,.6,.6])

>> hold on

>> [x,y]=meshgrid(-1:0.2:1);

>> z=0.5*ones(size(x));

>> phndl=mesh(x,y,z);

>> set(phndl,...

'EdgeColor',[0.625,0,0])

>> view(116,38)

>> axis equal

>> axis off

Geometrie computationala

- 72 -

9. >> theta=linspace(0,2*pi,40); >> r=linspace(-1,1,30);

>> [theta,r]=meshgrid(theta,r);

>> x=r.*cos(theta);

>> y=r.*sin(theta);

>> z=r;

>> mhndl=mesh(x,y,z);

>> set(mhndl,...

'EdgeColor',[0.625,0,0])

>> set(mhndl,...

'EdgeColor',[.6,.6,.6])

>> hold on

>> [x,y]=meshgrid(-1:0.1:1);

>> z=y+0.25;

>>

>> phndl=mesh(x,y,z);

>> set(phndl,...

'EdgeColor',[0.625,0,0])

>> view(70,55)

>> axis equal

Geometrie computationala

- 73 -

10. >> r=linspace(0,1,30); >> theta=linspace(0,2*pi,30);

>> [r,theta]=meshgrid(r,theta);

>> x=r.*cos(theta);

>> y=r.*sin(theta);

>> z=r;

>> mesh(x,y,z)

>> axis tight

>> box on

>> xlabel('x-axis')

>> ylabel('y-axis')

>> zlabel('z-axis')

Geometrie computationala

- 74 -

11. >> u=linspace(0,6*pi,60); >> v=linspace(0,2*pi,60);

>> [u,v]=meshgrid(u,v);

>> x=2*(1-exp(u/(6*pi))).*cos(u).*cos(v/2).^2;

>> y=2*(-1+exp(u/(6*pi))).*sin(u).*cos(v/2).^2;

>> z=1-exp(u/(3*pi))-sin(v)+exp(u/(6*pi)).*sin(v);

>> mesh(x,y,z)

>> view(160,10)

>> box on

>> surf(x,y,z,...

'FaceColor','interp',...

'FaceLighting','phong')

>> camlight left

>> view(160,10)

>> axis equal

>> box on

12. >> a=3; >> b=4;

>> c=5;

>> u=linspace(0,2*pi,30);

>> [u,v]=meshgrid(u,v);

>> x=a*cos(u).*sin(v);

>> y=b*sin(u).*sin(v);

>> z=c*cos(v);

>> mesh(x,y,z)

>> box on

Geometrie computationala

- 75 -

Exemplu personal 13. >> a=9;

>> b=12;

>> c=6;

>> u=linspace(0,2*pi,60);

>> v=linspace(0,pi,60);

>> [u,v]=meshgrid(u,v);

>> x=a*cos(u).*sin(v);

>> y=b*sin(u).*sin(v);

>> z=c*cos(v);

>> mesh(x,y,z)

>> box on

>> surf(x,y,z,...

'FaceColor','interp',...

'EdgeColor','none',...

'FaceLighting','phong')

>> camlight left

>> view(160,10)

>> axis equal

>> box on

Geometrie computationala

- 76 -

14. >> x = pi/100:pi/100:10*pi; >> y = sin(x)./x;

>> plot(x,y)

>> grid

Geometrie computationala

- 77 -

15. >> x = pi/100:pi/100:10*pi; >> y = sin(x)./x;

>> plot(x,y)

>> grid

>> r=1;

>> phi=linspace(0,pi,30);

>> theta=linspace(0,2*pi,40);

>> [phi,theta]=meshgrid(phi,theta);

>> x=r*sin(phi).*cos(theta);

>> y=r*sin(phi).*sin(theta);

>> z=r*cos(phi);

>> mhndl=mesh(x,y,z)

mhndl =

171.0076

>> set(mhndl,...

'EdgeColor',[0.6,0.6,0.6],...

'EdgeAlpha',0.5,...

'FaceAlpha',0.5)

>> axis equal

>> axis off

>> alpha=0.2;

>> t=linspace(-12*pi,12*pi,500);

>> x=cos(t)./sqrt(1+alpha^2*t.^2);

>> y=sin(t)./sqrt(1+alpha^2*t.^2);

>> z=alpha*t./sqrt(1+alpha^2*t.^2);

>> lhndl=line(x,y,z)

lhndl =

173.0071

>> set(lhndl,...

'Color',[0.625,0,0],...

'LineWidth',2)

Geometrie computationala

- 78 -

16. >> t=linspace(0,4*pi,200);

>> x=r+r*cos(t);

>> y=r*sin(t);

>> z=2*r*sin(t/2);

>> vhndl=line(x,y,z)

vhndl =

0.0079

>> set(vhndl,...

'Color',[0,0,0],...

'LineWidth',2)

>> view(50,20)

Geometrie computationala

- 79 -

17. >> r=1; >> phi=linspace(0,pi,30);

>> theta=linspace(0,2*pi,40);

>> [phi,theta]=meshgrid(phi,theta);

>> x=2*r*sin(phi).*cos(theta);

>> y=2*r*sin(phi).*sin(theta);

>> z=2*r*cos(phi);

>> mhndl1=mesh(x,y,z)

mhndl1 =

171.0088

>> set(mhndl1,...

'EdgeColor',[0.6,0.6,0.6])

>> axis equal

>> axis off

>> t=linspace(0,2*pi,40);

>> z=linspace(-2*r,2*r,20);

>> [t,z]=meshgrid(t,z);

>> x=r+r*cos(t);

>> y=r*sin(t);

>> z=z;

>> hold on

>> mhndl2=mesh(x,y,z)

mhndl2 =

173.0083

>> set(mhndl2,...

'EdgeColor',[0.8,0,0])

>> view(50,20)

>> t=linspace(0,4*pi,200);

>> x=r+r*cos(t);

>> y=r*sin(t);

>> z=2*r*sin(t/2);

>> vhndl=line(x,y,z)

vhndl =

174.0083

>> set(vhndl,...

'Color',[0,0,0],...

'LineWidth',2)

>> view(50,20)

Geometrie computationala

- 80 -

18. >> t=linspace(0,1,200); >> x=3*sin(4*pi*t);

>> y=4*sin(6*pi*t);

>> z=5*sin(8*pi*t);

>> plot3(x,y,z)

>> box on

>> view(135,30)

Geometrie computationala

- 81 -

19. >> t=linspace(0,6*pi,200); >> x=cos(t).*(2-cos(2*t/3));

>> y=sin(t).*(2-cos(2*t/3));

>> z=-sin(2*t/3);

>> plot3(x,y,z)

>> box on

>> view(135,30)

20. >> t=linspace(0,2*pi,200); >> x=(6.25+3*cos(5*t)).*cos(2*t);

>> y=(6.25+3\cos(5*t)).*sin(2*t);

>> z=3.25*sin(5*t);

>> plot3(x,y,z)

>> box on

>> view(135,30)

Geometrie computationala

- 82 -

21. >> a=7;b=2;c=3; >> u=linspace(0,2*pi,20);

>> v=linspace(0,2*pi,40);

>> [u,v]=meshgrid(u,v);

>> x=(a+b*cos(u)).*cos(v);

>> y=(a+b*cos(u)).*sin(v);

>> z=c*sin(u);

>> mhndl=mesh(x,y,z);

>> set(mhndl,...

'EdgeColor',[.6,.6,.6],...

'FaceAlpha',0.5,...

'EdgeAlpha',0.5);

>> axis equal

>> t=linspace(0,2*pi,200);

>> x=(a+b*cos(5*t)).*cos(2*t);

>> y=(a+b*cos(5*t)).*sin(2*t);

>> z=c*sin(5*t);

>> lhndl=line(x,y,z);

>> set(lhndl,...

'Color',[.625,0,0],...

'LineWidth',2)

>> view(135,30)

Geometrie computationala

- 83 -

22. >> r=linspace(0,1,20); >> theta=linspace(0,2*pi,40);

>> [r,theta]=meshgrid(r,theta);

>> x=r.*cos(theta);

>> y=r.*sin(theta);

>> z=r;

>> mhndl=mesh(x,y,z);

>> set(mhndl,...

'EdgeColor',[.6,.6,.6],...

'FaceAlpha',0.5,...

'EdgeAlpha',0.5);

>> axis equal

>> t=linspace(0,1,200);

>> x=t.*cos(20*t);

>> y=t.*sin(20*t);

>> z=t;

>> lhndl=line(x,y,z);

>> set(lhndl,...

'Color',[.625,0,0],...

'LineWidth',2)

>> view(135,30)

Geometrie computationala

- 84 -

Exemple personale.

1. >> [X,Y] = meshgrid(-8:.5:8); >> R = sqrt(X.^2 + Y.^2) + eps;

>> Z = sin(R)./R;

>> mesh(X,Y,Z,'EdgeColor','black')

>> axis off

2. >> t = 0:pi/20:2*pi;

>> y = exp(sin(t));

>> plotyy(t,y,t,y,'plot','stem')

>> xlabel('X Axis')

>> ylabel('Plot Y Axis')

>> title('Two Y Axes')

Geometrie computationala

- 85 -

Bibliografie

1. VALER NIMINEȚ - Geometrie computațională cu aplicații în Matlab

2. CARMEN MURARU – Geometrie computațională

3. INTERNET – E-learn.ro