Mathcad

Mathcad for цикл: Программирование в Mathcad 15, 14, 13. Программы, циклы, условные операторы

Программирование в Mathcad 15, 14, 13. Программы, циклы, условные операторы

В статье рассмотрены основы программирования в mathcad версии 15 и более старших. Приведены полезные примеры для инженерных расчетов

  • Цикл «FOR»
  • Условные операторы «IF»
  • Цикл «WHILE»

Цикл «FOR» в mathcad 15

Для примера рассмотрим пример заполнения матрицы-вектора в автоматическом режиме. Предположим, что нам нужно заполнить матрицу случайными числами. Размер матрицы 10 элементов. Заполнение в ручную такой матрицы безусловно отнимет массу времени

В свободном поле mathcad введите имя вашей будущей матрицы M. Поставте знак присвоить «:=» и затем на английской раскладке нажмите комбинацию Alt (правый) + «]». В место привычного маркера возникнет вертикальная черная черта с двумя маркерами. Удерживая клавишу Alt введите еще несколько раз символ «]» так, чтобы увеличить число свободных маркеров. Можно также воспользоваться кнопкой «Add Line» на панели Programming. В этих маркерах записываются строки кода

Рис. 1. Подготовка к написанию кода

Поместите курсор в первый маркер и на панели Programming нажмите кнопку с надписью «for». Вы увидите заготовку для формирования цикла FOR с маркером для ввода «тела цикла», который несколько отстоит от основных маркеров

Рис. 2. Запись безусловного цикла FOR

Теперь нужно ввести переменную-счетчик (пусть это будет «i»), которая будет менять свое значение от 1 до 10. Диапазон от 1 до 10 задается с помощью ранжированной переменной, которую можно найти на панели Matrix

Рис. 3. Настройка параметров цикла for в mathcad 15

Цикл for в этом примере будет перебирать значения счетчика i от 1 до 10 c шагом 1. При каждом значении i элементу матрицы с соответсвующим индексом будет присваиваться случайное число с помощью стандартной функции rnd(m).

Функция rnd присваивает переменной значение в диапазоне от 0 до «m»

Операция присваивания осуществляется при помощи операции Local difinition с панели Programming. Опрерация присваивания отображена в виде стрелочки «←». Чтобы присвоить какое либо значение элементу матрицы нужно указать соответсвующий индекс матрицы. Это делается с помощью кнопки Subscript на панели Matrix.

Операция присваиваивания должна осуществляться в «теле цикла». То есть, все действия, которые должны повторяться по мере работы счетчика циклы, должны находиться в соответсвующих маркерах. После завершения работы цикла в последний маркер тела программы нужно ввести имя матрицы, над заполнением которой мы работали. В нашем случае это M. См. рисунок 4

Рис. 4. Синтаксис программы по заполнению матрицы-вектора случайными числами в mathcad 15

Теперь можно посмотреть на результат. Введем имя матрицы M и поставим знак равно «=». Мы сразу же увидим содержимое матрицы-вектора, который был заполнен с помощью нашей программы.

Теперь меняя количество итераций в цикле for мы можем изменять размерность матрицы-вектора. Можн также поменять и закон заполнения матрицы-вектора.

Рис. 5. Результат работы программы в mathcad 15

Можно изменить программу таким образом, чтобы заполнить квадратную матрицу. Для этого нам нужно ввести еще один счетчик и еще один цикл for с индексом j. Таким образом один цикл будет выполняться внутри другого, формируя столбцы и строки матрицы

Рис. 6. Программа для заполнения квадратной матрицы в mathcad 15

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

Рис. 7. Программа для заполнения квадратной матрицы в mathcad 15

Условные операторы «IF» в mathcad 15

Чтобы посмотреть, как работает условный оператор «if» в mathcad 15 рассмотрим простой пример. Заполним квадратную матрицу G размером 5 х 5 элементов случайными числами и затем обнулим все элементы, которые меньше 10

На рисунке 8 приведен уже знакомый код заполнения матрицы случайными числами

Рис. 8. Программа для заполнения квадратной матрицы случайными числами

Для обнуления элементов, значение которых меньше 10, запишем второй участок кода с использованием условного оператора «If». Для проверки каждого элемента на выполнение этого условия нам опять потребуется два вложенных цикла «for» с счетчиками i и j. См. рис. 9. Обратите внимание, в теле второго цикла оставлено два свободных маркера

Рис. 9. Заготовка для применения условного оператора

Результат работы программы для удобства будет записываться в матрицу P. Поместите курсор в первый свободный маркер и нажмите на кнопку с надписью «if» на панели Programming. Вы увидите заготовку для записи условного оператора

Рис. 10. Заготовка для условного оператора

