Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Домашнее задание по «Численным методам»

Автор:   •  Май 4, 2022  •  Контрольная работа  •  1,402 Слов (6 Страниц)  •  250 Просмотры

Страница 1 из 6

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

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

(МГТУ им. Н. Э. Баумана)

 

Домашнее задание №2

по дисциплине «Численные методы»

Вариант № 5

  1. Студент: Нгуен Х.Х.

СМ7-34Б

Проверил: Чередниченко А. В.

 

«27» декабря 2021 г.

Москва 2021

Вариант № 5:

[pic 1]

[pic 2]

Дана квадратичная функция двух переменных f (x, y). Найти точку минимума этой функции и её минимальное значение.

1. Решить данную задачу аналитически – получить точное решение. Доказать, что найденная точка действительно является точкой минимума (см «ЛА и ФНП»).

2. Решить численно задачу безусловной минимизации квадратичной функции с заданными начальной точкой x0 и двумя вариантами параметров точности поиска ε=0,01 и ε=0,00001. Данную задачу решить следующими методами (которые мы успеем пройти):

2.1. методом наискорейшего спуска;

2.2. методом сопряженных градиентов;

2.3. методом Ньютона;

2.4. квазиньютоновским методом Давидона-Флетчера-Пауэлла (ДФП);

2.5. методом прямого поиска: циклическим покоординатным спуском.

Для каждого метода построить траекторию последовательности точек (нанести точки релаксационной последовательности на плоскость с указанными линиями уровня), указать количество проведенных итераций для каждого метода и эквивалентное количество вычисленных значений целевой функции (считать, что вычисление одного антиградиента эквивалентно n вычислениям значений целевой функции, а вычисление матрицы Гессе – вычислений значений целевой функции, где n – размерность линейного пространства). Сравнить решения, полученные различными методами. Сравнить эти решения с точным решением задачи. Работа должна заканчиваться выводами. Все требования к оформлению, сформулированные в условии домашнего задания No1, действуют и для этого домашнего задания.[pic 3]

  1. Аналитическое решение

[pic 4]

[pic 5]

 [pic 6][pic 7]

 [pic 8]

[pic 9]

.[pic 10]

 [pic 11]

  и [pic 12][pic 13][pic 14]

[pic 15]

Рис 1. Графика с помощью MATLAB

2. Вспомогательные функции:

Задание целевой функции

function I = f(x,y)

format long;

I = 2*(x.^2) - 4*x.*y + 5*(y.^2) - 4*sqrt(5)*(x-y) + 4 ;

end

1 Нахождение градиента функции

function grdt = grdt(x)

grdt = [(4 * x(1) - 4 * x(2) - 4 * sqrt(5)); -4*x(1) + 10*x(2) + 4*sqrt(5)];

end

2 Построение линий уровня

function [] = level_mark(x_1,x_2,func)

    plot(x_1,x_2,'ko');

    hold on;

    grid on;

    [x1, y1] = meshgrid(-10:0.1:10);

    f_graph = 2.*x1.*x1 - 4.*x1.*y1 + 5.*y1.*y1 - 4.*sqrt(5).*(x1 - y1) +4 ;

    c = contour(x1, y1, f_graph, [func, func], 'ko');

    hold on;

    clabel(c,'manual');

end

3 Методом золотого сечения

function goldDivs = golden(f, a, b, eps)

 

i_count = 0;

d = (1 + sqrt(5)) / 2;

 

while ((b - a) > eps)

   

    i_count = i_count + 1;

    x1 = (b - (b - a) / d);

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

   

    if(f(x1) < f(x2))

        b = x2;

    else

        a = x1;

    end

end

x_min = ((b + a) / 2);

goldDivs = [x_min];

end

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

function [] = result(k,i_count,f_count,x1,x2,f)

 

fprintf('Количество итераций: %d\n', i_count);

...

Скачать:   txt (13.5 Kb)   pdf (857.8 Kb)   docx (898.3 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club