Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
clc clear //Verificar sempre se a diagonal principal é dominante sobre a diagonal secundária A = [-4,1 ,1 ,0,0,0,0,0 ;1 ,-4 ,0 ,1,0,0,0,0 ; 1 ,0 ,-4 ,1,0,1,0,0 ;0 ,1 ,1 ,-4, 1, 1,0,0; 0,0,0,1,-4,0,0,1; 0,0,1,0,0,-4,1,0; 0,0,0,1,0,1,-4,1; 0,0,0,0,1,0,1,-4]; //coeficientes do sistema I = eye(A); n = 8; b = [-95,-50,-80 ,0 ,-30 ,-190 ,-110 ,-120 ]; //vetor de termos independentes eps=10^(-6); //Precisão x0 = [0;0;0;0;0;0;0;0]; //Solução inicial p = 10; x = x0; x1 = x; it=0; i=0; s=0; for i=1:n bc(i) = b(i)/A(i, i); end; big = 0; num = 0; while p > eps & it<=1000 for i=1:n num = 0; for j=1:n if j <> i then num = num + A(i,j)*x(j); end; end; x(i) = (1/A(i,i))*(b(i)-num); end; p = norm((A*x)-b'); it = it+1; end; disp(x) if(it>999) then printf("Não converge nesse intervalo"); abort; else printf("Sucesso! Total de iteracoes %f", it); end;
Compartilhar