Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Практикум 2.8. Экстремумы функции нескольких переменных
Цель работы научиться находить локальный минимум функции нескольких переменных, используя средства пакета MatLab.
Продолжительность работы - 4 часа.
Оборудование, приборы, инструментарий работа выполняется в компьютерном классе с использованием пакета MatLab.
Порядок выполнения
Краткие теоретические сведения
и практические упражнения
Нахождение локального минимума функции двух переменных разберём на примере функции Функция периодическая по обеим переменным с периодом 2, поэтому достаточно найти её минимумы на прямоугольнике
Для нахождения минимума функции двух переменных следует сначала получить представление о поведении функции, построив её линии уровня:
[X Y]=meshgrid(0:0.01:2);
Z=sin(pi*X).*sin(pi*Y);
[CMatr,h]=contour(X,Y,Z);
clabel(CMatr,h);
colormap(gray)
На получившемся графике видно расположение локальных минимумов и максимумов. Перед нахождением локального минимума необходимо создать файл-функцию, вычисляющую значения искомой функции. Аргументом файл-функции является вектор, первый элемент которой соответствует переменной второй переменной
function f=fsin(argvec)
x=argvec(1);
y=argvec(2);
f=sin(pi*x).*sin(pi*y);
Для нахождения локального минимума теперь следует вызвать функцию fminsearch c двумя входными аргументами именем файл функции и вектором начального приближения. Выходной аргумент вектор искомой точки минимума.
M=fminsearch('fsin', [1.4,0.6])
M =
1.5000 0.5000
Для нахождения не только точки минимума, но и значения функции в ней, следует вызвать fminsearch с двумя выходными аргументами:
[M f]=fminsearch('fsin', [1.4,0.6])
M =
1.5000 0.5000
f =
-1.0000
Упражнение 1. Постройте линии уровня функции и найдите экстремумы функции.
Упражнение 2. Создайте М-функцию, вычисляющую значения первых и вторых частных производных функции в точке и значения главных миноров матрицы, составленной из вторых производных.
Упражнение 3.
а) Найти экстремумы функции .
б) С помощью созданной в упр. 2 М-функции проверьте выполнение необходимого и достаточного условия экстремума.
Для нахождения стационарных точек функции трёх переменных требуется решить систему из трёх уравнений. Если функции и представляют собой частные производные функции то для того, чтобы найти стационарную точку необходимо вызывать функцию solve с одним выходным аргументом:
df1=sym(x-z);
df2=sym(x-y);
df3=sym(x+z);
s=solve(df1,df1,df3,'x,y,z')
s =
x: [1x1 sym]
y: [1x1 sym]
z: [1x1 sym]
>> s.x
ans =
0
Вообще говоря, функция solve находит решения в символьном виде, численные решения можно получить с помощью vpa:
s=solve('x^2+y^2=1','x=y','z=y','x,y,z')
s =
x: [2x1 sym]
y: [2x1 sym]
z: [2x1 sym]
>> s.x
ans =
1/2*2^(1/2)
-1/2*2^(1/2)
>> x0=vpa(s.x,4)
x0 =
.7070
-.7070
Упражнение 4. Создайте М-функцию, которая находит стационарные точки функции трёх переменных и проверяет выполнение достаточного условия экстремума по критерию Сильвестра.
Упражнение 5. Используя М-функцию из упр. 5, найдите точки экстремума функции
Задания для самостоятельной работы
Выполнить упражнения из раздела «Краткие теоретические сведения и практические упражнения», которые не успели сделать в аудитории.
Ответить на контрольные вопросы:
Список рекомендуемой литературы
PAGE 1