sexta-feira, 28 de fevereiro de 2020

Zeros de funções reais parte 2

Método das aproximações sucessivas (Método do ponto fixo)
Uma das limitações do método da bissecção é não conseguir localizar raizes em que não há troca de sinal,
Então a idéia desse método é: seja x uma raiz isolada no intervalo [a,b] e f(x)=0 temos que encontrar uma função phi tal que x seja um ponto fixo dessa função, ou seja phi(x) = x.
Portanto o problema de se encontrar uma raiz de uma função é agora encontrar o ponto fixo de phi.
Construímos a função phi através de manipulações algébricas da função inicial.
Se x é um zero de f então x é um ponto fixo de phi e assim o método iterativo para a obtenção das aproximações para a raiz é:
Critérios de convergência
Seja x uma raiz da equação f(x) = , isolada em um intervalo I = [a,b] e phi(x) uma função de iteração para f(x) se:
1) phi(x) e phi´(x) são continuas em I
2) a raiz x pertença ao intervalo I

Método de Newton-Raphson (método das tangentes)

No método do ponto fixo precisamos encontrar a função phi que garanta os critérios de convergência, O método de Newton-Raphson fornece a melhor função phi que garante o método das aproximações sucessivas, então seja f continuo em [a,b], a função que determina phi é dada por:
E o processo iterativo será:
Esse método é chamado de método das tangentes porque ele e determinado pelo ponto que a tangente do ponto xk intersecta com o eixo x.

Critérios de convergência:
Seja o intervalo [a,b] 
1) f(a)*f(b)<0
2)f´(x) deve ser diferente de zero em todo o intervalo
3) f´(x) não pode trocar de sinal dentro do intervalo


Fonte:
Aulas de T2CNU no instituto federal de São Paulo IFSP no período de 01/2019 até 07/2019

quarta-feira, 26 de fevereiro de 2020

Zeros de funções reais parte 1

Em uma função real f(x) um zero é o valor de x que faz com que f(x) = 0, em muitas ocasiões teremos que operar com equações que não serão tão simples de se obter os zeros através de métodos algébricos que nos retornariam um valor exato, por isso podemos encontrar o zero de tais funções através de métodos numéricos, esses métodos nos darão como resposta não um valor exato mas um intervalo e o zero estará dentro desse intervalo de números, vale ressaltar que métodos numéricos não tem como resposta aproximações apenas.
Esses métodos são s métodos iterativos, a ideia central deles é, a partir de um chute inicial repete-se o método para refinar o valor do chute inicial, até o intervalo for menor do que um erro tido como aceitável. Para encontrar os zeros o primeiro passo será:

1.Isolamento das raízes
Numericamente não poderemos encontrar a raiz da função simplesmente por igualar a função a zero, devemos fazer uma análise teórica e gráfica da função, essa analise seguirá a seguinte regra:

Teorema de Bolzano
Considerando  
 
Uma função real e continua no intervalo [a,b] no caso do produto de f(a)*f(b) for menor do que 0 então há ao menos um valor de x* que faz com que f(x*) = 0, mas apenas isso não é o suficiente, usaremos também o resultado de f´(x), a derivada da função, no caso dessa derivada mantiver o sinal constante durante o intervalo e o produto de f(a)*f(b) for menor do que zero então nesse caso podemos dizer que há um zero no intervalo estudado.
Utilizando como exemplo a função

 

Por ser um polinômio de grau 3 já sabemos que ele possui no máximo 3 raizes então faremos uma tabela para analizar o sinal e  localizar as raizes.:
 
Nessa tabela estamos apenas interessados no sinal e não no valor especifico da função, por ela já podemos dizer que as raizes da função f(x) se localizam nos intervalos [-5,-3]. [0.1] e [2,3], no caso de funções mais complexas também analizamos a derivada mas nesse caso não foi necessário fazer isso, a partir desse ponto fazemos o refinamento dos nossos intervalos.

Métodos gráficos
Esse método já é um pouco mais intuitivo, primeiro deve-se plotar o gráfico da função f(x) e então poder=a se visualizar o ponto em que a função corta o eixo das abcissas para determinar o intervalo por exemplo considere o gráfico da função: f(x) = x^2-3*x+2, embora saibamos encontrar as raizes dessa função algébricamente, vamos usar métodos numéricos para tentar encontra-las.
 
Com isso podemos dizer que uma das raízes está presente no intervalo x1=[0,5 ; 1,5], e a outra raiz está em x2=  [1,5 ; 2,5]. então a partir dessa aproximação inicial podemos refinar a nossa resposta.

 
2.Refinamento

Nessa fase utilizaremos métodos iterativos para encontrar uma solução aproximada, vamos determinar alguns critérios primeiro para assegurar (ou não) a convergencia, estes critérios serão os nossos critérios de parada.

Critérios de parada
Considerando um erro aceitável denominado por E
1)                                               
   
 Caso a diferença entre o resultado da iteração anterior e a iteração atual seja menor do que o erro adotado então esse critério de parada foi atendido.

2)
 
Caso o valor da função para o resultado da função seja menor que o erro, esse critério de parada também é válido.

3) O número de iterações
Como todos os métodos nos darão apenas aproximações esse critério serve para ter um simples limite de quanto tempo usaremos na procura de cada resultado.

 Método da bissecção
Esse método consiste em dividir o intervalo inicial em dois e verificar onde está a raiz, então por continuar subdividindo em parcelas cada vez menores alcançaremos um resultado aceitavel exemplo considerando a função f(x) = x^2-3*x+2
  
Vamos considerar os intervalos como sendo x1=[0,8 ; 1,5]  e x2=[1,5 ; 2,5], o erro aceitável será de E=0,1 vamos construir os processos de iteração em uma tabela:

Note que as extremidades do intervalo sempre devem ter sinais diferentes  e com o erro admitido poderíamos parar na segunda iteração mas se adotássemos o intervalo como sendo x2=[1,5 ; 2,5]


Nesse caso por coincidência achamos a raiz na primeira iteração então podemos interromper o método aqui.

O  pré requisitos para o uso do método da bissecção é que:
  • f(x) seja contínua no intervalo [a, b]
  • o produto f(a)*f(b)<0, ou seja deve haver troca de sinal na raiz da função
Fonte:
Aulas de T2CNU no instituto federal de São Paulo IFSP no período de 01/2019 até 07/2019


domingo, 23 de fevereiro de 2020

Métodos Iterativos para a resolução de Sistemas Lineares parte 2

