Как писать программу в маткаде

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

Язык программирования Mathcad имеет много элементов сходных с языками высокого уровня для математических расчетов. Дополнение встроенными системными функциями и операторами, а также возможностями символьных и численных расчетов, Mathcad по эффективности не уступает профессиональным системам программирования. При этом язык программирования Mathcad предельно прост.

Функции встроенные в систему, в том числе и в Mathcad, подобны «черному ящику» и пользователи зачастую не задумываются — на основании каких методов и решений достигается цель, поставленная перед функцией, и какова точность. Обычно пользователь только знакомится с ее описанием/спецификацией для вызова, получения решения и ответа.

При программировании пользовательских функций будем придерживаться такого же порядка, то есть идти от спецификации к программированию.

1. MathCad. Вычисление значений числовых выражений

Спецификации функций

Для создания спецификации функции можно обратиться к мастеру функций и более и посмотреть на предоставляемые им для его функций описания. На рис. 3.43 открыта страница со спецификацией функции rnorm.

Спецификация функции, предоставляемая мастером функций

Рис. 3.43. Спецификация функции, предоставляемая мастером функций

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

При описании назначения функции необходимо указать, что возвращается функцией в качестве своего результата (функция rnorm возвращает вектор нормально распределенных случайных величин). При этом обязательно нужно объяснить предназначение каждого из формальных параметров, например m — количество значений, mu -среднее значение, sigma — стандартное отклонение.

Программирование функций

Для создания подпрограмм-функций в системе Mathcad предусмотрена специализированная панель Programming (Программирование), содержащая перечень операторов языка программирования. Вид панели Programming представлен на рис. 3.44. Операторы в программу необходимо вставлять с помощью кнопок этой панели. Здесь также

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

Add Line — добавление новой строки в программу или создание заготовки программы из двух строк, если программы еще нс существует;

(Добавить линию) на панели Programming (Программирование).

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

Программирование в Mathcad 13. Написание простейших циклов и условий. Урок 24

  • 1. Если значение переменной или функции присваивается в программе посредством оператора « на панели Programming (Программирование). Появившийся шаблон-заготовка с вертикальной чертой и полями-маркерами для ввода операторов, будет составлять заготовку для тела программы-функции.
  • 3. Записать операторы в шаблон-заготовку. Тело подпрограммы-функции может включать произвольное число операторов: операторов присваивания, условных операторов, операторов цикла, вызовов других подпрограмм-функций.
  • 4. Нижнее поле подпрограммы предназначено для определения возвращаемого подпрограммой значения.

Пример 3.18. Требуется подготовить описание функции y = sin— и

8 вычислить значения этой функции при х = 4,15 и g = 1,854.

Решение. При вычислении такого у можно обойтись без описания и использования пользовательской функции и без программирования, как это показано на рис. 3.45, а. Использование простой функции использовано для простоты изложения.

Для нахождения значения функции в подпрограмму-функцию следует передать значения х и g, необходимые для выполнения вычислений внутри программы. Поэтому переменные X и g следует включить в список формальных параметров заголовка создаваемой функции. Назовем эту функцию — у. Тогда подготовка описания функции и ее выполнение в соответствии с описанной технологией могут быть выполнены, как это представлено на рис. 3.45.

Читайте также:
Что такое внебюджетная программа

Источник: bstudy.net

Урок 11. Программирование в Mathcad

1

Mathcad содержит встроенную среду программирования, что значительно расширяет возможности вычислительного пакета. Операторы программирования находятся в меню Математика –> Операторы и символы –> Программирование: Этих операторов не очень много, но и они позволяют построить достаточно сложные алгоритмы. К тому же, уже ознакомившись с базовыми понятиями (операторы, переменные, константы, функции и т.д.), можно использовать Mathcad, если Вы хотите лишь начать изучать программирование. Команды, которые мы изучим в этом уроке:

  1. «Программирование» – для создания программной структуры.
  2. «Локальное назначение» – знак «равно» для программ.
  3. «Оператор if»– оператор условия.
  4. «Оператор else»– альтернативный выбор.
  5. «Оператор return» – выход из программы.
  6. «Try / On Error» – применяется, если при выполнении программы может возникнуть ошибка.

Эти команды можно сочетать с операторами, переменными и функциями Mathcad. Например, Вы можете использовать структуру функции для ввода входных значений:

2

«Программирование» и «Локальное определение»

Создадим программу, которая вычисляет разницу между двумя переменными a и b.

На рисунке ниже представлена структурная диаграмма программы:

3

Здесь всего три элемента: вход, действие и выход. Вместо структурной диаграммы можно использовать другие способы, помогающие созданию программы, например, блок-схемы или псевдокод.

Определите ввод переменных a и b:

Нажмите оператор «Программирование» на панели Математика –> Программирование:

Нажмите [Enter] для создания второй строки:

