Контрольная по вычислительной математике

реклама
Задание №1. Найти наименьший по абсолютной величине корень нелинейного уравнения
с точностью   0, 01 при помощи:
1. метода половинного деления;
2. метода хорд;
3. метода касательных.
Решение.
Заданное уравнение представим в виде
. На одном чертеже (рис.1.)
построим графики функций
и
. Где
- кубическая
гипербола;
- парабола. Точку пересечение графиков двух функций
спроектируем на ось OX. Абсцисса r точки пересечения графиков функций и будет
приближенным корнем заданного уравнения. Корень
(отрезок определяется
из рисунка).
Рис. 1
Уточним корень r тремя методами.
1. Метод половинного деления.
Изобразим отрезок
на рисунке 2.
+
-
-0,56
-
х0= -0,36
-0,16
Рис. 2
Разделим этот отрезок пополам точкой
Из двух отрезков
вычисляем значения функции
в точках
и
необходимо выбрать один. Для этого
. Получаем:
Знаки полученных значений функций отмечаем на рисунке 2 при соответствующих точках.
Далее, выбираем тот из двух отрезков
или
, на концах которого
значения функции F ( x) имеются разные знаки, т.е. отрезок
. Изобразим этот
отрезок на рисунке 3.
+
-
-0,56
-
x1= -0,46
-0,36
Рис.3
Разделим отрезок
пополам точкой
. Выясним,
корнем заданного уравнения с точностью до  .
является ли точка
находим
Для этого
Таким образом, указанная разница x1  x0 больше   0, 01 , поэтому процесс половинного
деления продолжается. Из двух отрезков
как указанно выше. Находим
т.е. выбираем отрезок
и
выбираем один так,
. Изображаем этот отрезок на рисунке 4.
+
+
-0,56
x2= -0,51
-0,46
Рис.4
Разделим отрезок
пополам точкой
. Выясним,
корнем заданного уравнения с точностью до  .
является ли точка
находим
Таким образом, указанная разница
деления продолжается. Из двух отрезков
как указанно выше. Находим
т.е. выбираем отрезок
Для этого
больше   0, 01 , поэтому процесс половинного
и
выбираем один так,
. Изображаем этот отрезок на рисунке 5.
+
-
-0,51
x3= -0,485
-0,46
Рис.5
Разделим отрезок
является ли точка
находим
пополам точкой
. Выясним,
корнем заданного уравнения с точностью до  . Для этого
Таким образом, указанная разница
деления продолжается. Из двух отрезков
как указанно выше. Находим
т.е. выбираем отрезок
больше   0, 01 , поэтому процесс половинного
и
выбираем один так,
. Изображаем этот отрезок на рисунке 6.
+
-
-0,51
x4= -0,4975
-0,485
Рис.6
Разделим отрезок
пополам точкой
. Выясним,
корнем заданного уравнения с точностью до  . Для этого
является ли точка
находим
Таким образом, указанная разница
деления продолжается. Из двух отрезков
так, как указанно выше. Находим
т.е. выбираем отрезок
больше   0, 01 , поэтому процесс половинного
и
выбираем один
. Изображаем этот отрезок на рисунке 7.
+
-0,51
+
x5= -0,5038
-0,4975
Рис.7
Разделим отрезок
является ли точка
находим
пополам точкой
. Выясним,
корнем заданного уравнения с точностью до  . Для этого
и поэтому процесс половинного деления закончен.
Итак, согласно методу половинного деления приближенным корнем заданного уравнения
является
2. Метод хорд.
Согласно методу хорд, необходимо найти F ( x) и F ( x) в какой либо точке заданного
отрезка.
Для упрощения дальнейших вычислений будем рассматривать отрезок
, т.к.
по методу половинного деления корень
. Находим
и
, а также вычислим значения этих производных, например, в точке
, т.е.
Как видим, первая и вторая производная одного знака (меньше нуля), поэтому, согласно
I-му случаю, искомый корень будем вычислять по
x0  a - начало отрезка
, т.е.
формуле
, где
аходим
Значения функции F(-0.56 )и F(-0.16) находим согласно выражению, т.е.
Проверим выполнение условия. А именно,
а значит, данный процесс продолжаем и аналогично по формуле находим
Вновь проверяем выполнение условия:
таким образом, условие выполняется и данный процесс можно завершить.
Итак, согласно методу хорд, приближенным корнем заданного уравнения будет
3. Метод касательных.
В данном методе, так же как и в методе хорд, мы будем использовать расчетную формулу,
соответствующую I- му случаю (первая и вторая производная одного знака), т.е. формулу, при
. Находим
Где
,
а
, т.е.
Далее проверяем выполнение условия:
а значит, данный процесс продолжаем. Находим
Далее проверяем выполнение условия:
а значит, данный процесс продолжаем. Находим
находим при помощи выражения
.
Вновь проверяем выполнение условия:
Итак, условие выполняется, а значит, данный процесс можно завершить. Таким образом,
приближенным корнем заданного уравнения является
Ответ метода:
1. половинного деления
2. хорд
3. касательных
Задание №2. Решить заданную систему линейных алгебраических уравнений
методом Гаусса (путем приведения матрицы системы к треугольному виду). Для
проверки полученного решения вычислить значения невязок.
2. Используя элементарные преобразования привести (при необходимости) заданную систему
линейных алгебраических уравнений к виду, удобному для применения итерационного метода
Гаусса-Зейделя, и решить систему этим методом, вычисляя на каждом шаге итерационного
процесса значения невязок с точностью   0,1 .
3. Сравнить результаты пунктов 1 и 2.
1.
основе которого лежит приведение
Решение.
Решим заданную систему методом Гаусса, в
матрицы системы к треугольному виду:
В результате последовательного исключения неизвестных матрица системы приведена к
треугольному виду. На этом заканчивается этап прямого хода вычислений по методу Гаусса. На
следующем этапе, который носит название обратного хода метода Гаусса, из третей строки
последней матрицы находим
Из второй и первой строк последней матрицы последовательно находим
Таким образом, получено следующее решение заданной системы:
Для проверки полученного решения вычислим значения невязок:
r1  b1  b1 ,
r2  b2  b2 ,
r3  b3  b3 .
Предварительно найдем величины b1 , b2 , b3 , которые являются значениями левых частей
уравнений системы при подстановке в них вычисленных значений неизвестных x1 , x2 , x3 .
Вычислим невязки:
Все полученные невязки достаточно малы, поэтому решение заданной системы методом Гаусса
найдено верно.
2. Рассмотрим ту же систему:
Решим заданную систему уравнений методом Гаусса-Зейделя, с точностью   0,1. Для
начала необходимо преобразовать исходную систему к виду, удобному для применения метода
Гаусса-Зейделя. В этом случае диагональные коэффициенты системы должны превосходить по
модулю сумму всех других (не диагональных) коэффициентов для каждого уравнения. Как мы
видим, наша система уже имеет диагональный вид, т.к.
Так как для данной системы выполнены достаточные условия сходимости метода ГауссаЗейделя, то итерационный процесс будет сходиться к единственному решению системы при
любом начальном приближении. Основная идея метода Гаусса-Зейделя состоит в том, что на
каждом шаге итерационного процесса приближенное значение любого неизвестного,
полученного к данному моменту, сразу же используется для расчета приближенного значения
другого неизвестного.
Выразим из первого уравнения системы x1 , из второго x 2 , из третьего x3 .
Возьмем в качестве начального приближения значения x1  0, x2  0, x3  0 . Имеем 1й шаг итерационного процесса. Нулевое (начальное) приближение задано. Находим первое
приближение:
( 0)
( 0)
( 0)
Подставляя числовые значения получаем:
Вычислим значения bi (1)  i  1, 2,3 , путем подстановки значений x1 , x2 , x3
части исходной системы, тогда получим:
(1)
Найдем невязки первой итерации:
(1)
(1)
в левые
Как видим, значения невязок первого и второго уравнения превосходит заданную
точность, значит, итерационный процесс необходимо продолжить.
2-й шаг итерационного процесса. Находим
второе приближение, используя
(1)
(1)
(1)
x1 , x2 , x3 первого шага итерационного процесса:
Подставляя числовые значения находим:
Вычислим значения bi (2)  i  1, 2,3 путем подстановки значений x1 , x2 , x3
части исходной системы, тогда получим:
( 2)
( 2)
( 2)
в левые
Вычислим значения невязок на втором шаге итерации:
Как видим, снова значения невязок первого и второго уравнения превосходит
заданную точность, значит, итерационный процесс необходимо продолжить.
3-й шаг итерационного процесса. Находим третье приближение, используя
второго шага итерационного процесса:
Подставляя числовые значения находим:
Вычислим значения bi (2)
 i  1, 2,3
