Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 15
Текст из файла (страница 15)
Поэтому, если обычную функцию, образованную только строчными символами, вы введете с большой буквы, она распознана не будет. И, наоборот,функция, которая вводится с помощью окна Insert Function (Вставить Функцию) какпоследовательность прописных букв, аналогично должна быть набрана и вами.2.2.3. Тонкости задания имен переменных и функцийЗадавать имена переменных и функций в Mathcad можно практически произвольнымобразом. Однако некоторые ограничения, о которых нужно иметь представление, всеже имеются. Изложению этого вопроса посвящен данный раздел.Перечислим для начала, какие символы можно использовать при определении именифункции или переменной.•Строчные и прописные буквы.
Причем, следует помнить, что система Mathcad воспринимает маленькую и большую букву как различные символы (то есть имеетсячувствительность к регистру). Кроме того, как различные будут прочитаны и буквы разных стилей.•Числа от 0 до 9, если они стоят не в начале имени. Если цифра стоит в начале имени, то программа воспримет выражение как комплексное число (если за цифройследует i или j), как бинарное, восьмеричное или шестнадцатеричное число (еслиза цифрой следует соответственно буква Ь, о или h), как умножение числа на переменную (во всех, кроме перечисленных ранее, случаях).•Греческие буквы.•Символы бесконечности (данный символ может быть только в начале имени),штриха (Ctrl+F7), подчеркивания, процента.•Нижний индекс.При задании последнего имеется некоторая тонкость.
Дело в том, что для того чтобызадать индекс, не несущий математического смысла элемента некоторого массива,нельзя использовать клавишу «[» или соответствующую ей команду меню Matrix (Матричные). Для задания простого текстового индекса нажмите, поставив курсор в конецслова, клавишу «.». При этом курсор опустится на подстроки вниз, и вы сможете набрать текст индекса.
Например:Хvariable :=ят(я)Существует два варианта отображения текстового индекса. Чтобы выбрать один из вариантов, зайдите в контекстное меню формулы (щелкнув правой кнопкой мыши, предварительно поместив курсор на текст индекса). В открывшемся меню выберите команду62•Глава 2. Вычисления и типы данныхView Subscript as (Видеть нижний индекс как). В появившемся меню вам нужно определиться между двумя типами отображения.• Large Subscript (Большой индекс).
Параметр, определенный по умолчанию. Положение строчных букв индекса соответствует уровню нижней границы текста именипеременной или функции, к которому он относится.• Small Subscript (Маленький индекс). Нижняя граница текста переменной или функции при таком типе отображения соответствует серединам прописных букв индекса.Чтобы изменить особенности отображения текстового индекса глобально, нужно обратиться к меню Literal Index вкладки Display (Отображение) окна Worksheet Options (Параметры документа), которое открывается одноименной командой меню Tools (Инструменты).Синтаксис при определении имени переменной или функции имеет следующие ограничения.• Все буквы в имени должны иметь одинаковые стиль и шрифт.• Имя не может содержать арифметических или любых других операторов.• В идентификатор не могут входить пробельные символы (пробелы, знаки табуляции, переноса строк и пр.).• Имя не может начинаться с цифры.•Имена функций пользователя не должны совпадать с именами встроенных функций, поскольку это приведет к их переопределению.
Например:sin(x) := 2-cos (x)sin(n) = -2• Так как Mathcad не различает имен переменных и функций, то нельзя сначала задать функцию f(x), а потом переменную f (или наоборот), поскольку это приведетк неопределенности по причине переопределения одной из величин.• Если вы переопределяете уже существующую функцию, то в новое выражение функции не должна входить ссылка на ее старую версию (например, f(x):=f(x)+2). Этосвязано с тем, что при этом система посчитает, что функция вызывает сама себя рекурсивно. Это приведет к тому, что при активации функции возникнет бесконечный цикл рекурсивных вызовов и, соответственно, произойдет сбой.Очень часто приходится задавать имена переменных и функций на русском языке.Сделать это можно, перейдя на один из установленных у вас на компьютере кирилличных шрифтов.
Для этого нужно использовать специальный список панели Formatting(Форматирование) (точно так же, как в любом другом Windows-приложении).Иногда качественное оформление документа требует использования в имени переменной или функции запрещенных символов. Обойти в таких случаях правила синтаксиса можно, используя два пути.Во-первых, можно взять имя в квадратные скобки (вводятся сочетанием Ctrl+Shift+J).При этом, независимо от того, какие символы и в какой последовательности входят в него, оно будет восприниматься корректно. Например:500217[оо + оо]:=е[оо + оо] = 1.404х 1СГВо-вторых, если наличие квадратных скобок вас не устраивает, можно попробовать«обмануть» систему с помощью более сложного метода. Суть его заключается в пере-2.2. Задание переменных и функций .;.63ходе в текстовый режим ввода информации.
Так, например, чтобы определить функцию, именем которой является символ возведения в степень Л, выполните следующуюпоследовательность действий.1. Сначала задайте какой-нибудь допустимый по правилам символ, например букву А.2. Затем с помощью специального сочетания клавиш CtrL+Shift+K перейдите в текстовый режим. Курсор ввода при этом окрасится в красный цвет.Л3. Введите символ .4. Сотрите введенную букву А.5. Нажав повторно сочетание Ctrl+Shift+K, перейдите в обычный формульный режим.6. Далее введите скобки, задайте переменные, от которых зависит функция, и сделайте присваивание соответствующему ей выражению.В результате получим:Л(х,у):=х Ул(3,3)=27Ввести специальные символы в идентификаторы можно, скопировав их из документа,в котором они уже набраны.
Среди шпаргалок Mathcad (Quicksheets) есть документ, вкотором набран весь шрифт Symbol (это стандартный в Windows шрифт, содержащийспециальные символы). Называется данный документ Extra Math Symbols (Дополнительные математические символы). Отсюда можно скопировать все важнейшие математические знаки.2.2.4. Особенности использования идентификаторовсуществующих объектовПредставьте, что вы работаете с созданным не вами документом Mathcad. Это можетбыть электронная книга, пакет расширения или просто полезный алгоритм. Если документ большой или детали его реализации вас не интересуют, то вы вряд ли будетедосконально его изучать. Кроме того, подобное изучение не всегда возможно, так какразработчики зачастую скрывают реализации алгоритмов, оставляя доступным лишьинтерфейс созданного приложения.
С учетом этого вполне возможно, что вы используете при задании собственной функции или переменной тот же идентификатор, какой был применен автором применяемого вами алгоритма. Это приведет к тому, чтопотенциально полезная функция или параметр окажутся недоступными из-за произошедшего переопределения.Даже если вы не применяете чужих разработок, то проблема со случайным переопределением не исчезает. Дело в том, что в Mathcad около 400 встроенных функций, достаточно много встроенных переменных, констант и размерностей (которые являютсяразновидностью встроенных переменных). Поэтому вероятность того, что вы, создаваяпеременную или функцию, перекроете какой-то предопределенный объект, очень высока. Например, если дать переменной имя А, то станет недоступной размерность «ампер», если ее назвать N, то перекроется размерность «ньютон».Трудно не согласиться, что проблема случайного переопределения функций и переменных довольно серьезна.
В предыдущих версиях Mathcad был только один способее преодолеть — проявлять предельную внимательность. Однако в Mathcad 12 все стало гораздо проще. Теперь, если вы создадите переменную с именем, совпадающим с уже64•Глава 2. Вычисления и типы данныхизвестным системе идентификатором, то оно будет подчеркнуто волнистой зеленойлинией и появится сообщение об ошибке (рис.
2.3).Рис. 2.3. Переменная rank переопределяет встроенную функцию ранга матрицы rankВажно отметить, что Mathcad лишь информирует о происходящем переопределении,но не блокирует его. Если вы не собираетесь использовать элемент, который перекрывает создаваемая вами переменная или функция, то соответствующее-сообщение можно просто проигнорировать.По умолчанию выводятся сообщения о переопределении встроенных функций, констант и размерностей. Если переопределяется встроенная переменная, то сообщение непоявляется. Это связано с тем, что задание данных переменных можно осуществлятькак из специального меню, так и (техничнее) простым их переопределением.
Из создаваемых пользователем элементов сообщается о переопределении функций и переменных, хранящих объекты данных скалярных типов (то есть строки или числа). Если значением переменной является матрица или вектор, то сообщение об ее переопределениине появится (прочитав гл. 3, вы поймете почему).То, как Mathcad осуществляет контроль над переопределением, весьма разумно. Однако вы можете изменить правила этого контроля «под себя». К примеру, если вы никогда не используете в расчетах размерности, то вам совершенно необязательно знать,что происходит переопределение какой-то из десятков встроенных в Mathcad размерностей.
За особенности контроля над переопределением отвечают настройки вкладкиWarnings (Предостережения) окна Preferences (Предпочтения), открываемого одноименной командой меню Tools (Инструменты). Главными элементами данной вкладкиявляются два меню: Built-in (Встроенные) и User Defined (Пользовательские).