Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабораторныйПрактикум1.pdf
Скачиваний:
366
Добавлен:
02.02.2015
Размер:
4.76 Mб
Скачать

Существует функция polyroots(), которая возвращает вектор всех нулей полинома (как действительных, так и комплексных). Аргументом функции polyroots() является вектор коэффициентов, который можно создать вручную, или получить с помощью оператора символьных преобразований coeffs. Скопируйте функцию в новый документ, ниже

введите «C:=y(x) coeffs →» (откройте панель

Символьные

 

 

преобразования, после введения «C:=y(x)» нажмите

кнопку

▪ →

Символьный расчёт с ключевым словом (в подсказке к команде указано

Ctrl+>, т.к. символ «>» вызывается Shift+., необходимо нажать

Ctrl+Shift+.), в маркер ввода впишите «coeffs», и нажмите Enter).

Проверьте перекрытие блоков, раздвиньте их в случае наложения. Вектор коэффициентов задаётся сверху вниз, начиная с C0. В этом примере, как указывалось ранее, коэффициент C2 равен нулю, что отражено в векторе коэффициентов и C2x2 отсутствует в уравнении. Ниже введите «polyroots(C)=», будет выведен вектор, содержащий три корня полинома. Сохраните документ как MC11.xmcdz.

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

Системы линейных алгебраических уравнений

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

компактных подмножествах евклидова пространства, способствовали развитию методов разложения в ряды и полиномиальной интерполяции в математическом анализе. Многочлены также играют ключевую роль в алгебраической геометрии, объектом которой являются множества, определённые как решения систем многочленов. Особые свойства преобразования коэффициентов при умножении многочленов используются в алгебраической геометрии, алгебре, теории узлов и других разделах математики для кодирования, или выражения многочленами свойств различных объектов. При употреблении полинома принято указывать его степень, равную максимальной степени переменной в выражении, в рассматриваемом примере используется полином третьей степени. Полиномы степеней 3–6 популярны в программах технологических расчётов из-за простоты использования и точности описания свойств веществ, где коэффициенты полиномов описания свойств заданы массивами констант.

293

a 2b 3c 1

Система алгебраических линейных уравнений вида 4a 5b 6c 27a 8b 9c 3

может быть записана в матричной форме: A X = B, где A – квадратная матрица коэффициентов при неизвестных, X – вектор неизвестных, B – вектор свободных членов. Первоначально для решения такой системы был предназначен оператор A–1B – произведение обратной (инвертированной) матрицы на вектор свободных членов B. С версии 7 была введена функция lsolve(). В этом примере используется «телефонная матрица», повторяющая раскладку кнопочного телефона, довольно часто используемая для примеров.

Решения A–1B и lsolve() могут отличаться, если матрица вырождена (сингулярна), т.е. её определитель равен нулю. Метод A–1B прервётся ошибкой, а lsolve() выдаст результат, если их множество.

3a 2b 1c 4

Необходимо найти решение системы уравнений 8a 5b 9c 6 .7a 4b 6c 9

 

 

3

2

1

 

 

В новом документе задайте значения матрицы

A :

8

5

9

 

и

 

 

 

 

 

 

 

 

 

7

4

6

 

 

 

 

 

 

4

вектора B : 6 , с помощью команды М–1 Обращение панели Матрица

9

выполните: «X := A–1 B =», выполните проверку: «A X =», результат должен совпасть со значениями свободных членов (вектор B). Ниже найдите решение другим способом: «X := lsolve(A, B) =», выполните проверку.

Использование блока Given/Find для решения систем уравнений

Для решения систем уравнений, в том числе нелинейных, используется блок операторов Given/Find (Дано/Найти), между которыми размещаются операторы системы уравнений. Этот блок позволяет решать

294

системы с числом неизвестных до 256, но любая функция, в том числе Find, может иметь максимум 50 аргументов.

Т.к. в нашем примере массивы коэффициентов уже заданы, введите: «Given A X = B X := Find(X) = A X =». Обратите внимание,

что в уравнении «A X = B» внутри блока Given/Find знак равенства выделен жирным шрифтом, он вводится кнопкой Равно (Ctrl+=) панели Булева алгебра, относится к операторам сравнения. Между левыми и правыми частями неравенств может стоять любой из символов =, ≠, <, >,

и . Сохраните документ как MC12.xmcdz.

Вновом документе решите задачу: при каких значениях x выражения x2+10 и ex приобретают одинаковые значения? Введите

начальное приближение «x:=1», затем блок поиска решения «Given x2 + 10 = ex Find(x) = ». Сохраните документ как MC13.xmcdz.

Рассмотрите пример из справочной системы Mathcad: пересечение окружности с прямой (см. результат ниже). В новом документе задайте радиус R, равный трём. В контекстном меню для введенного математического блока (вызывается нажатием правой кнопки мыши на объекте) выберите команду Свойства, на вкладке Отображение в блоке Фон установите параметр Выделить регион, выберите жёлтый цвет. Выделение цветом обычно используется для того, чтобы пометить поля ввода. Задайте дискретную переменную x в диапазоне от –R до R с шагом 0,01. Постройте график, как показано на примере ниже, для создания целой окружности (x2 + y2 = R2) используются два графика для верхней и ниж-

ней половины соответственно: y1(x) : R2 x2 и y2(x) : R2 x2 . У графика установите оси По центру, отобразите линии сетки, у первых двух графиков установите одинаковые параметры линии (сплошная красного цвета), у третьего графика установите пунктирный тип линии и синий цвет. Для всех графиков установите толщину линий 2. Увеличьте график так, чтобы окружность и клетки сетки приобрели симметричный вид. Ниже решите систему уравнений, задайте начальные приближения «x:=2 y:=1», затем запишите оператор «Given» (операторы Given и Find не чувствительны к регистру), затем задайте уравнения системы с

использованием оператора Равно (Ctrl+=) «x2 + y2 = R2

x + y = 2»,

введите «Find(x, y) =».

 

295

 

Должно получиться так:

Как видно из графика, система имеет два решения. Выбор решения в примере определяется начальным приближением. Измените значение начального приближения для x с 2 на 0. Если вы уверены, координаты какой точки нужно определить, это можно задать с помощью уточняющих условий. Сместите функцию Find на строку, введите уточняющее выражение «x R/2» для поиска правой точки (для поиска верхней точки нужно задать условие «y R/2»). Теперь превратим решение системы уравнений в функцию, которая возвращает решение для любого R, большего 2 – ниже этого значения линии графиков не пересекаются. Выделите блок Find, удалите оператор вывода – поместите курсор в маркер ввода единиц измерения и нажмите Del. Поместите

296