Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторные работы / отчет по ТПР № 2

.doc
Скачиваний:
14
Добавлен:
02.05.2014
Размер:
76.8 Кб
Скачать

Уфимский Государственный Авиационный Технический Университет

Кафедра автоматизированных технологических систем

Отчет к лабораторной работе № 2

«Метод касательных»

Выполнили:

Проверил:

Уфа-2006

Цель работы:

Изучить метод касательных и получить практические навыки разработки алгоритма

Теоретическая часть:

Если вычисление измерение или проводит при f(х) не представлений больших затруднений, то для решения задачи минимизации можно применять123 методы, основанные на использовании на использовании производных f(x). Во многих случаях эти методы обеспечивают более быструю сходимость, чем прямые методы оптимизации.

Метод касательных применяется для минимизации внутренних дифференцирующих функций. Для того, чтобы дважды дифференцируемая на отрезке [a,b] функция была выпуклой на отрезке [a,b] необходимо и достаточно, чтобы вторая производная этой функции было неотрецательна при всех х [a,b]

Пусть f(x) – выпуклая дифференцируемая на отрезке [a,b]f(x) функция, причем f’(x)*f”(b)<0.тогда можно построить последовательности {an},{bn} и {cn}, где n – номер шага итерации, в соответствии с рекуррентнпии соотношениями

а0 = а, b0 = b

Требуемая точность минимизации функции f(x) считается допустимой, если производная f’(c) достаточна близка к нуля, то есть f”(c) ≤ ε, где ε>0 – заданное число , характеризующее точность вычислений.

Метод касательных имеет простой геометрический смысл: величина сn – это абцисса точки пересечения касательных с графиком f(x), проведенных в граничных точках отрезка [an-1,bn-1] рис. 1

Правила изменения границ отрезка [an-1,bn-1] для случаев f”(c)>0 и f”(c)<0 показаны соответственно на рис.2 и рис. 3. Отрезок [anbn] выбирается так, чтобы Х*€[anbn].Если услоие f’(x)*f”(b)<0 не выполняется, то

а) Х*= a при f”(а)>0, f”(c)>0

б) Х* = b при f”(а) <0, f”(b) <0

в) Х* = а при f”(a) = 0

д) Х* = а при f”(a)=0

Подпрограммы

Function y = subfun (x)

y= x^6 + 3*x^2 + 6*x-1

Function y = difsubfun (x)

y= 6*x*x^5 + 6*x + 6

Основная программа

Function [x0,y0] = fun (a,b,c)

Fplot (subfun[a,b],e);

Hold on

Fplot (difsubfun,[a,b],0.01;y’);

Hold on

If difsubfun (a)* difsubfun(b)<0

c= (b* difsubfun(b)-a* difsubfun(a)+ subfun(a)- subfun(b))/( difsubfun(b)- difsubfun(a))

plot (c, subfun(c), ‘nx’)

while abs(difsubfun(c))<0

a=c;

else b=c;

end

c= (b* difsubfun(b)-a* difsubfun(a) )+ subfun(a)- subfun(b))/( difsubfun(b)- difsubfun(a))

end

x0=c

else if subfun(a)>subfun(b)

x0=b;

else if subfun(a)< subfun(b)

x0=a

else disp(‘отрезок ab параллелен оси x’)

end

y0= subfun(x0)

plot (x0,y0,’y0’)

Вывод: Лучший методом касательных и получили практический навыки разработки алгоритма

Соседние файлы в папке Лабораторные работы