Vous êtes sur la page 1sur 28

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

MATLAB APLICADO A ALGEBRA II


1.- Introduccin a MATLAB % Serie de Comandos % clc clear who ioj sqrt log exp dot cross Comando para comentario Comando para borrar ventana de comando Comando para borrar variables Comando Quien/es son variable/s Comando traspuesta Comando Imaginario Comando raz Comando logartmico Comando exponencial Comando producto escalar Comando producto vectorial

% Nmeros a=25 c= 97 2*3^2+(5-2)*3 10/2*(3^2)+5-2*3 (10*2)+(6-2) (5e-001*69)/(5+2e2) factorial(5) factor(45) sin (30*pi/180) log(20) exp(5) ans= 25 ans = 97 ans = 27 ans = 17 ans = 24 ans = 1.6829e-001 ans = 120 ans = 3 3 5 ans = 1/2 ans = 2.9957 ans = 148.4132

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

Realizar las siguientes operaciones aritmticas:


( / ) .

ans= 2.7941
/

(1 0.25)

256 (1/25)
)

+ (4/81)

ans= 5.3660 ans= 0 + 3i ans = -1.8780 8.3436i

+ 2

% Formatos format short format long format short g format long g format short e format long e format bank format rat Resultado con cuatro decimales Resultado con diecisis decimales Resultado con un decimal Resultado con un decimal Resultado con cuatro decimales mas la potencia 10 Resultado con diecisis decimales mas la potencia 10 Resultado con dos decimales Resultado en valores fraccionarios

2.- Variables Vectoriales % Variables Vectoriales a = [1 2 3 4 6] b = [2; 4; 5; 6; 8] c = [1:10] d = [1: 2 :20] e = [1: 3 :30] t = linspace (1,30,6) f = logspace (1,30,6) u = a v = [5:20] Vector Fila Vector Columna Vector Fila Correlativo Vector Fila Correlativo de 2 en 2 Vector Fila Correlativo de 3 en 3 Vector Rango Determinado Vector Rango Determinado logartmico Vector Traspuesta Vector Columna Correlativo

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

% Recuperacin de Variables g = [3 6 5 -5 8 7] w = g(4) w = -5

h = [2 3 4 5 6 7 8 9 11 12 13 ] j = h(1:2:11) j=2 4 6 8 11 13

a = [1 2 3 2 5 -8 -1 -4 -8] b = a(1:3:9) b = 3 5 -1 -8

% Cambio de Variable g = [3 6 5 -5 8 7] g(3) = 2 g = 3 6 2 -5 8 7

h = [2 3 4 5 6 7 8 9 11 12 13 ] h(2,5,7)= -3 h = 2 -3 4 5 -3 7 -3 9 11 12 13

i = [1 2 3 2 5 -8 -1 -4 -8 4 7 3 2 -5 -7] i(1:3:15)= 0 i = 1 2 0 2 5 0 -1 -4 0 4 7 0 2 -5 0

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

3.- MATLAB aplicado a Algebra Lineal %Matrices A = [2 3 4; 3 5 -1; -3 -5 -8] B = [-1 5 4; 6 -1 8; 1 -1 3] C=A+B D=CA inv(A) det(A) eye(n) [L U] = lu(B) [Q R] = qr(C) [L U P] = lu(D) H = B rank(A) [val,vec]=eig(A) expm(A) poly(A) roots(poly) svd(A) triu(A) tril(B) trace(C) zeros(3,2) zeros(4) ones(3,5) ones(5) Matriz cuadrtica 3 x 3 Matriz cuadrtica 3 x 3 Suma de dos Matrices Resta de dos matrices Inversa de una Matriz Determinante de una Matriz Crea la matriz Identidad de orden n Factorizacin LU Factorizacin QR Factorizacin aplicado a la Permutacin Matriz Traspuesta Rango de la Matriz Auto valor y Auto vector de una Matriz Valor exponencial de una Matriz Polinomio caracterstico de una Matriz Races del Polinomio de la Matriz Valor singular de una Matriz Matriz Triangular Superior Matriz Triangular Inferior Suma de la Diagonal Principal Genera una Matriz nula de 3 filas, 2 columnas Genera una Matriz nula Cuadrtica 4 x 4 Genera una Matriz 3 filas, 5 columnas Genera una Matriz Cuadrtica de 5 x 5

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

