【问题标题】:MATLAB Curve Fitting (Ellipse-like)MATLAB 曲线拟合(类椭圆)
【发布时间】:2012-10-04 14:46:48
【问题描述】:

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

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

据说这是一个类似椭圆的方程。我不能用通常的曲线拟合工具来做到这一点,因为它并不是一个真正的函数(一个x 对应于 2 个ys)。我也不能使用椭圆曲线拟合,因为椭圆方程中没有 c*xd*y。有什么想法吗?

提前致谢。

编辑: Oil 和 AK4749 都给出了正确答案!谢谢各位!

【问题讨论】:

    标签: matlab curve-fitting


    【解决方案1】:

    这是一个带有变量 [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,是的,它确实使用了最小平方方法。您可以在那里查看文档:mathworks.fr/fr/help/matlab/ref/mldivide.html
    • @Oil,谢谢。太棒了!
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多