matlab

Páginas: 2 (309 palabras) Publicado: 18 de diciembre de 2014
MÉTODOS NUMÉRICOS
CUARTO LABORATORIO DE MATLAB
1. Solución de Ax=b, usando eliminación gaussiana sin pivoteo, sin factorización explicita y consustitución hacia atrás.
%egsinpiv.m
clear,clc;
a=input('ingresa matriz cuadrada A=');
[m,n]=size(a);
if m~=n
error('la matriz A debe ser cuadrada')
end;b=input('ingresa matriz columna b=');
[p,q]=size(b);
if (p~=n)|(q~=1)
error('la matriz b debe tener el mismo numero de filas de A y una sola columna')end;
for k=1:n-1
if a(k,k)==0
error('no se puede aplicar el metodo');
end;
for i=k+1:n
m=a(i,k)/a(k,k);
a(i,k)=0;a(i,k+1:n)=a(i,k+1:n)-m*a(k,k+1:n);
b(i)=b(i)-m*b(k);
end
fprintf('la matriz aumentada [A|b] en la interseccion %4.0f\n',k);disp([a,b]);
pause
end;
if a(n,n)==0
error('no existe solucion unica');
end;
x=zeros(n,1);
x(n)=b(n)/a(n,n);
for i=n-1:-1:1x(i)=(b(i)-sum(a(i,i+1:n)'.*x(i+1:n)))/a(i,i);
end;
fprintf('la solucion del sistema Ax=b es x=\n');
disp(x);



2. Solución de Ax=b, usando eliminación gaussiana conpivoteo parcial, sin factorización explicita y con sustitución hacia atrás.
%egconpiv.m
clear,clc;
a=input('ingresa matriz cuadrada A=');
[m,n]=size(a);if m~=n
error('la matriz A debe ser cuadrada')
end;
b=input('ingresa matriz columna b=');
[p,q]=size(b);
if (p~=n)|(q~=1)
error('la matriz bdebe tener el mismo numero de filas de A y una sola columna')
end;
for k=1:n-1
indmaxcol=k;maxcol=abs(a(k,k));
for i=k+1:n
if maxcol
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • matlab
  • Matlab
  • Matlab
  • matlab
  • MATLAB
  • MATLAB
  • Matlab
  • Matlab

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS