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

Нахождение корней полинома

Для нахождения корней выражения, имеющего вид

vnxn + … + v2x2 + v1x + v0,

лучше использовать функцию polyroots, нежели root. В отличие от функции root, функция polyroots не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные.

 

Polyroots(v)

Возвращает корни полинома степени n. Коэффициенты полинома находятся в векторе v длины n + 1. Возвращает вектор длины n, состоящий из корней полинома.

Аргументы:

v — вектор, содержащий коэффициенты полинома.

Вектор v удобно создавать использую команду Символы ⇒ Коэффициенты полинома. Рисунок 6 иллюстрирует определение корней полинома средствами Mathcad.

MathCAD дает возможность решать также и системы уравнений. Максимальное число уравнений и переменных равно 50. Результатом решения системы будет численное значение искомого корня.

Для решения системы уравнений необходимо выполнить следующее:

· Задать начальное приближение для всех неизвестных, входящих в систему уравнений. Mathcad решает систему с помощью итерационных методов.

· Напечатать ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений.

· Введите уравнения и неравенства в любом порядке. Используйте [Ctrl]= для

 
 

печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов <, >, ≤, и ≥.

· Введите любое выражение, которое включает функцию Find, например: а:= Find(х, у).

Find(z1, z2, . . .)

Возвращает точное решение системы уравнений. Число аргументов должно быть равно числу неизвестных.

Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое-либо выражение, содержащее функцию Find, называют блоком решения уравнений.

Следующие выражения недопустимы внутри блока решения:

· Ограничения со знаком ≠.

· Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.

· Неравенства вида a < b < c.

Блоки решения уравнений не могут быть вложены друг в друга, каждый блок может иметь только одно ключевое слово Given и имя функции Find.

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

· Можно вывести найденное решение, напечатав выражение вида:

Find(var1, var2,…) =.

· Определить переменную с помощью функции Find:

a := Find(x) — скаляр,
var := Find(var1, var2,…) — вектор.

Это удобно сделать, если требуется использовать решение системы уравнений в другом месте рабочего документа.

· Определить другую функцию с помощью Find

f(a, b, c, …) := Find(x, y, z, …).

Эта конструкция удобна для многократного решения системы уравнений для различных значений некоторых параметров a, b, c,…, непосредственно входящих в систему уравнений.

Сообщение об ошибке (Решение не найдено) при решении уравнений появляется, когда:

· Поставленная задача может не иметь решения.

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

· В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Для поиска искомого решения нужно задать различные начальные приближения.

· Возможно, поставленная задача не может быть решена с заданной точностью. Попробуйте увеличить значение TOL.

Пример 1 рисунка 8 иллюстрирует решение системы уравнений в MathCAD.