вот что я хочу сделать (желательно с Matlab):
В основном у меня есть несколько следов автомобилей, едущих по перекрестку.Каждый из них шумный, поэтому я хочу взять среднее значение для всех измерений, чтобы получить лучшее приближение к реальному маршруту.Другими словами, я ищу способ приблизиться к кривой, которая имеет наименьшее расстояние до всех измеренных следов (в смысле наименьших квадратов).
На первый взгляд, это очень похоже на то, чего можно достичь с помощью spap2 из набора инструментов CurveFitting (хороший пример в разделе Приближение наименьших квадратов здесь ).Но у этого алгоритма есть некоторый главный недостаток: он предполагает функцию (с ровно одним y (x) для каждого x), но мне нужна кривая в 2d (которая может иметь несколько y (x) для одного x).Это приводит к проблемам, когда автомобили поворачивают направо или налево более чем на 90 градусов.Кроме того, он принимает вертикальные смещения, а не перпендикулярные смещения (согласно определению на wolfram ).
Кто-нибудь знает, как решить эту проблему?Я думал об использовании B-Spline и менял количество узлов и степень до тех пор, пока не достигнул определенного подходящего качества, но я не могу найти способ решить эту проблему аналитически или с помощью функций, предоставляемых CurveFitting Toolbox.Есть ли способ решить эту проблему без числовой оптимизации?