В задачах на условный экстремум встроенные функции минимизации и максимизации должны быть включены в вычислительный блок, т. е. им должно предшествовать ключевое слово Given. В промежутке между Given и функцией поиска экстремума с помощью булевых операторов записываются логические выражения (неравенства, уравнения), задающие ограничения на значения аргументов минимизируемой функции.
Задание:Найти условный экстремум функции одной переменной .
Решение:
Вычисление экстремума функции многих переменных не несет принципиальных особенностей по сравнению с функциями оной переменной.
Задание:Найти экстремум функции двух переменных
.
Решение:
Для решения алгебраических уравнений с одним неизвестным в MathCAD предусмотрена встроенная функция root, которая, в зависимости от типа задачи, может включать либо два, либо четыре аргумента и, соответственно, использует разные алгоритмы поиска корней:
1. root(f(x), x) – находит корень, расположенный в окрестности заданного числа ;
2. root(f(x), x, a, b) – находит корень в отрезке , где
– имя скалярной переменной, относительно которой решается уравнение;
, – границы интервала внутри которого происходит поиск корня.
Первый тип функции root требует дополнительного задания начального значения переменной , для чего нужно просто перед применением функции root присвоить некоторое число. Поиск корня будет производиться вблизи этого числа.
Задание: Решить алгебраическое уравнение с одним неизвестным .
Решение:
Результат: Хотя уравнение имеет бесконечное количество корней , , MathCAD находит (с заданной точностью) только один из них, лежащий наиболее близко к . Если задать другое начальное значение, например, , то решением будет другой корень и т. д. Таким образом, для поиска корня средствами MathCAD требуется его предварительная локализация.
Иногда удобнее задавать не начальное приближение к корню, а интервал , внутри которого корень заведомо находится. В этом случае следует использовать функцию root с четырьмя аргументами, а присваивать начальное значение не нужно.
Решение:
Явный вид функции может быть определен в теле функции root:
Когда функция root имеет четыре аргумента, следует помнить о двух ее особенностях:
1. внутри интервала не должно находиться более одного корня, иначе будет найден один из них, причем, заранее неизвестно, какой именно;
2. значения и должны иметь разный знак, иначе будет выдано сообщение об ошибке.
может быть функцией не только , а любого количества аргументов. Именно поэтому в самой функции root следует определить, относительно какого из аргументов следует решить уравнение.
2 Корни полинома: функция polyroots
Если функцияявляется полиномом, то все его корни можно определить, используя встроенную функцию polyroots(v), где – вектор, составленный из коэффициентов полинома.
Поскольку полином n–ной степени имеет ровно корней (некоторые из них могут быть кратными), вектор должен состоять из элемента. В основе встроенной функции polyroots лежат специальные численные алгоритмы, а результатом ее действия является вектор, составленный из корней рассматриваемого полинома. При этом нет надобности вводить какое–либо начальное приближение, как для функции root.
Задание:Найти корни полинома.
Решение:
Коэффициенты рассмотренного выше полинома записаны в векторе . Первым в векторе должен идти свободный член полинома, вторым – коэффициент при , затем коэффициент при и т. д. Соответственно, последним, –ым элементом должен быть коэффициент при старшей степени.
Иногда исходный полином имеется не в развернутом виде, а, например, как произведение нескольких полиномов. В этом случае определить все его коэффициенты можно, выделив его и выбрав в меню Symbolic (Символика) пункт Expand(Разложить). В результате символьный процессор MathCAD сам преобразует полином в нужную форму; пользователю надо будет только корректно ввести ее в аргументы функции polyroots.
3 Решение систем уравнений: вычислительный блок Given/Find
Рассмотрим решение системы n нелинейных уравнений с m неизвестными:
Здесь , …, – некоторые скалярные выражения, зывисящие от скалярных переменных и возможно еще каких–то переменных.
Для решения систем в MathCAD применяется специальный вычислительный блок Given/Find(Дано/Найти), состоящий из трех частей, идущих последовательно друг за другом:
1. Given – ключевое слово;
2. система, записанная логическими операторами в виде равенств и, возможно, неравенств;
3. Find() – встроенная функция для решения системы относительно переменных
Вставлять логические операторы следует, пользуясь панелью инструментов Boolean(Булевы операторы). Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требуется задать начальные значения всех . Сделать это необходимо до ключевого слова Given. Значение функции Find представляет собой матрицу, составленную из всевозможных решений по каждой переменной, причем количество ее строк в точности равно числу аргументов Find.
Задание:Решить систему уравнений
Решение:
Результат: В первых двух строках вводятся функции, которые определяют систему уравнений. Затем переменным и , относительно которых она будет решаться, присваиваются начальные значения. После этого следует ключевое слово Given и два логических оператора, выражающих рассматриваемую систему уравнений. Завершает вычислительный блок функция Find, значение которой присваивается вектору . В последних двух строках осуществляется проверка правильности решения системы уравнений.
Вычислительным блоком с функцией Find можно найти корень уравнения с одним неизвестным. Действия Find в этом случае совершенно аналогичны действиям в уже рассмотренном примере. Задача поиска решения рассматривается как задача решения системы, состоящей из одного уравнения. Единственным отличием будет скалярный, а не векторный тип числа, возвращаемого функцией Find.
Задание:Решить алгебраическое уравнение
Решение:
Для проверки правильности найденного решения построим график функции (см. Лекция 1). Корни уравнения будут представлять собой абсциссы точек пересечения графика функции с осью .
Для форматирования графика необходимо щелкнуть по нему дважды левой кнопкой мыши, после чего появится окно Formatting Currently Selected X-Y Plot (Форматирование текущего выбранного графика в осях X-Y). Для добавления пересечения осей на закладке X-Y Axes (Оси X-Y) в разделе Axes Style (Стиль осей) необходимо поставить переключатель Crossed (Пересечение). Для добавления линий сетки необходимо поставить галочки рядом с пунктами Grid lines (Линии сетки).
Тип (Line), толщина (LineWeight) и цвет (Color) линии, которой строится график, определяются на закладке Traces (следы).
Для более четкого представления корней на графике иногда возникает необходимость изменить диапазон, в котором строится график функции. Для этого нужно щелкнуть на график один раз левой кнопкой мыши, после чего станет доступным изменение диапазонов по оси и . Смена диапазона позволит более четко увидеть часть графика в указанном интервале.