Algoritmo do método de Newton
Publicado por Rafael Henrique da Silva Correia 02/05/2008
[ Hits: 31.889 ]
Homepage: http://abraseucodigo.com.br
Script para achar 0 em funções reais!! Em termos computacionais o método de Newton é o mais eficaz para fazer isso, pois é o que usa menos iterações possíveis!
OBS: O código ainda não lê funções digitadas, por isso mude a função Fxnovo e Fdxnovo para as funções que você desejar, lembrando que Fdxnovo é a derivada de Fxnovo e a função colocada no exemplo é a função F(x)=x^3-9*x+3
#include <stdio.h> #include <stdlib.h> float Abs( float x ){ x = ( x * x ) / -(x); return x; }; int main(){ float solucao = 0., xini = 0., xnovo = 0., Fxnovo = 0., Fdxnovo = 0., E = 0.;// Fdxini = derivada de Fxini int k = 0; printf( "Digite o x inicial: " ); scanf( "%f", &xnovo ); printf( "Digite a precisao: " ); scanf( "%f", &E ); do{ xini = xnovo; Fxnovo = ( xini * xini * xini ) - 9. * xini + 3.; //inserir sua função principal aqui Fdxnovo = 3. * ( xini * xini ) - 9.; //inserir a derivada da função principal aqui xnovo = xini - ( Fxnovo / Fdxnovo ); k += 1; printf( "\niteracao = %d", k ); printf( "\nxini = %f\nxnovo = %f", xini, xnovo ); } while( Abs( xnovo - xini ) >= E || Abs( Fxnovo ) >= E ); printf( "\n\nxnovo - xini = %f\n", xnovo - xini); printf( "A solucao final eh: %f\n", xnovo ); return 0; }
Retorna o tempo ocioso em uma sessão do X
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Os navegadores "leves" que de leves não tem nada
Liberte-se: Crie um Servidor Proxy na Nuvem para Acessar Conteúdos Bloqueados
Fedora Kinoite 40 — Instalação de drivers NVIDIA e Xorg
Deixando o Opensuse Tumbleweed com KDE bonitão
Estrutura de recuo PHP/Apache para não acessarem arquivos pela URI (barra de endereços)
Escanear a rede com NBTSCAN para descobrir IPs e nomes de computadores
Como instalar ou remover ambientes gráficos facilmente no openSUSE