Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MathCAD 2001.doc
Скачиваний:
31
Добавлен:
21.11.2018
Размер:
6.61 Mб
Скачать

2.2. Корни полинома

Если функция является полиномом, то все его корни можно определить, используя встроенную функцию polyroots(v), где v – вектор, составленный из коэффициентов полинома. Поскольку полином N-й степени имеет ровно N корней (некоторые из них могут быть кратными), вектор v должен состоять из N+1 элементов. Результатом действия функции polyroots является вектор, состоящий из N корней рассматриваемого полинома. При этом нет надобности вводить какое-либо начальное приближение.

Задание 9. Найдите корни полинома f(x)=(x-3)·(x-1)3=x4-6x3+12x2-10x+3, выполнив следующие операции:

  1. Откройте новый документ.

  2. Введите с помощью оператора присваивания вектор коэффициентов полинома

Первым в векторе должен идти свободный член полинома, вторым - коэффициент при x1 и т. д. Последним должен быть коэффициент при старшей степени xN. Чтобы использовать встроенную функцию матрицу-строку нужно транспонировать. Для этого используется команда Транспонировать матрицу на палитре Матрицы.

  1. С помощью диалогового окна Insert Function (Вставить функцию) введите имя встроенной функции и получите вектор ответов:

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

  2. Для функции polyroots можно выбрать один из двух численных методов – метод полинома Лаггера или метод парной матрицы. Приведенный выше результат получен методом Лаггера. Для перехода на другой метод выполните следующие шаги:

  • вызовите контекстное меню, щелкнув правой кнопкой над именем функции polyroots;

  • выберите нужный метод: либо LaGuerre (Лаггера), либо Companion Matrix (Матрица компаньонов).

  • Щелкните по пустому месту экрана и система произведет пересчет корней полинома в соответствии с выбранным методом.

  1. Метод парной матрицы должен дать более точный результат:

  1. Сохраните полученные результаты в своей папке.

2.3. Системы уравнений

Рассмотрим методику решения системы N нелинейных уравнений с M неизвестными:

Здесь f1(x1,…,xM),..., fN(x1,…,xM) – некоторые скалярные функции от скалярных переменных x1,…,xM и, возможно, от еще каких-либо переменных. Уравнений может быть как больше, так и меньше числа переменных. Эту систему формально можно записать так:

f(x)=0

где x – вектор, состоящий из переменных x1,x2…,xM, а f(x) – соответствующая векторная функция.

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

  1. Given – ключевое слово;

  2. Система, записанная логическими операторами в виде равенств и, возможно, неравенств.

  3. Find((x1,…,xM) встроенная функция для решения системы относительно переменных x1,…,xM.

Вставить логические операторы можно, использую палитру Boolean (Булевы). Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требует задания начального значения для всех x1,…,xM. Сделать это необходимо до ключевого слова Given. Значение функции есть вектор, включающий решение по каждой переменной.

Задание 10. Решите систему уравнений:

x4+y2-3=0,

x+2·y=0.

  1. Используя оператор присваивания, введите функции, определяющие систему уравнений:

  1. Введите значения переменных, относительно которых система будет решаться, присвоив им начальные значения:

  1. Введите ключевое слово Given и два логических оператора, выражающих рассматриваемую систему уравнений. Для записи символа булева равенства используйте палитру Boolean (Булевы). Обратите внимание на то, что этот символ отличается от обычного знака равенства, означающего оператор численного вычисления, так как отображается жирными линиями.

  1. С помощью оператора присваивания введите функцию Find:

  1. Получите численное решение:

  1. Проверьте правильность решения системы:

  1. Сохраните результаты решения в своей папке.

Рассматриваемая система имеет два решения. Второе решение может быть получено, если выполнить следующие операции:

Обратите внимание на то, что здесь, как в предыдущем случае используются операторы булева равенства.

Другое решение получено благодаря введению дополнительного неравенства.

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

Вычислительным блоком с функцией find можно найти и корень уравнения с одним неизвестным. Например, для уравнения sin(x)=0 , ближайшим корнем к точке x=0,5 будет нуль.

Полученный результат следует считать нулевым.