И у черта, и у БогаНа одном, видать, счетуТы, российская дорога,Семь загибов на версту!Из песни из т/ф "Гардемарины, вперед!"
В том случае, когда экспериментальные данные надо приблизить функцией, отличной от полинома, или же линейной комбинации функций, используется nlinfit, реализующая нелинейную регрессию, которая ищет параметры, дающие наименьшее среднеквадратичное отклонение от заданных точек.
Основной принцип ее применения:
задать функцию в виде y=fun(параметры,переменная), например, как
y=@fun(param,x) выражение для функции
задать начальное приближение вектора переменных
param0=[param0(1),param0(2), и так далее];
посчитать оптимизированные параметры
param=nlinfit(вектор экспериментальных х, вектор экспериментальных y,fun,param0)
Примечание: при расчетах на GNU Octave для использования nlinfit надо сначала подгрузить пакет с функциями оптимизации (pkg load optim).
Пример соответствующей процедуры для фиттинга ВАХ светодиода, выраженной через функцию Ламберта: