Уравнения можно разделить на два класса – алгебраические и трансцендентные. Алгебраическими уравнениями называют уравнения, содержащие только алгебраические функции (целые, рациональные, иррациональные). В частности, многочлен является целой алгебраической функцией. Уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и другие) называются трансцендентными.
Методы решения нелинейных уравнений делятся на две группы:
– точные методы .
– итерационные методы.
Точные методы позволяют записать корни в виде некоторого конечного соотношения (формулы). Как известно, многие уравнения и системы уравнений не имеют аналитических решений. В первую очередь это относится к большинству трансцендентных уравнений. В некоторых случаях уравнение содержит коэффициенты, известные лишь приблизительно, и, следовательно, сама задача о точном определении корней уравнения теряет смысл. Для их решения используются итерационные методы с заданной степенью точности. Вследствие неизбежных округлений результаты даже точных методов являются приближенными. При использовании итерационных методов, сверх того, добавляется погрешность метода. Эффективное применение итерационных методов существенно зависит от удачного выбора начального приближения и быстроты сходимости процесса.
|
|
Почти все встроенные функции системы MathCad, предназначенные для решения нелинейных алгебраических уравнений, нацелены на нахождение корней, которые уже приблизительно заданы. Для нахождения начального приближения (предварительной локализации корней), можно воспользоваться графическим методом. Принимая во внимание, что действительные корни уравнения f(x)=0 – это точки пересечения графика функции f (x) с осью абсцисс, достаточно построить график функции f (x) и отметить точки пересечения f (x)с осью Ох, или отметить на оси Ох отрезки, содержащие по одному корню.
Для решения одного уравнения с одним неизвестным служит функция root,для решения системы – вычислительный блок Given…Find ( или Minerr…Find), е сли f(x) – это полином, то вычислить все его корни можно также с помощью функции polyroots. Описание перечисленных функций представлено в табл. 2.1.
Таблица 2.1
Функции для решения уравнений
Имя функции | Описание | Пример |
x0=root(f(х1,x2,…),х1,a,b) | Возвращает значение х1, принадлежащее отрезку [a,b], при котором выражение или функция f(х) обращается в 0. f(х1,x2,…) – функция, определенная где-либо в рабочем документе, или выражение. х1 – имя переменной, которая используется в выражении. Этой переменной перед использованием функции root необходимо присвоить числовое значение. Mathcad использует его как начальное приближение при поиске корня. a, b – необязательные аргументы, диапазон поиска (уточнения) корня, причем a< .b. | f(x):=sin(x)-1+x – описываем функцию x:=1 – начальное приближение x0=root(f(х),х) x0=0.511 – решение уравнения |
Given f(x)=0 x0=find(x) | Находит решения уравнений и неравенств, указанных в предшествующем блоке решения. Решает системы уравнений. | x:=1 – начальное приближение Given – открывает блок решения sin(x)-1+x=0 – уравнение x0=find(x) – Конец блока решения x0=0.511 – решение уравнения |
Given f(x)=0 x0=minerr(x) | Находит решения уравнений и неравенств, указанных в предшествующем блоке решения. Если решение найти не удается, минимизируется общая погрешность. Эту функцию удобно использовать для минимизации погрешности в методе наименьших квадратов. | x:=1 – начальное приближение Given – открывает блок решения sin(x)-1+x=0 – уравнение x0=minerr(x) – Конец блока решения x0=0.511 – решение уравнения |
X:=polyroots(V) | Нахождение корней уравнения для полиномиального вида функции. V – вектор, составленный из коэффициентов полинома. Поскольку полином степени N имеет ровно N корней, вектор V должен состоять из N+1 элемента. Результатом действия функции polyroots является вектор, составленный из N корней рассматриваемого полинома. При этом нет надобности вводить какое-либо начальное приближение, как для функции root. Вектор V удобно создавать использую команду Символы / Коэффициенты полинома. | f(x)=8x2-10x+3 – описание вектора коэффициентов X:=polyroots(V) – решения уравнения |
Пример 2.1
|
|
Найти корни уравнения cos(x)=x+0,2 двумя способами, используя функцию Root, и, используя блок Given – Find.
Указания
Как было указано выше, для решения уравнения, строим график и отделяем интервалы, содержащие корни уравнения. Корни уравнения могут быть найдены как абсциссы точек пересечения косинусоиды y=cosx и линейной функции y= x+0,2. Построив эти функции, приближенно найдем корень уравнения на отрезке от -10 до 10 или определим его содержащий отрезок. Выбирая первое приближение корня x=1, найден корень уравнения. Фрагмент рабочего листа MathCad с результатами построения графиков представлен на рис. 2.1.
Пример 2.2
Найти нули полинома
,
используя возможные средства MathCad
Указания
Нули полинома является решением уравнения
На рис. 2.2 представлены два способа нахождения корней уравнения с помощью функций root() и find(). Использование этих функций ни чем не отличается от их применения в примере 2.1.
Рис. 2.1. Фрагмент рабочего листа с решением уравнения
Рис. 2.2. Фрагмент рабочего листа с решением полиномиального
уравнения двумя способами
На рис. 2.3 показан пример нахождения корней полиномиального уравнения с помощью функций polyroost(). В отличие от функции root(), функция polyroots() не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные.
Рис. 2.3. Фрагмент рабочего листа с решением полиномиального
уравнения с помощью функции polyroots()