我正在编程一种方法,以获取两个变量(在一个变量之上)的函数的积分结果。因此,结果是另一个变量的函数。我正在使用一种数值方法来按时间间隔构造结果,因为每个结果我都存储在类型为Func<double, double>
的向量的位置。我想对向量中的所有位置求和,我不知道如何实现Func<double,double>
向量的Sum方法。
有人可以帮助我吗?我们需要类似获得m的东西:
class Program
{
static void Main(string[] args)
{
Func<double, double>[] l = new Func<double, double>[2] {(x) => x, (x) => x +1};
Func<double, double> m = l.Sum<>...;
}
}
最佳答案
你的意思是这样吗?
Func<double, double>[] l = new Func<double, double>[2] {(x) => x, (x) => x + 1};
Func<double, double> m = x => l.Sum(f => f(x));
例如,
m(5)
→l[0](5) + l[1](5)
→(5) + (5 + 1)
→11
。