Преобразования с использование меню Symbolic

Команды из меню Symbolic(Символы) обеспечивают несколько более широкое управление видами преобразований, чем использование символьного знака равенства.

Основные шаги для использования меню Symbolic(Символы) - те же самые, что и для всех команд меню:

§ заключите все, что требуется преобразовать в выделяющую рамку;

§ выберите команду из меню Symbolic(Символы);

§ MathCad поместит преобразованное выражение в рабочий документ.

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

Ниже в этом разделе будут рассмотрены основные команды меню Символы.

Evaluate/Symbolically(Расчеты/Символические) - вычислить символьно.

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

Simplify(Упростить) - упростить выражение.

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

На рисунке 7.4 показаны примеры использования этого пункта меню.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 7.4 - Примеры использования пункта меню Simplify.

Expand(Расширить) - разложить выражение по степеням.

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

Так, например, cos(5 x) после разложения по степеням дает

16 cos (x)5- 20 cos (x)3+ 5 cos(x).

Factor(Фактор)-разложить выражение на множители.

Если выражение представляет целое число, MathCad разложит его на множители по степеням простых чисел, в остальных случаях будет сделана попытка преобразовать выражение в произведение. Так, в результате применения этого действия к числу 3546738466 будет получен ответ 22· 32 ·7·13· 509· 709, разложение на множители выражения

(-5·x·z·y + 2·x·z2 - x2·y - 2·x2·z + 3·y2·z + 6·y ·z2 - 3·x·y)

дает

(x + 3·y)·(2·z + y)·(z - x).

При выборе этой команды нужно стараться выделить такую часть выражения, разложение на множители которой дает заметный результат. Так, если выделить все выражение a· b + a· c + x, то MathCad вернет это выражение неизмененным, но если выбрать только первые два члена, то будет возвращено a·(b + c) + x .

Collect(Подобные)-приведение подобных членов.

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

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

x2 - a·y·x2 + 2·y2·x-x

и выбрать командуCollect, то в результате получим

(1 - a·y) ·x2+ (2·y2 -1) ·x.

Polinomial Coefficients(Коэффициенты полинома)-коэффициенты полинома.

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

3× b× x3 - p× x + 2/3

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

Преобразования с использование меню Symbolic - student2.ru

Следующая группа команд, объединенная общим заголовком Variable(Переменные) требуетуказания (выделения) переменной, по которой выполняется соответствующее действие.

Variable/Solve(Переменные/Вычислить)–решить относительно переменной.

Чтобы решить уравнение относительно переменной, нужно:

§ напечатать уравнение или выражение. Если MathCad не находит знака равенства (введено выражение), то предполагается, что выражение требуется приравнять нулю. Не забудьте, что знак равенства вводится комбинацией “Ctrl/=“;

§ выделить переменную, относительно которой нужно решить уравнение;

§ выбрать команду Variable/Solve.

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

Можно также решить неравенство, использующее знаки >, ≥, <, ≤. Решения для неравенств отображаются в виде булевских выражений. Несколько решений также помещаются в вектор.

На рисунке 7.5 показаны примеры решения уравнений и неравенств.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 7.5 - Примеры решения уравнений и неравенств

Variable/Substitute(Переменные/Замена) –замена переменных.

Эта команда заменяет выделенным выражением заданную переменную.

Чтобы использовать эту команду:

§ выделите выражение, которое будет заменять переменную;

§ скопируйте его в буфер обмена;

§ выделите переменную, которую нужно заменить, и выполните рассматриваемую команду.

Так, например, если в буфер обмена помещено выражение x + 3· a, а в выражении z 2 + 2/z выделена переменная z, то в результате действия команды получится: Преобразования с использование меню Symbolic - student2.ru .

Variable/ Differentiate(Переменные/Дифференциалы)–дифференцировать по переменной.

Данная команда позволяет найти производную по выделенной переменной. Например, чтобы продифференцировать 2× x 2 по x, нужно выделить x и выбрать из меню рассматриваемую команду, после чего MathCad отобразит результат 4× x.

Если выделить переменную y вместо x, то результат будет 1, MathCad рассматривает все переменные, кроме выделенной, как константы.

Если не выделить ни x, ни y, команда меню будет недоступна для выбора.

Variable/Integrate(Переменные/Интеграция) – интегрировать по переменной.

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

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

На рисунке 7.6 показан пример вычисления интегралов различными способами.

Если MathCad не может найти неопределенный интеграл, он возвращает выражение неизмененным.

При вычислении неопределенного интеграла следует помнить, что если f(x) - интеграл данной функции, то для любой константы С интегралом будет также f(x) + C.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 7.6 - Символьное вычисление интегралов

Variable/Expand to Series (Переменные/Разложить на составляющие) -разложить в ряд

По назначению эта команда аналогична действию символьного знака равенства совместно с ключевым словом Expand, но имеются следующие отличия:

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

§ команда применяется для разложения в ряд только по одной переменной;

§ разложение в ряд производится только в окрестности точки 0.

Convert to Partial Fraction(Переменные/Преобразовать в частичные доли) - разложить на элементарные дроби

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

Например, выделив переменную x в знаменателе выражения:

Преобразования с использование меню Symbolic - student2.ru

и выполнив команду , получим ответ

Преобразования с использование меню Symbolic - student2.ru .

Matrix(Матрицы)- матричные операции

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

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

Примеры выполнения матричных операций приведен на рисунке 7.7

Преобразования с использование меню Symbolic - student2.ru

Рисунок 7.7 - Примеры выполнения матричных операций

ПРОГРАММИРОВАНИЕ

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

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

Создание программ

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

Алгоритмические конструкции в MathCad вводятся не традиционным набором на клавиатуре ключевых слов if, then, else, while и др., а нажатием одной из кнопок панели программирования, показанной на рисунке 8.1.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.1 - Панель программирования MathCad

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

Следующий пример показывает, как написать программу вычисления функции Преобразования с использование меню Symbolic - student2.ru .

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

§ введите левую часть определения функции и знак присваивания; Преобразования с использование меню Symbolic - student2.ru
§ откройте панель программирования и нажмите на ней кнопку “Add Line”. Появится вертикальный столбец с двумя полями ввода для занесения операторов; Преобразования с использование меню Symbolic - student2.ru
§ перейдите в верхнее поле, щелкнув по нему мышью или нажав клавишу “Tab”. Напечатайте Z и нажмите кнопку ““ на панели программирования; Преобразования с использование меню Symbolic - student2.ru
§ в поле ввода справа от ““ введите x/y ; Преобразования с использование меню Symbolic - student2.ru
§ нижнее поле ввода предназначено для задания возвращаемого функцией значения log(Z); Преобразования с использование меню Symbolic - student2.ru

Символ ““ в MathCad соответствует оператору присваивания, а выражение Z x/y означает, что переменной Z нужно присвоить значение, равное x/y.

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

Программа может содержать любое числа операторов (второй пример рисунке 8.2). Для добавления оператора служит кнопка “Add Line” на панели программирования. Чтобы удалить позицию ввода, ее нужно выделить и нажать клавишу “Del”.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.2 - Примеры простейших программ MathCad

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

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

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

§ введите левую часть определения функции и знак присваивания; Преобразования с использование меню Symbolic - student2.ru
§ нажмите кнопку “Add Line” на панели программирования; Преобразования с использование меню Symbolic - student2.ru
§ перейдите в верхнее поле ввода и щелкните по кнопке “ if “ на панели программирования; Преобразования с использование меню Symbolic - student2.ru
§ сейчас активировано поле для ввода логического выражения. Левое поле предназначено для значения, которое будет иметь выражение, если логическое выражение справа истинно; Преобразования с использование меню Symbolic - student2.ru
§ перейдите в нижнее поле ввода и нажмите кнопку “otherwise” на панели программирования; Преобразования с использование меню Symbolic - student2.ru
§ введите значение, которое программа должна возвратить, если логическое выражение ложно. Преобразования с использование меню Symbolic - student2.ru

На рисунке 8.3 показан график этой функции, на рисунке 8.4 - более сложная программа, использующая условный оператор, в сравнении с использованием встроенной функции if.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.3 - Пример программы с использованием условного оператора

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.4 - Сравнение программного оператора “if” и встроенной функции “if”

8.3 Оператор цикла “while”

Структура оператора while в MathCad аналогична структуре такого же оператора Паскаля. Методика ввода операторов достаточно подробно рассмотрена в предыдущих разделах. Если программа зациклилась, то ее можно остановить нажатием клавиши “Esc”.

На рисунке 8.5 показан пример использования оператора “while”.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.5 - Пример использования оператора “while”

8.4 Операторы “break”, “return”

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

Иногда требуется немедленный выход не только из цикла, но и из всей программы. Для этого служит оператор “return”, который прерывает выполнение программы-функции и возвращает значение операнда, стоящего за ним. Следующий пример поясняет работу этого оператора. Например, программа на рисунке 8.5 будет зациклена, если каждый элемент вектора v меньше, чем t. В этом случае, записанное после “while” условие никогда не станет ложным и поиск выйдет за границы вектора, что приведет к сообщению о выходе индекса за допустимые пределы.

Программа на рисунке 8.6 возвратит ноль в том случае, если все элементы вектора vменьше заданного t. В противном случае она возвращает индекс и значение первого элемента, превосходящего t.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.6 - Пример использования оператора “return”

8.5 Оператор цикла “for”

Оператор цикла “for”, как и в Паскале, задает заранее определенное число повторений. Для создания цикла for:

§ щелкните по кнопке “for” на панели программирования; Преобразования с использование меню Symbolic - student2.ru
§ в поле слева от знака Î введите имя переменной цикла, а в поле справа - диапазон значений, в котором должна изменяться переменная цикла. Диапазон может вводиться точно так же, как и дискретный аргумент; Преобразования с использование меню Symbolic - student2.ru
§ в поле внизу введите оператор или группу операторов, представляющих тело цикла.  

В верхней части рисунка 8.7 показан цикл “for”, используемый для вычисления факториала числа N.

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

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.7 - Примеры использования оператора “for”

Примеры программ

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

§ один из операторов можно сделать, в свою очередь, программой;

§ можно определить функцию рекурсивным методом.

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

На рисунке 8.8 показан пример программы, реализующей метод Ньютона решения нелинейного уравнения, операторы которой сами являются программой, на рисунке 8.9 - программы с вложенными циклами.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.8 - Программа решения нелинейного уравнения методом Ньютона

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.9 - Программа нахождения простых чисел

Рекурсия является одним из мощных методов программирования и заключается в определении функции через саму себя, как это показано на рисунке 8.10.

Рекурсивные определения функции всегда состоят по меньшей мере из двух частей:

§ начального определения, предотвращающего бесконечную рекурсию;

§ определения функции в терминах предыдущего значения функции. Основная идея подобна идее математической функции: если можно получить значение f(n+1) из f(n) и известно f(0), то известна и вся функция f.

Преобразования с использование меню Symbolic - student2.ru

Рисунок 8.10 - Примеры рекурсивных определений функции

Наши рекомендации