Académique Documents
Professionnel Documents
Culture Documents
% 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
ans= 2.7941
/
(1 0.25)
256 (1/25)
)
+ (4/81)
+ 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
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
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
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
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
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
% 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
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
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
%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 + + = =
>> 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
Otra forma de resolucin de la ecuacin puede ser tambin: >>solve(2 ^3 + 11 ^2 + 12 1/2 >> ans = 3 3 9,x)
+ = + = =
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:
x1
= 6x3 2x2=12x3
O: H:
>> 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: (
+ (
%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
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
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);
ALGEBRA LINEAL
13
MATLAB 2011Rb
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
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
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
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
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')
%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
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
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))
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
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
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
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
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
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
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
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
%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
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