Для решения алгебраических уравнений с одним неизвестным в MathCAD предусмотрена встроенная функция root, которая, в зависимости от типа задачи, может включать либо два, либо четыре аргумента и, соответственно, использует разные алгоритмы поиска корней:
1. root(f(x), x) – находит корень, расположенный в окрестности заданного числа x;
2. root(f(x), x, a, b) – находит корень в отрезке [a, b], где
x – имя скалярной переменной, относительно которой решается уравнение;
a, b – границы интервала внутри которого происходит поиск корня.
Первый тип функции root требует дополнительного задания начального значения переменной x, для чего нужно просто перед применением функции root присвоить x некоторое число. Поиск корня будет производиться вблизи этого числа.
Задание: Решить алгебраическое уравнение с одним неизвестным sin(x)=0.
Решение:
Результат: Хотя уравнение имеет бесконечное количество корней =n·π (n=0,±1,±2,…) , MathCAD находит (с заданной точностью) только один из них, лежащий наиболее близко к x=0.5. Если задать другое начальное значение, например, x=3, то решением будет другой корень x=π и т. д. Таким образом, для поиска корня средствами MathCAD требуется его предварительная локализация.
Иногда удобнее задавать не начальное приближение к корню, а интервал [a, b] , внутри которого корень заведомо находится. В этом случае следует использовать функцию root с четырьмя аргументами, а присваивать начальное значение x не нужно.
Решение:
Явный вид функции f(x), как вы уже заметили, может быть определен в теле функции root.
Когда функция root имеет четыре аргумента, следует помнить о двух ее особенностях:
1. внутри интервала не должно находиться более одного корня, иначе будет найден один из них, причем, заранее неизвестно, какой именно;
2. значения f(a) и f(b) должны иметь разный знак, иначе будет выдано сообщение об ошибке.
f(x) может быть функцией не только x, а любого количества аргументов. Именно поэтому в самой функции root следует определить, относительно какого из аргументов следует решить уравнение.
2 Корни полинома: функция polyroots
Если функция f(x) является полиномом, то все его корни можно определить, используя встроенную функцию polyroots(v), где v – вектор, составленный из коэффициентов полинома.
Поскольку полином n–ной степени имеет ровно n корней (некоторые из них могут быть кратными), вектор v должен состоять из n+1 элемента. В основе встроенной функции polyroots лежат специальные численные алгоритмы, а результатом ее действия является вектор, составленный из n корней рассматриваемого полинома. При этом нет надобности вводить какое–либо начальное приближение, как для функции root.
Задание:Найти корни полинома .
Решение:
Коэффициенты рассмотренного выше полинома записаны в векторе v. Первым в векторе должен идти свободный член полинома, вторым – коэффициент при x и т. д. Соответственно, последним, n+1–ым элементом должен быть коэффициент при старшей степени.
Иногда исходный полином имеется не в развернутом виде, а, например, как произведение нескольких полиномов. В этом случае определить все его коэффициенты можно, выделив его и выбрав в меню Symbolic (Символика) пункт Expand(Разложить). В результате символьный процессор MathCAD сам преобразует полином в нужную форму; пользователю надо будет только корректно ввести ее в аргументы функции polyroots.