MATLAB曲线拟合(类椭圆)

4

我需要将10个数据点(x,y)拟合到这个方程中:

ay² + bxy + cx + dy + e = x²

据说这是一个类椭圆的方程。我不能使用通常的曲线拟合工具来解决它,因为它不是真正的函数(一个 x 对应 2 个 y)。我也不能使用椭圆曲线拟合,因为椭圆方程中没有 c*xd*y。有什么想法吗?
提前致谢。
编辑:Oil 和 AK4749 都给出了正确的答案!谢谢你们!
2个回答

6

这是一个带变量 [a b c d e] 的线性系统。你可以使用 \ 来解决它:

 x=rand(10,1);
 y=rand(10,1);
 [y.^2,x.*y,x,y,ones(numel(x),1)]\x.^2

ans =

   -0.4437 %% a
    1.1034 %% b
    0.5337 %% c
   -0.2808 %% d
    0.0402 %% e

嗨,我很好奇在这种情况下 '' 是否使用最小二乘法?你知道,10个方程式有5个未知数。 - user1532230
1
@user1532230,是的,它使用最小二乘法。您可以在此处查看文档:http://www.mathworks.fr/fr/help/matlab/ref/mldivide.html - Oli


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接