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

Архив1 / doc92 / Лаба 2. Отчет

.doc
Скачиваний:
22
Добавлен:
03.08.2013
Размер:
253.44 Кб
Скачать

Московский государственный технический университет им. Н.Э. Баумана

Калужский филиал

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

«Поиск минимума функции многих переменных»

Вариант 2

Выполнил: студент группы ЭВМ-71

Салтыков В.С.

Проверил: Корнюшин Ю.П.

Калуга, 2012

1. Условие варианта

варианта

f(x)

a

b

c

d

2

2,0

-1,3

0,04

1,2

2. Структурная схема алгоритма

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

e = 0.000001; % ТОЧНОСТЬ

a = 2; b = -1.3; c = 0.04; d = 1.2;

x11 = 2; x12 = 7; % НАЧАЛЬНЫЕ ЗНАЧЕНИЯ

h1 = 0.1; h2 = 0.1; % ШАГ

while ((h1 > e)&&(h2 > e))

f1 = fun(a, b, c, d, x11, x12);

f2 = fun(a, b, c, d, x11+h1, x12);

if(f2 >= f1)

f2 = fun(a, b, c, d, x11-h1, x12);

if (f2 >= f1)

f2 = fun(a, b, c, d, x11, x12+h2);

if(f2 >= f1)

f2 = fun(a, b, c, d, x11, x12-h2);

if (f2 >= f1)

x21 = x11;

x22 = x12;

else

x21 = x11;

x22 = x12 - h2;

end

else

x21 = x11;

x22 = x12 + h2;

end

else

x21 = x11 - h1;

x22 = x12;

end

else

x21 = x11 + h1;

x22 = x12;

end

if((x21 ~= x11)&&(x22 ~= x12))

p1 = x11 + 2*(x21-x11);

p2 = x12 + 2*(x22-x12);

fp = fun(a, b, c, d, p1, p2);

f3 = fun(a, b, c, d, x21, x22);

if(fp < f3)

x11 = p1;

x12 = p2;

end

else

x11 = x21;

x12 = x22;

end

h1 = h1/1.01;

h2 = h2/1.01;

end

xmin1 = x11 % МИНИМАЛЬНОЕ ЗНАЧЕНИЕ

xmin2 = x12 % МИНИМАЛЬНОЕ ЗНАЧЕНИЕ

fmin = a*xmin1 + b*xmin2 + exp(c*xmin1^2 + d*xmin2^2) % МИНИМАЛЬНОЕ ЗНАЧЕНИЕ ФУНКЦИИ

% ВЫЧИСЛЕНИЕ ЗНАЧЕНИЯ ФУНКЦИИ

function f = fun(a, b, c, d, x1, x2)

f = a*x1 + b*x2 + exp(c*x1^2 + d*x2^2);

4. Результаты вычислений

xmin1 = -2.4148

xmin2 = 1.3241

fmin = 3.8018

Соседние файлы в папке doc92