Вычислительная Математика Контрольная работа


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Министерство образования Российской Федерации

Казанский государственный технологический университет









ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА

В СРЕДЕ EXCEL


Методические указания

Часть 2










2003


2

Составители:

асс. Кошкина Л.Ю.


доц. Понкратова С.А.


доц. Ре
но

Н.Н.




асс. Нуруллина Е.Н.


Вычислительная математика в среде
E
xcel
: Методические
указания..

Часть 2. / Казан. гос. технол. ун
-
т; Казань, 2003, с.

72



Изложены краткие сведения о методах вычислительной
математики. Предложены практические примеры по ис
пользованию
табличного процессора
Microsoft

Excel

и языка программирования
Visual

Basic

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

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

Подготовлены на кафедре химической кибернетики.



Печ
атаются по решению
методической комиссии

по
информатике и
информатизации

учебного процесса
.




Рецензенты:

Нач. УАКО КГТУ
, доц. Светлаков А.П.,





доц.

кафедры ПАХТ, к.т.н.

Клинов А.В.


3

1.
Методы решения математических задач


Для решения математических з
адач в настоящее время
используют следующие методы:



графические;



аналитические;



численные.

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

Аналит
ические методы позволяют найти решение задачи с
помощью формулы. Однако на практике не всегда можно найти
решение задачи с использованием аналитических методов.

Численные методы
-

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


1.1. Понятие о погрешности


Различают два вида погрешностей:

абсолютную погрешность

и
относительную погрешность.

Абсолютной погрешностью

Δx приближенного числа
х

называют разность между истинным значением x′ и приближенным
значением: Δx= |x′
-
x|

Относительная погрешность



δ
x

это отношение
абсолютной погрешности к приближенному значению
мо
дуля
числа

х
:



4

1.2. Устойчивость, сходимость и корректность
численного метода


Метод считается
устойчивым

по параметру X, если решение
У непрерывно зависит от X, т.е. малое приращение исходной
величины X приводит к малому изменению к
онечной величены У.
Отсутствие устойчивости означает, что любые погрешности в
исходных данных будут приводить к неверному результату.

При анализе вычислительного процесса одним из важнейших
критериев является сходимость численного метода.

Сходимость

итерац
ионного процесса означает, что в результате многократного
повторения вычислительного процесса (итерации) будет получаться
последовательность значений x
1
, x
2
, ... x
n
, которая сходится к
точному решению.

Численный метод называется
корректным

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

К численным методам предъявляются и другие требования.
Предпочтение следует отдавать методу, который реализуется с
наименьшим числ
ом действий, требует меньшей памяти ЭВМ,
является логически простым.


2. Численное решение алгебраических и трансцендентных
уравнений


В общем случае уравнение с одним неизвестным можно
представить в виде:

f
(
x
)=0,

где
f
(
x
) определена и непрерывна на неко
тором интервале [
a
,
b
].

Необходимо найти корни этого уравнения. Число,
обращающее функцию
f
(
x
) в нуль, называется корнем уравнения.


5

Если алгебраическое или трансцендентное уравнение
достаточно сложно, то его корни сравнительно редко удаётся найти
аналитич
ескими методами. Поэтому используют способы
приближенного нахождения корней уравнения. Эти методы состоят
из двух этапов:



Отделение корней, т. е. отыскание достаточно малых
интервалов [
a
,
b
], в которых содержится только один
корень уравнения.



Уточнение при
ближенного значения корня до некоторой
заданной точности.


2.1. Отделение корней


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


это
указать его начало и конец.

При отделении корней будем пользоваться известной
теоремой Больцано
-
Коши:

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

f(a)*f(b)0,

то
между точками
a

и
b

на оси абсцисс имеется по крайней
мере один корень уравнения (рис. 1).

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


2.2. Метод половинного деления

(дихотомии)


Метод реализуется следующим алгоритмом: отрезок [
a
,
b
]
делится пополам, находится
. Выбирается та из
половин [
a
, x] или [x,
b
], на концах которой функция
f
(
x
) имеет

6

разные знаки (рис.1). Новый отрезок вновь делится пополам и
произво
дится новый выбор. Процесс повторяется до тех пор,
пока длина
отрезка не станет меньше заданной точности |
b
-
a
|
.

Рис.1


Число итераций при использовании этого метода
значительно, и поэтому сходимость его медленная. Однако при
любой ширине отрезка [
a
,
b
]

сходимость гарантирована. Кроме
того, простота реализации метода уменьшает число
вспомогательных операций и частично компенсирует
увеличение общего времени счета из
-
за медленной сходимости.


2.2.1. Алгоритм метода половинного деления


Пусть
a

и
b



концы
интервала (получены при отделении
корней);



заданная точность решения,
n



счетчик числа
итераций.




7

Ввод
a,b

y
1

= f(a)

Начало цикла

x = (a+b)/2

y
2

= f(x)

Если
y
1*
y
2
�0,
то
a
=
x
,
иначе
b
=
x

Конец цикла, условие
|
b
-
a
|

Печать
x



2.3. Метод касательных (Ньютона)


Метод основан на замене
f
(
x
) в точке начального
приближения
x
=
x
0

касательной, пересечение которой с осью
x

даёт первое приближение
x
1
, и т.д. (см рис. 2). Уравнение
касательной наход
ится по координате одной точки и углу
наклона (значение производной).

Рис.2

Итерационный процесс схождения к корню реализуется
формулой


8


Метод обеспечивает быструю (квадратичную) сходимость,

В качестве первого приближения
x
0

выбираю
т тот конец
отрезка [a, b], на котором знаки
f
(
x
0
) и
f
"(
x
0
) совпадают, т.е.

f(x
0
)*f"(x
0
�)0.

При выполнении этого условия м
етод обеспечивает
быструю (квадратичную) сходимость. Это условие сходимости
метода является достаточным, но не необходимым. В
ыигрыш
во

времени вычислений за счёт быстрой сходимости
уменьшается из
-
за необходимости вычисления помимо
f
(
x
n
)
производной
f
’(
x
n
).

Условие окончания процесса
.


2.3.1. Алгоритм метода касательных (Ньютона)


Пусть
x
-

начальное приближение;



заданная точность
решения,
n



счетчик числа итераций,
pr



производная, h


малая величина равная 10
-
3
-
10
-
6
.


Ввод
x
,
,
n
,
h

Начало цикла

pr

= (
fnx
(
x

+
h

)
-

fnx
(
x
)) /
h

x
1= x
-

f(x)/ pr

c
=|
x
1
-

x

|

x= x
1

n
=n+1

Конец цикла, условие с>

Печать
x
,
f(x), n






9

2.4. Метод хорд


В этом методе нелинейная функция f(x) на отделённом
интервале [a, b] заменяется линейной, в качестве которой
берётся хорда
-

прямая, стягивающая концы нелинейной
функции (рис.3). Эта хорда определяется как

прямая,
проходящая че
рез точки с координатами (а, f(а)) и (b, f(b)).
Имея уравнения хорды y=cx+d, можно легко найти точку ее
пересечения с горизонтальной осью, подставив в уравнение y=0
и найдя из него x. Естественно, в по
лученной таким путем
точке x
1
, не будет решения, ее пр
инимают за новую границу
отрезка, где содержится корень. Через эту точку с
координатами (x
1
,f(x
1
)) и соответствующую границу
предыдущего интервала опять проводят хорду, b находят x2 и
так несколько раз, получая последовательность х
3
, х
4
, х
5
,...,
сходящуюся

к кор
ню. Метод применим только для монотонных
функций.

Один из концов отрезка [
a
,
b
] является подвижным (в
нашем случае а), другой конец (
b
)


неподвижным. Условием
сходимости итерационного процесса является правильный
выбор подвижного и неподвижного ко
нцов. Обозначим
подвижный конец интервала через х, а неподвижный конец


с.
В качестве подвижного конца выбирается точка, для которой
выполняется условие

f
(х)
f
"(х)<0.

Условие сходимости итерационного процесса является
достаточным, но не необходимым. То ест
ь если условие
выполняется, то итерационный процесс обязательно сойдется, а
если не выполняется, то может сойтись, а может и не сойтись.

Итерационная формула метода хорд:


Условие окончания процесса
.



10


Рис. 3


2.4.1. Алгоритм метода хорд


Пусть
x
-

подвижный конец интервала [
a
,
b
]; р


неподвижный конец интервала [
a
,
b
];



заданная точность
решения,
n



счетчик числа итераций


Ввод
x
, р,
,
n

Начало цикла

x
1=
x
-

f
(
x
)*(х
-
р)/ (
f
(
x
)
-
f
(
p
))

c
=|
x
1
-

x

|

x= x
1

n
=n+1

Конец цикла, условие с >

Печать
x
, f(x), n




11

2.5. Метод простой итерации


Представим уравнение
f
(
x
)=0 в виде

x
=
φ
(
x
).

Выберем на отрезке [
a
,
b
] первое приближение
x
1

и
подставим его в правую часть уравнения
x
=
φ
(
x
). Получим:
х
2
=
φ
(
x
1
). Подставим тепе
рь в правую часть уравнения вместо х
1

число х
2
, получим х
3
=
φ
(
x
k
). То есть можно записать: х
k
+1
=
φ
(
x
k
).

Геометрически способ простых итераций можно
представить следующим образом. Построим графики двух
функций:
y
=
x

и
y
=
φ
(
x
). Абсцисса точек пересечения этих дв
ух
графиков является корнем уравнения
f
(
x
)=0 (рис. 4).

Процесс итераций сходится при условии

|
φ
’(
x
)|
1
. Это
условие является необходимым и достаточным. При
|
φ
’(
x
)|�1

вне зависимости от выбора начального приближения процесс
будет расходиться (рис. 5).



Ри
с. 4


Для выбора начального приближения вычисляют значения
первых производных функции
φ
(
x
) в граничных точках
интервала [
a
,
b
], содержащего корень и за начальное

12

приближение принимают тот конец интервала, для которого
выполняется условие

.

Условие оконча
ния процесса
.


Рис.5


2.5.1. Алгоритм метода простой итерации


Пусть
x



начальное приближение;



заданная точность
решения,
n



счетчик числа итераций


Ввод
x
,
,
n

Начало цикла

x
1=
φ
(
x
)

c
=|
x
1
-

x

|

x= x
1

n
=n+1

Конец цикла,

условие
c


Печать
x
, f(x), n


13

2.6. Сравнение методов решения уравнения


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

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



Задание 1

по теме

«Численное решение алгебраических


и трансцендентных уравнений»



Найти корни уравнения

с точностью
=0,0001.
Для решения уравнения используйт
е следующие методы:

1.

метод половинного деления,

2.

метод касательных (Ньютона),

3.

метод хорд,

4.

метод простой итерации.




14

Решение:

1.

Откроем свой пользовательский
файл в табличном процессоре
Excel
.

2.

Для отделения корней получим
таблицу значений аргумента и
функци
и на интервале [
-
5; 5]. Для
этого в ячейку А1 на Листе 1
введем x=, в В1 введем
f
(
x
)=.

3.

В ячейку А2 введем

5, далее
выполним команды меню
Правка


Заполнить


Прогрессия.

В
появившемся диалоговом окне
Прогрессия

укажем расположение по столбцам, тип


ари
фметический, шаг равный 1, предельное значение
равное 5.

Рис. 6



4.

Выделить диапазон ячеек А2:А12 и дать ему имя
х,
используя команду
Вставка


Имя


Присвоить.

5.

Введем в ячейку В2 уравнение =
x

^ 3 +
x


3

6.

Скопируем уравнение в ячейки В3:В12.


15

7.

На интервале
[
1; 2]

значение функции меняет знак, т.е.
f
(
a
)*
f
(
b
)<0. Это и есть отделенный интервал [
a
,
b
], на
котором будем уточнять корень заданного уравнения.

8.

Для построения графика выделим А1:В12, выполним
Вставка


Диаграмма
, выберем точечную диаграмму,
дадим названи
е осям и диаграмме.


Далее переходим в редактор
Visual

Basic

(
Сервис


Макрос


Редактор
Visual

Basic
,
Вставка


Модуль)
и
набираем программы.


Function fnx(x)

fnx =
x ^ 3 + x
-

3

End Function


Function fnfi(x)

fnfi
= (3
-

x) ^ (1 / 3)

End Function


Sub

Ме
тод_половинного_деления
()

a = 1: b = 2:

e = 0.0001

n = 0

f1 = fnx(a)

Do

x = (a + b) / 2

f2 = fnx(x)

If f1 * f2� 0 Then a = x Else b = x

n = n + 1

Loop While Abs(b
-

a) � e

x = (a + b) / 2

Лист
2").Range("b2").Value = x

Лист
2").Rang
e("c2").Value = fnx(x)

Лист
2").Range("d2").Value = n

End

Sub




16

Sub

Метод касательных
()

e = 0.0001

n = 0: H = 0.00001

x = Val(InputBox("Ввод x", " Начальное приближение"))

Do

pr = (fnx(x + H)
-

fnx(x)) / H

x1 = x
-

fnx(x) / pr

c = Abs(x1
-

x)

x
= x1


n = n + 1

Loop While c � e

Лист
2").Range("b3").Value = x

Лист
2").Range("c3").Value = fnx(x)

Лист
2").Range("d3").Value = n

End Sub




Sub
Метод
_
хорд
()

e = 0.0001

n = 0

x = Val(InputBox("Ввод x", " Начальное приближе
ние"))

p = Val(InputBox("Ввод p", " Начальное приближение"))

Do

x1 = x
-

fnx(x) * (x
-

p) / (fnx(x)
-

fnx(p))

c = Abs(x1
-

x)

x = x1

n = n + 1

Loop While c � e

Лист
2").Range("b4").Value = x

Лист
2").Range("c4").Value = fnx(x)

Workshe
Лист
2").Range("d4").Value = n

End

Sub





17

Sub

Метод_простых_итераций
()

e = 0.0001

n = 0

x = Val(InputBox("Ввод x", " Начальное приближение"))

Do

x1 = fnfi(x)

c = Abs(x1
-

x)

x = x1

n = n + 1

Loop While c � e

Лист
2").Range("b5").Value = x

Wo
Лист
2").Range("c5").Value = fnx(x)

Лист
2").Range("d5").Value = n

End Sub



Для запуска программ нажать
на кнопку или на
Run
.

Полученный результат находится на Листе 2.





Сохранить результат в своем пользовательском файле.
Сделат
ь выводы по полученным результатам.


18

3. Численное решение систем линейных алгебраических
уравнений



СЛАУ, состоящая из
n

уравнений, может быть
записана в виде:



(3.1)


где
a
11
,
a
12
, …
a
nn



постоянные коэффициенты;
x
1
,
x
2
, …,
x
n



н
еизвестные;
b
1
,
b
2
, …,
b
n



свободные члены системы.

Решением СЛАУ является такая совокупность значений
неизвестных x
1
, x
2
, …, x
n

которая каждое уравнение системы
обращает в верное тождество.

Диагональ матрицы, проходящая слева направо,
называется главной

диагональю. Если все элементы матрицы,
находящиеся ниже главной диагонали, равны нулю, то такая
матрица называется треугольной.

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

При этом система либо не имеет решения, либо
имеет их бесконечное множество.

При вычислении на компьютере из
-
за погрешности
вычисления не всегда удается
получить точное равенство нулю
определителя, даже если он на самом деле равен нулю. Если
определитель близок к нулю, то такие системы называются
плохо
обусловленными.

Для таких систем малые погрешности исходных
данных могут привести к большим погрешностям
решения.

Существуют 2 группы методов решения систем линейных
уравнений: прямые и итерационные.


19

Прямые методы.

Это, по существу, аналитические
методы. К ним относятся метод Крамера, метод Гаусса и т.д.
Эти методы целесообразно использовать в тех случаях,

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

Итерационные методы.

Это методы последова
тельных
приближений. К ним относятся метод простой итерации, метод
Гаусса
-
Зейделя. Важной чертой этих методов является их
самоисправляемость и простота реализации. В случае
сходящегося итерационного процесса ошибка в каком
-
то
приближении исправляется в пос
ледующих вычислениях, и
такое исправление требует только нескольких лишних шагов
единообразных вычислений.

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

Рассмотрим подробнее
вопрос о погрешностях
.
Существуют две характеристики.

1.

Погрешность
i

=
x
i

-

x
*
i

, где
x
i

-

точные значения,
x
*
i

-

полученные приближенные значения.

2.

Невязка
-

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


Доказано, что если одна из этих характеристик точно
равна нулю, то и другая точно равна нулю. Однако из малости
одной из них не следует малости другой. При

~

0 обычно
r

~

0, но обратное справе
дливо не всегда. Для плохо

20

обусловленных систем при
r

~

0 погрешность решения может
быть большой. Но в практических расчетах, если система не
является плохо обусловленной, контроль точности можно
осуществлять с помощью невязки. Метод Гаусса с выбором
гла
вного элемента в этом случае дает малые невязки.



3.1 Метод Гаусса


Это прямой метод. Он основан на приведении матрицы к
треугольному виду. Рассмотрим этот метод на примере системы
трех уравнений, а затем распространим его на систему
n

уравнений.

a
11
x
1
+a
1
2
x
2
+a
13
x
3

= b
1

a
21
x
1
+a
22
x
2
+a
23
x
3

= b
2

a
31
x
1
+a
32
x
2
+a
33
x
3

= b
3


Умножим первое уравнение на
a
21
/
a
11

и вычтем его из
второго уравнения и полученное уравнение поставим вместо
второго. Тогда первый коэффициент полученного второго
уравнения станет равным нулю.
То же самое проделаем с
третьим уравнением, умножив исходное первое уравнение на
a
31
/
a
11
. В результате система будет преобразована к виду:


a
11
x
1
+a
12
x
2
+a
13
x
3

= b
1


a

22
x
2
+a

23
x
3

= b

2


a

32
x
2
+a

33
x
3

= b

3

,


где


a

22
=a
22
-
a
12
* a
21
/a
11

; a

23
=a
23
-
a
13
* a
21
/a
11

; b

2
=b
2
-
b
1*

a
21
/a
11
;


a

32
=a
32
-
a
12
* a
31
/a
11

; a

33
=a
33
-
a
13
* a
31
/a
11

; b

3
=b
3
-
b
1
* a
31
/a
11

.


Обобщим эти формулы для системы
n

уравнений.
Обозначим
i

-

номер строки,
j

-

номер столбца.



21

a

ij
=a
ij

-

a
1j
* a
i1
/a
11

; b

i

= b
i

*a
i1
/a
11

.,
где

i,j = 2. . . n.


Теперь из третьего уравнения надо исключить член,
содержащий
x
2
. Для этого умножим второе уравнение на
a

32
/
a

22

и вычтем его из третьего. Получим


a
11
x
1
+a
12
x
2
+a
13
x
3

= b
1


a

22
x
2
+a

23
x
3

=

b

2


a
’’
33
x
3

= b
’’
3

,


где

a
’’
33
=a

33
-

a

23

*a

32
/a

22

; b
’’
3
=b

3
-

b

2

*a

32
/a

22

.


Матрица системы приведена к треугольному виду. Теперь
из третьего уравнения можно найти
x
3
, затем подставить его во
второе уравнение

и найти из него
x
2

и т.д.

x
3

= b
’’
3
/a
’’
33

;


x
2

= 1/a

22

*(b

2

-

a

23
x
3
) ; x
1

= 1/a
11

*(b
1
-
a
12
x
2
-
a
13
x
3
) .


Аналогично строится алгоритм для системы с
произвольным числом уравнений. Алгоритм содержит 2 этапа:

1.Прямой ход. Это приведение м
атрицы системы к
треугольному виду.

2.Обратный ход. Нахождение неизвестных.


3.1.1 Алгоритм метода Гаусса


Обозначим
n

-

количество уравнений.

Массивы:
a
(
n
,
n
)
-

коэффициенты системы;
b
(
n
)
-

свободные члены (правая часть уравнений);
x
(
n
)
-

решение
систем
ы.



22



3.2 Метод Крамера


Является прямым методом. Решение представляется в
виде:



,
i

= 1,2 . . .
n
,

где

-

определитель системы;
i

-

определители,
получающиеся из определителя

путем замены его
i
-

того
столбца столбцом свободных членов.

Таким образом, система
n

линейных уравнений сводится
к вычислению
n
+1 определителя порядка
n
. Обычно
применяется для систем с очень малым количеством уравнений.


23

Задание

2


Решить систему линейных алгебраических

уравнений
методом Гаусса и Крамера





Порядок выполнения работы
:


Ввести данные в таблицу
Excel
, коэффициенты
a
(
i
,
j
) в
ячейки
A
1:
D
4; коэффициенты
b
(
i
) в ячейки
E
1:
E
4;


Перейти в среду
Visial

Basic

и набрать программу
решения системы

методом Гаусса.


Sub Gayss_CLAY4()

Dim n As Integer

Dim a(1 To 4, 1 To 4) As Variant

Dim b(1 To 4) As Variant

Dim x(1 To 4) As Variant

n = Val(InputBox("Введите число уравнений", "Исходные
данные"))

For i = 1 To n

For j = 1 To n

Лист
2").Cells(i, j).Value

Next j

Next i

For i = 1 To n

Лист
2").Cells(i, 5).Value

Next i

For k = 1 To n
-

1

For i = k + 1 To n

c = a(i, k) / a(k, k)

For j = k + 1 To n

a(i, j) = a(i, j)
-

c * a(k, j)


24

Next j

b(i) = b(i)
-

c * b(k)

Next i

Next
k

x(n) = b(n) / a(n, n)

For i = n
-

1 To 1 Step
-
1

s = 0

For j = i + 1 To n

s = s + a(i, j) * x(j)

Next j

x(i) = (b(i)
-

s) / a(i, i)

Next i

For i = 1 To n

Лист
2").Cells(2, i + 7).Value = x(i)

Next i

End Sub


Для запуска программы нажать на
Run
. Полученный
результат находится на Листе 2 в ячейках
H
2:
K
2.


Теперь найдем неизвестные х
i

методом Крамера
.



Для нахождения

-

определителя системы в ячейку
G
6 введем формулу =МОПРЕД(
A
1:
D
4);



Для нахождения
i

-

определителей, получающихся
из определителя


путем замены его
i
-

того столбца столбцом
свободных членов в ячейки
G
9,
G
14,
G
19,
G
24 введем
соответственно следующие формулы =МОПРЕД(
B
8:
E
11);.
=МОПРЕД(
B
13:
E
16); =МОПРЕД(
B
18:
E
21);
=МОПРЕД(
B
23:
E
26).



Для нахождения неизвестные х
i

в ячейки
H
3:
K
3
введем сле
дующие формулы =
G
9/
G
6, =
G
14/
G
6, =
G
19/
G
6,
=
G
24/
G
6.



25





3.4 Метод простой итерации для СЛАУ


Рассмотрим на примере трех уравнений, а затем
распространим на систему
n

уравнений.

a
11
x
1
+a
12
x
2
+a
13
x
3

= b
1

a
21
x
1
+a
22
x
2
+a
23
x
3

= b
2

a
31
x
1
+a
32
x
2
+a
33
x
3

= b
3

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





26

Зададим некоторое начальное (нулевое
) приближение
x
1
(0)
,
x
2
(0)
,
x
3
(0)
. Подставляя их получим новое приближение:

;

;

.

Обозначим
k

-

номер итерации, тогда для
n

уравнений
итерационные формулы можно записать так:








Итерации проводятся до тех пор пока не будет
выполнено условие




i

= 1,2, . . .
n

Если условие не выполняется, итерации повторяются, приняв
x
i
(
k
-
1)

=
x
i
(
k
)
.

Для сходимости итерационного процесса достаточно,
чтобы

модули диагональных коэффициентов для каждого
уравнения системы были не меньше сумм модулей всех
остальных коэффициентов:


Это условие является достаточным для сходимости метода
итерации, но не является необходимым, т.е. для некотор
ых
систем процесс сходится и при нарушении этого условия.


27

Задание 3


Решить систему линейных алгебраических уравнений

методом простых итераций

с точностью Е=0,0001.

X
1+5*
X
2
-
X
3=7

X
1
-
X
2+5*
X
3=7

8*
X
1+
X
2+
X
3=26



Порядок выполнения работы
:


Привести данную сист
ему к виду, удобному для итерации,
таким образом, чтобы выполнялись условия сходимости;


Ввести данные в таблицу
Excel
;


Переименовать Лист 3 в СЛАУ;


Перейти в среду
Visial

Basic

и набрать программу.


Sub pr_iter_CLAY()

n = Val(InputBox("Введите число уравне
ний", "Исходные
данные"))

e = 0.0001: K = 0

Dim a(1 To 3, 1 To 3) As Variant

Dim x(1 To 3) As Variant

Dim b(1 To 3) As Variant

For i = 1 To n

For j = 1 To n

СЛАУ
").Cells(i, j).Value

Next j

Next I


For i = 1 To n

СЛА
У
").Cells(i, 4).Value

Next i

x10 = 0: x20 = 0: x30 = 0

Do

X1 = (b(1)
-

a(1, 2) * x20
-

a(1, 3) * x30) / a(1, 1)

x2 = (b(2)
-

a(2, 1) * x10
-

a(2, 3) * x30) / a(2, 2)

x3 = (b(3)
-

a(3, 1) * x10
-

a(3, 2) * x20) / a(3, 3)


28

C = Abs(X1
-

x10) + Abs(x2
-

x20) +
Abs(x3
-

x30)

x10 = X1

x20 = x2

x30 = x3

K = K + 1

Loop Wh�ile C e

СЛАУ
").Range("H2").Value = X1

СЛАУ
").Range("i2").Value = x2

СЛАУ
").Range("j2").Value = x3

СЛАУ
").Range("k2").Value = K

End

Sub


Для запуска
программы нажать на
Run
. Полученный
результат находится на листе СЛАУ в ячейках
H
2:
K
2.


3.5 Метод Гаусса
-

Зейделя


Этот метод представляет собой модификацию метода
простых итераций. Рассмотрим решение системы (3.1). На
k
-
той
итерации при
j

i

x
j

уже вычис
лено на этой итерации, поэтому
итерационную формулу можно представить в виде:


i
=1,2 . . .
n
.

Эту формулу можно записать так:

.

Итерационный процесс продолжается до тех пор, пока не
будет выполнено услови
е






i

= 1,2, . . .
n

Если условие не выполняется, итерации повторяются,
приняв
x
i
(
k
-
1)

=
x
i
(
k
)
.

Для того, чтобы не проверять условие для всех уравнений,
условие окончания итераций можно записать так:


29






i

= 1,2, . . .
n


или



3.5.1 Алгоритм метода Гаусса


Зейделя


n

-

количество уравнений;

-

точность;

a
(
n
,
n
)
-

массив коэффициентов;
b
(
n
)
-
массив свободных членов;
x
(
n
)
-

массив решения.

Вводится начальное приближение
x
(
n
).


Ввод

n ,

, a(n,n), b(n), x(n)

Начало

цикла


FOR i=1 TO n


FOR j=1 TO n



Конец цикла

FOR j


xk = (b
i

-

s )/ a
ii




x
i

=
xk

Конец цикла

FOR i

Конец цикла, условие
s
1�


Печать
x
i



Рассмотрим погрешности. Погрешность метода

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

30

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

Часто поступают следующим образом. Производят
решение методом Гаусса. Если полученная точность не
удовлетворяет, применяют метод Гаусса
-
Зейделя, где за

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



Задание 4


Решить систему линейных алгебраических уравнений
методом Гаусса
-
Зейделя

с точностью Е=0,0001.





Пор
ядок выполнения работы
:


Привести данную систему к виду, удобному для итерации,
таким образом, чтобы выполнялись условия сходимости;


Ввести данные в таблицу
Excel
;


Переименовать Лист 4 в СЛАУ4;


Перейти в среду
Visial

Basic

и набрать программу.


Sub

Метод_Г
аусса_Зейделя()

n = Val(InputBox("Введите число уравнений", "Исходные
данные"))

e = 0.0001

Dim a(1 To 4, 1 To 4) As Variant

Dim x(1 To 4) As Variant

Dim b(1 To 4) As Variant

For i = 1 To n


31

For j = 1 To n

СЛАУ
4").Cells(i, j).Value

Next

j

Next i

For i = 1 To n

СЛАУ
4").Cells(i, 5).Value

Next i

k = 0

Do

s1 = 0

For i = 1 To n

s = 0

For j = 1 To n

If i � j Then s = s + a(i, j) * x(j)

Next j

xk = (b(i)
-

s) / a(i, i)

s1 = s1 + Abs(xk
-

x(i))

x(i) = xk

Next i

k = k + 1

Loop

While s1� e

For i = 1 To n

СЛАУ
4").Cells(7, i).Value = x(i)

Next i

СЛАУ
4").Range("f7").Value = k

End Sub






32

4. Численное решение систем нелинейных уравнений


Запишем систему нелинейных уравнений в общем виде


F
1
(x
1
,x
2,

. . x
n
) = 0;

F
2
(x
1
,x
2,

. x
n
) = 0;




(4.1)

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

F
n
(x
1
,x
2,

. . x
n
) = 0.


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


4.1 Метод простых итераций


Вырази
м неизвестные в системе (4.1) и представим ее в
следующем виде


x
1

= f
1
(x
1
,x
2,

. . x
n
) ;

x
2

=
f
2
(
x
1
,
x
2,

. .
x
n
) ;




(4.2)

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

x
n

=
f
n
(
x
1
,
x
2,

. .
x
n
)


Зададим начальные приближения для
x
1
,
x
2
, . . .
x
n
.
Подставим их в правую

часть системы (4.2). Получим значения
неизвестных в следующей итерации.


x
1
(k)

= f
1
(x
1
(k
-
1)
,x
2
(k
-
1)
,

. . x
n
(k
-
1)
) ;

x
2
(k)

= f
2
(x
1
(k
-
1)
,x
2
(k
-
1)
,

. . x
n
(k
-
1)
) ;

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

x
n
(k)

= f
n
(x
1
(k
-
1)
,x
2
(k
-
1)
,


. . x
n
(k
-
1)
) ,



33

где
k

-

номер ит
ерации.

Итерационный процесс продолжается до тех пор, пока не
будет выполнено условие




i

= 1,2, . . .
n
,

где
n

-

количество уравнений.

Если условие не выполняется, итерации повторяются ,
приняв

x
i
(
k
-
1)

=
x
i
(
k
)
.

Для того, чтобы не

проверять условие для всех уравнений,
условие окончания итераций можно записать так:






i

= 1,2, . . .
n


или


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

=
f
1
(
x
2
) и
x
2

=
f
2
(
x
1
) в координатах
x
1

и
x
2
. Точку пересечения
графиков можно принят
ь за начальное приближение. К
сожалению этого не удается сделать при большем количестве
уравнений. Кроме того, при увеличении количества уравнений,
область сходимости сужается, и здесь нельзя дать общих
рекомендаций.



4.1.1 Алгоритм метода простых итераци
й


n

-

количество уравнений,

-

точность,
x
(
n
)
-

массив начальных
приближений неизвестных





34

Ввод
n
,
,
x

Начало цикла

Вычисление
f
1
(
x
1
,
x
2,

. .
x
n
)

Вычисление
f
2
(
x
1
,
x
2,

. .
x
n
)

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

Вычисление
f
n
(
x
1
,
x
2,

. .

x
n
)


x
i

=
f
i

Конец цикла, условие
s



Печать
x
i



Задание 5


Решить систему нелинейных уравнений методом
простых итераций

с точностью Е=0,001. В качестве
начального приближения взять точку
X
1
0
=0,
X
2
0
=0.


Sin(X
1
+2)
-
X
2
=1.5

X
1
+C
os(X
2
-
2)=0.5



Порядок выполнения работы:



Привести систему к виду, удобному для итерации, таким
образом, чтобы выполнялись условия сходимости;


Переименовать Лист5 в СНУ;


Перейти в среду
Visial

Basic

и набрать программу.


Система, приведенная к виду, удобн
ому для итерации:

x1 = 0.5
-

Cos(x2
-

2)

x2 = Sin(x1 + 2)
-

1.5


Sub iter_CNY()

x10 = Val(InputBox("
Ввести

x10", "
Ввод

x10"))

x20 = Val(InputBox("
Ввести

x20", "
Ввод

x20"))

e = 0.001: K = 0


35

Do

x1 = 0.5
-

Cos(x20
-

2)

x2 = Sin(x10 + 2)
-

1.5

S = Abs(x1
-

x10
) + Abs(x2
-

x20)

x10 = x1

x20 = x2

K = K + 1

Loop Wh�ile S e

СНУ
").Range("a2").Value = x1

СНУ
").Range("b2").Value = x2

СНУ
").Range("c2").Value = K


число

итераций

End Sub


Для запуска программы нажать на
Run
. Полученный

результат находится на листе CНУ в ячейках
A
2:
C
2.

x1

x2

k

1,346306

-
1,70332

29




5. Численное интегрирование

Приближенное вычисление определённого интеграла



Величина определённого интеграла представляет площадь
фигуры
J
=
, ограниченной графиком функции
f
(
x
), осью
x
, прямыми
x
=
a
,
x
=
b
. Большинство численных методов
основано на приближенном вычислении этой площади(рис.7).
Отрезок интегрирования [
a
,
b
] делится на
n

равных частей
длины

h
=(
b
-
a
)/
n
.





36



Рис. 7


5.1 Метод прямоугольников


К простейшим методам можно отнести методы
прямоугольников (левых, правых, средних). В методе
прямоугольников подынтегральная функция заменяется
горизонтальной прямой (
y
=
c
0
) со значением ординаты, т.е.
значения функции соответстве
нно слева, справа или посередине
участка.


Рис. 8



37

Для левых прямоугольников с постоянным шагом формула
имеет вид:


;



i
=1,2, . . .
n
.





Для правых прямоугольников:

;


i
=1,2, . . .
n
.

Более точной является фо
рмула прямоугольников,
использующая значения функции в средних точках участков:

;

i
=1,2, . . .
n
.





5.1.1 Алгоритм метода левых прямоугольников


a
,
b

-

соответственно нижний и верхний пределы
интегрирования;
n

-

количество интервало
в разбиения;
f
(
x
)
-

подынтегральная функция.


Ввод

a, b, n

H=(b
-
a)/n

FOR x=a TO b
-
h Step h

S =

f(x)

Next x

Integral = S*h

Печать
Integral



38

5.2 Метод трапеций


Этот метод использует линейную интерполяцию, т.е.
график функции
y
=
f
(
x
) представляется
в виде ломаной,
соединяющей точки (
x
i
,
y
i
). В этом случае площадь всей фигуры
складывается из площадей элементарных трапеций (рис. 9).













Площадь каждой такой трапеции равна произведению
полусуммы оснований на высоту:





i
=1,2, . .
n
.

Складывая все эти равенства, получим формулу трапеций:


.


Точность интегрирования зависит от степени многочлена,
количества участков и расположения точек. Во многих случаях
формула средних прямоугольников дает лучшую то
чность, чем
формула трапеций. Это на первый взгляд неожиданно, т.к.
формула прямоугольников использует интерполяцию нулевого
порядка, а формула трапеций трапеций
-

линейную. Здесь все
дело в особом расположении точек, которое повышает
точность.

(x
i
-
1
,y
i
-
1
)

(x
i
,y
i)

y
i
-
1

y
i

x
i
-
1

x
i

Рис.9


39


5.2.1 Алгоритм метода трапеций


a
,
b

-

соответственно нижний и верхний пределы
интегрирования;
n

-

количество интервалов разбиения;
f
(
x
)
-

подынтегральная функция.


Ввод

a, b, n

H=(b
-
a)/n

S= (f(a) +f(b))/2

FOR x=a+h TO b
-
h Step h

S =

f(x)

Next x

In
tegral = S*h

Печать
Integral


5.3 Метод парабол (Симпсона)


Разобьем отрезок интегрирования [
a
,
b
] на четное число
n

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

f(x)
~

i
(x) = a
i
x
2

+ b
i
x +c
i

,




x
i
-
1


x


x
i+1
.


Коэффициенты этих квадратных трехчленов могут быть
найдены из условий равенства многочлена в точках
x
i

соответствующим значениям функции
y
i
. В качестве
многочлена можно принять многочлен Лагранжа второй
степени, проходящи
й через точки (
x
i
-
1
,
y
i
-
1
), (
x
i
,
y
i
), (
x
i
+1
,
y
i
+1
).
Затем на каждом участке взять определенный интеграл и их
просуммировать. В результате получим формулу:

.


40


5.3.1 Алгоритм метода Симпсона


a
,
b

-

соответственно нижний и верхний пределы

интегрирования;
n

-

количество интервалов разбиения (должно
быть четным);
f
(
x
)
-

подынтегральная функция.


Ввод

a, b, n

H=(b
-
a)/n

S= f(a) +f(b)

c = 1

FOR x=a+h TO b
-
h Step h

S =

(3+c)*f(x)

c =
-

c

Next x

Integral = S*h/3

Печать
Integral




Зад
ание 6


Вычислить значение интеграла

методами



Прямоугольников левых, правых, средних



Трапеций



Симпсона (парабол)


Решение:



Открыть свой пользовательский файл и
переименовать Лист 6 в Интегрирование,



Перейти в редактор
Visual

Basic

(
Сервис


Макрос


Редактор
Visual

Basic
,
Вставка


Модуль)

и
набрать следующие программы




41

Function fny(x)

fny
= x * Log(1 / x)/Log(10)

End

Function


Sub

Метод_левых_прямоугольников()

a = Val(InputBox("
Ввод

a", "
Нижний

предел
"))

b = Val(InputBox("
Ввод

b", "
Верхний

предел

"))

n

=
Val
(
InputBox
("Ввод
n
", " Число участков разбиений"))

h = (b
-

a) / n

S = 0

For x = a To b
-

h Step h

S = S + fny(x)

Next x

j = S * h

Worksheets("Интегрирование").Range("b20").Value = j

End

Sub


Sub

Метод_правых_прямоугольников(
)

a = Val(InputBox("
Ввод

a", "
Нижний

предел
"))

b = Val(InputBox("
Ввод

b", "
Верхний

предел

"))

n

=
Val
(
InputBox
("Ввод
n
", " Число участков разбиений"))

h = (b
-

a) / n

S = 0

For x = a + h To b Step h

S = S + fny(x)

Next x

j = S * h

Worksheets("Интегрирова
ние").Range("b21").Value = j

End

Sub


Sub

Метод_средних_прямоугольников()

a = Val(InputBox("
Ввод

a", "
Нижний

предел
"))

b = Val(InputBox("
Ввод

b", "
Верхний

предел

"))

n

=
Val
(
InputBox
("Ввод
n
", " Число участков разбиений"))

h = (b
-

a) / n

S = 0


42

For x = a

+ h To b Step h

S = S + fny(x + h / 2)

Next x

j = S * h

Worksheets("Интегрирование").Range("b22").Value = j

End Sub


Sub trapecia()

a = Val(InputBox("
Ввод

a", "
Нижний

предел
"))

b = Val(InputBox("
Ввод

b", "
Верхний

предел

"))

n

=
Val
(
InputBox
("Ввод
n
", "
Число участков разбиений"))

h = (b
-

a) / n

S = (fny(a) + fny(b)) / 2

For x = a + h To b
-

h Step h

S = S + fny(x)

Next x

j = S * h

Worksheets("Интегрирование").Range("b23").Value = j

End Sub


Sub Simpson()

a = Val(InputBox("
Ввод

a", "
Нижний

предел
"))

b =

Val(InputBox("
Ввод

b", "
Верхний

предел

"))

n

=
Val
(
InputBox
("Ввод
n
", " Число участков разбиений"))

h = (b
-

a) / n

S = (fny(a) + fny(b)) / 2

c = 1

For x = a + h To b
-

h Step h

S = S + (c + 3) * fny(x)

c =
-
c

Next x

j = S * h / 3

Worksheets("Интегрирова
ние").Range("b24").Value = j

End

Sub




43

Ответы находятся на листе Интегрирование в ячейках
В20:В24.

Численное интегрирование

Значение интеграла

a
=

b
=

n
=

Прямоугольников левых

0,1032

0,1

1

50

Прямоугольников правых

0,1016

Прямоугольников средних

0,1006

Трапеций

0,1023

Симпсона

0,1020


Решение в таблице
Excel
:

Методом левых и правых прямоугольников


На листе Интегрирование в ячейку
G
2 введем нижний
предел, в ячейку
H
2 верхний предел, в ячейку
I
2 число
участков разбиений,



в
J
2 формулу =($H$2
-
$
G$2)/$I$2,


в ячейку
K
2 введем нижний предел, в К3 формулу
=K2+$J$2 и скопируем ее в ячейки К3:К52,



в ячейку
L
2 введем формулу =K2*LOG(1/K2)/LOG(10) и
скопируем ее в ячейки
L
3:
L
52,


в ячейку
L
53, используя Мастер функций, введем формулу
=СУММ($L$2:$L$51)


в
ячейке
L
54 рассчитаем значение интеграла методом
левых прямоугольников по формуле =$L$53*$J$2


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



44


6. Решение дифференциальных уравнений


Решение дифференциальных
уравнений является одной из
важнейших математических задач. Дифференциальные
уравнения часто встречаются при построении моделей
динамики объектов исследования. Они описывают, как правило,
изменение параметров объекта во времени. Владение методами
решения д
ифференциальных уравнений обязательно при
моделировании.

Обыкновенными дифференциальными уравнениями
называются уравнения, которые содержат одну или несколько
производных от искомой функции
y
=
(
x
). Их можно записать в
виде:

F
(
x
,
y
,
y

, . . . ,
y
(
n
)
) = 0



(6.1)

где
x

-

независимая переменная. Наивысший порядок
n
,
входящей в уравнение производной, определяет порядок
дифференциального уравнения. Уравнение первого порядка
можно записать в виде:

F(x, y, y

) = 0.

Решением

дифференциального уравнения (6.1) назыв
ается
всякая функция
y
=
(
x
), которая после ее подстановки в
уравнение превращает его в тождество.

При использовании численных методов решение
дифференциальных уравнений
dy
/
dx

=
f
(
x
,
y
) или
y
’=
f
(
x
,
y
)
представляется в
табличном

виде, т.е. получается совокупн
ость
значений
y
i

и
x
i
. Решение носит шаговый характер, т.е по одной
или по нескольким начальным точкам (
x
,
y
) за один шаг
находят следующую точку, затем следующую и т.д. Разница
между двумя соседними значениями аргумента
h
=
x
i
+1
-
x
i

называется
шагом
.

Наиболь
шее распространение имеют задачи Коши, в
которых заданы начальные условия: при
x

=
x
0
,
Y
(
x
0
) =
Y
0.

Имея их, легко начать процесс решения, т.е. найти
y
1
при
x
1
,
y
2

при
x
2

и т.д.


45

Задачи другого типа


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


решаются специальными приемами, в том числе нередко
сведением к другим эквивалентным задачам с начальными
условиями.

Выделяют два класса методов решения: одношаговые и
многошаговые. Первый класс методов требует для нахождения
сле
дующего значения функции только одной текущей точки,
т.е.
y
i
=
F
[
f
(
x
i
,
y
i
)], а второй


нескольких, например,
y
i
=
F
[
f
(
y
i
-
3
,
y
i
-
2
,
y
i
-
1
)]. Представителем класса многошаговых методов
являются методы прогноза и коррекции. К классу одношаговых
методов относятся м
етоды Эйлера, Рунге
-
Кутта и др.


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

уравнение заменяется разностным
уравнением, т.е. производные заменяются конечно
-
разностными отношениями.

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


6.1 Метод Эйлера


Задано уравнение




dY/dx = f(x,Y).





Начальные условия : при
x

=
x
0

Y
(
x
0
) =
Y
0
,
x


x
0.

Значения функции в узлах
x
0
,
x
1
, . . . ,
x
n

заменим сеточной
функцией
y
0
,
y
1
, . . .
,
y
n
. Для простоты примем постоянным шаг

46

h

=
x
i

=
x
i
+1

-

x
i


=
const
. Заменим производную конечно
-
разностным отношением с левыми разностями

.

Отсюда




y
i

=
y
i
-
1

+
h

f
(
x
i
-
1
,
y
i
-
1
).


Зная значение функции в начальной точке
y
0
,
после
довательно можно найти значения функции во всех точках
сетки. Метод явный одношаговый.

Метод Эйлера имеет первый порядок точности.


6.1.1 Алгоритм метода Эйлера


x
0
,
x
k

-

концы интервала;
h

-

шаг интегрирования;
y
0

=
y
(
x
0
)
-

начальное условие;

f
(
x
,
y
)
-

п
равая часть уравнения


Ввод
h
,
x
0
,
x
k

,
y
0


x=x
0
; y=y
0

Начало цикла, условие
x


x
k

y

=
y

+
hf
(
x
,
y
)

x = x+h

Печать
x
,
y

Конец цикла


Рассмотрим пример системы трех уравнений:

y
1


=

f
1
(x, y
1
, y
2
, y
3
)

y
2


= f
2
(x, y
1
, y
2
, y
3
)

y
3


= f
3
(x, y
1
, y
2
, y
3
).

Начальные условия: при
x

=
x
0

y
1

=
y
10
;
y
2

=
y
20
,
y
3

=
y
30

Для решения системы дифференциальных уравнений
расчетная формула запишется в виде:

y
j,i

= y
j,i
-
1

+ hf
j
(x
i
-
1
, y
1,i
-
1
, y
2,i
-
1
, . . . , y
n,i
-
1
),

где
j

-

номер неизвестного
j

= 1,2,. . .
n
;

i



номер точки.



47

6.1.2 Алгоритм метода Эйлера для системы уравнений


x
0
,
x
k

-

концы интервала;
h

-

шаг интегрирования;

Начальные условия: при
x

=
x
0

y
1

=
y
01
;
y
2

=
y
02
,
y
3

=
y
03


Ввод
h
,
x
0
,
x
k
,

y
01
,
y
02
,
y
03


x=x
0
; y
1

=y
01
, y
2

= y
02
, y
3

= y
03

Начало цикла, условие
x


x
k

y
1

= y
1

+ hf
1
(x, y
1
, y
2
, y
3
)

y
2

= y
2

+ hf
2
(x, y
1
, y
2
, y
3
)

y
3

= y
3

+hf
3
(x, y
1
, y
2
, y
3
)

x = x+h

Печать
x
,
y
1
,
y
2
,
y
3

Конец цикла


6.2 Метод Рунге
-

Кутта


Является наиболее распространенным методом решения
обыкновенных

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

Кутта четвертого
порядка.


y
i+1

= y
i

+ (k
0

+ 2k
1

+ 2k
2

+ k
3
)/6;

k
0

= f(x
i
, y
i
)*h;

k
1

= f(x
i
+ h/2, y
i
+k
0
/2)*h;

k
2

= f(x
i
+ h/2, y
i
+k
1
/2)*h;

k
3

= = f(x
i
+ h, y
i
+k
2
)*h.


Метод явный, одношаговый. Метод Рунге
-

Кутта имеет
четвертый порядок точности.

Метод Рунге
-

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


48

Алгоритм расчета по методу Рунге
-

Кутта подобен
алгоритму расчета методом Эйлера. Разница в том, что внутри
цикла сначала вычисляются
k
0
,
k
1
,
k
2
,
k
3
, а затем
-

значение
y

в
новом ра
счетном узле.


Приведем формулы Рунге
-

Кутта для системы двух
уравнений:

y


=
(x, y, z)

z


=
(x, y, z)

с начальными условиями: при
x

=
x
0
,
y

=
y
0
,
z

=
z
0
.


Формулы имеют вид:

y
i+1

= y
i

+ (k
0

+ 2k
1

+ 2k
2

+ k
3
)/6;

z
i+1

= z
i

+ (l
0

+ 2l
1

+ 2l
2

+ l
3
)/6;

k
0

=
(x
i
, y
i
, z
i
)*h;

l
0

=
(x
i
, y
i
, z
i

)*h;

k
1

=
(x
i
+h/2, y
i
+k
0
/2, z
i
+l
0
/2)*h;

l
1

=
(x
i
+h/2, y
i
+k
0
/2, z
i
+l
0
/2)*h;

k
2

=
(x
i
+h/2, y
i
+k
1
/2, z
i
+l
1
/2)*h;

l
2

=
(x
i
+h/2, y
i
+k
1
/2, z
i
+l
1
/2)*h;

k
3

=
(x
i
+h, y
i
+k
2
, z
i
+l
2
)*h;

l
3

=
(x
i
+h, y
i
+k
2
, z
i
+l
2
)*h
.


Аналогично можно записать формулы Рунге
-

Кутта для
систем из трех и более уравнений. Алгоритм решения
аналогичен алгоритму решения системы уравнений методом
Эйлера.


Задание 7


Решить дифференциальное
y
’=
f
(
x
,
y
) с начальными
условиями
y
(
x
0
)=
y
0

методом
Эйлера и методом Рунге
-
Кутта

на интервале [
a
,
b
] с шагом интегрирования
h
.

y’=cos(y+x)

y(x
0
)=1; [a,b] = [0, 1]; h=0.1




49

Решение:



Открыть свой пользовательский файл,



Перейти в редактор
Visual

Basic

(
Сервис


Макрос


Редактор
Visual

Basic
,
Вставка


Модуль
)

и
набрать следующие программы


Sub

Метод_Эйлера
()

x0 = Val(InputBox("Ввод x0", " Нач. приближение
x
0"))

y0 = Val(InputBox("Ввод y0", " Нач. приближение
y
0"))

H = Val(InputBox("Ввод h", " Шаг интегрирования"))

b = Val(InputBox("Ввод b", " Конец интервала
"))

x = x0: y = yo

i = 1 ‘
номер

строки

While x b

f =
Cos(y + x)

y = y + H * f

x = x + H

Лист
7").Cells(i, 4).Value = x

Лист
7").Cells(i, 5).Value = y

i = i + 1

Wend

End Sub



Function F(x, y)

F =
Cos(y + x)

End Function


Sub
Рунге_К
утта
()

h = 0.1

x0 = Val(InputBox("Введите начальное значение х0", "Ввод х0"))

xk = Val(InputBox("Введите конечное значение хк", "Ввод хк"))

y0 = Val(InputBox("Введите начальное значение y0", "Ввод y0"))

x = x0: y = y0

i = 1: j = 4

While x xk

k0 = F(x, y)

* h


50

k1 = F(x + h / 2, y + k0 / 2) * h

k2 = F(x + h / 2, y + k1 / 2) * h

k3 = F(x + h, y + k2) * h

y = y + (k0 + 2 * k1 + 2 * k2 + k3) / 6

x = x + h

i = i + 1

Лист
7").Cells(i, j).Value = x

Лист
7").Cells(i, j + 1).Value = y

Wend

End
Sub


Запустить программы, сравнить полученные результаты на
Листе 7.


Решение в таблице
Excel
:

Перейти на Лист 8 и ввести необходимые комментарии. В
ячейку В1 ввести начальное значение интервала, в В2 конечное,
в В3


шаг интегрирования.

В ячейку С3 ввести

формулу =C2+$B$3 и скопировать ее в
ячейки С4:С12. В ячейку
D
3 ввести формулу
=D2+$B$3*COS(D2+C2) и скопировать в ячейки
D
4:
D
12.




51

Задание 8

Решить данную систему

методом Эйлера
с шагом
интегрирования
h
=0.1



Реш
ение:



Открыть свой пользовательский файл,



Перейти в редактор
Visual

Basic

(
Сервис


Макрос


Редактор
Visual

Basic
,
Вставка


Модуль)

и
набрать следующие программы

Sub Метод_Эйлера()

x

=
Val
(
InputBox
("Ввести
x
0", "Ввод
x
"))

y = Val(InputBox("Ввести y0",
"Ввод y"))

z = Val(InputBox("Ввести z0", "Ввод z"))

h = Val(InputBox("h
-

шаг интегрирования", "Ввод h"))

b = Val(InputBox("Ввести конечное значение х", "Ввод
b
"))

i = 1

While x = b

f1 =
-
0.8 * y

f2 =
0.8 * y
-

0.3 * z

y = y + h * f1

z = z + h * f2

x = x
+ h

Лист
9").Cells(i, 1).Value = x

Лист
9").Cells(i, 2).Value = y

Лист
9").Cells(i, 3).Value = z

i= i + 1

Wend

End Sub


52

Задание 9

Составить программу решения системы
дифференциальных уравнений
методом Эйлера и Рунге
-
Кутта:


Параметры

Номера задачи

1

2

3

4

5

6

7

8

9

10

Y
10

100

90

100

80

80

70

90

80

100

70

Y
20

0

10

0

20

10

20

10

10

0

30

Y
30

0

0

0

0

10

10

0

10

0

0

K
1

0.7

0.8

0.7

0.9

0.8

0.7

0.9

0.9

0.7

0.8

K
2

0.1

0.2

0.1

0.3

0.1

0.2

0.2

0.4

0.2

0.3

K
3

0.4

0.7

0.3

0.7

0.6

0.6

0.7

0.8

0.5

0.7

K
4

0.2

0.1

0.1

0.2

0.3

0.1

0.3

0.2

0.1

0.1

K
5

0.3

0.5

0.2

0.4

0.5

0.4

0.5

0.4

0.3

0.4



Во всех задачах взять
h
=0.1;
h
n
=1.0;
x
k
=10.0;
x
0
=0.


Рассмотрим вариант 1:


Function

F
1(
x
,
y
1,
y
2,
y
3)

F1 =
-
0.7 * y1 + 0
.1 * y2

End Function

Function F2(x, y1, y2, y3)

F2 = 0.7 * y1
-

0.4 * y2 + 0.2 * y3

End Function

Function F3(x, y1, y2, y3)

F3 = 0.3 * y2
-

0.2 * y3

End Function


53


Sub
Метод_Эйлера
()

x0 = Val(InputBox("Ввести x0", "Ввод x"))

xk = Val(InputBox("Ввести конечн
ое значение х", "Ввод xk"))

y10 = Val(InputBox("Ввести y10", "Ввод y10"))

y20 = Val(InputBox("Ввести y20", "Ввод y10"))

y30 = Val(InputBox("Ввести y30", "Ввод y30"))

h = Val(InputBox("Ввести h
-

шаг интегрирования", "Ввод h"))

hp = Val(InputBox("Ввести hp
-

шаг печати", "Ввод hp"))

i = 1

x = x0: y1 = y10: y2 = y20: y3 = y30

While x xk

y1 = y1 + h * F1(x, y1, y2, y3)

y2 = y2 + h * F2(x, y1, y2, y3)

y3 = y3 + h * F3(x, y1, y2, y3)

x = x + h

Do While x � hp

i = i + 1

Лист
10").Cells(i, 1).Value =
x

Лист
10").Cells(i, 2).Value = y1

Лист
10").Cells(i, 3).Value = y2

Лист
10").Cells(i, 4).Value = y3

hp = hp + 1

Loop

Wend

End Sub


Sub

Метод_Рунге_Кутта
()

x
0 =
Val
(
InputBox
("Ввести
x
0", "Ввод
x
"))

xk = Val(InputBox("Ввести

конечное значение х", "Ввод xk"))

y10 = Val(InputBox("Ввести y10", "Ввод y10"))

y20 = Val(InputBox("Ввести y20", "Ввод y10"))

y30 = Val(InputBox("Ввести y30", "Ввод y30"))

h = Val(InputBox("Ввести h
-

шаг интегрирования", "Ввод h"))

hp = Val(InputBox("Вве
сти hp
-

шаг печати", "Ввод hp"))

i = 1
5


54

x = x0: y1 = y10: y2 = y20: y3 = y30

While x xk

k0 = F1(x, y1, y2, y3) * h

l0 = F2(x, y1, y2, y3) * h

z0 = F3(x, y1, y2, y3) * h

k1 = F1(x + h / 2, y1 + k0 / 2, y2 + l0 / 2, y3 + z0 / 2) * h

l1 = F2(x + h / 2, y1
+ k0 / 2, y2 + l0 / 2, y3 + z0 / 2) * h

z1 = F3(x + h / 2, y1 + k0 / 2, y2 + l0 / 2, y3 + z0 / 2) * h

k2 = F1(x + h / 2, y1 + k1 / 2, y2 + l1 / 2, y3 + z1 / 2) * h

l2 = F2(x + h / 2, y1 + k1 / 2, y2 + l1 / 2, y3 + z1 / 2) * h

z2 = F3(x + h / 2, y1 + k1 / 2
, y2 + l1 / 2, y3 + z1 / 2) * h

k3 = F1(x + h, y1 + k2, y2 + l2, y3 + z2) * h

l3 = F2(x + h, y1 + k2, y2 + l2, y3 + z2) * h

z3 = F3(x + h, y1 + k2, y2 + l2, y3 + z2) * h

y1 = y1 + (k0 + 2 * k1 + 2 * k2 + k3) / 6

y2 = y2 + (l0 + 2 * l1 + 2 * l2 + l3) / 6

y3

= y3 + (z0 + 2 * z1 + 2 * z2 + z3) / 6

x = x + h

Do While x � hp

i = i + 1

Лист
10").Cells(i, 1).Value = x

Лист
10").Cells(i, 2).Value = y1

Лист
10").Cells(i, 3).Value = y2

Лист
10").Cells(i, 4).Value = y3

hp =
hp + 1

Loop

Wend

End Sub










55

Контрольная работа № 2

По теме

«Численные методы»

Каждому студенту предлагаются задачи по
рассмотренным разделам курса, причем последняя цифра в
номере варианта должна совпадать с последней цифрой
шифра студента. Например,
студент, имеющий шифр 101023,
решает вариант № 3 контрольной работы.

Во всех заданиях необходимо составить алгоритм и
программу. В задании 1: отделить корень уравнения, т.е.
найти отрезок [a, b], содержащий единственный корень; а
затем составить алгоритм
и программу. В задании 2 и 3:
привести систему к виду, удобному для итерации, так, чтобы
выполнялись условия сходимости; составить алгоритм и
программу.


Вариант № 1


Задание № 1. Численное решение уравнений

Найти корень уравнения

ме
тодом
половинного деления и методом простых итераций с точностью
=0,001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


Решить данную систему линейных алгебраических
уравнений методом Гаусса
-
Зейделя с точностью
=0,0001.


Задание № 3. Численное решение систем нелинейных
уравнений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


56


Задание № 4. Численное интегр
ирование

Вычислить интеграл


методом левых прямоугольников и методом трапеций с шагом
интегрирования
, где
n
=50.


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить

дифференциальное уравнение
при начальных условиях х
0
=1,8, у(х
0
)=2,6 с
шагом интегрирования
h
=0.1 на интервале [1.8,2.8] методом
Эйлера.


Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему о
быкновенных дифференциальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1



Вариант № 2


Задание № 1. Численное решение уравнений

Найти корень уравнения

методом хорд и
методом касательных с точностью

=0,0001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


57


Решить данную систему линейных алгебраических
уравнений методом простых итераций с точностью
=0,0001.


Задание № 3. Численное решение систем нелине
йных
уравнений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


Задание № 4. Численное интегрирование

Вычислить интеграл


методом
трапеций и методом Симпсона с шагом
интегрирования
, где
n
=50.


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнение

при начальных условиях
х
0
=1,6, у(х
0
)=4,6 с шагом
интегрирования
h
=0.1 на интервале [1.6,2.6] методом Рунге
-
Кутта.

Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенных дифференциальных
уравнений методом Эйлера с шагом интегри
рования
h
=0.1


58



Вариант № 3


Задание № 1. Численное решение уравнений

Найти корень уравнения
методом
половинного деления и методом хорд с точностью
=0,0001.


Задание № 2. Численное решение систем линейных
алге
браических уравнений


Решить данную систему линейных алгебраических
уравнений методом Гаусса
-
Зейделя с точностью
=0,0001.


Задание № 3. Численное решение систем нелинейных
уравнений

Решить систему нелинейных уравнений методом прос
тых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


Задание № 4. Численное интегрирование

Вычислить интеграл


методом правых прямоугольников и методом трапеций с шагом
интегрирования
, где
n
=50.


59


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнение
при
начальных условиях х
0
=1,6, у(х
0
)=4,6 с шагом интегрирования
h
=0.1 на и
нтервале [1.6,2.6] методом Рунге
-
Кутта.

Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенных дифференциальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1



Вариант № 4


Задание № 1. Численное решение уравнений

Найти корень уравнения 3х
4
+4х
3
-
12х
2
-
5=0 методом
половинного деления и методом касательных с точностью
=0,0001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


Решить данную систему линейн
ых алгебраических
уравнений методом Гаусса
-
Зейделя с точностью
=0,0001.


Задание № 3. Численное решение систем нелинейных
уравнений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001. Начальное прибл
ижение
принять
x
1
=0,
x
2
=0.


60


Задание № 4. Численное интегрирование

Вычислить интеграл


методом трапеций и методом Симпсона с шагом
интегрирования
, где
n
=50.


Задание № 5. Численное решен
ие задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнение
при начальных условиях х
0
=1,6,
у(х
0
)=4,6 с шагом интегрирования
h
=0.1 на интервале [1.6,2.6]
методом Рунге
-
Кутта.


Составить алгоритм и пр
ограмму.

Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенных дифференциальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1



Вариант № 5


Задание № 1. Численное решение

уравнений

Найти корень уравнения
методом простых
итераций и методом касательных с точностью
=0,0001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


61


Решить данную систему линейных алгебраических
уравнений
методом простых итераций с точностью
=0,001.


Задание № 3. Численное решение систем нелинейных
уравнений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


Задание № 4. Численное интегрирование

Вычислить интеграл


методом трапеций и средних прямоугольников с шагом
интегрирования
, где
n
=50.


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнение
при начальных условиях х
0
=1,4, у(х
0
)=2,2 с
шагом интегрирования
h
=0.1 на интервале [1.4,2.4] методом
Эйлера.

Задание № 6. Численное решение систем обыкновенн
ых
дифференциальных уравнений

Решить систему обыкновенных дифференциальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1


62



Вариант № 6


Задание № 1. Численное решение уравнений

Найти корень уравнения
методом половинного
деления и методом простых итераций с точностью
=0,0001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


Решить данную систему линейных алгебраических
уравнений методом Гаусса
-
Зейделя с точностью
=0,0001.


Задание № 3. Численное решение систем нелинейных
уравнений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


Задание № 4. Численное инт
егрирование

Вычислить интеграл


методом трапеций и методом Симпсона с шагом
интегрирования
, где
n
=50.


63


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференц
иальное уравнение
при начальных условиях х
0
=1,6,
у(х
0
)=4,6 с шагом интегрирования
h
=0.1 на интервале [1.6,2.6]
методом Эйлера.


Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенны
х дифференциальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1



Вариант № 7


Задание № 1. Численное решение уравнений

Найти корень уравнения
методом
половинного деления и методом касательных с точно
стью
=0,0001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


Решить данную систему линейных алгебраических
уравнений методом простых итераций с точностью
=0,001.


Задание № 3. Численное решение систем нел
инейных
уравнений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


64


Задание № 4. Численное интегрирование

Вычислить интеграл


метод
ом трапеций и методом левых прямоугольников с шагом
интегрирования
, где
n
=50.

Составить алгоритм и
программу.


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнени
е
при начальных условиях х
0
=1,6,
у(х
0
)=4,6 с шагом интегрирования
h
=0.1 на интервале [1.6,2.6]
методом Рунге
-
Кутта.


Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенных дифференц
иальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1



Вариант № 8


Задание № 1. Численное решение уравнений

Найти корень уравнения
методом простых
итераций и методом касательных с точностью
=0,0001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


65


Решить данную систему линейных алгебраических
уравнений методом простых итераций с точностью
=0,001.


Задание № 3. Численное решение систем нелинейных
уравн
ений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


Задание № 4. Численное интегрирование

Вычислить интеграл


методом левых прямо
угольников и методом Симпсона с шагом
интегрирования
, где
n
=50.


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнение
при начальных условия
х х
0
=0,8, у(х
0
)=1,4 с
шагом интегрирования
h
=0.1 на интервале [0.8, 1.8] методом
Рунге
-
Кутта.


Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенных дифференциальных
уравнений методом Эйлера с шагом инт
егрирования
h
=0.1


66



Вариант № 9


Задание № 1. Численное решение уравнений

Найти корень уравнения

методом
половинного деления и методом касательных с точностью
=0,0001.


Задание № 2. Численное решение систем л
инейных
алгебраических уравнений


Решить данную систему линейных алгебраических
уравнений методом простых итераций с точностью
=0,0001.


Задание № 3. Численное решение систем нелинейных
уравнений

Решить систему нелинейных уравнени
й методом простых
итераций с точностью
=0,0001. Начальное приближение
принять
x
1
=0,
x
2
=0.


Задание № 4. Численное интегрирование

Вычислить интеграл


методом трапеций и методом левых прямоугольников с шагом
ин
тегрирования
, где
n
=50.


67


Задание № 5. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнение
при начальных условиях х
0
=1,2, у(х
0
)=2,1 с
шагом интегрирован
ия
h
=0.1 на интервале [1.2,2.2] методом
Рунге
-
Кутта.


Задание № 6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенных дифференциальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1



Вариант № 10


Задание № 1. Численное решение уравнений

Найти корень уравнения
методом
половинного деления и методом хорд с точностью
=0,0001.


Задание № 2. Численное решение систем линейных
алгебраических уравнений


Решить данную
систему линейных алгебраических
уравнений методом простых итераций с точностью
=0,0001.


Задание № 3. Численное решение систем нелинейных
уравнений

Решить систему нелинейных уравнений методом простых
итераций с точностью
=0,0001.

Начальное приближение
принять
x
1
=0,
x
2
=0.


68



Задание № 4. Численное интегрирование

Вычислить интеграл


методом трапеций и методом Симпсона с шагом
интегрирования
, где
n
=50.


Задание № 5
. Численное решение задачи Коши для
обыкновенных дифференциальных уравнений


Решить дифференциальное уравнение
при начальных условиях х
0
=2,1, у(х
0
)=2,5 с
шагом интегрирования
h
=0.1 на интервале [2.1, 3.1] методом
Эйлера.

Задание №
6. Численное решение систем обыкновенных
дифференциальных уравнений

Решить систему обыкновенных дифференциальных
уравнений методом Эйлера с шагом интегрирования
h
=0.1



Порядок оформления контрольных работ


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



69

Библиографический список



1.

Васильков Ю.В., Ва
силькова Н.Н. Компьютерные
технологии вычислений в математическом
моделировании: Учебное пособие.


М.: Финансы и
статистика, 2001.
-
256 с:ил.

2.

Рено Н.Н. Численные методы. Учебное пособие / Казан.
гос. технол. университет; Казань,2002, 112 с.

3.

Турчак Л.И. Осн
овы численных методов.
-

М.: Наука,
1987.


318 с.

4.

Дьяконов В.П. Справочник по алгоритмам и программам
на языке бейсик для персональных ЭВМ: Справочник.


М.: Наука.1989.

240 с.

5.

Назаров С.В., Мельников П.П. Программирование на
MS

Visual

Basic
: Учебное пос
обие / Под ред. С.В. Назарова.


М.: Финансы и статистика, 2001.


320 с.: ил.


70

Содержание


1.
Методы решения математических задач

_______________

3

1.1. По
нятие о погрешности

________________________________
______

3

1.2. Устойчивость, сходимость и корректность численного
метода

________________________________
______________________________

4

2. Численное решение алгебраических и трансце
ндентных
уравнений

________________________________
___________

4

2.1. Отделение корней

________________________________
____________

5

2.2. Метод половинного деления

________________________________

5

2.3. Метод касательных (Ньютона)

______________________________

7

2.4. Метод хорд

________________________________
____________________

9

2.5. Метод простой итерации

________________________________
____

11

2.6. Сравнение методов решения уравнения

___________________

13

3. Численное решение систем линейных алгебраических
уравнений

________________________________
__________

18

3
.1 Метод Гаусса

________________________________
_________________

20

3.2 Метод Крамера

________________________________
_______________

22

3.4 Метод простой итерации для СЛАУ

________________________

25

3.5 Метод Гаусса
-

Зейделя

________________________________
______

28

4. Численное решение систем нелинейных уравнений

____

32

4.1 Метод простых итераций

________________________________
____

32

5. Численное интегрирование

_________________________

35

5.1 Метод прямоугольников

________________________________
_____

36

5.2 Метод трапеций

________________________________
______________

38

5.3 Метод парабол (Симпсона)

________________________________
__

39

6. Решение дифференциальных уравнений

_____________

44

6.1 Метод Эйлера

________________________________
________________

45

6.2 Метод Рунге
-

Кутта

________________________________
_________

47

Контрольная работа № 2 «Численные методы»

_________

55

Порядок оформления контрольных работ

_________________

68

Библиографический список

____________________________

69






71






72



ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА

В СРЕДЕ EXCEL


Часть 2


Состав
ители:

асс. Кошкина Л.Ю.

доц. Понкратова С.А.

доц.. Рено Н.Н.

асс. Нуруллина Е.Н.




Корректор Ю.Е. Стрыхарь





Лицензия № 020404 от 6.03.97 г.


Подписано в печать «___» _____2003.



Формат 60х84 1/16

Бумага писчая.




Печать
RISO
.


_____
усл.печ.л.

__
__уч.
-
изд. л



Тираж 200 экз.

Заказ___


«С» .


Издательство Казанского государственного технологического
университета


Офсетная лаборатория Казанского государственного технологического
университета


420015, Казань, К. Маркса, 68



Приложенные файлы

  • pdf 8860472
    Размер файла: 975 kB Загрузок: 0

Добавить комментарий