Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решение уравнений.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
175.62 Кб
Скачать

Решение систем линейных уравнений

Векторные и матричные операторы и функции системы MatCAD позволяют решать широкий круг задач линейной алгебры. К примеру, если задана матрица А и вектор В для системы линейных уравнений в матричной форме А*Х:=В, то вектор решения можно получить из очевидного выражения

Х:=А-1.

Поскольку решение систем линейных уравнений довольно распространенная задача, то для этого в MatCAD, начиная с шестой версии введена встроенная функция lsolve(A,B), которая возвращает вектор Х для системы линейных уравнений А*Х=В при заданной матрице коэффициентов А и векторе свободных членов В. Если уравнений n, размерность вектора В должна быть n, а размер матрицы Аn* n.

Приведем пример решения системы линейных уравнений (обратите внимание, что решаемая система имеет матрицу с комплексными коэффициентами):

А:=

4

0.24

-0.08

0.09

3

-0.15

0.04

-0.08

4


Матрица коэффициентов системы

В:=

8

9

20


Вектор свободных членов

Х:=А-1В Решение системы

Х=

1.909

3.195

5.0450


Результаты решения

Х1=

1.909

3.195

5.0450


Решение с применением функции lsolve :

Х1:=lsolve(A,B)

Поиск корня нелинейного уравнения с помощью функции

root

Многие уравнения, например трансцендентные, и системы из них не имеют аналитических решений. Однако они могут решаться численными методами с заданной погрешностью(не более значения, заданного системной переменной TOL). Для простейших уравнений вида F(x)=0 решение находится с помощью функции

Root (выражение, Имя_переменной)

Эта функция возвращает значение переменной, при котором выражение дает 0. Функция реализует вычисления итерационным методом, причем можно задать начальное значение переменной. Это особенно полезно, если возможно несколько решений. Тогда выбор решения определяется выбором начального значения переменной. Приведем пример решения кубического полинома.

Вычисление корней кубического полинома

Коэффициенты полинома

F(x):= Задание полинома

Вычисление действительного корня

Вычисление двух других (возможно комплексных) корней корней

Как и следовало ожидать, комплексные корни кубического полинома являются взаимно сопряженными!

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

F(x) на (x-x1). Соответственно для поиска третьего корня х3 F(x) делится еще и на (x-x2). Эту процедуру можно распространить и на поиск корней полиномов более высокой степени, однако нужно помнить, что найти корни полинома можно гораздо более простым способом – используя операцию символьных вычислений.

Вычисление корней многочлена с помощью функции polyroots

Для поиска корней обычного полинома р(х) степени n MathCAD содержит очень удобную функцию:

polyroots(V)

Она возвращает вектор корней многочлена (полинома) степени n, коэффициенты которого находятся в векторе V, имеющем длину, равную n+1.

Заметим, что корни полинома могут быть как вещественными, так и комплексными числами. Не рекомендуется пользоваться этой функцией, если степень полинома выше пятой-шестой, так как тогда трудно получить малую погрешность вычислений корня.

Коэффициенты полинома

F(x):= Задание полинома

Пример применения функции polyroots

Применение функции root( ) в составе функции пользователя

Функцию root( ) можно использовать и в составе функций пользователя, что нередко позволяет получать довольно простые решения для нетривиальных задач.

Пример: вычислить функцию G(a,x)=ex–ax2.

Применение функции root в составе функции пользователя