Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть1_MathСad_заочн_6_09_06.doc
Скачиваний:
50
Добавлен:
15.04.2015
Размер:
825.86 Кб
Скачать

Реализация в 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.