4.1. Типы данных

Наиболее простой и распространенный ввод-вывод данных в Mathcad реализован присваиванием и выводом (либо численным, либо символьным) непосредственно в документе. Переменные и функции, посредством которых осуществляется ввод-вывод, могут иметь значения различных типов (числовые, строковые и т. д.). Перечислим основные типы данных, которые обрабатываются процессорами системы Mathcad:

  • числа (в том числе, действительные, комплексные, а также встроенные константы) — Mathcad хранит все числа в формате двойной точности с плавающей точкой (не разделяя их на целые, булевы и т. д.);
  • строки — любой текст, заключенный в кавычки;
  • массивы (в том числе ранжированные переменные, векторы и матрицы) — упорядоченные последовательности чисел или строк.

Рассмотрим более подробно типы данных и то, как осуществляется их непосредственный ввод в документ с помощью присваивания значения переменным.

4.1.1. Действительные числа

Любое выражение, начинающееся с цифры, Mathcad интерпретирует как число. Поэтому для ввода числа просто начните его набирать на клавиатуре. Несмотря на то, что Mathcad хранит все числа в одинаковом формате, вводить их можно в наиболее подходящем представлении (notation), исходя из контекста документа:

  • как целое число;
  • как десятичное число (decimal notation) с любым количеством десятичных цифр после точки;
  • в представлении с порядком (exponential notation) — в так называемом научном формате или представлении (scientific notation), для чего после ввода числа напечатайте символ умножения и введите ю в нужной степени;
  • как число в другой системе счисления.

Три первых представления иллюстрируются содержанием соответствующей строки листинга 4.1.

При вводе целых чисел, больших или равных 1000, все цифры пишутся слитно (как показано в первой строке листинга 4.1) и ни в коем случае не разделяются на порядки запятыми. Например, ввод числа 1000 как 1,000 или 1.000 недопустим.

Листинг 4.1. Ввод действительных чисел

Если вы продолжите листинг 4.1 последовательным выводом всех переменных, то с удивлением обнаружите, что некоторые из чисел выглядят по-иному (например, число d=0). Объяснение этому будет дано в разд. 4.2.

Для ввода числа в других системах счисления: двоичной (binary), восьмеричной (octal) или шестнадцатеричной (hexadecimal) сделайте следующее:

  • Введите его представление в соответствующей системе, применяя лишь корректные символы (для двоичной системы допустимы только цифры 0 и 1; для восьмеричной — цифры от 0 до 7, для шестнадцатеричной — цифры от 0 до 9 и буквы от а до f)- Например, число 34 в двоичной системе представлено такой последовательностью: 100010.
  • После ввода последнего символа числа введите b (для двоичного числа), 0 (для восьмеричного числа) или h (для шестнадцатеричного).

Использование чисел в других системах счисления иллюстрируется листингом 4.2. Обратите внимание, что вывод осуществляется все равно в десятичной системе.

Листинг 4.2. Ввод чисел в других системах исчисления

В логических функциях используются битовые числа (ложь или истина). Они в Mathcad обозначаются обычными действительными числами 0 и 1.

4.1.2. Комплексные числа

Большинство операций в среде Mathcad по умолчанию осуществляются над комплексными числами. Комплексное число является суммой действительного и мнимого числа, получающегося путем умножения любого действительного числа на мнимую единицу (imaginary unit) i. По определению, i2=-1.

Чтобы ввести мнимое число, например 3i:

  • Введите действительный сомножитель (3).
  • Введите символ "i" или "j" непосредственно после него.

Для ввода мнимой единицы надо нажать клавиши <1>, <i.>. Если просто ввести символ "i", то Mathcad интерпретирует его как переменную i. Кроме того, мнимая единица имеет вид 1i, только когда соответствующая формула выделена. В противном случае мнимая единица отображается просто как i (рис. 4.1).

Рис. 4.1. Ввод мнимой единицы

Комплексное число можно ввести в виде обычной суммы действительной и мнимой частей или в виде любого выражения, содержащего мнимое число. Примеры ввода и вывода комплексных чисел иллюстрируются листингом 4.3.

Листинг 4.3. Комплексные числа

