Подгонка эллипса к данным с помощью gnuplot
Мне нужно построить график эквипотенциальных линий между двумя электродами на основе данных, собранных в лаборатории с помощью мультиметра, у меня есть набор координат (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'
Но получил еще худшие результаты, кто-нибудь знает, что еще мне попробовать?
Ответы
Легко понять, почему у вас плохие результаты. Например, рассмотрим первые данные (случай 3.07V):
Точки не близки к эллипсу, но находятся на гиперболе. Любой метод подгонки приводит к плохому результату, если хочется подогнать эллипс к гиперболе, даже приблизительно.
Если физические явления однозначно подразумевают, что кривая является эллипсом, конечно, можно подобрать эллипс к данным. Но не удивляйтесь большому отклонению экспериментальных точек от эллипса. Придется принять это или повторить попытку с более точными и более многочисленными измерениями.
Для информации:
Использованный выше метод подгонки действителен для эллипса, гиперболы и параболы. Он действителен для любого количества баллов (более четырех). Это позволяет увидеть, какая из этих кривых лучше всего подходит. См. Страницу 16 вhttps://fr.scribd.com/doc/14819165/Regressions-coniques-quadriques-circulaire-spherique. Приведенные выше обозначения согласуются с обозначениями в этой статье.