Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MathCad.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2.4 Mб
Скачать

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 успешно применяются для решения задач линейного программирования, которые широко используются В экономических и производственных расчетах. Ниже приведен пример типовой задачи линейного программирования, связанной с оптимизацией затрат для получения максимального объема продукции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]