Встроенные операторы и функции Mathcad
Таблица ПЗ.1. Арифметические операторы
Вычитание или отрицание (унарная операция)
Матричное умножение, умножение на скаляр
Скобки (изменение приоритета)
Возведение в степень n
Возведение матрицы в степень n
Скалярные операции над векторами и матрицами, если это не оговорено особо, производятся независимо над их каждым элементом, как над скаляром.
Таблица П3.2. Вычислительные операторы
Вычисление n-й производной
Сумма ранжированной переменной
Произведение ранжированной переменной
Таблица ПЗ.З. Встроенные функции по алфавиту
Обратная тригонометрическая или гиперболическая функция *
Функция Эйри первого рода
х,у — координаты точки
Угол между точкой и осью ОХ
file— строковое представление пути к файлу
Дозапись данных в существующий текстовый файл
z — аргумент функции
Аргумент комплексного числа
х,у — координаты точки
Угол, отсчитываемый от оси ОХ до точки (х,у)
А,В,С. — векторы или матрицы
Слияние матриц слева направо
n — порядок х — аргумент
Мнимая и действительная части функции Бесселя —Кельвина
Функция Эйри второго рода
х,у — векторы данных
и — вектор значений сшивок В-сплайнов
n — порядок полиномов
Вектор коэффициентов В-сплайна
Bulstoer (y0, t0, t1, M, D)
Возвращает матрицу с решением задачи Коши для системы ОДУ методом Булирша-Штера
bulstoer (y0, t0, t1, acc, D, k, s)
Возвращает матрицу с решением задачи Коши для системы ОДУ методом Булирша-Штера (для определения только последней точки интервала)
Bvalf it (z1, z2, x0, x1, xf, D, load1, load2, score)
zl,z2 — вектор начальных значений для недостающих левых и правых граничных условий
хО — левая граница xl — правая граница xf — внутренняя точка
D(x,y) — векторная функция, задающая систему ОДУ
Возвращает вектор недостающих граничных условий у краевой задачи для системы N ОДУ с дополнительным условием в промежуточной точке
Наименьшее целое, не меньшее х
Вектор прямого комплексного преобразования Фурье (в разных нормировках)
А — квадратная, определенная матрица
А — матрица или вектор
Объединение строковых переменных
А — квадратная матрица
Числа обусловленности в разных нормах (Ы, L2, Евклидова, »)
А — матрица i — индекс столбца
Сортировка строк матрицы по элементам 1-го столбца
CreateMesh (F, s0, s1, t0, t1, sgr, tgr, fmap)
tO.tl — пределы! sO.sl — пределы s
tgr, sgr — число точек сетки по t и s
fmap— функция преобразования координат
Cre-ateSpace(F[, t0, t1, tgr, fmap])
F(t) — векторная функция из трех элементов
tgr — число точек сетки по t
fmap— функция преобразования координат
Комплексный знак числа
х,у — векторы данных
Вектор коэффициентов кубического сплайна
r,6,z— цилиндрические координаты
Преобразование цилиндрических координат в прямоугольные
х— значение случайной величины
par — список параметров распределения *
Плотность вероятности со статистикой распределения *
Диагональная матрица, на диагонали которой находятся элементы вектора
А — квадратная матрица
Собственные значения матрицы
А — квадратная матрица
А. — собственное значение
Собственный вектор матрицы, соответствующий заданному собственному значению
А — квадратная матрица
Собственные векторы матрицы
Обратная функция ошибок
Возвращает строку S как сообщение об ошибке
Экспонента в степени z
x,y — векторы данных
g — вектор начальных значений а,Ь,с
Вектор прямого преобразования Фурье (в разных нормировках)
Функция Бесселя второго рода нулевого, первого и m-го порядка
n — порядок х — аргумент
Сферическая функция Бесселя второго рода
Некоторые функции, составляющие семейства типовых функций, приведены в сокращенном виде с недостающей частью имени в виде звездочки *. Например, различные статистические функции, описывающие различные распределения, или функции вывода в файлы. Подробные сведения содержатся в разделе, на который указывает соответствующая ссылка.
Урок 5. Переменные и функции в Mathcad
Возможности Mathcad можно в полной мере оценить только при использовании переменных и функций.
Два знака равенства
В выражениях Вам необходимо использовать числа (константы), переменные, операторы и знаки равенства. В повседневной жизни мы используем знак равенства = для различных операций. Mathcad, однако, различает эти операции. Наиболее важные из них:
Оператор определения не менее важен, чем оператор вычисления. Значение выражения y можно отобразить только после присвоения ему какого-либо значения. x и y здесь являются переменными.
Введите следующие выражения:
Эти два знака равенства принципиально различны, поэтому их не следует путать.
Поместите курсор перед числом 4 в первом выражении:
Удалите число 4 с помощью клавиши [Delete] и введите 5. Щелкните по пустой области и убедитесь, что результат третьего выражения изменился на 25:
Попробуйте удалить число 25. Вы увидите, что при первом нажатии число станет красным, а при повторном нажатии удалится 25 и знак равенства:
Использование переменных
Введите следующие выражения:
Теперь о том, какие имена можно и нельзя использовать для переменных. Есть несколько правил: имя переменной не может начинаться с цифры и в имени переменной нельзя использовать пробелы и знаки операторов. Имена переменных могут начинаться:
Вот несколько примеров:
Переменные можно использовать, только если они были определены ранее. «Ранее» означает, что объявление переменной должно располагать выше или левее выражения, где она используется. Если переменная не объявлена, появится сообщение об ошибке:
Подстрочные индексы
В Mathcad есть два различных вида подстрочных индекса для переменных:
Чтобы набрать описательный подстрочный индекс, введите имя переменной, нажмите [Ctrl+-] и наберите подстрочный индекс:
Переменная с описательным подстрочным индексом – это обычная переменная, со своим именем. Индекс массива существенно отличается от него. Этот индекс можно ввести, нажав открывающую квадратную скобку [ после имени переменной. У переменной может быть один или два индекса массива:
Индекс массива должен быть числом. При этом не следует путать виды подстрочных индексов, т.к. они выглядят практически идентично:
Разница видна при щелчке мышью по выражению:
У переменной может быть сразу описательный индекс и индекс массива. Сначала всегда идет описательный индекс:
Функции
Переменные можно использовать, только если они были определены ранее. Однако есть одно важное исключение – определение функции. Можно определить собственную функцию, как на примере ниже:
Переменная a является локальной для функции. Она не определена за пределами функции:
Если Вы определили a до определения функции, значение a не будет изменено в процессе вычисления значения функции.
Внимание: если Вы дали переменной такое же имя, как и функции, Вы больше не сможете использовать эту функцию. У переменной и функции должны быть разные имена:
Этой проблемы можно избежать, задав для переменной и функции разные обозначения. Об этом мы поговорим в уроке 10 «Обозначения и единицы измерения».
Функции могут содержать две и более переменной:
Здесь значения переменных xи yтакже не изменяются при вычислении функции.
Встроенные функции
В Mathcad есть большое число встроенных функций. Зайдите на вкладку Функции:
Список всех функций можно увидеть, щелкнув по кнопке Все функции.
Заметьте, что тригонометрические функции принимаю в качестве аргумента угол в радианах, а не в градусах. Для использования градусов используйте символ с вкладки Математика –> Операторы и символы –> Символы:
Математика в тексте
В текст можно вставить математическую область. Таким образом, можно использовать над- и подстрочные символы в тексте. Для этого при редактировании текстовой области нажмите кнопку Математика с вкладки Математика –> Области:
При первоначальном знакомстве с Mathcad значения общих параметров принимаются по умолчанию.
Принципы любых вычислений в Mathcad
2. Текущее место возможного ввода в РДМ информации отмечается Mathcadом красным плюсом. По умолчанию любой ввод (с клавиатуры, из буфера или с панелей матзнаков) реализуется как ввод вычисляемого выражения (вычислительный ввод).
3. Текстовый комментарий или название вводится в виде текстового блока в место ввода, вычислительный тип которого изменен на текстовый (текстовый ввод) командой «Главное меню – Insert – Text region» или сочетанием клавиш + (место текстового ввода – прямоугольник с курсором ввода в виде вертикальной красной черты).
4. Курсор ввода в математических выражениях – правый по умолчанию уголок синего цвета. Уголок может перестраиваться с правого на левый (и наоборот) клавишами с левой и правой стрелками
Вводимый матзнак относится к части введенных знаков, подчеркнутых (охватываемых) горизонтальной и вертикальной (для многострочной записи) линиями уголка, причем, Mathcad в необходимых случаях сам расставляет скобки: например, при охвате двух слагаемых и вводе знака умножения Mathcad оба слагаемых возьмет в круглые скобки, поставит знак умножения и место ввода множителя (черный прямоугольничек).
Для увеличения охвата введенных знаков следует нажимать клавишу (каждое нажатие увеличивает охват на один символ в горизонтальном и вертикальном направлениях – при наличии знаков в этих направлениях). Изменение направления охвата и переход от одной группы символов к другой производится клавишами с левой и правой стрелками.
5. Значения переменных и параметров следует вводить выше и левее вычисляемых объектов (функций, формул, уравнений, решателей и графиков). Несоблюдение условия приводит к тому, что переменная в объекте окрашивается в красный цвет, вычисления не будут выполняться, и при наводке на него мышки возникает диагностическое сообщение красным шрифтом «This variable or function is not define above»– Эта переменная или функция выше не определена.
6. Аргументы (переменные и параметры) в именах (функций, формул или выражений) следует записывать в порядке согласно плану вычислений, согласованному с порядком многопараметрических вычислений в Mathcad (см. разд. 12 разд. 2.1).
7. В Mathcad имеются три знака (значения) символа «равно».
Первый называется «знаком присваивания» и обозначается как “: =”: присутствует в вычисляемых объектах для связи имени с выражением и вводится: в английской раскладке сочетанием клавиш + или однознаковой кнопкой с панельки Evaluation.
Вторым является символ команды «Вычислить», вставляемый после имени функции, арифметического выражения или рядной переменной для их вычисления клавишей : в ответ Mathcad выдает вычисленное значение функции или выражения или преобразует строчную запись значений рядной переменной в матричную одностолбцовую.
Чтобы распечатать файл, скачайте его (в формате Word).
Урок 11. Программирование в Mathcad
Mathcad содержит встроенную среду программирования, что значительно расширяет возможности вычислительного пакета. Операторы программирования находятся в меню Математика –> Операторы и символы –> Программирование:
Этих операторов не очень много, но и они позволяют построить достаточно сложные алгоритмы. К тому же, уже ознакомившись с базовыми понятиями (операторы, переменные, константы, функции и т.д.), можно использовать Mathcad, если Вы хотите лишь начать изучать программирование.
Команды, которые мы изучим в этом уроке:
Эти команды можно сочетать с операторами, переменными и функциями Mathcad. Например, Вы можете использовать структуру функции для ввода входных значений:
«Программирование» и «Локальное определение»
Создадим программу, которая вычисляет разницу между двумя переменными a и b.
На рисунке ниже представлена структурная диаграмма программы:
Здесь всего три элемента: вход, действие и выход. Вместо структурной диаграммы можно использовать другие способы, помогающие созданию программы, например, блок-схемы или псевдокод.
Определите ввод переменных a и b:
Нажмите оператор «Программирование» на панели Математика –> Программирование:
Нажмите [Enter] для создания второй строки:
Переместите курсор в верхний местозаполнитель, затем вставьте оператор «Локальное назначение»:
Заполните местозаполнители слева и справа от оператора:
Переместите курсор в нижний местозаполнитель и вставьте оператор «return»:
Важно! Операторы программирования return, else, if, while и т.д. следует вставлять из меню программирования. Ввод этих команд с клавиатуры не приведет к желаемому результату.
Введите переменную в местозаполнитель:
Всегда тестируйте программы, потому что при некоторых значениях могут получиться бессмысленные результаты. В некоторых случаях это могут быть отрицательные числа, ноль или бесконечность.
У операторов программирования есть свои горячие клавиши. Попробуйте запомнить их:
Создайте предыдущую программу снова, используя горячие клавиши. Теперь это должно занять меньше минуты!
Программе не обязательно задавать входные переменные:
Оператор «return» также не обязателен – программа примет за выходное значение последнее вычисление:
В нашей второй программе (которая более полезна, чем предыдущая) мы вычислим площадь поверхности цилиндра диаметром D и высотой H. Структурная диаграмма этой программы:
Программа и некоторые выходные результаты показаны ниже. Возможно, нужно запретить отрицательные входные значения…
Заметьте, что переменные внутри программы являются локальными. Локальная переменная не определяется вне программы:
Входным значениям можно дать числа с единицами измерения:
Однако если задать единицу измерения только одной переменной, Mathcad скажет, что единицы не совместимы:
Поэтому единицы измерения следует использовать единообразно.
Булева алгебра
В программах часто используются равенства и неравенства. Операторы сравнения находятся в меню Математика –> Операторы и символы –> Операторы –> Сравнение:
Операторы сравнения дают результат 1 при истинном выражении и 0 при ложном:
Операторы сравнения можно сочетать. Пример таких сочетаний с оператором логического И:
Операторы
Необходимо создать программу функции, которая принимает следующие значения:
Структурная диаграмма программы представлена ниже. Треугольник означает выбор между двумя или более альтернативными вариантами. Напишем программу, используя операторы if и else.
Введите имя функции и местозаполнитель для первой строки:
Нажмите if в меню программирования или с помощью горячей клавиши >. Появится вторая строка, которая относится к оператору if:
Введите критерий выбора и желаемое значение функции. Обратите внимание на серые линии справа:
Нажмите на внутреннюю серую линию (станет мигающей синей), затем вставьте оператор else. Появится еще одна строка, относящаяся к else:
Введите необходимую функцию под else. Внутренняя серая линия удлинится, что указывает на то, что операторы ifи else связаны между собой. Нажмите на нее, нажмите [Enter], затем вставьте оператор return:
Проверьте программу, построив график функции:
При работе с программой можно добавлять новые строки нажатием клавиши [Enter]. Где появится местозаполнитель, зависит от положения курсора. Выбрана внутренняя серая линия:
Курсор стоит за x 2 :
На структурной диаграмме показаны различные варианты выбора. Наиболее простой способ создать программу для этой задачи – использовать три различных операторов выбора (в Mathcad нет аналога оператора case).
Здесь важно правильно задать границы независимой переменной. Если Вы введете:
то точки 0 и 1 будут исключены, а Mathcad выдаст некорректный результат для этих значений.
Проверим программу для некоторых входных значений:
Для значений, не имеющих смысла, Mathcad выдаст сообщение об ошибке.
Функции в программах
В Mathcad встроено множество функций, которые могут быть полезными в том числе и в программах. Рассмотрим некоторые из них.
Откройте Функции –> Все функции и откройте раздел Векторы и матрицы. Найдите функции last() и length(). Это функции для определения некоторых свойств вектора:
Функция length() определяет длину вектора, т.е. количество элементов в нем, а функция last() выводит индекс последнего элемента. По умолчанию в Mathcadнумерация элементов вектора начинается с нуля, поэтому у четвертого элемента массива индекс 3.
Наибольший общий делитель:
Наименьшее общее кратное:
Остаток от деления x на y:
«Разное» содержит функцию time(), которая возвращает системное время момента активации функции.
Строки в Mathcad заключаются в двойные кавычки:
Строки можно задавать в качестве переменных, но их нельзя использовать в вычислениях. (Строку, содержащую только числа, можно преобразовать в константу.)
Длина строки (включая пробелы):
Строки могут быть полезны для задания в программах сообщений об ошибках.
Усечение и округление
Наименьшее целое число, большее x:
Наибольшее целое число, меньшее x:
Список функций Mathcad огромен. Два совета по ознакомлению с новыми функциями:
Try / On Error
Последняя команда, которую мы изучим в этом уроке, используется для указания, что должно быть сделано, если при выполнении программы возникает ошибка (например, деление на ноль). Если при выполнении программы в блоке tryвозникает ошибка, программа выполняет действия в блоке on error:
Ниже представлена программа с тремя операторами if внутри блока try:
При неверном вводе появится сообщение об ошибке. Таким образом, можно отследить большую часть ошибок, но не все:
Поскольку переменная abc не определена, функция не вычисляется.
Резюме
Мы изучили следующие элементы программирования: