2.1.3. Использование Mathcad-а для решения задачи

об остывании чашки кофе

      Оболочка Mathcad [4] позволяет легко решать численно дифференциальные уравнения различного вида. При решении дифференциального уравнения искомой величиной является функция. Для обыкновенного дифференциального уравнения неизвестная функция является функцией одной переменной. Mathcad имеет ряд встроенных функций, предназначенных для численного решения ОДУ. В результате решения получается матрица, содержащая значение функции, вычисленное на некотором множестве точек. Для поиска решения необходимо задать следующие величины: 1) начальные условия, 2) набор точек, в которых нужно найти решение, 3) само дифференциальное уравнение, записанное в определенном виде. Для поиска решения можно использовать встроенную функцию rkfixed, которая имеет следующие аргументы: rkfixed (y, x1, x2, npoints, D), где y – вектор начальных условий размерности n, где n – порядок дифференциального уравнения  или число уравнений в системе. Для DУ первого порядка вектор начальных условий вырождается в одну точку y0 = y(x1). x1, x2 –граничные точки интервала, на котором ищется решение дифференциального уравнения. Начальные условия, заданные в векторе y, - это значение решения в точке x1, npoints-число точек (не считая начальной точки), в которых ищется приближенное решение. При помощи этого аргумента определяется число строк (1+npoints) в матрице, возвращаемой функцией rkfixed. D(x, y) – функция, возвращающая значение в виде вектора из n элементов, содержащих первые производные неизвестных функций. Для получения функции D (x, y) нужно разрешить уравнение относительно первой производной y¢(x).

В результате решения получается матрица, имеющая два следующих столбца:

Первый столбец содержит точки, в которых ищется решение дифференциального уравнения.

Второй столбец содержит значения найденного решения в соответствующих точках. Для визуализации решения строят по этим точкам график.

         Запишем уравнение (1) в виде

y¢=-r(y-q)

и на рабочем поле Mathcad набираем следующие данные

y0:=83  r:=0.1  q:=22

D(x, y):=-r*(y0-q)

Z:=rkfixed(y, 0, 2, 200, D)

i:=0..rows(Z)-1

Напомним, что знак (:=) набирается как (:), знак (..) набирается как (;), нижний индекс в у0 набирается с помощью символа ([ ). Смысл выражений понятен из верхнего описания. Mathcad строит одну точку графика для каждого значения дискретного аргумента i, задающего график. При определении интервала изменения дискретного параметра i используется встроенная функция rows, которая определяет количество строк в матрице Z.

Для построения графика щелкаем мышью на том месте, где его нужно разместить, и выбираем пункт ”Декартов график” из меню Графика. В появляющемся пустом графике в средние поля вводим величины, которые нужно отобразить на графике. По оси абсцисс - i-тую компоненту вектора (Z<0>)i, а по оси ординат – i –тую компоненту вектора (Z<1>)i. Для ввода верхнего индекса используем комбинацию клавиш <ctrl+6>. Щелчок мышью вне графика приводит к его построению.

Рис. 2. Решение c помощью Mathcad задачи о лисах и зайцах

    Для рисования нескольких кривых (функций) на одном графике необходимо задать несколько выражений на оси ординат  (возможно абсцисс). Чтобы представить графически несколько выражений на оси ординат относительно одного выражения по оси абсцисс, введите первое выражение, сопровождаемое запятой. Непосредственно под первым выражением появится пустое место для ввода второго выражения. Можно строить несколько графиков с парными значениями функций и аргументов.

     Для изменения размеров графика щелкните мышью снаружи графической области. Это закрепляет один из углов выделяющего прямоугольника. Вытяните из него прямоугольник и охватите график, затем отпустите кнопку. Цепляя за границы графика, его можно растянуть в нужном направлении. Отпустив кнопку, щелкните вне графика, чтобы отменить выделение.

      Для изменения масштаба на графике поместите курсор в область графика, нажмите мышь, чтобы заключить график в выделяющий прямоугольник. Меню «Х-У-График» заменяет меню «Графика». Выберите режим «Лупа» из меню - появится диалоговое окно «Х-У-Лупа». На чертеже нажмите мышь в одном углу области, которую нужно увеличить. Удерживая кнопку, перемещаем мышь, растягивая выделяющий прямоугольник. Когда вся область, которую нужно увеличить, попадет в прямоугольник, отпустите кнопку. Координаты выбранной области отображаются в полях Мин и Мах диалогового окна. Нажмите кнопку «Увеличить», чтобы перерисовать график. Чтобы сделать границы постоянными, нажмите кнопку «Принять».

      Чтобы увидеть и определить координаты некоторой точки графика, щелкните мышью на графике, чтобы выделить его. Выберите режим «Графики» из меню «Х - У - График», чтобы появилось окно «Графики». Внутри чертежа нажмите кнопку мыши и переместите указатель на искомую точку. В окошках «Х- значение» и «У- значение» отображаются значения координат этой точки. Чтобы скопировать координаты в буфер обмена, нажмите на «Копировать Х» или «Копировать У». Затем можно вставлять эти значения в математическую область. Закройте окно, щелкая по кнопке системного меню. Перекрестие остается на графике до тех пор, пока вы не щелкните где-либо вне графика.