Guia Matlab
Universidad Politécnica de Madrid
ANEXO 1:
clear all
% Resolvemos el sistema Cx=c, de dimensión 500, utilizando
% los metodos: Gauss sin y con pivote, LU y el comando \
% de Matlab. Comparamos los 4 residuos r=Cx-c.
n=500;
C=rand(n); % Matriz C 500x500 de coeficientes aleatorios entre 0 y 1
c=rand(n,1); % Vector c de coeficientes aleatorios entre 0 y 1
x=zeros(n,3)*NaN; % Creamos x vectores de soluciones
r=zeros(n,3)*NaN; % Creamos r vectores de residuos
[U d]=gauss(C,c); % Resolvemos sin Gauss sin pivote
x(:,1)=solve_U(U,d); % x(1) la solución
r(:,1)=c-C*x(:,1); % r(:,1) el residuo
[U d]=gauss_pp(C,c); % Resolvemos Gauss con pivote: x(2), r(:,2)
x(:,2)=solve_U(U,d);
r(:,2)=c-C*x(:,2);
x(:,3)=C\c; % Resolvemos comando \ Matlab: x(4), r(:,4)
r(:,3)=c-C*x(:,3);
for i=1:3
mr(i)=max(abs(r(:,i)));
end
% Mostramos los valores máximos de los valores absolutos de los 4 residuos
fprintf('Maximo valor absoluto de residuos:\n Gauss sin piv -> %.2e,\n Gauss con piv -> %.2e,\n
Comando Matlab -> %.2e\n',mr(:))
w=[1:n];
% Dibujamos los residuos de los 3 métodos
subplot(2,1,1),plot(w,r(:,1),'y',w,r(:,2),'g',w,r(:,3),'b'),TITLE('Grafica de residuos de: Gauss sin pivote (amarillo), con pivote (verde), comando Matlab (azul)')
subplot(2,1,2),plot(w,r(:,2),'g',w,r(:,3),'b'),TITLE('Grafica de residuos de: Gauss con pivote (verde), comando Matlab (azul)')