- •Лабораторная работа № 4 Основы работы в среде matlab
- •4.1. Теоретическое введение
- •Р ис. 4.1. Рабочий стол системы matlab.
- •4.2. Практическое задание 1
- •4.3. Практическое задание 2
- •4.4. Практическое задание 3
- •4.5. Контрольные вопросы.
- •Лабораторная работа № 5 Решение уравнений и систем уравнений в среде matlab
- •5.1. Теоретическое введение
- •5.2. Практическое задание 1
- •5.3. Практическое задание 2
- •5.4. Практическое задание 3
- •5.5. Контрольные вопросы.
- •Лабораторная работа № 6 Нахождение экстремумов функций и определенных интегралов в среде matlab
- •6.1. Теоретическое введение
- •6.2. Практическое задание 1
- •6.3. Практическое задание 2
- •6.4. Контрольные вопросы.
Лабораторная работа № 6 Нахождение экстремумов функций и определенных интегралов в среде matlab
ЦЕЛЬ РАБОТЫ:
получить навыки нахождения экстремумов функций в системе MATLAB;
получить навыки решения задач численного интегрирования в системе MATLAB.
6.1. Теоретическое введение
Минимизация функции одной переменной
Еще одна важная задача численных методов — поиск минимума функции f(x) в заданном интервале изменения аргумента [х1, х2] Если нужно найти максимум такой функции, то достаточно поставить знак «минус» перед функцией. Для решения этой задачи используется функция fminbnd(),формы которой представлены ниже:
fminbnd(@fun,xl,x2) — возвращает значение х, которое является локальным минимумом функции fun(x) на интервале xl<x<x2;
fminbnd(@fun,xl,x2,options) — сходна с описанной выше формой функции, но использует параметры вычислений из вектора options:
tolX – конечное допустимое отклонение по значению х, maxfunevals – максимально число допустимых расчетов функции,
maxiter – максимальное число допустимых итераций,
display – уровень отображения ('off' отображение не производится, 'iter' отображение проводится на каждой итерации,
'final' (принимается по умолчанию) отображение только конечной информации).
Перечисленные параметры следует предварительно установить при помощи команды optimset().
Например, options=optimset('Display','iter').
[x, fval] = fminbnd(...) — дополнительно возвращает значение целевой функции fval в точке минимума;
[x, fval, exitflag] = fminbnd(…) —дополнительно возвращает параметр exitflag, равный 1, если функция сошлась с использованием options.tolX, и 0, если достигнуто максимальное число итераций options.maxiter.
Пример поиска минимума функции cos(x) на интервале [3, 4] с использованием функции fminbnd() представлен на рис. 6.1.
Рис. 6.1 . Пример поиска минимума функции cos(x) на интервале [3, 4].
Численное интегрирование
В практической работе часто возникает необходимость вычисления неопределенных и определенных интегралов вида
и
.
Для их вычисления служит функция int(), которая записывается в следующих вариантах:
int(S) – возвращает символьное значение неопределенного интеграла от символьного выражения или массива символьных выражений S по переменной, которая автоматически определяется функцией findsym(). Если S – скаляр или матрица, то вычисляется интеграл по переменой ‘x’;
int(S, x) – возвращает неопределенный интеграл от S по переменной x;
int(S, a, b) – возвращает определенный интеграл от S с пределами интегрирования от a до b;
int(S, x, a, b) – возвращает определенный интеграл от S по переменной x с пределами интегрирования от a до b. На рис. 6.2 приводятся примеры применения этой функции. Обратите внимание на использование функции создания символьных переменных sym().
Например, выражение x= sym(‘x’) позволяет создать символьную переменную с именем ‘x’. Если попытаться вызвать функцию вычисления интеграла, не создав предварительно символьную переменную х, система выдаст сообщение об ошибке: “ ??? Undefined function or variable 'x' ”.
Рис. 6.2. Примеры вычисления интегралов.
Численное интегрирование традиционно является одной из важнейших сфер применения математического аппарата. Задача численного интегрирования заключается в приближенном вычислении определенного интеграла вида одним из многочисленных численных методов. Например, для приближенного вычисления определенного интеграла методом трапеций используется функция trapz ( x, y ), которая возвращает интеграл от функции y по переменной x. Пределы интегрирования в этом случае задаются начальным и конечным элементами вектора x. Ниже приводится пример использования рассмотренной команды.
>> X=0:pi/70:pi/2;
>> Y=sin(X);
>> Z = trapz(X,Y)
В результате получим Z = 0.9998.
