
- •Основы работы в системе mathcad
- •1.1 Основы пользовательского интерфейса
- •1.2 Предварительные сведения о меню команд
- •1.3 Принцип блоков. Порядок вычислений
- •1.4 Ввод и редактирование текста
- •Создание текстового блока
- •Вставка математических выражений в текстовый блок
- •Форматирование текста
- •1.5 MathCad в режиме калькулятора
- •1.6 Ввод и редактирование формул
- •Ввод формул
- •Редактирование формул
- •2 Простейшие элементы языка mathcad
- •2.1 Алфавит, идентификаторы и числа Алфавит
- •Идентификаторы
- •2.2 Константы и переменные
- •Переменные
- •2.3 Арифметические и логические операторы
- •Арифметические операторы
- •Логические операторы
- •2.4 Единицы измерения и размерность
- •Основные и дополнительные единицы измерения
- •Ввод размерных значений
- •Вывод размерных значений
- •3 Переменные диапазона, векторы и переменные с индексом
- •3.1 Переменные диапазона
- •Использование переменных диапазона
- •3.2 Векторы и переменные с индексом
- •Способы определения векторов
- •3.3 Итерации и рекурсии
- •3.4 Операторы суммирования и перемножения
- •4. Построение графиков
- •4.1 Создание двумерных графиков Создание графических шаблонов
- •Декартова система координат
- •Полярные координаты
- •Примеры создания двумерных графиков
- •Форматирование графиков
- •Форматирование графиков в декартовой системе координат
- •Форматирование графиков в полярной системе координат
- •Вторая ось по y
- •4.2 Трехмерные графики
- •5. Функции
- •5.1 Основные стандартные функции общего назначения
- •5.2 Функции с условными выражениями
- •Функция until
- •Функция if
- •5.3 Функции пользователя
- •6. Операции с векторами и матрицами
- •6.1 Операции с векторами
- •Векторные операторы
- •Векторные функции
- •Векторные функции пользователя
- •Одновременные вычисления с помощью векторов
- •6.2 Операции с матрицами
- •Как создать матрицу
- •Матричные операторы
- •Матричные функции
- •6.3 Примеры векторных и матричных операций
- •Решение уравнений
- •8.1 Решение одного уравнения Предварительные сведения
- •Алгебраические уравнения
- •Уравнения любого типа
- •8.2 Решение систем линейных уравнений Краткие сведения из теории
- •Решение методом обратной матрицы
- •Функции lsolve
- •Решение линейной системы методом Гаусса
- •8.3 Решение систем нелинейных уравнений
- •9. Производные и интегралы
- •9.1 Операторы дифференцирования и интегрирования
- •9.2 Дифференцирование
- •Производные высших порядков
- •Частные производные
- •9.3 Интегрирование
- •Определенный интеграл
- •Кратные интегралы
- •Разностные методы решения
- •10.2 Решение оду в системе MathCad
- •Решение с помощью функции rkfixed
- •Сборник задач
- •Литература
Функции lsolve
Для решения систем линейных уравнений можно также использовать стандартную функцию
lsolve(A,B),
которая возвращает вектор решений для заданных значений матрицы коэффициентов A и вектора свободных членов B. Матрица A, как и в предыдущем случае, должна быть не вырожденной.
Задача 5. Решить систему уравнений из задачи 4 с помощью функции lsolve.
Решение. Решение с проверкой представлено на рисунке 8.6.
Решение линейной системы методом Гаусса
Этот метод состоит в том, что систему n уравнений приводят последовательным исключением неизвестных к системе треугольного вида, а затем ступенчатую матрицу преобразуют так, чтобы в первых n столбцах получилась единичная матрица. Последний (n+1) столбец содержит решение системы. В MathСAD прямой и обратный ходы метода Гаусса выполняет функция rref(M).
З
Рис. 8.7
– Решение системы линейных уравнений
методом Гаусса
Решение. Решение с проверкой представлено на рисунке 8.7.
8.3 Решение систем нелинейных уравнений
При решении систем нелинейных уравнений в системе MathCAD используется специальный вычислительный блок (solve block), который имеет следующую структуру:
<Начальные
приближения переменных>
Given
<Уравнения>
<Ограничительные условия>
<Выражения с функциями Find или Minerr>
Здесь:
<Начальные приближения переменных> – начальные значения для всех неизвестных, входящих в систему уравнений;
Given – ключевое слово, которое указывает MathCAD, что далее следует система уравнений;
<Уравнения> – решаемые уравнения, количество которых равно количеству неизвестных;
<Ограничительные условия> – дополнительные ограничения на решения в виде неравенств.
Функции Find(z1, z2, z3, …) и Minerr(z1, z2, z3, …) возвращают вектор решений системы уравнений. Число аргументов z1, z2, z3,… должно быть равно числу неизвестных в уравнениях.
При наборе уравнений и неравенств следует использовать логические операторы = (булево равенство), >, и пр.
MathCAD возвращает в блоке solve block только одно решение. Для поиска конкретного решения нужно использовать соответствующие начальные приближения или дополнительные ограничения в виде неравенств. Рассмотрим использование блока решений на конкретных примерах.
З
адача
7. Решить систему уравнений
Решение. Данные уравнения допускают простую геометрическую интерпретацию (рисунок 8.8). Видно, что существует два решения системы уравнений. Для их поиска применим рассмотренный выше блок решения. В качестве ограничений будем использовать предварительную информацию, полученную из рисунка 8.8. На рисунке 8.9 приведены два варианта программы, в каждом находится один корень.
Функцию Find, которая завершает блок решения, можно использовать, как и любую другую функцию. Можно вывести найденное решение, как это сделано в программе на рисунке 8.9.
Рис. 8.9 – Решение системы нелинейных уравнений с помощью блока solve block
Можно определить новую переменную с использованием данной функции, нап-ример, a:=Find(z1,z2, …) и вектор a использовать в другом месте рабочего документа. Используя Find, можно также определить другую функцию. Для этого блок решения необходи-мо закончить выражением типа
f(a,b,c,…):=Find(z1,z2,z3,…).
Эта конструкция удобна при многократном реше-нии систем уравнений, содержащих параметры a, b, c, … . Программа на рисунке 8.10 – пример такой параметризации задачи. Предположим, что ищется пересечение прямой из предыдущей задачи и окружности переменного радиуса r. В этом случае функция определяется следующим образом: F(r):= Find(x,y). Эта функция возвращает вектор значений, элементы которого содержат x и y координаты точек пересечения.
Если в ходе решения системы уравнений итерации перестают сходиться, а нужная точность еще не достигнута, то поиск решения прекращается и выводится сообщение «No solution was found» («решение не найдено»). Причиной может быть как отсутствие решения, так и неудачные начальные приближения или ограничения. В этом случае полезно провести графический анализ системы уравнений и уточнить область, в которой могу находиться искомые решения. Это поможет выбрать более подходящее начальное приближение. В этой ситуации также можно применить вместо функции Find другую функцию – Minerr, которая работает по такому же алгоритму, но при отсутствии решения выдает значения, в наибольшей степени удовлетворяющие заданной системе уравнений и дополнительным ограничениям. Более подробно об этой функции смотрите в специальной литературе.
Рис. 8.10 – Параметризация предыдущей задачи