Я реализовал метод Ньютона, чтобы найти корни функции.Мне интересно, смогу ли я оптимизировать код, чтобы сделать его более эффективным по времени и пространству и визуально понятным.Здесь я использовал изменяемую переменную, но мне интересно, можем ли мы сделать это без.Вот вопрос и код, который я написал:
open System
let newton (f:(float->float),x0: float,tol:float, dx:float)=
let mutable x=x0
while Math.Abs (f x) >= tol do
//compute derivative
let fderivative = (f x+dx-f x)/dx
x<-x-(f x)/fderivative
x