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

7.3 Решение задач оптимизации

Для решения задач оптимизации используются функции minimize(целевая функция, список переменных) и maximize(…). Для поиска максимума или минимума выражения без ограничений достаточно определить начальные значения, целевую функцию и вызвать функцию minimize или maximize, как показано на рисунке 36. На рисунке 36 б показана процедура поиска экстремума функции многих переменных. Обратим внимание, в функции minimize или maximize имя целевой функции указывается без скобок и без параметров.

а)

б)

Рисунок 36 – Поиск экстремума функции

Если в задаче имеются ограничения, то нужно использовать solve-block. Для примера решим систему линейного программирования:

  • инициализируем переменные;

  • зададим целевую функцию;

  • откроем solve-block с помощью ключевого слова Given;

  • запишем неравенства;

  • запишем условия неотрицательности;

  • вызовем функцию minimize или maximize.

На рисунке 37 представлено решение задачи линейного программирования. На рисунке 37 б система неравенств задается в матричной форме. Решение достигается численными методами, поэтому оно является приближенным, первый элемент вектора примерно равен нулю.

а)

б)

Рисунок 37 – Решение задачи линейного программирования

7.4 Решение задач высшей математики в среде MathCad

Дифференциальное и интегральное исчисление реализовано в системе MathCAD двумя способами – через численные методы или с использованием подсистемы символьных вычислений, заимствованной из пакета Maple. Численные методы не в состоянии выдать аналитическую форму полученного решения, например результат численного решения дифференциального уравнения - это функция, которая может использоваться в вычислениях, может быть отображена на графике, но не может быть выдана пользователю. На рисунке 38а представлены примеры численных методов нахождения производных и интегралов. На рисунке 38б приведены примеры символьных вычислений.

а)

б)

Рисунок 38 – Производная и интеграл

Для получения аналитического решения производной или неопределенного интеграла нужно ввести с помощью панели Calculus соответсвующее выражение, а затем, нажать кнопку с символом «» с панели Symbolic.

Для решения дифференциальных уравнений можно использовать функцию odesolve(переменная, конец интеравала). Для этой функции нужен solve-block, куда заносится дифференциальное уравнение (используется «жирный равно»), начальные значение (задача Коши). Функция odesolve() возвращает численную функцию, являющуюся решением уравнения с учетом начального значения. Полученная как решение дифференциального уравнения функция определена на участке от начальной точки до «конца интервала» – второго параметра функции odesolve().

Найдем решение дифференциального уравнения y(x)’=20x на участке [0;10]. Начальное значение y(0)=3. На рисунке 39 представлено решение дифференциального уравнения. Результат – численная функция определенная на интервале от 0 до 10. Обратим внимание: для определение уравнения и начальной точки мы используем «жирный равно», когда мы задаем уравнение пишем функцию у как y(x).

Рисунок 39 – Решение дифференциального уравнения

С помощью функции odelsove() также можно решать обыкновенные дифференциальные уравнения высших порядков.

Для решения систем дифференциальных уравнений используется функция rkfixed(вектор функций, начало интервала, конец интервала, шаг, матрица производных). При этом нужно чтобы система уравнений могла быть представлена в виде x’=f(t,x) и были заданы начальные значения для x. Решим систему дифференциальных уравнений:

с начальными условиями x1(0)=0 и x2(0)=0.

Ход решения следующий:

  • зададим значение ORIGIN=1;

  • зададим вектор начальных значений;

  • введем вектор-функцию D (у нее два параметра – аргумент t и вектор функций x);

  • вызовем функцию rkfixed (в параметрах указываем вектор x, 0 – начало интервала, 5 – конец интервала, 100 – число точек на интервале, вектор D без скобок и параметров).

Результат – блок данных z. Блок z имеет три столбца (значение t, значение x1 и значение x2) и 100 срок, как и было нами определено. График на рисунке 40 показывает функцию x1(t).

Рисунок 40 – Решение системы дифференциальных уравнений

В указаниях по выполнению лабораторных работ представлены инструкции по использованию системы MathCAD для решения задач математической экономики.

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