Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

Примечания:

Вариант задания в таблице вариантов 2.1 к лабораторной работе №2. Массив данных А(4х4) соответствующий номеру заданному преподавателем необходимо преобразовать в строку Y(1х8).

IV. Выполнение работы.

Выполнить вариант задания одним из выше приведенных примеров решения задачи методом interp cspline.

V. Ход работы.

7. Ознакомиться с данной инструкцией. Наберите выше приведенные фрагменты программ, ( как шаблоны для дальнейших работ), в среде Mathcad.

8. Сохраните набранный код программы в отдельной папке в корневом каталоге или в папке «Мои документы» под названием включающем Вашу фамилию (например: Калоев HTML).

9. Запустите полученный файл двумя кликами (или одним, в зависимости от настройки компьютера) мышки.

10. Запуститься программа Mathcad и в открывшемся окне Вы увидите набранный Вами код примера.

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

12. Оформить лабораторную работу в письменном виде (преподавателю лабораторная работа сдается в электронном и в письменном виде).

VI. Содержание отчета

Отчет к лабораторной работе должен включать следующие разделы:

· Исходное задание - математическая постановка задачи;

· блок-схему алгоритма;

· результаты вычислений задания в среде Mathcad в электронном виде и письменном виде;

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

· Привести абсолютную и относительную ошибки!

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

1. Какие приемы вы применили в выше приведенном фрагменте?

2. Почему в Mathcad нельзя получить «прямое» написание аналитических формул по табличным данным?

3. В каком порядке располагаются выражения при написании программы вычислений?

4. Как изменить порядок вывода вида графика в Mathcad?

VIII. Задачи для самостоятельного решения.

Предлагается самостоятельно изменить параметр n – степень полинома, чтобы посмотреть, как изменяется решение.

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

Увеличьте размер строки Y(1х8) задания, значениями вектора , добавив их в произвольном порядке. Как влияет порядок дописанных значений на решение?

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.

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

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

2. Приближенное решение уравнений и систем уравнений.

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


Обращение к функции Мinегг аналогично обращению к функции Find, только функция Find дает точное решение, а Minerr — приближенное. Функция Minerr задействует тот же вычислительный алгоритм, что и функция Find.
Так же как и в случае функции Find, метод вычислений можно выбрать в контекст-
ном меню. Используется функция Minerr аналогично функции Find. Если точное
решение существует, то функция Minerr в вычислительном блоке Given позволяет
найти его так же, как функция Find. Если точного решения нет, то функция Find
указывает на ошибку, а Minerr находит минимум невязки, то есть возвращает зна-
чение аргумента, соответствующее минимальному расхождению между заданным
аначением у и функцией у(х).

На рисунке 4.6 показано определение координат точек пересечения прямой ли-
нии с эллипсом. Точек пересечения две. Одна точка найдена на рисунке. Найдите
вторую точку пересечения, взяв другое начальное приближение.

Для уравнения прямой х+у=17, которая пересекается с эллипсом, обе функций
Find и Minerr дают одинаковые результаты. Для уравнения прямой х + у = 20, которая не пересекается с эллипсом, функция Find выдает ошибку, а функция Minerr
выдает координаты точки эллипса, наиболее близкой к прямой линии (рис. 4.6.)
Функцию Minerr удобно использовать для нахождения экстремумов функции.

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

3. Исследование функции на экстремум.

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

 

Сравнение функций Find и Miner
эллипс -
прямая -
начальное приближение -
Кривые пересекаются - решение есть
Кривые не пересекаются, поэтому функция Find не может найти решение
Кривые не пересекаются, но функция Minerr находит решение в виде невязки

 

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

 

необходимо вычислить все локальные экстремумы и выбрать из них наибольший (наименьший).
Отметим три пути поиска экстремума.

· Для непрерывной функции можно использовать равенство нулю производной от функции (рис. 4.7.).

· Для ступенчатой функции или функции с переломами можно использовать функцию Minerr (рис. 4.8.). Для этого по графику выбирается число, заведомо боль
шее (или меньшее) экстремального значения функции, и записывается в качестве ограничения в блоке Given.

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

· Для непрерывных функций удобно использовать функции Maximize и Minimize (они вводятся аналогично функции Find).

Рис. 4.7. Нахождение экстремумов функции путем приравнивания производной нулю

Ключевое слово Given обычно можно опустить (рис. 4.8.), оно необходимо лишь при наличии ограничений.

Нахождение экстремумов функции нескольких переменных аналогично исследованию функции одной переменной. На примере функции двух переменных покажем
влияние ограничений на поиск экстремумов (рис. 4.8 и 4.9). Функции Minimize и
Maximize способны вычислить минимум и максимум соответственно как с ограничениями, так и без них. Результаты решения в значительной степени зависят от
выбранных начальных приближений и далеко не всегда соответствуют истине.

 


Рис. 4.8. Использование функций MINIMIZE и MAXIMIZE.

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

Рис. 4.9. Нахождение экстремума функции двух переменных без ограничений и с ограничениями.

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

Замечание: вид решения системы во многом зависит от того какое уравнение записано первым в системе.

4. Рекурсивные вычисления.

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

Рис. 4.10. Рекурсивные вычисление квадратного корня из числа А.

 

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

Рис. 4.17. Рекурсивное вычисление корня квадратного из числа А.

Метка идентифицирует на графике точку точного вычисления корня. Для на
несения такой метки на график двойным щелчком мыши на графике откройте окно
форматирования графика, перейдите на вкладку Х-Y Axes (Оси Х и Y), установите
флажок Show Markers (Показывать маркеры) и в одном из появившихся мест ввода
впишите , оставив второе место ввода пустым.

Рис.4.11. Рекурсивные вычисления в модели торговой точки.

 

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

На рисунке 4.11 описана модель работы торговой точки.

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


Поделиться:



Последнее изменение этой страницы: 2017-03-15; Просмотров: 273; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.058 с.)
Главная | Случайная страница | Обратная связь