Рис. 1. Панели инструментов программы Маthcad для ввода формул.
Знак присваивания изображается как «:=», а вводится при помощи кнопки Assign Value (Присвоить значение) на панели инструментов Evaluation (Вычисление). Слева от знака присваивания указывают имя переменной. Оно может содержать латинские и греческие буквы, цифры, символы «¢»,«_» и «¥», а также описательный индекс. Описательный индекс вводится с помощью символа «.» и изображается как нижний индекс, но является частью имени переменной, например Vinit. «Настоящие» индексы, определяющие отдельный элемент вектора или матрицы, задаются по-другому.
Переменную, которой присвоено значение, можно использовать далее в документе в вычисляемых выражениях. Чтобы узнать значение переменной, следует использовать оператор вычисления.
Примеры ввода формул:
Ввод текста
Текст, помещенный в рабочий лист, содержит комментарии и описания и предназначен для ознакомления, а не для использования в расчетах. Программа MathCad определяет назначение текущего блока автоматически при первом нажатии клавиши ПРОБЕЛ. Если введенный текст не может быть интерпретирован как формула, блок преобразуется в текстовый и последующие данные рассматриваются как текст. Создать текстовый блок без использования автоматических средств позволяет команда Insert > Text Region (Вставка > Текстовый блок).
Иногда требуется встроить формулу внутрь текстового блока. Для этого служит команда Insert > Math Region (Вставка > Формула).
Форматирование формул и текста
Для форматирования формул и текста в программе MathCad используется панель инструментов Formatting (Форматирование). С ее помощью можно индивидуально отформатировать любую формулу или текстовый блок, задав гарнитуру и размер шрифта, а также полужирное, курсивное или подчеркнутое начертание символов. В текстовых блоках можно также задавать тип выравнивания и применять маркированные и нумерованные списки.
В качестве средств автоматизации используются стили оформления. Выбрать стиль оформления текстового блока или элемента формулы можно из списка Style (Стиль) на панели инструментов Formatting (Форматирование). Для формул и текстовых блоков применяются разные наборы стилей. Чтобы изменить стиль оформления формулы или создать новый стиль, используется команда Formate Equation (Формат ^ Выражение). Изменение стандартных стилей Variables (Переменные) и Constants (Константы) влияет на отображение формул по всему документу. Стиль оформления имени переменной учитывается при ее определении. Так, переменные хил- рассматриваются как различные и не взаимозаменяемы. При оформлении текстовых блоков можно использовать более обширный набор стилей. Настройка стилей текстовых блоков производится при помощи команды Format > Style
(Формат > Стиль).
Работа с матрицами
Векторы и матрицы рассматриваются в программе MathCad как одномерные и двумерные массивы данных. Число строк и столбцов матрицы задается в диалоговом окне Insert Matrix (Вставка матрицы), которое открывают командой Insert > Matrix (Вставка > Матрица). Вектор задается как матрица, имеющая один столбец.
После щелчка на кнопке ОК в формулу вставляется матрица, содержащая вместо элементов заполнители. Вместо каждого заполнителя надо вставить число, переменную или выражение.
Для матриц определены следующие операции: сложение, умножение на число, перемножение и прочие. Допустимо использование матриц вместо скалярных выражений: в этом случае предполагается, что указанные действия должны быть применены к каждому элементу матрицы, и результат также представляется в виде матрицы. Например, выражение М+ 3, где М — матрица, означает, что к каждому элементу матрицы прибавляется число 3. Если требуется явно указать необходимость поэлементного применения операции к матрице, используют знак векторизации, для ввода которого служит кнопка Vectorize (Векторизация) на панели инструментов Matrix (Матрица). Например:
Рис. 2 Вычисление матриц
Для работы с элементами матрицы используют индексы элементов. Нумерация строк и столбцов матрицы начинается с нуля. Индекс элемента задается числом, переменной или выражением и отображается как нижний индекс. Он вводится после щелчка на кнопке Subscript (Индекс) на панели инструментов Matrix (Матрица). Пара индексов, определяющих элемент матрицы, разделяется запятой. Иногда (например, при построении графиков) требуется выделить вектор, представляющий собой столбец матрицы. Номер столбца матрицы отображается как верхний индекс, заключенный в угловые скобки, например М<0>. Для его ввода используется кнопка Matrix Column (Столбец) на панели инструментов Matrix (Матрица). Чтобы задать общую формулу элементов матрицы, типа МI,J:= i +j, используют диапазоны. Диапазон фактически представляет собой вектор, содержащий арифметическую прогрессию, определенную первым, вторым и последним элементами. Чтобы задать диапазон, следует указать значение первого элемента, через запятую значение второго и через точку с запятой значение последнего элемента. Точка с запятой при задании диапазона отображается как две точки (..). Диапазон можно использовать как значение переменной, например x:= 0,0.01.. 1.
Если разность прогрессии равна единице (то есть, элементы просто нумеруются), значение второго элемента и соответствующую запятую опускают. Например, чтобы сформировать по приведенной выше формуле матрицу размером 6х6, перед этой формулой надо указать
i:= 0..5 j:= 0..5. При формировании матрицы путем присвоения значения ее элементам, размеры матрицы можно не задавать заранее. Всем неопределенным элементам автоматически присваиваются нулевые значения. Например, формула М5,5:=1 создает матрицу М размером 6х6, у которой все элементы, кроме расположенного в правом нижнем углу, равны 0.
Стандартные и пользовательские функции
Произвольные зависимости между входными и выходными параметрами задаются при помощи функций. Функции принимают набор параметров и возвращают значение, скалярное или векторное (матричное). В формулах можно использовать стандартные встроенные функции, а также функции, определенные пользователем.
Чтобы использовать функцию в выражении, надо определить значения входных параметров в скобках после имени функции. Имена простейших математических функций можно ввести с панели инструментов Arithmetic (Счет). Информацию о других функциях можно почерпнуть в справочной системе. Вставить в выражение стандартную функцию можно при помощи команды Insert > Function (Вставка > Функция). В диалоговом окне Insert Function (Вставка функции) слева выбирается категория, к которой относится функция, а справа — конкретная функция. В нижней части окна выдается информация о выбранной функции. При вводе функции через это диалоговое окно автоматически добавляются скобки и заполнители для значений параметров.
Пользовательские функции должны быть сначала определены. Определение задается при помощи оператора присваивания. В левой части указывается имя пользовательской функции и, в скобках, формальные параметры — переменные, от которых она зависит. Справа от знака присваивания эти переменные должны использоваться в выражении. При использовании пользовательской функции в последующих формулах ее имя вводят вручную. В диалоговом окне Insert Function (Вставка функции) оно не отображается.
Приведем обозначения основных из [Dm1] них:
1. Тригонометрические и обратные функции:
sin(z), cos(z), tan(z), asin(z), acos(z), atan(z)
z - угол в радианах
2. Гиперболические и обратные функции:
sinh(z), cosh(z), tanh(z), asinh(z), acosh(z), atanh(z)
3. Экспоненциальные и логарифмические:
exp(z) - ez
ln(z) - натуральный логарифм
log(z) - десятичный логарифм
4. Cтатистические функции:
mean(x) - среднее значение
var(x) - дисперсия
stdev(x) - среднеквадратическое отклонение
cnorm(x)- функция нормального рапределения
erf(x) - функция ошибки
Г(x) - гамма-функция Эйлера
5. Функции Бесселя:
J0(x), J1(x), Jn(n,x) - функции Бесселя первого порядка
Y0(x), Y1(x), Yn(n,x) - функции Бесселя второго порядка
6. Функции комплексного переменного:
Re(z) - вещественная часть комплексного числа
Im(z) - мнимая часть комплексного числа
arg(z) - аргумент комплексного числа
7. Преобразование Фурье:
U:=fft(V) - прямое преобразование (V- вещественное)
V:=ifft(U) - обратное преобразование (V- вещественное)
U:=cfft(V) - прямое преобразование (V- комплексное)
V:=icfft(U) - обратное преобразование (V- комплексное)
8. Корреляционная функция - позволяет рассчитывать коэффициент корреляции двух векторов vx и vy и определить уравнение линейной регрессии:
corr(vx,vy) - коэффициент корреляции
slope(vx,vy) - коэффициент наклона линии регрессии
intercept(vx,vy) - начальная координата линии регрессии
9. Линейная интерполяция:
linterp(vx,vy,x)
vx,vy- векторы значений аргумента и функций. x- значение аргумента,
для которого проводится интерполяция
10.Функция для определения корней алгебраических и трансцендентных уравнений:
root(уравнения, переменная) - значение переменной, когда уравнение равно нулю
11.Датчик случайных чисел:
rnd(x) - случайное число с равномерным распределением от 0 до x
12.Целая часть переменной:
floor(x)- ближайшее наименьшее целое число
ceil(x)- ближайшее наибольшее целое число
13.Выделение остатка:
mod(x,y)- остаток от деления x на y
14.Остановка итерации:
until(x,y) - когда x<0
15.Функция условного перехода:
if(условие,x,y) - если условие выполняется, то функция равняется x, иначе y
16.Единичная функция (функция Хевисайда):
Ф(x) - если x>0. То функция равна 1, иначе 0
17.Логические выражения и операции. Простейшими видами логических выражений являются следующие: логическая константа, логическая константа, логическая константа, логическая переменная, выражение отношения. Например, при x:=0.5 операции отношения присваивают L истину или ложь (1 или 0):