- •Часть 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. Алгебраические уравнения и оптимизация
Задача решения нелинейных уравнений и системы таких уравнений ставится следующим образом.
Пусть имеется одно алгебраическое уравнение с неизвестным х
f(x)=0,
или система из N алгебраических уравнений
где f(x) – некоторая функция. Требуется найти корни уравнения, т.е. все значения x, которые приводят уравнения (или систему уравнений) в верное равенство (равенства).
Как правило, отыскание корней численными методами связано с некоторыми задачами:
-
исследование существования корней в принципе, определение их количества и примерного расположения;
-
отыскание корней с заданной погрешностью TOL.
Почти все встроенные функции системы MathCAD, предназначенные для решения алгебраических уравнений, нацелены на решение второй задачи, т.е. предполагают, что корни уже приблизительно локализованы. Чтобы решить первую задачу (предварительной локализации корней), можно использовать графическое представление f(x) или последовательный поиск корня, начиная из множества пробных точек, покрывающих расчетную область (сканирование). MathCAD предлагает несколько встроенных функций, которые следует применять в зависимости от специфики уравнения.
2.1. Одно уравнение с одним неизвестным
Рассмотрим одно уравнение с одним неизвестным x: f(x)=0 (Например: sin(x)=0).
Для решения таких уравнений MathCAD имеет встроенную функцию root, которая, в зависимости от типа задачи, может включать в себя два, либо четыре аргумента и, соответственно, работает несколько по-разному.
-
root (f(x),x);
-
root (f(x),x,a,b);
-
f(x) – скалярная функция;
-
x – скалярная переменная, относительно которой решается уравнение;
-
a,b – границы интервала, внутри которого происходит поиск корня.
Первый тип функции root требует дополнительного задания начального значения переменной x. Для этого нужно просто присвоить x некоторое значение. Поиск корня будет производиться вблизи этого числа. Таким образом, присвоение начального значения дает встроенной функции априорную информацию о примерной локализации корня.
Задание 8. Определите корни уравнения sin(x)=0, используя встроенную функцию root.
-
Откройте новый документ.
-
Присвойте значение переменной x и функции f(x):
-
Запишите имя корня solution и введите символ присваивания (рис. 30). Откройте диалоговое окно Insert Function (Вставить функцию) с помощью одноименной команды на панели инструментов Стандартные и выделите встроенную функцию root. Нажмите кнопку ОК.
-
Вставьте имя функции и имя переменной в первые два местозаполнителя, вторые два – удалите.
-
Применив оператор численного вычисления, определите значение корня (рис. 30).
График функции f(x)=sin(x) и положение найденного корня показаны на рис. 31.
Хотя уравнение имеет бесконечное количество корней xN=N·π (N=0,±1,±2,…), MathCAD находит только один из них, x0, лежащий наиболее близко к x=0.5. Задайте другое начальное значение, например, x=3 и вы получите другой корень уравнения x1=π.
Таким образом, для поиска корня средствами MathCAD требуется его предварительная локализация. Это связано с особенностями выбранного численного метода, который называется методом секущей [1].
Рис. 31. Определение корня уравнения с помощью встроенной функции
Рис. 32. Графическое решение уравнения sin(x)=0
Иногда удобнее задавать не начальное приближение к корню, а интервал [a,b], внутри которого корень заведомо находится. В этом случае используется функция root с четырьмя аргументами. Например:
Обратите внимание, что явный вид функции f(x) может быть определен непосредственно в теле функции root. Когда root имеет четыре аргумента, следует помнить о двух ее особенностях:
-
Внутри интервала [a,b] не может находиться более одного корня, иначе будет найден один из них, заранее неизвестно какой именно.
-
Значение f(a) и f(b) должны иметь разный знак, иначе будет выдано сообщение об ошибке.
Если уравнение не имеет действительных корней, но имеет мнимые, то их также можно найти. Например:
Для решения этого уравнения встроенную функцию root с четырьмя переменными применять нельзя, поскольку f(x) является положительно определенной, и указать интервал, на границе которого она имела бы разный знак, невозможно.
В принципе, функция f(x) может иметь любое количество аргументов. Именно поэтому в самой функции необходимо определить, относительно какого из аргументов следует решать уравнение. Например:
Сохраняете результаты работе в текущем документе.