在循环内用C#动态创建函数

问题描述

我需要找到函数的根,并打算在math.net(https://numerics.mathdotnet.com/api/MathNet.Numerics.RootFinding/NewtonRaphson.htm)中使用Newton Rhapson。

我的问题是我需要针对多个功能执行此操作,并且这些功能是根据输入创建的。作为示例,我将输入一组向量,这些向量的值将用作我要查找其根的函数中的(固定)参数。我想要实现的一些示例代码(但对于子功能的数目不固定)是:

//subfunctions
Func<double,double> f = (vol) => { return capletVega(forwardrates[1],discountingRates[1],maturities[1],strike,vol); };
Func<double,double> f2 = (vol) => { return capletVega(forwardrates[2],discountingRates[2],maturities[2],vol); };
//function to find root of
Func<double,double> ftot = (vol) => { return f(vol)+f2(vol); };
//Newton rhapson
NewtonRaphson.FindRoot(otherFunc,ftot,100)

因此本质上,我想根据输入的矢量forwardrates,discountingRates等动态创建ftot函数

有没有办法做到这一点?我考虑过将所有子功能f,f2等放入向量中,然后在其lambda函数中通过该向量进行ftot循环。有可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)