我需要适应10个数据点(x,y
)这个公式:MATLAB曲线拟合(椭圆形)
ay² + bxy + cx + dy + e = x²
它告诉我,这是一个椭圆状的方程。我不能用通常的曲线拟合工具来做,因为它不是一个真正的功能(一个x
对应于2 y
s)。我不能使用椭圆曲线拟合,因为椭圆方程中没有c*x
和d*y
。有任何想法吗?
在此先感谢。
编辑:油和AK4749都给出正确的答案!感谢你们!
我需要适应10个数据点(x,y
)这个公式:MATLAB曲线拟合(椭圆形)
ay² + bxy + cx + dy + e = x²
它告诉我,这是一个椭圆状的方程。我不能用通常的曲线拟合工具来做,因为它不是一个真正的功能(一个x
对应于2 y
s)。我不能使用椭圆曲线拟合,因为椭圆方程中没有c*x
和d*y
。有任何想法吗?
在此先感谢。
编辑:油和AK4749都给出正确的答案!感谢你们!
它与变量[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
@ user1532230,是的,它确实使用最小二乘法。你可以看到那里的文档:http://www.mathworks.fr/fr/help/matlab/ref/mldivide.html – Oli
@油,谢谢。棒极了! – user1532230