Pesquise no PCFórum - Digite sua dúvida aqui
Bem-vindo, Visitante. Por favor efetue Login ou Registre-se
PCFORUM.com.br

    
Notícias:
  Home Fórum Notícias Anuncie AjudaLoginCadastre-se  
 

raízes de polinômio (Lido 10343 vezes)   
eduardofrozza


Offline

Somos todos um pouco
macacos

Postagens: 60

raízes de polinômio
25.09.2002 às 13:31:43
 
Alguém aí conhece algum algoritmo para encontrar todas as raízes de um polinômio de grau 3?
Voltar ao topo
 
 
Visualizar Perfil   IP registrado
PCRobô
Divulgador

Online

PCFórum, o mais completo fórum de informática do Brasil!

Postagens: 99999999
Brasil
Gênero: male
Anúncios

Voltar ao topo
Email Visualizar Perfil IP registrado
Rodrigo Caldeira - Lysi Logik


Offline

Pra relaxar, só
tomando uma
gelada...

Postagens: 1050
São Paulo
Re: raízes de polinômio
Resposta #1 - 26.09.2002 às 15:04:43
 
Primeiro....

como c faz pra achar as raízes de um polinômio de grau 3???????
Voltar ao topo
 
 
Visualizar Perfil WWW 74010618 rodrigocaldeiralima@hotmail.co   IP registrado
eduardofrozza


Offline

Somos todos um pouco
macacos

Postagens: 60

Re: raízes de polinômio
Resposta #2 - 27.09.2002 às 18:34:16
 
Não é tão fácil quanto usar a equação de Báskara.
Eu já resolvi o meu problema (usando uma planilha do Mathcad). Existe também uma forma geométrica, que é mais ou menos como a equação de Báskara, só que um pouco mais compridinha. O problema é que essa forma não permite encontrar as raízes complexas.
O jeito mais fácil é por cálculo numérico. O problema é que por cálculo numérico você cai em uma das raízes, e o que eu precisava era de um algoritmo que me desse TODAS as raízes. É o que faz o Mathcad.
Voltar ao topo
 
 
Visualizar Perfil   IP registrado
felipecsl


Offline

GD Inc. SK8 na veia

Postagens: 264
Porto Alegre
Re: raízes de polinômio
Resposta #3 - 27.09.2002 às 18:37:32
 
eu naum to lembrado como se acha as raízes de polinômio de 3º grau. Mas sabendo, dá pra fazer algebricamente.
faloww
Voltar ao topo
 
 
Visualizar Perfil WWW 70756363   IP registrado
Rodrigo Caldeira - Lysi Logik


Offline

Pra relaxar, só
tomando uma
gelada...

Postagens: 1050
São Paulo
Re: raízes de polinômio
Resposta #4 - 30.09.2002 às 17:56:18
 
manda uma solução d como achar as raízes que o algoritmo dps eh baba!!!
Voltar ao topo
 
 
Visualizar Perfil WWW 74010618 rodrigocaldeiralima@hotmail.co   IP registrado
PCRobô
Divulgador

Online

PCFórum, o mais completo fórum de informática do Brasil!

Postagens: 99999999
Brasil
Gênero: male
Anúncios

Voltar ao topo
Email Visualizar Perfil IP registrado
eduardofrozza


Offline

Somos todos um pouco
macacos

Postagens: 60

Re: raízes de polinômio
Resposta #5 - 01.10.2002 às 01:51:17
 
Esse problema eu já resolvi, inclusive o código em C do método analítico não teve problemas. O que eu queria era um método numérico, que pudesse ser aplicado para polinômios de grau n.
Voltar ao topo
 
 
Visualizar Perfil   IP registrado
cyberkunish


Offline

O que é Bob Esponja!

Postagens: 320

Re: raízes de polinômio
Resposta #6 - 04.12.2003 às 22:28:41
 
Para achar a solução de um polinômio qualquer e principalmente de 3º grau ou superior vc pode usar o Método de Newton, mas só irá conseguir encontrar as raízes reais da função.
O Método Newton é um método interativo onde vc joga um valor para encontrar um novo e esse novo valor encontrado é usado para encontrar um mais novo valor, isso é feito até que a difrença entre um valor velho e um o novo seja muito pequena (n~= n-1).
Para saber utilizar vc tem que saber DERIVADA (método matemático visto em Cálculo I nas universidades). Para representar a função utilizarei a variável "f" e para utilizar a derivada da função "df". E o método fica assim:
 Xn+1= Xn - f/df
Colocarei aqui um exemplo para ficar melhor ilustrado:

printf("Digite um chute:");
scanf("%f",&a);
marcador=0;
do{
b=a - (3*pow(a,3)+5*pow(a,2)+a+1)/(9*pow(a,2)+10*a+1);
if(Abs(a-b)<=1*pow10(-5))
 marcador=1;
else
 a=b;
}while(marcador==0)

Comentário:
A função ( f que é igual a 3*pow(a,3)+5*pow(a,2)+a+1) e sua derivada (df que é igual a 9*pow(a,2)+10*a+1) estão em função do valor que é chutado (a , que pode ser qualquer valor). O valor b será o novo valor que só será a raiz se e somente se o módulo da diferença entre a e b for muito pequeno ( no caso menor ou igual a 0,00001, mas isso fica a cargo do programador e quanto menor esse número, maior será a precisão), se não for pequena o valor calculado será o velho e será utilizado para calcular um novo valor. Não sei se nesse exemplo tem raízes reais, mas vc pode jogar qualquer função que seja igualada a 0 (f=0). Caso seu comp passe mais de 1 minuto para dar a resposta é pq só existe raízes imaginárias, então aperte ESC.

Falow galera e se precisar tento ajudar
Voltar ao topo
 
 
Visualizar Perfil   IP registrado



Visite nossa página inicial e veja mais dicas e conteúdos! Clique aqui!!