Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

O Cálculo Numérico e Eletrotécnica

Por:   •  25/12/2018  •  1.121 Palavras (5 Páginas)  •  381 Visualizações

Página 1 de 5

...

Testes

Os testes que deveriam ser realizados, não foram possíveis, devido a erros ocorridos na execução do programa, uma vez que para se medir o tempo e confeccionar o gráfico, e conseqüentemente concluir a eficiência de cada método aplicado se faz necessário o cálculo do mesmo, sabendo que não é possível a realização dos testes se o programa não está rodando.

Conclusão

Depois de realizado todas as partes do programa, e confeccionado todos os métodos de cálculo necessários, devemos citar que o programa esteve sujeito a erros de execução, a não correção dos mesmos não significa que não tentamos.

Ao pesquisar sobre os métodos abordados concluímos que os métodos iterativos, bastante comum de se encontrar sistemas lineares que envolvem uma grande porcentagem de coeficientes nulos, têm menos erros de arredondamento, quando a convergência estiver assegurada, já nos métodos diretos fizemos do pivoteamento parcial para amenizar tais erros.

Referências

Pina, H., Mc Graw-Hill, (1995) Métodos Numéricos Lisboa.

http://pt.wikipedia.org/wiki/M%C3%A9todo_de_n%C3%B3s

http://ssdi.di.fct.unl.pt/pce/primer.html

Anexos

/*Entrada de dados,formação da matriz M, verifica-se erro no momento da execução do programa*/

function[m] = circuitos (m)

m(1,1) = input("Digite o valor dos nos: ");

m(1,2) = input("Digite o valor dos ramos: ");

m(1,3) = input("Digite o valor da tensao na fonte: ");

m(2,1) = input("Digite o valor do no terra: ");

m(2,2) = input("Digite o valor do no onde esta ligada a fonte: ");

m(2,3) = 0;

for i=3 : m(1,2)+2 /* A matriz passa a ser definida a ordem pela quantidade de ramos mais duas linhas, que já estão fixadas*/

m(i,1) = input("Digite o numero do no de origem: ");

m(i,2) = input("Digite o numero do no de destino: ");

m(i,3) = input("Digite o valor da resistencia: ");

end

end

/*Considerando que o programa não esteja executando, fixamos uma matriz M, exemplo dado pelo professor*/

function[coefic,t, corr]= valor[dados,n,no_orig,no_dest,resist]

t = time;

dados = [5 6 12;4 0 0;0 1 1;1 2 4;1 4 2;2 4 6;2 3 8;3 4 10]

coefic = zeros(n, n); /*Formação da Matriz Admitância, entrada de zeros*/

for i = 3 : dados(1, 2) + 2

no_orig = dados(i, 1);

no_dest = dados(i, 2);

resist = dados(i, 3);

if no_orig == dados(2, 1) || no_orig == dados(2, 2)

coefic(no_dest,no_dest) = coefic(no_dest,no_dest) + 1 / resist;

else

if no_dest == dados(2, 1) || no_dest == dados(2, 2)

coefic(no_orig,no_orig) = coefic(no_orig,no_orig) + 1 / resist;

else

coefic(no_dest,no_dest) = coefic(no_dest,no_dest) + 1 / resist;

coefic(no_orig,no_orig) = coefic(no_orig,no_orig) + 1 / resist;

coefic(no_orig,no_dest) = coefic(no_orig,no_dest) - 1 / resist;

coefic(no_dest,no_orig) = coefic(no_dest,no_orig) - 1 / resist;

end

end

corr=zeros(n,1); /* Formação da matriz corrente*/

corr(1)=m(1,3)/m(3,3);

t = time - t;

end

end

/* Encontrar a tensão mediante a eliminação de gauss, método direto*/

function [v,t] = elim_gauss(coefic,corr,col)

t = time;

coefic(:,length(coefic(1,:))+1)=corr';

for i=1:length(coefic(:,1))-1

for k=i+1:length(coefic(:,1))

mult=coefic(k,i)/coefic(i,i);

for j=1:length(coefic(1,:))

coefic(k,j)=coefic(k,j)-mult*coefic(i,j);

end

end

end

col=length(coefic(1,:));

for i=length(coefic(:,1)):-1:1

coefic(i,col)=coefic(i,col)/coefic(i,i);

for j=1:i-1

coefic(j,col)=coefic(j,col)-coefic(i,col)*coefic(j,i);

end

end

v=coefic(:,col);

t = time - t;

return;

endfunction

/*Encontrar a tensão mediante o método de gauss-seidel, iterativo*/

function [x] = g_seidel(coefic,corr,k,e,m)

var=1;

v=k;

for

...

Baixar como  txt (8.8 Kb)   pdf (56.8 Kb)   docx (17.3 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no Essays.club