Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора информатика.doc
Скачиваний:
13
Добавлен:
24.09.2019
Размер:
689.66 Кб
Скачать

29. Решение системы n линейных уравнений с n неизвестными методом Гаусса. Алгоритм решения системы для реализации на эвм.

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

Рассмотрим систему линейных алгебраических уравнений вида:

a11x1+a12x2+...a1nxn=b1

a21x1+a22x2+...a2nxn=b2

..........................................

an1x1+an2x2+...anxn=bn , обозначим всю систему (*) условимся, что ее матрица невырождена.

Метод Гаусса – это точный метод, это означает, что он может дать точное решение, при условии, что все требуемые в нем действия будут выполнены.

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

Подвергнем систему (*) преобразованию, будем считать, что а11<>0, поделим на него коэффициенты первого уравнения. Выполнения условия а11<>0 можно добиться всегда путем перестановки уравнений системы: х1+α12х2+…+α1nxn = β1, пользуясь этим уравнением можно легко исключить неизвестный х1, для этого надо его вычесть из каждого уравнения системы, предварительно умноженное на соответсвующий коэффициент при х1. Затем мы оставляем первое уравнение переходим ко второму, исключая все х2, и т.д. и вместо системы (*) мы получим равносильную ей, но уже с треугольной матрицей:

х1+α12х2+ α13х3…+α1nxn = β1

х2+ α23х3…+α2nxn = β2

……………………

……………………

xn = βn из нее мы и получим значения всех неизвестных. Таким образом весь процесс решения можно разбить на 2 этапа. Первый – последовательное исключение неизвестных – прямой ход. И второго нахождение значений этих неизвестных – обратный ход.

Рассмотрим алгоритм решения:

1 шаг: ввести число n – уравнений с n неизвестными.

2 шаг: ввести aij (значение коэфициентов) и bi (свободные члены) (i=1,n; j=1,m)

3 шаг: выполнить прямой ход. Организовать цикл.

Цикл для k от 1 до n-1;

Цикл для i от k+1 до n;

mi:= aij/akk;

Цикл для j от k до n;

aij:= aijmi*akj;

конец цикла по j;

bi:= bimi*bk;

конец цикла по i;

конец цикла по k;

4 шаг: присвоить xn:= bn/ann;

5 шаг: выполнить обратный ход. Организовать цикл.

Цикл для i от (n-1) до 1 с шагом -1; h:= bi;

Цикл для j от (i+1) до n;

h:= hxj*aij;

конец цикла по j; xi:= h/aij;

конец цикла по i;

6 шаг: вывод результата

Цикл для i от 1 до n;

Вывести “хi = ...”

7 шаг: конец

30, Интерполирование: постановка задачи, геометрическая интерпретация. Интерполяционный член Ньютона Алгоритм для реализации на эвм выбранного многочлена.

Постановка задачи: пусть на отрезке [x0,xn] задана таблица значений функции y=f(x)

X

X0

X1

X2

Xn

Y

Y0

Y1

Y2

Yn

Требуется построить приближающую функцию F(x)=F(x,a0,a1,…,an), которая принадлежит некоторому известному классу функций и принимает в точках xi те же значения, что и данная функция y=(x).

F(xi)=yi—для любых i=0,1,…,n—условие интерполяции.

F(xi,a0,a1,…,an)=yi—для любых i=[0;n].

Поставленная таким образом задача называется – интерполяцией. F(x) – интерполирующая функция, (интерполярная). Значение аргумента xi в таблице – узлы интерполяции. x[x0;xn]xi—промежуточные значения аргумента. В общем случае для промежуточных значений аргументов в отличии от узлов интерполяции будет иметь место f(x)F(x)—эта формула называеся интерполяционной формулой. R(x)=F(x)-f(x)—остаточный член интерполяционной формулы. R(xi)=0—в узлах интерполяции.

Геометрически задача интерполирования означает, что графики двух функций y=f(x) и y=F(x) проходят через одни и те же точки (xi;yi).

Возникает вопрос, как выбрать функцию F(x) и как оценить остаточный член R(x). Интерполирующая функция F(x) как правило, выбирается в виде линейной комбинации некоторых элементарных функций. F(x)=akФк(x)

Фк(x)—фиксированные линейно независимые функции.

ak—пока неопределённые коэффициенты.

В качестве Фк(x) чаще всего выбирают: 1. Степенные функции— Фк(x)=xn. 2. Тригонометрические функции— Фк(x)=sin(kx),cos(kx).

В первом случае Фк(x) является алгебраической суммой:

F(x)=Pn(x)=a0xn+a1xn-1+…+an-1x+an

Во втором случае Фк(x)—тригонометрический многочлен.

Рассмотрим формулу Ньютона. Вначале введём понятия шага таблицы, конечной разности. Шаг таблицы—h=xi+1-xi (i=0,1,…,n-1). Если h=x1-x0=x2-x1=…=xn-xn-1 — таблица с равноотстоящим шагом, если это условие не выполняется, то говорят о таблице с не равноотстоящим шагом.

Конечная разность 1-го порядка — yi=yi-1—yi ,где (i=0,n-1).

Конечная разность k-го порядка k=1,2,…,n.— kyi=k-1yk+1—k-1yi, где k=(0,n-k). Конечные разности различного порядка располагают в виде таблицы конечных разностей. Допустим, что у нас все yi содержат одинаковое количество знаков после запятой =0.5*10-m. Таблица конечных разностей до k-го порядка включительно называется вычисленной правильно, если все разности k+1 порядка удовлетворяют условию: |k+1y|<2k*10-m, а для k-1у,…,y—это условие не выполняется. В этом случае конечные разности k порядка называются практическими постоянными, а разности k+1 порядка практически равными нулю.

Интерполяционные формулы Ньютона.

y=f(x) — задана таблицей. h=x1-x0=x2-x1=…=xn-xn-1 — таблица с равноотстоящим шагом. Подберём для этой таблицы многочлен Pn(x) таким образом, чтобы в узлах xi выполнялось условие Pn(xi)=yi, для любых i=0,n. Этот многочлен выберем

Pn(x)=a0+a1(x-x0)+a2(x-x0)(x-x1)+…+an(x-x0)(x-x1)…(x-xn-1)

Коэффициенты ai вычисляются an=ny0/n!hn, тогда

Pn(x)=y0+(y0/h)(x-x0)+ (2y0/2!h2)(x-x0)(x-x1)+…+ (ny0/n!hn)(x-x0)(x-x1)…(x-xn-1)

Пусть U=(x-x0)/h, U-1=(x-x1)/h и так далее, тогда:

Pn(x)=y0+Uy0+(2y0/2!)U(U-1)+…+ (ny0/n!)U(U-1)…(U-n+1)—первый интерполяционный многочлен Ньютона.

f(x)Pn(x)— первая интерполяционная формула Ньютона. Она применяется для вычисления приближённых значений данной функции f(x). При n=1—линейная интерполяция, n=2—квадратичная интерполяция. Степень интерполяционного многочлена следует брать не выше, чем порядок практических постоянных конечных разностей.

f(x)Pn(x)=y0+Vy0+(2y0/2!)V(V+1)+…+ (ny0/n!)V(V+1)…(V+n-1)— вторая интерполяционная формула Ньютона. Применяется для нахождения значений f(x), для вычисления значения x. Оценка остаточного члена:

Rn(x)=f(x)—Pn(x)

Rn(x)=(hn+1f(n+1)()/(n+1)!)*U(U-1)…(U-n), где [x0,xn].

Воспользуемся связью между конечными разностями и производными hn+1f(n+1)(x)n+1y, при вычислении остаточно члена возникает два случая:

1.f(n+1)(x)—найти трудно |Rn(x)|<=(max|n+1y|/(n+1)!)*|U(U-1)…(U-n)|

2.f(n+1)(x)— можно найти |Rn(x)|<=((Mn+1hn+1)/(n+1)!)*|U(U-1)…(U-n)|,

где Mn+1=max|F(n+1)|, где x[x0,xn].

Аналогично для второй формулы:

1.|Rn(x)|<=(max|n+1y|/(n+1)!)*|V(V+1)…(V+n)|

2.|Rn(x)|<=((Mn+1hn+1)/(n+1)!)*|V(V+1)…(V+n)|

Рассмотрим алгоритм решения:

1 шаг: Выполнить ввод табличных значений xi и yi.

2 шаг: Выполнить расчет конечных разностей kyi = yi+k - kyi+k-1 + (k(k+1)/2!)yi+k -2 - … + (-1)kyi

3 шаг: а)Ввести промежуточное значение x.

б) S:=y0; U:=(x-x0)/h; A:=1;

в) Организовать цикл пока 0=<k=<n-1 повторять

A:=A(U-k)/(k+1); S:= S+ A k+1yn-k

конец цикла по k;

г) Вывести на печать Pn(x)=S;

4 шаг: конец.