Курс лекций для студентов специальности 140104 «Промышленная теплоэнергетика» москва 2010

Вид материалаКурс лекций

Содержание


8.12. Программирование метода наименьших квадратов (МНК)
Тема 9 Компьютерное моделирование и решение нелинейных уравнений
Подобный материал:
1   ...   14   15   16   17   18   19   20   21   22
^



8.12. Программирование метода наименьших квадратов (МНК)


Изменим индексацию в системе (8.12). В результате получим:



(8.13)

где

- неизвестные системы линейных уравнений (8.13),

- коэффициенты системы линейных уравнений (8.13);

- свободные члены системы линейных уравнений (8.13);

(xi, yi) - координаты узловых точек табличной функции, ;

N - количество узловых точек;

m - степень аппроксимирующего многочлена вида:



(8.14)

Алгоритм задачи:
  1. Строим систему линейных уравнений (8.13). Определяем коэффициенты ck,j и свободные члены dk. Т.к. система (8.13) симметрична относительно главной диагонали, то достаточно определить только наддиагональные элементы системы.
  2. Решаем систему (8.13) методом Гаусса. Находим коэффициенты aj многочлена (8.14).
  3. Строим аппроксимирующий многочлен (8.14) и определяем его значение в каждой узловой точке Pi = Pm(xi).
  4. Находим уклонение каждой узловой точки .
  5. Находим сумму квадратов уклонений по всем узловым точкам .
  6. Находим остаточную дисперсию .

Для построения аппроксимирующего многочлена (8.11) и вычисления его значения в каждой узловой точке используем рациональную форму многочлена:



(8.15)

Тогда для вычисления значения многочлена (8.15) удобно пользоваться схемой Горнера. Рекуррентная формула по схеме Горнера имеет вид:



Укрупненная схема алгоритма МНК представлена на рис.8.7. Схемы алгоритмов основных блоков представлены на рисунках 8.8-8.10.



Рис. 8.7.  Укрупненная схема алгоритма аппроксимации методом наименьших квадратов


Обозначения в блоке 2:

m - степень аппроксимирующего многочлена,

N - количество узловых точек таблицы (11.2),

X, Y - массивы значений x и y таблицы (11.2).



Рис. 8.8.  Схема алгоритма блока 3. Определение коэффициентов системы (8.13)




Рис. 8.9.  Схема алгоритма блока 4. Определение свободных членов системы (8.13)



Рис. 8.10.  Схема алгоритма блока 6. Схема Горнера


Вопросы для самопроверки
  1. Дайте определение интерполяции и экстраполяции данных.
  2. Что такое интерполяционный многочлен?
  3. В чем заключается интерполяция по Лагранжу?
  4. В чем заключается интерполяция по Ньютону?
  5. Что такое разделенные разности?
  6. Что включает в себя сплайн-интерполяция?
  7. Каким образом происходит аппроксимация опытных данных?
  8. Что включает в себя сглаживание данных?



^

Тема 9

Компьютерное моделирование и решение нелинейных уравнений


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

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

Прямолинейное движение тела, движущегося под действием переменной силы ,где S=S(t), описывается дифференциальным уравнением второго порядка в форме уравнения Ньютона:

,

где:

m - масса тела,

S - перемещение тела,

-линейная скорость,

-линейное ускорение.

При этом задаваемые начальные условия





имеют четкий физический смысл. Это - начальное положение тела и его начальная скорость.

Вращательное движение тела под действием крутящего момента где , описывается аналогично



где:

Iр - полярный момент инерции тела,

-угол поворота,

- угловая скорость,

- угловое ускорение.

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

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

Нахождение определенного интеграла в процессе моделирования объектов процессов или систем может применяться в следующих задачах:
  1. Определение пути при переменной скорости:
  2. Нахождение скорости при переменном ускорении:
  3. Определение моментов инерции тел:
  4. Нахождение работы переменной силы:
  5. При решении дифференциальных уравнений.

Итак, дана функция y=f(x).

Найти интеграл этой функции на участке [a, b], т.е. найти



Если подынтегральная функция f(x) задана в аналитическом виде; если функция f(x) непрерывна на отрезке [a, b], если известна ее первообразная, т.е.



то интеграл может быть вычислен по формуле Ньютона-Лейбница как приращение первообразной на участке [a, b], т.е.



Но на практике формула Ньютона-Лейбница для вычисления интеграла используется редко. Численные методы интегрирования применяются в следующих случаях:

- подынтегральная функция f(x) задана таблично на участке [a, b];

- подынтегральная функция f(x) задана аналитически, но ее первообразная не выражается через элементарные функции;

- подынтегральная функция f(x) задана аналитически, имеет первообразную, но ее определение слишком сложно.

В численных методах интегрирования не используется нахождение первообразной. Основу алгоритма численных методов интегрирования составляет геометрический смысл определенного интеграла. Интеграл численно равен площади S криволинейной трапеции, расположенной под подынтегральной кривой f(x) на участке [a,b] (рис.9.1).



Рис. 9.1.  Геометрический смысл определенного интеграла


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

При вычислении интеграла подынтегральная функция f(x) аппроксимируется интерполяционным многочленом. На практике чтобы не иметь дело с многочленами высоких степеней, весь участок [a, b] делят на части и интерполяционные многочлены строят для каждой части деления.

Порядок вычисления интеграла численными методами следующий (рис.9.2):
  1. Весь участок [a,b] делим на n равных частей с шагом h=(b-a)/n.
  2. В каждой части деления подынтегральную функцию f(x) аппроксимируем интерполяционным многочленом. Степень многочлена n = 0,1,2…
  3. Для каждой части деления определяем площадь частичной криволинейной трапеции.
  4. Суммируем эти площади. Приближенное значение интеграла I равно сумме площадей частичных трапеций .



Рис. 9.2.  Вычисление определенного интеграла


Нахождение приближенного значения интеграла называется квадратурой, а формулы для приближенного вычисления интеграла - квадратурными формулами или квадратурными суммами.

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



Если в каждой из частей деления интервала [a,b] подынтегральная функция аппроксимируется многочленом нулевой степени, т.е. прямой, параллельной оси OX, то квадратурная формула называется формулой прямоугольников, а метод - методом прямоугольников.

Если в каждой из частей деления интервала [a,b] подынтегральная функция аппроксимируется многочленом первой степени, т.е. прямой, соединяющей две соседние узловые точки, то квадратурная формула называется формулой трапеций, а метод - методом трапеций.

Если в каждой из частей деления интервала [a,b] подынтегральная функция аппроксимируется многочленом второй степени, то квадратурная формула называется формулой Симпсона, а метод - методом Симпсона.