В этой заготовке выполним обнуление элемента матрицы G если значение этого элемента менее 10. Присвоение элементу матрицы значение нуля осуществляется символом «←» . Буквально логика данной операции следующая: «присвоить элементу матрицы P с текущим индексом i и j значение 0 если елемент матрицы G с тем же индексом меньше 10»

Рис. 11. Ввод условного оператора в mathcad 15

Теперь запишем второе условие, по которому все элементы матрицы G, которые больше либо равны 10 попадают в матрицу P без изменеий на те же «мееста». Буквально логика данной операции следующая: «присвоить элементу матрицы P с текущим индексом i и j значение елемента матрицы G с тем же индексом если значение элемента больше либо равно 10». Сразу же после текста программы можно вывести результат. См. рис. 12.

Рис. 12. Ввод условного оператора в mathcad 15

Теперь можно наглядно увидеть, как изменилась матрица после ее обработки условными операторами

Рис. 13. Результат работы условного оператора

Цикл «WHILE» в mathcad 15

Цикл While является условным циклом. То есть повторение его тела осуществляется до тех пор пока верно условие.

Рассмотрим простой пример заполнения матрицы-столбца с использованием цикла while. В качестве условия работы цикла будем проверять верно ли равенство m < 7. Переменную m будем изменять в теле цикла, так что бы в какой то момент условие не выполнилось и цикл завершился. Также в тело цикла введем закон изменения значений элементов нашей матрицы-столбца. На рис. 14 приведен синтаксис цикла while.

Рис. 14. Цикл WHILE в mathcad

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

Обратите внимание на то, что если в процессе выполнения программы условие запуска цикла «while» всегда оказывается верным, то цикл не завершится. Произойдет так называемое «зацикливание» программы и придется прерывать процесс счета вручную и искать ошибку

Метод._MathCAD_Prime — Стр 9

Таблица 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функция

 

 

 

 

 

Функция

1

x2 + ex+3 , если

− 4 x −2

2

1,8×2 −1, если − 8 x −2

 

 

 

2

x, если

−1 x 3

 

 

 

2 x

− 4, если −1 x 2

 

2 cos

 

 

e

 

 

y =

 

 

 

 

 

y =

 

 

 

 

 

 

lg( x + 5), если

4 x 6

 

ln( x − 6), если x 6

 

 

 

 

 

 

 

 

 

2

+1,

в остальных случаях

 

2x, в остальных случаях

 

x

 

3

1,5cos 2x +1, если x −5

4

( x + 2)

2

+1, если x −10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln | x

− 2 |, если 0 x 2

 

3cos | x |, если -5 x 1

 

y =

− x+1

 

 

 

 

y =

 

 

 

 

 

 

e

 

+ 5, если 4 x 6

 

3

x −1, если 1 x 10

 

 

 

 

в остальных случаях

 

 

 

 

 

 

 

 

x +1,

 

99, в остальных случаях

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

x 3

 

 

 

 

 

 

 

6

ex2

 

 

 

 

 

 

 

 

x + 5, если 0< x 4

−1, если -1 x 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x sin2 ( x −1), если 5 x 12

 

ctg( x −1), если 1< x 4

 

y =

 

 

 

 

 

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lg 5x, если 12 x 22

 

 

 

x2

+ 2, если 4 x 14

 

 

 

 

 

 

 

 

 

 

 

 

 

3x, в остальных случаях

 

x −1, в остальных случаях

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

cos(3x −1), если − 2 x 1

8

( x − 4)2 +1, если x −4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x −1), если -3 x 1

 

ln( x + 5), если 1 x 4

 

cos2

 

y =

 

 

 

 

 

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

x −1 + 3 x +1, если x 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln( x

+ 2), если x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,5x − 7, в остальных случаях

 

3x, в остальных случаях

9

x2

+ ln( x +1), если 1 x 4

10

lg x2 , если − 2 x 0

 

 

x−4

, если 4 x 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x +1, если 0 x 4

 

e

 

 

 

 

 

ctg

 

 

y =

 

 

2

 

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

sin

 

 

3x, если 5 x 10

 

 

 

+1 + 3 x +1, если x 7

 

1,1x −1, в остальных случаях

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

−1, в остальных случаях

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

1 + sin2 x, если x −3

12

cos2

(2x +1), если − 4 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex−1, если 0 x 4

 

lg | 8 − x |, если 9 x 12

 

y =

 

 

 

 

 

 

 

 

 

 

 

y =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

x 5

 

x −1, если 4 x 6

 

4

 

+1, если x 12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,1x, в остальных случаях

 

0,1x, в остальных случаях

13

x

x2 + 5, если x −7

14

tg(x +1), если − 2 x 0

 

 

 

 

 

 

 

 

2

+1), если 0 x 5

 

e1−x , если -5 x 4

 

