Как сделать свертку в маткаде

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

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

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

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

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



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

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

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

Назначение основных команд, представленных на панели:


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

← – присвоение значения локальной переменной;

if – условный оператор. Позволяет в зависимости от условия выполнять или не выполнять те или иные действия;

otherwise – используется сразу после оператора if и позволяет выполнить определенные действия при невыполнении условия в операторе if ;

for – оператор создания цикла со счетчиком;

while – оператор создания цикла, выполнение которого продолжается до тех пор, пока выполняется указанное условие.

continue – продолжить вычисления в цикле;

break – прервать вычисления в цикле;

return – оператор возврата;

on error – оператор перехода при возникновении ошибки.

Рис.4.2. Вид панели инструментов Programming ( Программирование)

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

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

Если программа должна осуществлять какую-то модификацию объекта, то результат своей работы она должнавозвращать.

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

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

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

Технология создания программы-функции в рабочем документе MathCAD состоит из следующих шагов:

Ввести заголовок функции.

Выполнить команду Add line, расположенную на панели Programming (Программирование). Появившейся на экране шаблон с вертикальной чертой и полями для ввода операторов будут составлять заготовку для тела программы-функции.

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

Самое нижнее поле всегда предназначено для определения возвращаемого программой значения.


Пример 1. Требуется подготовить описание функции и вычислить значения этой функции приx = 4.15 и g = 1.854.





Рис.4.3. Пошаговое создание и выполнение программы-функции

В данном примере введена вспомогательная локальная переменная t для вычисления значения функции. И эта переменная расположена в последней строчке программного блока. В пункте (6) приведена операция вычисления функции для фактических значений. На рис. 4.4, b, c приведены другие варианты решения поставленной задачи.




Рис. 4.4. Демонстрация элементов программирования простых выражений


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

Внутри программ (b и c) используются глобальные переменные g и x из документа. Значения этих переменных определены заранее. Обе программы из примера, представленного на рис. 4.4, в своей программируемой части содержат операторы присваивания с использованием локальных переменных. Переменные, созданные внутри программы с таким видом присваивания, являются внутренними, и доступ к ним может осуществляться только в самой программе.


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

Последняя строка программы не должна содержать управляющих операторов. Эта строка задает значение, возвращаемое программой, т.е. получает результат вычислений и может содержать имя локальной переменной результата (рис. 4.4, c) или выражение, вычисляющее результат (рис. 4.4, b).

Обычно программа содержит больше чем две строки, поэтому рекомендуется сразу задавать блок из 5-6 маркеров.

Добавление недостающих полей для ввода дополнительных операторов производится с помощью кнопки Add lineпанели программирования. При этом поле ввода добавляется внизу выделенного к этому моменту оператора.

Для удаления того или иного оператора или поля ввода из тела программы-функции, нужно заключить его выделить и нажать клавишу .

Программный блок можно создать и внутри уже заданного блока (вложенный блок). Для этого следует использовать один из стандартных способов: поставить курсор в маркер соответствующего оператора программирования и выполнить Add line.

Иногда при написании программы бывает нужным добавить строку к уже созданному блоку. Чтобы это сделать, поставьте курсор в ту строку блока, выше или ниже которой должна быть введена строка, и нажмите клавишу . При этом строка будет выделена и можно будет произвести добавление одним из стандартных способов.

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

Чтобы развернуть курсор в нужную сторону, нажмите клавишу .

Чтобы добавить строку к целому блоку, его следует выделить, дважды нажав клавишу .

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

Пример 2. Требуется найти действительные корни квадратного уравнения , гдеa, b, c – любые действительные числа и . Известно, что в зависимости от знака дискриминантадействительные корни уравнения могут быть получены по формуле:


Решение . Опишем вычисление корней в виде программы-функции.


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

Здесь a , b , с – коэффициенты уравнения.

Очевидно, что в данном случае мы имеем дело с ветвящимся процессом.

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


При включении оператора if в блок программирования появляется шаблон с двумя полями ввода – справа и слева от оператора:

 if .

В поле ввода справа от оператора записывается условие. Для ввода условий следует использовать панельBoolean (Логические), где есть кнопки для проверки условий ( = > Рис. 4.6. Демонстрация элементов программирования ветвящихся процессов


Рис. 4.7. Демонстрация элементов программирования ветвящихся процессов

На рис. 4.8 представлены примеры программ-функций, реализующих вычисления, содержащие ветвящиеся процессы.







Рис. 4.8. Примеры программирования функций с проверкой условий. Здесь x – глобальная переменная

Пример 4. Требуется найти максимальный и минимальный элементы в заданном массиве.

Решение. Задача поиска наибольшего/наименьшего значений в заданном массиве относится к типовым циклическим алгоритмам .

Спецификацию для этой функции можно записать следующим образом:

Функция Fun(P) возвращает наибольшее и наименьшее значение в массиве Р.

Для создания циклов в MathCAD предусмотрено два оператора: for и while. Поскольку количество повторений цикла заранее известно и связано с числом элементов заданного массива, в данном решении целесообразно использовать оператор for.


После вставки оператораfor в строку программы его сопровождают три поля ввода, как это показано на рис. 4.9.


Рис. 4.9. Шаблон оператора цикла for

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

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

В поле ввода под словом for следует ввести тело цикла

Обозначим имя переменной-счетчика, которая используется в операторе for – буквой t. Для описания алгоритма воспользуемся тем, что в операторе цикла для переменной-счетчика можно указать в качестве диапазона имя массива. Как сказано выше, в таком случае переменная t будет последовательно принимать значения всех элементов указанного вfor массива (в нашем случае – это массив Р). Для обозначения максимального и минимального значений в программу введем две вспомогательные переменные Pmax и PMin. Тогда описание функции может быть представлено в виде, как это показано на рис. 4.10.

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

Справа от программы-функции, представленной на рис. 4.10, написаны операторы, предназначенные для создания вектора с именем U из шести элементов. Для этого введена вспомогательная переменная i, задающая диапазон изменения индекса массива, а значения элементов массива U формируются с помощью функции rnd – датчика случайных чисел. Параметр 20 в ней определяет диапазон принимаемых значений.

На рис. 4.11, a представлен второй вариант программы-функции, в котором в качестве диапазона значений для переменной-счетчика цикла for берется диапазон изменения индекса массива. Поэтому в список формальных параметров в заголовок функции вносится еще один параметр n, который указывает верхнюю границу изменения индекса.

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

1

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

Команды, которые мы изучим в этом уроке:

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

2

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

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

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

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

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

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

8

9

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

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

10

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

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

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

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

12

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

13

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

14

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

16

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

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

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

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

18

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

19

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

20

Операторы

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

21

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

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

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

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

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 встроено множество функций, которые могут быть полезными в том числе и в программах. Рассмотрим некоторые из них.

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

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

38

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

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

39

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

40

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

41

42

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

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

44

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

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

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

46

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

47

48

49

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

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

Try / On Error

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

50

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

51

Программные операторы в Mathcad

В системе Mathcad можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами. Это реализуется использованием встроенных программных операторов, похожих на используемые в различных языках программирования (рис. 1.17). Как видно на рис. 1.18 и 1.19, где вычисляется факториал, программный модуль в системе Malhcad превратился в самостоятельный блок, причем при необходимости выполнить несколько операторов, их объединяют жирной вертикальной чертой.







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

Набор программных операторов для создания программных модулей ограничен и содержит следующие элементы:


  • Add Line – создает и при необходимости расширяет жирную вертикальную линию, справа от которой в шаблонах задается запись программного блока;
  • – символ локального присваивания (в теле модуля);
  • if – условный оператор;
  • for – оператор задания цикла с фиксированным числом повторений;
  • while – оператор задания цикла, действующего до тех пор, пока выполняется некоторое условие;
  • otherwise – оператор иного выбора (обычно применяется с if);
  • break – оператор прерывания;
  • continue – оператор продолжения;
  • return – оператор возврата;
  • on error – оператор обработки ошибок.

Оператор добавления линии Add Line выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому, в принципе, можно создавать сколь угодно большие программы.

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

Условный оператор if является оператором для создания условных выражений. Он задается в виде:


Если условие выполняется, то возвращается значение выражения. Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise.

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


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

Оператор цикла while служит для организации циклов, действующих до тех пор, пока выполняется некоторое условие. Этот оператор записывается в виде:


Выполняемое выражение записывается на место расположенного ниже заполнителя.

Оператор иного выбора otherwise обычно используется совместно с оператором if . Это поясняет следующая программная конструкция:


Здесь f(x) получает значение 1, если х>0, и –1 во всех остальных случаях.

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

Оператор продолжения continue используется для продолжения работы после прерывания программы. Он также чаще всего используется совместно с операторами задания циклов while и for, обеспечивая возвращение в точку прерывания и продолжение вычислений.

Оператор возвращения return прерывает выполнение программы и возвращает значение операнда, стоящего следом за ним. Например, конструкция


будет возвращать значение 0 при любом х Оператор и функция обработки ошибок позволяет создавать конструкции обработчиков ошибок. Этот оператор задается в виде:


Здесь если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. Для обработки ошибок полезна также функция error(S), которая, будучи помешенной в программный модуль, при возникновении ошибки выводит всплывающую подсказку с надписью, хранящейся в символьной переменной S.

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

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


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

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

Если ваш расчет в последствии должен распечатываться на принтере и подшиваться вместе с другими документами, то в этом случае необходимо настроить параметры страницы в mathcad. Это можно сделать, перейдя в меню по следующему пути: File -> Page setup. Вы увидите окно настройки полей и формата вашего листа. Как правило, левое поле листа оставляют более широким, поскольку в этом месте страницы скрепляются либо зажимаются в канцелярских папках. На рисунке 1 можно посмотреть пример настройки листа


Рис. 1. Оформление листа для печати

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


Рис. 2. Ввод единиц измерения в Mathcad

Функция для интерполяции данных interp()

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

Введем две матрицы-столбца: столбец X и столбец Y. Заполним их данными и отобразим на графике. Как построить график по точкам и оформить его можно посмотреть в разделе графики


Рис. 3. График по точкам

Функция interp() имеет следующий синтаксис: y(x):=interp(cspline(X,Y), X, Y, x). Cspline - тип кривой (кубический сплайн), которой интерполируются точки. В качестве входных параметров используются данные матриц-столбцов X и Y. Тип кривой может быть выбран и другой (см. help mathcad), но как показывает личная практика cspline корректно работает в большинстве инженерных расчетов. Помимо cspline в функцию interp() требуется ввести данные матриц-столбцов и указать имя аргумента - в нашем случае это переменная x

Вся функция interp() присваивается функции y(x), с которой далее очень удобно работать. Теперь подставляя любые значения x в функцию y(x) можно получать значения функции y


Рис. 4. Интерполяция графика по точкам в mathcad 15

Подстановка значений переменных в формулу в mathcad 15

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

Чтобы увидеть какие значения переменных учавствуют формулах mathcad 15 существует функция explicit. Введем ряд переменных и присвоим им числовые значения. Затем введем формулу и найдем значение выражения. Пример приведен ниже на рисунке 5.


Рис. 5. Значение выражения по умолчанию

Теперь щелкните левой кнопкой мыши по формуле и установите курсор, как показано на рисунке 6. Для этого используйте клавиши: стрелка влево, стрелка вправо и пробел


Рис. 6. Ввод функции explicit

На панели Symbolic найдите кнопку explicit и нажмите ее. Возле формулы появится фраза explicit. Далее, после этой фразы поставте запятую и введите все переменные, значения которых вы бы хотели видеть. Синтаксис приведен на рисунке 7.


Рис. 7. Работа функции explicit для постановки значений в формулу

Можно скрыть название функции и переменные после команды explicit. Так документ станет легче воспринимать стороннему человеку. Для этого щелкните правой кнопкой мыши по выражению и в выпадающем меню нажмите "Hide keywords". Уберите выделение с выражения и вы увидите, что оно отображается без служебных фраз



Рис. 8. Скрытие функции explicit

Импорт данных из внешнего файла блокнот.txt и excel.xlsx

Не редко приходится работать с массивами данных, которые сохранены в txt файлах либо в таблицах excel. В mathcad 15 есть возможность импорта данных из внешнего файла для обработки и анализа

Для импорта числовых данных из txt файла в основном меню выполните следующие действия: Insert -> Data -> File input.


Рис. 9. Импорт данных в Mathcad 15

В появивщемся окне нажмите Browse. и выберете файл с данными. Для примера используется заранее созданный файл as1.txt, в котором записаны числовые значения. Далее нажмите Next и затем Finish


Рис. 10. Импорт данных в Mathcad 15

Вы увидите свободный маркер, которому присвоен "файл"


Рис. 11. Импорт данных в Mathcad 15

Введите имя переменной на месте маркера. Теперь данные файла сохранены в переменной и с ними можно работать


Рис. 12. Импорт данных в Mathcad 15 из блокнота

Обратите внимание, что если данные в файле постоянно обновляются и вам нужно иметь актуальные расчеты в mathcad, то необходимо обновлять страницу. Это можно сделать с помощью сочетания клавиш Ctrl + F9, либо перейдя в основном меню по следующему пути: Tools > Calculate > Calculate Worksheet. Таким образом, все операции в вашем расчете пересчитаются, а импортированные данные обновятся


Рис. 13. Импорт данных в Mathcad 15 из блокнота. Обновление данных

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


Рис. 14. Импорт матрицы из блокнота в mathcad 15

Чтобы импортировать числовые данные из файла ecxel в основном меню выполните переход: Insert > Data > File input. Затем в File format выберете пункт Microsoft Excel и нажмите кнопку Browse.


Рис. 15. Импорт данных из файла ecxel в mathcad 15

В появившемся окне выберете ваш файл и нажмите кнопку Open.



Рис. 16. Импорт данных из файла ecxel в mathcad 15


Рис. 17. Импорт данных из файла ecxel в mathcad 15

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


Рис. 18. Импорт данных из файла ecxel в mathcad 15

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


Рис. 19. Импорт диапазона данных из файла ecxel в mathcad 15

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


Рис. 20. Импорт диапазона данных из файла ecxel в mathcad 15

При импортировании чисел с десятичными дробями из txt файлов обратите внимание на то, чтобы разделителем была запятая. Иначе mathcad не распознаст дробное число

Обратите внимание, что числовые данные с десятичными дробями в excel должны иметь разделитель, который корректно прочитается в mathcad. В противном случае число не импортируется корректно


Donec eget ex magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fergiat. Pellentesque in mi eu massa lacinia malesuada et a elit. Donec urna ex, lacinia in purus ac, pretium pulvinar mauris. Curabitur sapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dapibus rutrum facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tristique libero eu nibh porttitor fermentum. Nullam venenatis erat id vehicula viverra. Nunc ultrices eros ut ultricies condimentum. Mauris risus lacus, blandit sit amet venenatis non, bibendum vitae dolor. Nunc lorem mauris, fringilla in aliquam at, euismod in lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non lorem sit amet elit placerat maximus. Pellentesque aliquam maximus risus, vel venenatis mauris vehicula hendrerit.

Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fersapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique lorem ipsum dolor.

Читайте также: