Você está na página 1de 5

FACULDADES PARASO CURSO DE SISTEMAS DE INFORMAO

Disciplina: Tpico: Mtodo de Gauss Turma: Perodo:

Clculo Numrico
Professor:

Edson Nemer

Sist Info

3 Perodo

Algoritmo do Mtodo de Gauss para resoluo de um sistema de equaes lineares nxn


Incio // Inicializao do sistema limpa as variveis limpa a janela de comandos leia a ordem do sistema e armazene em n

// Funo de leitura da matriz de coeficientes A funo A=lematrizA() imprima Entrada da matriz A para i variando de 1 at n para j variando de 1 at n imprima Entre com elemento A(i,j) fim do para fim do para fim da funo

// Funo de leitura do vetor de termos independentes b funo b=leVetorb() imprima Entrada do vetor b para i variando de 1 at n imprima Entre com elemento b(i,1) fim do para fim da funo

// Funo do Mtodo de Gauss funo [novoA,novob]=Gauss(A,b) linhaIniOper=2; linhaFimOper=n; linhaIniPivot=1; linhaFimPivot=n-1; colunaIni=1; colunaFinal=n; Pg. 1 / 1

FACULDADES PARASO CURSO DE SISTEMAS DE INFORMAO


para k variando de linhaIniPivot at linhaFimPivot para i variando de linhaIniOper at linhaFimOper fator=-A(i,k)/A(k,k) para j variando de colunaIni at colunaFinal A(i,j)=fator*A(k,j)+A(i,j); fim do para b(i,1)=fator*b(k,1)=b(i,1); fim do para linhaIniOper=linhaIniOper+1; fim do para novoA=A; novob=b; fim da funo

//Programa Principal chama funo A=leMatrizA() chama funo b=leVetorb() chama funo [A,b] = Gauss(A,b)

// Implementao da substituio retroativa para i variando de n at 1 decrementando de 1 x(i)=b(i,1)/A(i,i) para j variando de i+1 at n x(i)=x(i) (A(i,j)/A(i,i))*x(j); fim do para fim do para

// Imprime soluo do sistema para i variando de 1 at n imprime valor de x(i) fim do para

Pg. 2 / 2

FACULDADES PARASO CURSO DE SISTEMAS DE INFORMAO


Cdigo do Scilab:
// Mtodo de Gauss para um sistema nxn // Autor: Edson Nemer // Inicializao do sistema clear; clc; // apaga as variveis no protegidas // limpa a janela de comandos Data: 16/03/2010

format('v'); n = input("Entre com a ordem do sistema : ")

//******************************************************** function A=leMatrizA() // Funo de leitura da matriz de coeficientes A // Leitura da Matriz A printf("\n\nEntrada da Matriz A"); for i=1:n for j=1:n printf("Entre com o elemento A(%d,%d) :",i,j); A(i,j)=input(""); end end

// A=[1 1 2;2 -1 -1;1 -1 -1];

endfunction //********************************************************

function b=leVetorb() // Funo de leitura do vetor de termos independentes b // Leitura do Vetor b

printf("\n\nEntrada do Vetor b");

for i=1:n printf("\nEntre com o elemento b(%d,%d) :",i,1); b(i,1)=input(""); end

Pg. 3 / 3

FACULDADES PARASO CURSO DE SISTEMAS DE INFORMAO


// b=[4;0;-1];

endfunction

//********************************************************

function [novoA,novob]=Gauss(A,b) // Funo do Mtodo de Gauss

linhaIniOper=2; linhaFimOper=n; linhaIniPivot=1; linhaFimPivot=n-1; colunaIni=1; colunaFinal=n;

for k=linhaIniPivot:linhaFimPivot for i=linhaIniOper:linhaFimOper fator=-A(i,k)/A(k,k) for j=colunaIni:colunaFinal A(i,j)=fator*A(k,j)+A(i,j); end b(i,1)=fator*b(k,1)+b(i,1); c=[A b] end linhaIniOper=linhaIniOper+1; end

novoA=A; novob=b;

endfunction

//******************************************************** //Programa Principal

A=leMatrizA() b=leVetorb() [A,b]=Gauss(A,b); Pg. 4 / 4

FACULDADES PARASO CURSO DE SISTEMAS DE INFORMAO


// Implementao da substituio retroativa for i=n:-1:1 x(i)=b(i,1)/A(i,i); for j=i+1:n x(i)=x(i)-(A(i,j)/A(i,i))*x(j); end end

// Imprime soluo do sistema for i=1:n printf(' x(%d) =%3.1f end ',i,x(i));

Pg. 5 / 5

Você também pode gostar