我真的需要一些帮助来定义Scala中的割线方法。它必须由两个函数构建,其中第一个函数签名
val secantStream:(Double, Double, Double => Double)=>Stream[Double]
然后,定义另一个给定流的函数,使用第一个函数secantStream计算,
返回第一个xn,使得对于给定的'e',它满足
xn -x1 < e
。
这是一个收敛标准。
第二个函数有四个参数,x0
,x1
,一个带签名Double => Double
的函数和一个值 e 。
然后,为了计算8的平方根(即找到函数的零:f(x) = x^2 - 8)
,我们可以使用以下代码:
val f2m8 : (Double => Double) = (x) => { x*x - 8.0 }
secantMethod(0,10,f2m8,0.00001)
任何人都可以通过割线方法展示如何在scala中使用流吗?