如何在scala中使用流来定义割线方法?寻根计算

时间:2017-10-22 14:24:50

标签: scala functional-programming square-root

我真的需要一些帮助来定义Scala中的割线方法。它必须由两个函数构建,其中第一个函数签名

val secantStream:(Double, Double, Double => Double)=>Stream[Double]

然后,定义另一个给定流的函数,使用第一个函数secantStream计算, 返回第一个xn,使得对于给定的'e',它满足 xn -x1 < e

这是一个收敛标准。 第二个函数有四个参数,x0x1,一个带签名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中使用流吗?

0 个答案:

没有答案