Нелинейные уравнения и системы

Как правило, отыскание корней численными методами связано с несколькими задачами:

  • исследование существования корней в принципе, определение их количества и примерного расположения;
  • отыскание корней с заданной погрешностью tol.

Последнее означает, что надо найти значения х0, при которых f (х0) отличайся от нуля не более чем на tol. Почти все встроенные функции системы Mathcad, предназначенные для решения нелинейных алгебраических уравнений, нацелены на решение второй задачи, т. е. предполагают, что корни уже приблизительно локализованы. Mathcad предлагает несколько встроенных функций, которые следует применять в зависимости от специфики уравнения, т. е. свойств f(x). Для решения одного уравнения с одним неизвестным служит функция root, реализующая метод секущих; для решения системы - вычислительный блок Given/Find, сочетающий различные градиентные методы. Если f(х) — это полином, то вычислить все его корни можно также с помощью функции polyroots. Кроме того, в некоторых случаях приходится сводить решение уравнений к задаче поиска экстремума.

Рассмотрим одно алгебраическое уравнение с одним неизвестным х (f(x)=0).

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

  • root(f(х),х)
  • root(f (x) , х, а, b)

где:

f(x) — скалярная функция, определяющая уравнение f(x)=0;

х — скалярная переменная, относительно которой решается уравнение;

а, b — границы интервала, внутри которого происходит поиск корня.

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

Для решения систем имеется специальный вычислительный блок, состоящий из трех частей, идущих последовательно друг за другом:

  • Given — ключевое слово;
  • система, записанная логическими операторами в виде равенств и, возможно, неравенств;
  • Find (x1, ..., хм) — встроенная функция для решения системы относительно переменных x1, ..., хм.

Вставлять логические операторы следует, пользуясь панелью инструментов Boolean (Булевы операторы). Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требуется задать начальные значения для всех x1, ..., хм. Сделать это необходимо до ключевого Given. Значение функции Find есть вектор, составленный из решения и каждой переменной. Таким образом, число элементов вектора равно числу аргументов Find.

 

Примеры:

nelinur.mcd

nelinur2.mcd

<<Назад

Далее >>