- •1. Основы работы с системой MathCad 8
- •1.1. Пользовательский интерфейс системы
- •1.2. Входной язык системы MathCad
- •2. Редакторы MathCad
- •2.1. Редактор формул
- •2.2. Редактор графиков
- •3. Примеры математических расчетов в MathCad
- •3.1. Решение нелинейных уравнений и систем
- •3.2. Решение обыкновенных дифференциальных уравнений
- •3.3. Решение задач оптимизации
- •3.4. Решение задач интерполяции и регрессии
- •3.5. Работа с векторами и матрицами
- •3.6. Работа со случайными числами
3. Примеры математических расчетов в MathCad
3.1. Решение нелинейных уравнений и систем
Для нелинейных уравнений
вида F(x) = 0 в MathCAD служит функция root(f(x),
x), где ВД - выражение, стоящее в левой
части решаемого уравнения, а х - имя
переменной, в которой помещается
найденное значение корня. Функция root
(рис.14) реализует вычисление корня
уравнения численным методом с точностью
TOL(по умолчанию TOL =1.10-3).
Pиc. 14. Вычисление корней кубического уравнения
Для решения в MathCAD систем нелинейных уравнений удобно использовать функции Fmd(vl,v2,....vn), возвращающая значение одной или нескольких переменных для точного решения (используется, когда решение реально существует), и Minerr(vl,v2,...vn), возвращающая значение одной или нескольких переменных для приближенного решения (пытается найти максимально приближенное решение даже к несуществующему решению путем минимизации среднеквадратической погрешности решения).
Для решения нелинейных уравнений и систем нелинейных уравнений в MathCAD используется специальный вычислительный блок Given, в котором для записи уравнения используется особый (жирный) знак равенства, имеющий смысл приближенного равенства. На рис.15 показано использование функций Find и Minerr для решения нелинейного уравнений х3=3.
Рис. 15. Пример использования функций Find и Minerr
При использовании функции Minerr для решения нелинейных уравнений и систем нелинейных уравнений надо проявлять известную осторожность и обязательно предусматривать проверку решения. Нередки случаи, когда решение может оказаться ошибочным, чаще всего из-за того, что из нескольких корней
система предлагает нереальный (или не представляющий интереса) корень. Полезно как можно точнее указывать начальные приближения к корню.
На рис.16 показано, как функции Find используются для решения системы из двух нелинейных уравнений у = х2 и y = 8+3x.
Рис. 16. Решение систем уравнений с использованием функции Find
3.2. Решение обыкновенных дифференциальных уравнений
Для решения обыкновенных дифференциальных уравнений (ОДУ) в MathCAD предусмотрен целый ряд встроенных функций. В то же время, с использованием средств системы MathCAD можно провести решение ОДУ, реализуя в явном виде один из известных численных методов.
Например, на рис.17 приведено решение ОДУ вида у, = у-2х/у с начальным условием у(0)=1 на интервале [0,1] методом Эйлера.
Рис. 17. Решение ОДУ методом Эйлера
Проиллюстрируем технику решения системы из двух ОДУ на примере использования функции MathCAD - rkfidet(y,xl,x2,n,F), возвращающую матрицу, содержащую таблицу значений решения, найденную методом Рунге-Кутта, с начальными условиями в векторе у, правые части которых записаны в символьном векторе F, на интервале от xl до х2 при фиксированном числе шагов n (рис. 18).
Рис. 18. Решение системы дифференциальных уравнений
3.3. Решение задач оптимизации
Решение задач оптимизации - одна из важнейших сфер применения математических методов. К этим задачам сводятся задачи линейного программирования, поиск минимума и максимума функций ряда переменных и многие другие задачи. Прежние версии системы MathCAD имели ограниченные возможности в решении этого класса задач, например, для поиска минимума функции использовалась только функция Minerr. На рис.19 приведен пример поиска минимума функции двух переменных с использованием функции Minerr. Данная версия системы имеет ряд специальных функций, реализующих задачи оптимизации.
Рис. 19. Поиск минимума с использованием функции Minerr
Нетрудно заметить, что решение данной задачи указанным методом требует вычисления частных производных и приравнивания их нулю, поскольку в точке минимума эти производные равны нулю. Очевидно, что с ростом числа аргументов функции растет и число уравнений. В связи с этим для поиска значений переменных xl, х2, ..., хn, при которых некоторая функция f(х1,х2,…,xn) имеет максимальное пли минимальное значение
удобнее использовать функции Maximize(f,xl,x2,...,xn) и Minimize(f,xl,x2,...,xn). Алгоритм решения с использованием этих функции показан на рис. 20.
Рис. 20. Алгоритм использования функций Minimize и Maximize
Функции Minimize и Maximize успешно применяются для решения задач линейного программирования, которые широко используются В экономических и производственных расчетах. Ниже приведен пример типовой задачи линейного программирования, связанной с оптимизацией затрат для получения максимального объема продукции.
