ELIMINACION GAUSSIANA CON PIVOTEO PARCIAL

Páginas: 8 (1940 palabras) Publicado: 20 de septiembre de 2015
A)
% ELIMINACION GAUSSIANA CON PIVOTEO PARCIAL (SOLUCION POR ETAPAS)

clc %permite borrar el area de trabajo
clear %permite borrar las variables almacenadas
format long

fprintf(' ELIMINACION GAUSSIANA CON PIVOTEO PARCIAL (SOLUCION POR ETAPAS)\n\n\n');

A=input('Ingrese la matriz A = \n');
b=input('\nIngrese el vector b, correspondite a los terminos independientes b=\n');[n,m]=size(A);
C=[A,b];
fprintf('\nLa Matriz C, que corresponte a la matriz aumentada [Ab] es = \n');
disp(C);
if n==m %compara el numero de columnas y filas, para observar si son iguales
for k=1:(n-1)
fprintf('\n ETAPA %g=\n\n',k)
mayor=0;
filam=k;
for p=k:n
if mayor filam.=p; %cambio de fila
end
end
if mayor ==0
fprintf('\nEl sistema tiene infinitas soluciones\n')
break %se interrumpe el programa con la instruccion break, ya que
%si mayor=o, mas adelante se obtiene una division por
%cero
else
if filam ~= kfor j=1:(n+1)
aux=C(k,j); %para poder intercambiar las filas, utilizamos una
%variable auxiliar
C(k,j)=C(filam,j);
C(filam,j)=aux;
end
end
end
fprintf('\nLa matriz correspondiente a esta etapa antes del proceso:\n')
disp(C)
fprintf('\nLos Multiplicadorescorrepondientes a esta etapa son:\n')
for i=(k+1):n
m(i,k)=C(i,k)/C(k,k); %formula multiplicadores
fprintf('\nm(%g,%g)=',i,k)
disp(m(i,k));
for j=k:(n+1)
C(i,j)= C(i,j) - m(i,k)*C(k,j);%formula nueva fila
end
end
fprintf('\nLa matriz correspondiente a esta etapa despues del proceso:\n')disp(C)
end
for i=n:-1:1
suma=0;
for p=(i+1):n
suma = suma + C(i,p)*X(p);
end
X(i)=(C(i,n+1)-suma)/C(i,i);
%formula de la susticion regresiva y solucion de las variables
end
else %funcion asignada del if, en caso de que este sea falso
fprintf('\nERROR: La matriz NO es cuadrada\n');
endfprintf('\n\n SOLUCION:\n');
fprintf('\n\nLa matriz Ab final:\n');
disp(C)
fprintf('\n\nLa solucion de X1 hasta Xn es:\n');
%a continuacion de utiliza una instruccion for, para mostrar el usuario,
%los resultados de una manera mas ordenada
for i=1:n
Xi=X(1,i);
fprintf('\nX%g=',i)
disp(Xi);
end














Se determinó la columnas A [3,1,1;-3,4,1;1,1,-1]
Se determinó b vectores b [1;1;-3]De lo cual salió como resultado
X1= -0.250000000000000 X2= -0.500000000000000
X3= 2.250000000000000

Observarnos
Que los resultados coincidieron con los resultados que se hicieron a mano.

Programa apto para determinar matrices e identificar cuando el sistema de ecuaciones no se pueda ejecutar.



























b) Gauss-Jordan
clear all ;
clc;
fprintf('Dame la matrizaumentada\n\n');
f=input('Cuantas filas tiene la matriz: ');
c=input('Cuantas columnas tiene la matriz: ');
for k=1:c
for j=1:f
fprintf('fila : %x\n',j)
fprintf('columna : %x',k)
r=input('Numero de esta fila y columna: ');
a(j,k)=r;
j=j+1;
end
k=k+1;
end
a
pause
for k=1:c-1
a(k,:)=a(k,:)/a(k,k);
for j=k+1:f
a(j,:)=a(j,:)-a(k,:)*a(j,k);
j=j+1;
a
pause
endk=k+1;
a
pause

end
for k=f:-1:2
for j=k-1:-1:1
a(j,:)=a(j,:)-a(k,:)*a(j,k);
j=j-1;
a
pause
end
k=k-1;
a
pause
end
fprintf('resultado\n');


Determinación de variables:
Cuantas columnas tiene la matriz: 4
fila : 1
columna : 1Numero de esta fila y columna: 3
fila : 2
columna : 1Numero de esta fila y columna: -3
fila : 3
columna : 1Numero de esta fila y columna: 1
fila...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Eliminacion gaussiana
  • Eliminacion gaussiana
  • Eliminacion Gaussiana
  • Eliminacion gaussiana
  • MÉTODO DE ELIMINACIÓN GAUSSIANA
  • Método de Eliminación Gaussiana
  • Eliminación Gaussiana normalizando
  • metodo de eliminacion gaussiana

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS