【问题标题】:Non linear approximation of function (c# .net and Math) [duplicate]函数的非线性逼近(c#.net和Math)[重复]
【发布时间】:2017-11-10 15:22:48
【问题描述】:

我有一个y = a/(a-(x+b)) 表格上的函数和几个数据{x, y}。 我需要使用这些数据来近似 a 和 b,所以可能是非线性回归。

我怎样才能做到这一点,并可能在 C# 中实现它?

感谢您的回答。 巴斯蒂安

【问题讨论】:

  • 如果你不能用代数或几何方法解决这个问题:要么你做O(n^2)蛮力搜索,要么a,b单调依赖y和x,那么你可以使用二进制搜索O(log^2(n)) 但对于任意近似值,您可以使用我链接的重复 QA 中的答案(请参阅其中的示例)。
  • 为什么你不能做一个最小二乘拟合来近似这个函数?您需要准确到什么程度?共轭梯度解决方案将助您一臂之力。您的范围必须排除点 x = (a-b);那里是单数的。
  • Math.Net 有一些线性回归的东西可能会对你有所帮助。

标签: c# math regression


【解决方案1】:

非线性回归可能很难。如果您知道如何进行线性回归,则可以将函数/数据转换为线性回归问题,在您的情况下,如果您定义一个新变量z=1/y,那么您的问题将是:

找到最适合数据集{(x0, z0=1/y0), (x1, z1=1/y1), ...}的方程a + b - x = a z的直线

【讨论】:

  • 谢谢你,这绝对是我要做的!
猜你喜欢
  • 2017-04-01
  • 2017-03-22
  • 2021-07-11
  • 1970-01-01
  • 2010-12-25
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 2018-07-23
相关资源
最近更新 更多