Матросов А.В. Maple 6. Решение задач высшей математики и механики (1185909), страница 65
Текст из файла (страница 65)
Рис. В.З. Окно отображения доступных команд Мар1е б Не1р Вговгзег Кроме описания команд и их синтаксиса в Справке Мар!с можно получить обшую информацию о том, как работать с системой Мар1е в Ехсс!, краткую информацию о доступных пакетах и их назначении и многое другое. 6.2. Функции Мар!е на рабочем листе Ехсе! Для вычисления выражений Мар1е, которые могут представлять любые синтаксически допустимые конструкции и вызовы команд Мар!е, их следует задавать в ячейках рабочего листа Ехсе1, используя функцию рабочего листа марье!1, доступную после подключения надстройки Мар1е 6.
В простейшем случае в качестве параметра этой функции задается один оператор Мар!е, заключенный в двойные кавычки. Результат его вычисления или сообшение об ошибке будет помещено в ту же самую ячейку, в которой была задана Глава б. Ма (еаЕхсе! функция нар1е (). Например, если необходимо вычислить производную функции з!п(х)т, то достаточно в любой ячейке задать обрашение к следуюшей функции марге (): =нар1е ("т(ьвг (зтп (х) "2, х) ) Здесь знак равенства (=) перед именем вызываемой функции требуется по правилам обрашения к функциям рабочего листа Ехсе!. Передаваемый параметр — это заключенный в двойные кавычки оператор Мар1е обращения к команде дифференцирования г(ггг().
Обратите внимание, что его можно не завершать разделителем (;), требуемым по правилам синтаксиса Мар!е. После ввода формулы в ячейку она автоматически будет вычислена, как только мы покинем содержашую ее ячейку, шелкнув указателем мыши на другой ячейке рабочего листа или нажав любую из клавиш со стрелками или <Еп(ег>. Результат вычисления отобразится в ячейке с введенной формулой (рис. б.4).
Рис. 6.4. Ячейка с выражением Мар(е и результатом его вычисления При обращении к функции Мар!е можно задать несколько операторов, разделенных двоеточиями или точками с запятыми. Как читатель помнит, при работе в Мар!е, если оператор завершается двоеточием, то результаты его вычисления не отображаются в области вывола, а завершение оператора точкой с запятой, наоборот, отображает в ней результаты его выполнения, причем результат отображения каждого оператора осуществляется в новой строке области вывода.
В Ехсе! действуют эти же правила, за исключением того, что отображение результатов выполнения цепочки операторов осушествляется в одну строку, в которой символ О представляет символ перехода на новую строку (рис. 6.5). Рис. 6.6. Отображение результатов выполнения нескольких операторов в одну строку Для того чтобы результаты выполнения операторов цепочки отображались в отдельных строках, следует на вкладке Выравппвапие диалогового окна Формат ячеек, отображаемого командой Формат ячеек, установить флажок переносить по словам. При этом все символы П в строке содержимого ячейки будут интерпретированы как символы перехода на новую строку (рис.
б.б). Часть!. Основы Мар1е Рис. б.б. Отображение результатов вьюолненил каждого оператора в отдельной строке Результаты выполнения операторов Мар!е отображаются в ячейке рабочего листа по умолчанию в текстовом формате, даже если результатом их выполнения является число. Это последнее утверждение важно для английской, французской и немецкой локализованных версий Ехсе!, в которых в качестве разделителя целой и дробной части вещественного числа используется символ точка. В русской версии для этих целей используется запятая, поэтому, естественно, что вещественное число с десятичной точкой, полученное в результате выполнения оператора Мар(е, представлено на листе в текстовом формате.
Этот числовой результат нельзя, к сожалению, использовать для дальнейших вычислений в функциях Ехсе1. Можно настроить ядро Мар1е таким образом, чтобы результат вычислений представлялся в числовом формате Ехсе!. Однако при этом может быть потеряна точность, так как числа формата Ехсе! представляются с меньшим числом значащих цифр в мантиссе, чем в Мар!е. Использование числового формата Мар1е имеет одно неоспоримое преимущество: в этом режиме вычислений можно установить произвольное количество значаших цифр в мантиссе числа.
Опять-таки, все вышесказанное не затрагивает русскую локализованную версию. Она не реагирует на переключение между числовым форматом Мар!е и Ехсе1 в связи с использованием запятой для отделения дробной части вещественных чисел, хотя позволяет производить вычисления с произвольным количеством значащих цифр в мантиссе вещественных чисел. (О настройке параметров Мар!е в Ехсе1 см.
раздел 6.3.) На рис. 6.7 показан фрагмент рабочего листа Ехсе1 с результатами вычислений операторов Мар!е, заданных в ячейках столбца л (в соответствуюших яЧЕйКаХ СтОЛбца В ПрИВЕдЕНЫ ОбраШЕНИя К фуНКцИИ Гчврте !!, КОтОрЫЕ Задавались для выполнения вычислений). Обратите внимание, что Мар1е по умолчанию возврашает результаты с использованием точной арифметики (ячейка лг). Для получения результата в форме действительных чисел следует, как всегда в Мар!е, использовать функцию етв1г 1! (ячейки лв и ль). Выг числение оператора Мар1е в ячейке л4 осуществлялось в режиме с установленной длиной мантиссы 30 цифр, тогда как значение в ячейке лв получено при длине мантиссы 10.
При вычислении выражений Мар!е в ячейках рабочего листа можно так же, как и непосредственно в самом Мар!е, использовать различные встроенные константы, например, число л (см. ячейку лв). Основные преимущества в использовании электронных таблиц заключаются в том, что можно использовать значения одних ячеек при вычислении формул в других ячейках. Первые ячейки называются влияюшими, вторые— 351 Глава 6.
МарЬ в Ехсв1 зависимыми. Этот же механизм влияющих и зависимых ячеек можно использовать и при вычислении команд Мар!е иа рабочем листе Ехсе!. СинтаКСИС ВЫЗОВа ФУНКЦИИ Мар1е11 С ИСПОЛЬЗОВаНИЕМ ЗНаЧЕНИй, СОдЕРжаЩИХСя в других ячейках рабочего листа, имеет следующий вид: =Мар1е р'выражение Мар1е" <разделитель><ссылка><разделитель><ссылка> Здесь <раздел ель> — это символ, используемый в качестве разделителя элементов в списке Ехсе!.
В английской версии таковым является запятая (,), в русской локализованной версии для этих целей используется точка с запятой (;). Рис. 6.7. Вычисления с различной точностью Параметр <сс дна> представляет относительную или абсолютную ссылку на ячейку рабочего листа. Напомним, что в Ехсе! каждая ячейка имеет собственный адрес, состоявший из наименования столбца и номера ряда, на пересечении которых расположена ячейка, например, адресом ячейки, расположенной на пересечении столбца л и ряда л, является м.
Этот адрес и используется для организации ссылок иа ячейки. Различают абсолютные и относительные ссылки. Абсолютная ссылка задает место ячейки на рабочем листе абсолютно, т. е. независимо от местоположения на рабочем листе ячейки, из которой осуществляется ссылка на иее. Для этого перед наименованием столбца и номером строки адреса ячейки ставятся знаки доллара (з), например, злз1 определяет абсолютную ссылку на ячейку ы. Если в качестве ссылки используется адрес ячейки без знаков доллара, то создается относительная ссылка, которая определяет адрес влияющей ячейки относительно зависимой. Разница между абсолютной и относительной ссылкой прежде всего проявляется при копировании содержимого зависимой ячейки (под копированием подразумевается, в том числе, и автозаполнение соседних ячеек путем перетаскивания маркера заполнения).
Абсолютная ссылка всегда указывает на одну и ту же ячейку, тогда как относительная ссылка вычисляет адрес ячейки, расположенной аналогично по отношению к ячейке, в которую копируется содержимое. Например, если скопировать ячейку сз, содержащую относительную ссылку иа л1, в ячейку оь, то ов будет содержать ссылку иа в4. Соответственно, если поставить знак доллара только Часть 1. Основы МарЬ перед буквой или цифрой в ссылке на ячейку, то при копировании станется неизменной только эта часть адреса.
Ссылка в функции марга () может представлять ссылку на одну ячейку того же рабочего листа, на котором вычисляется выражение Мар!е (например, вг, злзг), на диапазон ячеек (например, Аг:в4) или даже на ячейку или диана- ЗОН друГОГО ЛИСта (НалрИМЕр, Лнстг.лг:В4). В выражении Мар1е, задаваемом первым параметром, сослаться на содержимое ячеек, перечисленных в обращении к функции мар1а(), можно с помощью конструкции ап„где а — натуральное число, представляющее порядковый номер ссылки на ячейку. Например, если в ячейке Аг содержнтея СтрОКОВОЕ ЗНаЧЕНИЕ азп (к), а В яЧЕйКЕ Вг — х, тО фОрМуЛа =мар1а("т)1гг(41,42); Аг) вг) вычислит производную функцию аьа(к) по переменной х.
Применение относительных и абсолютных ссылок в выражениях Мар(е позволяет использовать преимущества такого средства Ехсе1, как протягивание. Например, предположим, что нам необходимо быстро создать таблицу значений функции и ее производной на заданном интервале изменения независимой переменной с заданным шагом. Для решения данной задачи ЗаНЕСЕМ В яЧЕйКу ВЗ ВЫражЕНИЕ, ЗадаЮщЕЕ фуНКцИЮ, НаПрИМЕр, ага(к). В ячейке Аз будем хранить имя независимой переменной (в нашем слу- ЧаЕ х). В днадаЗОНЕ А4:А14 ЗададИМ С ШаГОМ Ю.1 ЗНаЧЕНИя НЕЗаВИСИМОй ПЕ- ременной от ю до 1 (в русской версии рекомендуем установить текстовый формат всех ячеек диапазона). В ячейке в4 зададим вычисление значения функции из ячейки вз: 4мар1е("еча1г(еча1(41,42443)); звззт ЗАззт А4) В ячейке ю4 будем вычислять производную функции из ячейки вз по переменной из ячейки Аз: =мар1е("ета1г(еча1(с(1гг(41,42), 424вз))т звзз) зАзз) А4) Результат наших действий представлен на рис.