1
我想在Scala
中編寫一個函數,它將計算具有任意多個變量的函數的偏導數。例如使用任意多個變量計算函數的偏導數的函數
一個變量(常規衍生物):
def partialDerivative(f: Double => Double)(x: Double) = { (f(x+0.001)-f(x))/0.001 }
兩個變量:
def partialDerivative(c: Char, f: (Double, Double) => Double)(x: Double)(y: Double) = {
if (c == 'x') (f(x+0.0001, y)-f(x, y))/0.0001
else if (c == 'y') (f(x, y+0.0001)-f(x, y))/0.0001
}
我想知道是否有寫partialDerivative
的方式,其中的變量數目在f
不需要事先知道。
我讀了一些關於varargs
的博客文章,但似乎無法提供正確的簽名。 這是我試過的。
def func(f: (Double*) => Double)(n: Double*)
但這似乎不正確。感謝您的幫助。