- •Лабораторная работа № 3 Решение уравнений и систем уравнений средствами Mathcad
- •Численное решение нелинейного уравнения
- •2. Численное нахождение корней полинома
- •3. Решение систем уравнений
- •4. Приближенное решение систем уравнений
- •5. Решение систем линейных алгебраических уравнений в матричной форме
- •Задания для самостоятельной работы
- •Варианты задания 1
- •Варианты задания 2
- •Варианты задания 3
- •Варианты задания 4
2. Численное нахождение корней полинома
Для нахождения корней выражения, имеющего вид:
vnxn + ... + v2x2 + v1x + v0,
удобно использовать функцию polyroots (Рис.2), нежели root. Функция polyroots не требует начального приближения и возвращает сразу все корни. Обращение к функции:
polyroots(v)
Функция возвращает корни полинома степени n. Коэффициенты полинома находятся в векторе v длины n + 1. Аргументы функции polyroots: v – вектор, содержащий коэффициенты полинома. Вектор v удобно создавать использую команды Символика/ Полиномиальные коэффициенты (Symbolic/Polynomial Coefficient).
Рис 3. Определение корней полинома с помощью функции polyroots
Задание
3. Найти
корни полинома
и показать решение на графике (рис.3).
3. Решение систем уравнений
Для решения систем уравнений можно использовать вычислительный блок Given…Find.
Для решения системы уравнений необходимо:
Задать начальное приближение для всех неизвестных, входящих в систему уравнений.
Напечатать ключевое слово Given.
Ввести уравнения и неравенства в любом порядке. Использовать комбинацию клавиш [Ctrl]= для печати символа= (или кнопку
на панели Логический
(Boolean)).Ввести любое выражение, которое включает функцию Find.
Обращение к функции:
Find(z1, z2,…)
Функция возвращает точное решение системы уравнений. Аргументы функции Find: z1, z2,… – неизвестные.Число аргументов должно быть равно числу неизвестных.
Можно произвести с функцией Find следующие действия:
Вывести найденное решение, напечатав выражение вида:
Find(var1, var2,…) =.
Определить переменную с помощью функции Find:
a := Find(x) – скаляр,
var := Find(var1, var2,…) – вектор.
Определить другую функцию с помощью Find:
f(a, b, c, …) := Find(x, y, z, …).
Сообщение
об ошибке
(Решение не найдено) при решении уравнений
появляется, когда:
Поставленная задача может не иметь решения.
Для уравнения, которое не имеет вещественных решений, в качестве начального приближения взято вещественное число и наоборот.
В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Для поиска искомого решения нужно задать различные начальные приближения.
Увеличить значение переменной TOL.
Задание 4. Найти решение системы уравнений с помощью вычислительного блока Given…Find (рис.4):
Выполнение: для нахождения начальных приближений необходимо построить графики функций, входящих в систему.
Рис. 4. Решение системы нелинейных уравнений
Чтобы решить систему уравнений в символьном виде, необходимо выполнить следующее:
Напечатать ключевое слово Given.
Напечатать уравнения в любом порядке ниже слова Given. Для ввода знака = использовать [Ctrl]=.
Напечатать функцию Find, соответствующую системе уравнений.
Нажать [Ctrl]. (клавиша CTRL, сопровождаемая точкой). Mathcad отобразит символьный знак равенства .
Щелкнуть мышью за пределами блока.
Задание 5. Найти решение системы уравнений в символьном виде (рис.5):
Рис 5. Аналитическое (символьное) решение систем алгебраических уравнений, заданных в буквенной форме с помощью функции Find
