- •Раздел 1 Общая характеристика системы MathCad. Интерфейс MathCad
- •Тема 1. Базовые вычисления в MathCad Краткие теоретические сведения
- •Тема 2. Обработка структурированных данных в MathCad Краткие теоретические сведения
- •2.2 Обработка матриц и векторов
- •Тема 4. Создание программных фрагментов в MathCad Краткие теоретические сведения
- •Тема 5. Построение графиков Краткие теоретические сведения
- •Реализация в MathCad:
- •Тема 6. Решение уравнений и систем Краткие теоретические сведения
- •Реализация вMathCad:
Реализация в MathCad:
Тема 6. Решение уравнений и систем Краткие теоретические сведения
Для алгебраических уравнений вида f(x)=0 решение в MathCad находится с помощью функции root.
Общий вид функции следующий:
root( f(х), х), где
f(х) – функция, описывающая левую часть выражения вида f(x)=0,
х – имя переменной, относительно которой решается уравнение.
Функция root реализует алгоритм поиска корня численным методом и требует предварительного задания начального приближения искомой переменной х. Поиск корня будет производиться вблизи этого числа. Таким образом, присвоение начального значения требует предварительной информации о примерной локализации корня.
Функция позволяет найти как вещественные корни, так и комплексные. В случае комплексного корня начальное приближение нужно задать в виде комплексного числа.
Если после многих итераций Mathcad не находит подходящего приближения, то появится сообщение «отсутствует сходимость».
Эта ошибка может быть вызвана следующими причинами:
уравнение не имеет корней;
корни уравнения расположены далеко от начального приближения;
выражение f(x) имеет разрывы между начальным приближением и корнем;
выражение имеет комплексный корень, но начальное приближение было вещественным и наоборот.
Для изменения точности, с которой функция root ищет корень, нужно изменить значение системной переменной TOL. Например, просле задания в документе оператора TOL:=0.00001 точность вычисления корня станет равной 0.00001.
Для нахождения корней полиномиального уравнения вида
используется функция polyroots.
В отличие от функции root, polyroots не требует начального приближения и вычисляет сразу все корни, как вещественные, так и комплексные.
Общий вид:
polyroots(v),
где v – вектор коэффициентов полинома длины n+1, n – степень полинома. Вектор v формируется следующим образом: в первый его элемент заносится значение коэффициента полинома при х0, т.е. v0, во второй элемент - значение коэффициента полинома при х1, т.е. v1 и т.д. Таким образом, вектор заполняется коэффициентами перед степенями полинома справа налево.
Функция вычисляет вектор длины n, состоящий из корней полинома.
На рисунке 2.6.1 приведены примеры вычисления корней уравнений с помощью функций root и polyroots.
|
MathCAD дает возможность решать системы уравнений и неравенств.
Наиболее распространенным методом решения уравнений в Mathcad является блочный метод. Для решения системы этим методом необходимо выполнить следующее:
a) задать начальное приближение для всех неизвестных, входящих в систему уравнений;
б) задать ключевое слово Given, которое указывает, что далее следует система уравнений;
в) ввести уравнения и неравенства в любом порядке (использовать кнопку логического равенства на панели знаков логических операций для набора знака «=» в уравнении);
г) ввести любое выражение, которое включает функцию Find.
Решающим блоком называется часть документа, расположенная между ключевыми словами Given и Find.
После набора решающего блока Mathcad возвращает точное решение уравнения или системы уравнений.
Обратиться к функции Find можно несколькими способами:
Find(x1, x2,…) = - корень или корни уравнения вычисляются и выводятся в окно документа.
x := Find(x1, x2,…) – формируется переменная или вектор, содержащий вычисленные значения корней.
Сообщение об ошибке «Решение не найдено» появляется тогда, когда система не имеет решения или для уравнения, которое не имеет вещественных корней, в качестве начального приближения взято вещественное число и наоборот.
Приближенное решение уравнения или системы можно получить с помощью функции Minerr.
Если в результате поиска не может быть получено дальнейшее уточнение текущего приближения к решению, Minerr возвращает это приближение. Функция Find в этом случае возвращает сообщение об ошибке. Правила использования функции Minerr такие же, как и для функции Find. Часть документа, расположенная между ключевыми словами Given и Minerr так же носит название решающего блока.
Примеры решения систем уравнений с помощью решающего блока приведены на рисунке 2.6.2.
Для решения систем линейных уравнений можно использовать общепринятые математические методы: метод Крамера, матричный метод и т.д.
Матричный метод решения системы линейных уравнений реализован в функции lsolve. Общий вид функции:
lsolve(а, b)
где а – матрица коэффициентов перед неизвестными, b – вектор свободных членов.
Пример 6.3. Решить систему линейных уравнений
методом Крамера, матричным и блочным методами. Сравнить полученные результаты. Начальные значения корней при использовании блочного метода принять равными 1.
Реализация в MathCad:
Пример 6.2. Вычислить множество корней полиномиального уравнения с использованием функцииpolyroots.