Научная электронная библиотека

Решение систем уравнений MathCAD осуществляет численными методами. При этом должно быть задано некоторое начальное приближение для тех переменных, значение которых необходимо найти. Основываясь на этих начальных данных, MathCAD будет последовательно уточнять решение до тех пор, пока не подберет наиболее точные значения. Проблемы возникают, когда нелинейная система имеет несколько решений. За один раз MathCAD находит только одно решение, которое обычно более близко к заданному начальному приближению. Поэтому в таких случаях необходимо решать систему несколько раз с различными начальными приближениями.
Решающий блок состоит из нескольких компонент, следующих на листе в строго определенном порядке:
1.2.1. Начальное приближение (присваивание начальных значений переменным).
1.2.2. Директива Given, которую необходимо набрать с клавиатуры.
1.2.3. Уравнения, которые необходимо решить. Уравнения вводятся в обычной математической форме, но вместо простого знака равенства «=» используется оператор логического равенства (вводится путем нажатия Ctrl- =).
1.2.4. Обращение к функции Find. Аргументами функции являются имена переменных, относительно которых решается система. Функция возвращает вектор значений, где первый элемент соответствует первой переменной в списке аргументов, второй элемент – второй переменной и так далее.
Пример. Решим систему нелинейных уравнений:

Данная система имеет два решения. Найдем одно из них (рис. 11) с начальным приближением x = 0; y = 0.
Последняя запись – вектор (–1; –2) есть значение, которое вернула функция Find, то есть одно из решений системы. Найти второе решение можно, если взять другое начальное приближение x = 2; y = 2. Тогда функция Find вернет вектор (2; 4).

Начиная с MathCAD 2000 существует возможность одновременно найти несколько решений. Для этого система уравнений и начальные приближения должны быть переписаны в векторной форме (рис. 12). Каждая переменная будет вектором, содержащим столько компонент, сколько решений находится. В системе изменения коснутся преимущественно членов с перемножением переменных. Допустим, что в уравнении присутствует выражение x*x. Если x = (x1; x2) – вектор, то x∙x = x1∙x1 + x2∙x2. Нам же необходим результат поэлементного перемножения (x1∙x1; x2∙x2). Для этого существует специальная операция, записываемая как .

Рис. 11. Решение системы в MathCAD

Рис. 12. Пример одновременного поиска нескольких решений
Изменения коснулись и части получения результата. В данном случае функция Find вернет вектор из двух элементов, которые мы обозначили как X и Y. Каждый из этих элементов есть вектор значений x или y для решений. Соответственно первое решение – (–1; –2); второе решение – (2; 4).
Аналитическое решение линейных и нелинейных систем уравнений
Данное решение используется для получения решений в общем виде. Обычно при этом система уравнений записывается только с использованием буквенных обозначений переменных, без конкретных чисел. Для получения аналитического решения (рис. 13, 14) используется оператор аналитического вычисления «→» вместо оператора числового вычисления «=».

Рис. 13. Пример аналитического решения нелинейной системы

Рис. 14. Пример аналитического решения линейной системы
Следует обратить внимание, что здесь при решении системы нелинейных уравнений в блоке Given-Find уже нет необходимости указывать начальные приближения, поскольку решение идет не численными, а символьными методами (используется ядро математической системы Maple).
Решение уравнений и систем уравнений средствами Mathcad
Для нахождения корней уравнения выделяют два
этапа:
1) отделение корней − определение интервала
нахождения каждого корня или определение
приблизительного значения корня. В Mathcad
наиболее наглядным является отделение корней
уравнения графическим способом;
2) уточнение корней − нахождение численного
значения корня с заданной точностью.
3.
Точность нахождения корня устанавливается с помощью
системной переменной TOL(по умолчанию равно 10-3 )
Переопределить значение системной переменной TOL
можно:
• TOOLS – Worksheet Options –
перейти на вкладку Build-In Variables (Встроенные
переменные) и в поле TOL ввести новое значение,
например, 0.0001.
Это значение распространяется на весь документ
Mathcad.
• присваивание системной переменной TOL
непосредственно в документе Mathcad нового
значения, например, TOL:=0.0001
4.
Для решения одного уравнения с одной неизвестной
предназначена встроенная функция root, формат обращения к
которой имеет вид:
root(f(x), x, [a, b]).
Данная функция возвращает значение переменной x, при котором
функция f(x) обращается в ноль.
Аргументы функции root:
f(x) – функция в левой части уравнения f(x) = 0;
x – переменная, относительно которой требуется решить
уравнение;
a, b – необязательные действительные числа, такие что a < b,
причем на интервале [a, b] находится только один корень.
Если функция root не может найти корни уравнения, то
рекомендуется уточнить начальное приближение, изменить
границы интервала [a, b] нахождения корня или увеличить
значение системной переменной TOL.
5.
Поиск корней многочлена. Функция polyroots
Для решения полиномиальных уравнений вида
vn x vn 1 x
n
n 1
. v1 x v0 0
или нахождения всех корней полинома степени n,
используют функцию polyroots(v)
В общем виде нахождение корней полинома
сводится к выполнению следующих действий:
• Составляется вектор столбец v
a0
a1
из коэффициентов полинома
v
.
an
• Осуществляется непосредственный поиск корней
функцией polyroots(v)=
6.
Пример 1. Решить уравнение:
3
2
f ( x) 2 x 8 x 25 x 64
0.395 3.132i
polyroots ( v ) 0.395 3.132i
3.211
v
25
8
2
64
7.
Решение систем линейных уравнений
8.
1) матричный способ
• задается матрица коэффициентов при неизвестных
системы A:=;
• задается столбец свободных членов b:=;
• вводится формула для нахождения решения
системы X:=A-1*b
• выводится вектор решений системы X=.
2) Использование функции lsolve(A, b)
Пакет Mathcad имеет встроенную функцию
lsolve(A, b)=
9.
Решение систем нелинейных уравнений
Используются функции Find и Minerr.
Начальные условия
Given
Уравнения системы
Выражения с функциями
Find, Minerr
10.
Пример. Найти точные решения системы
уравнений:
x y x y 7
x y x y 13
Решение :
x
1
y
1
Given
x y
x y 7
x y
x y 13
Find ( x y )
жирный знак равенства
CTRL+
5
2
Решение уравнений
Рассмотрим задачу решения системы из n линейных уравнений. Пусть нам дана система уравнений:

- Составляем матрицу A, состоящую из коэффициентов при переменных (размерность n x n).
- Составляем матрицу свободных членов B (размерность ( n x 1).
- Перепишем и исходную систему в матричном виде: .
Матричный способ






В системе MathCAD введена встроенная функция lsolve (A,B) , которая решает систему аналитически и возвращает вектор X для системы линейных уравнений при заданной матрице коэффициентов А и векторе свободных членов В .
Пример 4.7
Решить систему примера 4.6, используя функцию lsolve()






,
, 




