Além do método de Gauss-Jacobi visto anteriormente na parte 1 (link:  https://socorroparap2.blogspot.com/2020/02/metodos-iterativos-para-resolucao-de.html)  há também outro método, O método de Gauss-Seidel

Método iterativo de Gauss-Seidel (MG-S)

Esse método é muito semelhante ao método anterior de Gauss Jacobi, inclusive utiliza as mesmas equações de iteração, obtidas por se isolar algebricamente a variável de interesse no sistema, a diferença é que para a execução do método as variáveis utilizadas serão sempre as mais atualizadas, então ao invés de utilizar todas as variáveis da iteração anterior em todas as equações, a primeira equação será com os resultados da iteração antiga, a segunda equação será uma da iteração atual e outra da antiga exemplificado do seguinte modo, o sistema linear dado por:
 
Esse sistema terá as seguintes equações de iteração:
 
 Podemos ver que no caso da segunda equação aparecem resultados da iteração anterior e da iteração atual, por isso para o método ser bem realizado é importante que as equações sejam resolvidas na ordem de cima para baixo, assim não haverá o risco de por uma confusão utilizarmos o valor errado para a equação.
Vale notar que por utilizar sempre a variável mais atualizada, o Método de Gauss-Seidel converge para a resposta de maneira mais rápida do que o método de Gauss-Jacobi.
Assim como o método de Gauss-Jacobi dependia do critério das linhas para verificarmos se o sistema converge para a solução ou não, existe um método especifico para verificar a convergência  do método de  Gauss-Seidel para o sistema:

Critério de Sassenfeld

Para o método convergir para o resultado independente do valor do chute inicial é importante não apenas a matriz dos coeficientes ser diagonalmente dominante, mas a soma dos módulos dos outros elementos não pode ser maiores que o módulo do elemento na diagonal principal,veja o exemplo para o sistema teórico abaixo: 
 
A aplicação do critério de sassenfeld resultaria nos seguintes valores:
 
O método de Gauss-Seidel irá convergir para a resposta se todos os valores de beta forem menores do que 1, se algum dos valores de beta for igual ou maior que um o método não irá convergir, quanto menor o valor de beta mais rápido o sistema converge, isto é,  serão necessárias menos iterações para os critérios de parada serem satisfeitos, os critérios de parada desse método são os mesmos já vistos no método de Gauss-Jacobi

Fonte:
Aulas de T2CNU no Instituto Federal de São Paulo IFSP no período de 01/2019 até 07/2019

sábado, 22 de fevereiro de 2020

Métodos Iterativos para a resolução de Sistemas Lineares parte 1

Esses métodos não chegam em m valor determinado eles vão formar soluções do tipo S1, S2, S3... que a cada iteração se aproximam mais do valor de solução do sistemas nunca o valor exato, é um método que permite boas aproximações mas não uma solução definitiva, para aplicar esses métodos serão utilizados alguns critérios de parada que veremos mais adiante.

Método de Gauss-Jacobi (MG-J)

Para esse método vamos transformar as equações do sistema em uma equação de iteração então a partir de um chute inicial vamos obtendo novos valores até os critérios de parada serem satisfeitos.
Então seja o sistema:
 
As equações de iteração são obtidas por se isolar algebricamente a variável desejada em cada equação, as equações de iteração desse sistema terão a seguinte forma :

 Dessas equações podemos tirar que o valor de cada variável calculada  para a nova iteração serão dependentes dos valores da iteração anterior, por isso é necessário ter o chute inicial, quanto mais próximo o chute estiver do resultado melhores serão os resultados das equações de iteração porém nem todo sistema converge para o resultado através do método de Gauss-Jacobi para saber se o sistema converge devemos prestar atenção ao:

Critério das linhas

Esse critério e descrito pela seguinte fórmula:
 
Para o método convergir o valor de alfa deve ser menor do que 1, ou seja a variável que tentamos encontrar em cada equação deve ter o seu multiplicador de módulo igual ou maior aos das outras variáveis, por esse método o sistema utilizado como exemplo não converge;em outros casos em que o critério das linhas não seja satisfeitopodemos trocar duas linhas de lugar para tentar executa-lo.

Critérios de parada

O método de Gauss-Jacobi deve ser repetido até que um dos dois critérios seja satisfeito:
  1. O número de iterações atinja determinado patamar;
  2. A diferença entre o resultado da iteração atual e o resultado da iteração anteror seja meno do que um erro pré estabelecido E.

Fonte:
Aulas de T2CNU no Instituto Federal de São Paulo IFSP no período de 01/2019 até 07/2019

quinta-feira, 20 de fevereiro de 2020

Métodos diretos para a resolução de sistemas lineares

Os métodos diretos para a resolução de sistemas lineares são todos os métodos ensinados no ensino básico, a regra de Cramer e o método da substituição direta.

Método de Cramer

Esse método consiste em calcular-se n+1 determinantes, sendo n  o numero de linhas do sistema. Esse método de resolução funciona, mas para sistemas maiores do que 2x2 o número de cálculos necessário se torna muito grande por isso essemétodo não é interessante de ser usado para a resolução de sistemas.

Métodos Diretos 

Os métodos diretos são os métodos mais simples para se chegar au resultado exato do sistema de equações

Método da eliminação de Gauss (Método do escalonamento)

Esse método iremos utilizar a matriz expandida do sistema e serão possíveis realizar três operações
  1. Trocar duas linhas de lugar;
  2. Multiplicar uma linha por um número real diferente de 0;
  3. Adicionar uma linha à um múltiplo de outra linha;
Com essas operações a parte da matriz expandida que corresponde à matriz dos coeficientes deverá se tornar uma matriz triangular superior, ou seja abaixo da diagonal principal todos os números deverão ser iguais a 0 então os resultdos serão obtidos na coluna determinada pelo vetor das constantes, da seguinte maneira, para simplificar as contas torne a matriz diagonalmente dominante, ou seja a diagonal principal deve conter os valores com os maiores módulos possíveis, acompanhe o seguinte exemplo:

 
A partir desse sistema vamos escrever a matriz expandida:
 Analisando a a matriz já vemos que ela é diagonalmente dominante entõ não será necessário alterar  a ordem em que as linhas estão escritas agora então para fazer o escalonamento vamos tornar todos os elemento da primeira coluna que estão abaixo do 3 em 0 para isso usaremos a primeira linha que será dividida pelo seu interante da primeira coluna para obtermos 1 e multiplicada pelo primeiro integrante de cada coluna para zerarmos esses membros seguindo as seguinte fórmulas:
 
A substituição das linhas da matriz expandida pelos resultados obtidos nas fórmulas será:
 
Então vamos apenas eliminar o integrante abaixo da diagonal principal na terceira linha faremos isso com a seguinte fórmula 
 
Atualizando novamente  a matriz teremos:
 
então com a matriz triangular superior podemos primeiro descobrir o valor de z por dividir o resultado no vetor das constantes da teerceira linha pelo valor de z na terceira linha.
Depois para o valor de y  substituímos na segunda linha o valor de z obtido fazemos as iversões algébricas e obtemos o valor de y.
Para obter o valr de x fazemos o mesmo procedimento anterior substituindo os valores de y e z.
O resultado desse sistema será: x=1, y=1 e z=1

Fonte:
Aulas de T2CNU  no Instituto Federal de São Paulo, IFSP,  no período de 01/2019 até 07/2019