![]() ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Лекция№10 Метод Рунге-Кутта. Алгоритм и оценка погрешностиМетод Рунге-Кутта позволяет строить схемы различного порядка точности. Эти схемы очень удобны для программирования. В настоящее время они являются наиболее употребительными в практических вычислениях. Рассмотрим метод Рунге-Кутта на примере задачи Коши для обыкновенного дифференциального уравнения первого порядка. Пусть дана задача (1)-(2). Требуется определить приближенные значения y в точке Определение 1. Пусть s – положительное целое число (число стадий или этапов) и
называется s-стадийным (s-этапным) явным методом Рунге-Кутта для задачи (19)-(20). Обычно коэффициенты ci удовлетворяют условиям Определение 2. Метод Рунге-Кутта (3) имеет порядок p, если для достаточно гладких задач (1)-(2) Вывод общих формул Рунге-Кутта требует довольно громоздких выкладок. Поэтому рассмотрим в качестве примера без вывода 4-стадийный метод, имеющий порядок p =4, называемый классическим методом Рунге-Кутта. Выберем шаг h и введем обозначения: Эффективная оценка погрешности метода Рунге-Кутта затруднительна. Если число p определено, то для грубой оценки погрешности метода можно использовать так называемый принцип Рунге или метод двойного счета. Пусть известно, что на каждом шаге допущена погрешность, приблизительно пропорциональная В таком случае, предполагая, что погрешность на каждом шаге одна и та же, приближенно получим
где Согласно Рунге, производим тем же методом вторичный пересчет искомого решения y с двойным шагом H=2h. Тогда в силу нашего предположения будет допущена погрешность
где Из формул (4) и (5) получаем
Отсюда находим неизвестную постоянную и, следовательно, Таким образом, приближенно можно положить
где Применив принцип Рунге для оценки погрешности классического метода Рунге-Кутта с p =4, получим
Поэтому для определения правильности выбора шага h на практике обычно на каждом этапе из двух шагов применяют двойной пересчет (принцип Рунге). А именно, исходя из текущего верного значения y(xi), вычисляют величину y(xi+2h) двумя способами: один раз с шагом h, а второй раз с двойным шагом 2 h. Если расхождение полученных значений не превышает допустимой погрешности, то шаг h для данного этапа выбран правильно. В противном случае шаг уменьшают в два раза и повторяют указанную процедуру для нового шага. Схемы Рунге-Кутта имеют ряд важных достоинств: 1) Все они имеют хорошую точность. 2) Они являются явными, т.е. значение yn +1 вычисляется по ранее найденным значениям за определенное число действий по определенным формулам. 3) Все схемы допускают расчет с переменным шагом; значит, нетрудно уменьшить шаг там, где функция быстро меняется, и увеличить его в обратном случае. 4) Для начала расчета достаточно выбрать сетку Лекция№11 МНОГОШАГОВЫЕ СХЕМЫ. МЕТОДЫ АДАМСА.
1. Мы рассмотрели методы Рунге-Кутта для численного решения задачи Коши для обыкновенного дифференциального уравнения первого порядка:
Эти методы являются одношаговыми: при определении нового значения
где ak, bk – числовые коэффициенты, fn-k = f (xn-k, yn-k), a0 ≠ 0, bm ≠ 0. В частности, при m =1, b0 = 0, b1 = a0 = - a1 = 1 получаем схему Эйлера. Схема (3) называется явной (экстраполяционной), если b0 =0 и значения
Вычисления начинаются с n = m. Чтобы найти Если b0 ≠0, то схема (3) называется неявной (интерполяционной): для нахождения
Это нелинейное уравнение можно решать, например, методом Ньютона. Погрешность аппроксимации схемы (3) на решении
Говорят, что схема (3) имеет s -й порядок аппроксимации (или просто, что схема (3) имеет s -й порядок), если
Коэффициенты ak, bk подбирают, исходя из соображений аппроксимации и устойчивости. Без нарушения общности можно считать, что
т.к. коэффициенты уравнения (3) определяются с точностью до множителя. Разлагая ψn по степеням h и требуя, чтобы невязка имела заданный порядок, получаем условия для определения ak, bk. Так как u =1 есть решение уравнения (1) при f =0, из (3) следует, что
Обычно для построения схем (3) применяют другие приемы, использующие интерполяционные и квадратурные формулы. Так, интегрируя дифференциальное уравнение (1) по x в пределах от
Чтобы получить отсюда разностную схему, можно использовать для вычисления интеграла какую-либо квадратурную формулу. 2. Методы Адамса. Каждая квадратурная формула порождает соответствующий метод численного решения обыкновенного дифференциального уравнения (1). Заменим в тождестве
которое получается из тождества (9) при n 0=1, интеграл квадратурной формулой
Учитывая (10) и (11), можно записать разностную схему Адамса
Она может быть получена из (3), если положить a 0=1, a 1=-1, a 2=…= am =0. Квадратурная формула (11), на основе которой построена схема Адамса, содержит узлы сеток, не принадлежащие отрезку интегрирования При таком построении схемы погрешность ее аппроксимации совпадает с погрешностью квадратурной формулы. В самом деле, невязка для схемы (12)
Подставляя сюда выражение (10), получаем формулу для невязки
3. Явные и неявные схемы. Если b 0≠0, то схема (12) является явной и
Простейшим примером явной одношаговой схемы Адамса является схема Эйлера
Если положить в (12) m =1, b 0=1, b 1=0, то получим неявную одношаговую схему Адамса:
При m =1, b 0= b 1=1/2 получаем неявную симметричную одношаговую схему, имеющую второй порядок аппроксимации:
Для определения значения y n надо решать при каждом n нелинейное уравнение вида Рассмотрим теперь двухшаговые схемы Адамса, соответствующие m =2. Явная двухшаговая схема имеет вид
Здесь m=2, b0=0, b1=3/2, b2=-1/2. Эта схема имеет второй порядок аппроксимации
Напишем двухшаговую неявную схему Адамса. Требуя, чтобы квадратурная формула (10) была точна для полиномов степени 0, 1, 2, находим коэффициенты b0=5/12, b1=8/12,
4. Общие замечания. При выборе того или иного численного метода учитывается много обстоятельств, таких как объем вычислений, требуемый объем оперативной памяти ЭВМ, порядок точности, устойчивость по отношению к погрешностям округления и др. Мы рассматривали всюду методы с постоянным шагом h = xn +1- xn. Переход к переменному шагу hn+1 = xn +1- xn носит формальный характер и для одношаговых схем не приводит к каким-либо новым принципиальным вопросам. Для многошаговых схем (m ≥2) формулы меняются. В общем случае решение может быть сильно меняющейся немонотонной функцией. Естественно пользоваться неравномерной сеткой и уменьшать шаг (сгущать сетку) в области быстрого изменения функции u (x), чтобы обеспечить более точное приближение u (x) сеточным решением. Однако поведение решения заранее неизвестно. Поэтому на практике поступают так. Проводят сначала расчет на равномерной сетке; если видно, что на некотором интервале x*<x<x* решение сильно меняется, то на этом интервале сетка сгущается, и проводится новый расчет на неравномерной сетке. Вообще рекомендуется проводить расчеты на нескольких сгущающихся сетках. Если при сгущении сетки решение меняется мало, то нужная точность достигнута. В ходе расчета может оказаться необходимым использовать схемы разного порядка точности в разных областях изменения аргумента. Методы Адамса являются менее трудоемкими по сравнению с методами Рунге-Кутта. Недостатком методов Адамса является начало вычислений: для определения
Л12 Общий метод определения параметров функциональной зависимости..
До сих пор мы рассматривали аппроксимирующие функции, линейно зависящие от параметров, и для этого частного случая давались эффективные методы определения параметров. Рассмотрим общий метод определения параметров функциональной зависимости, не предполагая ее линейности относительно параметров. Пусть для совокупности упорядоченных значений (xi, yi), i =1,2,…, n построена функциональная зависимость содержащая m параметров (m < n), причем функция должны быть как можно меньше по абсолютной величине. Если бы исходные данные не содержали ошибок и зависимость
Заметим, что система (2) является переопределенной. Однако на практике, ввиду отсутствия указанных обстоятельств, система (2) обычно является несовместной, т.е. значения Для приближенного решения системы (2) поступают следующим образом: каким–либо способом (например, графически или путем решения выбранных m уравнений системы (2)) находят грубые значения параметров Пусть где αi – поправки, считающиеся малыми, и
Для сокращения записи введем обозначения
Тогда равенства (4) перепишутся в виде
Система (5) линейна относительно неизвестных αi и является, вообще говоря, несовместной, т.к. число уравнений в ней больше числа неизвестных. Уравнения системы (5) называются условными, а сама система – системой условных уравнений. Система условных уравнений может быть решена в известном смысле, например, методом наименьших квадратов. Подставляя в нелинейную систему (2) найденные значения Л13 Среднеквадратичное приближение фун кций.
Интерполяция позволяет легко аппроксимировать функцию y(x). Однако точность такой аппроксимации гарантирована лишь в небольшом интервале порядка нескольких шагов сетки. Для другого интервала приходится заново вычислять коэффициенты интерполяционной формулы. На практике же всегда желательно иметь единую приближенную функцию Пусть заданы функция y(x) и множество функций φ(x), принадлежащие линейному нормированному пространству функций. Можно поставить две задачи. 1. Аппроксимация с заданной точностью: по заданному ε найти такую φ(x), чтобы выполнялось неравенство 2. Нахождение наилучшего приближения, т.е. функции
Существует ли наилучшее приближение и единственно ли оно (для данных функций и множества)? Оказывается, что ответ на этот вопрос утвердителен не при любом выборе пространства и множества. Но в любом линейном нормированном пространстве наилучшее приближение
где Рассмотрим гильбертово пространство
Выберем в качестве аппроксимирующей функции линейную комбинацию (2). Подставляя ее в условие наилучшего приближения (1), получим Приравнивая нулю производные по коэффициентам, получим систему линейных уравнений
Ее определитель есть определитель Грамма функций φ k (x); поскольку функции линейно независимы, он отличен от нуля. Следовательно, наилучшее среднеквадратичное приближение существует и единственно. Для его нахождения необходимо решить систему линейных алгебраических уравнений (3). Линейно-независимую систему функций можно ортогонализировать. Пусть φ k (x) уже образуют ортонормированную систему, т.е. Это коэффициенты Фурье, так что наилучшее приближение есть отрезок обобщенного ряда Фурье. Если функции φ k (x) образуют полную ортонормированную систему, то в силу неравенства Парсеваля Значит, при n →∞ норма погрешности бесконечно убывает, т.е. наилучшее приближение среднеквадратично сходится к y (x), и возможна аппроксимация с любой точностью. Отметим, что если φ k (x) не ортогональны, то при n →∞ определитель Грама обычно быстро стремится к нулю, система (3) становится плохо обусловленной, т.е. ее решение связано с большой потерей точности, и больше 5 - 6 членов брать нецелесообразно. Для среднеквадратичной аппроксимации удобнее в качестве φ k (x) брать многочлены, ортогональные с заданным весом. Наиболее употребительны среди них многочлены Якоби (частным случаем которых являются многочлены Лежандра и Чебышева), Лагерра и Эрмита. Для аппроксимации периодических функций используют тригонометрический ряд, он соответствует ρ(x)=1. Все указанные системы функций полные, так что наилучшие приближения по ним сре-днеквадратично сходятся при n →∞, если y (x) интегрируема с квадратом с заданным весом. Метод наименьших квадратов. Если вещественные функции определены таблично, т.е. на конечном множестве точек x 1, x 2,…, xn, то их скалярное произведение можно определить формулой
Здесь φ – функция среднеквадратичного приближения. Обозначим Используя необходимое условие экстремума функции, имеем или
Этот способ нахождения аппроксимирующей функции называется способом наименьших квадратов. Метод наименьших квадратов широко используют для обработки экспериментальных кривых, точки которых получены в результате измерения с заметной погрешностью ε. В этом случае весу ρ i придают смысл точности измерения в данной точке: чем выше точность, тем большее значение веса приписывают данному значению (например, ρi =ε-2). Аппроксимирующая кривая будет проходить ближе к точкам с большим весом. Если число коэффициентов аппроксимации m взять равным n, то среднеквадратичная аппроксимация совпадет с лагранжевой аппроксимацией. Очевидно, что при наличии значительных ошибок эксперимента интерполяция неразумна. Так как при m ≈ n среднеквадратичная аппроксимация близка к интерполяции, то хорошее сглаживание ошибок эксперимента будет при m < n, но если m слишком мало, то для описания сложной кривой коэффициентов может не хватить. Должно существовать какое-то оптимальное значение m, оно зависит от заданной функции y (x), числа узлов n, их расположения и выбранной системы φк(x). Оптимальное число коэффициентов определяют следующим образом. Выбирают некоторое m, находят коэффициенты ak, 1≤ k ≤ m, вычисляют полученное при этом среднеквадратичное уклонение по формуле и сравнивают его с известной погрешностью эксперимента. Если δm>> ε, то число коэффициентов недостаточно для приближения y (x) и надо увеличить m. Если δm << ε, то старшие коэффициенты физически недостоверны и надо уменьшить m. Если δ m ≈ ε, то m оптимально. Если при этом m << n, то вид аппроксимирующей функции выбран удачно. Если же m опт≈ n, то следует поискать более подходящий вид аппроксимирующей функции.
Частные случаи. 1. Полиномиальная аппроксимация.
Аппроксимирующий полином имеет вид:
Система уравнений относительно искомых коэффициентов ak, 0≤ k ≤ m записывается в виде:
Определитель этой системы отличен от нуля, и полином наилучшего среднеквадратического приближения существует и единствен. Обычно m выбирают из диапазона от двух до пяти. 2. При этом Эти формулы можно использовать и при больших m.
Не нашли, что искали? Воспользуйтесь поиском:
|