Я так понимаю вы минимизируете величину

где

— ваши экспериментальные точки, а

,

и

— искомые параметры.
Во-первых, когда вы встречаетесь с многомерной численной задачей нелинейной оптимизации, то в первую очередь советую смотреть в сторону
алгоритма Нелдера-Мида. Он имеет ряд достоинств: не требует счёта производной, в отличие от всяких градиентных методов, и значительно более устойчивей своих конкурентов на всяких "плохих" случаях, типа функции Розенброка. Плюс это алгоритм не требует диапазона значений для поиска, только начальное значение, от которого он будет отталкиваться.
Во-вторых, ваша модельная функция линейна по целым двум из трёх своих аргументов! Это значит, что эти аргументы могут быть вычислены с ходу в лоб прямым дифференцированием. Ну, разумеется, не конечное значение может быть вычислено, а оптимальное значение для текущего шага численной оптимизации. Но это сразу редуцирует задачу из трёхмерия в одномерие. Численный поиск минимума функции одной переменной задача
качественно более простая, чем поиск минимума в многомерии. Тем более, есть все основания полагать, что минимум у вас единственный ("хорошая" функция с "хорошими" данными).
Так вот, как редуцировать размерность задачи, пользуясь линейностью модели по своим аргументам. Стандартная процедура. Берём и дифференцируем целевую величину

по параметрам

и

и приравниваем результат нулю:


Откуда выходит линейная задача на параметры

и

:

Находим их, подставляем в целевую функцию

и получаем целевую функцию, зависящую только от одного искомого параметра

. Теперь дело за компьютером. Алгоритм, разумеется, какой-нибудь одномерный без производных.
И да, величина

— это количество ваших данных.
А можно поинтересоваться результатами?
Я бы поинтересовался табличкой исходных данных, чтобы поиграться.

Кстати, если

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