Как поставить фигурную скобку в маткад

Работа с символьным пакетом инженерных расчетов MathCAD

Тема1: Оформление документа, ввод и редактирование формул. Вычислительные особенности MathСad. Операторы и математические функции. Символьные вычисления.

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

Используемые программные средства: MathCAD.

Теоретические сведения

Элементы интерфейса и организация документа

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

Рассмотрим основные элементы интерфейса MathCAD. Запуск пакета производится двойным щелчком по пиктограмме MathCAD на рабочем столе или активизацией соответствующей опции главного меню (Пуск>Программы>MathSoft Apps>MathCAD) . При этом разворачивается собственное окно приложения. Это окно содержит окно документа с именем Untitled:1, через него осуществляется доступ к рабочему документу MathCAD.

Формулы могут размещаться в любом месте рабочего документа MathCAD . Чтобы подвести курсор к нужному месту, не видимому в настоящий момент в окне, можно использовать полосы прокрутки, как в любой программе Windows. Подобно другим программам под Windows, MathCAD содержит полосу меню. Ниже полосы меню расположена панель инструментов. Многие команды меню можно быстро вызвать, нажав кнопку на панели инструментов. Для того чтобы узнать, что делает кнопка, достаточно нажать на нее, и появится строка сообщения. Если активизировать кнопку не нужно, то достаточно убрать с неё указатель, не отпуская кнопки мыши. Если указатель остановлен на кнопке, появляется текст, описывающий действие кнопки.

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

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

Рассмотрим аспекты управления рабочим документом. Чтобы открыть ранее существующий рабочий документ, нужно выбрать пункт Открыть (Open) из меню Файл. MathCAD запросит имя файла. В самом низу меню ФайлMathCAD ведет список файлов, открывшихся последними. Выбор имени файла из этого списка сразу открывает файл. В меню Файлесть два пункта, касающиеся сохранения файлов: Сохранить (Save) , Сохранить как (Save As). Для записи рабочего документа, ранее никогда не сохраняющегося, можно выбрать любой из них, в результате чего появится диалоговое окно Сохранить как (Save As),в котором можно набрать имя файла. Для перезаписи исходного рабочего документа (его изменённой версии) нужно выбрать пункт Сохранить (Save) или нажать комбинацию клавиш [Ctrl+S], в результате чего MathCAD уничтожает исходную копию рабочего документа и записывает новую копию, показываемую в рабочем окне.

Практическая часть

Хотя MathCAD предназначен для сложных математических вычислений, его можно использовать, например, как калькулятор. Для этого:

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

2. Напечатайте 20-4/103.2= . После набора знака= MathCAD вычисляет выражение и выводит результат.

Этот пример демонстрирует особенности работы с MathCAD.

· MathCAD отображает формулы в точности в том виде, как их печатают в книгах или пишут на доске – по всей площади экрана; подбирает размеры для дробных черт, скобок и других математических символов, чтобы они выглядели так, как их обычно пишут на бумаге.

· MathCAD понимает, какую операцию выполнять первой. После ввода знака равенства = MathCAD показывает результат.

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

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

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

Правила определения переменных.

· Напечатать имя переменной, которую нужно определить.

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

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

Слева от знака := могут стоять:

· имя простой переменной, например x;

· имя переменной с нижними индексами;

· матрица с элементами, являющимися простыми переменными или переменными с нижними индексами;

· имя функции со списком аргументов, состоящих из имен простых переменных, например f(x,y,z);

· имя переменных с верхними индексами.

Пример 1. Задание переменных.

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

· наберите имя переменной, например ;

· напечатайте символ : (двоеточие). В рабочем документе появится знак присваивания (:=)

· напечатайте значение, которое вы присваиваете переменной , например 11

· наберите 9/2 [Space]*t^2=

Здесь: [Space] – клавиша пробела; символ ^ означает возведение в степень, * ¾ знак умножения, а наклонная черта вправо ( / ) ¾ деление.

После ввода формулы MathCAD возвращает результат. Окно рабочего документа содержит одно определение, которое определяет переменную, и одно вычисление, которое дает результат. MathCAD пересчитывает результаты сразу после внесения любых изменений в рабочий документ. Если заменить, например, число 11 в примере на какое-либо другое, MathCAD изменит результат, как только будет введен [Enter], или Вы щелкнете мышью вне формулы.

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

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

· имя переменной слева;

· или := или @ в середине;

· допустимый диапазон справа.

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

· напечатайте j и затем нажмите клавишу двоеточия :. Пустое поле означает, что MathCAD ожидает определение для j, не зная, будет ли j обычной переменной или дискретным аргументом.

· Напечатайте 1. Затем нажмите клавишу точку с запятой ;. Это сообщает MathCAD, что определяется дискретный аргумент. MathCAD показывает ; как две точки . что означает диапазон. Завершите определение дискретного аргумента, печатая 15 в оставшемся поле.

· Это определение указывает, что j принимает значения 1, 2 .. 15. Чтобы определить дискретный аргумент с шагом, отличным от единицы, нужно сделать следующее:

· напечатать k: 1, 1.5 ;15

· На экране это будет выглядеть как

· В этом определении диапазона:

· переменная k – имя дискретного аргумента. Это должно быть простое имя

· число 0 – первое значение переменной k

· число 1.5 – второе значение в диапазоне. Это не размер шага. Размер шага в этом примере 0.5 – разница между 1.5 и 1

· число 2 – последнее значение в диапазоне. Если третье число в определении диапазона не равно целому числу приращений начального значения, аргумент все равно не выйдет за его пределы.

Можно использовать произвольные скалярные выражения вместо 1, 1.5 и 15, но эти значения должны быть всегда вещественными. Комплексные числа не имеют смысла в определениях дискретного аргумента, так как имеется бесконечное число путей, соединяющих два данных комплексных числа. Если только дискретный аргумент определен, он принимает полный диапазон значений каждый раз, когда он используется.

Нельзя определить простую переменную через дискретный аргумент. Например, если определив j, теперь записать i := j + 1,то MathCAD истолкует это как попытку приравнять скалярную переменную дискретному аргументу и отметит уравнение сообщением “нескалярная величина”.Если дискретный аргумент используется в выражении, MathCAD вычисляет выражение один раз для каждого значения дискретного аргумента. Этот принцип выражает различие между выражениями с дискретным аргументом и без него. Выражения, которые не содержат дискретный аргумент, имеют только одно значение. Выражения, содержащие дискретные аргументы, принимают много значений, которые соответствуют каждому значению каждого аргумента.


Пример 2. Определение дискретного аргумента.

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

Правила определения функций.

· напечатать имя функции, например f ;

· напечатать левую скобку, а вслед за ней – имя или список имен, разделенных запятой. Для завершения списка аргументов нужно напечатать правую скобку. Не имеет значение, были ранее определены или использованы в рабочем документе имена из списка аргументов. Важно только, чтобы эти аргументы были именами, а не более сложными выражениями;

· ввести : . Появится знак оператора присваивания :=;

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

· Определенная таким образом функция может быть использована везде ниже определения, также как используются переменные.

При использовании функции в выражении MathCAD

· вычисляет значения аргументов, указанных в скобках;

· заменяет формальные параметры (аргументы в определении функции) фактическими значениями аргументов, указанных в скобках;

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

Пример 3. Задание функций.

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

Каким образом строятся математические выражения в MathCAD? Многие математические выражения можно создавать, просто печатая последовательность символов. Часть символов – буквы и цифры – служат для ввода чисел и имен функций и переменных, другие символы – для создания операторов. Можно напечатать многие из этих операторов, нажимая соответствующие кнопки на различных палитрах операторов. Например, арифметическую палитру можно открыть, нажав кнопку с изображением калькулятора. Математические выражения имеют строго определенную структуру, и редактор формул MathCAD разработан с учетом этого. В MathCAD математические выражения не столько печатаются, сколько строятся. MathCAD собирает различные части выражения, используя правила старшинства операций и некоторые дополнительные правила, которые упрощают ввод знаменателей, показателей степени и выражений в радикалах. Например, если напечатать / чтобы создать дробь, курсор будет оставаться в знаменателе, пока ему явно не указать, чтобы он покинул знаменатель, щелкнув мышью вне знаменателя, нажав [Space] или используя клавиши курсора. Говорят, что в этом случае операторы являются “цепкими”. Операции деления, возведения в степень и извлечение корня в MathCAD – “цепкие” операции, т.е. после создания одной из этих операций, всё затем печатаемое будет частью знаменателя, показателя степени или подкоренного выражения, пока явно не переместить курсор, нажимая [Space], клавиши курсора или с помощью мыши. Чтобы покинуть выражение, можно:

· щёлкнуть снаружи выражения мышью,

· нажать клавишу ввода [Enter].

Или

· поместите маркер ввода перед оператором;

· нажмите [Del].

Чтобы удалить оператор, который имеет только один операнд типа |x |, x! :

· охватите оператор маркером ввода;

· нажмите [Del] или [Backspace].

Чтобы вычислить выражение, нужно:

· напечатать выражение, содержащее любую допустимую комбинацию чисел, переменных и функций. Любые переменные или функции, используемые в этом выражении, должны быть определены в рабочем документе;

Прерывание вычислений.

Для того чтобы прервать процесс вычислений, нажмите клавишу [Esc]. После появления диалогового окна нужно щелкнуть по кнопке OK, для остановки процесса вычислений или по кнопке “отмена” для его продолжения.

Исправление ошибок.

Определив выражение, вызвавшее ошибку, нужно его отредактировать с целью устранения ошибки или исправить определение переменной, приведшей к ошибке. После щелчка по выражению и начала редактирования MathCAD удаляет сообщение об ошибке. После щелчка вне уравнения (или нажатия клавиши [F9]), MathCAD повторно вычисляет выражение. Если ошибка устранена, то MathCAD затем повторно вычисляет другие выражения, зависящие от измененного.

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

Рассмотрим допустимые в MathCAD имена переменных и функций. Имена в MathCAD могут содержать любые из следующих символов:

· прописные и строчные латинские буквы;

· цифры от 0 до 9

· знак подчеркивания _

· штрих ` Это не апостроф. Находится на одной клавише с тильдой

· греческие буквы. Есть два способа набрать греческую букву: напечатать римский эквивалент и нажать [Ctrl]+Gили щелкнуть по соответствующему символу на палитре греческих символов

· символ бесконечности, который можно задать как комбинацию клавиш[Ctrl]+[Shift]+Z.

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

MathCAD не делает различий между именами переменных и именами функций. Если определить вначале f(x), а затем переменную f, окажется невозможным использовать f(x) где-либо ниже определения f некоторые имена уже используются MathCAD для встроенных констант, единиц измерения и функций. Хотя эти имена можно переопределить, этот уничтожит их встроенные значения.

MathCAD различает в именах символы верхнего и нижнего регистра, а также различные шрифты.

Кроме того, среда MathCAD включает так называемые предопределенные переменные. MathCAD содержит 8 переменных, значения которых определены сразу после запуска программы. Они называются встроенными или предопределенными. Эти переменные имеют или общепринятое значение (например, пи или е), или используются как внутренние переменные, управляющие работой MathCAD. Эти переменные можно переопределять, например, определим е:= 2. Ниже этого определения переменная е примет в рабочем документе новое значение.

Приведем примеры некоторых встроенных переменных:

р=3.14159…– число Пи;

е=2.71828 – основание натурального логарифма;

Е=10^307 – машинная бесконечность;

% =0.01 – процент.

MathCAD интерпретирует все, начинающееся цифрой, как число. Цифра может сопровождаться:

· цифрами после десятичной точки;

· символами h или o для шеснадцатеричных и восьмеричных чисел; символами i или j для комплексных чисел. Комплексные числа MathCAD воспринимает в форме a+bi (или a+bj). Специальные функции и операторы для работы с комплексными числами:

· Re(z) – вещественная часть числа z;

· Im(z) – мнимая часть числа z;

· Arg(z) – аргумент числа z (угол в комплексной плоскости между вещественной осью и радиус-вектором, определяемым числом z);

· |z| – модуль числа z.

Одиночное число в MathCAD называют скаляром. Столбец чисел называется вектором, а прямоугольная таблица чисел — матрицей. Способы создания массива:

· заполнить массив пустых полей

· использовать дискретный аргумент

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

Пример 5. Векторные и матричные функции.


Пример 6. Векторные и матричные операции.


Сумма элементов вектора: Скалярное и векторное произведение

Определитель матрицы Транспонированная матрица

Пример 7. Решение системы линейных уравнений.

Символьные вычисления.

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

Порядок выполнения работы

(включая пример и варианты заданий)

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

Тестовый пример:

1) Попробуем набрать следующее выражение

и вычислим его значение для a = 0.1, x = 3.5, y = 1. В первую очередь зададим значения переменных, входящих в состав данного выражения.

Напечатайте x:3.5 a:0.1 y:1. Затем наберите x-3*a^2.

До сих пор правила старшинства позволяли нам просто печатать символы подряд, дальше так продолжать нельзя, так как маркер ввода находится на двойке, и двойка станет числителем, если нажать / Чтобы все выражение стало числителем, нажмите три раза клавишу [space ] . Маркер ввода охватит выражение целиком. Можно поэкспериментировать с другими клавишами курсора, можно щелкать мышью на других частях выражения. Прежде чем перейти к следующему шагу, убедитесь, что маркер ввода охватывает все выражение.

Нажмите / чтобы создать дробную черту напечатайте — 4 + и щелкните на кнопке корня на арифметической палитре. Затем напечатайте y + 1 , чтобы завершить знаменатель. Чтобы добавить что-либо снаружи корня нажмите дважды клавишу [Space] (пробел). Чтобы вычислить значение данного выражения нажмите клавишу =.

2.3. наберите j : 0 ;8

2.4. наберите X [ j : j^2[Space]+1

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

3) Выполнить вычисления по приведенным ниже формулам.

3.1 Используя переменную типа “дискретный аргумент”, задать элементы вектора.

3.2 Ввести с клавиатуры вектора W, V, матрицы A,B. Вычислить: WxV, W*V, сумму элементов данных векторов, A -1 , B T , A*B, A*A -1 , (2*A+B)*(A-B 2 ).

3.3 Наберите A:

щелкните мышью на палитре матричных операторов. Заполните поля диалогового окна и нажмите клавишу OK. Затем заполните пустые поля матрицы скалярными выражениями. Аналогично задайте матрицу B и вектора W, V.


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

Контрольные вопросы.

1. Опишите палитры символов.

2. Особенности работы с пакетом инженерных расчетов MathCAD.

3. Как определить переменную в пакете MathCAD? Приведите примеры.

4. Переменная типа “ дискретный аргумент “. Примеры.

5. Как в MathCAD определяется функция? Приведите примеры определения функции.

6. Построение выражения в MathCAD. Цепкие операторы.

7. Редактирование существующего выражения: замена, вставка, удаление оператора; вычисление выражения.

8. Сообщения об ошибках в пакете MathCAD. Исправление ошибок.

9. Допустимые в MathCAD имена переменных и функций. Предопределенные переменные. Числа.

10. Создание вектора (матрицы). Примеры.

11. Векторные и матричные операции (функции). Примеры.

12. Какие операторы используются в Mathcad? Как их можно вводить?

13. Операторы вычисления сумм и произведений: способы задания, примеры.

14. Оператор производной: способ задания, дифференцирование в точке, символьное дифференцирование, примеры.

15. Определенный интеграл: способ задания, переменные пределы интегрирования. Двойной и тройной интегралы.

16. Неопределенный интеграл: способ задания, примеры.

17. Символьный знак равенства, способы его задания, примеры.

18. Встроенные функции.

Варианты заданий

Вариант 1

1) Вычислить , где , , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу , если .

3) Ввести с клавиатуры векторы , ., матрицы , .

а) скалярное и векторное произведение векторов W и V;

б) сумму элементов данных векторов;

в) , , , , ;

г) сумму элементов каждой строки матрицы .

4) Решить систему уравнений с помощью обратной матрицы и с помощью функции lsolve.

5) Найти число , где – матрица, полученная из матрицы заменой первого столбца вектором .

6) Вычислить

Вариант 2

1) Вычислить , где , , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу , если .

3) Ввести с клавиатуры векторы , и матрицы , .

а) скалярное и векторное произведение векторов W и V;

б) сумму элементов данных векторов;

в) , , , , ;

г) сумму элементов каждой строки матрицы .

4) Решить систему уравнений с помощью обратной матрицы и с помощью функции lsolve.

5) Найти число , где – матрица, полученная из матрицы заменой второго столбца вектором .

6) Вычислить .

Вариант 3

1) Вычислить , где . , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу , если .

3) Ввести с клавиатуры векторы , и матрицы , .

а) скалярное и векторное произведение векторов W и V;

б) сумму элементов данных векторов;

в) , , , , ;

г) сумму элементов каждой строки матрицы .

4) Решить систему уравнений с помощью обратной матрицы и с помощью функции lsolve.

5) Найти число , где – матрица, полученная из матрицы заменой третьего столбца вектором .

6) Вычислить .

Вариант 4

1) Вычислить , где , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу
, если .

3) Ввести с клавиатуры векторы , и матрицы , .

а) скалярное и векторное произведение векторов W и V;

б) сумму элементов данных векторов;

в) , , , , ;

г) сумму элементов каждой строки матрицы .

4) Решить систему уравнений с помощью обратной матрицы и с помощью функции lsolve.

5) Найти число , где – матрица, полученная из матрицы заменой первого столбца вектором .

6) Вычислить .

Вариант 5

1) Вычислить , где , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу , если .

3) Ввести с клавиатуры векторы , и матрицы , .

а) скалярное и векторное произведение векторов W и V;

б) сумму элементов данных векторов;

в) , , , , ;

г) сумму элементов каждой строки матрицы .

4) Решить систему уравнений с помощью обратной матрицы и с помощью функции lsolve.

5) Найти число , где – матрица, полученная из матрицы заменой второго столбца вектором .

6) Вычислить .

Вариант 6

1) Вычислить где , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу , если .

3) Ввести с клавиатуры векторы , и матрицы , .

а) скалярное и векторное произведение векторов W и V;

б) сумму элементов данных векторов;

в) , , , , ;

г) сумму элементов каждой строки матрицы .

4) Решить систему уравнений с помощью обратной матрицы и с помощью функции lsolve.

5) Найти число , где – матрица, полученная из матрицы заменой третьего столбца вектором .

6) Вычислить .

Вариант 7

1) Вычислить , где , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу , если .

3) Ввести с клавиатуры векторы , и матрицы , .

а) скалярное и векторное произведение векторов W и V;

б) сумму элементов данных векторов;

в) , , , , ;

г) сумму элементов каждой строки матрицы .

4) Решить систему уравнений с помощью обратной матрицы и с помощью функции lsolve.

5) Найти число , где – матрица, полученная из матрицы заменой первого столбца вектором .

6) Вычислить .

Вариант 8

1) Вычислить , где , .

2) Используя переменную типа «дискретный аргумент», задать элементы вектора по правилу , если .

3) Ввести с клавиатуры векторы , и матрицы , .

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

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

1

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

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

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

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

2

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

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

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

3

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

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

4

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

5

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

6

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

7

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

8

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

9

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

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

10

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

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

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

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

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

11

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

12

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

13

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

14

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

15

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

16

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

17

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

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

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

18

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

19

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

20

Операторы

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

21

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

22

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

23

Нажмите 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

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

Научный форум dxdy

Пример прикрепить не могу, нет под рукой MathCad, но
1) набираете Given
2) ниже уравнения системы одно под другим, правая часть записывается через знак равенства по команде Ctrl+=.
3) ниже команда Find(x,y) и команда символьных вычислений из вкладки Symbolic (если не ошибаюсь).

Вот код в Maple

Добавлено спустя 26 минут 43 секунды:

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

Как сделать фигурную скобку в маткаде

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

Рекурсивные вычисления с одной переменной

Классический метод для вычисления квадратных корней состоит в следующем:

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

Рисунок 10 показывает, как выполнить этот метод в Mathcad.

Рисунок 10: Использование рекурсивных вычислений для вычисления квадратного корня.

Характерные особенности этого примера:

  • Начальное значение определено как нулевой элемент массива, guess0.
  • Каждый элемент guessi+1 определяется через предыдущий.

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

Рекурсивные вычисления с несколькими переменными

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

При выполнении многократных вычислений нескольких переменных на каждом шаге вычисляются значения переменных на основе всех их предыдущих значений. Нельзя сделать это с отдельными уравнениями, потому что, когда Mathcad видит формулу с дискретным аргументом, он пытается вычислить её для каждого значения дискретного аргумента перед переходом к следующему уравнению. Значит, следует создать одну формулу, которая выполняет вычисления со всеми переменными одновременно.

Например, рассмотрим модель эпизоотии с четырьмя переменными: через i обозначим число инфицированных животных, через s — число восприимчивых, через d — число умерших, через r — число выздоровевших и приобретших иммунитет. Четыре уравнения, которые связывают эти переменные в каждый момент:

il+1 = 0.0001 sl il
sl+1 = sl — 0.0001 sl il
dl+1 = dl + 0.55 il
rl+1 = rl + 0.45 il

Рисунок 11: Вычисления в модели распространения инфекции.

Рисунок 11 показывает, как выполнить одновременные вычисления, используя эти уравнения.

Сделаем одно очень важное замечание относительно этого примера: все индексы l+1 собраны по левую сторону уравнения. Правая сторона содержит только индекс l. Mathcad вычисляет все выражения справа перед выполнением любых присваиваний левой стороне. Это означает, что ничто справа не может зависеть ни от чего слева.

Рекурсивные вычисления с вектором

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

Марковский процесс — пример задачи, которая приводит к рекурсивным вычислениям вектора. Марковский процесс начинает с вектора v, который задает начальные значения некоторых количеств, например, число избирателей, планирующих голосовать за различных кандидатов, число грузовиков в региональных ведомствах компании, сдающей в прокат грузовики, или долей различных компаний на рынке. Каждый шаг в процессе Маркова вычисляет новый вектор, умножая предыдущий вектор на переходную матрицу A. Рисунок 12 показывает, как задать процесс Маркова. Эта методика использует верхние индексы, чтобы индексировать весь столбец матрицы сразу. Чтобы создать верхний индекс, нажмите [Ctrl]6. Появится поле между угловыми скобками: .

Вот как записать уравнения из Рисунка 12:

  • Определите переходную матрицу A. Напечатайте A, нажмите клавишу двоеточия (:) и создайте 3×3 матрицу. Чтобы создать матрицу, выберите Матрицы из меню Математика.
  • Щёлкните справа от матрицы и напечатайте v. Затем нажмите [Ctrl]6. Напечатайте 0 в поле для верхнего индекса.
  • Завершите определение начального вектора. Нажмите клавишу двоеточия (:), затем выберите Матрицы из меню Математика. Укажите, что создаётся матрица с тремя строками и одним столбцом. Потом заполните ячейки матрицы.
  • Напечатайте k:1;8. Это задаст дискретный аргумент k, чтобы выполнить восемь вычислений.
  • Чтобы выразить k-тый вектор через (k-1)-ый, напечатайте v [Ctrl] 6 k. Затем напечатайте двоеточие (:) для символа определения. Завершите формулу, напечатав после символа определения: A*v[Ctrl] 6 k-1 .
  • Чтобы увидеть восьмой (последний) столбец матрицы, напечатайте v [Ctrl] 68=.
  • Чтобы увидеть все векторы как столбцы матрицы, напечатайте v=. Обратите внимание, что в изображении справа отображаются не все столбцы.

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

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

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

3.1.7. Допустимые имена переменных и функций

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

  • большие и маленькие буквы — Mathcad различает регистр: так, имена х и х определяют разные переменные. Кроме того, Mathcad различает и шрифт, например имена х и х воспринимаются как разные;
  • числа от 0 до 9;
  • символ бесконечности (клавиши + + );
  • штрих (клавиши + );
  • греческие буквы — они вставляются с помощью панели Greek (Греческие символы);
  • символ подчеркивания;
  • символ процента;
  • нижний индекс.

С осторожностью используйте нижний индекс в определении имен переменных и функций, не путая его с индексом векторной переменной. Чтобы ввести имя с нижним индексом, например, Kmax: введите букву «K», затем точку «.», после чего линии ввода опустятся чуть ниже, и только затем сам нижний индекс max.

Теперь рассмотрим ограничения на имена переменных и функций:

  • имя не может начинаться с цифры, символа подчеркивания, штриха или процента;
  • символ бесконечности должен быть только первым в имени;
  • все буквы в имени должны иметь один стиль и шрифт;
  • имена не могут совпадать с именами встроенных функций, констант и размерностей, например sin или TOL. Тем не менее, допускается их переопределение, но тогда одноименная встроенная функция больше не будет использоваться по первоначальному назначению;
  • Mathcad не различает имен переменных и функций: если сначала определить функцию f (х), а потом переменную f, то в оставшейся части документа будет утеря* доступ к функции f (x).

Имена, содержащие операторы и специальные символы

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

Во-первых, имя, составленное из любых символов и заключенное в квадратные скобки, Mathcad будет воспринимать корректно (рис. 3.5, сверху). Например, чтобы ввести имя [a+b]:

  • Нажмите клавиши + + — появится пара квадратных скобок с местозаполнигелем внутри.
  • Введите в местозаполяитель последовательность любых символов, например a+b.

Рис. 3.5. Специальные символы в именах переменных

Во-вторых, если Вас не устраивает наличие квадратных скобок в имени, то вставить в него специальные символы можно чуть более сложным способом. Например, для ввода имени a+b:

  • Введите первый символ (а), который должен быть допустимым для имен Mathcad.
  • Нажмите клавиши + + для перехода в специальный «текстовый» режим редактирования.
  • Введите последовательность любых символов (+).
  • Еще раз нажмите клавиши + + , чтобы вернуться в обычный режим редактирования. Теперь можно продолжать ввод допустимых символов в имя (b).

Результат этих действий показан в нижней строке рис. 3.5. Если требуется, чтобы имя начиналось со специального символа (средняя строка рис. 3.5), то необходимо выполнить все пункты 1—4, вводя в начале имени произвольный допустимый символ, а по завершении ввода просто стирая его.

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

simplify (упростить) выполнить арифметические операции, привести подобные, сократить дроби, использовать для упрощения основные тождества (формулы сокращенного умножения, тригонометрические тождества и т.п.);

expand (развернуть) раскрыть скобки, перемножить и привести подобные;

factor (разложить на множители) представить, если возможно, выражение в виде произведения простых сомножителей;

substitute (подставить) заменить в алгебраическом выражении букву или выражение другим выражением;

convert to partial fraction разложить рациональную дробь на простейшие дроби.

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

Пример проведения символьных расчетов

I. Упростить выражение

Рисунок 1 – Окно Формат вычисления

Упрощаем выражение: щелкните справа внизу у последнего символа выражения и выделите его, нажимая клавишу . Затем щелкните в меню Symbolic (Символьные операции) по строке Simplify (Упростить) (рис. 2). Результат (преобразованное выражение) будет отображен в рабочем документе ниже после исходного выражения.

Рисунок 2 – Процесс упрощения выражения через меню Symbolics

II. Раскрыть скобки и привести подобные в выражении

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

Рисунок 3 – Упрощение выражений с использованием операции Expand (Развернуть)

III. Разложить на множители выражение

Введите выражение для преобразования, выделите его и щелкните по строке Factor (Факторизовать) в меню Symbolic.

Ниже приведен фрагмент рабочего документа Mathcad с соответствующими вычислениями.

IV. Разложить на простейшие дроби рациональную дробь

Введите выражение для преобразований, выделите переменную х и щелкните по строке Convert to Partial Fraction (Преобразовать к дробно-рациональному виду) в пункте Variable (Переменная) меню Symbolic (Символьные операции), как показано на рисунке 4.

Рисунок 4 – Разложение на простейшие рациональные дроби

Ниже приведен фрагмент рабочего документа Mathcad с соответствующими вычислениями.

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

Арифметические операции , простейшие функции, знаки присваивания переменным (символ :=) можно вводить, используя панель Calculator (Калькулятор). Численные ответы выражений определяются нажатием клавиши [=] на клавиатуре. В качестве элементов выражения могут использоваться функции определенных интегралов, сумм и произведений с панели Calculus.

Для ввода математической функции различной категории используется команда Insert /Function (Вставить функцию).

Для ввода текстового комментария необходимо ввести знак двойной кавычки «, затем вводить текст. Текстовая область, как и любая другая, может быть перемещена на рабочем листе или скопирована в буфер . Маркеры текстовой области позволяют менять её размеры

1.4.1. Переменные и функции.

Переменная в MathCAD – это идентификатор, который используется в выражениях и которому можно присвоить числовое значение. Идентификатор – набор букв и цифр, первым из которых должна быть буква; буквы могут быть латинскими или греческими с соответствующей панели; малые и большие буквы различаются; в качестве цифры может использоваться символ подчеркивания. При выполнении цепочки выражений последовательность вычислений в документе определяется слева — направо и сверху — вниз. Чтобы цепочка выражений была вычислена, надо всем переменным присвоить числовые значения. Присваивания бывают двух видов: локальные и глобальные. Локальное присваивание осуществляется нажатием символа := на панели Калькулятор. Присвоенное значение в документе начинает действовать с момента его записи (слева-напрво и сверху-вниз).

Глобальное присваивание действует в пределах всего документа независимо от места его определения. Глобальное присваивание определяется символом === с панели Evaluation. Ниже (Рис.1.10) приведен пример цепочки выражений с использованием локального (для х) и глобального (для а) присваивания:

a\equiv3

Встроенные константы

Символьный процессор распознает и способен выдавать математические константы в качестве результата.

Вычислительный процессор воспринимает как числа

\infty

е

— основание натурального логарифма (клавиша );

\pi

; — число «пи» (вводится клавишами + +

j

— мнимая единица (вводится клавишами , или , );

\%

— символ процента, , эквивалентный 0,01.

Основные типы переменных
Действительные числа

Любое выражение, начинающееся с цифры, MathCAD интерпретирует как число. Числа набираются на клавиатуры в нужном формате (Рис.1.11). Форматы представлены в окне Format/Result (Рис.1.7.).

a\equiv1000

b:=1.3474

c:=3124.1

Комплексные числа

Комплексное число является суммой действительного и мнимого числа, получающегося путем умножения любого действительного числа на мнимую единицу (imaginary unit) i. По определению полагается, i2=-1. Для ввода мнимой единицы надо нажать клавиши , (Рис.1.12). Если просто ввести символ «i», то MathCAD интерпретирует его как переменную i.

t:=1i+1

t^2\equiv2i

2t=2+2i

Размерные значения

В MathCAD числовые переменные и функции могут обладать размерностью. Используется команда Insert / Unit (Вставка / Единицы). «Горячая» клавиша + . В программе встроено большое количество единиц измерения, с помощью которых и создаются размерные переменные. Для ввода размерного значения — сразу после ввода переменной ввести символ умножения, в окне Insert / Unit списке Unit (Единицы) выбрать нужную единицу измерения

Pедактирование формул

В программе MathCAD при вводе формул курсор имеет вид: синего уголка («клюшка») . Действие производится только с объектом, выделенным этим уголком. Для того чтобы охватить синим уголком блок, надо нажать на пробел один или несколько раз.

  1. Набираемая формула всегда заключена в рамку. Не выходите из рамки, пока не закончили набор формулы!
  2. Для набора формул пользуйтесь «Калькулятором» из «Математической палитры»

При наборе формул возможно появление ошибок набора. Кнопка на стандартной панели инструментов позволяет отменить последнее действие, выполненное при редактировании, т.е. вернуться к тексту, набранному ранее.

Встроенные функции MathCAD

Стандартные математические функции и численные методы, запрограммированные в MathCAD, реализованы в виде встроенных функций. Для вставки функции команда меню Insert /Function (Вставить функцию)(Рис.1.17).

 Окно стандартных функций

Собственные функции пользователя

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

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

f(x,y):=x^2+y^2

s(x,y):=x+y+f(x,y)

z(x,y):=s(x,y)+x

x:=2

z(x,y):=12.092

1.4.2. Массивы

Массивами (arrays) называют упорядоченные последовательности чисел или элементов. Доступ к любому элементу массива возможен по его индексу, т. е. номеру в последовательности чисел В MathCAD условно выделяются два типа массивов: векторы (одноиндексные массивы), матрицы (двухиндексные массивы), и тензоры (многоиндексные массивы); ранжированные переменные (range variables) — векторы, элементы которых определенным образом зависят от их индекса.

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

Матрицей размером mxn называется совокупность m•n чисел, расположенных в виде прямоугольной таблицы из m строк и n столбцов. Эту таблицу обычно заключают в круглые скобки. Для краткости матрицу можно обозначать одной заглавной буквой, например, А или В.

В общем виде матрицу размером m x n записывают так

Числа, составляющие матрицу, называются элементами матрицы. Элементы матрицы имеют два индекса aij: первый указывает номер строки, а второй – номер столбца. Например, a23 – элемент стоит во 2-ой строке, 3-м столбце. Если в матрице число строк равно числу столбцов, то матрица называется квадратной, причём число ее строк или столбцов называется порядком матрицы. Матрица, в которой число строк не равно числу столбцов, называется прямоугольной. Матрицу с одним столбцом называют вектор-столбец, с одной строкой — вектор-строка.

Сложение матриц производится поэлементно, но размеры матриц должны совпадать Умножение матриц. осуществляется по своеобразному закону. Прежде всего, размеры матриц–сомножителей должны быть согласованы. Перемножать можно только те матрицы, у которых число столбцов первой матрицы совпадает с числом строк второй матрицы (т.е. длина строки первой равна высоте столбца второй). Произведением матрицы A не матрицу B называется новая матрица C=AB, элементы которой составляются следующим образом:

Например, в произведении — матрице C, элемент стоящий в 1-ой строке и 1-м столбце c11, равен сумме произведений элементов 1-ой строки матрицы A и 1 столбца матрицы B,

Создаются матрицы при помощи кнопки палитры инструментов Matrix или команды Insert/Matrix (Рис.1.18, Рис.1.19, Рис.1.20). Появляется окно Insert matrix, где указывается количество строк, столбцов Rows и Columns.

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

Рекурсивные вычисления с одной переменной

Классический метод для вычисления квадратных корней состоит в следующем:

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

Рисунок 10 показывает, как выполнить этот метод в Mathcad.

Рисунок 10: Использование рекурсивных вычислений для вычисления квадратного корня.

Характерные особенности этого примера:

  • Начальное значение определено как нулевой элемент массива, guess0.
  • Каждый элемент guessi+1 определяется через предыдущий.

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

Рекурсивные вычисления с несколькими переменными

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

При выполнении многократных вычислений нескольких переменных на каждом шаге вычисляются значения переменных на основе всех их предыдущих значений. Нельзя сделать это с отдельными уравнениями, потому что, когда Mathcad видит формулу с дискретным аргументом, он пытается вычислить её для каждого значения дискретного аргумента перед переходом к следующему уравнению. Значит, следует создать одну формулу, которая выполняет вычисления со всеми переменными одновременно.

Например, рассмотрим модель эпизоотии с четырьмя переменными: через i обозначим число инфицированных животных, через s — число восприимчивых, через d — число умерших, через r — число выздоровевших и приобретших иммунитет. Четыре уравнения, которые связывают эти переменные в каждый момент:

il+1 = 0.0001 sl il
sl+1 = sl — 0.0001 sl il
dl+1 = dl + 0.55 il
rl+1 = rl + 0.45 il

Рисунок 11: Вычисления в модели распространения инфекции.

Рисунок 11 показывает, как выполнить одновременные вычисления, используя эти уравнения.

Сделаем одно очень важное замечание относительно этого примера: все индексы l+1 собраны по левую сторону уравнения. Правая сторона содержит только индекс l. Mathcad вычисляет все выражения справа перед выполнением любых присваиваний левой стороне. Это означает, что ничто справа не может зависеть ни от чего слева.

Рекурсивные вычисления с вектором

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

Марковский процесс — пример задачи, которая приводит к рекурсивным вычислениям вектора. Марковский процесс начинает с вектора v, который задает начальные значения некоторых количеств, например, число избирателей, планирующих голосовать за различных кандидатов, число грузовиков в региональных ведомствах компании, сдающей в прокат грузовики, или долей различных компаний на рынке. Каждый шаг в процессе Маркова вычисляет новый вектор, умножая предыдущий вектор на переходную матрицу A. Рисунок 12 показывает, как задать процесс Маркова. Эта методика использует верхние индексы, чтобы индексировать весь столбец матрицы сразу. Чтобы создать верхний индекс, нажмите [Ctrl]6. Появится поле между угловыми скобками: .

Вот как записать уравнения из Рисунка 12:

  • Определите переходную матрицу A. Напечатайте A, нажмите клавишу двоеточия (:) и создайте 3×3 матрицу. Чтобы создать матрицу, выберите Матрицы из меню Математика.
  • Щёлкните справа от матрицы и напечатайте v. Затем нажмите [Ctrl]6. Напечатайте 0 в поле для верхнего индекса.
  • Завершите определение начального вектора. Нажмите клавишу двоеточия (:), затем выберите Матрицы из меню Математика. Укажите, что создаётся матрица с тремя строками и одним столбцом. Потом заполните ячейки матрицы.
  • Напечатайте k:1;8. Это задаст дискретный аргумент k, чтобы выполнить восемь вычислений.
  • Чтобы выразить k-тый вектор через (k-1)-ый, напечатайте v [Ctrl] 6 k. Затем напечатайте двоеточие (:) для символа определения. Завершите формулу, напечатав после символа определения: A*v[Ctrl] 6 k-1 .
  • Чтобы увидеть восьмой (последний) столбец матрицы, напечатайте v [Ctrl] 68=.
  • Чтобы увидеть все векторы как столбцы матрицы, напечатайте v=. Обратите внимание, что в изображении справа отображаются не все столбцы.

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

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

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

3.1.7. Допустимые имена переменных и функций

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

  • большие и маленькие буквы — Mathcad различает регистр: так, имена х и х определяют разные переменные. Кроме того, Mathcad различает и шрифт, например имена х и х воспринимаются как разные;
  • числа от 0 до 9;
  • символ бесконечности (клавиши + + );
  • штрих (клавиши + );
  • греческие буквы — они вставляются с помощью панели Greek (Греческие символы);
  • символ подчеркивания;
  • символ процента;
  • нижний индекс.

С осторожностью используйте нижний индекс в определении имен переменных и функций, не путая его с индексом векторной переменной. Чтобы ввести имя с нижним индексом, например, Kmax: введите букву «K», затем точку «.», после чего линии ввода опустятся чуть ниже, и только затем сам нижний индекс max.

Теперь рассмотрим ограничения на имена переменных и функций:

  • имя не может начинаться с цифры, символа подчеркивания, штриха или процента;
  • символ бесконечности должен быть только первым в имени;
  • все буквы в имени должны иметь один стиль и шрифт;
  • имена не могут совпадать с именами встроенных функций, констант и размерностей, например sin или TOL. Тем не менее, допускается их переопределение, но тогда одноименная встроенная функция больше не будет использоваться по первоначальному назначению;
  • Mathcad не различает имен переменных и функций: если сначала определить функцию f (х), а потом переменную f, то в оставшейся части документа будет утеря* доступ к функции f (x).

Имена, содержащие операторы и специальные символы

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

Во-первых, имя, составленное из любых символов и заключенное в квадратные скобки, Mathcad будет воспринимать корректно (рис. 3.5, сверху). Например, чтобы ввести имя [a+b]:

  • Нажмите клавиши + + — появится пара квадратных скобок с местозаполнигелем внутри.
  • Введите в местозаполяитель последовательность любых символов, например a+b.

Рис. 3.5. Специальные символы в именах переменных

Во-вторых, если Вас не устраивает наличие квадратных скобок в имени, то вставить в него специальные символы можно чуть более сложным способом. Например, для ввода имени a+b:

  • Введите первый символ (а), который должен быть допустимым для имен Mathcad.
  • Нажмите клавиши + + для перехода в специальный «текстовый» режим редактирования.
  • Введите последовательность любых символов (+).
  • Еще раз нажмите клавиши + + , чтобы вернуться в обычный режим редактирования. Теперь можно продолжать ввод допустимых символов в имя (b).

Результат этих действий показан в нижней строке рис. 3.5. Если требуется, чтобы имя начиналось со специального символа (средняя строка рис. 3.5), то необходимо выполнить все пункты 1—4, вводя в начале имени произвольный допустимый символ, а по завершении ввода просто стирая его.

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

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