Переместите курсор в верхний местозаполнитель, затем вставьте оператор «Локальное назначение»:

7

Заполните местозаполнители слева и справа от оператора:

8

Переместите курсор в нижний местозаполнитель и вставьте оператор «return»:

9

Важно! Операторы программирования return, else, if, while и т.д. следует вставлять из меню программирования. Ввод этих команд с клавиатуры не приведет к желаемому результату.

Введите переменную в местозаполнитель:

10

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

У операторов программирования есть свои горячие клавиши. Попробуйте запомнить их:

  • «Программирование» – правая квадратная скобка ]
  • «Локальное назначение» – левая фигурная скобка
  • «return»– [Ctrl+]

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

Программе не обязательно задавать входные переменные:

11

Оператор «return» также не обязателен – программа примет за выходное значение последнее вычисление:

12

В нашей второй программе (которая более полезна, чем предыдущая) мы вычислим площадь поверхности цилиндра диаметром D и высотой H. Структурная диаграмма этой программы:

13

Программа и некоторые выходные результаты показаны ниже. Возможно, нужно запретить отрицательные входные значения…

14

Заметьте, что переменные внутри программы являются локальными. Локальная переменная не определяется вне программы:

Входным значениям можно дать числа с единицами измерения:

16

Однако если задать единицу измерения только одной переменной, Mathcad скажет, что единицы не совместимы:

17

Поэтому единицы измерения следует использовать единообразно.

Булева алгебра

В программах часто используются равенства и неравенства. Операторы сравнения находятся в меню Математика –> Операторы и символы –> Операторы –> Сравнение:

18

Операторы сравнения дают результат 1 при истинном выражении и 0 при ложном:

19

Операторы сравнения можно сочетать. Пример таких сочетаний с оператором логического И:

20

Операторы

if и

else

Необходимо создать программу функции, которая принимает следующие значения:

21

Структурная диаграмма программы представлена ниже. Треугольник означает выбор между двумя или более альтернативными вариантами. Напишем программу, используя операторы if и else.

22

Введите имя функции и местозаполнитель для первой строки:

Нажмите if в меню программирования или с помощью горячей клавиши >. Появится вторая строка, которая относится к оператору if:

24

Введите критерий выбора и желаемое значение функции. Обратите внимание на серые линии справа:

25

Нажмите на внутреннюю серую линию (станет мигающей синей), затем вставьте оператор else. Появится еще одна строка, относящаяся к else:

Читайте также:
Почему в программе зона маленькая скорость

26

Введите необходимую функцию под else. Внутренняя серая линия удлинится, что указывает на то, что операторы ifи else связаны между собой. Нажмите на нее, нажмите [Enter], затем вставьте оператор return:

27

Проверьте программу, построив график функции:

28

При работе с программой можно добавлять новые строки нажатием клавиши [Enter]. Где появится местозаполнитель, зависит от положения курсора. Выбрана внутренняя серая линия:

29

30

Курсор стоит за x­ 2 :

31

32

33

На структурной диаграмме показаны различные варианты выбора. Наиболее простой способ создать программу для этой задачи – использовать три различных операторов выбора (в Mathcad нет аналога оператора case).

34

35

Здесь важно правильно задать границы независимой переменной. Если Вы введете:

то точки 0 и 1 будут исключены, а Mathcad выдаст некорректный результат для этих значений.

Проверим программу для некоторых входных значений:

37

Для значений, не имеющих смысла, Mathcad выдаст сообщение об ошибке.

Функции в программах

В Mathcad встроено множество функций, которые могут быть полезными в том числе и в программах. Рассмотрим некоторые из них.

Векторы и матрицы

Откройте Функции –> Все функции и откройте раздел Векторы и матрицы. Найдите функции last() и length(). Это функции для определения некоторых свойств вектора:

38

Функция length() определяет длину вектора, т.е. количество элементов в нем, а функция last() выводит индекс последнего элемента. По умолчанию в Mathcadнумерация элементов вектора начинается с нуля, поэтому у четвертого элемента массива индекс 3.

Наибольший общий делитель:

39

Наименьшее общее кратное:

40

Остаток от деления x на y:

41

42

«Разное» содержит функцию time(), которая возвращает системное время момента активации функции.

Строки в Mathcad заключаются в двойные кавычки:

43

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

44

Длина строки (включая пробелы):

45

Строки могут быть полезны для задания в программах сообщений об ошибках.

Усечение и округление

Наименьшее целое число, большее x:

46

Наибольшее целое число, меньшее x:

47

48

49

Список функций Mathcad огромен. Два совета по ознакомлению с новыми функциями:

  1. Подведя указатель мыши к имени функции в списке, Вы увидите ее полное название и краткое описание.
  2. Если Вы вставите функцию в рабочую область, а затем нажмете [F1], Вы получите расширенное описание функции.

Try / On Error

