С помощью символьного процессора можно вычислить аналитически значение переменной, при котором выражение обращается в ноль. Для этого:
1. Введите выражение.
2. Выделите переменную, относительно которой будет решаться уравнение, приравнивающее выражение к нулю.
3. Выберите в меню Symbolic (Символика) пункт Variabl→Solve(Переменная→Решить).
С помощью символьного процессора можно рассчитать численное значение выражения (действительное или комплексное). Иногда такой путь представляется более удобным, чем применение численного процессора (т.е. знака обычного равенства). Чтобы рассчитать значение некоторого выражения, выберите команду Symbolics→Evaluate→Symbolically(Символика→Вычислить→Символьно) либо пункт Symbolics→Evaluate→Floating Point(Символика→Вычислить→С плавающей точкой). В последнем случае вам будет предложено с помощью диалога Floating Point Evaluation(Вычисления с плавающей точкой) задать точность вывода. В итоге применения данных команд Mathcad заменяет символьные результаты, где это возможно, значениями в виде чисел с плавающей точкой.
Еще один пункт меню Symbolics→Evaluate→Complex(Символика→Вычислить→Комплексно) позволяет представить выражение в виде a + bi.
Аналогичные по действию ключевые слова float и complex можно использовать в документах, вводя их с панели Symbolic(Символика). Ключевое слово float применяется вместе со значением точности вывода результата с плавающей точкой. С помощью слова complex можно преобразовывать выражения, как в символьном виде, так и с учетом численных значений, если они были ранее присвоены переменным.
Для решения алгебраических уравнений с одним неизвестным в 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 (следы).
Для более четкого представления корней на графике иногда возникает необходимость изменить диапазон, в котором строится график функции. Для этого нужно щелкнуть на график один раз левой кнопкой мыши, после чего станет доступным изменение диапазонов по оси и . Смена диапазона позволит более четко увидеть часть графика в указанном интервале.