Как вычислить кратчайшие расстояния точек и кривых в gnuplot? - PullRequest
0 голосов
/ 01 апреля 2020

Допустим, у меня есть подогнанная кривая в gnuplot (или просто функция sin (x)) и файл с данными - точки рядом с функцией. Как вычислить расстояние точек от кривой и записать их в файл с данными в gnuplot? Можно ли легко реализовать сумму квадратов в gnuplot? Большое спасибо

1 Ответ

1 голос
/ 01 апреля 2020

Ваш вопрос, кажется, смешивает два разных понятия. Если кривая была подогнана к точкам, то составляющая члена в сумме квадратов использует разность значений y. Т.е. для точки [xi, yi] термин (fun c (xi) - yi) ** 2.

Но это не то же самое, что "расстояние от точки до кривой", поскольку ближайшая точка на кривой может иметь другое значение x. В общем, для ответа на этот вопрос требуется исчисление, и он не предназначен для того, чтобы gnuplot помог вам с этим, хотя, если вы выработаете соответствующее уравнение, вы можете использовать «подгонку» gnuplot, чтобы найти минимум путем приближения, а не путем решения дифференциального уравнения. аналитически.

Чтобы построить остатки после подгонки Предположим, точки данных [xi, yi] в столбцах 1 и 2 файла "данные". Предположим, что fit (x) - это функция, которую вы получили от примерки. Затем вы можете построить остаток для каждой точки:

plot 'data' using 1:( (fit($1)-$2)**2 ) with linespoints
...