quisiera sabe rqu edebo hacer para que fujncione este algortimo?
me da el sig. error:
??? Input argument 'A' is undefined.
Error in ==> C:MATLAB6p5workGaussSeidel.m
On line 16 ==> n = size(A,1);
function x = GaussSeidel(A,b,varargin)
% Implementacion del metodo Gauss-Seidel para la solucion de sistemas
% de ecuaciones, tomando como aproximacion inicial x0.
%
% x = GaussSeidel(A,b,x0=zeros,eps=0.001,nrm=Inf)
%
% Regresa x, la solucion del sistema Ax=b. El criterio de terminacion es
% que norm(x-xAnt,nrm)/norm(x,nrm)<eps.
% 21 agosto 2007
% Manuel Valenzuela
MAXCICLOS = 1000;
MAXPIVOTE = 1;
n = size(A,1);
x = zeros(n,1);
eps = 0.001;
nrm = Inf;
if length(varargin)>=1
x = varargin{1};
end
if length(varargin)>=2
eps = varargin{2};
end
if length(varargin)>=3
nrm = varargin{3};
end
A = [A b];
if MAXPIVOTE==0
for i=1:n-1
% Encontrar renglon del maximo pivote
k = find(abs(A(:,i))==max(abs(A(i:n,i))),1,'last');
if k~=i
% Intercambiar renglones
rPivote = A(k,:);
A(k,:) = A(i,:);
A(i,:) = rPivote;
end
end
end
b = A(:,n+1);
A = A(:,1:n);
% Se obtienen el vector c y la matriz T
c = b./diag(A);
T = zeros(n);
for i=1:n
T(i,:) = A(i,:)/A(i,i);
end
T = -T+eye(n);
xAnt = x;
j = 0;
while 1
j = j+1;
if j>MAXCICLOS
warning('numero maximo de ciclos excedido')
break
end
for i=1:n
x(i) = T(i,:)*x + c(i);
end
if (norm(x-xAnt,nrm)/norm(x,nrm)<eps)
break
end
xAnt = x;
end