Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л1_Л9_ Mathcad_4.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
11.7 Mб
Скачать

8.9 Применение блока решения для определения корней систем линейных и нелинейных уравнений в символьном виде

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

  1. Не задаются начальные приближения.

  2. Используется символьный знак равенства (см. примеры).

Пример. Решить систему уравнений

.

Результат проиллюстрировать графически

Функция 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

<оператор или программный блок (тело цикла)>

где a, b, c - первое, второе и конечное значения параметра цикла (как для переменной, принимающей значение из диапазона).

Параметр цикла может принимать как целые, так и дробные значения. Если шаг равен единице (или -1), второе значение параметра цикла может быть опущено.

Цикл с предусловием

while выражение В1

оператор или программный блок

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

Преждевременное завершение текущей итерации цикла

continue

Преждевременный выход из цикла

break

Оператор возврата

return выражение

Завершение программного блока и возврат значения выражения (переменной, вектора), записанного после ключевого слова return.

Обработка ошибок

выражение 1 on error выражение 2

Если при вычислении значения выражения 2 возникла ошибка, то вычисляется значение выражения 1.

Пример. Составить функцию для вычисления значения выражения .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]