- •Часть 4
- •Введение
- •Лекция 1. Система математических расчетов MathCad и особенности ее применения
- •1. Общая характеристика системы MathCad
- •2. Информационная среда, предоставляемая в распоряжение пользователя
- •3. Входной язык, встроенные функции и модули системы MathCad
- •3.1. Входной язык системы MathCad
- •3.2. Основные модули системы MathCad
- •Лабораторное занятие 1: Вычисления и типы данных
- •1. Вычисление значений арифметических и алгебраических выражений
- •2. Переменные, функции и операторы
- •2.1. Переменные
- •2.2. Функции
- •2.3. Операторы
- •3. Данные в MathCad
- •3.1 Типы данных
- •3.2. Размерные переменные
- •4. Массивы
- •4.1. Создание массивов
- •4.2. Ранжированные переменные
- •Лабораторное занятие 2. Создание графиков
- •1. Двумерная графика
- •1.4. Полярный график
- •1.5. Построение нескольких рядов данных
- •1.6. Форматирование осей
- •1.7. Форматирование рядов данных
- •1.8. Трассировка и увеличение графиков
- •2. Трехмерная графика
- •2.1 Создание трехмерной графики
- •2.2. Форматирование трехмерных графиков
- •Лабораторное занятие 3. Символьные вычисления
- •1. Символьная алгебра
- •1.1.Разложение выражений (Expand)
- •1.2. Упрощение выражений (Simplify)
- •1.3. Разложение на множители (Factor)
- •1.4. Приведение подобных слагаемых
- •1.5. Определение коэффициентов полинома (Polynomial Coefficients)
- •1.6. Разложение на элементарные дроби
- •1.7. Подстановка переменной (Substitute)
- •1.8. Решение алгебраических уравнений (solve)
- •1.9. Суммы и произведения
- •2. Символьное решение задач математического анализа
- •2.1. Дифференцирование (Differentiate) и интегрирование (Integrate)
- •2.2. Разложение в ряд (Expand to Series)
- •2.3. Интегральные преобразования
- •3. Дополнительные возможности символьного процессора
- •3.1. Применение функций пользователя
- •3.2. Получение численного значения выражений
- •3.3. Последовательности символьных команд
- •Лабораторное занятие 4. Численные методы
- •1. Интегрирование и дифференцирование
- •1.1. Интегрирование
- •1.2. Дифференцирование
- •2. Алгебраические уравнения и оптимизация
- •2.1. Одно уравнение с одним неизвестным
- •2.2. Корни полинома
- •2.3. Системы уравнений
- •2.4. Символьное решение уравнений
- •3. Поиск экстремума функции
- •3.1. Экстремум функции одной переменной
- •3.2. Условный экстремум
- •3.3. Экстремум функции многих переменных
- •3.4. Линейное программирование
- •Лабораторное занятие 5. Матричные вычисления
- •Простейшие операции с матрицами
- •Транспонирование
- •Сложение
- •1.3. Умножение
- •1.4. Определитель квадратной матрицы
- •1.5. Модуль вектора
- •1.6. Скалярное произведение векторов
- •1.7. Векторное произведение
- •1.8. Сумма элементов вектора и след матрицы
- •1.9. Обратная матрица
- •1.10. Возведение матрицы в степень
- •1.11. Векторизация массивов
- •2.1.2. Создание матриц специального вида
- •2.2. Слияние и разбиение матриц
- •2.2.1. Выделение части матрицы
- •2.2.2. Слияние матриц
- •2.3. Сортировка матриц
- •2.4. Вывод размера матриц
- •2.5. Норма квадратной матрицы
- •2.6. Число обусловленности квадратной матрицы
- •2.7. Ранг матрицы
- •3. Система линейных уравнений
- •4. Собственные векторы и собственные значения матриц
- •Лабораторное занятие 6. Обыкновенные дифференциальные уравнения
- •1. Оду первого порядка
- •1.1. Вычислительный блок Given/Odesolve
- •1.2. Встроенные функции rkfixed, Rkadapt, Bulstoer
- •2. Оду высшего порядка
- •3. Системы оду первого порядка
- •3.1. Встроенные функции для решения системы оду
- •3.2. Решение системы оду в одной точке
- •Приложения Приложение 1. Встроенные функции и операторы
- •Встроенные функции
- •Приложение 2. Сообщения об ошибках
- •Оглавление
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, выполнив следующие операции:
-
Откройте новый документ.
-
Введите с помощью оператора присваивания вектор коэффициентов полинома
Первым в векторе должен идти свободный член полинома, вторым - коэффициент при x1 и т. д. Последним должен быть коэффициент при старшей степени xN. Чтобы использовать встроенную функцию матрицу-строку нужно транспонировать. Для этого используется команда Транспонировать матрицу на палитре Матрицы.
-
С помощью диалогового окна Insert Function (Вставить функцию) введите имя встроенной функции и получите вектор ответов:
-
Донный полином имеет три кратных единичных корня. Обратите внимание на то, что численный метод вместо двух из трех действительных единичных корней выдает два мнимых числа. Однако малая мнимая часть этих корней находится в пределах погрешности, определяемой константой TOL, и не должна вводить пользователя в заблуждение.
-
Для функции polyroots можно выбрать один из двух численных методов – метод полинома Лаггера или метод парной матрицы. Приведенный выше результат получен методом Лаггера. Для перехода на другой метод выполните следующие шаги:
-
вызовите контекстное меню, щелкнув правой кнопкой над именем функции polyroots;
-
выберите нужный метод: либо LaGuerre (Лаггера), либо Companion Matrix (Матрица компаньонов).
-
Щелкните по пустому месту экрана и система произведет пересчет корней полинома в соответствии с выбранным методом.
-
Метод парной матрицы должен дать более точный результат:
-
Сохраните полученные результаты в своей папке.
2.3. Системы уравнений
Рассмотрим методику решения системы N нелинейных уравнений с M неизвестными:
Здесь f1(x1,…,xM),..., fN(x1,…,xM) – некоторые скалярные функции от скалярных переменных x1,…,xM и, возможно, от еще каких-либо переменных. Уравнений может быть как больше, так и меньше числа переменных. Эту систему формально можно записать так:
f(x)=0
где x – вектор, состоящий из переменных x1,x2…,xM, а f(x) – соответствующая векторная функция.
Для решения систем уравнений имеется специальный вычислительный блок, состоящий из трех частей, идущих последовательно друг за другом:
-
Given – ключевое слово;
-
Система, записанная логическими операторами в виде равенств и, возможно, неравенств.
-
Find((x1,…,xM) встроенная функция для решения системы относительно переменных x1,…,xM.
Вставить логические операторы можно, использую палитру Boolean (Булевы). Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требует задания начального значения для всех x1,…,xM. Сделать это необходимо до ключевого слова Given. Значение функции есть вектор, включающий решение по каждой переменной.
Задание 10. Решите систему уравнений:
x4+y2-3=0,
x+2·y=0.
-
Используя оператор присваивания, введите функции, определяющие систему уравнений:
-
Введите значения переменных, относительно которых система будет решаться, присвоив им начальные значения:
-
Введите ключевое слово Given и два логических оператора, выражающих рассматриваемую систему уравнений. Для записи символа булева равенства используйте палитру Boolean (Булевы). Обратите внимание на то, что этот символ отличается от обычного знака равенства, означающего оператор численного вычисления, так как отображается жирными линиями.
-
С помощью оператора присваивания введите функцию Find:
-
Получите численное решение:
-
Проверьте правильность решения системы:
-
Сохраните результаты решения в своей папке.
Рассматриваемая система имеет два решения. Второе решение может быть получено, если выполнить следующие операции:
Обратите внимание
на то, что здесь, как в предыдущем случае
используются операторы булева равенства.
Другое решение получено благодаря введению дополнительного неравенства.
Задание 11. По условиям задание 10 получите графическое решение системы двух уравнений.
Вычислительным блоком с функцией find можно найти и корень уравнения с одним неизвестным. Например, для уравнения sin(x)=0 , ближайшим корнем к точке x=0,5 будет нуль.
Полученный результат следует считать нулевым.