4. Uso de comandos en MATLAB para Algebra Lineal COMANDO expm(A) expm1(A) expm2(A) expm3(A) logm(A) sqrtm(A) transpose(A) inv(A) det(A) rank(A) trace(A) svd(A) rcond(A) norm(A) norm(A,1) norm(A,inf) subspace(A,B) rref(A) (A)^p p^(A) eig(A) [V,D]=eig(A) eig(A,B) APLICACION Calculada a travs de autovalores Calculada a travs de aproximantes de Pad Calculada a travs de series de Taylor Calculada a travs de la condicin de la matriz de autovectores Logaritmo neperiano de la matriz A Raz cuadrada de la matriz cuadrada A Matriz transpuesta de A Matriz inversa de la matriz cuadrada A. (A ) Determinante de la matriz cuadrada A Rango de la matriz A Suma de los elementos de la matriz A Raices cuadradas de los autovalores de la matriz A Reciproco de la condicin de la matriz A Norma de A (mayor valor singular de la matriz A) 1 norma de A (mayor suma de las columnas de A) Norma infinita de A (mayor suma de las columnas de A) Si A y B son vectores da el angulo formado por ambos Matriz reducida escalonada de Gauss_Jordan por filas de A Matriz elevada a la potencia escalar p Escalar p elevado a la matriz A Halla los autovalores de la matriz cuadrada de A D son autovalores de A y V son autovectores de A (A*V=V*D) Devuelve un vector con los autovalores generalizados de las matrices cuadradas A y B. Son raices del polinomio en det(*C-A)
-1

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

balance(A) S=sparse(A) A=full(S) (i,j)=find(A) B=spdiags(A,d) A=speye(m,n) A=speye(n) R=sprank(A) N=nnz(A) N=condest(A) M=normest(A) issparse(A) spy(A) svds(A) [L U]=luinc(A) C=cholinc(A) H=handamard(n) P=pascal(A) R=rosser(A) C=compan(P) colpace(A) hess(A) [V, J]=jordan(A)

Calcula la matriz B balanceada de la matriz A. Su uso esencial es aproximar los autovalores de A cuando son difciles de calcular. Convierte la matriz disperse de A, a la completa de S Convierte la matriz dispersa S en la matriz completa A Devuelve los ndices de filas y columnas no cero de la matriz A Construye la matriz dispersa cuya diagonal son los elementos d Construye la matriz dispersa identidad (m x n) Construye la matriz dispersa identidad cuadrada de orden n Da el rango estructural de la matriz dispersa de A Da el nmero de elementos no nulos de la matriz dispersa de A Devuelve la 1 norma de la matriz dispersa de A Devuelve le 2 norma de la matriz dispersa de A Devuelve 1 si la matriz A es dispersa y 0 en otro caso Grafica el patrn de dispersin de la matriz A Da los 5 mayores valores singulares de A Factorizacin LU incompleta de A Factorizacin incompleta de cholesky de A Matriz con valores 1 o -1 tal que H*H=n*eye(n) Matriz de pascal de orden simtrica Matriz 8*8 con un autovalor doble, otro nulo, tres casi iguales y 2 opuestos Matriz del polinomio de coeficientes P Devuelve una base para las columnas de A Devuelve la matriz de Hessenberg H Halla la matriz canonica de Jordan J de la matriz A y la matriz de paso V cuyas columnas son los autovectores de A cumplindose que V *A*V=J
-1

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

% Funciones Matriciales (aplicacin del editor) A = [3 2 5; 7 1 8] B = [-1 -1 0 5; 3 2 4 -3; -5 -2 -1 7] C = [3 2 -1; -1 3 -5; 3 5 7; 8 8 8] D = [3 2 5 1 2; 3 -1 -3 4 5; 1 -2 -3 4 5] ((A * B) * (C * D)) 2x3 3x4 *4x3 2x4 * 4x5 2x5 3x5 =2x3 =3x4 =4x3 =3x5

(((A * B) * C) * D) 2x3 3 x 4 * 4 x 3 *3 x 5 2x4 * 4x3 *3x5 2x3 * 3x5 2x5

2x3x4+4x3

x 5 + 2 x 4 x 5 = 124seg.

2 x 3 x 4 + 2 x 4 x 3 + 2 x 3 x 5 = 78seg.

EJEMPLO: Producto vectorial y matricial Suponga que un fabricante produce cuatro artculos. Su demanda est da por el vector de demanda d=[30 20 40 10] (una matriz de 1x4). El precio por unidad que recibe el fabricante por los artculos est dado por el vector de precios p=[$20;$15;$18;$40] (una matriz de 4x1). Si se cumple la demanda, Cunto dinero recibir el fabricante? >> d=[30 20 40 10]; >> p=[20;15;18;40]; >> Total=d*p >> Total = 2020

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

5. Uso de comandos en MATLAB para la Solucin de Ecuaciones y Sistemas COMANDO Solve(ecuacion,x) Solve(ec1,..ecn,x1,..xn) X=linsolve(A,B) x=nnls(A, b) P=poly(A) X=A\B X=A/B X=bicg(A, b) X=bicg(A, b, tol) X=bicg(A, b, tol, maxit) X=bicg(A, b, tol, maxit, M) X=cqs(A, b) X=cqs(A, b, tol) X=cqs(A, b, tol, maxit) X=cqs(A, b, tol, maxit, M) X=minres(A, b) X= minres (A, b, tol) X= minres(A, b, tol, maxit) X= minres(A, b, tol, maxit, M) APLICACION Resuelve la ecuacin en la variable x Resuelve n ecuaciones simultaneas en la variable x Resuelve A*X=B para una matriz cuadrada A, siendo b y X matrices Resuelve A*x=b en el sentido de los mnimos cuadrados (x vector) Da el polinomio cuyas raices son el vector A Resuelve el sistema A*X=B Resuelve el sistema X*A=B Resuelve el sistema A*x=b por el mtodo de gradientes bi-conjugados Resuelve A*x=b especificando la tolerancia Resuelve A*x=b especificando la tolerancia y el num.max. iteraciones Resuelve el sistema inv(M)*A*x = inv(M)*b Resuelve el sistema A*x=b por mtodo de gradiente conjugado cuadrtico Resuelve A*x=b especificando la tolerancia Resuelve A*x=b especificando la tolerancia y el num.max. iteraciones Resuelve el sistema inv(M)*A*x = inv(M)*b Resuelve el sistema A*x=b por el mtodo de residual mnimo Resuelve A*x=b especificando la tolerancia Resuelve A*x=b especificando la tolerancia y el num.max. iteraciones Resuelve el sistema inv(M)*A*x = inv(M)*b

ALGEBRA LINEAL

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Aplicacion de Sistemas de Ecuaciones y Matriciales %Un sistema con una solucin nica: >> rref([1 -1 7;1 1 5]); >> ans= 6 -1 + = =

%Un sistema con un nmero infinito de soluciones: >>rref([1 -1 7;2 -2 14]) >>ans= (7,0) (0,-7) (8,1) (1,-6) (3,-4) (-2,-9) nmero infinito de soluciones %Un sistema sin solucin: = =

= =

Al multiplicar la primera ecuacin por 2 se obtiene 2x-2y=14, esto contradice la segunda ecuacin. Entonces, el sistema no tiene solucin Para la resolucin de sistemas de ecuacin lineal debemos aplicar el mtodo de matrices para poder obtener su solucin dependiente de cuantas variables sean Si la ecuacin es: >> A = [2 3; 5 4]; >> B = [5 -2]; >> C = inv(A)*B >> ans = 3.7143 4.1429 + + = =

Si las ecuaciones son:

>> D = [2 0 3; 1 1 -1; 0 3 -5]; >> E = [-3 2 -4]; >> F = D\E 7.2000 >> ans = 11.000 5.8000
ALGEBRA LINEAL

+ = + = =

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