путем подстановки значений
в
левые части исходной системы, тогда получим:
Вычислим значения невязок на втором шаге итерации:
Для получения приближения условия точности выполнены, поэтому значения
принимаем в качестве приближенного решения заданной системы с точностью   0,1.
3. Сравним результаты метода Гаусса и Гаусса-Зейделя:
2.22491-2.2019=0.022985
-0.15068-(-0.14172)=0.008964
-0.24026-(-0.23245)=0.007814
Как мы видим, результаты достаточно близки. Небольшое расхождение связано с тем,
что при использовании метода Гаусса-Зейделя происходит промежуточное округление
результатов с целью облегчения дальнейшей работы и не самой малой заданной точности.
Задание №3.
1. Для заданной функции y  f ( x) , а именно,
(  a; b ) и значения
на отрезке
n  12 вычислить приближенные значения функции
, округляя их до пяти
знаков после запятой, i  0,1,...n.
2. Для полученных значений табличной функции yi  f ( xi ) в узлах xi составить таблицу
конечных разностей:
i
xi
yi
yi
….
 2 yi
 n yi
0
1
.
.
.
n
3. Для первых четырех узлов x0 , x1 , x2 , x3
Лагранжа L3 ( x) .
построить интерполяционный многочлен
h
.
2
5. Построить интерполяционный многочлен Ньютона N ( x) для интерполирования вперед,
4. Вычислить с помощью многочлена Лагранжа значение функции в точке x  x2 
h
2
с помощью которого рассчитать значение функции в точке x  x2  .
6. Построить интерполяционный многочлен Ньютона N ( x) для интерполирования назад и
h
2
рассчитать с его помощью, значение функции в точке x  x10  .
7. Сравнить значения L3 ( x ), N ( x ), N ( x ) соответственно со значениями f ( x ), f ( x ).
8. В таблице конечных разностей выделить (например, подчеркнуть одной чертой)
разности, использованные при построении многочлена Ньютона для интерполирования вперед
и назад (например, двумя чертами).
Решение.
Вычислим
шаг
Так
как
,
то
и.т.д.
Вычислим
значения заданной функции в узлах xi , т.е.
. Например,
=1.40000. Полученные данные заносим в таблицу и по ним
составляем конечные разности всех
возможных
порядков. Поместим полученную
информацию в единую таблицу 1 (таблицу конечных разностей).
Многочлен Лагранжа для четырех узлов (n  3) x0 , x1 , x2 , x3 имеет вид:
L3 ( x) 

( x  x1 )( x  x2 )( x  x3 )
( x  x0 )( x  x2 )( x  x3 )
( x  x0 )( x  x1 )( x  x3 )
y0 
y1 
y2 
( x0  x1 )( x0  x2 )( x0  x3 )
( x1  x0 )( x1  x2 )( x1  x3 )
( x2  x0 )( x2  x1 )( x2  x3 )
( x  x0 )( x  x1 )( x  x2 )
y3 .
( x3  x0 )( x3  x1 )( x3  x2 )
(3.7)
Вычислим значение заданной функции с помощью многочлена Лагранжа в точке
Для этого подставим в формулу (3.7) значения
Получим:
Перейдем теперь к вычислениям по формулам Ньютона. Так как точка
находится в левой части отрезка
(  a; b ), то целесообразно использовать для вычисления
приближенного значения функции в этой точке первую интерполяционную формулу Ньютона
для Интерполирования вперед. При этом в качестве точки x берем ближайший к точке x узел
слева - это будет точка
Разности, которые соответствуют интерполяционному многочлену Ньютона для
интерполирования вперед при выбранной начальной точке x2 подчеркнуты в таблице № 1
одной чертой. Тогда искомый многочлен Ньютона для интерполирования вперед запишется в
виде:
t (t  1) 2
t (t  1)(t  2) 3
t (t  1)(t  2)(t  3) 4
 y2 
 y2 
 y2  ...
2!
3!
4!
t (t  1)(t  2)...(t  9) 10
.... 
 y2 ,
10!
N ( x2  tn)  y2  t y2 
(3.8)
где
Подставляя в (3.8) вместо t и разностей y2 ,  2 y2 , 3 y2 ,...10 y2 их значения из таблицы №1
(они в таблице подчеркнуты одной чертой, так например,
)
вычислим:
Далее рассмотрим точку
нижней части таблицы 1 (в правой части отрезка
. Эта точка находится в
(  a; b ),). Поэтому для приближенного
вычисления значения функции в точке
целесообразно воспользоваться второй
формулой Ньютона для интерполирования назад. Роль точки xn в данном случае будет играть
точка
, а разности, которые будут использованы для записи многочлена Ньютона
подчеркнуты в таблице 1 двумя чертами. Тогда многочлен Ньютона для интерполирования
назад запишется в виде:
N ( x10  th)  y10  t y9 
t (t  1) 2
t (t  1)(t  2) 3
t (t  1)(t  2)(t  3) 4
 y8 
 y7 
 y6  ...
2!
3!
3!
t (t  1)(t  2)...(t  9) 10
... 
 y0 ,
