Mikhail_KДа, используйте lsqnonlin. Справку с примерами смотрите здесь:
http://matlab.exponenta.ru/optimiz/book ... nonlin.phpКратко говоря, на вход lsqnonlin подается указатель на вектор-функцию (сумму квадратов компонент которой следует минимизировать, обозначим ее
) и начальное приближение. В вашем случае компонента вектор-функции
представляет собой разницу между данным, табличным, значением и значением согласно модели.
Например, если ваша модель
, то в более подходящих обозначениях у вас
-- набор параметров, по которым будет идти оптимизация, а независимую переменную в модели обозначим давайте
. Теперь, вот у вас есть табличный набор
, это числа, они вам известны. Тогда
-ая компонента требуемой функции
будет равна:
. Внимательно прочитайте эту формулу, каждую букву. Вот это -- разница между измерением и моделью. И мы хотим воспользоваться методом наименьших квадратов, значит мы ищем параметры
, которые бы минимизировали сумму квадратов всех
.
Так что программируйте соответствующим образом функцию
и пишите что-то типа
Код:
x_opt = lsqnonlin(@f,x0)
Инструмент
Код:
stats::reg
не работает в Матлабе, это функция системы компьютерной алгебры MuPAD, которая идет вместе с тулбоксом Symbolic Math Toolbox и запускается только из соответствующей среды.