Лабораторная работа - Метод деления отрезка пополам - файл n1.doc

Лабораторная работа - Метод деления отрезка пополам
скачать (73 kb.)
Доступные файлы (1):
n1.doc73kb.07.07.2012 00:09скачать

n1.doc

Лабораторная работа №2.

Название: Метод деления отрезка пополам.

Описание метода:

Метод деления отрезка пополам является простейшим последовательным методом минимизации. Он позволяет для любой функции () унимодальной, построить последовательность вложенных отрезков: ,

каждый из которых содержит хотя бы одну точку х* минимума функции f(x).

Пусть Е>0 требуемая точность определения х*. Выбираем (не слишком маленькая), строим последовательности n=0,1,… , используя рекуррентные функции ;

Если ;

Если .

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

Задание: Методом деления отрезка пополам найти точку минимума х* функции f(x) на отрезке [a,b] с точностью Е и минимум функции f(x).

f(x)=; [0;0.5] ; Е=0,01

Листинг программы в Pascal.

Uses CRT;

Var

a,b,x1,x2,del,eps,eps_n,funk_1,funk_2:real;

n:integer;

BEGIN

Write('Input: a, b, Epsilon: ');

ReadLn (a,b,eps);

del:=eps;

n:=0;

Repeat

x1:=(a+b-del)/2;

x2:=(a+b+del)/2;

funk_1:=3*x1*x1*x1*x1-10*x1*x1*x1+21*x1*x1-12*x1;

funk_2:=3*x2*x2*x2*x2-10*x2*x2*x2+21*x2*x2-12*x2;

if funk_1<=funk_2 then

b:=x2

Else

a:=x1;

Inc(n);

eps_n:=(b-a)/2;

Until eps_n>=eps;

x1:=(a+b)/2;

funk_1:=3*x1*x1*x1*x1-10*x1*x1*x1+21*x1*x1-12*x1;

Write('f*=',funk_1,'x*=',x1,'Eps=',Eps_n,'n=',n);

Read;

END.

Вывод результата:



Ответ: х*=0,3725 f(x*)=-2.0152589.


Блок схема.




График.

> plot (3*x^4-10*x^3+21*x^2-12*x , x=0..0.5);



Лабораторная работа №2
Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации