Кирьянов. Самоучитель MathCad 11. Кирьянов д в
Скачать 10.75 Mb.
|
3 . 1 2 . Применение пользовательского бинарного оператора Испольс ание унарного оператора Вставка у ного оператора совершенно аналогична, только вместо двух операндов ввести один (рис. 3.13). Унарный оператор вставляется нажатием Prefix Operator (Оператор перед) на панели Evaluation либо кнопки Postfix Operator (Оператор после. Первый путь проиллюстрирован правой частью рис. 3.13 (в момент вставки) и результатом действия оператора (слева, а результат вставки оператора по второму пути — левой нижней строкой того же рисунка := 100 % 0 . 3 = 30 0. 1 % = Рис. 3.13. Применение пользовательского унарного оператора. Управление вычислениями Документ Mathcad — это в полном смысле этого слова компьютерная программа, а сама система Mathcad — настоящая система программирования, правда ориентированная на математика, а не на профессионального программиста. Большинство других сред программирования (знакомых читателю по реализации таких языков, как Си, Фортран, Бейсик и т. п) разделяют редактирование кода программ и их выполнение, которое можно Глава 3. Вычисления вызвать предназначенными для этого командами. В Mathcad и код граммы, и результат их выполнения объединены водном документе. Тем не менее, функции редактирования формул и их расчеты выполняются раздельно, и пользователь имеет возможность управлять всеми важнейшими опциями вычислений. Режимы вычислений Все примеры, которые мы рассматриваем в этой книге, неявно предполагают, что включен автоматический режим вычислений. Он включается по умолчанию при создании пустого документа, поэтому если вводятся выражения, содержащие операторы вывода, они вычисляются немедленно. Вообще говоря, имеется два режима вычислений автоматический режим (automatic mode) — все вычисления проводятся автоматически по мере ввода формул режим (manual mode) начало вычислений каждой формулы или всего документа производится пользователем. Режим вычислений можно выбрать с помощью команды Tools / Calculate / Automatic Calculation (Сервис / Пересчитать / Считать автоматически, как показано на рис. 3.14. Если в этой строке меню установлен флажок проверки, значит, включен автоматический режим, если флажка нетто редактируется документ в ручном режиме вычислений. Чтобы сменить режим, просто выберите этот пункт меню (например, нажав кнопку мыши в ситуации, показанной на рис. 3.14, включите ручной режим Примечание Режим вычислений устанавливается независимо для каждого документа. Одновременно могут быть открыты несколько документов, вычисляемых в различных режимах. Преимущества и недостатки каждого режима очевидны. С одной стороны, автоматические вычисления упрощают работу с документом, поскольку результаты расчетов появляются в реальном времени, и пользователь имеет возможность анализировать их сразу. С другой стороны, если вычисления сложные, то они могут отнимать много времени (что особенно заметно на компьютерах сне слишком мощным процессором и небольшим объемом оперативной памяти. Поэтому зачастую, чтобы продолжить редактирование документа, требуется довольно длительное ожидание завершения расчетов. В частности, если поменять какое-либо выражение вначале большого документа, которое влияет на последующие вычисления, то все они пересчитываются заново. В таких случаях часто удобнее редактировать текст в ручном режиме, а вычисления включать по мере необходимости Часть I. Общие сведения \ Normal Animation Protect Worksheet X := 2 . 3 = 4 3 8 . 1 3 3 Calculate Worksheet Preferences. S Calculate F9 Calculate 3.14. Выбор режима вычислений. Прерывание вычислений осуществляет вычисления документа, как это принято в большинстве сред программирования сверху вниз и слева направо. Пока очередное выражение находится в процессе расчета (вычислительным или символьным процессором, оно выделяется рамкой зеленого цвета 3.15), а любые действия пользователя по дальнейшему редактированию документа блокируются. Если у вас не слишком быстрый компьютера формулы достаточно сложные, то можно наблюдать, как зеленая рамка перескакивает с одного выражения на другое. Чтобы прервать затянувшийся процесс вычислений, нажмите клавишу. Появится диалоговое окно, показанное на рис. 3.16, в котором нужно подтвердить прерывание вычислений В этом случае выражения, которые Mathcad не успел вычислить, будут помечены в документы красным цветом. Прерванные вычисления возобновляются нажатием клавиши или командой Tools/ Calculate/ Calculate Now (Математика Пересчитать Пересчитать + + l - y ( t ) d t 2 y ' = 0 . у 3.15. Процесс вычисления выражения Глава 3. Вычисления ( t ) + l - y ( t ) = у ' (0) = 0 y ( 0 ) 0 . у 50): processing OK 1 Отмена 3 . 1 6 . Диалоговое окно прерывания вычислений. Вычисления в ручном режиме Если флажок в строке команды Tools/ Calculate/ Automatic Сервис / Пересчитать / Считать автоматически) снят, пользователь должен запускать вычисления самостоятельно Для того чтобы вычислить все формулы во всем документе, выполните команду Tools/ Calculate/ Calculate Worksheet (Математика Пересчитать Пересчитать все Для вычисления всех формул в видимой части документа выберите пункт Tools / Calculate / Calculate Now (Сервис / Пересчитать / Пересчитать) либо нажмите клавишу Совет Управлять размером видимой части документа можно при помощи изменения масштаба отображения документа. При редактировании текста в ручном режиме не выполняются ни вычисления, ни построение графиков, а соответствующие места в выражениях формально отмечаются местозаполнителями риск. Чтобы запустить вычисления в ручном режиме, нажмите кнопку Calculate 4 984 Часть I. Общие сведения. Отключение вычисления отдельных формул позволяет отключить вычисление какой-либо формулы. При этом она не будет влиять на последующие вычисления. Чтобы не вычислять определенную формулу в документе. Щелкните правой кнопкой мыши на формуле. Выберите в контекстном меню пункт Disable Evaluations (Выключить вычисления, как показано на рис. Эквивалентный способ выключения вычисления отдельной формулы заключается в вызове диалогового окна Properties (Свойства) через одноименный пункт контекстного меню (см. рис. 3.18) или главного меню Формат. В диалоге Properties следует перейти на вкладку Calculation (Вычисления) и установить там флажок Disable Evaluations (Выключить вычис- ления). Результат выключения формулы из процесса вычислений проиллюстрирован листингом 3.31. На нем выключен второй из операторов присваивания чем можно судить по наличию черного квадрата сразу за формулой. Соответственно, в последней строке выведенное значение переменной "не чувствует" выключенного присваивания и остается равным 3. Листинг Вычисление второго оператора присваивания выключено х : = х = Рис. 3.18. Отключение вычисления формулы с помощью контекстного меню. Оптимизация вычислений Отличительная черта новых версий Mathcad — улучшенные возможности ускорения численных вычислений за счет применения элементов символьной математики. Непосредственно перед численным расчетом Mathcad ав- Глава 3. Вычисления 89 томатически пытается упростить выражение, используя символьный процессор. Это называется оптимизацией За счет того что от версии к версии качество работы символьного процессора улучшается, символьное преобразование зачастую существенно ускоряет расчеты. Режим оптимизации включается либо в документе целиком, либо для отдельных формул. Чтобы включить или отключить режим оптимизации всех выражений в активном документе, выберите команду Tools / Optimize / Worksheet (Сервис Оптимизация / Документ, как показано на рис Содержание документа, изображенного на этом же рисунке, помогает понять математический смысл режима оптимизации для ускорения вычисления нижнего (определенного) интеграла выгодно использовать его аналитическое решение, определенное символьным процессором. Чтобы изменить режим оптимизации для отдельной формулы, не меняя выбранного режима для остальных выражений документа, выделите эту формулу линиями ввода и выберите в верхнем меню Tools / Optimize / Сервис / Оптимизация / Уравнение insert Worksheet Calculate Disable г г J 2 2 2 3 3 3 + у + z d z — x у • z у • x • z z • x у 3 3 100 1 0 0 2 2 2 , x + у + z dx dy dz - 100 -100 = 8 10 10 3 . 1 9 . Режим оптимизации вычислений. Диалоговое окно Worksheet Наравне с изложенными способами установки режимов вычислений, их также удобно устанавливать для всего документа на вкладке Calculations Часть I. Общие сведения (Вычисления) диалогового окна Worksheet Options (Опции документа, вызываемого с помощью команды Tools / Worksheet Options (Сервис / Опции документа. Три флажка задают включение соответствующего режима вычислений (рис. О Recalculate automatically (Пересчитать автоматически) — включение режима автоматических вычислений Use strict singularity checking for matrices (Использовать проверку матриц на сингулярность) — опция, появившаяся в версии Mathcad 2001, которая важна при некоторых операциях с матрицами. Она означает проведение дополнительной проверки на сингулярность матрицы перед использованием численных алгоритмов, что позволяет, во избежание неправильного применения численного метода, выдать заранее сообщение об ошибке, если матрица сингулярная expressions before calculating (Оптимизировать выражения перед вычислением включение режима оптимизации exact equality for Boolean comparisons (Использовать точное равенство для логического сравнения) — когда флажок выбран, применяется жесткий критерий точного равенства чисел (точнее, числа при сравнении считаются равными, если отличаются по модулю менее чем на Если флажок снят, используется более мягкий критерий (относительное различие чисел по модулю менее чем на Option» ..- Display strict singularity checking for matrices expressions before calculating Use equably for boolean Performance Preferences speed calculation j compatibility | Справка 3 . 2 0 . Управление режимом вычислений в диалоговом окне W o r k s h e e t Помимо флажков проверки, имеется также пара переключателей, которая позволяет реализовать новый режим ускоренных вычислений (higher speed Глава 3. Вычисления. Он включается выбором переключателя Higher speed Ускоренные вычисления, изображенного на рис. 3.20. Чтобы отключить режим ускоренных вычислений, выберите переключатель Backward compati- bility (Обратная совместимость. В этом случае вычисления будут проводиться без дополнительной оптимизации по скорости, в точности так же, как в предыдущих версиях (Mathcad 2000 и ниже. Необходимость таких расчетов может возникнуть, если вдруг Вы столкнулись с сообщениями об ошибках в документах, созданных в предыдущих версиях Mathcad и корректно в них работающих. Сообщения об ошибках Когда процессор Mathcad по тем или иным причинам не может вычислить выражение, он вместо ответа выдает сообщение об ошибке (рис. 3.21). Если курсор находится вне формулы с ошибкой, тов ней имя функции или переменной, которая вызвала ошибку, отмечается красным цветом (сверху на рис. 3.21). При щелчке на такой формуле под ней появляется текстовое сообщение о типе ошибки, обрамленное черным прямоугольником (рис. снизу ( ) = • f (2|) Т his variable is not above. 3.21. Сообщение об ошибке Если некоторые выражения вызывают ошибку, они просто игнорируются, а следующие выражения в документе по-прежнему вычисляются. Конечно, если формулы, вызвавшие ошибку, влияют назначения нижеследующих формул, то они будут также интерпретированы как ошибочные. Поэтому, встречая в документе сообщения об ошибках, найдите сначала самое первое из них. Часто ее устранение позволяет избавиться и от последующих оши- бок. Как бы хорошо вы ни овладели системой Mathcad, сообщения об ошибках все равно будут появляться в документах. Они могут быть связаны как с орфографическими ошибками, таки с более серьезными внутренними причинами, требующими знания численных алгоритмов расчетов. Искусство математика во многом состоит в умении анализировать ошибочные ситуации и находить правильный выход из них ГЛАВА Типы данных В этой главе рассматриваются типы данных, применяемых в документах и принципы их ввода-вывода в наиболее простой числовой форме. Обычные типы данных (действительные и комплексные числа, константы и строковые данные) перечисляются вначале главы (см. разд. 4.1), параллельно с объяснением принципов их ввода в документы. Наряду с обычными числами, в Mathcad имеется мощный аппарат работы с массивами. Массивы реализованы в виде векторов и матриц, что максимально приближает стиль вычислений к общепринятой математической форме (см. разд. 4.3). Описана возможность форматирования результатов численных расчетов (см. разд. Отличительной чертой среды Mathcad является возможность обращения с размерными переменными, снабженными физическими единицами измерений (см. разд. 4.2). Эти средства существенно облегчают инженерные и научные расчеты. В некоторых случаях удобно осуществлять ввод данных при помощи элементов управления (см. разд. 4.5). Другие формы ввода-вывода (графики, анимация, ввод-вывод в файлы) разобраны в последней части книги (см. гл. 16). 4.1. Типы данных Наиболее простой и распространенный ввод-вывод данных в Mathcad реализован присваиванием и выводом (либо численным, либо символьным) непосредственно в документе. Переменные и функции, посредством которых осуществляется ввод-вывод, могут иметь значения различных типов (числовые, строковые и т. д. Перечислим основные типы данных, которые обрабатываются процессорами системы Mathcad: • числа (в том числе, действительные, комплексные, а также встроенные константы) — Mathcad хранит все числа в формате двойной точности с плавающей точкой (не разделяя их на целые, булевы и т. д 94 Часть I. Общие сведения строки — любой текст, заключенный в кавычки массивы том числе ранжированные переменные, векторы и матрицы упорядоченные последовательности чисел или строк. Рассмотрим более подробно типы данных и то, как осуществляется их непосредственный ввод в документ с помощью присваивания значения переменным Действительные числа Любое выражение, начинающееся с цифры, Mathcad интерпретирует как число. Поэтому для ввода числа просто начните его набирать на клавиатуре. Несмотря на то, что Mathcad хранит все числа в одинаковом вводить их можно в наиболее подходящем представлении (notation), исходя из контекста документа как целое число; В как десятичное число (decimal с любым количеством десятичных цифр после точки в представлении с порядком (exponential notation) — в так называемом научном формате или представлении (scientific notation), для чего после ввода числа напечатайте символ умножения и введите ю в нужной степени как число в другой системе счисления. Три первых представления иллюстрируются содержанием соответствующей строки листинга 4.1. Внимание! При вводе целых чисел, больших или равных все цифры пишутся слитно (как показано впервой строке листинга 4.1) и нив коем случае не разделяются на порядки запятыми. Например, ввод числа 1000 как 1,000 или 1.000 недо- пустим. Листинг Ввод действительных чисел а :=10000 57285 се • 10 Примечание Если вы продолжите листинг 4.1 последовательным выводом всех переменных, то с удивлением обнаружите, что некоторые из чисел выглядят по-иному (например, число d=0). Объяснение этому будет дано в разд. 4.2. Глава 4. Типы данных Для ввода числа в других системах счисления двоичной (binary), восьмеричной (octal) или (hexadecimal) сделайте следующее. Введите его представление в соответствующей системе, применяя лишь корректные символы (для двоичной системы допустимы только цифры О и 1; для восьмеричной — цифры от 0 до 7, для шестнадцатеричной цифры от 0 дои буквы от а до Например, число 34 в двоичной системе представлено такой последовательностью 100010. 2. После ввода последнего символа числа введите (для двоичного числа), о (для восьмеричного числа) или (для шестнадцатеричного). Использование чисел в других системах счисления иллюстрируется листингом. Обратите внимание, что вывод осуществляется все равно в десятичной системе. Листинг 4.2. Ввод в исчисления а := 100010b с с 34 31 = 2 . 8 Примечание В логических функциях используются битовые числа (ложь или истина. Они а обозначаются обычными действительными числами о и 1. 4.1.2. Комплексные числа Большинство операций в среде Mathcad по умолчанию осуществляются над комплексными числами Комплексное число является суммой действительного и мнимого числа получающегося путем умножения любого действительного числа на мнимую единицу (imaginary unit) i. По определению, i Чтобы ввести мнимое число, например 3i: 1. Введите действительный сомножитель (з. Введите символ "\" или "j" непосредственно после него. Внимание! Для ввода мнимой единицы надо нажать клавиши <1>, В противном случае мнимая единица отображается просто как i (рис. 4.1). Часть /. Общие сведения Рис. 4 . 1 . Ввод мнимой единицы Комплексное число можно ввести в виде обычной суммы действительной и мнимой частей или в виде любого выражения, содержащего мнимое число. Примеры ввода и вывода комплексных чисел иллюстрируются листингом Листинг 4.3. Комплексные числах := 2 i + 4 + 0 . 1 z := 23 е х = 4 + 2 i z = 2 2 . 8 8 5 + 2 . 2 9 6 Для работы с комплексными числами имеются несколько простых функций и операторов (см. разд. "Функции работы с комплексными числами" гл. действие которых показано в листинге Листинг 4.4. Функции работы с комплексными числами - - о : I m ( y ) = 1 9 . 7 8 5 ( у } = 0 . 1 |z] = 2 3 a r g ( z ) = 0 . 1 Примечание Можно выводить мнимую единицу в результатах вычислений не как i, а как j. Для смены представления выберите нужное в списке Imaginary Value (Мнимое значение) диалогового окна Result Format (Формат результата, доступного по команде / Result / Display Options (Формат / Результат / Опции отображения. Встроенные константы Некоторые имена в Mathcad зарезервированы под системные переменные, которые называются встроенными константами constants). Встроен Глава 4. Типы данных ные константы делятся на два типа математические хранящие значения некоторых общеупотребительных специальных математических символов, и определяющие работу большинства численных алгоритмов, реализованных в Математические константы (math constants) — символ бесконечности (вводится клавишами е — основание натурального логарифма (клавиша е п — число "пи" (вводится клавишами i, j — мнимая единица (вводится клавишами <1>, или <1>, О % — символ процента, <%>, эквивалентный Математические константы по-разному интерпретируются причисленных и символьных вычислениях. Вычислительный процессор просто воспринимает их как некоторые числа (листинга символьный распознает каждое из них, исходя из математического контекста, и способен выдавать математические константы в качестве результата. 1>1> |