




Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Metodos Numericos Para Matrices
Tipo: Esquemas y mapas conceptuales
1 / 8
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





Método de Cholesky Seudocódigo Datos de entrada: a(n,n)=matriz; 1<=i<=n, 1<=j<=n b(n,1)= valores del vector independiente; 1<=i<=n Datos de salida: “la solucion es:” Xi 1<=i<=n “no es posible encontrar la solucion del sistema” Algoritmo: Paso 1: L(1,1)=(a(1,1))^. Paso 2: para i=2…..n realizar Paso 3:L(i-1,i)=a(i-1,i)/L(i-1,i-1) Paso 4:L(i,i-1)=a(i,i-1)/L(i-1,i-1) Paso 5: L(i,i)=(a(i,i)-L(i,i-1) ^2)^. Paso 6: z(1)=(b(1)/L(1,1) Paso 7: para i=2,3,….n realizar Paso 8: z(i)=(b(i)- L(i,i-1)z(i-1))/L(i,i) Paso 9: x(n)=z(n)/L(n,n) Paso 10: para i=n-1,n-2,…..1 realizar Paso 11: x(i)=(z(i)-L(i,i+1)x(i+1))/L(i,i) Paso 12: SALIDA: “La solucion es:” x(i) 1<=i<=n Matlab a=xlsread('Matriz.xlsx'); [n,m]=size(a); l=zeros(n); L(l,l)=sqrt(a(l,l)); for i=2:n L(i-l,i)=a(i-l,i)/L(i-l,i-l); L(i,i-1)=a(i,i-1)/L(i-l,i-l); L(i,i)=sqrt(a(i,i)-(L(i,i-l)L(i,i-l))); end disp (L) z(l)=a(l,m)/L(l,l); for i=2:n z(i)=(a(i,m)-L(i,i-1)z(i-l))/L(i,i); end x(n)=z(n)/L(n,n); for i=n-1:-1:
Paso 21: k=k+ Paso 22: para i=1,2…n Paso 23: x0(i)=x(i) Paso 24: SALIDA: “ha sobrepasado el numero maximo de iteraciones” Paso 25: PARAR Matlab clear all; close all; clc; %Instrucciones para ingreso de Matriz fprintf('Una matriz extendida de coefiecientes de la forma:\n x0 x1 x2 b \n[a b c = p]\n[d e f = q]\n[j h k = r]\n'); fprintf('Debe ser ingresada de la forma [a b c p; d e f q; j h k r]\n\n'); a=input('Ingrese la matriz extendida: '); %[3 -0.1 -0.2 7.85; 0.1 7 -0.3 -19.3; 0.3 -0.2 10 71.4] Matriz ejemplo diapositivas nmax=input('Ingrese el numero de iteraciones máximo: '); tol=input('Ingrese el error porcentual aproximado máximo: '); fprintf('Matriz ingresada:\n'); disp(a); [n,m]=size(a); x0=zeros(n,1); bandera=0; k=1; while k<=nmax for i=1:n %Bucle permite utilizar método en matrices superiores a 3x sum=a(i,m); for j=1:i- sum=sum-a(i,j)x(j); end for j=i+1:n sum=sum-a(i,j)x0(j); end x(i)=sum/a(i,i); %Valores estimados de incógnitas end for i=1:n y(i)=x(i)-x0(i); %numerador de error end %Inicio de calculo de error promedio de (E1,E2,E3,...) sum1=0; sum2=0;
for j=1:n %Bucle suma de errores al cuadrado sum1=sum1+(y(i)y(i)); sum2=sum2+(x(i)x(i)); end ER=sqrt(sum1)/sqrt(sum2); %Fin de calculo de error promedio de (E1,E2,E3,...) if ER<=tol fprintf('Las respuestas son:\n'); fprintf('\t'); fprintf('%f ',x); fprintf('\n(Respectivamente)\n'); bandera=1; k=nmax; end k=k+1; for i=1:n x0(i)=x(i); end end if bandera== disp('\n Se ha excedido el número de iteraciones máximo, se recomienda utilizar método alternativo'); end Ejemplo
para j=i,i+1......n+ aux=a(i,j); a(ij)=a(pj); a(p,j)=aux; Para j=i+1,i+2,....n realizar m=a(ji)/a(ii) para k=i,i+1,....n+ a(jk)=a(jk)-ma(ik) si a(n,n)=0 realizar SALIDA “NO HAY SOLUCION” para i=n,n-1,n-2....., sum= para k=i+1,i+2.....,n sum=sum+a(ik)x(k) X(i)=(a(i,n+1)-sum)/a(ii) “La solución es:” xi Matlab fprintf('METODO ITERATIVO DE JACOBI\n\n\n') a=input('Ingrese la matriz de coeficientes:\n '); b=input('\nIngrese los términos independientes:\n '); x=input('\nIngrese el vector con las aproximacimaciones Iniciales:\n '); iter=input('\nIngrese el número máximo de iteraciones:\n '); tol=input('\nIngrese la tolerancia:\n '); cond=norm(a)*norm(a^-1);%Se calcula el condicional de la matriz de coeficientes disp('condicional=') disp(cond) % la funcion disp nos permite imprimir una variable en el espacio de trabajo determinante=det(a);%se calcula el determinante de la matriz de coeficientes if determinante== disp('El determinante es cero, el problema no tiene solución única') return
end n=length(b);%numero de elementos del vector b d=diag(diag(a)); %obtencion de la matriz diagonal l=d-tril(a); %obtencion de la matriz diagonal superior L u=d-triu(a);%obtencion de la matriz diagonal inferior u fprintf('\n SOLUCION:\n') fprintf('\nLa matriz de transicion de jacobi:\n') T=d^-1(l+u); % matriz de transicion de jacobi disp(T) re=max(abs(eig(T))) %calculo del radio espectral if re> disp('Radio Espectral mayor que 1') disp('el método no converge') return end fprintf('\nEl vector constante es::\n') C=d^-1b; % vector constante C, para el metodo disp(C) i=0; err=tol+1; z=[i,x(1),x(2),x(3),err]; %vector que me permite graficar la tabla while err>tol & i<iter xi=T*x+C; %disp(xi) err=norm(xi-x); %norma 2 %err=max(abs(xi-x)); %norma 1 %err=norm(xi-x)/norm(xi); %norma relativa x=xi; i=i+1; z(i,1)=i; z(i,2)=x(1); z(i,3)=x(2); z(i,4)=x(3); z(i,5)=err; end fprintf('\nTABLA:\n\n n x1 x2 x3 Error\n\n '); disp(z)%impresión de la tabla.