Последняя команда, которую мы изучим в этом уроке, используется для указания, что должно быть сделано, если при выполнении программы возникает ошибка (например, деление на ноль). Если при выполнении программы в блоке tryвозникает ошибка, программа выполняет действия в блоке on error:

50

Ниже представлена программа с тремя операторами if внутри блока try:

51

При неверном вводе появится сообщение об ошибке. Таким образом, можно отследить большую часть ошибок, но не все:

52

Поскольку переменная abc не определена, функция не вычисляется.

Резюме

Графики в «Маткаде» — построение и исследование

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

Так как математический язык понятен не всем, и не каждый способен за быстрое время его изучить, программа становится сложной для восприятия начинающих пользователей. Нагруженный интерфейс и большое количество нюансов отталкивают людей от использования этого продукта, но на самом деле разобраться в любой рабочей среде возможно — достаточно иметь желание. В этой статье разберем такую важную тему, как построение графиков функций в «Маткаде». Это несложная процедура, которая очень часто помогает при расчетах.

Типы графиков

Помимо того что в MathCAD определены быстрые графики, которые вызываются с помощью горячих клавиш, существуют и другие графические приложения. Например, пользователь может в шапке программы найти раздел «Вставка», а в ней — подраздел «График», в котором можно просмотреть все доступные графики в «Маткаде»:

  • График X-Y — показывает зависимость одной величины от другой. Самый распространенный тип, который позволяет быстро оценить и исследовать зависимости.
  • Полярный график — использует полярные координаты. Суть графика — показать зависимость одной переменной от другой только в полярной координатной плоскости.
  • График поверхности — создает поверхность в пространстве.
  • Векторное поле, 3-D график разброса, столбчатая 3-D диаграмма используются для других специальных целей.
Читайте также:
Что такое программа ginger

Построение графика функции

Невозможно научиться работать с вычислительной средой без примеров, поэтому будем разбираться в MatchCAD на шаблоне.

Допустим, задана функция f(x) = (e^x/(2x-1)^2)-10 в интервале [-10;10], которую необходимо построить и провести исследование. Прежде чем приступить к построению графика функции, необходимо данную функцию перевести в математический вид в самой программе.

Быстрый график

  1. После того как функция была задана, следует вызвать окно быстрого графика клавишей Shift + 2. Появляется окошечко, в котором расположены 3 черных квадратика по вертикали и горизонтали.
  2. По вертикали: самый верхний и нижний отвечают за интервалы значений, которые можно регулировать, средний задает функцию, по которой пользователь может построить график в «Маткаде». Крайние черные квадратики оставляем без изменения (значения автоматически присвоятся после построения), а в средний пишем нашу функцию.
  3. По горизонтали: крайние отвечают за интервалы аргумента, а в средний нужно вписать «х».
  4. После проделанных шагов нарисуется график функции.

Построение графика по точкам в «Маткаде»

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

  1. Зададим диапазон значений для аргумента, в рассматриваемом случае x:=-10,-8.5.. 10 (символ «..» ставится при нажатии на клавишу «;»).
  2. Для удобства можем отобразить получившиеся значения «х» и «у». Для первого случая используем математическую формулировку «х=», а для второго — «f(x)». Наблюдаем два столбика с соответствующими значениями.
  3. Построим график, используя сочетание клавиш Shift + 2.

Построение по точкам

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

Табуляция графика

Чтобы избавится от ситуации, где функция претерпевает разрыв, необходимо протабулировать график в «Маткаде» и его значения.

Метод табуляции

  1. Возьмем известный нам интервал от -10 до 10.
  2. Теперь запишем команду для переменного диапазона — x:=a,a + 1 .. b (не стоит забывать, что двоеточие — результат нажатия клавиши «;»).
  3. Смотря на заданную функцию, можно сделать вывод о том, что при значении «х=1» будет происходить деление на ноль. Чтобы без проблем протабулировать функцию, стоит исключить эту операцию так, как показано на картинке.
  4. Теперь можно наглядно отобразить значения в столбиках, как мы это делали с построением по точкам. Табуляция выполнена, теперь все значения с шагом в одну единицу соответствуют своим аргументам. Обратите внимание, что на «х=1» значение аргумента не определенно.

Минимум и максимум функции

Чтобы найти минимум и максимум функции на выбранном участке графика в «Маткаде», следует использовать вспомогательный блок Given. Применяя этот блок, необходимо задать интервал поиска и начальные значения.

Максимум и минимум функции

  1. В рассматриваемом случае начальное значение x:=9.
  2. Запишем рабочую команду для поиска максимального значения — Xmax=Maximize(f,x) и вычисляем значение через знак равенства.
  3. Через блок Given запишем условие для x.
  4. Задаем минимум функции по аналогии с максимумом.
  5. Результаты получились следующими: значение минимума на графике с указанным интервалом f(x) = 2,448*10 198 , а значение минимума f(x) = -10.

Источник: fb.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru