【问题标题】:Fitting ellipse to data using gnuplot使用 gnuplot 将椭圆拟合到数据中
【发布时间】:2023-03-10 13:42:01
【问题描述】:

我需要根据在实验室使用万用表收集的数据绘制两个电极之间的等电位线图,我有一组 (x,y) 坐标除以其中测量的电压。

3,07 V 点

2.0   0.0
2.3   2.0
3.1   3.9
2.3  -2.0
3.1  -4.0

3,93 v 点

0.0   0.0
0.1   1.9
0.2   2.9
0.1  -1.0
0.2  -2.0

4,98 V 点

-2.0   0.0
-2.3   2.0
-2.4   2.9
-2.3  -2.0
-2.5  -3.0

我曾尝试将省略号写成参数形式,并使用“fit”命令来拟合椭圆,但结果很糟糕。

set grid

set parametric
set trange [0:2*pi]

fx(t)=a*cos(t)+k
fy(t)=b*sin(t)+h
 
fit fx(t) '3,07.txt' via a,k
fit fy(t) '3,07.txt' via b,h

plot fx(t),fy(t) notitle ls 7, '3,07.txt' notitle 

我认为这与“拟合”算法如何使用最小二乘法有关,因为它接近 y 而不是 x。我说的对吗?

我也尝试用它的一般方程来拟合椭圆。

set grid

f(x, y) = x*x + c1*y*y + d1*x + e1*y + f1
fit f(x, y) '3,07.txt' u 1:2:(0) via ,c1,d1,e1,f1

set contour 
set view map 
unset surface 
set cntrparam levels discrete 0
set isosamples 1000,1000

set table 'contour 1.txt'
splot f(x, y)

set xr [-60:60]
set yr [-60:60]

unset table
unset contour

plot \
    'contour 1.txt'  lw 2 lc rgb 'red', \
    '3,07.txt'  w p ps 1.5 lc rgb 'black'
    

但结果更糟,有人知道我还应该尝试什么吗?

【问题讨论】:

    标签: gnuplot ellipse data-fitting


    【解决方案1】:

    很容易理解为什么你得到了不好的结果。例如考虑第一个数据(案例 3.07V):

    这些点不接近椭圆,但它们在双曲线上。 任何拟合方法如果想要将椭圆拟合到双曲线,即使是近似拟合,都会导致糟糕的结果。

    如果物理现象明确暗示曲线是椭圆,当然可以将椭圆拟合到数据中。但不要对实验点和椭圆之间的大偏差感到惊讶。人们必须接受它,或者用更准确和更多的测量值再试一次。

    有关信息:

    上面使用的fittig方法适用于椭圆、双曲线和抛物线。它适用于任意数量的点(超过四个)。这允许查看这些曲线中的哪一条曲线便于最佳拟合。请参阅https://fr.scribd.com/doc/14819165/Regressions-coniques-quadriques-circulaire-spherique 中的第 16 页。以上记号与本文的记号一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-03
      • 2015-07-13
      • 1970-01-01
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      相关资源
      最近更新 更多