luizsci42 / analise_numerica

Alguns algoritmos utilizados na matéria Cálculo Numérico
0 stars 0 forks source link

Implementar as funções em Linguagem Funcional #3

Open luizsci42 opened 1 year ago

luizsci42 commented 1 year ago

O uso de programação funcional parece bem propício às funções recursivas. O desempenho seria melhor aproveitao com o uso de uma linguagem funcional.

luizsci42 commented 1 year ago

Primeira tentativa de implementar a bissecção em Haskell. Verificações adicionais ainda devem ser realizadas

funcao :: Float -> Float
funcao x = x^3 - 9*x + 3

bisseccao :: Float -> Float -> Float -> Float
bisseccao a b erro
    | (b - a) < erro = (b + a) / 2
    | (funcao ((a + b) / 2) * funcao a) < 0 = bisseccao a ((a + b) / 2) erro
    | (funcao ((a + b) / 2) * funcao b) < 0 = bisseccao ((a + b) / 2) b erro
    | otherwise = ((a + b) / 2)

main :: IO()
main = print (bisseccao 2.0 3.0 0.0001)