Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«Российский государственный профессионально-педагогический университет»
Институт электроэнергетики и информатики
Факультет информатики
Кафедра сетевых информационных систем
и компьютерных технологий обучения
Методические указания
для выполнения лабораторных работ
по дисциплине «Численные методы»
(ГОС – 2000)
для студентов всех форм обучения
специальности 080801.65 Прикладная информатика (в экономике)
Екатеринбург 2012
Методические указания для выполнения лабораторных работ по дисциплине «Численные методы» для студентов всех форм обучения специальности 080801.65 Прикладная информатика (в экономике). Екатеринбург, ФГАОУ ВПО «Рос. гос. проф.-пед. ун‑т», 2012 г. 23 с.
Составитель , ст. преп. кафедры СИС
Одобрены на заседании кафедры сетевых информационных систем и компьютерных технологий обучения. Протокол от «12» января 2012 г., № 7.
Заведующий кафедрой _______________________
Рекомендованы к печати методической комиссией института электроэнергетики и информатики. Протокол от «16» января 2012 г., № 4.
Заместитель председателя методической
комиссии ЭлИн ФГАОУ ВПО РГППУ _____________________
Ó ФГАОУ ВПО «Российский государственный профессионально-педагогический университет», 2012
Содержание
Лабораторная работа 1. Решение систем линейных алгебраических уравнений. 4
Теория. 4
Метод обратных матриц. 5
Метод простых итераций. 8
Варианты.. 13
Лабораторная работа 2. Аппроксимация функций. 14
Теория. 14
Интерполяционная формула Лагранжа. 15
Организация вычислений по формуле Лагранжа. 16
Варианты.. 16
Лабораторная работа 3. Решение нелинейных уравнений. 17
Теория. 17
Отделение корней. 17
Подбор параметра. 17
Пример оформления на рабочем листе. 18
Поиск решения. 18
Пример оформления на рабочем листе. 20
Варианты.. 20
Лабораторная работа 1. Решение систем линейных алгебраических уравнений
Теория
Многие задачи экономического характера сводятся к решению систем линейных уравнений. Систему вида
| ( 1) |
принято называть системой n линейных алгебраических уравнений (СЛАУ) с n неизвестными. При этом произвольные числа aij (i = 1, 2,…, n; j = 1, 2,…, n) называются коэффициентами системы (коэффициентами при неизвестных), а числа bi (i = 1, 2,…, n) – свободными членами. Такая форма записи ( 1) алгебраической линейной системы называется нормальной. Решением СЛАУ ( 1) называется совокупность чисел xi (i = 1, 2,…, n), при подстановке которых в систему каждое из ее уравнений обращается в тождество.
Систему ( 1) можно записать в матричной форме
A ´X = B, | (7.2) |
где A – матрица коэффициентов при неизвестных (матрица системы):
| (2) |
X – вектор-столбец неизвестных X = (x1, x2, …, xn)T:
| (3) |
B – вектор-столбец свободных членов:
| (4) |
или B = (b1, b2,..., bn)T. Целое число n называется размерностью системы.
| (5) |
Система уравнений (5) называется совместной, если она имеет хотя бы одно решение, и несовместной – в противном случае. Совместная система (5) называется определенной, если она имеет единственное решение, и неопределенной, если она имеет больше одного решения.
Метод обратных матриц
Систему линейных алгебраических уравнений AX = b умножим слева на матрицу, обратную к А. Система уравнений примет вид:
A-1AX=A-1b, EX=A-1b, (E - единичная матрица)
Таким образом, вектор неизвестных вычисляется по формуле X=A-1b.
Решить систему методом обратной матрицы:

В этом случае матрица коэффициентов А и вектор свободных коэффициентов b имеют вид:

