我有三个X/Y点形成抛物线.我只需要计算抛物线的顶点是通过这三个点的.最好快速一点,因为我必须做很多这些计算!
"Ask A Scientist"网站提供了这样的答案:
抛物线的一般形式由下式给出:A*x ^ 2 + B*x + C = y其中A,B和C是任意实常数.你有三对点是(x,y)有序对.将每个点的x和y值替换为抛物线的等式.您将得到三个未知数的三个LINEAR方程,即三个常数.然后,您可以轻松地为A,B和C的值三个方程式求解这个系统,并且您将得到与您的3个点相交的抛物线方程.顶点是一阶导数为0的位置,一个小代数给出了顶点的(-B/2A,C - B ^ 2/4A).
很高兴看到在C#或C++中进行此计算的实际代码.任何人?
在我正在进行的一个项目中,我需要从一组点获得高斯拟合 - 需要进行某些处理的均值和方差,并且可能需要误差度(或准确度水平)来让我弄清楚这组点是否真的具有正态分布。
我发现了这个问题
但它仅限于 3 个点 - 而我需要一个可以处理任意数量点的配合。
我需要的是类似于labview Gaussian Peak Fit
我查看了 mathdotnet 和 aforge.net (在同一个项目中使用两者),但我没有找到任何东西。
有人知道任何 C# 或(易于转换的)C/C++ 或 Java 解决方案吗?
或者,我被告知应该使用迭代算法 - 我可以自己实现它(如果不是太复杂的数学)。关于我可以使用什么有什么想法吗?我读过很多文章(在维基百科和通过谷歌找到的其他文章),但我没有找到任何明确的解决方案。