Смекни!
smekni.com

Основы программирования (стр. 3 из 3)

В такой системе, по крайней мере, один из коэффициентов

отличен от нуля. Уравнения необходимо переставить таким образом, чтобы на месте первого уравнения было уравнение с максимальным отличным от нуля коэффициентом при Х=0. Далее вводится множитель
, на него умножается первое уравнение системы и вычитается из второго уравнения. При этом мы получим

Третье уравнение системы (1) умножим на коэффициент

и вычтем из второго уравнения первое уравнение, умноженное на этот коэффициент. В результате получим

Таким образом система уравнений (1) приводится к виду:


(2)

Для системы уравнений (2) введем множитель

, умножим на него второе уравнение системы (2) и вычтем из третьего уравнения. В результате третье уравнение системы (2) примет вид:

Тогда система уравнений (2) примет вид:

(3)

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

Обобщим метод на случай системы из n уравнений с n неизвестными.

На k-ом этапе мы исключаем из системы уравнений

с помощью множителей

, где i=k+1, k+2,…,n-1

J=k,k+1,…,n-1

Индекс k принимает значения k=0,1,…,n-2 включительно. При k=n-2 происходит исключение

из последнего уравнения и в результате получится треугольная система уравнений.


В представленной блок-схеме все множители, на которые нужно умножать уравнения, обозначаем буквой m, т. к. на каждом этапе требуется не более 1-го множителя.

k-номер уравнения, который вычитается из остальных, а также неизвестного, который исключается из остальных n-k уравнений

i-номер уравнения, из которого в данный момент исключается неизвестное, j-номер столбца

После приведения системы к ∆-му виду необходимо сделать обратный ход для нахождения неизвестных, значения которых будут вычисляться по формуле:

Где j-n-2, n-3,…,0

Начертим блок-схему для функции обратной подстановки


Начертим блок-схему для функции определения наибольшего коэффициента

и перестановки уравнений при необходимости.

Аппроксимация функций методом наименьших квадратов

Пусть в результате эксперимента получается следующая таблица значений:

x0 x1 xn-1
y0 y1 yn-1

Требуется найти аналитический вид функции, которая в точках x0, x1,…,xn-1 будет иметь значения достаточно близкие к y0, y1,…,yn-1.

Рассмотрим наиболее простой вид аппроксимации, т.е. замены таблицы значений аналитическим видом функции – аппроксимацию линейной функцией, т.е. будем находить функцию y=a0*x+a1, из которой в точках x0, x1,…,xn-1 значения будут близки к y0, y1,...,yn-1. В качестве критерия близости будем рассматривать квадратичный критерий качества

(1)

Необходимо найти коэффициенты a0 и a1, чтобы критерий качества стремился к минимуму. Как известно, необходимое условие минимума – равенство 0 первых производных функции по соответствующим переменным. Найдем производные критерия качества (1) по переменным a0 и a1

(2)

Разделим каждое из уравнений системы (2) на -2 и поставим неизвестные перед коэффициентами

(3)

Система (3) – система из двух линейных уравнений с двумя неизвестными. Будем решать его методом алгебраического сложения. Первое уравнение системы (3) умножим на n, а второе уравнение на

и вычтем из первого уравнения второе, из второго уравнения системы (3) получим выражение для a1

Аппроксимация квадратичной функции:

Пусть дана таблица значений

x0 x1 ……… xn-1
y0 y1 ……… yn-1

Требуется аппроксимировать эту таблицу полиномом третьего порядка, т.е. требуется найти коэффициенты полинома y=a0x2+a1x+a2 , который в точках x0 , x1 , … , xn-1 имеет значения достаточно близкие к y0 , y1 , … , yn-1.

В качестве критерия близости выберем квадратичный критерий качества, который должен стремиться к минимуму.

=

(1)

Найдем производные функции (1) по переменным а0 , а1 и а2.

2*

(2) 2*

2*


Разделим каждое уравнение системы (2) на (-2) и поставим коэффициенты после неизвестных

(3)

Система уравнений (3) это система из трех линейных уравнений с тремя неизвестными, которую необходимо решать методом Гаусса или итерации.

Для того, чтобы решить систему методом Гаусса необходимо вычислить коэффициенты при неизвестных а0 , а1 и а2 и записать их в соответствующие переменные и, может быть, выполнить переобозначение , так как при решении системы уравнений методом Гаусса систему уравнений мы записывали в виде:

a00*x0+a01*x1+…+a0,n-1=b0

a10*x0+a11*x1+…+a1,n-1=b1

………………………………………...

an-1,0*x0+an-1,1*x1+…+an-1,n-1=bn-1

или систему уравнений рассмотрим в виде:

x00*a0+x01*a1+…+x0n-1=b0

x10*a0+x11*a1+…+x1n-1=b1

…………………………..


Список использованных источников

1) Программирование на С++ в среде VisualStudioC++. NET: учеб. пособие / А. Б. Лазарева, А. В. Троицкий, С. Н. Митяков – Н. Новгород, 2008.-334

2) Алгоритмические языки и программирование: методические указания к курсовой работе для студентов специальностей 230401.65 / А. Б. Лазарева, Т. Е. Жилина – АПИ НГТУ 2010.-43