Второй метод дихотомии


Дата добавления: 2014-11-24 | Просмотров: 1528


<== предыдущая страница

Постановка задачи: минимизировать функцию на отрезке

Листинг программы:

a=-2;

b=0;

e=0.001;

d=0.25*e;

while (b-a)/2>e

x1=a+(b-a)/4;

x2=a+(b-a)/2;

x3=a+3*(b-a)/4;

y1=((x1-1)^2)*sin(x1);

y2=((x2-1)^2)*sin(x2);

y3=((x3-1)^2)*sin(x3);

if (y1<=y2) b=x2;

elseif (y2<=y3) b=x3

a=x1;

else a=x2

end

end

X=(a+b)/2

 

x=-2:e:0;

y=((x-1).^2).*sin(x);

plot(x,y)

Метод “золотого сечения”

Постановка задачи: минимизировать функцию на отрезке с точностью Е=0.001.

Листинг программы:

E = 0.001;

a = -2;

b = 0;

while (b-a)/2 >= E

x1 = a +(3-sqrt(5))*(b-a)/2;

x2 = a +(sqrt(5)-1)*(b-a)/2;

y1 = ((x1-1)^2)*sin(x1);

y2 = ((x2-1)^2)*sin(x2);

if (y1 <= y2) b = x2;

else a = x1;

end;

end

X = (a + b)/2

Y=((X-1).^2 ).*sin(X)

x=-2:0.01:0;

y=((x-1).^2 ).*sin(x);

plot (x,y);

 

Результат работы программы:


1 | 2 |

При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.048 сек.)