Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник лабораторных работ по Mathcad часть I.doc
Скачиваний:
29
Добавлен:
28.10.2018
Размер:
3.14 Mб
Скачать

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

Найти вид функции y = f(x) на заданном массиве Y средствами Mathcad. Сравнить результат с точным значением (с аналитическим решением матрицы методом наименьших квадратов), оценить абсолютную и относительную погрешности вычислений.

Таблица вариантов 3.1

Вариант задания в таблице 2.1. к лабораторной работе №2. Нужно преобразовать массив 4х4 в строчный массив 1х8.

Назад лабораторная работа № 4 «Вычисления в пакете Mathcad»

(Работа выполняется в компьютерном Классе)

Системные требования (минимальные).

80486 (66 МГЦ или быстрее) или Pentium

или IBM совместимый компьютер.

ОС Windows 98 или выше.

По крайней мере, 55 мегабайтов

дискового пространства для типичной

(заданной по умолчанию) инсталляции.

I. Цель работы:

- освоение математического процессора Mathcad;

- приобрести навыки вычислений в среде Mathcad.

II. Теоретическая часть.

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

Для решения систем уравнений надо использовать вычислительный блок (рис. 4.1.): 1. Задайте начальные приближения для всех переменных. 2. Введите ключевое слово Given. 3. Запишите систему уравнений. При записи уравнений знак равенства надо вводить не клавишей = (равно), а комбинацией клавиш Ctrl+=. Получаемый в результате жирный знак равенства = символизирует не присваивание значения, а оператор отношения.

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

Результат расчета — вектор решения системы. Вычислительный блок позволяет решать системы от 1 до 200 уравнений. Mathcad допускает использование двухсторонних неравенств типа

а ≤ х ≤ b. Операторы ≤ и ≥ выбираются с панели Boolean (Булевы операторы).

Решение, выданное функцией Find, желательно проверить, подставив в уравнения найденные корни, так как в зависимости от начального приближения Mathcad может вывести корни, не имеющие физического смысла. Так, на рис. 4.1. показана проверка решения системы трех уравнений путем подстановки корней в уравнения, построения графиков уравнений и определения корней как точек пересечения поверхностей. На графике видна точка пересечения трех поверхностей, координаты которой являются решением системы, обращающим все уравнения в тождества. Для построения графиков поверхностей в нужных пределах использована функция CreateMech, которая выводит массив значений функции для заданных значений аргументов. При обычном ускоренном построении графика поверхности значения аргументов выбираются Mathcad автоматически, что в нашем примере приводит к делению на нуль и невозможности создания графика. Пределы значений координат нужно изменить.

Рис. 4.1. Решение системы уравнений с помощью функции Find

Функция Find реализует несколько градиентных численных методов, для выбора которых нужно щелкнуть правой кнопкой мыши на названии функции Find и рас- крыть контекстное меню, как показано на рис. 4.3.

Рис. 4.2. Дополнительные опции контекстного меню функции Find.

Помимо команды Linear (Линейный метод), реализующей метод касательной, в контекстном меню имеется подменю Nonlinear (Нелинейный метод), позволяющее вы- брать один из трех нелинейных методов:

  • Conjugate Gradient (Метод сопряженных градиентов);

  • Levenberg-Marquart (Метод Левенберга);

  • Quasi-Newton (Квази-Ньютоновский метод).

Щелкнув на кнопке Advanced Options (Дополнительные параметры)

Рис 4.2., помимо выбора методов можно задать дополнительные параметры. Параметры оценки производной конечными разностями (Derivative Estimation):

  • Forward — правая двухточечная схема;

  • Central — трехточечная симметричная схема.

Параметры оценки переменной (Variable Estimation):

  • Tangent— касательная — прямая линия;

  • Quadratic — касательная — парабола.

Необходимость проверки линейности (Linear Variable Check):

  • Yes - проверять;

  • No - не проверять.

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

Рис. 4.3. Выбор метода решения системы уравнений

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

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

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

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

а и b - переменные параметры

начальные параметры

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

для графика

для таблицы

это корни х и у системы уравнений

для заданных значений а и b

Рис. 4.4. Решение системы уравнений с переменными параметрами

Примечания: Mathcad позволяет решать системы уравнений не только в скалярной, но и в матричной форме, при этом начальные условия и ограничения задаются в виде векторов (рис. 4.4. и рис.4.5., их можно копировать прямо в Mathcad). С помощью функции Find возможно также решение систем уравнений в символьном виде.

Рис. 4.5. Решение системы уравнений в матричном виде

Внимание: Блоки решения уравнений не могут быть вложенными друг в друга. Каждый блок может иметь только одно ключевое слово Given и одно имя функции Find. Внутри блока решения надо использовать не оператор присваивания (:= ), а оператор логического равенства = (жирный знак равно).

Общие рекомендации по решению уравнений

Не допускается присутствие между словами Given и Find:

  • других вычисляемых выражений;

  • дискретных переменных (х:= 0..20);

  • знака ≠ «не равно».

Ниже перечислены некоторые рекомендации, которым имеет смысл следовать, если Mathcad не может самостоятельно найти решение.

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

  • Если корни — мнимые числа, надо ввести начальные значения в мнимой форме.

  • Можно поискать другое начальное приближение.

  • Можно увеличить или уменьшить точность расчетов. Для этого в главном меню Mathcad выберите команду Math > Options > Built-In Variables (Математика > Параметры > Встроенные переменные) и уменьшите допустимую погрешность вычислений (Convergence Tolerance(TOL)). По умолчанию TOL = 0.001.

  • Можно изменить ограничения в блоке Given...Find или вместо функции Find использовать функцию Minerr.

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

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