Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное-методическое пособие КОТ..doc
Скачиваний:
1
Добавлен:
24.11.2019
Размер:
3.22 Mб
Скачать

Пример 7.7. Цель: Научиться вычислять значения функций двух переменных в конечном числе точек.

Постановка задачи: Сформировать таблицу умножения от 1 до 21 с шагом 2.

Действия, ссылки в главной формуле и форматы ссылок видны из следующей схемы:

Результат:

.

Комментарии и советы:

  1. На самом деле в этой задаче мы вычислили значения функции двух переменных типа х*у в дискретных точках (1, 3), (1, 5), …, (21, 21), когда переменные х и у независимо друг от друга принимают значения от 1 до 21 с шагом 2.

  2. Нетрудно обобщить использованный метод расчета на произвольные функции двух переменных. Например, если нужно вычислить значения функции (х+у1/2)/(х*у) в точках, в которых переменная х принимает значения в промежутке от 0,1 до 1 с шагом 0,1, а переменная у - в промежутке от 1 до 10 с шагом 1, то мы в таблице Ехсеl отведем столбец под значения переменной х и строку - под значения переменной у; на «пересечении» первых ячеек указанных столбца и строки введем главную формулу и «протяжкой» маркера заполнения получим результат:

  1. Точно также можно получать ряды значений для функций одной переменной. Например, если переменная х принимает значения в промежутке от 0,1 до 1 с шагом 0,1, то для функции у=sin(x1/2+1+cos2(2х)) получаем следующий результат:

Решение последней задачи аналогично решению предыдущей и понятно из схемы, приведенной на последнем рисунке. Однако следует обратить внимание на то, как в Ехсеl вводятся вложенные функции (в математике их аналог – сложные функции). Опишем действия при вводе вложенной функции на примере ввода главной формулы в ячейку Р2 (См. последний рисунок):

  1. Выделяем ячейку Р2.

  2. Вызываем Мастер функций (!ЛКМ по кнопке <Вставка функции>).

  3. В окне Мастера функций в списке Категория выбираем Математические, в списке Функция – функцию SIN.

  4. Нажимаем кнопку <ОК>.

  5. Открывается диалоговое окно этой функции. Курсор находится в поле ввода. Исполняем !ЛКМ по ячейке P1 на листе Ехсеl. В поле ввода набираем с клавиатуры ^(1/2)+1+

  6. Не нажимая кнопки <ОК> окна функции SIN, отжимаем кнопку <Изменить функцию> (на ней изображен знак =) в строке формул. Курсор ввода должен находиться в позиции после второго знака + (=SIN(P1^(1/2)+1+ это позиция курсора).

  7. Опять вызываем Мастер функций (!ЛКМ по кнопке <Вставка функции>).

  8. В окне Мастера функций в списке Категория выбираем Математические, в списке Функция – функцию COS.

  9. Нажимаем кнопку <ОК>.

  10. Открывается диалоговое окно этой функции. Курсор находится в поле ввода. Набираем с клавиатуры 2*.Исполняем !ЛКМ по ячейке P1. Набираем с клавиатуры ^2.

  11. Нажимаем на клавишу <Enter>.

Замечания:

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

  2. Если вложенных функций несколько, то после п. X) нужно снова перейти к п. VII) и далее выполнять предписания, содержащиеся в п.п. VII) – X).

  3. Описанные действия, выполняемые с целью ввода вложенных функций, следует хорошо освоить, поскольку при работе в Ехсеl их приходится часто повторять в тех или иных ситуациях. Шаг, на котором допускается больше всего ошибок, соответствует п. VI).

  4. Часто приходится редактировать формулы, т.к. при их вводе допускаются ошибки. Процесс редактирования формул аналогичен процессу правки текстовых и числовых констант, кроме, пожалуй, лишь одного: редактирования встроенных в Ехсеl функций. Существенным вопросом здесь является то, как попасть в диалоговое окно уже введенной ранее функции? Для этого нужно, находясь в строке формул, установить курсор ввода на имя функции и нажать кнопку <Изменить функцию>. После этого откроется окно функции, в полях которого следует сделать исправления.

Вернемся к началу примера и обсудим еще один (более простой!) вариант его решения, основанный на использовании формул массивов. Попросту говоря, массивы это определенным образом упорядоченные наборы данных, с которыми можно выполнять некоторые действия как с единым целым и специфически обрабатывать их, используя специальные средства, называемые формулами массивов. С точки зрения понятия массива в нашей задаче требуется строку чисел (вектор-строку) (1; 3; 5;…) умножить на аналогичный столбец чисел (вектор-столбец) (1: 3: 5:…) таким образом, чтобы получить известный нам результат. Ехсеl “берет” целую строку и каждый ее элемент умножает на первый элемент столбца, и точно также поступает со всеми прочими элементами столбца. На “выходе” возникает набор новых строк по числу элементов в столбце, т.е. массив иной структуры по сравнению с вектор-столбцом и вектор-строкой (как говорят, массив типа матрицы). Здесь в описательном плане мы использовали формулу произведения массивов, но момент, с которого начинается такой расчет в Ехсеl, состоит в ответе на вопрос: ”Где разместить массив-результат?” С ответа на него (т.е., по сути, с конца) начинается и решение сформулированной задачи, которое опишем по шагам:

  1. Выделяем диапазон В2:L12 под массив-результат.

  2. Вводим с клавиатуры знак равенства или исполняем !ЛКМ по кнопке <Изменить функцию> в строке формул.

  3. Применяем процедуру ПиО_ЛКМ по отношению к строке B1:L1.

  4. Вводим знак умножения с клавиатуры.

  5. Применяем процедуру ПиО_ЛКМ по отношению к столбцу А2:А12.

  6. Осуществляем ввод результата вычисления, удерживая две клавиши <Ctrl> + <Shift> и ударяя по третьей клавише <Enter> (краткая “формула” ввода массива <Ctrl> + <Shift> + <Enter>).

Заметим, что результат расчета остается прежним, если поменять местами шаги III) и V) в перечисленных выше действиях.

В описываемом случае формула массива имеет вид {=B1:L1*A2:A12}, т.е. ее синтаксис (и это всегда так, а не только в данном конкретном случае) включает внешние фигурные скобки, затем идет знак равенства, за ним следуют обрабатываемые операнды (операнды-диапазоны) и обрабатывающие их операторы (здесь это знак *).

Сказанное выше проиллюстрируем рисунком:

.

В двух других рассмотренных в данном примере случаях соответствие между математическими формулами и формулами массивов приведено в следующей таблице:

Математическая

формула

Формула массива

(х+у1/2)/(х*у)

{=(A2:A11+B1:K1^(1/2))/(A2:A11*B1:K1)}

sin(x1/2+1+cos2(2х))

{=SIN(P1:Y1^(1/2)+1+(COS(2*P1:Y1))^2)}

Остается ответить на вопрос: «Так в чем же состоит преимущество использования формулы массива, по сравнению с обычным способом решения задачи?». Только в одном – нам не надо было задумываться над тем, какой формат смешанных ссылок использовать (а это, как правило, наиболее трудная часть работы в Ехсеl). Часто при применении формул массивов это преимущество сохраняется.

Пример 7.8. Цель: Научиться строить графики непрерывных и разрывных функций.

Постановка задачи: 1) Выполнить табуляцию приведенных ниже непрерывных функций у1 и у2 на промежутке [-3;0] c шагом 0,2 и построить их графики; 2) Решить аналогичную задачу для разрывной функции у3 на отрезке [0;1,5] с шагом 0,025.

.

Решение подзадачи 1) достигается

  • введением в ячейки А48 и А49 первых членов арифметической прогрессии и применением к ним процедуры автозаполнения (т.е. «протяжкой» маркера заполнения вниз вплоть до ячейки А63);

  • введением в ячейки В48 и С48 формул =2*SIN(A48) и =3*COS(2*A48)-SIN(A48) соответственно и применением к этим ячейкам процедуры «формульного» автозаполнения (т.е. копированием диапазона В48:С48 помощью маркера заполнения вниз вплоть до диапазона В63:С63);

  • применением к диапазону А48:С63 Мастера диаграмм (в первом окне которого в списке Стандартные выбран Тип: Точечная)

Напомним, что кроме применения процедуры «формульного» автозаполнения формулы в диапазоны В48:В63 и С48:С63 можно ввести еще двумя более простыми способами:

  1. Выделить диапазон В48:В63, сделать активной ячейку В48 (используя клавишу <Tab> при необходимости перемещения по выделенному диапазону), ввести формулу =2*SIN(A48) и нажать клавиши <Ctrl> + <Enter>. Точно также ввести формулу =3*COS(2*A48)-SIN(A48) в диапазон С48:С63. В результате оба диапазона В48:В63 и С48:С63 будут заполнены правильно настроенными формулами, ссылающимися на ячейки диапазона А48:А63.

  2. Выделить диапазон В48:В63, ввести формулу массива {=2*SIN(A48:А63)}. Аналогично ввести формулу массива {=3*COS(2*(A48:А63))-SIN((A48:А63))} в диапазон С48:С63 и нажать клавиши <Ctrl>+<Shift>+<Enter>.

Решение подзадачи 2) проводится по той же схеме, что и решение подзадачи 1). Различие состоит в следующих двух обстоятельствах. А) Поскольку функция у3 сшита из двух кусков: (1+х)/ (1+х2) при х<0,5 и х1/3 при х>=0,5,- то для их “объединения” в единую формулу удобно использовать встроенную функцию ЕСЛИ. Б) Точка х=0,5 является точкой разрыва первого рода функции у3. Поэтому (для правильного отображения на графике скачка этой функции в точке х=0,5) при построении ряда категорий значение 0,5 нужно повторить в двух подряд идущих ячейках, на которые должны быть сделаны ссылки в ряде данных функции у3 , причем в соответствующей первой зависимой ячейке должна быть реализована формула Excel на основе математической функции (1+х)/(1+х2), а в соответствующей второй зависимой ячейке – на основе функции х1/3 . Результат показан ниже: