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

Численное решение уравнений с помощью программы MathCad.

1. ЦЕЛЬ РАБОТЫ

Получение навыков численного решения линейных и нелинейных уравнений и систем. Получение навыков решения дифференциальных уравнений с использованием встроенных функций MathCAD.

2. ТЕОРЕТИЧЕСКИЕ ПОЯСНЕНИЯ

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

Известно, что система линейных уравнений в матричной форме A*X=B.

Вектор решения получается из X=A-1*B.

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

Для решения данной системы необходимо составить матрицу коэффициентов системы (например назовём её А) и матрицу свободных членов (например В):

Ввод матрицы осуществляется через сочетание клавиш Ctrl+M или кнопка на панели матрица, в появившемся окне указываете размерность матрицы.

После этого вводим выражение для расчёта и получаем матрицу решений:

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

Применение функции проиллюстрировано ниже:

Численное решение нелинейных уравнений

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

Функция polyroots(v) определяет корни многочлена степени n, коэффициенты которого находятся в векторе v длинной n+1.

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

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

Given

Уравнения

Ограничительные условия

Выражения с функциями find и minerr

Между функциями find и minerr существуют принципиальные различия. Первая функция используется, когда решение реально существует. Вторая функция пытается найти максимальное приближение даже к несуществующему решению путем минимизации среднеквадратичной погрешности решения.

find(v1,v2,…,vn) – возвращает значение одной или ряда переменных для точного решения;

minerr(v1,v2,…,vn) – возвращает значение одной или ряда переменных для приближенного решения.

Выполнение работы

1. Решение систем линейных уравнений с помощью матричных вычислений.

Пусть необходимо решить следующую систему:

Вводим матрица значений А и матрицу результатов B. Решение системы произведение инвертированной матрицы А и матрицы B.

2. Решение систем линейных уравнений с помощью функции lsolve:

Пусть необходимо решить следующую систему:

Пример решения системы:

3. Решение нелинейных уравнений с использованием функции root.

Необходимо определить корни уравнения:

Пример решения уравнения:

Другой пример применения функции root:

Необходимо вычислить корни следующей функции:

Решение:

4. Решение нелинейных уравнений с использованием функции polyroots.

Для применения этой необходимо выписать аргументы,стоящие перед каждой неизвестной переменной.

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

5. Решение уравнений и систем уравнений с помощью вычислительного блока Given-Find:

Пример решения нелинейного уравнения

Пример решения систем уравнений

Полезные приёмы при проведении расчётов в MathCad

1) Если при решении отдельных уравнений или систем, необходимо получить переменную с определённым именем, то можно использовать следующий приём:

2) Если необходимо получить решение отдельных уравнения или систем в символьном виде, то применяется оператор символьного решения , например при решении уравнения:

3) При слишком длинных расчётах, бывает удобно скрывать часть расчётов. Для этого в MathCad существует специальное поле, которое вставляется с помощью команды из главного меню добавить > область, после чего можно скрыть её через контекстное меню.