|
Раздел "Optimization Toolbox 2.2 Руководство пользователя"
А.Г.Трифонов. Оптимизация встроенных объектов вместо М-файлов
Программные возможности тулбокса Оптимизация позволяют проводить оптимизацию встроенных объектов, что позволяет избежать написания М-файлов для определения искомых функций.
Для введения математической функции в командную строку следует создать встроенный объект из строкового выражения. Например, можно создать встроенный объект функции humps (для того, что бы просмотреть М-файл функции humps.m следует выполнить команду humps):
f = inline('1./((x-0.3).^2 + 0.01) + 1./((x-0.9).^2 + 0.04)-6');
Можно вычислить f в точке 2.0:
f(2.0)
ans =
-4.8552
и передать f в программу минимизации ввиде:
x = fminbnd(f, 3, 4)
Кроме того, возможно создать функции и более одного аргумента посредством спецификации имени входных аргументов совместно со строковым выражением.
Например, при использовании функции lsqcurvefit, в начале следует организовать функцию с двумя входными аргументами:
x и xdata,
f= inline('sin(x).*xdata +(x.^2).*cos(xdata)','x','xdata')
x = pi; xdata = pi*[4;2;3];
f(x, xdata)
ans =
9.8696e+000
9.8696e+000
-9.8696e+000
затем обратиться к команде lsqcurvefit.
% Предположим, что ydata уже существуют
x = lsqcurvefit(f,x,xdata,ydata)
Другой пример использования данного подхода
|
|