Министерство образования и науки Российской Федерации
Новосибирский Государственный Технический Университет
по предмету «ЧИСЛЕННЫЕ МЕТОДЫ» на тему:
Исследование метода дифференцирования по параметру для решения нелинейных САУ
Новосибирск
2004
ВВЕДЕНИЕ
1. ПОСТАНОВКА ЗАДАЧИ (МАТЕМАТИЧЕСКОЕ ОПИСАНИЕ МЕТОДОВ)
1.1 Обобщенный алгоритм решения нелинейных САУ
1.2 Метод дифференцирования по параметру
1.3 Явные методы Рунге-Кутта
1.4 Метод Ньютона
1.5 Дискретный метод Ньютона
2. ОПИСАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
2.1 Общие сведения
2.2 Функциональное назначение
2.3 Описание логической структуры
2.4 Используемые технические средства
2.5 Вызов и загрузка
2.6 Входные данные
2.7 Выходные данные
3. ОПИСАНИЕ ТЕСТОВЫХ ЗАДАЧ
4. АНАЛИЗ РЕЗУЛЬТАТОВ. ВЫВОДЫ
ЗАКЛЮЧЕНИЕ
Целью данной работы является исследование метода дифференцирования по параметру для решения нелинейных САУ. Для реализации данного исследования используется система MatLabVersion 5.1. Поставленными в начале работы задачами являются разработка программного обеспечения для решения нелинейных САУ методом дифференцирования по параметру, а также исследование влияние метода интегрирования на точность получаемого решения. Также в работе должны быть представлены графики переходных процессов для трех методов с различными начальными значениями вектора X0.
Экономический объект при определенных условиях описывается системой нелинейных алгебраических уравнений вида
0=F(X*,U*).
Если при этом входной сигнал U* известен, то для определения соответствующего значения Х* необходимо решить систему нелинейных АУ вида
F(X)=0.
Точно решить эту систему удается редко, поэтому решение находим в два этапа:
- определение приближенного значения;
- уточнение приближенного значения с помощью некоторого итерационного метода до некоторой заданной степени точности.
Часто значение Х0 бывает известно из каких-либо практических соображений, связанных со знанием ЭО. Для малых n значения вектора Х0 можно определить графически. Если метод решения обладает глобальной сходимостью, то Х0 может быть любым. Сосредоточим свое внимание на втором этапе (уточнение приближенного значения).
Численный метод, в котором производится последовательное, шаг за шагом, уточнение первоначального грубого приближения Х0 называется итерационным. Каждый шаг в этом методе называется итерацией. Если с каждым шагом получаемое значение Х все ближе к точному Х*, то метод сходится.
1.1 Обобщенный алгоритм решения нелинейных САУ
дифференцирование алгебраическое нелинейное уравнение
Большинство известных итерационных методов решения системы F(X)=0 можно записать одной общей формулой
Хm+1=G(Хm, Хm-1,…,Хm-p+1),
где G – вектор-функция размерности n , которая определяется способом построения итерационного процесса; р – количество предыдущих значений Х, используемых в данном итерационном процессе.
Если в итерационном процессе используется только одна предыдущая точка (р=1), то
Хm+1=G(Хm)
Метод дифференцирования по параметру относится к этому случаю.
Основные характеристики итерационных методов:
1. Сходимость итераций. Итерации сходятся, если
lim Хm=Х* при m→∞
Вектор-функция G(Х) называется изображением итерационного процесса. Спектральным радиусом квадратной матрицы А ρ(А) называется максимальный из модулей ее собственных значений. Предположим, что функция G(Х) определена и непрерывна вместе со своей первой производной
G/Х = δG/δХ
Теорема сходимости.
Если спектральный радиус матрицы G/Х ρ(G/Х)<1 и если векторы Хm+1=G(Хm) не выходят за области определения вектор - функций F и G, то процесс итераций Хm+1=G(Хm) сходится. При этом предельный вектор Х* = limХmпри m→∞ является единственной точкой притяжения итераций.
Эта теорема справедлива для любого начального приближения Х0 и поэтому относится к теоремам о глобальной сходимости.
Трудность применения теоремы о глобальной сходимости состоит в том, что надо определять величины ri, i=1,n на каждом m-шаге итерационного процесса. Это практически невозможно.
Поэтому нашли применение теоремы локальной сходимости. При этом предполагают, что точка Х0 лежит близко к Х*. Спектральный радиус матрицы G/Х вычисляется только в точке Х0: ρ(G/(Х0))<1.
2. Выбор величины начального приближения.
Выбор величины Х0 зависит от вида сходимости метода. Если метод имеет локальную сходимость, то Х0 должно быть близко к Х*, если глобальную, то Х0 - любой. Часто Х0 = 0.
3. Скорость сходимости итераций.
Скорость сходимости итераций оценивается по скорости уменьшения величины ошибки
Em = |Хm-Х*|
Если условия сходимости выполняются, то часто скорость можно оценить формулой
||Em+1|| = с ||Em||k , где k- целое число; с- константа.
Если k=1, то итерационный метод имеет линейную сходимость. При этом, если с≈1, то сходимость медленная (метод простой итерации).
Если k=2, то метод обладает квадратичной скоростью сходимости. Так как ||Em||<1, то ||Em||2 будет величиной второго порядка малости и поэтому скорость велика (метод Ньютона).
4. Критерий окончания итераций.
Расчеты по формуле Хm+1=G(Хm) не могут длиться бесконечно долго. Очевидно, что критерием окончания итерационного процесса могла бы служить величина Em, но нам неизвестно значение Х*. В связи с этим величину Em можно оценить косвенно.
Способ 1. Остановить процесс вычислений, когда ||F(Хm)|| ≤ εдоп заданной допустимой погрешности. Заметим, что lim ||F(Хm)||=0 при m→∞.
Способ 2. Остановить процесс вычислений, когда ||∆Хm|| < εдоп. ∆Хm= Хm+1 – Xm. Чем ближе к Х*, тем меньше величина ||∆Хm||.
Выбор способа зависит от характера поведения функций fi(Х) вблизи решения.
fifi
Eim
εдоп
Хi*XimXi* XimXi
εдоп
Рис. 1.1 Рис. 1.2
Из рис. 1.1 видно, что если заканчивать итерационный процесс по величине ||F||, то при этом можно оказаться довольно далеко от Хi* по Хim . На рис. 1.2 – наоборот, итерационный процесс заканчивается при малых значениях ||∆Хm||, что приводит к большим ошибкам по ||Fm||.
Способ 3. Чтобы избежать недостатков первых двух способов, контролируют обе нормы, а итерационный процесс заканчивают при том значении m, при котором
max{||∆Хm||, ||F(Хm)|| }< εдоп
Следует заметить, что при плохой обусловленности матрицы G/Х вблизи Х* возможны колебания значений норм. Тогда нужно применять специальные методы уменьшения этих колебаний.
Здесь алгебраическая задача сводится к задаче интегрирования системы ОДУ, которая формируется следующим образом. Рассмотрим функцию Н(Х, t) как функцию параметра tЄ[0,1], т.е. обозначим Ф(t)=Н(Х, t). Пусть Ф(t) непрерывно дифференцируема по t на интервале [0,1], тогда
Ф/(t)=( δH/δХ)·X/(t)+ δH/δt.
Функция H(Х, t) удовлетворяет тем же требованиям, что и в методе продолжения решения по параметру. Следовательно, функция Х(t) удовлетворяет уравнению H(Х, t)=0, откуда получаем Ф/(t)=0. Значит, из последнего соотношения имеем систему ОДУ вида
X/(t)= - ( δH/δХ)-1 ·δH/δt.
Система ОДУ решается при начальных условиях t=0, X(0)=X0. Время меняется от 0 до 1. При t=1 получим решение системы F(X)=0 - вектор Х* с точностью, зависящей от точности метода интегрирования системы. Если Н(Х,t)= F(X) + (t - 1) · F(X0) , то получим систему ОДУ
X(t)=-J-1(Х(t))•F(X0),
которая является нелинейной по Х.
Данная система решается явными методами Рунге – Кутта, а затем полученное приближенное значение уточняется дискретным методом Ньютона за несколько итераций.
Свойства методов Рунге-Кутта:
1. Методы являются одношаговыми; чтобы найти Xm+1 , нужна информация только о предыдущей точке Xm, tт.
2. Они согласуются с рядом Тейлора вплоть до членов порядка hs, где степень S различна для различных методов и называется порядком метода.