如何解决在循环内用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 举报,一经查实,本站将立刻删除。