BiVANT   Книги   К началу главы

8 классических задач, не требующих программирования

Я рассмотрю сейчас несколько традиционных задач, которые обычно даются студентам первого курса на нашем факультете прикладной математики.

Задача 1

Начну с постановки задачи:

Вычислить функцию Y(t) = Asin(ωt+φ), построить ее график и исследовать поведение при различных значениях параметров: A, ω, φ.

Решение этой задачи не требует программирования в традиционном понимании и может быть эффективно получено, используя возможности машины вычислений и средств отображения данных Excel. Вот последовательность моих действий:

·         Я начал с создания новой книги Excel с именем CourseFirst и на первой ее странице записал постановку задачи. Заметьте, для этого я использовал готовый, выделенный курсивом текст, который Вы только что прочли. Перенос текста  и любых других объектов из приложения Word в Excel не представляет никаких трудностей и выполняется через буфер обычными операциями Copy и Paste. Конечно, можно записать текст, описывающий постановку задачи и непосредственно в ячейках Excel. В данном случае пришлось прибегнуть к копированию, поскольку для вящей красоты при записи функции использовались греческие буквы. Эти буквы можно вставлять в редакторе Word, но такой возможности нет при записи текстов в Excel. Замечу, что уже на следующем шаге мне придется от них отказаться. Взгляните на рисунок, отражающий результаты моей работы на этом и последующих шагах.

  f1.jpg (80754 bytes)

Рис.1 Решение задачи 1

·         На следующем шаге я подготовил раздел исходных данных. Здесь я использовал все те возможности работы с данными, которые описаны в первом пункте «Представление данных». Ячейкам, хранящим значения параметров функции, дал собственные имена, снабдил их метками, сгруппировал и выделил эту группу ячеек специальным цветом. Заметьте, при задании имен я отказался от использования греческих символов и использовал русскоязычные термины: Амплитуда, Частота, Фаза и ДельтаТ для параметра, задающего шаг изменения аргумента Т.

·         Теперь перед нами стоит "более сложная" задача. Предстоит вычислить ряд значений функции Y(tk), — нам ведь нужно в дальнейшем построить график. Для простоты будем полагать, что значения аргумента tk , задающего время, изменяются с фиксированным шагом и описываются следующими рекуррентными соотношениями:

t0 = 0;    tk = tk-1 + ДельтаТ;            k = 1…N;

Параметр ДельтаТ предусмотрительно был введен ранее среди других параметров нашей задачи. Итак, нам нужно построить два ряда данных: аргументов и соответствующих им значений функции. Все делается достаточно просто. В ячейку D10 я записал 0 — начальное значение аргумента t. В соседнюю ячейку E10 — формулу "=D10+ДельтаТ". Затем осталось только скопировать эту формулу в ячейки F10, G10, и т.д., получив нужный ряд аргументов. Копирование и относительная ссылка D10 реализуют соответствующее рекуррентное соотношение. Относительную ссылку в формуле можно было бы записать и в формате R1C1—"=C[-1]+ДельтаТ", что, возможно, более наглядно отражает смысл рекуррентного соотношения. Заметьте, для этого нужно включить соответствующий флажок (Сервис | Параметры | Общие | Стиль ссылок R1C1). Задать ряд для значений функций в некотором смысле еще проще, поскольку здесь нет начальных значений. Поэтому достаточно записать в ячейку D11 формулу "Амплитуда*Sin(Частота*D10 +Фаза)", а затем скопировать эту формулу в соседние ячейки строки таблицы. И здесь, конечно, при желании можно было бы в формуле использовать не адрес ячейки, а формат  R1C1, задав смещение R[-1].

Обратите внимание на одну маленькую, но важную деталь. Я приписал метки нашим рядам: t и Y(t) соответственно. Однако метка t смещена влево, чтобы в источнике данных при построении графика левый верхний угол таблицы был свободным, тогда, напоминаю, первая строка будет  интерпретироваться как строка аргументов функции.

·         На завершающем этапе остается построить график. Мастер диаграмм позволяет сделать это без особого труда. По ходу дела я задал названия осей и дал имя самой диаграмме. Все это можно увидеть на рис.1.

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

·         В заключение остается только сказать, что, по моему мнению, Excel идеально подходит для решения подобных задач.

                                   

Hosted by uCoz