- •Алгоритмы и методы вычислений
- •Содержание
- •Введение
- •1Лабораторная работа №1 основы и принципы работы с пакетом MathCad
- •1.1Основные приемы работы с пакетом мк
- •Работа с формульным редактором
- •Работа с клавиатурой
- •Особые комбинации клавиш
- •Работа с текстовым редактором
- •Работа с буфером обмена
- •Расположение блоков в документе
- •Работа со вставками – Insert
- •Работа с двумерными графиками
- •Основные типы трехмерных графиков
- •1.2Задание к выполнению работы
- •1.3Задание для самостоятельной работы
- •1.4Требования к отчету
- •2Лабораторная работа №2 приближенное решение алгебраических и дифференциальных уравнений
- •2.1Теоретические сведения
- •Функция поиска корня нелинейного уравнения – root
- •Директива Given для решения системы уравнений
- •Функции Find и Minerr для решения систем нелинейных уравнений
- •Решение дифференциальных уравнений
- •Метод Эйлера
- •Метод Рунге-Кутта
- •Функции решения дифференциальных уравнений
- •2.2Задание к выполнению работы
- •2.3Задание для самостоятельной работы
- •2.4Требования к отчету
- •3Лабораторная работа №3 статистический анализ экспериментальных данных
- •3.1Теоретические сведения
- •Анализ влияния факторов на исходный параметр
- •Статистическая обработка данных с помощью системы MathCad
- •Выполнение регрессии разного вида
- •3.2Задание к выполнению работы
- •3.3Задание для самостоятельной работы
- •3.4Варианты заданий
- •3.5Требования к отчету
- •4Лабораторная работа №4 поиск эестркмума функции при наличии ограничений
- •4.1Теоретические сведения
- •Метод множителей Лагранжа
- •Алгоритм метода поиска экстремумов целевой функции с заданными ограничениями
- •4.2Решение задач оптимизации средствами мк
- •Функции Maximize и Minimize
- •4.3Задание к выполнению работы
- •4.4Требования к отчету
- •5Лабораторная работа №5 графический метод решения задач линейного программирования
- •5.1Геометрическая интерпретация и графический метод решения задач линейного программирования
- •5.2Задание к выполнению работы
- •5.3Варианты заданий
- •5.4Требования к отчету
- •6Лабораторная работа №6 решения задач линейного программирования табличным симплекс-методом
- •6.1Теоретические сведения
- •Табличный симплекс-метод
- •Алгоритм табличного симплекс-метода
- •Условие вырожденности
- •Постановка, типы, свойства транспортных задач
- •Определение начального опорного плана
- •Алгоритм поиска оптимального плана задачи
- •6.2Задание к выполнению работы
- •6.3Задание для самостоятельной работы
- •6.4Варианты заданий
- •Табличный симплекс-метод
- •Транспортная задача
- •6.5Требования к отчету
- •Рекомендованная литература
Директива Given для решения системы уравнений
При решении систем линейных и нелинейных уравнений используется специальный вычислительный блок, открываемый служебным словом Given – и имеющий следующую структуру:
«Начальные условия»
Given
«Уравнения»
«Ограничительные условия»
«Выражения с функциями Find, Minerr, Maximize и Minimize»
Начальные условия определяют начальные значения искомых переменных. Они задаются обычным присваиванием переменным заданных значений.
Уравнения задаются в виде expr_left = expr_right с применением жирного знака равенства « = » между левой и правой частью каждого уравнения.
Ограничительные условия обычно задают в виде неравенств или равенств, которые должны удовлетворяться при вычислении системы уравнений.
Функции Find и Minerr для решения систем нелинейных уравнений
Команда Find(v1, v2, …, vn) = – возвращает значение одной или нескольких переменных для точного решения, а команда Minerr(v1, v2, …, vn) = – возвращает значение одной или нескольких переменных для приближенного решения.
Между этими функциями существуют принципиальные различия. Первая функция используется, когда решение реально существует (хотя и считается аналитическим). Вторая функция пытается найти максимальное приближение даже к несуществующему решению путем минимизации среднеквадратичной погрешности решения.
Функции Find и Minerr могут использоваться для решения одного или ряда уравнений. Следует помнить, что использование знака присваивания вместо знака символического (логического) равенства в блоке Given некорректно. Поэтому система реагирует на попытку решения сообщением об ошибке.
Так же можно решать и другие задачи. Например, поиск точек пересечения параболы и прямой. В данном случае с помощью функции Find решается система из двух уравнений (одно из них нелинейное) с ограничительными условиями, задающими область поиска корня (y<0 для отрицательного корня и y>0 для положительного корня).
При использовании функции Minerr для решения систем нелинейных уравнений надо проявлять осторожность и обязательно предусматривать проверку решений. Нередки случаи, когда решения могут оказаться ошибочными, чаще всего из-за того, что из нескольких корней система предлагает нереальный (или не представляющий интереса) корень. Поэтому необходимо как можно точнее указывать начальные приближения к решению.
Решение дифференциальных уравнений
Известно, что далеко не всегда удается найти решение дифференциального уравнения. Поэтому разработаны методы для их приближенного решения. Имеется большое количество таких методов. Здесь будут рассмотрены лишь некоторые из них.
Метод Эйлера
Найдем приближенно решение уравнения у' = f(х, у) в точках х1 = х0+h, хn = х0+nh при начальном условии :
y(х0) = y0,
где h – постоянный шаг.
Обозначим y(xk) = уk. Учитывая, что
,
заданное уравнение запишем так:
.
Отсюда
yk+1 = yk+hf(xk,yk).
Полагая в этой формуле k = 0,1,2,... находим последовательно величины у1,y2…
Рисунок 2.1 – Метод Эйлера
По этим данным построим ломаную Эйлера,·которая приближенно заменяет интегральную кривую, проходящую через точку M0(x0,y0) (рис. 2.1).
Геометрически метод Эйлера означает, что через точку M0(x0,y0) проводим не интегральную кривую, а касательную к ней, которую и принимаем приближенно за интегральную кривую на участке от x0 до x1=x0+h. После этого за исходную точку берем M1(x1,y1) и поступаем так же, как и до этого.
Метод Эйлера прост, но точность его невелика. Если интервал {х0, х}, где ищется решение, разбит на n частей h=(x-x0)/n, то погрешность при вычислении ординат имеет порядок 1/h. Это означает, что для повышения точности в 10 раз (получения одного дополнительного десятичного знака) требуется увеличить число точек деления в десять раз. Последнее значительно увеличит объем вычислений.