Si la ecuacin es: { 3.0000 >> ans = 3.0000 0.5000

>> roots([2 11 12 -9])

Otra forma de resolucin de la ecuacin puede ser tambin: >>solve(2 ^3 + 11 ^2 + 12 1/2 >> ans = 3 3 9,x)

Si las ecuaciones son:

>>[x , y , z] = solve(x+y+z=1,3*x+y=3,x-2*y-z=0,x,y,z) >> ans = 4/5 = 3/5 =

+ = + = =

Otra forma de resolucin de la ecuacin puede ser tambin: >>A[1 1 1; 3 1 0; 1 -2 -1]; >>B[1 3 0]; >>linsolve(A,B) >> ans = 4/5 = 3/5 =

Balanceo de reacciones qumicas Al balancear reacciones qumicas tales como la de la fotosntesis: CO + H O C H O + O Se buscan enteros positivos x1, x2, x3 y x4 que no tengan un divisor comn diferente de 1, de manera que en x (CO ) + x (H O) x (C H O ) + x (O
)

ALGEBRA LINEAL

10

MATLAB 2011Rb C:

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

x1

= 6x3 2x2=12x3

O: H:

2x1+ x2= 6x3+2x4

>> A =[1 0 -6 0;2 1 -6 -2;0 2 -12 0]; >> B =[0 ;0 ;0]; >> format rat >> rref([A b]) 1 0 0 0 1 0 0 0 1 -1 -1 -1/6 0 0 0

Solucin: (

1(CO ) + 1(H O) 1/6(C H O ) + 1(O )+ ( ) (


)

+ (

%Aplicacion de Polinomios %Polinomio de Taylor Sea el Polinomio de Taylor de grado 6 de la f(x) = sin(x), en x = /2 >> syms x >> taylor(sin(x),pi/2,6 ) >> ans = (pi/2 - x)^4/24 - (pi/2 - x)^2/2 + 1 Sea el Polinomio de Taylor de grado 8 de la f(x) = x^2 + /2 *sin(x), en x = 3/ >> syms x >> taylor(x^2 + pi/2 *sin(x),3/pi,8 ) >> ans = pi/2 + (2150310427208497*x)/1125899906842624 + (x 2150310427208497/2251799813685248)^2 4623834933361588875239908999009/5070602400912917605986812821504

ALGEBRA LINEAL

11

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

6. Graficos 2D 3D COLOR b g r c m y k w azul verde rojo celeste magenta amarillo negro blanco . o : x -. + -* s d v ^ < > p h SIMBOLOGIA punto solido circulo punteado signo x Segmento punto signo + segmento asterisco cuadrado diamante triangulo (abajo) triangulo (ariba) triangulo (izq.) triangulo (der.) pentagrama hexagrama

Probar los siguientes comandos >>fplot('sin(x)',[0 2*pi]) >>ezplot('exp(x)') >>ezplot('sin(x)','cos(x)', [0 pi]) >>ezplot('x^2-y^2-1') >>ezplot('y/(x^2-y^2-1)') Texto en una grfica fplot('[sin(x),sin(2*x),sin(3*x)]',[0,2*pi]) text(3,0.8, 'y=sin(2x)') text(1,-0.6, 'y=sin(3x)') text(1.5,1, 'y=sin(4x)')

ALGEBRA LINEAL

12

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

subplot(1,2,1) x = 0:.1:10; semilogx(x,10.^x) title('Hoja semilogaritmica en x') xlabel('Frecuencia [Hz]') ylabel('Amplitud [db]') grid

subplot(1,2,2) x = 0:.1:10; semilogy(x,10.^x) title('Hoja semilogaritmica en y') xlabel('Frecuencia [Hz]') ylabel('Amplitud [db]') grid

x=linspace(0,4*pi,50); y=sin(x);,z=cos(x);

subplot(2,2,1) plot(x,y,'m') title('Funcion seno') xlabel('Frecuencia') ylabel('Amplitud') grid

subplot(2,2,2) plot(x,z,'--g') title('Funcion coseno') xlabel('Frecuencia') ylabel('Amplitud') grid

ALGEBRA LINEAL

13

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

subplot(2,2,3) plot(x,y,'m') hold on plot(x,z,'--g') hold on title('sin(x) y cos(x)') legend('y=sin(x)','z=cos(x)') grid

subplot(2,2,4) t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t,'y') axis square; grid on

Coordenadas polares subplot(1,2,1) t=0:pi/50:2*pi; r=sin(2*t).*cos(2*t); polar(t,r,'m') title('Funcion en modo Rad') subplot(1,2,2) t=0:pi/50:4*pi; r=sind(2*t).*cosd(2*t); polar(t,r,'m') title('Funcion en modo Deg')

Graficos en 3D subplot(1,2,2) ezsurfc('x^2+y^2') title('Paraboloide') subplot(3,3,1) ezmesh('sqrt(x^2+y^2-1)') hold on ezmesh('-sqrt(x^2+y^2-1)') title('Hiperboloide de una hoja')

ALGEBRA LINEAL

14

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

subplot(3,3,2) ezsurfc('x^2-y^2') title('Paraboloide de una hoja') subplot(3,3,3) ezmesh('y^2*(x-1)^2/(y^2+(x-1)^2)') subplot(3,3,4) ezmesh('-sin(sqrt(exp(-x^2-y^2))+4)') subplot(3,3,5) ezsurfc('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)') subplot(3,3,6) ezsurfc('x*exp(-x^2-y^2)') subplot(3,3,7) ezmesh('y/(1+x^2+y^2)') subplot(3,3,8) x=0:pi/10:2*pi; cylinder(2*sin(x)); axis square title('2*sin(x)') subplot(3,3,9) x=0:pi/10:2*pi; cylinder(2*cosd(x)); axis square title('2*cosd(x)')

ALGEBRA LINEAL

15

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

7. Programacin aplicada a MATLAB para Algebra II


%Comprobacin de un Nmero Positivo

clear clc a=input('ingrese un numero positivo: '); if a>0 disp('el numero es correcto'); else disp('el numero es incorrecto'); end
%Operaciones de un nmero cualquiera

clear clc a=input('ingrese un numero: '); disp('la raiz cuadrada es: '); b=sqrt(a) disp('el valor exp es: '); c=exp(a) disp('el valor logaritmico es:'); d=log(a)
%Suma de Dos nmeros positivos

clear clc disp('suma de dos numeros positivos'); a=input('ingrese primer numero positivo: '); if a>0 else disp('el numero es incorrecto'); end b=input('ingrese segundo numero positivo: '); if b>0 else disp('el numero es incorrecto'); end disp('La solucion es:'); if a>0 b>0 c=(a+b) else disp('------------------------------------------'); disp('no hay solucion'); disp('operacion incorrecta numeros negativos'); end

ALGEBRA LINEAL

16

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Comprobacin de una Matriz Cuadrtica

Clear clc a=input('Ingrese una matriz: '); [f c]=size(a); if f==c disp('La matriz es cuadrada') else disp('La matriz no es cuadrada') end disp('El tamao de la matriz es:') fprintf(' fila: %g \n',f) fprintf('columna: %g \n',c)
%Operaciones de una Matriz Cualquiera

clear clc a=input('Ingrese una matriz: '); [f c]=size(a); if f==c disp('La matriz es cuadrada') de=det(a); disp('El determinante de la matriz') disp(a) disp('es:') disp(de) else disp('La matriz no es cuadrada') tr=a'; disp('La traspuesta de la matriz:') disp(a) disp('es:') disp(tr) end disp('El tamao de la matriz es:') fprintf(' fila: %g \n',f) fprintf('columna: %g \n',c)
%Funcin de la Campana de Gauss

x=linspace(-3,3,500); y=exp(-x.^2); z=2*exp(-x.^2); plot(x,y,'-') hold on plot(x,z,'--') legend('exp(-x^2)','2*exp(-x^2)') title('Campana de Gauss') xlabel('Eje de Abscisas') ylabel('Eje de Ordenadas')

ALGEBRA LINEAL

17

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Ajuste de curvas lineales

clear clc x=input('Ingrese puntos en [fx cx]=size(x); while fx~=1 x=input('Ingrese puntos en [fx cx]=size(x); end y=input('Ingrese puntos en [fy cy]=size(y); while fy~=1 | cy~=cx y=input('Ingrese puntos en [fy cy]=size(y); end a=polyfit(x,y,1); m=a(1); b=a(2); y1=m*x+b; plot(x,y,'*',x,y1,'g') title('Ajuste de curvas') xlabel('Eje x') ylabel('Eje y')

x:'); x:'); y en funcion de x:'); y en funcion de x:');

%Aplicacion de Integracion

clear clc disp('la integral de la funcion es:') syms x f=exp(-x)/(1+exp(-x)); i=simplify(int(f)); pretty(i) disp('la grafica de la integral es:') ezplot(f); %Trazado de la grafica de la figura grid on; %Habilitacin de la cuadricula axis([-4.5 4.5 0 1]) %Ejes de visualizacin de -4.5 a 4.5 en x, %de 0 a 1 en y
%Aplicacion de la Derivada

clear clc disp('la solucion de la derivada es:') syms x %Declaracion de la variable independiente f=log10((x^2-1)/x); %Declaracion de la funcion deriva=diff(f); %Derivacion de la funcion f d=simplify(deriva) %Se simplifica la derivada a la minima expresion pretty(d) %Imprime la funcion de una forma facil de observar disp('La grafica de la funcion es:') ezplot(f); %Grafica de la funcion f en 2 dimensiones axis([-1 5 -1 2]) %LA grafica muestra los limites de -1a5 en x, %de -1a2 en y

ALGEBRA LINEAL

18

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

% Movimiento de funciones y superficies

clear clc x=0:0.01:2*pi; for j=1:10 plot(x,sin(j*x)/2) M(j)=getframe end movie(M,4,6)

% Movimiento de funciones y superficies

clear clc n=30; x=linspace(0,2*pi,200); for j=1:n t=(pi/29)*(j-1); plot(cos(x),sin(t)*sin(x),'gs'), axis([-1 1 -1 1]) F(j)=getframe; end movie(F,5)
% Movimiento de funciones y superficies

clear clc figure('position',[100 100 850 600]) Z = peaks; surf(Z); axis tight set(gca,'nextplot','replacechildren'); for j = 1:20 surf(sin(2*pi*j/20)*Z,Z) F(j) = getframe; end [h, w, p] = size(F(1).cdata); % use 1st frame to get dimensions hf = figure; set(hf,'position',[150 150 w h]) axis off movie(hf,F,4,30,[0 0 0 0])

ALGEBRA LINEAL

19

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Programa para graficar n matrices

clear clc b=input('Cuantas matrices quieres graficar: '); disp('Ingrese las filas y columnas para dividir la ventana de graficas') ta=input('[fila columna]='); ff=ta(1); cc=ta(2); [f c]=size(ta); clc while c~=2 disp('Ingrese fila y columa: ') ta=input('[fila columna]='); [f c]=size(ta); end for i=1:b fprintf('Ejercicio # %g \n',i) a=input('Ingrese una matriz de 2x2: '); [f1 c1]=size(a); while f1~=c1 disp(' Cometiste un error') disp('----------------------') a=input('Ingrese una matriz de 2x2: '); [f1 c1]=size(a);

end

end disp('Elija una opcin') disp('Rojo --> r') disp('Verde --> g') disp('Amarillo --> y') disp('Azul --> b') disp('Violeta --> m') co=input('Color de fondo: '); syms x y F=[x y]*a*[x;y]; subplot(ff,cc,i) ezsurfc(F) set(gca,'Color',strcat(co))

%Grafica de una Matriz

clear clc a=input('ingrese una matriz de 2*2: '); syms x y z=[x y]*a*[x y]' subplot(1,2,1) ezplot(z) subplot(1,2,2) ezsurf(z)

ALGEBRA LINEAL

20

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Aplicacion de Ecuaciones Diferenciales

clear clc

disp(' Universidad Mayor de San Simn') disp(' Facultad de Ciencias y Tecnologa') disp(' Departamento de Ing. Mecnica - Electromecnica') disp(' Laboratorio de Estadstica Aplicada') disp('--------------------------------------------------') pause(1), disp('Curso de MATLAB') pause(1), disp('Programacin Aplicada') pause(1), disp('Materia: Ecuaciones Diferenciales') pause(1), disp('Instructor: Oscar Luis Chavez Pillco') pause(1), disp('--------------------------------------------------') pause(1), disp('Teniendo la siguiente ecuacin diferencial') pretty(poly2sym('1/(18-3*x)*dx=dy')) pause(1), disp('Integrando ambos miembros obtenemos') pretty(solve('int(1/(18-3*x),x)=int(1,y)')) pause(1), disp('Hallando la constante C') C=simple(sym('solve(subs(x=0,y=1,x=-1/3*exp(-3*y)+ 6-C),C)')); pretty(C) pause(1), disp('La solucin general es:') pretty(poly2sym('z=-x-1/3*exp(-3*y)+6')) pause(1), disp('La solucin particular es:') pretty(poly2sym('-1/3*log((18-3*x)/(6-1/3*exp(-3)))')) pause(1), disp('Ahora veremos las grficas de las ecuaciones') [x y]=meshgrid(-1:.1:1); z=-x-1/3*exp(-3*y)+6; subplot(1,3,1) contour(z,20) title('Solucin General') grid subplot(1,3,2) ezplot('-1/3*log((18-3*x)/(6-1/3*exp(-3)))') title('Solucin Particular') grid subplot(1,3,3) ezsurf('-x-1/3*exp(-3*y)+6') set(gca,'Color',strcat('g'))

ALGEBRA LINEAL

21

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

% Aplicacion de Jacobiano en Ecua. Diferenciales

clear clc syms x y f=[x^2-2*x-y+0.5/x^2+4*y^2-4]; disp('El sistema de ecuacion es:') pretty(f) syms Jacobiano JF=[Jacobiano]; X=[x y]; for i=1:length(X) JF=[JF;diff(f,X(i))] disp(JF) end

%Aplicacion de Circuitos Elctricos en MATLAB, resolucin de ecuaciones lineales

clear clc R=input('introduzca los valores de resistencias en ohms,[R1...R5]'); V=input('introduzca los valores de voltaje en volts,[V1 V2]'); A=[R(1)+R(2) -R(2) 0; -R(2) R(2)+R(3)+R(4) -R(4); 0 -R(4) R(4)+R(5)]; B=[V(1); 0; V(2)]; if rank(A)==3 fprintf('corrientes de malla \n') i=A\B else fprintf('no existe una solucion unica') end

ALGEBRA LINEAL

22

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Aplicacion de Estructuras While y For

clear clc disp('Eliga una opcin') disp('1. Derechos') disp('2. Determinante') disp('3. Inversa') op=input('Que opcin has elegido: '); if op==1 pause(0.5), disp(' Universidad Mayor de San Simn') pause(0.5), disp(' Facultad de Ciencias y Tecnologa') pause(0.5), disp('Departamento de Ing. Mecnica - Electromecnica') pause(0.5), disp(' Laboratorio de Estadistica Aplicada "CESA"') pause(0.5), disp('------------------------------------------------') pause(0.5), disp('Curso Matlab') pause(0.5), disp('Aplicacion de estructura while y for') pause(0.5), disp('Instructor: Oscar Luis Chavez Pillco') pause(0.5), disp('Gestion II/2011') elseif op==2 b=input('Cuantas operaciones deceas realizar: '); for i=1:b fprintf('Ejercicio nro: %g \n', i) a=input('Ingrese una matriz cuadrada: '); [f c]=size(a); while f~=c disp('----------------------------------') disp(' Cometiste un error') a=input('Ingrese una matriz cuadrada: '); [f c]=size(a); end determinante=det(a); disp('Determinante:'), disp(determinante) end elseif op==3 b=input('Cuantas operaciones deceas realizar: '); for i=1:b fprintf('Ejercicio nro: %g \n', i) a=input('Ingrese una matriz cuadrada: '); [f c]=size(a); while f~=c disp('--------------------------------------------------') disp(' Cometiste un error') a=input('Ingrese una matriz cuadrada: '); [f c]=size(a); end inversa=inv(a); disp('Inversa:'), disp(inversa) end else disp('Solo ingrese opciones del 1 al 3') end

ALGEBRA LINEAL

23

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Aplicacion de Estructura If Else End

clear clc disp('La siguiente programacion se realiza con funciones definidas') disp('Eliga una opcin') disp('1. Derechos') disp('2. Integral') disp('3. Derivada') op=input('Que opcin has elegido: '); if op==1 pause(0.8), disp(' Universidad Mayor de San Simn') pause(0.8), disp(' Facultad de Ciencias y Tecnologa') pause(0.8), disp(' Departamento de Ing. Mecnica - Electromecnica') pause(0.8), disp(' Laboratorio de Estadstica Aplicada "CESA"') pause(0.8), disp('--------------------------------------------------') pause(0.8), disp('Curso Matlab') pause(0.8), disp('Aplicacion de Estructura while y for') pause(0.8), disp('Instructor: Oscar Luis Chavez Pillco') pause(0.8), disp('Gestion II/2011') elseif op==2 b=input('Ingrese el 1er limite izquierdo: '); c=input('Ingrese el 1er limite derecho: '); d=input('Ingrese el 2do limite izquierdo: '); e=input('Ingrese el 2do limite derecho: '); if b>=0, c>0, d>=0, e>0 syms x y disp('Teniendo la siguiente funcin') a=(exp(-x.^2-y.^2)*(4/pi)) f=inline(a) I=dblquad(f,b,c,d,e) else disp('error al realizar la operacin') disp('vuelva a intentarlo') end elseif op==3 a=input('Ingrese la contrasea: '); if a==op disp('la solucin de la derivada es:') syms x g=4*x*sin(x); deriva=diff(g); d=simplify(deriva) else disp('Error al realizar la operacin') disp('Verifique e intente nuevamente') end else disp('Solo ingrese opciones del 1 al 3') end

ALGEBRA LINEAL

24

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Aplicacion de Tipos de Estructuras

clear clc disp('Eliga una opcin') disp('1. Derechos') disp('2. Circuito') disp('3. Angulo de Rectas') op=input('Que opcin has elegido: '); if op==1 pause(0.5), disp('------------------------------------------------') pause(0.5), disp(' Universidad Mayor de San Simn') pause(0.5), disp(' Facultad de Ciencias y Tecnologa') pause(0.5), disp('Departamento de Ing. Mecnica - Electromecnica') pause(0.5), disp(' Laboratorio de Estadistica Aplicada "CESA"') pause(0.5), disp('------------------------------------------------') pause(0.5), disp('Aplicacion de Estructuras) pause(0.5), disp('Instructor: Oscar Luis Chavez Pillco') pause(0.5), disp('------------------------------------------------') elseif op==2 b=input('Cuantas operaciones deceas realizar: '); for i=1:b fprintf('Ejercicio nro: %g \n',i) R=input('Ingrese los valores de las resistencias,[R1...R5]: '); V=input('Ingrese el valor de los voltajes en volts,[V1.V3]: '); A=[R(1)+R(2) -R(2) 0; -R(2) R(2)+R(3)+R(4) -R(4); 0 -R(4) R(4)+R(5)]; B=[V(1) V(2) V(3)]'; if rank(A)==3 fprintf('Las corrientes de malla son:\n') I=A\B else fprintf('No existe una solucion unica') end end elseif op==3 b=input('Cuantas operaciones deceas realizar: '); for i=1:b fprintf('Ejercicio nro: %g \n',i) A=input('Ingrese los puntos en el mayor vertice: '); B=input('Ingrese los puntos en el menor vertice: '); C=input('Ingrese los puntos en el menor vertice: '); if [A,B,C]>0 AC=C-A; AB=B-A; alpha = acosd(dot(AC,AB)/(norm(AC)*norm(AB))) else disp('Ingrese correctamente los puntos') end end else disp('Solo ingrese opciones del 1 al 3') end

ALGEBRA LINEAL

25

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Mtodo de Newton para resolver la ecuacin f(x)=0

clear clc f=input('Ingrese la funcin: '); datos=input('Ingrese [x0 Tol]: '); xn=datos(1); Tol=datos(2); syms x f1=xn-f/diff(f,x); pretty(f1) it=0; fxn=subs(f,xn)/subs(diff(f,x),xn); while abs(fxn)>Tol x1=xn-fxn; xn=x1; it=it+1; fxn=subs(f,xn)/subs(diff(f,x),xn); end fprintf('Numero de iteraciones= %g \n',it) fprintf('La raiz es: %g \n',xn) ezplot(f) hold on ezplot('0') text(xn,0,'o Este es la raiz') grid on

ALGEBRA LINEAL

26

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Factorizacin de n Matrices

clear clc n=input('Cuantas matrices quieres factorizar:'); [f1 c1]=size(n); while f1~=1 | c1~=1 n=input('Cuantas matrices quieres factorizar:'); [f1 c1]=size(n); end clc for i=1:n fprintf('Ejercicio: %g \n',i) fprintf('de %g \n',n) a=input('Ingrese una matriz cuadrada: '); [f c]=size(a); while f~=c a=input('Ingrese una matriz cuadrada: '); [f c]=size(a); end L=tril(a); U=triu(a); disp('La factorizacion de la matriz') disp(a), disp('es:') disp('Matriz Triangular Inferior') disp(L) disp('Matriz Triangular Superior') disp(U) disp('Presione cualquier tecla para continuar') pause() clc

end

ALGEBRA LINEAL

27

MATLAB 2011Rb

UNIVERSIDAD MAYOR DE SAN SIMON LABORATORIO DE ESTADISTICA APLICADA CESA

FACULTAD DE CIENCIAS Y TECNOLOGIA Instructor: OSCAR L. CHAVEZ PILLCO

%Programa de identificacin de un sistema de soluciones

clear clc A=input('Ingrese la matriz de coeficientes: '); B=input('Ingrese al matriz de resutados: '); t=size(A); c=t(2); %numero de variables m=rank(A); %rango de la matriz de coeficientes mA=rank([A B]); %rango de la matriz ampliada if m==c r=rref([A B]); disp('Unica solucion') disp('Reduccion por filas Metodo de Gauss-Jordan') disp(r) elseif mA<c disp('Infitas soluciones') disp('Reduccion por filas Metodo de Gauss-Jordan') r-rref([A B]); disp(r) elseif m~=ma disp('No tiene solucion') disp('Reduccion por filas Metodo de Gauss-Jordan') r=rref([A B]); disp(r) end

ALGEBRA LINEAL

28