Для работы с комплексными числами имеются несколько простых функций и операторов (см. разд. "Функции работы с комплексными числами" гл. 10), действие которых показано в листинге 4.4.

Листинг 4.4. Функций работы с комплексными числами

Можно выводить мнимую единицу в результатах вычислений не как i, а как j. Для смены представления выберите нужное в списке Imaginary Value (Мнимое значение) диалогового окна Result Format (Формат результата), доступного по команде Format / Result / Display Options (Формат / Результат / Опции отображения).

4.1.3. Встроенные константы

Некоторые имена в Mathcad зарезервированы под системные переменные, которые называются встроенными константами (built-in constants). Встроенные константы делятся на два типа: математические, хранящие значения некоторых общеупотребительных специальных математических символов, и системные, определяющие работу большинства численных алгоритмов, реализованных в Mathcad.

Математические константы (math constants)

  • символ бесконечности (вводится клавишами <Ctrl>+<Shift>+<z>);
  • е — основание натурального логарифма (клавиша <е>);
  • число "пи" (вводится клавишами <Ctrl>+<Shift>+<p>);
  • i, j — мнимая единица (вводится клавишами <1>, <i> или <1>, <j>);
  • % — символ процента, <%>, эквивалентный 0.01.

Математические константы по-разному интерпретируются при численных и символьных вычислениях. Вычислительный процессор просто воспринимает их как некоторые числа (листинг 4.5), а символьный распознает каждое из них, исходя из математического контекста, и способен выдавать математические константы в качестве результата.

Листинг 4.5. Значения математических констант

При желании можно изменить значение любой из перечисленных констант или использовать их в качестве переменных в расчетах (см. листинг 4.1, в котором переопределена константа е). Разумеется, если присвоить константе новое значение, прежнее станет недоступным.

Системные переменные (system variables)

  • TOL — точность численных методов;
  • CTOL — точность выполнения выражений, используемая в некоторых численных методах;
  • ORIGIN — номер начального индекса в массивах (см. разд. 4.3.1);
  • PRNPRECISION — установка формата данных при выводе в файл;
  • PRNCOLWIDTH — установка формата столбца при выводе в файл;
  • CWD — строковое представление пути к текущей рабочей папке.

Предустановленные значения системных переменных перечислены в листинге 4.6. Их можно поменять в любой части документа, присвоив соответствующей переменной новое значение. Кроме того, переопределение значения переменной для всего документа производится при помощи команды Tools / Worksheet Options / Built-in Variables (Сервис / Опции документа / Встроенные переменные) в диалоговом окне Worksheet Options (Опции документа ), приведенном на рис. 4.2. Чтобы в любой момент вернуть значения по умолчанию, нажмите кнопку Restore Defaults (Восстановить установки по умолчанию).

Листинг 4.6. Предустановленные значения системных переменных

Рис. 4.2. Вкладка Built-in Variables диалога Worksheet Options

4.1.4. Строковые выражения

Значением переменной или функции может быть не только число, но и строка, состоящая из любой последовательности символов, заключенной в кавычки (листинг 4.7). Для работы со строками в Mathcad имеется несколько встроенных функций (см. разд. "Строковые функции" гл. 10).

Листинг 4.7. Ввод и вывод строк

Совершенно аналогичным образом можно определять пользовательские функции строкового типа.

4.2. Размерные переменные

В Mathcad числовые переменные и функции могут обладать размерностью. Сделано это для упрощения инженерных и физических расчетов. В Mathcad встроено большое количество единиц измерения, с помощью которых и создаются размерные переменные.


4.2.1. Создание размерной переменной

Чтобы создать размерную переменную, определяющую, например, силу тока в 10 А:

  • Введите выражение, присваивающее переменной i значение ю: i:=io.
  • Сразу после ввода ю введите символ умножения "*".
  • Находясь в области местозаполнителя, выберите команду Insert / Unit (Вставка / Единицы) либо нажмите кнопку с изображением мерного стакана на стандартной панели инструментов, либо клавиши <Ctrl>+<U> (рис. 4.3).
  • В списке Unit (Единица измерения) диалогового окна Insert Unit (Вставк-единицы измерений) выберите нужную единицу измерения Ampere (A).
  • Нажмите кнопку ОК.

Если Вы затрудняетесь с выбором конкретной единицы измерения, нэ знаете, какова размерность переменной (в нашем случае это электрический ток), то попробуйте выбрать ее в списке Dimension (Размерность) диалогового окна Insert Unit (Вставка единицы измерений) (рис. 4.4). Тогда в списке Unit (Единица измерения) появятся допустимые для этой величины единицы измерений, из которых выбрать нужную будет легче (рис. 4.5).

Просмотреть вставку единиц измерения можно и без выхода из диалогового окна Insert Unit, нажимая вместо кнопки ОК кнопку Insert (Вставить).

В этом случае Вы увидите, что единица измерений появилась в нужном месте документа, и можете поменять ее, оставаясь в диалоге Insert Unit.

Рис. 4.3. Вставка единиц измерения размерной величины

Рис. 4.4. Диалоговое окно Insert Unit

Рис. 4.5. Выбор размерности

4.2.2. Работа с размерными переменными

Работая с размерными переменными, приготовьтесь к тому, что Mathcad будет постоянно контролировать корректность расчетов. Например, нельзя складывать переменные разной размерности, в противном случае (рис. 4.6) будет получено сообщение об ошибке "The units in this expression do not match" (Размерности в этом выражении не совпадают). Тем не менее, позволяется складывать, например, амперы с килоамперами (см. рис. 4.9).

Рис. 4.6. Нельзя складывать переменные разной размерности

Рис. 4.7. Изменение единиц измерения в ответе

Над размерными переменными можно производить любые корректные с физической точки зрения расчеты. Пример расчета сопротивления через отношение напряжения к току приведен в листинге 4.8.

Листинг 4.8. Расчеты с размерными переменными

Обратите внимание, что результат в листинге 4.8 выдан не в омах. Тем не менее, легко перевести его в омы, как и в другие единицы. Для этого достаточно дважды щелкнуть на местозаполнителе, присутствующем после вычисленного значения формулы в момент, когда она выделена (рис. 4.7, внизу). В результате появляется то же самое диалоговое окно Insert Unit (Вставка единицы измерений), в котором можно поменять единицу измерений вычисленного ответа. В результате ответ будет пересчитан в соответствии с вновь введенной единицей измерения (как сделано для верхней формулы на рис. 4.7).

Можно включить автоматический перевод единиц измерения в более простые единицы. Для этого перейдите в диалоговое окно Result Format (Формат результата) на вкладку, посвященную размерностям, с помощью команды Format/ Result/ Unit Display (Формат/ Результат/ Отображение размерности). Установите в ней флажок Simplify units when possible (Упрощать единицы, когда это возможно).

Процесс смены единиц в момент их выбора в диалоге Insert Unit (Вставка единицы измерений) показан на рис. 4.8. В результате приведенного выбора выведенное в амперах значение силы тока будет изменено на значение в килоамперах: 1.01 кА.

Рис. 4.8. Сложение переменных одной размерности, выраженных в разных единицах

4.2.3. Выбор системы единиц

Как легко заметить, во всех примерах этого раздела вставлялись единицы системы измерения SI. Об этом можно было судить как по перечню самих единиц, так и по недоступному списку System (Система) в диалоге Insert Unit (Вставка единицы измерений) с выбранным пунктом SI. Сменить систему единиц во всем документе можно, выполнив команду Tools / Document Options (Сервис / Опции документа) и переходя на вкладку Unit System (Система единиц). В ней следует выбрать один из переключателей, соответствующий желаемой системе.

4.2.4. Определение новой размерности

Чтобы определить новую (пользовательскую) единицу измерения, достаточно присвоить ее выражение через используемые размерности переменной с соответствующим именем. Пример создания новой единицы измерения "наноампер" приведен в листинге 4.9.

Листинг 4.9. Определение новой единицы измерения

Созданные пользователем единицы измерения недоступны в диалоговом окне Insert Unit (Вставка единицы измерений), поэтому их приходится вводить вручную с клавиатуры (как это сделано для новой единицы ПА во второй строке листинга 4.9).

4.3. Массивы

Массивами (arrays) называют упорядоченные последовательности чисел или элементов массива. Доступ к любому элементу массива возможен по его индексу, т. е. номеру в последовательности чисел (в листинге 4.10 а — это массив, ах — его элемент). Применение массивов чрезвычайно эффективно в математических расчетах.

Листинг 4.10. Одномерный массив (вектор)

В Mathcad условно выделяются два типа массивов:

  • векторы (одноиндексные массивы, листинг 4.10), матрицы (двухиндекс-ные, листинг 4.11) и тензоры (многоиндексные);
  • ранжированные переменные (range variables) — векторы, элементы которых определенным образом зависят от их индекса.

Листинг 4.11. Двумерный массив (матрица)

4.3.1. Доступ к элементам массива

Доступ ко всему массиву осуществляется по имени векторной переменной. Например, последовательность символов "а", "=" в листингах 4.10 и 4.11 приведет к выводу соответствующего вектора или матрицы. В Mathcad имеются и операторы, и встроенные функции, которые действуют на векторы и матрицы целиком (они рассматриваются в гл. 9), например, транспонирование, матричное умножение и т. д.

Над элементами массива можно совершать действия как над обычными числами. Нужно только правильно задать соответствующий индекс или сочетание индексов массива. Например, чтобы получить доступ к нулевому элементу вектора а из листинга 4.10:

  • Введите имя переменной массива (а).
  • Нажмите кнопку Subscript (Нижний индекс) со значком хn на панели Matrix (Матрица) либо введите [.
  • В появившийся справа снизу от имени массива местозаполнитель введите желаемый индекс (0).

Если после этого ввести знак численного вывода, то справа от него появится значение нулевого элемента вектора, как показано во второй строке листинга 4.10.

Чтобы получить доступ к элементу многоиндексного массива (например элементу а1,0 матрицы а из листинга 4.11):

  • Введите имя переменной массива (а).
  • Перейдите к вводу нижнего индекса, введя [.
  • Введите в местозаполнитель индекса первый индекс (1), запятую "," и в появившийся после запятой местозаполнитель введите второй индекс (0).

В результате будет получен доступ к элементу, как показано в предпоследней строке листинга 4.11.

В рассмотренных листингах нумерация индексов массивов начинается с нуля, иными словами, первый элемент массива имеет индекс о. Стартовый индекс массива задается системной переменной ORIGIN, которая по умолчанию равна нулю. Если Вы привыкли нумеровать элементы векторов и матриц с единицы, присвойте этой переменной значение 1 (листинг 4.12). Обратите внимание, что в этом случае попытка выяснить значение нулевого элемента вектора приводит к ошибке, поскольку его значение не определено.

Помимо доступа к отдельным элементам массива, имеется возможность совершать действия над его подмассивами (например векторами-столбцами, образующими матрицу). Делается это с помощью оператора со значком х<> на панели Matrix (Матрица) (см. гл. 9).

Листинг 4.12. Изменение нумерации индексов массивов


4.3.2. Ранжированные переменные

Ранжированные переменные в Mathcad являются разновидностью векторов и предназначены, главным образом, для создания циклов или итерационных вычислений. Простейший пример ранжированной переменной — это массив с числами, лежащими в некотором диапазоне с некоторым шагом.

Например, для создания ранжированной переменной s с элементами 0,1,2,3,4,5:

  • Поместите курсор ввода в нужное место документа.
  • Введите имя переменной (s) и оператор присваивания ":".
  • Нажмите кнопку Range Variable (Ранжированная переменная) на панели Matrix (Матрица), показанную на рис. 4.9, либо введите символ точки с запятой с клавиатуры.
  • В появившиеся местозаполнители (рис. 4.9) введите левую и правую границы диапазона изменения ранжированной переменной 0 и 5.

Рис. 4.9. Создание ранжированной переменной

Результат создания ранжированной переменной показан на рис. 4.10.

Чтобы создать ранжированную переменную с шагом, не равным 1, например, 0,2,4,6,8:

  • Создайте ранжированную переменную в диапазоне от о до 8 (см. рис. 4.9).
  • Поместите линии ввода на значение начала диапазона (о).
  • Введите запятую.
  • В появившийся местозаполнитель (рис. 4.11) введите значение шага изменения ранжированной переменной (2).

Созданная ранжированная переменная будет иметь значения от о до 8 включительно, с шагом, равным 2.

Рис. 4.10. Вывод ранжированной переменной

Рис. 4.11. Создание ранжированной переменной с шагом, не равным 1

Чаще всего ранжированные переменные используются:

  • при параллельных вычислениях (листинги 4.13 и 4.14);
  • для присвоения значений элементам других массивов (листинги 4.14 и 4.15).

Обратите внимание на типичный пример использования ранжированной переменной из листингов 4.13 и 4.14. Большинство математических действий, реализованных в Mathcad, совершаются над ранжированными переменными точно так же, как над обычными числами. В этом случае одно и то же действие осуществляется параллельно над всеми элементами ранжированной переменной.

Листинг 4.13. Ранжированная переменная при параллельных вычислениях

Параллельные вычисления производятся точно так же и над произвольными векторами, не обязательно являющимися ранжированными переменными. Например, можно определить в листинге 4.14 вектор i, подобно вектору из листинга 4.10, и провести те же параллельные вычисления над его элементами.

Листинг 4.14. Ранжированная переменная при параллельных вычислениях

Листинг 4.15. Использование ранжированной переменной для определения матрицы

Определяя массив с помощью ранжированных переменных (листинги 4.14 и 4.15), позаботьтесь о том, чтобы их значения пробегали все необходимые индексы массива. Например, если задать шаг изменения ранжированной переменной, равный 2, то половина элементов вектора будет не определена.

Помните о том, что ранжированные переменные — просто разновидности векторов с упрощенной формой задания элементов. Часто необходимо провести одни и те же вычисления циклически, большое количество раз, например, вычисление некоторой функции f (х) в некотором диапазоне х для построения подробного графика. Задание вручную всех значений аргумента (наподобие вектора из листинга 4.10) очень трудоемко, а с помощью задания ранжированной переменной х это делается в одну строку.

 

4.3.3. Создание массивов

Существует несколько способов создания массива:

  • ввод всех элементов вручную с помощью команды Insert Matrix;
  • определение отдельных элементов массива;
  • создание таблицы данных и ввод в нее чисел;
  • применение встроенных функций создания массива (см. гл. 9);
  • создание связи с другим приложением, например Excel или MATLAB;
  • чтение из внешнего файла данных;
  • импорт из внешнего файла данных.

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

Создание матрицы командой Insert Matrix

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

  • Нажмите кнопку Matrix or Vector (Матрица или вектор) на панели Matrix (Матрица) (рис. 4.12) либо клавиши <Ctrl>+<M>, либо выберите пункт меню Insert / Matrix (Вставка / Матрица).
  • В диалоговом окне Insert Matrix (Вставка матрицы) задайте целое число столбцов и строк матрицы, которую хотите создать. Например, для создания вектора 3x1 введите показанные на рис. 4.12 значения.
  • Нажмите кнопку ОК или Insert (Вставить) — в результате в документ будет вставлена заготовка матрицы с определенным числом строк и столбцов (рис. 4.13).
  • Введите значения в местозаполнители элементов матрицы. Переходить от одного элемента матрицы к другому можно с помощью указателя мыши либо клавиш со стрелками.

Добавление в уже созданную матрицу строк или столбцов производится точно так же:

  • Выделите линиями ввода элемент матрицы, правее и ниже которого будет осуществлена всгавка столбцов и (или) строк.
  • Вставьте в него матрицу, как было описано выше. При этом допускается задание числа столбцов или строк равным нулю (рис. 4.14).
  • Заполните местозаполнители недостающих элементов матрицы.

Рис. 4.12. Вставка матрицы

Рис. 4.13. Заполнение матрицы элементами

На рис. 4.14 и 4.15 показаны результаты последовательной вставки в матрицу столбца и строки после определения соответствующего числа столбцов и строк в диалоге Insert Matrix и нажатия в нем кнопки Insert (Вставить).

Рис. 4.14. Добавление одного столбца к матрице

Рис. 4.15. Добавление одной строки к матрице

В местозаполнители элементов матрицы можно вставлять не только числа (действительные или комплексные), но и любые математические выражения, состоящие из переменных, операторов, встроенных и пользовательских функций (листинг 4.16, вторая строка).

Листинг 4.16. Использование переменных и функций при определении матрицы

Создание массива определением его отдельных элементов

Массив можно определить следующим образом:

  • присваивая значения непосредственно отдельным элементам массива;
  • применяя ранжированные переменные (см. листинг 4.15).

Любой из этих способов позволяет присвоить нужное значение как всем элементам массива (см. листинг 4.15), так и части из них, либо даже одно-му-единственному элементу. В последнем случае создается массив, размерность которого задается индексами введенного элемента (листинг 4.17), а неопределенным элементам по умолчанию присваиваются нулевые значения.

Листинг 4.17. Создание матрицы определением одного ее элемента.

В любом месте документа допускается как переопределение любого из элементов массива (листинг 4.18, первая строка), так и изменение его размерности. Чтобы поменять размерность всего массива, просто присвойте любое значение новому элементу, индексы которого выходят за границы прежней размерности (вторая строка листинга 4.18).

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

Листинг 4.18. Изменение матрицы (продолжение листинге 4.17)

Создание тензора

Определение отдельных элементов — удобный способ создания тензоров (многоиндексных массивов). В Mathcad имеется непосредственная возможность работы только с векторами и матрицами. Тем не менее, можно создать тензор путем определения вложенного массива (nested array). Для этого необходимо присвоить каждому элементу матрицы значение в виде другого вектора или матрицы (листинг 4.19). Пользователь должен лишь позаботиться о корректности задания индексов тензора и не запутаться в индексировании вложенных матриц (последняя строка листинга).

Листинг 4.19. Создание тензора и доступ к его элементам

Процесс создания тензора автоматизирует применение ранжированных переменных.

Обратите внимание, что Mathcad по умолчанию не отображает трехмерную структуру тензора (предпоследняя строка листинга 4.19), а вместо этого показывает информацию о размерах каждого элемента матрицы s. Развернуть вложенные массивы можно с помощью команды Format / Result / Display Options (Формат / Результат / Опции отображения), устанавливая флажок Expand Nested Arrays (Разворачивать вложенные массивы) на вкладке Display Options (Опции отображения).

4.3.4. Отображение вывода векторов и матриц

Вы, вероятно, обратили внимание, что матрицы, векторы и ранжированные переменные отображались в различных примерах по-разному. Это связано с автоматическими установками отображения матриц, принятыми в Mathcad по умолчанию. Существуют два стиля отображения массива: в форме матрицы и в форме таблицы (рис. 4.16).

Рис. 4.16. Отображение массивов в форме матрицы (слева) и таблицы (справа)

Изменение стиля отображения какого-либо массива выполняется командой Format/ Result (Формат/ Результат), вызывающей диалог Result Format (Формат результата). В этом диалоге следует перейти на вкладку Display Options (Опции отображения) (рис. 4.17) и в списке Matrix display style (Стиль отображения матриц) выбрать один из стилей:

  • Automatic (Авто) — стиль выбирается Mathcad;
  • Matrix (Матрица);
  • Table (Таблица).

Рис. 4.17. Изменение стиля отображения массива

Стиль отображения в виде таблицы допускает различное выравнивание матрицы относительно выражения слева от оператора вывода (рис. 4.18). Для изменения выравнивания вызовите контекстное меню из области таблицы, наведите в нем указатель мыши на пункт Alignment (Выравнивание) и в подменю выберите тип выравнивания.

Рис. 4.18. Различные стили выравнивания матриц

В диалоговом окне Result Format (Формат результата), помимо стиля отображения матрицы, можно задать стиль отображения тензоров (вложенных массивов). Для того чтобы отображать тензоры в стиле, показанном на рис. 4.19, установите флажок Expand nested arrays (Разворачивать вложенные массивы). Чтобы отображать их в свернутой форме (см. листинг 4.19), снимите этот флажок.

Рис. 4.19. Разворачивание вложенных массивов

Особенно наглядной формой отображения вектора является построение его в виде графика).

4.4. Формат вывода числовых данных

Несмотря на то, что невозможно влиять на результат, который отображается справа от оператора вывода значений переменных, функций и выражений, допускается изменять формат его отображения. Напомним, что как ввод, так и вывод данных может осуществляться в двух основных представлениях (см. разд. 4.1.1):

  • десятичное (decimal), например 13478.74559321;
  • с порядком (exponential notation), например 1.348x104.

Выбор формата вывода числовых данных осуществляется при помощи диалогового окна Result Format (Формат результата). Оно вызывается командой Format / Result (Формат / Результат).

4.4.1. Формат результата

Управление представлением числа в десятичном представлении или представлении с порядком осуществляется при помощи следующих параметров:

  • количество отображаемых десятичных знаков (decimal places) после точки. Например, число 122,5587 с четырьмя десятичными знаками при отображении с двумя знаками будет выглядеть как 122,56;
  • отображение или скрытие незначащих нулей (trailing zeros) — опция, позволяющая показывать или скрывать незначащие нули в десятичном представлении числа, т. е. выводить, к примеру, "1,5" вместо "1,500" (даже если установлено количество десятичных знаков, равное 3);
  • порядковый порог (exponential threshold), при превышении степени 10 которого число будет показываться с порядком. Например, при пороге 3 число 122,56 будет отображаться как десятичное, а при пороге 2 — уже как"1,23хЮ2";

Количество десятичных знаков левого сомножителя числа с порядком контролируется в некоторых форматах первым из трех перечисленных параметров.

  • кроме того, число с порядком может представляться в эквивалентных видах: "1,23х102" или с порядком в инженерном формате (engineering format): "1.23E+002".

В Mathcad имеется несколько типов форматов, в каждом из которых разрешается изменение различных параметров представления числа. Формат выбирается на вкладке Number Format (Формат числа) диалогового окна Result Format (Формат результата) (рис. 4.20).

Рис. 4.20. Выбор формата вывода числа

Основной (general) формат

Этот формат принят при выводе чисел по умолчанию. Можно управлять и количеством отображаемых десятичных знаков (поле Number of decimal places), и порядковым порогом (поле Exponential threshold). При превышении порога число отображается с порядком (как показано на рис. 4.20). Несколько примеров вывода одного и того же числа в общем формате показано в листинге 4.21. В левой колонке приведены числа с порядковым порогом, равным 3, и количеством десятичных знаков (сверху вниз) 3, 4, 5, соответственно. Для нижнего числа установлен флажок отображения незначащих нулей. В правой колонке сгруппированы числа с порядковым порогом от 1 до 4 (сверху вниз).

Листинг 4.21. Основной формат результата

Десятичный (decimal) формат

Числа отображаются только в десятичном представлении и никогда — в представлении с порядком.

Научный (scientific) формат

Числа отображаются только с порядком, причем количество десятичных знаков левого сомножителя, как и отображение незначащих нулей, определяется пользователем.

Инженерный (engineering) формат

Числа отображаются только с порядком, причем обязательно кратным 3; как и в научном формате, пользователю разрешается изменять количество десятичных знаков.

Дробный (fraction) формат

Этот формат сильно отличается от предыдущих, представляя число в виде дроби (рис. 4.21). Причем можно управлять как точностью представления числа с помощью поля level of accuracy (Уровень точности), так и задать модификацию этого формата — отображение числа в виде целой и дробной части (как показано на рис. 4.21 внизу слева) посредством установки флажка Use mixed numbers (Смешанные числа).

Вид одного и того же числа в различных форматах приведен в листинге 4.22. В первой строке показан десятичный формат, во второй строке — научный с тремя десятичными знаками, в третьей — инженерный также с тремя десятичными знаками. В последних двух строках представлен дробный формат: в предпоследней с уровнем точности 5, в последней — 10. К тому же, для выражения последней строки установлен флажок Use mixed numbers (Смешанные числа).

Рис. 4.21. Дробный формат

Листинг 4.22. Другие форматы результаа вычислений


4.4.2. Округление малых чисел до нуля

Mathcad автоматически округляет малые числа до нуля (листинг 4.23). Допускается установка порогового значения округления (в степенях 10), отдельно для действительной и мнимой части числа. При этом числа, по модулю меньшие порога, отображаются в виде нуля.

Помните, что это касается только отображения чисел. В памяти компьютера они хранятся корректно.

Листинг 4.23. Представление близких к нулю чисел

Чтобы изменить пороговые значения:

  • Щелкните на любом пустом месте документа.
  • Войдите в диалоговое окно Result Format (Формат результата): Format / Result (Формат / Результат).
  • Перейдите на вкладку Tolerance (Точность).
  • Установите пороговые значения для действительного нуля в поле Zero threshold (Порог нуля) и мнимого нуля в поле Complex threshold (Комплексный порог нуля).
  • Нажмите кнопку ОК.

Рис. 4.22. Задание порога мнимого нуля

Рис. 4.23. Просмотр точного значения числа в строке состояния

Изменение порога мнимого нуля возможно и в режиме редактирования формулы (рис. 4.22), но изменение действительного порога нуля при этом недоступно.

Просмотреть число в точном представлении можно, нажав клавиши <Ctrl>+<Shift>+<N>. В этом случае на строке состояния (в самой нижней части окна Mathcad, слева) будет на короткое время выведен результат с максимальной точностью (рис. 4.23).


4.4.3. Вывод чисел в других системах счисления

Аналогично вводу чисел в других системах, счисления (см. разд. 4.1.1), вывести результат также возможно в виде десятичного, двоичного, восьмеричного или шестнадцатеричного числа (листинг 4.24, сверху вниз).

Листинг 4.24. Вывод чисел в других системах счисления

Чтобы задать систему счисления, выберите команду Format / Result / Display Options (Формат / Результат / Опции отображения), а затем желаемый элемент списка Radix (Система счисления) (рис. 4.24). При отображении чисел в других системах счисления также доступно форматирование их представления на вкладке Number Format (Формат числа) того же диалога Result Format (Формат результата). В листинге 4.25 приведено несколько примеров форматирования чисел в двоичном представлении.

Рис. 4.24. Задание вывода результата в других системах счисления

Листинг 4.25. Форматирование вывода чисел в других системах счисления

Мы рассмотрели в этой главе основные принципы наиболее простого численного ввода и вывода данных. О более впечатляющих формах ввода-вывода (графики, анимация, ввод-вывод в файлы) рассказывается в последней части книги.

 

4.5. Элементы управления (controls)

Одна из редко используемых возможностей Mathcad — ввод данных при помощи общеупотребительных элементов управления (такие, как поле ввода, ползунковый регулятор и т. п.). Очевидно, что такой способ ввода удобен, если Вы занимаетесь разработкой расчетов, которые предназначены для непрофессиональных пользователей Mathcad.

В Mathcad 11 имеются следующие элементы управления (рис. 4.25):

  • Check Box (флажок проверки);
  • Radio Button (переключатель);
  • Push Button (кнопка);
  • Slider (ползунковый регулятор);
  • Text Box (поле текстового ввода);
  • List Box (список).

Рис. 4.25. Элементы управления MathSoft и панель Controls

Как видно из рис. 4.25, элементы управления в Mathcad используются для присваивания переменным значений, которые определяются действиями пользователя над элементами управления. К примеру, на рис. 4.26 два флажка проверки определяют переменные х0 и x1. Если флажок проверки выставлен, переменная принимает значение 1, а если снят — 0.

Рис. 4.26. Пример использования флажка проверки

Для того чтобы вставить элемент управления в документ, можно использовать либо команду меню Insert / Controls (Вставка / Элемент управления), либо панель инструментов Controls (Элементы управления), которую можно вызвать при помощи пункта Toolbars / Controls (Панели инструментов / Элементы управления) меню View (Вид). После нажатия кнопки с пиктограммой нужного элемента управления новый элемент управления появляется в документе вместе с местозаполнителем, который следует заменить именем переменной.

Чтобы отредактировать свойства самого элемента управления, следует вызвать на нем контекстное меню и выбрать в меню пункт Properties (Свойства). Большинство свойств имеет интуитивный смысл, и Вам будет несложно управлять характеристиками ввода данных посредством регулировки параметров самих элементов управления. Дополнительную информацию об использовании элементов управления Вы сможете найти в специальном справочном пособии, доступном по команде Help / Developer's Reference (Справка / Руководство разработчика).

Последнее изменение: Четверг, 11 августа 2011, 12:32