Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Metodos Numericos Para Matrices, Esquemas y mapas conceptuales de Métodos Numéricos

Metodos Numericos Para Matrices

Tipo: Esquemas y mapas conceptuales

2019/2020

Subido el 22/05/2020

manolo-villavicencio-fernandez
manolo-villavicencio-fernandez 🇪🇨

1 documento

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
FACULTAD DE INGENIERÍA
MÉTODOS DE SOLUCIÓN DE SISTEMAS CON MATRICES
ESTUDIANTE:
Galo Costa
Mateo Figueroa
Juan Rea
Manuel Villavicencio
DOCENTE:
Ing. Juan Fernando Zalamea
ASIGNATURA:
Métodos numéricos
CUENCA, 04 DE JULIO DEL 2019
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Metodos Numericos Para Matrices y más Esquemas y mapas conceptuales en PDF de Métodos Numéricos solo en Docsity!

FACULTAD DE INGENIERÍA

MÉTODOS DE SOLUCIÓN DE SISTEMAS CON MATRICES

ESTUDIANTE:

Galo Costa

Mateo Figueroa

Juan Rea

Manuel Villavicencio

DOCENTE:

Ing. Juan Fernando Zalamea

ASIGNATURA:

Métodos numéricos

CUENCA, 04 DE JULIO DEL 2019

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.