Решение уравнений и систем уравнений MathCAD
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Решение уравнений и
систем уравнений в
Mathcad
Классификация уравнений
Классификационный признак: предлагаемый характер и
число решений
Алгебраические и
трансцендентные
уравнения
Одно уравнение
Линейное
(одно решение)
Система уравнений
Нелинейное
Алгебраическое
(n решений)
Линейное
(одно решение)
Трансцендентные
(неопределенное
число решений)
Нелинейное
(несколько
решений)
Нелинейные уравнения
• Алгебраические уравнения – уравнения,
содержащие только алгебраические функции (целые,
рациональные, иррациональные). В частности,
многочлен является целой алгебраической
функцией.
• Уравнения, содержащие другие функции
(тригонометрические, показательные,
логарифмические и другие) называются
трансцендентными.
Методы решения нелинейных
уравнений делятся на две группы:
• Точные методы позволяют получить
корни в виде некоторого конечного
соотношения - формулы
• Итерационные методы позволят
получить корни с заданной точностью
путем сходящихся итерационных
процессов
• Большинство употребляющихся приближенных
методов решения уравнений являются, по существу,
способами уточнения корней. Для их применения
необходимо знание интервала изоляции [a,b], в
котором лежит уточняемый корень уравнения
Решение уравнения:
уточнение корней, т.е.
сужение интервала [a,b] до
величины равной заданной
степени точности .
5
Методы уточнения приближенных
значений корней:
• Метод подбора параметра;
• графический метод;
• метод простых итераций (последовательных
приближений);
• метод половинного деления (метод дихотомии);
• метод Ньютона (метод касательных);
• метод хорд.
6
Решение нелинейных уравнений
• В MathCAD имеются средства для
отыскания корней уравнения с одной и
многими переменными.
• Используются встроенные функции.
– Root()
– Polyroots()
Для решения нелинейного уравнения f(x)
используется функция root:
root ( f (x), x, [a,b] ),
– х – имя переменной, относительно которой
решается уравнение,
– a, b – левый и правый концы отрезка, на котором
находится корень уравнения (необязательные
параметры, но a должно < b )
– Если интервал [a,b] не указан, то перед
использованием функции root() используют метод
секущей.
Функция root
• Поиск корня уравнения осуществляется итерационным
методом с заданной точностью (TOL).
– Перед использованием функции root необходимо задать
начальное значение переменной (первое приближение
при поиске корня).
– Если процесс сходится, то итерация заканчивается, когда
значение f(x) становится меньше TOL.
– Если процесс расходится и MathCAD не может найти
корень, итерация прекращается и выдается сообщение –
«Невозможно вычислить точно по одной или более
переменным, которые указаны».
Алгоритм нахождения корня уравнения с
помощью встроенной функции root()
Дан полином 3-й степени:
– Задать точность TOL=10-4
– Построить двумерный график функции f(x)
– Выбрать отрезок, на концах которого функция
принимает значения разных знаков (пересечение
с осью абсцисс).
– Применить функцию
root (полином, переменная, начало отрезка, конец отрезка).
Отсутствие сходимости root
• Уравнение не имеет корней.
• Корни уравнения расположены далеко от
начального приближения.
• Выражение имеет локальные max и min между
начальным приближением и корнями.
• Выражение имеет разрывы между начальными
приближениями и корнями.
• Выражение имеет комплексный корень, но
начальное приближение было вещественным.
Нахождение корней полинома
• Если f(x) представляет собой полином и
его коэффициенты начиная со
свободного члена, можно представить в
виде вектора v, то для поиска
одновременно всех корней полинома
используется функция polyroots(v).
vnxn + ... + v2x2 + v1x + v0
Алгоритм нахождения корней полинома с
помощью встроенной функции polyroots()
• Функция находит все корни уравнения и выводит их в
виде вектора.
Пример:
• Дан полином 3-й степени:
• Задать точность TOL=10-4
• Записать коэффициенты полинома в вектор v,
начиная с коэффициента, стоящего у неизвестного
низшей степени. Вектор v примет вид:
polyroots()
• Применить функцию polyroots
(вектор коэффициентов).
• Проверка: необходимо в
исходную функцию поочередно
подставить корни уравнения.
Если вычисления проведены правильно, то значение
функции в корнях уравнения должны быть равны 0 или
числам близким к 0 (зависит от точности).
СЛАУ
• Способы решения:
– Блок Given Find
– Матричный способ
– Функция lsolve()
– Метод Гаусса
1. Блок Given–Find ()
1. Задать начальное приближение всех неизвестных,
входящих в систему уравнений (на основе начального
приближения строится последовательность, сходящаяся к
искомому решению)
2. Ключевое слово GIVEN (указывает, что далее
следует система уравнений)
3. Ввести уравнения или неравенства в любом порядке
через символьный знак CTRL + =
(<, >,<=,>=)
4. Ввести FIND (x1,x2,x3) возвращает решение
системы уравнений, число аргументов должно быть
равно числу неизвестных
Недопустимые выражения внутри
блока решения
• Ограничения со знаком
• Дискретный аргумент или выражения,
содержащие дискретный аргумент в
любой форме
• Неравенства вида a < b < c
– Блоки решения уравнений не могут быть
вложены друг в друга
Пример: блок GIVEN-FIND
2. Матричный способ
• Дана СЛАУ:
–
–
–
–
Ввести матрицу системы (А)
Ввести вектор правых частей (b)
Вычислить определитель |A|
Применить формулу матричного
метода: X:=A–1*B
– Вывести вектор неизвестных х.
– Сделать проверку A*X–B
3. Использование функции lsolve()
–
–
–
–
Ввести матрицу системы (А)
Ввести вектор правых частей (b)
Применить функцию lsolve(A, b)
Сделать проверку
4. Метод Гаусса
– Ввести матрицу системы (А)
– Ввести вектор правых частей (b)
– Произвести слияние матриц при
помощи функции augment(A, b)
– Обращаемся к методу Гаусса,
сформировав единичную матрицу
из расширенной rref (Матрица)
– Выделить необходимый блок
матрицы с помощью submatrix
(матрица, н. стр, к. стр, н. стб, к. стб)
– Проверка
Приближенные решения: блок
Given-minerr()
• Возвращает приближенное решение системы
уравнений. Число аргументов должно быть
равно числу неизвестных.
– Если Minerr используется в блоке решения
уравнений, необходимо всегда включать
дополнительную проверку достоверности
результатов.
– Minerr(vl, v2, ..., vn) – возвращает значение одной
или ряда переменных для приближенного
решения.
Блок решения нелинейного
уравнения
1. Дана система
2. Из каждого уравнения выразить
переменную, представить уравнение
системы в виде: f 1(x) = y и f 2 (y)= x
Решение системы нелинейных
уравнений
3. Необходимо выделить корень системы
уравнений графически (построить график
функций f1(x) и f2(y) ).
Решение системы нелинейных
уравнений
4. Задать начальное
приближение –
значения x и y.
Начальные значения
должны быть
максимально
приближены к корню
системы (точка
пересечения двух
графиков).
Решение системы нелинейных
уравнений
5. Далее используется вычислительный блок Given –
Minerr (). В вычислительном блоке любое
равенство записывается через жирное равно
(Ctrl+=).
–
Параметрами оператора minerr () являются переменные
относительно которых решается система
Решение системы нелинейных
уравнений
6. Проверка (подстановка в уравнение
неизвестных).
Проверка показала, что решение найдено верно.