ln(x

 

 

y =

 

 

 

y =

 

 

 

 

 

cos 3x, если 4 x 6

 

3(x − 2)2 + 4, если x 10

 

 

− 4, в остальных случаях

 

 

 

 

 

 

 

x

 

2, 25x, в остальных случаях

15

sin2 ( x −1), если -4 x 2

16

ln | x |, если x −2

 

 

x−4

, если 2 x 6

 

 

 

 

 

x +1, если 0 x 2

 

e

 

 

ctg

 

 

y =

 

 

 

y =

 

x2 +1, если 5 x 10

 

3

x −1 + x, если 6 x 7

 

x

3

 

 

 

 

 

 

2

+ 3, в остальных случаях

 

1,11x, в остальных случаях

 

x

 

 

 

 

 

81

 

 

 

 

 

Лабораторная работа №7. Программирование циклического вычислительного процесса

Циклическим называется вычислительный процесс, содержащий многократные вычисления по одним и тем же математическим зависимостям, но для различных значений, входящих в него переменных. Количество повторений может задаваться заранее или зависеть от выполнения определенного условия, как в операторе if.

Для составления циклических программ в Mathcad Prime используют операторы и .

1.Оператор цикла с предусловием

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

принцип работы –

Где, – логическое выражение (условие) – оператор(ы) языка Mathcad Prime (тело цикла), – истина, –ложь.

Если в цикле необходимо выполнить более одного оператора, то их следует заключить в операторные скобки (), т. е. образовать из них составной оператор:

82

2. Оператор цикла с параметром

Оператор – это оператор цикла с параметром. С помощью оператора for можно реализовать циклический процесс, состоящий из ряда операторов (тело цикла), выполнение которых повторяется до тех пор, пока параметр цикла принадлежит некоторому, заданному диапазону. Параметр цикла – величина, от значения которого зависит количество выполнений операторов, входящих в тело цикла. Тело цикла – оператор или группа операторов, выполнение которых повторяется в зависимости от значения параметра цикла.

Общий вид оператора for:

Где, – любое допустимое имя переменной или параметр цикла, – значение или последовательность значений. Чаще всего – переменнаядиапазон, но можно также использовать вектор или список из скаляров или векторов, задающих последовательность скаляров, которые по очереди становятся значениями переменной . Чтобы выполнить один и тот же расчет над несколькими матрицами, можно определить как последовательность матриц. – тело цикла, любое допустимое выражение или последовательность выражений. Допускается, например, локальное назначение или последовательность шагов программы.

Пример:

Пояснение к программе: Здесь, – имя программы; –параметр цикла, которая поочередно принимает значения элементов заданного вектора. В теле цикла происходит формирование вектора , элементы которого являются квадратами элементов исходного вектора; – индексы элементов вектора .

83

Для случая, когда – переменная-диапазон, в Mathcad Prime предусмотрены две разновидности данного оператора:

а) обычный оператор цикла с параметром:

Где, – параметр цикла, , – начальное и конечное значения параметра цикла (границы диапазона), – оператор (ы) языка Mathcad Prime или по-другому тело цикла.

Параметр цикла , после каждого выполнения меняется с шагом равным , причем, если начальное значение параметра меньше конечного, то увеличивается на 1. Пример: Найти S =1+ 2 +… + n .

Если начальное значение параметра больше конечного, то уменьшается на 1. Пример: Найти S = n +(n −1) +. .. +1.

Примечание 1: Диапазон изменения можно набрать на клавиатуре (две точки) или воспользоваться вкладкой Операторы:

Примечание 2: Недопустимо, чтобы значение параметра цикла изменился в результате выполнения оператора , т.е. в теле цикла. В таком случае, оператор, изменяющий значение параметра цикла,

84

системой Mathcad Prime игнорируется (разумно!). Пример недопустимой организации цикла с параметром:

б) модифицированный оператор цикла с параметром:

Где, – параметр цикла,

– начальное и конечное значения

параметра цикла, – шаг изменения параметра

– оператор (ы) языка

Mathcad Prime или по-другому

тело цикла.

Параметр цикла , после

каждого выполнения меняется на величину .

Пример: НайтиS = 2 + 4 +… + 2n .

Примечание: Диапазон изменения можно набрать на клавиатуре (запятая) или воспользоваться вкладкой Операторы:

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

85

Пример: НайтиS = 101 + 102 +… + 10n .

Главным отличием обычного оператора цикла от модифицированного,

является величина шага изменения параметра. В первом случае этот шаг обязательно равен , а во втором может отличатся от .

Также в Mathcad Prime предусмотрены операторы для пропуска текущей итерации цикла и перехода к следующей, выхода из циклов и программ:

Оператор Описание

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

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

Прекращает выполнение текущего цикла и возвращает последнее вычисленное значение. В этом операторе нет аргументов.

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

Прекращает выполнение программы и возвращает значение . Часто используют для отладки программы, при этом Оператор return временно вводится в

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

– любое допустимое выражение PTC Mathcad.

86

Примеры:

1. Суммирование нечетных чисел в интервале от до .

Пояснение к программе: Здесь, – имя программы; – формальный параметр; – фактический параметр, подставляемый вместо формального. Оператор осуществляет пропуск четных чисел.

2.Суммирование элементов последовательности до первого отрицательного элемента.

Пояснение к программе: Здесь, – имя программы. Оператор осуществляет досрочный выход из цикла при встрече с первым

отрицательным числом.

3. Вывести первый отрицательный элемент последовательности.

87

Пояснение к программе: Здесь, – имя программы. Оператор return прекращает выполнение программы и возвращает значение первого отрицательного элемента последовательности.

Упражнение 1

Составить блок – схему и программу нахождения суммы ряда y = x3 −x 1 ,

где, a x b , x меняется с шагомh =1,

а) используя цикл ; б) используя обычный оператор цикла ;

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

а) Решение с помощью оператора while

Порядок выполнения:

1.Составьте блок – схему.

2.Запишите формулировку задания в Текстовое поле.

3.Запишите и затем на вкладке Программирование выберите оператор создания программы

4.Наберите необходимые операторы, используя при этом оператор

локального присваивания вместо обычного .

 

5. Проверьте работу программы при

и

.

Блок-схема: Введем обозначения: f 1 –

числитель, f 2

– знаменатель.

Начало

 

 

a,b

S:=0, x:=a

-x

S

Конец

88

Вид документа Mathcad Prime:

Пояснение к программе: Здесь,

 

имя программы;

формальные

параметры;

и

фактические параметры,

подставляемые вместо формальных;

– искомая сумма. До входа в цикл

переменным

и присваиваются начальные значения. В соответствии

с условием задачи, в теле цикла

 

, происходит накапливание суммы

и изменение значения переменной

на

. Если не менять значение

,

то произойдет так называемое «зацикливание», т.к. условие окончания цикла никогда не выполнится и соответственно циклический процесс не остановится (Cikl1_1).

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

б) Решение с помощью обычного оператора цикла for

Порядок выполнения:

1. Составьте блок – схему.

2.Запишите формулировку задания в Текстовое поле.

3.Запишите и затем на вкладке Программирование выберите оператор создания программы

89

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

5. Проверьте работу программы при и .

Блок-схема:

Начало

a,b

S:=0

— x,a

S:=S

S

Конец

Вид документа Mathcad Prime:

Пояснение к программе: Здесь,

 

имя программы;

формальные

параметры;

и

фактические параметры,

подставляемые вместо формальных;

– искомая сумма. До входа в цикл

переменной

присваивается начальное значение . В соответствии с

условием задачи, в теле цикла

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

Заголовок оператора цикла –

 

 

обеспечивает присваивание

переменной

, начального значения

и его автоматическое увеличение

на , после каждого выполнения тела цикла (Cikl1_2).

90

Что такое ptc mathcad prime

Скачать PTC Mathcad Prime

Приложение PTC Mathcad является стандартным отраслевым средством математического представления и расчетов, который помогает учащимся вести практический цифровой блокнот расчетов. Пользуясь простым и удобным интерфейсом приложения, можно создавать «интеллектуальный» цифровой блокнот, выполняющий расчеты в реальном времени. Необходимо изменить переменную? Внесите изменение один раз, и остальная часть блокнота расчетов обновится автоматически.

Одним из главных преимуществ приложения PTC Mathcad является его способность отображать сложные математические операции в традиционном виде. Больше не нужно искать в сложной функции потерянную скобку или тратить время на расшифровку чьей-то работы. Обеспечьте соответствие и практичность цифрового блокнота расчетов и выполните обновление до PTC Mathcad сегодня!

Установка и требования к системе
  • ОС – Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
  • О дополнительных требованиях можно узнать здесь
Техническая поддержка

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

Что такое ptc mathcad prime

PTC Mathcad Prime 3.0 – это версия PTC Mathcad, включающая новые мощные возможности и предлагающая пользователям общие усовершенствования в следующих областях:

  • документирование – поддержка соответствия стандартам вычислений и документирования, упрощающая повторное использование расчетов;
  • пользовательские функции – многократное использование существующих алгоритмов, уже запрограммированных на языках C++, C, Fortran и т. д., и расширение стандартной функциональности Mathcad;
  • оператор глобального определения – определение констант и параметров, которые могут использоваться в любом месте документа;
  • численные функции – новые функции разложения матриц и интерполяции поверхностей, которые до 100 раз быстрее и дают расширенные возможности;
  • повышенная надежность преобразования – обеспечивает точность при преобразовании документов из предыдущих версий;
  • повышение удобства использования – дополнительные возможности, позволяющие пользователю лучше управлять вычислениями.

Для сотрудников, преподавателей и аспирантов университета доступна установка сетевой версии лицензионного ПО Mathcad Prime 3.0 для обеспечения текущего учебного процесса и поддержки научных исследований.

Все сотрудники, преподаватели и аспиранты УрФУ при нахождении во внутренней университетской сети имеют доступ к ПО Mathcad Prime 3.0 по схеме конкурентного лицензирования (110 одновременных подключений). При запуске программы, если имеется свободная лицензия, будет разрешено запустить приложение.

Инструкция по установке программы PTC Mathcad Prime 3.0 на компьютер пользователя:

Программирование в Ptc MathCAD prime

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

Для написания процедур в системе MathCAD предусмотрена специальная вкладка «Программирование» пункта «Математика», содержащая все операторы и элементы языка (рис. 1).

Операторы в процедуру вставляются с помощью кнопок этой вкладки (Рис.2).

| – добавление новой строки в программу или создание заготовки процедуры из одной строки;

&#8592; присвоение значения локальной переменной;

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

else if- позволяет при невыполнении предыдущего условия проверить выполнение следующего условия;

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

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

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

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

return – оператор возврата значения;

Все внутренние переменные в процедуре являютсялокальными. То есть они будут видимыми только в рамках процедуры.

Создание процедуры

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

1. Ввести имя процедуры.

2. Указать список формальных параметров.

3. Ввести знак либо локального, либо глобального присвоения.

4. Выполнить команду| – добавление новой строки в программу. Появившейся на экране шаблон с вертикальной чертой и полями для ввода операторов будут составлять заготовку для тела процедуры. Вставка дополнительных строк осуществляется нажатием Enter.

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

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

Линейные алгоритмы

Пример Требуется вычислить функцию

Разветвляющиеся алгоритмы

Для проверки условий в программах MathCAD служит оператор if . В поле ввода справа от if нужно ввести условие. Для ввода условий служит вкладка «Операторы» пункта «Математика»

В нижней части вкладки есть кнопки, предназначенные для проверки условий , а также кнопки, предназначенные для вставки логических операций (логическое отрицание, операция «и», операция «или», операция «исключающее или»). Вторые позволяют создавать сложные условия.

В поле ввода ниже ifнужно ввести строку программы, которая должна выполняться, если введенное условие истинно.

Если для условия «истинно» необходимо выполнение нескольких строк, надо установить курсор в последнее знакоместо ветви ifи нажать Enter. .

Для проверки выполнения нескольких условий используются ветви, начинающиеся с else if и else .После else ifзаписывается следующее условие, число ветвей else ifпрактически неограниченно. Операторы после elseвыполняются, если не выполнено ни одно из предыдущих условий.

Циклические алгоритмы

Для создания циклов в MathCAD предусмотрено два оператора for и while.

Цикл for – цикл со счетчиком.

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

Пример: Заполнить вектор числами от xнач до xкон с шагом h. Затем определить сумму элементов этого вектора и найти их среднее арифметическое значение.

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

В поле ввода справа от слова while следует ввести условие. Это условие строится по тем же правилам, что и в операторе if. Оно будет проверяться после каждого выполнения тела цикла и в тот момент, когда условие перестанет выполняться, повторение тела цикла прекратится. В поле ввода ниже слова while следует ввести тело цикла.

Пример. Найти первый элемент, превышающий определенный порог

Использование оператора break.

Иногда возникает необходимость повлиять на выполнение цикла некоторым образом, например, прервать его выполнение по какому-либо условию или выполнять некоторые итерации не так, как другие. Для этого и служат операторы break и continue.

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

Пример: Выделить из массива все элементы от начала и до первого вхождения в него заданного числа.

Выявление скрытых тенденций данных: программирование в PTC Mathcad

Как инженер я использую PTC Mathcad для двух основных целей: интеграция с Creo Parametric и анализ данных. Что касается первого, то моя любимая часть PTC Mathcad — это Solve Blocks для оптимизации. Что касается последнего, то моя любимая часть — это программирование. Если вы читали мои предыдущие статьи, то видели, что я широко использую программирование для выявления трендов. В этом посте мы углубимся в то, что делает программирование таким мощным.

Циклы для обработки данных электронной таблицы

Часто при анализе данных я начинаю с данных электронной таблицы в файлах CSV или Excel. С помощью циклов for и циклов while PTC Mathcad я могу быстро оценивать большие наборы данных. Сила компьютеров заключается в повторяющихся операциях — так почему бы не доверить PTC Mathcad выполнение тяжелых и утомительных задач?

PTC Mathcad также имеет цикл пробы-при-ошибке , поэтому программы могут продолжать работу при возникновении ошибок. Вот программа, которая использует как for-loop и try-on-error для оценки того, сколько раз каждое семя появлялось в «Финале четырех» за последние 33 года:

Графически результаты выглядят так:

Я могу быстро определить, что семена с 12 по 16 никогда не попадали в «Финал четырех», а число 11 попадало в него чаще, чем 9 или 10. Другая простая программа позволяет мне вычислить среднее число исходов, равное примерно 2,8:

Условные выражения

имеет более 400 встроенных функций, и я могу определить свои собственные. Но часто я хочу оценить составную ситуацию или ответвление в зависимости от результатов. С условными конструкциями PTC Mathcad, такими как if-then-else , else-if и также-если , программы могут принимать решения.

При анализе «Финала четырех» NCAA я хотел выяснить, сколько раз все посевные №1 попадали в «Финал четырех». Или сколько раз это были семена #1 или #2, или #3 и выше, или #4 и выше, и так далее. Вот программа:

Вот результаты в виде таблицы и графика:

Все посевные №1 попали в «Финал четырех» только один раз. Почти в половине случаев все посевные в «Финале четырех» занимают 4-е место и выше, а в трех четвертях случаев они занимают 7-е место или выше.

Отладка

Раньше я посещал курсы программирования, и хотя я не так уж плох в этом, но и не особо хорош в этом. Я придумаю алгоритм, чтобы справиться со своей программой, напишу код и выполню его… только чтобы не получить никаких результатов или получить диковинные результаты.

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

Например, я анализировал данные «Финала четырех» и хотел создать матрицу, сообщающую, сколько раз каждое семя появлялось в «Финале четырех» для каждого региона. Я оценивал результаты, когда писал программу:

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

Генерация новых данных

Вместо того, чтобы сообщать об одном значении, при анализе данных мне нравится генерировать векторы и матрицы, которые я могу построить. Тенденции легче распознать, когда данные представлены графически. Программируя в PTC Mathcad, я могу создавать матрицы «на лету». Мне не нужно «объявлять» матрицу или указывать ее строки или столбцы. Определение любого элемента в векторе или матрице автоматически создает вектор или матрицу соответствующего размера.

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

Вот результаты:

Это немного сложно интерпретировать. Но так как я сгенерировал матрицу, я могу построить результаты:

Здесь я могу сказать, что посев №1 имеет наилучшие шансы попасть в «Финал четырех» во всех регионах. На Западе, если это не № 1, то у № 2 больше шансов, но на Юге у № 4 больше шансов выиграть регион, чем у № ​​2 или № 3. На Востоке в качестве подстановочного знака доминирует семя №7, а на Юге — №8.

Выводы

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

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


Об авторе

Дэйв Мартин — инструктор и консультант Creo, Windchill и PTC Mathcad. Он является автором книг «Проектирование сверху вниз в Creo Parametric», «Замысел проектирования в Creo Parametric» и «Настройка Creo Parametric», которые доступны на amazon.com. С ним можно связаться по адресу [email protected].

В настоящее время Дэйв работает менеджером по конфигурации в компании Elroy Air, которая разрабатывает автономные летательные аппараты для доставки на средние мили. Предыдущие работодатели включают Blue Origin, Amazon Prime Air, Amazon Lab126 и PTC. Он имеет степень в области машиностроения в Массачусетском технологическом институте и является бывшим офицером бронетехники резерва армии США.

Условные операторы » MathCadHelp.com » Номер 1 в MathCad Assignments

Обычно Mathcad оценивает каждый оператор в вашей программе сверху вниз. Однако могут быть случаи, когда вы хотите, чтобы Mathcad оценивал оператор только при выполнении определенного условия. Это можно сделать, включив в программу оператор if. Обратите внимание, что оператор if в программе Mathcad отличается от функции if, которую вы используете где-либо еще на своем рабочем листе. Функция if описана в разделе Например, предположим, что вы хотите определить функцию, которая образует полукруг вокруг начала координат, но в остальном является постоянной. Для этого:

• Введите левую часть определения функции, с последующим знаком «:=». Убедитесь, что заполнитель выбран.

Условные операторы

• Нажмите кнопку «Добавить строку» на палитре программирования. Или нажмите]. Вы увидите вертикальную полосу с двумя заполнителями. Эти заполнители будут содержать операторы, из которых состоит ваша программа.

Условные операторы

• В верхнем заполнителе нажмите кнопку «если» на палитре программирования. Или нажмите} .

Условные операторы

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

Условные операторы

На рис. 18-3 показан график этой функции. Обратите внимание: поскольку у этой функции всего две ветви, ее несложно определить с помощью функции if, как показано на рис. 18-3. Однако, когда количество ветвей превышает два, функция if быстро становится громоздкой. Пример показан на рисунке 18-4.

Использование оператора if для определения кусочно-непрерывной функции.

Сравнение оператора if в программе со встроенной функцией if

Цикл

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

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

Циклы for

Цикл for — это цикл, который завершается после заданного числа итераций. Итерация управляется переменной итерации, определенной в начале цикла. Хотя в большинстве случаев вы хотите, чтобы цикл for вычислял полное количество итераций, вы также можете прервать цикл при возникновении определенного условия. В таких случаях остановите выполнение в теле цикла одним из способов, описанных в разделе «Управление выполнением программы» на стр. 407.

Чтобы создать цикл для

• Нажмите кнопку с надписью «для» на палитре программирования. Не вводите слово «для».

Цикл

• В заполнителе слева от «E» введите имя переменной итерации.

Цикл

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

В нижней части показан пример, в котором переменная итерации определяется не с точки зрения диапазона, а с точки зрения элементов вектора. Хотя выражение справа от буквы «E» обычно представляет собой диапазон, оно также может быть вектором, списком скаляров, диапазонов и векторов, разделенных запятыми.

Использование цикла for с двумя разными типами переменных итерации.

Циклы while

Цикл while управляется истинностью некоторого условия. Поэтому вам не нужно заранее знать, сколько раз будет выполняться цикл. Однако важно, чтобы где-то в цикле или в программе было указано, что
в конечном итоге делает условие ложным. В противном случае цикл будет выполняться бесконечно. Если вы попали в бесконечный цикл или хотите прервать цикл при возникновении определенного условия, вы можете остановить выполнение в теле цикла, используя один из методов, описанных в разделе «Управление выполнением программы» на странице 407

. Чтобы создать цикл while

• Нажмите кнопку с надписью «пока» на палитре программирования

циклы while

• В оставшемся заполнителе введите выражение, которое вы хотите повторно оценить. При необходимости добавьте заполнители, нажав значок
Кнопка «Добавить строку» на палитре программирования.

циклы while

На рис. 18.6 показана более крупная программа, включающая описанный выше цикл. Обнаружив цикл while , Mathcad проверяет условие. Если условие истинно, Mathcad выполняет тело цикла и снова проверяет условие. Если условие ложно, Mathcad выходит из цикла.

Использование цикла while для поиска первого вхождения определенного числа
в матрицу.

MathCad ФАПЧ

Получите больше информации о RF Globalnet с помощью нашего БЕСПЛАТНОГО информационного бюллетеня. Запишите меня

Источник: Бесплатное ПО

Это еще один файл Mathcad для анализа PLL. Это реализует методы проектирования петлевых фильтров, подробно описанные в примечании к приложению National Semiconductor AN-1001. Существует также обработка эффектов замкнутого контура на фазовом шуме. Для этого требуется MathCAD 7.0 Pro и включает 4 файла. Основной — SynthPublic.mcd, который ссылается на Details4.mcd и Global.mcd. Данные с платы National Semiconductor LMX2332 Eval также были измерены в PhaseNoiseData.prn. Загружено Дэвидом Бенгтсондом, автором. Веселиться!

Регистрация предоставляет неограниченный доступ к: Бесплатная регистрация

Регистрация предоставляет неограниченный доступ к:

  • Статьи о тенденциях и лидерстве
  • Тематические исследования
  • Обширная база данных продуктов
  • Премиум-контент

Еще не член RF Globalnet? Зарегистрируйтесь сегодня.

Эл. адрес

Пароль

Имя

Фамилия

Компания

Название работы

Телефон

Промышленность — Выберите отрасль — Аэрокосмическая промышленность/авиацияАвтоматика/датчик/управление/безопасностьАвтомобилестроение/транспортБытовая электроника и техникаКоммуникационные системыКомпоненты/материалы/аппаратное оборудованиеСети передачи данныхЦифровое вещание/КТВУниверситет/учреждение/колледжПравительствоБезопасность/НаблюдениеВоенные/оборонаОбработка полупроводниковСпециализированное оборудованиеАнализ/испытания и измеренияУтилиты/Энергетика

Функция работы — Выберите должность — Прикладные исследования и разработкиОбразованиеИнженерия — ДизайнИнжиниринг — Электротехника — Машиностроение — Проектный инжиниринг — Инжиниринг сайта/ПрочееИнжиниринг/технический менеджментИнформационные технологииПроизводство/ПроизводствоИзмерение (контроль качества/тестирование)Управление продукциейЗакупки/СнабжениеРегулятивные и юридические вопросыПродажи и маркетингРазработка программного обеспеченияКадрыТехнические услуги и поддержка

Адрес

Город

Состояние

Страна — Select Country — UNITED STATESAFGHANISTANALAND ISLANDSALBANIAALGERIAAMERICAN SAMOAANDORRAANGOLAANGUILLAANTARCTICAANTIGUA AND BARBUDAARGENTINAARMENIAARUBAAUSTRALIAAUSTRIAAZERBAIJANBAHAMASBAHRAINBANGLADESHBARBADOSBELARUSBELGIUMBELIZEBENINBERMUDABHUTANBOLIVIABONAIREBOSNIA AND HERZEGOVINABOTSWANABOUVET ISLANDBRAZILBRITISH INDIAN OCEAN TERRITORYBRUNEI DARUSSALAMBULGARIABURKINA FASOBURUNDICAMBODIACAMEROONCANADACAPE VERDECAYMAN ISLANDSCENTRAL AFRICAN REPUBLICCHADCHILECHINACHRISTMAS ISLANDCOCOS (KEELING) ISLANDSCOLOMBIACOMOROSCONGOCONGO, THE DEMOCRATIC REPUBLIC OF THECOOK ISLANDSCOSTA RICACOTE D’IVOIRECROATIACUBACURACAOCYPRUSCZECH REPUBLICDENMARKDJIBOUTIDOMINICADOMINICAN REPUBLICECUADOREGYPTEL SALVADOREQUATORIAL GUINEAERITREAESTONIAETHIOPIAFALKLAND ISLANDS (MALVINAS)FAROE ISLANDSFIJIFINLANDFRANCEFRENCH ГВИАНАФРАНЦУЗСКАЯ ПОЛИНЕЗИЯФРАНЦУЗСКИЕ ЮЖНЫЕ ТЕРРИТОРИИГАБОН-ГАМБИАГЕРМАНИЯГАНАГИБРАЛТАРГРЕЦИЯГРЕНЛАНДГРЕНАДАГУАДЕЛУПЕГУАМГВАМАЛАГВИНЕАГВИНЕЯ-БИССАУГЯНАГАИТИОСТРОВ ХЕРД И МАКДОНАЛЬД ISLANDSHONDURASHONG KONGHUNGARYICELANDINDIAINDONESIAIRAN, ISLAMIC REPUBLIC OFIRAQIRELANDISRAELITALYJAMAICAJAPANJORDANKAZAKHSTANKENYAKIRIBATIKOREA, DEMOCRATIC PEOPLE’S REPUBLIC OFKOREA, REPUBLIC OFKUWAITKYRGYZSTANLAO PEOPLE’S DEMOCRATIC REPUBLIC LATVIALEBANONLESOTHOLIBERIALIBYAN ARAB JAMAHIRIYALIECHTENSTEINLITHUANIALUXEMBOURGMACAOMACEDONIA, THE FORMER YUGOSLAV REPUBLIC OFMADAGASCARMALAWIMALAYSIAMALDIVESMALIMALTAMARSHALL ISLANDSMARTINIQUEMAURITANIAMAURITIUSMAYOTTEMEXICOMICRONESIA, FEDERATED STATES OFMOLDOVA, REPUBLIC OFMONACOMONGOLIAMONTENEGROMONTSERRATMOROCCOMOZAMBIQUEMYANMARNAMIBIANAURUNEPALNETHERLANDSNEW CALEDONIANEW ZEALANDNICARAGUANIGERNIGERIANIUENORFOLK ISLANDNORTHERN MARIANA ISLANDSNORWAYOMANPAKISTANPALAUPALESTINIAN TERRITORY, OCCUPIEDPANAMAPAPUA NEW GUINEAPARAGUAYPERUPHILIPPINESPITCAIRNPOLANDPORTUGALPUERTO RICOQATARR?UNIONROMANIARUSSIAN FEDERATIONRWANDASAINT HELENA SAINT КИТС И НЕВИССАН ЛЮЧАСЕНТ ПЬЕР И МИКЕЛОНСЕНТ ВИНСЕНТ И ГРЕНАДИНЕССАМОАСАН МАРИНОСАО ТОМЕ И PRINCIPESAUDI ARABIASENEGALSERBIASEYCHELLESSIERRA LEONESINGAPORESINT MAARTENSLOVAKIASLOVENIASOLOMON ISLANDSSOMALIASOUTH AFRICASOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDSSPAINSRI LANKASUDANSURINAMESVALBARD AND JAN MAYENSWAZILANDSWEDENSWITZERLANDSYRIAN ARAB REPUBLICTAIWANTAJIKISTANTANZANIA, UNITED REPUBLIC OFTHAILANDTIMOR-LESTETOGOTOKELAUTONGATRINIDAD AND TOBAGOTUNISIATURKEYTURKMENISTANTURKS AND CAICOS ISLANDSTUVALUUGANDAUKRAINEUNITED ARAB EMIRATESUNITED KINGDOMUNITED STATES MINOR OUTLYING ISLANDSURUGUAYUZBEKISTANVANUATUVATICAN CITY STATEVENEZUELAVIETNAMVIRGIN ISLANDS, BRITISHVIRGIN ISLANDS, U.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *