
- •1.2 Структура документа Mathcad
- •1.3 Создание и редактирование документа Mathcad
- •2.1 Правила формирования идентификаторов
- •2.2 Управление режимом вычислений в Mathcad
- •2.3 Оператор присваивания. Локальные и глобальные переменные
- •2.4 Ввод и редактирование формул
- •2.5 Переменные, принимающие значения из заданного промежутка (ранжированные переменные)
- •2.6 Определение функций
- •Лекция 3
- •3.2 Ввод матриц
- •3.3. Панель инструментов Matrix. Действия над матрицами
- •4.2 Построение графиков в декартовой системе координат
- •4.3 Построение графиков в полярной системе координат
- •4.4 Трассировка двумерных графиков
- •4.5 Изменение масштаба изображения
- •4.6 Построение графиков функций двух переменных
- •4.7 Анимация
- •6.3 Вычисление определенного и неопределенного интеграла
- •6.4 Вычисление пределов
- •6.5 Вычисление суммы, произведения
- •7.1 Особенности выполнения символьных преобразований
- •7.2 Обзор символьных преобразований, выполняемых с помощью команд меню Symbolics
- •7.3 Панель инструментов Symbolic
- •7.4 Выполнение символьных преобразований
- •8.2 Решение алгебраических, трансцендентных уравнений с использованием команды Solve подменю Variable меню Symbolics
- •8.3 Решение неравенств
- •8.4 Применение функции root
- •8.5 Применение функции polyroots для определения корней полинома n-ной степени.
- •8.6 Использование функции lsolve для решения систем линейных уравнений
- •8.7 Использование директивы символьных преобразований solve для решения систем линейных и нелинейных уравнений
- •8.8 Применение блока решения систем линейных и нелинейных уравнений Given - Find (minerr) ( численное решение)
- •8.9 Применение блока решения для определения корней систем линейных и нелинейных уравнений в символьном виде
- •9.3 Примеры
- •Приложение а Перечень сообщений Mathcad об ошибках
- •Содержание
- •Список литературы
8.9 Применение блока решения для определения корней систем линейных и нелинейных уравнений в символьном виде
При использовании блока решения для определения корней систем уравнений в символьном виде в отличие от численного решения:
|
|
|
|
Пример. Решить систему уравнений
Результат проиллюстрировать графически Функция find (minerr) возвращает корни в виде матрицы, каждый столбец которой –решение системы. Значения переменных располагаются в столбце в порядке следования аргументов при вызове функции find или minerr. Матрица корней, формируемая директивой solve представляет собой транспонированную матрицу корней, возвращаемую функциями find и minerr. |
|
Чем отличаются функции find и minerr?
Функция find применяется для численного решения систем уравнений в случае, когда решение существует. Если точное решение отсутствует, то при попытке применения этой функции выдается сообщение об ошибке.
Функция minerr применяется для максимального приближения даже к несуществующему решению путем минимизации среднеквадратичной погрешности решения.
Примеры:
|
|
|
|
Для перевода строки при вводе выражений, содержащих большое количество слагаемых, следует выделить следом курсора введенную часть выражения, затем нажать Ctrl+Enter. В результате в конце предыдущей строки появляется многоточие, а на следующей строке появляется продолжение со знаком плюс:
ЛЕКЦИЯ 9
ПРОГРАММИРОВАНИЕ В MATHCAD
9.1 Программный блок
Mathcad позволяет создавать программные блоки и использовать такие программные блоки при определении функций.
Программным блоком называется группа операторов, объединенная вертикальной чертой:
Каждый оператор в программном блоке располагается в отдельной строке.
Для формирования программного блока и ввода операторов служит панель инструментов Programming (рис. 9.1).
Рисунок 9.1 – Панель инструментов Programming
Кнопка
Add
Line
предназначена для добавления строки
программного блока. Операция присваивания
вводится с помощью кнопки
.
Программный блок можно использовать для:
- выполнения расчетов |
|
- присваивания значений переменным и матрицам |
|
- в качестве определяющего выражения при определении функций пользователя |
|
Программный блок возвращает значение переменной, выражения или матрицы, записанные в последней строке программного блока; значение переменной, которой в последней строке программного блока присвоено значение, например:
Программный блок может возвращать вектор или матрицу, содержащие вложенные массивы (вложенный массив – массив, являющийся элементом другого массива). В примере функция возвращает вектор, первым элементом которого является сформированная единичная матрица, а вторым – ее порядок:
Для вывода на экран вложенных массивов в диалоговом окне Result Format (вкладка Display Options), которое вызывается командой Result меню Format, необходимо установить опцию Expand nested arrays. В этом случае результат предыдущего примера примет вид:
.
Все переменные документа Mathcad (как локальные, так и глобальные) по отношению к программному блоку являются глобальными, т.е. их можно использовать в программном блоке. Например:
Переменные, которым присвоено значение в программном блоке, являются локальными переменными этого блока, вне него они не определены. Если в программном блоке используется локальная переменная с тем же именем, что и глобальная, локальная переменная «скрывает» глобальную. Например:
.
В программном блоке можно использовать:
операторы дифференцирования, интегрирования, вычисления сумм, произведений;
операторы определения пределов (в этом случае используется символьный знак равенства);
директивы символьных преобразований (как и при вычислении пределов, при вызове такой функции должен использоваться символьный знак равенства):
.
Функции могут вызывать самих себя (рекурсия) или другие функции.
9.2 Операторы панели инструментов Programming
Условный оператор
<оператор 1> if < (выражение В1)> <оператор 2>
|
|
if <(выражение В1)> <программный блок 1> <оператор 2>
|
|
Оператор 1 (программный блок 1) выполняется только в том случае, если выражение В1 принимает ненулевое значение (истина).
Ветвь «нет» условного оператора
<оператор 3> otherwise |
|
otherwise <программный блок 3> |
|
Оператор должен следовать за оператором if . Если условие, записанное в предыдущем операторе if ложно (выражение В1 принимает нулевое значение), выполняется оператор 1 (или программный блок 1).
Пример. Составить функцию для расчета y при любом значении x
|
|
Цикл с параметром
for
<имя
переменной-параметра цикла>
<оператор или программный блок (тело цикла)>
где a, b, c - первое, второе и конечное значения параметра цикла (как для переменной, принимающей значение из диапазона). |
|
Параметр цикла может принимать как целые, так и дробные значения. Если шаг равен единице (или -1), второе значение параметра цикла может быть опущено.
Цикл с предусловием
while выражение В1 оператор или программный блок |
|
Оператор или операторы, составляющие программный блок, выполняются, пока выражение В1 принимает ненулевое значение.
Преждевременное завершение текущей итерации цикла
continue |
|
Преждевременный выход из цикла
break |
|
Оператор возврата
return выражение |
|
Завершение программного блока и возврат значения выражения (переменной, вектора), записанного после ключевого слова return.
Обработка ошибок
выражение 1 on error выражение 2
|
|
Если при вычислении значения выражения 2 возникла ошибка, то вычисляется значение выражения 1.
Пример.
Составить функцию для вычисления
значения выражения
|
|