Курсовая работа: Построение математических моделей методом идентификации

(4.4)

Направление вектора градиента совпадает с направлением наискорейшего возрастания функции F(p1 ,p2 ). Вектор − gradF(p1 ,p2 ) называется антиградиентом, его направление совпадает с направлением наискорейшего убывания функции. Предполагается, что компоненты градиента могут быть записаны в аналитическом виде или с достаточно высокой точностью вычислены при помощи численных методов.

Выбор величины шага λ осуществляется путем решения задачи минимизации F(p1 ,p2 ) в направленииgradF(p1 ,p2 ) с помощью одного из методов одномерного поиска.

Преимущество метода в том, что при переходе от шага к шагу обеспечивается выполнение неравенстваF(p1 k +1 ,p2 k +1 )<= F(p1 k ,p2 k ), т.е. значение функции цели улучшается.

Скорость сходимости метода при решении некоторых задач является недопустимо низкой.

Это связано с тем, что изменения переменных непосредственно зависят от величины градиента, которая стремится к нулю в окрестности точки минимума. Поэтому метод наискорейшего спуска эффективен при поиске на значительных расстояниях от точки минимума x* и плохо работает в окрестности этой точки.

4.3 Описание входных и выходных переменных

В качестве входных переменных имеем массив независимых значений Х и фактические значения отклика YF, точность вичислений eps.

Выходные величины – конечне значения p1 и p2 , при которых достигается минимум функции F(p1 ,p2 ), количество итераций, что характеризует скорость сходимости метода и значение функции F(p1 ,p2 ), а также график сравнения фактического и расчетного значения отклика и таблицу с фактическим и расчетным значениями отклика.

4.4 Текст программы в SciLab

//Входные данные

X1=[1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6];

YF=[20 30 70 85 100 90 100 108 120 110 124]; //Y фактическое

//Расчетная функции в виде у=р1-р2expХ1)

function YR=raschet(P)

YR=P(1)-P(2)*exp(-X1);

endfunction

//Минимизируемая функция как результат

//ошибки расчетных и фактических значений

function F=oshibka(P)

F=sum((YF-raschet(P))^2);

endfunction

eps=0.00001; //точность вычислений

P=[10 0.9]; //начальное приближение

lamda=1; //параметр,характеризующий длину шага

F0=oshibka(P*2);

F=oshibka(P);

i=0;

while abs(F0-F)>eps

К-во Просмотров: 802
Бесплатно скачать Курсовая работа: Построение математических моделей методом идентификации