Работа с текстом и массивами
Работа с текстом
Наряду с формульным редактором, Mathcad обладает развитыми средствами по оформлению текста.
Текстовую область, или регион с текстом (text region), можно разместить в любом незанятом месте документа Mathcad. Однако когда пользователь помещает курсор ввода в пустое место документа и начинает вводить символы, Mathcad интерпретирует их как начало формулы, т.е. по умолчанию создает формульный, а не текстовый регион. Чтобы указать программе, что требуется создать текстовый, а не формульный регион, достаточно перед вводом первого символа нажать клавишу “. В результате на месте курсора появится новый текстовый регион, который имеет характерное выделение. Курсор принимает при этом вид вертикальной линии красного цвета, которая называется линией ввода текста и по назначению аналогична линиям ввода в формулах.
Создать текстовый регион можно и с помощью команды Insert|Text Region (Вставка|Текстовая область).
Чтобы изменить текст:
1. Щелкните мышью на области текста.
2. При необходимости переместите линию ввода текста внутри текстовой области к символам, которые собираетесь изменить, щелкая мышью в нужном месте текста или нажимая клавиши (Home, Endиликлавиши со стрелками).
3. Отредактируйте текст.
Для редактирования текста применяют те же средства, что и для редактирования формул:
§ Выделение части текста протаскиванием указателя мыши или нажатием клавиш-стрелок при удерживаемой клавише Shift
§ Вырезание, копирование и вставка части текста либо сочетанием клавиш Ctrl+X, Ctrl+C, Ctrl+V соответственно, либо при помощи меню Edit (Правка), контекстного меню или панели инструментов Standard (Стандартная).
§ Форматирование текста (управление типом и размером шрифта, выравниванием и т.п.), например, при помощи панели инструментов Formatting (Форматирование).
Mathcad позволяет импорт фрагментов текста из других приложений, например, Notepad или Microsoft Word.
Сделать это проще всего через буфер обмена:
1. Находясь в другом приложении, скопируйте нужный фрагмент в буфер обмена.
2. Перейдите в окно Mathcad и отметьте (щелчком мыши в желаемом месте) место вставки фрагмента.
3. Выберите один из путей:
§ Создайте в документе Mathcad текстовый регион и, находясь внутри него, вставьте содержимое буфера обмена. Фрагмент будет вставлен в документ в виде обычной текстовой области, которую можно редактировать стандартными для Mathcad средствами.
§ Не создавая текстовой области, вставьте фрагмент из буфера обмена. Текст будет вставлен в виде объекта. Для редактирования вставленного таким образом текста следует вызвать (двойным щелчком мышью) то приложение, в котором он был создан.
При оформлении документов часто используют текстовые области, содержащие математические выражения. Для создания таких областей:
1. Щелкните мышью в нужном месте текстовой области.
2. Используйте команду Insert|Math Region (Вставка|Математическая область) или комбинацию клавиш Ctrl+Shift+A для вставки пустого местозаполнителя внутри текста.
3. Введите математическое выражение в местозаполнитель так, как вводят обычные формулы.
Помещая формулы в текст, помните о том, что они влияют на вычисления точно так же, как если бы они были помещены в математический регион непосредственно в документе.
Если необходимо, чтобы математическая область внутри текста не влияла на вычисления, отключите их. Для этого, находясь в режиме редактирования формулы, выполните команду Format|Properties (Формат|Свойства) и, перейдя в открывшемся диалоговом окне на вкладку Calculations (Вычисления), установите флажок Disable Evaluations (Выключить вычисления) и нажмите кнопку OK.
Иногда необходимо сделать текстовую область гиперссылкой, переводящей курсор на какое-либо иное место в активном документе, другой документ Mathcad, либо на сайт в Интернете. Для вставки гиперссылки используется команда Insert|Hyperlink (Вставка|Гиперссылка).
В Mathcad предусмотрено несколько типов комментариев, называемых примечания (annotation) и метаданные (metadata).
q Комментарии к файлу документа как единому целому облегчают его идентификацию как при работе в Mathcad, так и при поиске и отборе файлов средствами OC Windows. Для добавления и редактирования комментариев ко всему документу выполните команду File|Properties (Файл|Свойства) и в открывшемся диалоговом окне установите стандартные свойства для данного файла (заголовок документа, автор, комментарии, ключевые слова).
q Примечания к отдельным выражениям, представляющие собой обычно текст небольшого размера. Для их добавления выделите выражение, вызовите контекстное меню и выберите в нем пункт Annotate Selection (Добавить примечание). В открывшемся диалоговом окне введите текст примечания, который впоследствии станет доступным по команде контекстного меню View|Edit annotation (Вид|Правка примечания). Выражения, снабженные примечаниями, выделяются (при установке линий ввода в пределы выражения) дополнительными скобками зеленого цвета.
q Комментарии (метаданные) к отдельным элементам формул (переменным, функциям, выражениям), позволяющие задать для них несколько параметров. Для их создания выделите желаемую часть формулы, вызовите контекстное меню, выберите в нем пункт Properties (Свойства) и перейдите в открывшемся диалоговом окне к вкладке Custom (Дополнительно). При помощи группы раскрывающихся списков можно добавить параметры разного вида и установить для них определенные значения того или иного типа, например, текст, число, дату.
q Ключевые слова в документе (для глоссария), разметка которых производится в том же диалоговом окне Properties (Свойства) на вкладке Index (Указатель).
Для форматирования текста и формул служит панель инструментов Formatting (Форматирование). С ее помощью текстовые области можно форматировать двумя способами
§ Применять к ним текстовые стили, что сказывается на изменении формата области целиком
§ Форматировать отдельные элементы текста.
Для применения стиля к текстовому региону или формуле используется поле с раскрывающимся списком стилей на панелиFormatting (Форматирование). Все элементы управления, расположенные на этой панели правее списка со стилями, служат для форматирования отдельных частей текста. Особенность форматирования ими формул заключается в том, что при изменении шрифта отдельной формулы изменяется соответствующий параметр математического стиля во всем документе.
Форматирование текста заключается в управлении его двумя составляющими – форматом шрифта и форматом абзаца.
Параметры шрифта выделенного текста можно поменять при помощи панели Formatting (Форматирование) или диалогового окна Text Format (Формат текста). Чтобы вызвать это диалоговое окно, следует выбрать пункт Text (Текст) в верхнем меню Format (Формат) или пункт Font (Шрифт) в контекстном меню.
Параметры шрифта, которыми допускается управлять
§ Font (Шрифт) – поле со списком названий шрифтов.
§ Size (Размер) – поле со списком размеров.
§ Font style (Стиль шрифта) – варианты начертания: Bold (Полужирный),Italic(Наклонный),Underlined (Подчеркнутый).
§ Effects (Эффекты) – флажки: Strikeout (Зачеркнутый),Underline (Подчеркнутый),Superscript Верхний индекс),Subscript (Нижний индекс).
§ Color (Цвет) – раскрывающийся список цветов символов.
Когда вы начинаете вводить текст в текстовый регион или формулы в математический, формат шрифта и абзаца определяется в соответствии со стилями, выбранными по умолчанию и сохраненными в шаблоне документа.
Текстовый стиль содержит информацию обо всех установках шрифта и абзацах текстового региона, а математический стиль – только об установках шрифта различных элементов формул (но не абзаца, т.к. по умолчанию в Mathcad каждая формула не может занимать более одной строки).
Для математических регионов можно применять все рассмотренные способы форматирования шрифта. Особенность форматирования формул заключается в том, что изменения шрифта, примененные к отдельному параметру в одной формуле, немедленно приводят к его изменению во всех формулах в документе (там, где этот параметр присутствует). При этом следует помнить, что формулы содержат элементы, выполненные в нескольких математических стилях.
Иногда требуется применить стиль шрифта к одной из переменных или чисел, чтобы она отличалась от остальных. Для этого измените ее математический стиль:
· Щелкните на имени переменной или числе.
· Выберите команду Format|Equation (Формат|Формула).
· В диалоговом окне Equation Format (Формат формулы) выберите стиль в списке Style Name (Имя стиля).
· Если требуется поменять какие либо установки шрифта, задающие стиль, отредактируйте их, нажав кнопку Modify (изменить).
· Нажмите кнопку OK.
Внимание! Одноименные переменные, записанные в разном стиле, являются разными переменными.
Mathcad имеет некоторый набор средств для оформления страниц в целом, которые можно разделить на управление параметрами разметки страницы и на создание верхних и нижних колонтитулов.
Расположение документа на странице при распечатке ее на принтере задается в диалоговом окне Page Setup (Параметры страницы), которое вызывается одноименной командой верхнего меню File (Файл). В этом диалоговом окне определяются следующие параметры: Size (Размер страницы), Source (Тип подачи бумаги), Orientation (Ориентация) – Portrait(Вертикальная), Landscape(Горизонтальная),Margins(Поля) –Left(Левое),Right(Правое),Top(Отступ сверху),Bottom (Отступ снизу).
Колонтитулами называют элементы оформления документа, которые появляются в унифицированном виде на каждой странице печатной копии документа.
Чтобы вставить колонтитулы в документ:
§ Выберите пункт Header and Footer(Колонтитулы) менюView (Вид).
§ В диалоговом окне Header and Footer(Колонтитулы) в зависимости от типа колонтитула перейдите на одну из вкладок: Header(Верхний колонтитул) или Footer(Нижний колонтитул).
§ Щелкните в одном из трех текстовых полей: Left(Слева),Center(В центр) илиRight(Справа)в зависимости от того, куда вы желаете поместить колонтитул.
§ Вставьте текст колонтитула, комбинируя его с информацией, которая может быть вставлена автоматически (дата, номер страницы, имя файла и т.п.) нажатием кнопки с соответствующим значком.
Перечислим кнопки, которые осуществляют автоматическую вставку информации в колонтитул.Date {d} (Текущая дата). В фигурных скобках отображен символ, который определяет соответствующую информацию в поле колонтитула.
§ File Name{f} (Имя файла).
§ File Path{p} (Путь к файлу).
§ Page Number {n} (Номер страницы).
§ Number of Pages {nn} (Число страниц).
§ Date Last Saved {fd} (Дата последнего сохранения).
§ Time Last Saved {ft} (Время последнего сохранения).
§ Date {d} (Текущая дата).
§ Time {t} (Текущее время).
Задать начало нумерации страниц с любой цифры можно в поле Start at page number (Начать нумерацию).
Колонтитулы влияют только на вид печатных копий документа. Посмотреть их можно в режиме предварительного просмотра, выбрав команду File|Print Preview (Файл| Предварительный просмотр).
Массивы
Массивами (arrays) называют упорядоченные последовательности чисел, или элементов массива. Доступ к любому элементу массива возможен по его индексу, т.е. номеру в последовательности чисел.
В Mathcad условно можно выделить два типа массивов:
§ Векторы (одноиндексные массивы), матрицы (двухиндексные) и тензоры (многоиндексные).
§ Ранжированные переменные (range variables) – векторы, элементы которых определенным образом зависят от их индекса.
Нумерация индексов массивов начинается с величины, которая задается системной переменной ORIGIN, которая по умолчанию равна нулю.
Доступ ко всему массиву осуществляется поименованием векторной переменной. Над элементами массива можно совершать действия, как над обычными числами.
Чтобы получить доступ к элементу вектора
§ Введите имя переменной вектора.
§ Нажмите кнопку Subscript (Нижний индекс) со значком xn на панели Matrix (Матрица) или введите символ <[>.
§ В появившийся справа внизу от имени переменной местозаполнитель введите индекс.
Чтобы получить доступ к элементу многоиндексного массива
§ Введите имя переменной массива.
§ Перейдите к вводу нижнего индекса.
§ Введите местозаполнитель индекса первый индекс, запятую, второй индекс и т.д.
Помимо доступа к отдельным элементам массива, имеется возможность совершать действия над его подмассивами (например, столбцами, образующими вектора). Делается это с помощью оператора со значком x<>на панели Matrix (Матрица).
Ранжированные переменные в Mathcad являются разновидностью векторов и предназначены, главным образом, для создания циклов или итерационных вычислений. Простейший пример ранжированной переменной – это массив с числами, лежащими в некотором диапазоне с некоторым шагом.
Для создания ранжированной переменной с шагом ±1
§ Поместите курсор в нужное место документа.
§ Введите имя переменной и оператор присваивания.
§ Нажмите кнопку Range Variable (Ранжированная переменная) на панели Matrix (Матрица) или введите символ <;> с клавиатуры.
§ В появившиеся местозаполнители введите левую и правую границы диапазона изменения ранжированной переменной.
Пример. x:=3..7 – ранжированная переменная x, представляющая массив 3,4,5,6,7, а y:=7..3 – ранжированная переменная y, представляющая массив 7,6,5,4,3.
Если шаг не равен ±1, используется другая форма задания a,b..c , где a – начальное значение, b=a+h , h – шаг, а c – конечное значение.
Пример. x:=1,3..7 – ранжированная переменная x, представляющая массив 1,3,5,7.
Большинство математических действий, реализованных в Mathcad, совершаются над ранжированными переменными точно так же, как над обычными числами. В этом случае одно и то же действие осуществляется параллельно над всеми элементами ранжированной переменной. Параллельные вычисления производятся точно так же и над произвольными векторами, не являющимися ранжированными переменными.
Чаще всего ранжированные переменные используются при параллельных вычислениях или для присвоения значений элементам других массивов. Определяя массив с помощью ранжированных переменных, позаботьтесь о том, чтобы их значения «пробегали» все необходимые индексы массива.
Существует несколько способов создания массива:
§ Ввод всех элементов вручную с помощью команды Insert Matrix (Вставка матрицы).
§ Определение отдельных элементов массива.
§ Создание таблицы данных и ввод в нее чисел.
§ Применение встроенных функций создания массива.
§ Создание связи с другим приложением, например, Excel или MATLAB.
§ Чтение из внешнего файла данных.
§ Импорт из внешнего файла данных.
Самый простой способ создания массива заключается в определении любого количества его элементов. Это можно сделать
§ Присваивая значения непосредственно отдельным элементам массива.
§ Применяя ранжированные переменные.
Любой из этих способов позволяет присвоить нужное значение, как всем элементам массива, так и части из них, либо даже одному единственному элементу. В последнем случае создается массив, размерность которого задается индексами введенного элемента, а неопределенным элементам присваиваются нулевые значения.
В любом месте документа допускается как переопределение любого из элементов массива, так и изменение его размерности. Для этого достаточно просто присвоить любое значение новому элементу, индексы которого выходят за границы прежней размерности.
Самый наглядный способ создания вектора или матрицы заключается в следующем
§ Нажмите кнопку Matrix or Vector (Матрица или вектор) на панели Matrix (Матрица), либо комбинацию клавиш Ctrl+<M> , либо выберите пункт меню Insert|Matrix(Вставка|Матрица).
§ В диалоговом окне Insert Matrix(Вставка матрицы) задайте целое число столбцов и строк матрицы, которую хотите создать. Для задания вектора нужно задать число столбцов 1.
§ Нажмите кнопку OKили Insert(Вставить) – в результате в документ будет вставлена заготовка матрицы с заданным числом строк и столбцов.
§ Введите значения в местозаполнители элементов матрицы.
Добавление в уже созданную матрицу строк или столбцов производится аналогично.
Элементами векторов и матриц могут быть
§ Вещественные и комплексные числа.
§ Функции с числовыми значениями аргументов.
§ Совокупность чисел, функций и арифметических операторов их вычисления
В Mathcad имеется ряд функций и операторов для преобразования векторов и выполнения действий над его элементами.
Таблица 3.1.
Назначение функции (оператора) | Обозначение | Ввод |
Транспонирование | VT | <V>,Ctrl+<1> |
Сортировка | VS | sort(V) |
Обратная сортировка | VR | reverse(V) |
Векторизация | <V>,Ctrl+<-> | |
Норма вектора | |V| | <|>,<V> |
Комплексно-сопряженный вектор | <V>,<”> | |
Число элементов вектора | length(V) | |
n-тый элемент вектора | Vn | <V>,<[>,<n> |
Номер последнего элемента вектора | last(n) | |
Максимальный элемент | Vmax | max(V) |
Минимальный элемент | Vmin | min(V) |
Действительные части элементов | Re | Re(V) |
Мнимые части элементов | Im | Im(V) |
Большинство этих функций и операторов реализуется с помощью команд панели инструментов Matrix. Их дублирование возможно с клавиатуры путем нажатия соответствующих клавиш, указанных в таблице 3.1.
Транспонирование вектора возвращает исходный вектор, представленный в виде столбца, в вектор в виде строки и наоборот.
Операторы сортировки sort и reverse образуют из исходного вектора векторы, элементы которых расположены в порядке возрастания (sort) или убывания (reverse).
Векторизация означает возможность выполнения математических действий одновременно над всеми элементами векторов и обозначается стрелкой, которая располагается над выражением (например, )
Под нормой вектора a понимают модуль этого вектора, т.е. значение выражения , где ai – i-й элемент вектора, n – число элементов вектора.
Таблица 3.2.Математические операции над векторами.
Математическое действие | Оператор | Ввод |
Сложение вектора V с числом z | V+z | V+z |
Вычитание из вектора V числа z | V-z | V-z |
Умножение вектора V на число z | V*z | V*z |
Деление вектора V на число z | V/z | |
Сложение векторов | V1+V2 | V1+V2 |
Вычитание векторов | V1-V2 | V1-V2 |
Скалярное произведение | V1*V2 | V1*V2 |
Векторное произведение | V1xV2 | <V1>, Ctrl+<*>, <V2> |
Умножение элементов векторов | V1*V2, Ctrl+<-> |
Mathcad имеет большое число встроенных функций и операторов, позволяющих вычислять характеристики матрицы, выполнять различные ее преобразования, возвращать элементы, строки и столбцы матрицы.
Таблица 3.3. Матричные операторы
Назначение оператора | Обозначение | Ввод |
Транспонирование | MT | <M>, Ctrl+<1> |
Вычисление определителя | |M| | <|>,<M> |
Обращение матрицы | M-1 | <M>,<^>,<-> |
Векторизация матрицы | <M>,Ctrl+<-> | |
Комплексно-сопряженная матрица | <M>,<”> | |
n-тый столбец матрицы | M<n> | <M>,Ctrl+<^>,<n> |
Выделение элемента матрицы | Mm,n | <M>,<[>,<m>,<,>,<n> |
Функции определения характеристик матрицы
Назначение функции определения характеристик | Ввод |
Число столбцов | cols(M) |
Число строк | rows(M) |
Ранг матрицы | rank(M) |
Сумма диагональных элементов (след) | tr(M) |
Среднее значение массива элементов матрицы | mean(M) |
Медиана массива элементов матрицы | median(M) |
Матричные функции
Назначение функции | Ввод |
Объединение двух матриц с одинаковым числом строк в одну | augment(Ml,M2) |
Объединение двух матриц с одинаковым числом столбцов в одну | stack(M1,M2) |
Создание единичной квадратной матрицы | identity(n) |
Возвращение матрицы действительных чисел | Re(M) |
Возвращение матрицы мнимых чисел | Im(M) |
Mathcad позволяет выполнять математические операции над матрицами аналогично векторным.
Таблица 3.4. Математические операции над матрицами.
Математическое действие | Оператор | Ввод |
Сложение матрицы M с числом z | M+z | M+z |
Вычитание из матрицы M числа z | M-z | M-z |
Умножение матрицы M на число z | M*z | M*z |
Деление матрицы M на число z | M/z | |
Сложение матриц | M1+M2 | M1+M2 |
Вычитание матриц | M1-M2 | M1-M2 |
Умножение матриц | M1*M2 | M1*M2 |
Возведение матрицы в степень n | Mn | <M>, <^>, <n> |
Умножение элементов матриц | M1xM2 |
На практике массивы часто используются для вычисления суммы или произведения ряда чисел, которые могут быть заданы в виде функций. Если числа изменяются с постоянным шагом, удобно использовать ранжированные переменные, а если с переменным шагом – то вектора.
Пример 1.
Вычислить .
§ Введем ранжированную переменную x:=1..100.
§ Введем шаблон суммирования щелчком мыши на соответствующей кнопке панели инструментов Calculus или одновременным нажатием клавиш Shift+<4>.
§ Заполним маркеры ввода.
§ Получим решение нажатием клавиши < = >.
Пример 2.
Вычислить сумму чисел 3ln(5); cos(1)+sin(1); 7; 2*0.752; 18
§ Образуем вектор x по технологии, описанной ранее.
§ Введем шаблон суммирования одновременным нажатием клавиш Ctrl+<4>.
§ Заполним маркер ввода именем вектора.
§ Получим решение нажатием клавиши < = >.
Mathcad позволяет вычислить сумму значений функции, заданной в аналитическом виде.
Пример 3.
Вычислить .
§ Выведем шаблон суммирования щелчком мыши на соответствующей кнопке панели инструментов Calculus или одновременным нажатием клавиш Ctrl+Shift+<4>.
§ Введем в пустые маркеры функции и диапазона значений аргумента суммирования.
§ Нажмем кнопку символьных вычислений → на панели Symbolic.
§ Получим ответ щелчком мыши вне выражения суммирования.
Произведение ряда чисел, так же как и суммирование, осуществляется с помощью шаблонов. При этом применяются два вида шаблонов – с двумя и четырьмя маркерами ввода.
Первый используется для вычисления произведения чисел с постоянным шагом, представленных в ранжированном виде. В этом случае шаблон произведения вводится нажатием клавиш Shift+<3>.
При определении произведения чисел, представляющих собой значения функции y=f(x) при заданных значениях аргумента x, используется шаблон произведения с четырьмя маркерами ввода. Соответствующий шаблон произведения вводится нажатием клавиш Ctrl+Shift+<3>.