Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A de dimensin 3 3, y devuelva la matriz ortogonal resultante de aplicar el mtodo de ortonormalizacin de Gram-Schmidt a las columnas de A.
Script Orto
%orto function P=proyeccion(A) A=sym([1 2 3; 2 5 1; 20 6 11]) invA=inv(A) M=colspace(A) P=M*(M'*M)^-1*M'
>> orto A= [ 1, 2, 3] [ 2, 5, 1] [ 20, 6, 11] invA = [ -49/219, 4/219, 13/219] [ 2/219, 49/219, -5/219] [ 88/219, -34/219, -1/219] M= [ 1, 0, 0] [ 0, 1, 0] [ 0, 0, 1] P= [ 1, 0, 0] [ 0, 1, 0] [ 0, 0, 1] ans = [ 1, 0, 0] [ 0, 1, 0] [ 0, 0, 1]
Ejercicio 2 Realizar una funcin script (llmala poligono) que tenga tres argumentos (n, r, c) y que devuelva un grfico en R2 de un polgono regular de n lados cincunscrito en una circunferencia de radio r centrada en el punto del plano c = (c1, c2). En el grfico debe aparecer la circunferencia en azul, y el polgono en rojo.
Script poligono
%poligono(n,r,c) function poligono(n,r,c) %poligono(7,5[0 1]) %n=numero de lados %r=radio circunferencia %c=[x y] coordenadas circunferencia n=7 r=5 c=[0 1] t=0:pi/360:2*pi; u=r*cos(t)+c(1); v=r*sin(t)+c(2); t2= linspace(0+pi/2,2*pi+pi/2,n+1); x = r*cos(t2)+c(1); y = r*sin(t2)+c(2); hold on figure(gcf) plot(u,v,'b'), plot(x,y,'r')
6 5 4 3 2 1 0 -1 -2 -3 -4 -5
-4
-3
-2
-1
Ejercicio 3 Realizar un script que: (a) Construya una matriz (en coordenadas homogneas) cuya transformacin afn asociada (en R2) transforme una circunferencia de radio r centrada en el origen en una elipse con las siguientes caractersticas: su semieje mayor tendr longitud 2 _ r y estar contenido en la recta y = x. su semieje menor tendr longitud r. el centro de la elipse estar situado en el punto (3, 3). (b) Realice la representacin grfica que muestre el resultado de aplicar la transformacin afn anterior a una circunferencia de radio unidad. Indicacin: Se puede utilizar los scripts de clase que pasan a coordenadas homogneas y viceversa
Script homo
Script plotfiguras2
%Plotfiguras2 function grafico=plotfiguras(Figura1,Figura2) hold off; plot(Figura1(1,:),Figura1(2,:),'r'); hold on; axis('equal');
Script plotfigura
%Plotfiguras function grafico=plotfiguras(Figura1,Figura2) hold off; plot(Figura1(1,:),Figura1(2,:),'b'); hold on; plot(Figura2(1,:),Figura2(2,:),'r'); axis('equal');
Script elipse
%elipse function elipse=plotfiguras2(Figura1) t=0:0.01:2*pi; r=3;x=r*cos(t); y=r*sin(t); C=[x;y];figure,plotfiguras2(C)
C=sym([1 1;1 1]) H=sym([0 2*r;r 0]) homo(C) homo(H) pause t=0:0.01:2*pi;x=cos(t);y=sin(t);C=[x;y];figure,plotfiguras2(H*C)
Pause
4 3 2 1 0 -1 -2 -3 -4 -5 -4 -3 -2 -1 0 1 2 3 4 5
t=0:0.01:2*pi;x=r*cos(t);y=r*sin(t);C=[x;y];figure,plot(x,y) pause N=50; t=0:1/N:2*pi+1/N; a=2*r b=r C=[3 3] state(1,:) = a*cos(t); state(2,:) = b*sin(t); X = state; X(1,:) = X(1,:) + C(1); X(2,:) = X(2,:) + C(2); plot(X(1,:),X(2,:)); hold on; plot(C(1),C(2),'r*'); axis equal; grid; end