Подгонка эллипса к данным с помощью gnuplot

Oct 05 2020

Мне нужно построить график эквипотенциальных линий между двумя электродами на основе данных, собранных в лаборатории с помощью мультиметра, у меня есть набор координат (x, y), разделенных на измеренное в них напряжение.

Очки с напряжением 3,07 В

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 В

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

Я попытался написать многоточие в параметрической форме и использовать команду «подогнать», чтобы подогнать под эллипс, но результаты ужасны.

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'
    

Но получил еще худшие результаты, кто-нибудь знает, что еще мне попробовать?

Ответы

JJacquelin Oct 05 2020 at 18:22

Легко понять, почему у вас плохие результаты. Например, рассмотрим первые данные (случай 3.07V):

Точки не близки к эллипсу, но находятся на гиперболе. Любой метод подгонки приводит к плохому результату, если хочется подогнать эллипс к гиперболе, даже приблизительно.

Если физические явления однозначно подразумевают, что кривая является эллипсом, конечно, можно подобрать эллипс к данным. Но не удивляйтесь большому отклонению экспериментальных точек от эллипса. Придется принять это или повторить попытку с более точными и более многочисленными измерениями.

Для информации:

Использованный выше метод подгонки действителен для эллипса, гиперболы и параболы. Он действителен для любого количества баллов (более четырех). Это позволяет увидеть, какая из этих кривых лучше всего подходит. См. Страницу 16 вhttps://fr.scribd.com/doc/14819165/Regressions-coniques-quadriques-circulaire-spherique. Приведенные выше обозначения согласуются с обозначениями в этой статье.