我正在使用 Math.net,在我使用集成的其他方法中,我使用的集成函数被定义为 foloows:
public static double IntegrateComposite(
Func<double, double> f,
double intervalBegin,
double intervalEnd,
int numberOfPartitions)
然而,我的调用语法是:
p = IntegrateComposite(
tau => MyFunction(r, tau, appCfg, Ta, Da) * ProbDensity(tau),
lowLim, hiLim, 32)
我的函数最好定义为 Func<double, double, double, double, double, double>
而不是上面的Func<double, double>
,仍然一切正常
为什么?
最佳答案
这是您传入的函数,唯一的输入参数是 tau。
tau => MyFunction(r, tau, appCfg, Ta, Da) * ProbDensity(tau)
其他变量 r、appCfg、Ta、Da
被 closure“关闭”
关于C# Func<> - 寻找解释 - 而不是解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54240852/