Введём матрицу A и вектор b в рабочий лист MS Excel (Рисунок 1).
Рисунок 1 |
В нашем случае матрица А находится в ячейках С4:Е6, а вектор b в диапазоне G4:G6. Для решения системы методом обратной матрицы необходимо вычислить матрицу, обратную к A. Для этого выделим ячейки для хранения обратной матрицы (это нужно сделать обязательно!!!); пусть в нашем случае это будут ячейки С9:E11. Теперь обратимся к мастеру функций, и в категории Математические выберем функцию МОБР, предназначенную для вычисления обратной матрицы (Рисунок 2), щелкнув по кнопке OK, перейдём ко второму шагу мастера функций. В диалоговом окне, появляющемся на втором шаге мастера функций, необходимо заполнить поле ввода Массив. Это поле должно содержать диапазон ячеек, в котором хранится исходная матрица - в нашем случае С4:Е6. Данные в поле ввода Массив можно ввести, используя клавиатуру или выделив их на рабочем листе, удерживая левую кнопку мыши.
Рисунок 2 |
Если поле Массив заполнено, можно нажать кнопку OK. В первой ячейке, выделенного под обратную матрицу диапазона, появится некое число. Для того чтобы получить всю обратную матрицу, необходимо нажать клавишу F2 для перехода в режим редактирования, а затем одновременно клавиши Ctrl+Shift+Enter. В нашем случае рабочая книга MS Excel примет вид изображенный на Рисунок 3.
|
Рисунок 3
Теперь необходимо умножить полученную обратную матрицу на вектор b. Выделим ячейки для хранения результирующего вектора, например G9:H11. Обратимся к мастеру функций, и в категории Математические выберем функцию МУМНОЖ, которая предназначена для умножения матриц. Напомним, что умножение матриц происходит по правилу строка на столбец и матрицу А можно умножить на матрицу В только в том случае, если количество столбцов матрицы А равно количеству строк матрицы В. Кроме того, при умножении матриц важен порядок сомножителей, т. е. АВ≠ВА
Перейдём ко второму шагу мастера функций. Появившееся диалоговое окно (Рисунок 4) содержит два поля ввода Массив1 и Массив2. В поле Массив1 необходимо ввести диапазон ячеек, в котором содержится первая из перемножаемых матриц, в нашем случае C9:E11 (обратная матрица), а в поле Массив2 ячейки, содержащие вторую матрицу, в нашем случае G4:G6 (вектор b).
|
Рисунок 4 |
Если поля ввода заполнены, можно нажать кнопку OK. В первой ячейке выделенного диапазона появится соответствующее число результирующего вектора. Для того чтобы получить весь вектор, необходимо нажать клавишу F2, а затем одновременно клавиши Ctrl+Shift+Enter. В нашем случае результаты вычислений (вектор х), находится в ячейках G9:G11.
Для того чтобы проверить, правильно ли решена система уравнений, необходимо умножить матрицу A на вектор x и получить в результате вектор b. Умножение матрицы A на вектор x осуществляется при помощи функции МУМНОЖ(C4:E6;G9:G11), так как было описанной выше.
В результате проведенных вычислений рабочий лист примет вид изображенный на Рисунок 5.
Рисунок 5 |
Метод простых итераций
Представить систему вида ( 1) в итерационной форме можно путем записи каждого его уравнения в виде решения одного из неизвестных.
Для системы из трех уравнений итерационная форма записи выглядит следующим образом:
( 6)
Или в матричном виде 

Элементы матрицы С и вектора d вычисляют по формулам
![]()
При использовании итерационного метода решения необходимо осенить сходимость метода для данной системы, которая зависит только от матрицы коэффициентов С. Процесс сходится в том случае:
1.
если норма матрицы С меньше единицы;
2.
если максимальная из сумм модулей коэффициентов при неизвестных в правой части системы, взятых по строкам, должна быть меньше единицы;
3.
если максимальная из сумм модулей коэффициентов при неизвестных в правой части системы, взятых по столбцам, должна быть меньше единицы.
Каждое из этих условий является достаточным для того, чтобы итерационный процесс сходился.
Это условие является достаточным для сходимости метода. Для его выполнения необходимо, чтобы на этапе приведения к итерационной форме каждое уравнение системы решалось относительно той неизвестной переменной, которая имеет наибольший по модулю коэффициент. Поэтому порядок расположения уравнений в системе имеет важное значение.
Стратегия метода простых итераций основана на последовательном приближении к искомому решению системы, при этом каждое следующее (k+1)-е приближение получается в результате подстановки в правую часть преобразованной системы приближения, полученного на предыдущей k-ой итерации, т. е.
![]()
Рассмотрим решение той же системы линейных алгебраических уравнений с точностью e≤0,005.
Введем матрицу коэффициентов А и вектор свободных членов b.
Для того, чтобы метод простой итерации сходился необходимо привести систему к виду с преобладающими диагональными элементами.

Рисунок 6
Приводим систему к виду, пригодному для дальнейших итераций

Рисунок 7

Рисунок 8
Необходимо проверить сходится ли метод простой итерации для данной системы уравнений.
К сожалению, для данной системы уравнений не выполняется ни одно из условий сходимости.
Попробуем решить другую систему линейных алгебраических уравнений методом простой итерации:

Рисунок 9
Для этой системы выполняются два из трех условий сходимости.
Введем начальное приближение (в данном случае это 0;0;0) и введем формулы вычисления первой итерации,

Рисунок 10
после этого вычисляем разницу между двумя итерациями:

Рисунок 11
При помощи маркера автозаполнения растянуть диапазон итераций до тех под, пока не будет достигнута заданная точность, т. е. пока как минимум 3 итерации будут отличаться друг от друга меньше чем на 0,005.

Рисунок 12
Для данной системы достаточно семи итераций.
Варианты
Вар | Вар |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лабораторная работа 2. Аппроксимация функций
Теория
Если задана функция f(x), то это означает, что любому допустимому значению x сопоставлено значение y= f(x). Но нередко оказывается, что нахождение этого значения очень трудоёмко. При этом можно вычислить небольшую таблицу значений функции, но прямое нахождение функции при большом числе значений аргумента будет практически невозможно. Функция f(x) может участвовать в каких - либо физико-технических или чисто математических расчётах, где её приходится многократно вычислять. В этом случае выгодно заменить функцию f(x) приближенной функцией, то есть подобрать такую функцию φ(x), которая близка в некотором смысле к f(x) и просто вычисляется. Затем при всех значениях аргумента полагают f(x) = φ(x).
Чаще всего в качестве приближающих функций берутся многочлены. Важное свойство многочленов - это функции простой природы. Чтобы вычислить многочлен, нужно исполнить конечное число арифметических операций.
Общая задача интерполирования заключается в построении функции, вообще говоря, отличной от данной y= f(x), которая может быть известна, но задана слишком сложным аналитическим выражением, или неизвестна и задана в виде таблицы значений. Построенная функция должна принимать в заданных точках те же значения, что и данная функция f(x). В этом определении сформулированы две задачи:
1. Построение для функции, имеющей аналитическое выражение, такой более простой функции, которая заменила бы данную в вычислениях.
2. Для функции, заданной таблицей, найти такую формулу, которая давала бы возможность находить значения функции для промежуточных значений аргумента.
Пусть на отрезке [a, b] заданы n+1 точек x0 x1 ..., x n. Эти точки называются узлами интерполяции. И даны значения некоторой функции f(x) в этих точках
y= f(x).
Требуется построить функцию φ(x) (интерполирующая функция), принадлежащую известному классу и принимающую в узлах интерполяции те же значения, что и f(x), т. е.
φ(xi) = yi. ( 7)
Геометрически это означает, что нужно найти кривую y = φ(x), некоторого определённого типа, проходящую через заданную систему точек Mi (xi, yi), i=0,1,...,n.

Рисунок 13
В такой общей постановке задача может иметь бесчисленное множество решений. Полученную интерполяционную формулу y = φ(x) обычно используют для приближенного вычисления значений данной функции f(x). При этом различают интерполирование в узком смысле, когда x Є [x0, xn], и экстраполирование, когда x<x0 или x>xn. В дальнейшем под термином "интерполирование" мы будем понимать как первую, так и вторую операции.
Интерполяционная формула Лагранжа
Пусть на отрезке [a, b] заданы n+1 точек x0 x1 ..., x n. И даны значения некоторой функции f(x) в этих точках. Требуется построить многочлен Ln (x) степени не выше n, имеющий в заданных узлах xi те же значения, что и функция f(x), т. е. Ln (xi). Решим сначала частную задачу: построим многочлены Pi(x) степени n такие, что Pi(xj) = 0 при
i ≠ j и Pi (xi) = 1. $ Эти условия можно записать следующим
образом: Pi (xj) = δij, δij - символы Кронекера. Так как искомый полином Pi(x) обращается в нуль в n точках x0, ... ,xi-1, xi+1, ... , x n, то он имеет вид
pi (x) = Ci(x-x0) ... (x-xi-1)(x-xi+1) ... (x-xn), (4.3)
где Ci - постоянный коэффициент. Полагая x = xi в формуле (4.3) и учитывая, что Pi(xi) = 1, находим
Ci = 1/((x-x0) ... (x-xi-1)(x-xi+1) ... (x-xn)). (4.4)
Подставив (4.4) в (4.3), будем иметь:
. (4.5)
Таких многочленов можно построить n+1. Теперь перейдём к решению общей задачи: к отысканию многочлена
. Он будет иметь следующий вид:
. (4.6)
В самом деле, степень этого многочлена не выше n и в произвольном узле ![]()
,
т. е. равен значению функции
в узлах интерполирования. Следует отметить, что формула Лагранжа содержит явно
, это бывает иногда очень важно. Запишем формулу Лагранжа в компактном виде:
.
Организация вычислений по формуле Лагранжа
Непосредственное применение формулы Лагранжа приводит к большому числу однотипных вычислений. Организация вычислений существенно улучшаться, если пользоваться специальной вычислительной схемой.
Для четырех узлов вычислительная таблица выглядит следующим образом:
x | x0 | x1 | x2 | x3 | Pi | yi | yi /Pi |
x0 | x-x0 | x0-x1 | x0-x2 | x0-x3 |
|
|
|
x1 | x1-x0 | x-x1 | x1-x2 | x1-x3 |
|
|
|
x2 | x2-x0 | x2-x1 | x-x2 | x2-x3 |
|
|
|
x3 | x3-x0 | x3-x1 | x3-x2 | x-x3 |
|
|
|
|
|
|
|
| Δx | S | y |
![]()
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |






