10!
(3.9)
Где
Подставляя в (3.9) вместо t и разностей y9 , 2 y8 , 3 y7 ,...10 y0 их значения из таблицы №1
(они таблице выделены жирным шрифтом, так например,
и.т.д.) вычислим:
Итак, получены следующие приближения:
В то же время истинные значения функции:
Найдем ошибки аппроксимации:
для многочлена Лагранжа
для многочлена Ньютона I
для многочлена Ньютона II
Таблица №1
Задание №4. Для заданной функции ,
на отрезке
(  a; b ) и значения
n  12 построить прямую и параболу по методу наименьших квадратов. Оценить погрешности
полученных аппроксимаций (найденных приближенных зависимостей); построить исходную
табличную функцию, прямую и параболу на одном чертеже, сделать вывод по полученным
результатам.
Решение:
Пусть задана функция ,
на отрезке
при n  12 . Вычислим шаг
Тогда
то
,
и.т.д.
Далее находим
. Например,
=1.40000 и.т.д.
Заполним таблицу 2.
Таблица №2.
Для нахождения уравнения прямой y  a0  a1x из таблицы вставляем данные в систему
n
n

(
n

1)
a

a
x

 yi ,
0
1 i


i 0
i 0
 n
n
n
2
a
x

a
x

 xi yi .
i
1 i
 0 
i 0
i 0
i 0
Получим:
Решив эту систему, получим
эмпирической прямой имеет вид:
;
. Следовательно, уравнение
Для нахождения уравнения параболы y  a0  a1 x  a2 x2 из таблицы 2 вставляем данные в
систему
n
n
n
 
2
a0 (n  1)  a1  xi  a2  xi   yi ,
i 0
i 0
i 0

n
n
n
n

2
3
a0  xi  a1  xi  a2  xi   xi yi ,
i 0
i 0
i 0
 i 0
n
n
n
n

a0  xi2  a1  xi3  a2  xi4   xi2 yi .
 i  0
i 0
i 0
i 0
Получим
Решим систему и получим:
;
образом, уравнение эмпирической параболы имеет вид:
Для вычисления погрешностей заполним таблицу 3.
Таблица №3
Вычислим значения погрешностей для прямой:
;
.
Таким
Вычислим значения погрешностей для параболы:
После этого на одном чертеже строят графики исходной функции
и параболу
заданном отрезке
.
Графики заданной функции,
прямой
, прямую
на
и параболы изображены на рис 7. На рисунке
видно, что парабола лучше «отслеживает» точки исходной табличной функции по сравнению с
прямой. Так, в данном случае лучшей для приближения заданной функции является
параболическая зависимость (из двух предложенных по заданию видов зависимостей), что
подтверждается величинами погрешностей аппроксимации - погрешности для параболы
меньше погрешностей для прямой.
Задание №5. Найти приближенное решение yi  y  xi  , i  1,2,...10 дифференциального
уравнения
, удовлетворяющее начальному условию y(0)=0.5 на отрезке 0;1 с шагом
h  0,1 методом Эйлера с пересчетом.
Решение.
Из условия x0  0 и
находим:
Аналогично находим:
Продолжаем этот процесс до нахождения y10 . Данные вычислений заносим в таблицу 4.
Таблица №4
Задание №6
1. Для заданной функции
и значения n  12 вычислить
на отрезке
,, i  0,1,...12 .
приближенное значение функции
2. Вычислить приближенное значение интеграла
по формуле
прямоугольников в полуцелых узлах;
3. Вычислить приближенное значение интеграла
по формуле
трапеций;
4. Вычислить приближенное значение интеграла
по формуле
Симпсона;
5. Сравнить значения I , I , I .
п т c
Решение.
Для подинтегральной функции
вычислим шаг
при n  12
на отрезке
. Тогда
, то
и.т.д.
Далее находим
,, Например,
занесем в таблицу.
h
Вычислим также значения xi  0,5  xi  . Например,
2
Затем, вычислим значения функции в точках xi  0,5 , т.е.
Например,
Результаты занесем в таблицу 5.
Таблица №5
=1.40000 и.т.д. Результаты
Вычислим приближенное значение заданного определенного интеграла по формуле
прямоугольников:
b
I ï   f  x dx  h  y0  0,5  y1 0,5  y2  0,5 ...  y11 0,5 .
a
Вычислим приближенное значение заданного определенного интеграла по формуле
трапеций:
b
I т   f  x dx  h  (
a
y0  y12
 y1  y2  ...  y11 ).
2
Вычислим приближенное значение заданного определенного интеграла по формуле
Симпсона:
b
h
 f  x dx  3  ( y0  y12  4  y1  y3  y5  y7  y9  y11   2( y2  y4  y6  y8  y10 )).
a
Итак,
.
Как
видим,
результаты
трех
приближенных методов вычисления заданного определенного интеграла достаточно близкие.
Скачать