Иллюстрированный самоучитель по MathCAD 11

Одно уравнение с одним неизвестным

Рассмотрим одно алгебраическое уравнение с одним неизвестным х.

f(x) = 0, (1)

Например, sin(x)=0.

Для решения таких уравнений Mathcad имеет встроенную функцию root, которая, в зависимости от типа задачи, может включать либо два, либо четыре аргумента и, соответственно, работает несколько по-разному.

  • root(f(х),х);
  • root(f(х),х,а,b);
    • f (х) – скалярная функция, определяющая уравнение (1);
    • х – скалярная переменная, относительно которой решается уравнение;
    • a,b – границы интервала, внутри которого происходит поиск корня.

Первый тип функции root требует дополнительного задания начального значения (guess value) переменной х. Для этого нужно просто предварительно присвоить х некоторое число. Поиск корня будет производиться вблизи этого числа. Таким образом, присвоение начального значения требует априорной информации о примерной локализации корня.

Приведем пример решения очень простого уравнения sin(x)=0, корни которого известны заранее.

Листинг 8.1. Поиск корня нелинейного алгебраического уравнения:

Иллюстрированный самоучитель по MathCAD 11 › Алгебраические уравнения и оптимизация › Одно уравнение с одним неизвестным

График функции f (x)=sin(x) и положение найденного корня показаны на рис. 8.1.

Иллюстрированный самоучитель по MathCAD 11 › Алгебраические уравнения и оптимизация › Одно уравнение с одним неизвестным
Рис. 8.1. Графическое решение уравнения sin(x)=0

Обратите внимание, что, хотя уравнение имеет бесконечное количество корней xn=npi (n=0,±1,±2,…), Mathcad находит (с заданной точностью) только один из них, х0, лежащий наиболее близко к х=0.5. Если задать другое начальное значение, например х=3, то решением будет другой корень уравнения х1=pi и т. д. Таким образом, для поиска корня средствами Mathcad требуется его предварительная локализация. Это связано с особенностями выбранного численного метода, который называется методом секущих и состоит в следующем (рис. 8.2):

  • Начальное приближение принимается за 0-е приближение к корню: х0=х.
  • Выбирается шаг h=TOLх и определяется первое приближение к корню x1=x0+h. Если х=0, то принимается h=TOL.
  • Через эти две точки проводится секущая – прямая линия, которая пересекает ось х в некоторой точке х2. Эта точка принимается за второе приближение.
  • Новая секущая проводится через первую и вторую точки, тем самым определяя третье приближение, и т. д.
  • Если на каком-либо шаге оказывается, что уравнение выполнено, т. е. |If (x) |<TOL, то итерационный процесс прерывается, и х выдается в качестве решения.

Иллюстрированный самоучитель по MathCAD 11 › Алгебраические уравнения и оптимизация › Одно уравнение с одним неизвестным
Рис. 8.2. Иллюстрация метода секущих

Результат, показанный на рис. 8.2, получен для погрешности вычислений, которой в целях иллюстративности предварительно присвоено значение TOL=0.5. Поэтому для поиска корня с такой невысокой точностью оказалось достаточно одной итерации. В вычислениях, приведенных в листинге 8.1, погрешность TOL=0.001 была установлена по умолчанию, и решение, выданное численным методом, лежало намного ближе к истинному положению корня х=0. Иными словами, чем меньше константа TOL, тем ближе к нулю будет значение f (x) в найденном корне, но тем больше времени будет затрачено вычислительным процессором Mathcad на его поиск.

Соответствующий пример можно найти в Быстрых шпаргалках, на странице Ресурсов Mathcad. Он расположен в разделе "Solving Equations" (Решение уравнений) и называется "Effects of TOL on Solving Equations" (Влияние константы TOL на решение уравнений).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.