Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数的非线性逼近(c#.net和数学)_C#_Math_Regression - Fatal编程技术网

函数的非线性逼近(c#.net和数学)

函数的非线性逼近(c#.net和数学),c#,math,regression,C#,Math,Regression,我有一个函数的形式是y=a/(a-(x+b))和几个数据{x,y}。 我需要用这些数据来近似a和b,所以可能是非线性回归 我如何才能做到这一点,并可能在C#中实现它 谢谢你的回答。 巴斯蒂安非线性回归可能很困难。如果您知道如何进行线性回归,您可以将函数/数据转换为线性回归问题。在您的情况下,如果您定义一个新变量z=1/y,那么您的问题将是: 找到一条方程a+b-x=a z最适合数据集{(x0,z0=1/y0),(x1,z1=1/y1),…}非线性回归可能很困难。如果您知道如何进行线性回归,您可以

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

我如何才能做到这一点,并可能在C#中实现它

谢谢你的回答。
巴斯蒂安

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


找到一条方程
a+b-x=a z
最适合数据集
{(x0,z0=1/y0),(x1,z1=1/y1),…}
非线性回归可能很困难。如果您知道如何进行线性回归,您可以将函数/数据转换为线性回归问题。在您的情况下,如果您定义一个新变量
z=1/y
,那么您的问题将是:


找一行方程
a+b-x=Az
最适合数据集
{(x0,z0=1/y0),(x1,z1=1/y1),…}

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