Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ДОНЕЦКИЙ ГОСУДАРСТВЕННЫЙ МЕДИЦИНСКИЙ
УНИВЕРСИТЕТ ИМ. М.ГОРЬКОГО
КОНТРОЛЬНЫЕ ЗАДАНИЯ
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ФАРМАЦИИ»
для студентов фармацевтического факультета
(заочное отделение)
Донецк 2004
Оформление лицевой страницы тетради для контрольной работы.
Информационные технологии в фармации
Контрольна робота
Студента фармацевтичного факультету,
група______, шифр_______,
заочного відділення
Національної фармацевтичної академії України
__________________________________
(прізвище,
__________________________________
імя та по батькові)
Домашня адреса:_____________________________
______________________________________________
Тема 1.
ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ С ОДНОЙ ПЕРЕМЕННОЙ.
1. Теоретические сведения.
1.1. Постановка задачи.
Пусть задано уравнение с одной переменной
f (х) =0, (1)
где функция f (x) определена и непрерывна на некотором промежутке [а; b].
Решить уравнение означает найти множество его корней, то есть таких значений x [а; b], при которых уравнение (1) превратится в тождество. Корень уравнения (6.1) называют еще нулем функции f (х). Если функция f (x) алгебраический многочлен, то уравнение (1) называется алгебраическим. Если функция f(х) содержит тригонометрические, показательные или логарифмические функции, тогда уравнение (1) называют трансцендентным.
Найти точное значение корня заданного уравнения можно только для простейших функций f (x): алгебраических многочленов не выше четвертого степени, некоторых многочленов степени n5 и некоторых трансцендентных функций.
Задача нахождения корней уравнения (1) считается решенной, если корни вычислены с наперед заданной точностью.
Пусть x* - точный корень, а - его приближенное значение. Говорят, что корень вычислено с наперед заданной точностью , если .
Нахождение приближенных корней уравнения (1) состоит из двух этапов:
1) выделение корней, то есть нахождение довольно малых отрезков, на каждом из которых находится один и только один корень уравнения;
2) вычисление корней с наперед заданной точностью.
Первый этап называют еще задачей определения отрезков изоляции корней, а другой уточнением приближенных корней.
1.2. Отделение корней.
Корень x* уравнения (1) считается отделенным на отрезке [a; b], если х* [а; b] и на этом отрезке данное уравнение не имеет других корней. Чтобы отделить корни уравнения (1), следует разбить область определения данного уравнения на отрезки, на каждом из которых содержится один и только один корень либо нет ни одного корня. Отделяют корни графическим и аналитическим методами, а также методом последовательного перебора.
Для отделения корней графическим методом строят график функции y=f(х) и находят точки пересечения графика с осью абсцисс и концы отрезков изолированного корня.
Алгоритм отделения корней уравнения (1) можно сформулировать так:
1. Найти область определения уравнения.
2. Найти критические точки функции f (х).
3. Записать интервалы монотонности функции f (x).
4. Определить знак функции f(х) на концах интервалов монотонности.
5. Определить отрезки, на концах которых функция f(х) приобретает значения противоположных знаков.
6. Найденные отрезки изоляции корней при необходимости сузить.
1.3. Уточнение корня методом деления отрезка пополам.
Метод деления отрезка пополам (или метод дихотомии) применяется для уточнения корня уравнения f (x)=0 с наперед заданной точностью.
За начальное приближение выбираем середину отрезка [a; b]
. (2)
Проводим исследование значения функции на концах отрезков [a; ] и [;b]. Искомый корень находится в том отрезке, на концах которого функция приобретает значение противоположных знаков. За новое приближение выбираем середину нового отрезка
Итерационный процесс продолжается до тех пор, пока не будет достигнуто выполнение условий:
. (3)
1.4. Метод простых итераций.
Пусть задано уравнение f(x)=0, где f(x) непрерывная функция. Чтобы найти действительные корни этого уравнения, заменим его равносильным:
x=(x). (4)
Теперь, чтобы решить уравнение (4) применяют метод последовательных приближений (метод итерации). Выбирают некоторое начальное приближение x0 и последовательно вычисляют следующие приближения:
xk=(xk-1), k= 1.2,... (5)
Сходимость последовательности {хk} обеспечивается соответствующим выбором функции (х) и начального приближения х0. Выбирая по-разному функцию (х), можно составит разные итерационные методы решения уравнения (4).
а) 0< (x) <1;
б)'-1< (x) <0;
в) (x) >1;
г) (x) <-1
Рисунок 1. Геометрическое представление метода итераций
Метод итерации имеет простой геометрический смысл. Построим графики функций у=х и у=(х). Абсцисса точки сечения графиков этих функций является корнем уравнения (4) (рис. 1).
На отрезке [а; b] произвольно выбираем точку х0 и проводим через нее прямую, параллельную оси ординат до пересечения с кривой у=(х) в точке A0 (x0, (x0)). Из точки А0 проведем прямую, параллельную оси абсцисс, до пересечения с прямой y=x. В результате получим точку В1 с ординатой (x0). Спроектировав точку B1 на ось Ох, находим абсциссу x1=(x0). Аналогично через х1 проводим прямую, параллельную оси ординат, до пересечения с кривой у=(х) в точке A1 (x1, (x1)). Из точки А1 проводим прямую, параллельную оси абсцисс, до пересечения с прямой у=х в точке B2 (x2, (x1)), абсцисса которой х2=(х1) и т.д. В результате совместные абсциссы точек A1 и B1, A2 и B2 есть последовательными приближениями x1, x2, x3... корня х*.
Если |' (х)|< 1, то последовательные приближения xk сходятся к корню х*, если |' (х)|> 1, то последовательные приближения отдаляются от него.
Скорость сходимости зависит также от выбора начального приближения x0. Чем ближе к корню х* выбрано x0, тем быстрее будет найден результат.
Процесс итераций можно закончить, если будет выполнено следующее неравенство
|xk xk-1|<.
1.5 Метод Ньютона.
Пусть уравнение f(х)=0 на отрезке [а; b] имеет изолированный корень x*, то есть f (a) f (b) < 0, а функции f (x) и f' (x) непрерывны и сохраняют свой знак на [a; b].
Пусть хk - k-е приближение корня. Разложим f (х) в ряд Тейлора в окрестности точки хk.
.
Вместо уравнения f (х)=0 рассмотрим уравнение
f (xk) +f (xk)(x-xk)=0,
Которое учитывает только линейную относительно х хk часть ряда Тейлора. Разрешив его относительно x, получим
.
Взяв найденное значение х за следующее приближение, получим
, k=0.1, 2, …. (6)
Формула (6) определяет метод Ньютона. Он имеет простую геометрическую интерпретацию. Значение, хk+1 является абсциссой точки пересечения касательной с кривой у=f(x) в точке (xk, f(xk)) (рис. 2). Поэтому метод Ньютона называют еще методом касательных. Из рис.2 видно, что последовательные приближения сходятся к корню х* монотонно.
За начальное приближение в методе Ньютона следует брать точку
x0 [a; b], в которой .
Достаточные условия сходимости метода Ньютона дает такая теорема.
Теорема. Пусть на отрезке [a; b] функция f (х) имеет непрерывные с устойчивыми знаками производные f(x) 0, f'(x)0 и f(a)f(b)<0. Тогда существует такая окружность R [a; b] корня х* уравнения f(x)=0, что для любого x0 R последовательность {xk}, вычисленная по формуле (6), сходится к корню х*.
Преимущество метода Ньютона перед методом итерации в том, что он имеет более высокую скорость сходимости.
Недостатком метода Ньютона является то, что на каждой итерации нужно вычислять не только значение функции f(х), но и значение ее производной f' (х).
1.6 Метод хорд.
Метод хорд один из распространенных итерационных методов. Его еще называют методом линейного интерполирования, методом пропорциональных частей.
Идея метода хорд в том, что на достаточно малом отрезке дуга кривой у=f (x) заменяется хордой и абсцисса точки пересечения хорды с осью Ox является приближенным значением корня.
Рисунок 2 Геометрическая интерпретация метода Ньютона.
Пусть для определенности f' (х)>0, f''(x)>0, f(а)<0, f(b)>0 (рис. 3, а). Возьмем за начальное приближение искомого корня х* значения х0=а. Через точки а0 и В проведем хорду и за первое приближение корня х* возьмем абсциссу x1 точки пересечения хорды с осью ОХ. Теперь приближенное значение х1 корня можно уточнить если применить метод хорд на отрезке [х1; b]. Абсцисса х2 точки пересечения хорды А1В будет другим приближением корня. Продолжая этот процесс далее, получим последовательность х0, х1, х2,..., хk,... приближенных значений корня х* данного уравнения.
Таким образом метод хорд можно записать так:
, k=0, 1.2, …, (8)
В общем случае неподвижным будет тот конец отрезка изолированного корня, в которой знак функции f(х) совпадает со знаком второй производной, а за начальное приближение x0 можно взять точку отрезка [а; b], в которой f(x0)f'(x0) < 0.
Например, когда f (a)>0, f (b)<0, f'(х)<0, f"(х)<0 (рис. .3, б) конец b отрезка [а; b] является неподвижным.
Если f (а)>0, f(b)<0, f'(х)<0, f"(x)>0 (рис.3, в), или f(а)<0, f(b)>0, f(х)>0, f'(x)<0 (рис. 3, г), точка а является неподвижным концом отрезка [а; b].
Достаточные условия сходимости метода хорд дает такая теорема.
Рисунок 3. Геометрическая интерпретация метода хорд
Теорема. Пусть на отрезке [а; b] функция f (х) непрерывна вместе со своими производными второго порядка включительно, причем f(a)f(b)<0, а производные f' (x) и f" (х) сохраняют свои знаки на [а; b], тогда существует такая окружность корня х* уравнения f(x)=0, что для любого начального приближения х0 этой окружности последовательность {хk}, вычисленная по формуле (8), сходится к корню х*.
2. Задание для выполнения контрольной работы.
Варианты заданий представлены в таблице 1.
1. Отделить корни заданного уравнения f(х)=0 одним из методов: графическим, аналитическим или методом последовательного перебора.
2. Уточнить один из отделенных корней уравнения двумя, указанными в табл. 1, методами с точностью =0.510-3 и =0.510-6. При реализации методов использовать табличный процессор Excel.
3. Сравнить использованные методы между собою по количеству итераций, необходимых для нахождения корня с заданной точностью.
Пояснения к выполнению работы. Выполняя п. 1 задания, отрезок изоляции корня желательно сузить до длины, которая не превышает единицы.
При уточнении изолированного корня методом простой итерации приведенное в табл. 1 уравнение необходимо привести к виду х=(х), где функция (x) на отрезке изоляции корня должна удовлетворять условию | (x)|< 1.
Перед тем как пользоваться методами хорд, касательных и комбинированным, необходимо проверить выполнение достаточных условий сходимости соответствующего метода.
Таблица 1 - варианты заданий
Вариант |
Уравнение |
Метод |
1 |
2 |
3 |
1 |
2x+5x 3=0 |
дихотомии, Ньютона |
2 |
x3 3x2+6x+3=0 |
дихотомии, Ньютона |
3 |
x3 3x2+2.5=0 |
дихотомии, Ньютона |
4 |
x2+4sin(x)=0 |
дихотомии, Ньютона |
5 |
sin(x) x ln(1+x)+1=0 |
дихотомии, Ньютона |
6 |
x3 3x2 3.5=0 |
дихотомии, Ньютона |
7 |
x2 20sin(x)=0 |
дихотомии, Ньютона |
8 |
2x3+9x2 4=0 |
дихотомии, Ньютона |
9 |
x cos(x2) 3 =0 |
дихотомии, Ньютона |
10 |
2ex+2x 3=0 |
дихотомии, Ньютона |
11 |
2 x ln (x)=0 |
итерации, хорд |
12 |
x2 ln (1+x) 3=0 |
итерации, хорд |
13 |
ln(1.5x) 1.7x+3=0 |
итерации, хорд |
14 |
итерации, хорд |
|
15 |
итерации, хорд |
|
16 |
x (3+sin (3.6 x))-1=0 |
итерации, хорд |
17 |
итерации, хорд |
|
18 |
x3 3x2+9x+2 =0 |
итерации, хорд |
19 |
x3 sin(x)=0 |
итерации, хорд |
20 |
x3 0.1 x2+0.4 x 1.5=0 |
итерации, хорд |
21 |
ctg (x) 0.5x=0 |
Ньютона, хорд |
22 |
x2 cos (x)=0 |
Ньютона, хорд |
23 |
2x3 3x2 12x+12=0 |
Ньютона, хорд |
24 |
3x+5x 2=0 |
Ньютона, хорд |
25 |
(x 3)cos (x) 1=0 |
Ньютона, хорд |
26 |
2sin (x 0.6)+x 1.5=0 |
Ньютона, хорд |
27 |
x3+4x 6=0 |
Ньютона, хорд |
28 |
x3 3x2 24x 5=0 |
Ньютона, хорд |
29 |
2x(x 2) 2 1=0 |
Ньютона, хорд |
30 |
2xsin(x) cos(x)=0 |
Ньютона, хорд |
3. Содержание отчета к заданию.
В отчете необходимо предъявить:
Пример выполнения задания.
Условие.
Решить уравнение
используя численные методы: метод дихотомии, метод Ньютона. Решения получить с точностью . Вычисления организовать в среде табличного процессора Excel. Сравнить количество итераций, которые необходимо провести для получения решения с заданной точностью, сделать вывод.
Решение.
1. Для приближенного отделения корней заданного уравнения построим график функции:
Построение проведем в среде табличного процессора Excel (файл “Задание1.xls”, лист1).
На рисунке приведен график этой функции.
Из рисунка видно, что функция пересекает ось OX между значением 0.8 и 1. Таким образом, корень уравнения f(x)=0 принадлежит отрезку [0.8; 1].
Из расчетов получим:
f(0.8)<0; f(1)>0.
2. Уточнение значения корня методом деления отрезка пополам.
Полученные при приближенном отделении границы отрезка могут быть использованы для уточнения решения методом деления отрезка пополам a=0.8, b=1.
Метод деления отрезка пополам (или метод дихотомии) применяется для уточнения корня уравнения f (x)=0 с наперед заданной точностью.
За начальное приближение выбираем середину отрезка [a; b]
. (2)
Проводим исследование значения функции на концах отрезков [a; ] и [; b]. Искомый корень находится в том отрезке, на концах которого функция приобретает значение противоположных знаков. За новое приближение выбираем середину нового отрезка
Итерационный процесс продолжается пока не будет достигнуто выполнение условий:
Расчет проведем в среде табличного процессора Excel (“Задание1.xls”, лист2).
Формулы, которые заносятся в соответствующие ячейки, приведены в таблице:
A |
B |
C |
D |
E |
F |
|
1 |
№ |
a |
b |
X=(a+b)/2 |
F(x) |
e |
2 |
0.8 |
1 |
=(B2+C2)/2 |
=3*D2-3*COS(D2)-1 |
=C2^3-3*C2^2+2.5 |
|
3 |
… |
… |
… |
… |
… |
… |
и т.д.
В случае, когда F(x) < 0, соответствующее значение x заносится в столбец B, иначе в столбец C. Вычисления продолжаются до тех пор, пока не будет достигнута заданная точность нахождения корня уравнения (значения находятся в столбце F).
В результате проведения вычислений, получим следующие значения:
№ |
a |
b |
X=(a+b)/2 |
F(x) |
e |
0.8 |
1 |
0.9 |
-0.16483 |
0.2 |
|
1 |
0.9 |
1 |
0.95 |
0.104951 |
0.1 |
2 |
0.9 |
0.95 |
0.925 |
-0.0305 |
0.05 |
3 |
0.925 |
0.95 |
0.9375 |
0.037085 |
0.025 |
4 |
0.925 |
0.9375 |
0.93125 |
0.003256 |
0.0125 |
5 |
0.925 |
0.93125 |
0.928125 |
-0.01363 |
0.00625 |
6 |
0.928125 |
0.93125 |
0.929688 |
-0.00519 |
0.003125 |
7 |
0.9296875 |
0.93125 |
0.930469 |
-0.00097 |
0.001563 |
8 |
0.9304688 |
0.93125 |
0.930859 |
0.001144 |
0.000781 |
9 |
0.9304688 |
0.930859 |
0.930664 |
8.76E-05 |
0.000391 |
10 |
0.9304688 |
0.930664 |
0.930566 |
-0.00044 |
0.000195 |
11 |
0.9305664 |
0.930664 |
0.930615 |
-0.00018 |
9.77E-05 |
12 |
0.9306152 |
0.930664 |
0.93064 |
-4.4E-05 |
4.88E-05 |
13 |
0.9306396 |
0.930664 |
0.930652 |
2.16E-05 |
2.44E-05 |
14 |
0.9306396 |
0.930652 |
0.930646 |
-1.1E-05 |
1.22E-05 |
15 |
0.9306458 |
0.930652 |
0.930649 |
5.12E-06 |
6.1E-06 |
16 |
0.9306458 |
0.930649 |
0.930647 |
-3.1E-06 |
3.05E-06 |
17 |
0.9306473 |
0.930649 |
0.930648 |
9.99E-07 |
1.53E-06 |
18 |
0.9306473 |
0.930648 |
0.930648 |
-1.1E-06 |
7.63E-07 |
19 |
0.9306477 |
0.930648 |
0.930648 |
-3.2E-08 |
3.81E-07 |
Отсюда:
значение корня с точностью x= 0.9305 n=9 итераций;
значение корня с точностью x= 0.9306477-- n=19 итерации.
2. Метод Ньютона.
Вычислим первую и вторую производную от функции:
Условием сходимости итерационного процесса при реализации метода Ньютона является . F”(x) на отрезке, на котором находится корень уравнения больше 0. Следовательно, условие выполняется для . Тогда в качестве начального приближения для метода Ньютона может быть выбрано значение x0=1, F(1) >0.
Расчет реализуем в среде табличного процессора Excel (“Задача1.xls”, лист3).
Ниже приведены формулы и значения, заносимые в столбцы листа табличного процессора для реализации этого метода.
A |
B |
C |
D |
E |
|
1 |
Итерации |
с |
F(с) |
F'(с) |
e |
2 |
1 |
=3*B2-3*COS(B2)-1 |
=3+3*SIN(B2) |
||
3 |
1 |
=B2-C2/D2 |
=3*B3-3*COS(B3)-1 |
=3+3*SIN(B3) |
=ABS(B2-B3) |
4 |
2 |
=B3-C3/D3 |
=3*B4-3*COS(B4)-1 |
=3+3*SIN(B4) |
=ABS(B3-B4) |
5 |
… |
… |
… |
… |
… |
и т.д.
Вычисления прекращаются, когда будет достигнута заданная для нахождения корня точность (значения e).
В результате проведения вычислений, получим следующие значения:
Итерации |
с |
F(с) |
F'(с) |
e |
1 |
0.379093 |
5.524413 |
||
1 |
0.931378576 |
0.003951 |
5.40733 |
0.068621424 |
2 |
0.930647944 |
4.78E-07 |
5.406021 |
0.000730632 |
3 |
0.930647856 |
6.66E-15 |
5.406021 |
8.84157E-08 |
значение корня с точностью x= 1.1685- n=3 итерации;
4. Выводы.
1) Таким образом, методом Ньютона и методом хорд было получено численное решение уравнения: .
С точностью значение корня x= 0.930648, ( |F(x)|<10-7).
2) Значения корня, полученные методом Ньютона и методом деления отрезка пополам, совпадают для заданной точности.
3) Для достижения заданной точности определения корня метод Ньютона требует существенно меньшего числа шагов, чем метод деления отрезка пополам.
Тема 2.
ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ ФУНКЦИЙ.
1. Теоретические сведения.
1.1 Постановка задачи.
Задача численного интегрирования заключается в вычислении посредством ряда значений подынтегральной функции y=f(x).
Численные методы можно условно сгруппировать по способу аппроксимации подынтегральной функции.
Методы Ньютона- Котеса основаны на аппроксимации функции f(x) полиномом степени n. Алгоритмы этого класса отличаются только степенью полинома. Как правило, узлы аппроксимирования полинома равноотстоящие.
Методы сплайн- интегрирования базируются на аппроксимации функции f(x) сплайном кусочным полиномом.
В методах наивысшей алгебраической точности (метод Гаусса) используют специально выбранные не равноотстоящие узлы, обеспечивающие минимальную погрешность интегрирования при заданном (выбранном) количестве узлов.
Методы Монте-Карло используют чаще всего при вычислении кратных интегралов, узлы выбираются случайным образом, ответ носит вероятностный характер.
Независимо от выбранного метода в процессе численного интегрирования необходимо вычислить приближенное значение интеграла и оценить погрешность. Погрешность уменьшается при увеличении n числа разбиений отрезка [a;b]. Однако при этом возрастает погрешность округления за счет суммирования значений интегралов, вычисленных на частичных отрезках.
Погрешность усечения зависит от свойств подынтегральной функции и длины h частичного отрезка.
Чаще всего используют квадратурные формулы, в которых используются значения подынтегральной функции в отдельных точках отрезка интегрирования, т.е. формулы вида
. (1)
Сумму в правой части называют квадратурной суммой, действительные числа xk и Ak соответственно узлами и коэффициентами квадратурной формулы. Будем считать, что узлы квадратурной формулы (5.2) пронумерованы в порядке возрастания x1<x2<...<xn.
Равенство (1) приближенное. Разницу между определенным интегралом и квадратурной суммой
, (2)
называют остаточным членом, или погрешностью квадратурной формулы (1).
1.2 Формула прямоугольников.
Приближенное значение интеграла, где f непрерывна на [x0; x0+h] можно найти, если функцию заменить интерполяционным многочленом нулевой степени, т.е. для всех x[x0; x0+h] положить f(x)=f(c), где c[x0; x0+h]. Тогда получим приближенное равенство
. (3)
Если f(x)0 непрерывна на [x0;x0+h] , то приближенное равенство можно толковать геометрически так: за приближенное значение криволинейной трапеции ограниченной снизу осью абсцисс, сверху графиком функции, а по бокам прямыми и, берется значение площади прямоугольника. Если c=x0 или c=x0+h, или, то (3) называют соответственно формулой левых или правых, или средних прямоугольников.
Если непрерывная функция f задана на большом промежутке [a; b], а желательно вычислить с большей точностью, то отрезок [a; b] делят на n равных отрезков длиной h=(b-a)/n, точками: a=x0<x1 < x2 < …< xk < xr+1<…< xn=b.
И к каждому из отрезков [xk; xk+1] (k=0,1,…,n-1) применяют формулу (3)
Получают
, (4)
где с- произвольная точка из отрезка [x0;x1].
Положив в (3) с=а; с=а+h, с=а+1/2h, можно вывести обобщенные формулы соответственно левых, правых и средних прямоугольников.
Остаточный член для метода средних прямоугольников запишется в виде:
. (5)
1.3. Формула трапеций.
Если f(x) непрерывная постоянная функция на отрезке [a; b], то можно геометрически толковать так: за приближенное значение интеграла берется площадь трапеции.
Чтобы вычислить приближенное значение интеграла, где f непрерывная вместе с производными первого и второго порядков на [a; b], с достаточной точностью, отрезок [a; b] делят на n равных отрезков длиной и к каждому из отрезков [xk, xk+1], (k=0,1,…,n-1) применяют формулу трапеций.
При этом получают квадратурную формулу:
, (6)
которую называют обобщенной формулой трапеций.
Остаточный член:
. (7)
Из (7) вытекает, что обобщенная формула трапеций точна для линейной функции, т.к. вторая производная от линейной функции равняется нулю.
1.4. Формула Симпсона.
Если необходимо произвести вычисления интеграла с достаточной точностью, то отрезок [a; b] делят на 2n равных отрезков длиной и к каждому из отрезков [x2k;x2k+2] применяют формулу Симпсона
, (8)
.
Таким образом, получаем обобщенную формулу Симпсона (парабол):
. (9)
Остаточный член обобщенной формулы Симпсона:
. (10)
Отсюда получаем такую оценку абсолютной погрешности численного интегрирования по обобщенной формуле Симпсона:
. (11)
1.6 Сравнение погрешности квадратичных формул.
Точность квадратурной формулы характеризуется порядком остаточного члена степени шага интегрирования.
Итак, остаточные члены формул левых и правых прямоугольников относительно h имеют первый порядок: R(f)=O(h), средних прямоугольников и трапеций второй: R(f)=O(h²), а Симпсона четвертый: R(f)=O(h4). Квадратурную формулу считают тем точнее, чем больше порядок ее остаточного члена R(f). Из рассмотренных ранее квадратурных формул самой точной является формула Симпсона, а наименее точными формулы левых и правых прямоугольников. Точность формул средних прямоугольников и трапеций одинакова.
2. Задание для выполнения контрольной работы.
Варианты заданий изложены в таблице 2.
1. Построить алгоритм вычисления приближенного значения интеграла по обобщенной формуле указанной в табл.2 и составить соответствующий алгоритм вычисления в среде табличного процессора Excel.
2. Используя этот алгоритм вычислить значение интеграла на указанном отрезке интегрирования [a;b], разделив отрезок на N0 равных частей, оценить остаточный член.
3. Сравнить вычисленное значение интеграла с тем значением, которое получают путем непосредственного интегрирования.
Таблица 2 - варианты функций численного интегрирования.
Вариант |
a |
B |
N0 |
Формула |
|
1. |
0 |
1 |
5 |
прямоугольников |
|
2. |
0 |
1 |
5 |
прямоугольников |
|
3. |
0 |
1 |
5 |
прямоугольников |
|
4. |
0 |
1 |
5 |
прямоугольников |
|
5. |
0 |
1 |
5 |
прямоугольников |
|
6. |
0 |
1 |
5 |
прямоугольников |
|
7. |
0 |
1 |
5 |
прямоугольников |
|
8. |
0 |
1 |
5 |
прямоугольников |
|
9. |
0 |
1 |
5 |
прямоугольников |
|
10. |
0 |
1 |
5 |
прямоугольников |
|
11. |
0 |
1 |
5 |
трапеций |
|
12. |
0 |
1 |
6 |
трапеций |
|
13. |
0 |
1 |
6 |
трапеций |
|
14. |
1 |
2 |
8 |
трапеций |
|
15. |
1 |
2 |
8 |
трапеций |
|
16. |
0 |
1 |
6 |
трапеций |
|
17. |
0 |
1 |
6 |
трапеций |
|
18. |
0 |
1 |
6 |
трапеций |
|
19. |
0 |
1 |
5 |
трапеций |
|
20. |
0 |
1 |
5 |
трапеций |
|
21. |
0 |
1 |
6 |
Симпсона |
|
22. |
1 |
2 |
10 |
Симпсона |
|
23. |
0 |
1 |
10 |
Симпсона |
|
24. |
2 |
3 |
8 |
Симпсона |
|
25. |
0 |
6 |
Симпсона |
||
26. |
1 |
7 |
6 |
Симпсона |
|
27. |
2 |
7 |
6 |
Симпсона |
|
28. |
0 |
14 |
8 |
Симпсона |
|
29. |
0 |
2 |
10 |
Симпсона |
|
30. |
0 |
1 |
6 |
Симпсона |
3. Содержание отчета к заданию.
В отчете необходимо предъявить:
Пример выполнения задания.
Условие.
Используя метод Симпсона вычислить:
При вычислении разбить отрезок интегрирования на 8 частей. Оценить погрешность вычисления по остаточному члену. Вычисления организовать в среде табличного процессора Excel.
Получить аналитическое выражение для указанного интеграла и рассчитать его значение. Сравнить точное значение с результатом вычисления методом Симпсона, сделать вывод.
Решение
1. Найдем точное значение интеграла:
Применим формулу интегрирования по частям:
Обозначим u=ln2(x); dv=xdx тогда du=2*(ln(x)/x)dx; v=x2/2, откуда
Применим еще раз формулу интегрирования по частям. Обозначим u=ln(x); dv=xdx тогда du=(1/x)dx; v=x2/2, откуда
I= 2.16290335793361….
2. Вычислим значение интеграла методом Симпсона.
В этом случае приближенное значение интеграла может быть рассчитано по формуле:
, где N=8 число интервалов, на которое разбивается отрезок интегрирования.
Расчет интеграла проведем в среде табличного процессора Excel (файл “Задание2.xls”).
В столбец A будем заносить значение x (шаг интегрирования ), в столбце B вычислять значение функции .
Ниже приведены формулы и значения, заносимые в столбцы A и B.
X |
f(x) |
2 |
=A2*(LN(A2))^2 |
=A2+1/8 |
=A3*(LN(A3))^2 |
=A3+1/8 |
=A4*(LN(A4))^2 |
=A4+1/8 |
=A5*(LN(A5))^2 |
=A5+1/8 |
=A6*(LN(A6))^2 |
=A6+1/8 |
=A7*(LN(A7))^2 |
=A7+1/8 |
=A8*(LN(A8))^2 |
=A8+1/8 |
=A9*(LN(A9))^2 |
=A9+1/8 |
=A10*(LN(A10))^2 |
Сумма |
=B2+B10+2*(B4+B6+B8)+4*(B3+B5+B7+B9) |
Интеграл |
=B11*1/24 |
В ячейке B12, таким образом, будет получено значение интеграла.
I*= 2.1629034972…
Погрешность метода остаточный член оценивается по формуле:
Для оценки погрешности найдем производную четвертого порядка от f(x):
;
Оценивая fIV на отрезке [2;3], получим |fIV|<0.12.
Отсюда
3. Выводы.
1) Точное значение. Значение интеграла, полученное методом Симпсона при шаге интегрирования h=1/8, I*» 2.1629034972.
2) Согласно оценке остаточного члена это значение не должно отличаться от точного значения более чем на R=2*10-7.
Истинная погрешность составляет |I*-I|» 1.4*10-7, что согласуется с полученной оценкой.
Тема 3.
РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЕРВОГО ПОРЯДКА.
1. Теоретические сведения.
1.1. Постановка задачи.
В зависимости от числа независимых переменных дифференциальные уравнения делятся на две группы:
Обыкновенные дифференциальные уравнения содержат, кроме независимой переменной, одну или несколько производных от искомой функции у. Их можно записать в виде
F( x, у, у', у", … , у(n) ) = 0, (1)
где x независимая переменная.
Наивысший порядок n, входящей в уравнение производной, называется порядком дифференциального уравнения. Например, общий вид дифференциальных уравнений первого и второго порядков
F(x, у, у') = 0
F(x, y, y', y") = 0. (2)
В ряде случаев из общей записи дифференциального уравнения удается выразить старшую производную в любом виде. Например,
y' = f(x, y),
у" = f(x, у, у').
Такая форма записи называется уравнением, разрешенным относительно старшей производной.
Решением дифференциального уравнения называется всякая функция у = (x), которая после подстановки ее в уравнение, превращает его в тождество (верное равенство).
Общее решение обыкновенного дифференциального уравнения n-го порядка содержит и произвольных постоянных С1, С2, … , СN, т.е. общее решение имеет вид:
у = (x, C1, C2, … , CN).
Частное решение дифференциального уравнения получается из общего, если произвольным постоянным придать определенные значения.
Для уравнения первого порядка общее решение зависит от одной произвольной касательной
у = (x, С).
Если постоянная принимает определенное значение C = С0, то получим частное решение
у = (x, С0).
Исходя из геометрической интерпретации общего решения дифференциального уравнения первого порядка и из теоремы Коши имеем, что для выделения некоторого частного решения уравнения первого порядка достаточно задать координаты (x0, у0) произвольной точки на данной интегральной кривой.
Для дифференциального уравнения второго порядка необходимо задать два дополнительных условия, благодаря которым можно найти значения двух произвольных постоянных.
В зависимости от способа задания дополнительных условий для получения частного решения дифференциального уравнения существует два различных типа задач:
задача Коши;
краевая задача.
Дополнительные условия в задаче Коши задаются в одной точке x = x0 и называются начальными условиями, а точка, в которой они задаются начальной точкой.
Дополнительные условия для краевой задачи задаются в более или одной точке, обычно в двух точках x = а и x = b, являющихся границами области решения дифференциального уравнения, и называются граничными (краевыми) условиями.
1.2 Методы решения.
Методы решения обыкновенных дифференциальных уравнений можно разбить на следующие группы: графические, аналитические, приближенные, численные.
Графические методы используют геометрические построения. Например, метод изоклин для решения дифференциального уравнения первого порядка вида (2), основанный на геометрическом определении интегральных кривых по заранее построенному полю направлений, определенному изоклинами.
Аналитические методы излагаются в курсе дифференциальных уравнений. Они дают возможность для ряда уравнений первого порядка (с разделяющимися переменными, однородными, линейными и др.), а также для некоторых типов уравнений высших порядков (линейных с постоянными коэффициентами) получить решение в виде формул путем аналитических преобразований.
Приближенные методы, используют различные упрощения самих уравнений путем обоснованного отбрасывания некоторых содержащихся в них членов, а также специальным выбором классов некоторых функций. Например, в некоторых инженерных задачах удается представить решение в виде суммы двух составляющих, первое из которых определяет основное решение, а второе малая добавка (возмущение), квадратом которой можно пренебречь. На этом основаны различные методы линеаризации.
Численные методы решения дифференциальных уравнений в настоящее время являются основным инструментом при исследовании научно-технических задач, описываемых дифференциальными уравнениями. Наиболее распространенным и универсальным численным методом решения дифференциальных уравнений является метод конечных разностей. Его сущность состоит в следующем. Область непрерывного изменения аргумента заменяется дискретным множеством точек, называемых узлами. Эти узлы составляют разностную сетку. Искомая функция непрерывного аргумента приближенно заменяется функцией дискретного аргумента на заданной сетке. Эта функция называется сеточной. Исходное дифференциальное уравнение заменяется разностным уравнением относительно сеточной функции. При этом для входящих в уравнение производных используют соответствующие конечно-разностные соотношения. Например, для вычисления производных в точке x1:
,
,
, (3)
.
Таким образом, решение дифференциального уравнения сводится к отысканию значений сеточной функции в узлах сетки.
Рассмотрим применение метода конечных разностей для решения задачи Коши: найти функцию, удовлетворяющую уравнению
y' = f(x, y) (4)
и принимающую при x = x0 заданное значение у0:
y(x0) = y0.
Решение необходимо получить для значений x>x0.
Согласно метода осуществим переход от дифференциальной задачи (4) относительно функции у к разностной задаче относительно сеточной функции уi, i = 0, 1, …, предварительно введя последовательность точек x0, x1, … , шаги hi = xi+1 - xi (i=0, 1, …) и выполнив замену производных в дифференциальном уравнении отношением конечных разностей (3). Полученное в результате этого разностное уравнение в общем виде имеет вид
уi+1 = F(xi, hi, yi+1, yi, …… yik+1), i =1, 2, … (5)
Конкретное выражение правой части уравнения (5) зависит от способа аппроксимации производной. Для каждого численного метода получается свой вид уравнения (5).
На основании анализа вида разностного уравнения (5) можно провести некоторую классификацию численных методов решения задачи Коши для обыкновенных дифференциальных уравнений.
Если в правой части (5) отсутствует уi+1, т.е. значение уi+1 явно вычисляется по k предыдущим значениям уi, уi1, … ,уik+1, то разностная схема называется явной. При этом получается k-шаговый метод: k = 1 одношаговый, k = 2 двухшаговый и т.д.
1.2.1 Метод Эйлера-Коши.
Метод Эйлера-Коши простейший одношаговый метод первого порядка для численного интегрирования дифференциальных уравнений. Он реализуется следующей рекуррентной формулой
yi+1 = yi +hf(xi,уi), i = 0,1, … (6)
где h шаг интегрирования (приращение переменной x), h = const.
Погрешность метода пропорциональна h2.
1.2.2. Модифицированный метод Эйлера.
Модифицированный метод Эйлера является одношаговым методом второго порядка, реализуется следующими формулами
уi+1 = yi + hf(xi + h/2, у*(i+1/2)),
у*(i+1/2) = уi +hf(xi, yi)/2. (7)
Метод дает погрешность, пропорциональную h3.
1.2.3. Метод Рунге-Кутта.
Метод Рунге-Кутта одношаговый метод решения обыкновенных дифференциальных уравнений, на котором построены разностные схемы разного порядка точности.
Двучленная формула имеет вид
yi+I=yi+p21kI+p22k2, (8)
где kI=hf(xi,yi),
k2=hf(xi+2h; yi+21k1),
21=2,
p22=-1/(22),
p21=I+p22.
Для 2=1
,
k1 = f(xi, yi),
k2 = f(xi+1, yi + hk1), (9)
xi+1 = xi + h.
Четырехчленная формула Рунге-Кутта
уi+1 = уi +1/6(k1 + 2k2 + 2k3 + k4),
k1 = hf(xi, yi),
k2 = hf(xi + h/2, yi + k1/2), (10)
k3 = hf(xi + h/2, yi + k2/2),
k4 = hf(xi + h, yi + k3).
2. Задание для выполнения контрольной работы.
Варианты заданий изложены в таблице 3.
1. Построить алгоритм решения обыкновенное дифференциальное уравнение первого порядка на отрезке [a, b], шаг h = 0.1 и h = 0.01, для каждого метода, указанного в табл.3 и составить соответствующий алгоритм вычисления в среде табличного процессора Excel.
2. Все вычисления вести с четырьмя десятичными знаками после запятой.
3. Сравнить результаты вычисления различных методов с различными шагами интегрирования.
Таблица 3 варианты обыкновенных дифференциальных уравнений для решения численными методами.
№ п/п |
Уравнения |
Методы |
1 |
[1.8;2.8] y(1.8)=2.6 |
Эйлера и Рунге-Кутта II порядка |
2 |
y=x+cos(y/3) [1.6;2.6] y(1.6)=4.6 |
Эйлера и Рунге-Кутта II порядка |
3 |
[0.6;1.6] y(0.6)=0.8 |
Эйлера и Рунге-Кутта II порядка |
4 |
[0.5;1.5] y(0.5)=0.6 |
Эйлера и Рунге-Кутта II порядка |
5 |
y=x+cos(y/) [1.7;2.7] y(1.7)=5.3 |
Эйлера и Рунге-Кутта II порядка |
6 |
y=x+cos(y/2.25) [1.4;2.4] y(1.4)=4.2 |
Эйлера и Рунге-Кутта II порядка |
7 |
y=x+cos(y/e) [1.4;2.4] y(1.4)=2.5 |
Эйлера и Рунге-Кутта II порядка |
8 |
[0.8;1.8] y(0.8)=1.4 |
Эйлера и Рунге-Кутта II порядка |
9 |
[1.2;2.2] y(1.2)=2.1 |
Эйлера и Рунге-Кутта II порядка |
10 |
[2.1;3.1] y(2.I)=2.5 |
Эйлера и Рунге-Кутта II порядка |
11 |
[1.8;2.8] y(1.8)=2.6 |
Эйлера и Рунге-Кутта II порядка |
12 |
y=x+sin(y/3) [1.6;2.6] y(1.6)=4.6 |
Эйлера и Рунге-Кутта II порядка |
13 |
[0.6;1.6] y(0.6)=0.8 |
Эйлера и Рунге-Кутта II порядка |
14 |
[0.5;1.5] y(0.5)=0.6 |
Эйлера и Рунге-Кутта II порядка |
15 |
y=x+sin(y/) [1.7;2.7] y(1.7)=5.3 |
Эйлера и Рунге-Кутта II порядка |
16 |
[1.4;2.4] y(1.4)=2.2 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
17 |
y=x+sin(y/e) [1.4;2.4] y(1.4)=2.5 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
18 |
[0.8;1.8] y(0.8)=1.3 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
19 |
[1.1;2.1] y(1.I)=1.5 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
20 |
[0.6;1.6] y(0.6)=1.2 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
21 |
y=x+sin(y/1.25) [0.5;1.5] y(0.5)=1.8 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
22 |
[0.2;1.2] y(0.2)=1.1 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
23 |
[0.1;1.1] y(0.I)=0.8 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
24 |
[0.5;1.5] y(0.5)=0.6 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
25 |
[1.2;2.2] y(1.2)=1.4 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
26 |
[0.4;1.4] y(0.4)=0.8 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
27 |
[0.3;1.3] y(0.3)=0.9 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
28 |
[1.2;2.2] y(1.2)=1.8 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
29 |
[0.7;1.7] y(0.7)=2.1 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
30 |
[0.9;1.9] y(0.9)=1.7 |
Модифицированный Эйлера и Рунге-Кутта IV порядка |
3. Содержание отчета к заданию.
В отчете необходимо предъявить:
Пример выполнения задания.
Условие.
Используя модифицированный метод Эйлера и метод Рунге-Кутта IV порядка построить численное решение дифференциального уравнения: при заданных начальных условиях:y(0.7)= 2.1 на отрезке [0.7;1.7].
Расчеты провести в среде табличного процессора Excel с шагом h=0.1 и h=0.01. Все вычисления вести с четырьмя десятичными знаками после запятой.
Сравнить результаты вычисления различных методов с различными шагами интегрирования.
Решение.
1. Решение дифференциального уравнения методом Эйлера.
Модифицированный метод Эйлера является одношаговым методом второго порядка, реализуется следующими формулами
yn+1 = yn + hf(xn + h/2, у*(n+1/2))
у*(n+1/2) = уn +hf(xn, yn)/2.
где n номер шага, xn+1 = xn +h.
Расчеты проведем в среде табличного процессора Excel(файл“Задание3.xls”,лист1).
В столбец A будем заносить значение x (), в столбце B вычислять значение функции . Ниже приведены формулы и значения, заносимые в столбцы.
A |
B |
|
1 |
X |
Y |
2 |
0.7 |
1.2 |
3 |
=A2+0.1 |
=B2+(A2+0.1/2+COS((B2+0.1/2*(A2+COS(B2/КОРЕНЬ(0.3))))/КОРЕНЬ(0.3)))*0.1 |
4 |
=A3+0.1 |
=B3+(A3+0.1/2+COS((B3+0.1/2*(A3+COS(B3/КОРЕНЬ(0.3))))/КОРЕНЬ(0.3)))*0.1 |
и т.д.
При этом получим y*(1.7) » 2.80713.
Аналогичные расчеты проведем для шага интегрирования . При этом значения x будем заносить в столбец D, в столбце E вычислять значение функции.
В этом случае получим y*(1.7) » 2.81664.
Решения отличаются на .
2. Решение дифференциального уравнения методом Рунге-Кутта IV порядка.
Метод Рунге-Кутта одношаговый метод решения обыкновенных дифференциальных уравнений, на котором построены разностные схемы разного порядка точности.
В методе Рунге-Кутта IV порядка:
yn+1 = уn +1/6(k1 + 2k2 + 2k3 + k4),
k1 = hf(xn, yn), k2 = hf(xn + h/2, yn + k1/2),
k3 = hf(xn + h/2, yn + k2/2), k4 = hf(xn + h, yn + k3).
Расчет интеграла проведем в среде табличного процессора Excel (файл “ Задание3.xls”, лист “Рунге-КуттIV”).
Ниже приведены формулы и значения, заносимые в столбцы A G.
A |
B |
C |
D |
E |
F |
|
1 |
x |
y |
f(x) |
k1 |
k2 |
k3 |
2 |
0.7 |
2.1 |
=(A2+COS(B2/КОРЕНЬ(0.3))) |
|||
3 |
=A2+0.1 |
=B2+(D3+2*E3+2*F3+G3)/6 |
=(A3+COS(B3/КОРЕНЬ(0.3))) |
=0.1*C2 |
=(A2+0.1/2+COS((B2+D3/2)/КОРЕНЬ(0.3)))*0.1 |
=(A2+0.1/2+COS((B2+E3/2)/КОРЕНЬ(0.3)))*0.1 |
4 |
=A3+0.1 |
=B3+(D4+2*E4+2*F4+G4)/6 |
=(A4+COS(B4/КОРЕНЬ(0.3))) |
=0.1*C3 |
=(A3+0.1/2+COS((B3+D4/2)/КОРЕНЬ(0.3)))*0.1 |
=(A3+0.1/2+COS((B3+E4/2)/КОРЕНЬ(0.3)))*0.1 |
k4 |
=(A2+0.1+COS((B2+F3)/КОРЕНЬ(0.3)))*0.1 |
=(A3+0.1+COS((B3+F4)/КОРЕНЬ(0.3)))*0.1 |
=(A4+0.1+COS((B4+F5)/КОРЕНЬ(0.3)))*0.1 |
и т.д.
При этом получим y*(1.7) » 2.8167474.
Аналогичные расчеты проведем для шага интегрирования . При этом значения будем заносить в столбцы J P.
В этом случае получим y*(1.7) » 2.8167553.
Решения отличаются на .
3. Таким образом.
1) Модифицированным методом Эйлера и Рунге-Кутта IV порядка построено решение дифференциального уравнения.
2) Метод Рунге-Кутта IV порядка дает более высокую точность решения, чем метод Эйлера при том же шаге интегрирования. Так при уменьшении шага в 10 раз в методе Эйлера решение было уточнено на величину , в методе Рунге-Кутта IV порядка уточнение решения составил в 1000 раз меньшую величину
Таблица вариантов контрольных заданий.
В.№ |
Тема 1 |
Тема 2 |
Тема 3 |
|
I |
I |
II |
I |
|
1 |
10 |
14 |
24 |
2 |
2 |
9 |
10 |
24 |
7 |
3 |
2 |
8 |
25 |
6 |
4 |
4 |
12 |
23 |
14 |
5 |
8 |
7 |
30 |
12 |
6 |
3 |
15 |
30 |
7 |
7 |
6 |
11 |
23 |
3 |
8 |
1 |
1 |
26 |
15 |
9 |
5 |
9 |
21 |
10 |
10 |
7 |
4 |
22 |
9 |
11 |
20 |
19 |
22 |
9 |
12 |
18 |
20 |
28 |
14 |
13 |
13 |
15 |
27 |
1 |
14 |
19 |
12 |
29 |
6 |
15 |
15 |
16 |
25 |
13 |
16 |
17 |
14 |
27 |
18 |
17 |
14 |
13 |
21 |
29 |
18 |
16 |
18 |
22 |
23 |
19 |
12 |
17 |
28 |
27 |
20 |
11 |
11 |
29 |
22 |
21 |
23 |
11 |
27 |
20 |
22 |
24 |
7 |
25 |
17 |
23 |
21 |
6 |
24 |
25 |
24 |
26 |
15 |
21 |
19 |
25 |
22 |
2 |
29 |
24 |
26 |
29 |
12 |
28 |
23 |
27 |
30 |
3 |
30 |
27 |
28 |
25 |
1 |
26 |
24 |
29 |
28 |
8 |
23 |
16 |
30 |
27 |
10 |
26 |
30 |
Литература.
Тема 1.
Самарский А. А., Гулин А. В. Численные методы: Учебное пособие для вузов. - М.: Наука. Гл. Ред. Физ-мат. Лит., 1989. - 432 с. - 190 - 195;
Численные методы. Н. Н. Калиткин. Главная редакция физико - математической литературы "Наука", М., 1978. - 138 - 146;
Тема 2.
Боглаев Ю.П. Вычислительная математика и программирование.- М.: Высш. шк., 1990.- 544 с.- стр.: 276-296;
Лященко М.Я. Головань М.С. Чисельнi методи: Пiдручник.-К.:Либiдь,1996.-288 с. стр. 187-194, стр. 198-206
Краскевич В.Е., Зеленский К.Х., Гречко В.И. Численные методы в инженерных исследованиях. - Киев: Вища шк., 1986.- 263 с.- стр.: 74- 79;
Самарский А.А., Гулин А.В. Численные методы: Учебное пособие для вузов. - М.: Наука. Гл. ред. физ-мат. лит., 1989.- 432 с.- стр.: 161- 167; 180- 185;
Численные методы. Н.Н. Калиткин. Главная редакция физико- математической литературы "Наука",М., 1978.- стр.:85- 90;
Тема 3.