Você está na página 1de 1

clear; clc;

fprintf('metodo de gauss\n');
A=(input('digite a matriz\n'));
B=(input('digite o vetor\n'));
n=0;
for h=1:length(B)
n=n+1; %numero de icognitas
end
x0=zeros(1,n);
x=x0; %aproximação inicial
k=1;
norma=1;
while norma>10^(-7) %condição de parada
for i=1:n
soma1=0;
soma2=0;
for j=1:i-1
soma1=soma1+A(i,j)*x(j); %calculo do primeiro somatorio da formula de gauss
end
for j=i+1:n
soma2=soma2+A(i,j)*x(j); %calculo do segundo somatorio da formula de gauss
end
x(i)=((B(i)-soma1-soma2))/A(i,i); %calculo do novo valor de x pelo metodo de
gauss
norma=norm(x-x0,inf); %calculo da norma
normagauss(k)=norma; %acumular a norma para cada iteração
x0=x;
if(k>50)
break; %condição de parada
end
end
k=k+1;
end
clc; %limpar a tela
fprintf('os valores são:\n');
for i=1:n
fprintf('x%d = %.7f\n',i,x(i)); %imprimir os valores de x
end

metodo de gauss

Error using input


Cannot call INPUT from EVALC.

Error in gauss (line 3)


A=(input('digite a matriz\n'));

Published with MATLAB® R2016a

Você também pode gostar