我有一个数值分析程序,为简单起见计算类似于:
y = ax^3 + bx^2 + cx + d;
我在运行时计算 a,b,c,d 的值,并希望将以下等价物作为 a 传递Func<double, double>
。我可以在哪里为 X 设置一个值,然后得到 Y。
y = 12x^3 + 13x^2 + 14x + 15;
其中 12,13,14,15 是运行时计算的数字。
我意识到这可以通过传入一个双数组来完成,如下所示:Func<double[], double>
但我试图避免传递常量(可能很多)。
有没有办法在运行时在 func 中设置这些数字?
(最好不要让 Func<> 本身的 a,b,c,d 部分的计算?a,b,c,d 的计算是工作的 80%)
例如:
a = ...
b = ...
c = ...
Func<x, double> {
((const)a) * x^3 + ((const)b) * x^2 + ((const)c) * x + 15;
}`
对于 ABCD 的每次评估 - 我将评估 10 个 x。