Математический анализ (работа 6)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ХПИ»
Кафедра «Вычислительной техники и програмирования»
Расчётно–графическое задание
по курсу «Теория алгоритмов и вычислительные методы»
Харьков – 2005
Исходные данные:
Вариант № |
y>0> |
y>1> |
y>2> |
y>3> |
y>4> |
y>5> |
h |
x>0> |
64 |
-0.02 |
0.604 |
0.292 |
-0.512 |
-1.284 |
-2.04 |
0.5 |
0.3 |
Задача 1
Исходные данные вводятся в ЭВМ как абсолютно точные числа и представляются в ней в виде чисел с плавающей точкой с относительной погрешностью в одну миллионную. Введенные данные x>0> и y>0> служат основой формирования двух векторов x=(x>0>, x>1>, …, x>n>) и y=(y>0>, y>1>, …, y>n>) по рекуррентным формулам:
Вычислить скалярное произведение с := (x, y) по алгоритму:
с := 0; i := 0;
while i < n + 1 do c := c + x>i> · y>i>;
и оценить аналитически и численно инструментальную абсолютную и относительную погрешности.
Решение
Поскольку данные представляются в ЭВМ в виде чисел с плавающей точкой с относительной погрешностью, то
x>0> = x>0>(1+δ)
y>0> = y>0>(1+δ)
C>0> = x>0>y>0>(1+δ)
П
ри
i = 1
При i = 2
x>2> = x>0>3(1+δ)5
y>2> = y>0>(1+δ)3
C>2> = x>0>y>0>(1+δ)5 + x>0>2(1+δ)7 + x>0>3y>0>(1+δ)10
При i = 3
x>3> = x>0>4(1+δ)7
y>3> = (1+δ)5
C>3> = x>0>y>0>(1+δ)6 + x>0>2(1+δ)8 + x>0>3y>0>(1+δ)11 + x>0>4(1+δ)14
При i = 4
x>4> = x>0>5(1+δ)9
y>4> = y>0>(1+δ)7
C>4> = x>0>y>0>(1+δ)7 + x>0>2(1+δ)9 + x>0>3y>0>(1+δ)12 + x>0>4(1+δ)15 + x>0>5y>0>(1+δ)18
Выявим закономерность изменения C>i>:
При расчете C>n> без учета погрешности исходных данных и погрешности вычисления, получим
Обозначим эту сумму как S>1>.
Тогда абсолютная погрешность S>2>
а относительная погрешность
Оценим инструментально относительную и абсолютные погрешности при n = 10
S>1> = 0.0923071
S>2> = 1.45914·10-6
S>3> = 1.58075·10-5
Задача 2
Для функции g(x), заданной своими значениями в шести точках, составить таблицу всех повторных разностей. Преобразовать функцию g(x) с помощью линейного преобразования x = a + b * k в функцию G(k) с целочисленным аргументом k. В качестве проверки правильности заполнения таблицы вычислить аналитически конечную разность Δng(x) = ΔnG(k) для n = 5.
Решение
Составим таблицу всех повторных разностей:
k |
x |
y |
Δy |
Δ2y |
Δ3y |
Δ4y |
Δ5y |
0 |
0.3 |
0.02 |
-1.576 |
0.044 |
-0.136 |
0.66 |
-0.54 |
1 |
1.1 |
-1.556 |
-1.532 |
-0.092 |
0.524 |
0.12 |
— |
2 |
1.9 |
-3.088 |
-1.624 |
0.432 |
0.644 |
— |
— |
3 |
2.7 |
-4.712 |
-1.192 |
1.076 |
— |
— |
— |
4 |
3.5 |
-5.904 |
-0.116 |
— |
— |
— |
— |
5 |
4.3 |
-6.02 |
— |
— |
— |
— |
— |
Найдем формулу перехода от x к k:
В
ыполним
проверку, вычислив аналитически конечную
разность
Δng(x)= ΔnG(k) для n = 5:
Конечные разности, вычисленные аналитически и таблично Δng(x) = ΔnG(k) для n = 5 совпали, следовательно, таблица повторных разностей составлена верно.
Задача 3
Таблично заданную функцию G(k) с целочисленным аргументом представить в виде разложения по факториальным многочленам (z(n) = z · (z-1) · (z-2) · … · (z - n + 1)) и преобразовать его в степенные многочлены G(z) и G(x).
Решение
Представим функцию G(k) в виде разложения по факториальным многочленам:
Преобразуем функцию G(k) в степенной многочлен G(z):
Выполним проверку при k = 1:
0.604=0.604
Так как результаты совпали, значит степенной многочлен G(z) представлен правильно.
Преобразуем функцию G(k) в степенной многочлен G(x). Зная, что получим:
Проверим вычисления при x = 0.8:
0.6045128 ≈ 0.604
Так как результаты совпали, то вычисления сделаны верно.
Задача 4
Вывести аналитическое выражение суммы для функции целочисленного аргумента G(z). Проверить правильность вычисления полученного выражения прямым суммированием табличных значений G(k), k = 0, 1, 2, 3, 4, 5 (m = 5).
Решение.
Для вычисления значения суммы используем функцию G(z) в виде разложения по факториальным многочленам, полученным в задаче 3:
г
де
Для проверки, просуммируем значения G(k) из таблицы:
-0.02 + 0.604 + 0.292 - 0.512 - 1.284 - 2.04 = - 2.96
- 2.96 = - 2.96
Так как результаты вычисления аналитического выражения и суммы табличных значений G(k) совпали, значит аналитическое выражение для суммы выведено правильно.
Задача 5
Составить таблицу упорядоченных разделенных разностей для g(x). Проверить правильность таблицы для разделенной разности [x>0>; x>1>; x>2>; x>3>] по формуле ее аналитического представления.
Решение
Составим таблицу упорядоченных разделенных разностей для g(x):
x>i> |
g(x>i>) |
[x>i>; x>i>>+1>] |
[x>i>; x>i>>+1>; x>i>>+2>] |
[x>i>; x>i>>+1>; x>i>>+2>; x>i>>+3>] |
[x>i>; x>i>>+1>; x>i>>+2>; x>i>>+3>; x>i>>+4>] |
[x>i>; x>i>>+1>; x>i>>+2>; x>i>>+3>; x>i>>+4>;x>i>>+5>] |
0.3 |
-0.02 |
1.248 |
-1.872 |
0.592 |
0.0533333 |
-0.1567999 |
0.8 |
0.604 |
-0.624 |
-0.984 |
0.6986666 |
-0.3386666 |
— |
1.3 |
0.292 |
-1.608 |
0.064 |
-0.0213333 |
— |
— |
1.8 |
-0.512 |
-1.544 |
0.032 |
— |
— |
— |
2.3 |
-1.284 |
-1.512 |
— |
— |
— |
— |
2.8 |
-2.04 |
— |
— |
— |
— |
— |
Для проверки правильности заполнения таблицы разделенных разностей, вычислим разделенную разность пятого порядка по формуле ее аналитического представления:
Так как результаты вычислений совпали, значит, таблица разделенных разностей составлена правильно.
Задача 6
Получить интерполяционные многочлены Лагранжа и Ньютона, проходящие через первые четыре точки таблично заданной функции G(x), и сравнить их степенные представления.
Решение
Для нахождения интерполяционного многочлена Лагранжа используем формулу
где n = 3.
Проведем проверку вычислений, подставив x=0.8 в интерполяционный многочлен Лагранжа, получим y>1>=0.604
Интерполяционный многочлен Ньютона находится по формуле:
l>n>(x) = g>0> + (x-x>0>)[x>0>;x>1>] + (x-x>0>)(x-x>1>)[x>0>;x>1>;x>2>] + … +
+(x-x>0>)(x-x>1>)∙ …∙(x-x>n-1>)[x>0>;x>1>;x>2>;…;x>n>]
П
одставив
в формулу g>i>
и x>i
>получим:
Интерполяционные многочлены Ньютона и Лагранжа совпадают.
Проведем проверку вычислений, подставив x=0.8 в интерполяционный многочлен Ньютона, получим y>1>=0.604
Задача 7.
Вывести выражения для вычисления второй производной в точке x=x>3> в виде функций:
где ∆ng(0) и g(x>n>) для n = 0,1,…,5 соответственно значения разностей в точке x = x>0> и ординаты g(x>n>) = g>n> из задачи N2. Значения производной вычисленные по выведенным формулам, сравнить с вычисленным значением производной, найденной путем дифференцирования интерполяционного многочлена G(x):
Решение
Для вычисления
производной воспользуемся оператором
д
ифференцирования:
Выражение для вычисления производной в точке x>0> имеет вид:
Для того, чтобы преобразовать его к выражению для вычисления производной в точке x>3>, применим оператор сдвига:
Д
ля
того, чтобы перейти от функции к функции
воспользуемся формулой:
П
олучим
выражения для ∆2y>0>:
∆5y>0 >= -y>0> + 5y>1> – 10y>2> + 10y>3> – 5y>4> + y>5>
∆4y>0 >= y>0> - 4y>1> + 6y>2> - 4y>3> + y>4>
∆3y>0 >= -y>0> + 3y>1> – 3y>2> + y>3>
∆2y>0 >= y>0> - 2y>1> + y>2>
Подставим эти значения в функцию:
Сравним это значение с вычисленным значением производной путем дифференцирования интерполяционного многочлена G(x):
при x>3> = 1.8
Значения производной равны, следовательно, вычисления сделаны верно.
Задача 8
Методом наименьших квадратов для таблично заданной g(x) получить аппроксимирующие степенные полиномы нулевой, первой, второй и третьей степеней (P>i>(x), i = 0, 1, 2, 3) и изобразить их на одном графике.
Решение.
Составим таблицу степеней x и xy
i |
x |
y |
x2 |
x3 |
x4 |
x5 |
x6 |
xy |
x2y |
x3y |
1 |
0.3 |
-0.02 |
0.09 |
0.027 |
0.0081 |
0.00243 |
0.000728999 |
-0.006 |
-0.0018 |
-0.00054 |
1 |
0.8 |
0.604 |
0.64 |
0.512 |
0.4096 |
0.32768 |
0.262144 |
0.4832 |
0.38656 |
0.309247 |
1 |
1.3 |
0.292 |
1.69 |
2.197 |
2.8561 |
3.71293 |
4.8268 |
0.3796 |
0.493479 |
0.641523 |
1 |
1.8 |
-0.512 |
3.24 |
5.832 |
10.4976 |
18.8956 |
34.0122 |
-0.9216 |
-1.65888 |
-2.98598 |
1 |
2.3 |
-1.284 |
5.29 |
12.167 |
27.9840 |
64.3634 |
148.035 |
-2.9532 |
-6.79236 |
-15.6224 |
1 |
2.8 |
-2.04 |
7.84 |
21.952 |
61.4656 |
172.103 |
481.89 |
-5.712 |
-15.9936 |
-44.782 |
6 |
9.3 |
-2.96 |
18.79 |
42.687 |
103.22 |
259.405 |
669.026 |
-8.73 |
-23.5666 |
-62.4401 |
Составим системы уравнений:
Откуда a>0> = -0.93621; a>1> = 3.89576; a>2> = -2.8954; a>3> = 0.488001
А
ппроксимирующий
степенной полином 3-й степени имеет вид:
P>3>(x) = -0.93621 + 3.89576x – 2.8954x2 + 0.488001x3
Откуда a>0> = -0.0710314; a>1> = 0.989486; a>2> = -0.624589;
Аппроксимирующий степенной полином 2-й степени имеет вид:
P>2>(x) = -0.0710314 + 0.989486x – 0.624589x2
Откуда a>0> = 0.974118; a>1> = -0.946742;
Аппроксимирующий степенной полином 1-й степени имеет вид:
P>1>(x) = 0.974118 – 0.946742x
6a>0> = -2.96
Откуда a>0> = -0.493333;
Аппроксимирующий степенной полином 0-й степени имеет вид:
P>0>(x) = -0.0493333
И
зобразим
полученные полиномы на графике:
Задача 9
Для аппроксимирующего полинома третьей степени P>3>(x) получить аналитические выражения ΔnP>3>(x), n = 0, 1, 2, 3, 4 и все конечно-разностные разностные кривые изобразить на одном графике.
Решение
Обозначим на графике все конечно-разностные кривые:
P>3>(x)
ΔP>3>(x)
Δ2P>3>(x)
Δ3P>3>(x)
Δ4P>3>(x)
Задача 10
Вывести квадратурные формулы для вычисления определенных интегралов с пределами [0, 1] и [-1, 1] от подынтегральных функций f(t), принадлежащих классу степенных многочленов степеней 0, 1, 2, 3. Вывод проделать для трех случаев использование в квадратурных формулах численных значений подынтегральных функций:
в
)
заданы значения функции в точках,
обеспечивающих получение формул
наивысшей алгебраической степени
точности.
Решение
Значение определенного интеграла найдем, исходя из формулы:
где w>1>, w>2> — некоторые коэффициенты
t
>1>,
t>2 >—>
>точки, плавающие внутри
интервала интегрирования.
С
оставим
систему уравнений
w(t) = (t-t>1>)(t-t>2>) = C>0> + C>1>t + C>2>t2 = 0
C>2> = 1
Домножив уравнения на соответствующие коэффициенты получим:
2C>0> + 2/3 = w>1> (C>0> + C>1>t>1> + t>1>2) + w>2> (C>0> + C>1>t>1> + t>2>2)
2C>0>+ 2/3 = 0
C>0> = -1/3
П
одставляя
полученные значения в первую систему,
получим:
Квадратурная формула:
Задача 11
С помощью квадратурных формул, полученных в задаче 10, вычислить определенный интеграл от степенного представления интерполяционного многочлена Лагранжа (Ньютона), полученного в задаче № 6 в пределах от x>0> до x>0> +3h, и сравнить его с аналитически вычисленным значением определенного интеграла по первообразным многочлена.
Решение
Используем степенное представление интерполяционного многочлена Лагранжа из задачи 6
Для перехода к интегралу с канонической формой используем линейное преобразование: x = α + βt.
Составим систему уравнений:
Подставив x = 1.05 + 0.75t, получим многочлен Лагранжа от переменной t:
L
(t)
= 0.24975t3
- 0.80325t2
- 0.49575t
+ 0.537253
Учитывая, что dx = βdt, получим:
Применим квадратурную формулу, полученную в задаче №10
Д
ля
сравнения вычислим аналитически значение
интеграла:
Так как результаты совпали, значит, вычисления произведены верно.
Задача 12
Оценить погрешность определенного интеграла от функции sin(x) в пределах [0,2/3π] по квадратурной формуле наивысшей алгебраической степени точности, полученной в задаче № 10в, по сравнению с аналитически точным. Проделать то же самое над усеченным степенным рядом, представляющим sin(x), в который x входит со степенью не выше третьей.
Решение
П
ерейдем
от пределов [0,2/3 π]
к пределу [-1,1]: для этого воспользуемся
линейным преобразованием x=
α
+ βt
. Составить систему
Учитывая, что dx = βdt, получим:
Применим квадратурную формулу:
Вычислим аналитически:
Найдем погрешность вычисления:
Проделаем те же операции над усеченным степенным рядом, представляющем sin(x):
Перейдем от пределов [0; 2π/3] к пределам [-1; 1], для этого используем линейное преобразование x = α +βt. Составим систему уравнений:
Учитывая, что dx = βdt, получим
П
рименим
квадратурную формулу, получим
Н
айдем
погрешность вычисления
Задача 14
Степенными полиномами Чебышева T>i> относительно переменной x (|x| < 1) являются решениями линейного разностного уравнения второго порядка:
T>i+2> - 2x T>i+1> + T>i> = 0,
с начальными условиями T>0> = 1 и T>1> = x.
Найти аналитическое выражение и вычислить значения полинома Чебышева i-й степени, если и i = 4. Проверить вычисления непосредственно по заданной рекуррентной формуле. Найти положение нулей и экстремумов у многочленов Чебышева в общем виде и для заданных выше x и i. Оценить модуль максимально возможного значения полинома в точках экстремумов.
Р
ешение.
Исходя из того, что
x>i> = |y>i>| надо найти T>4> т.е. для i = 4
Из T>i>>+2> - 2xT>i>>+1> + T>i> = 0 следует, что
T>2> = 2xT>1> - T>0>
T>3> = 2xT>2> - T>1> = 2x(2xT>1> - T>0>) - T>1>
T>4> = 2xT>3> - T>2> = 2x(2x(2xT>1> - T>0>) - T>1>) - 2xT>1> + T>0> = 8x3T>1> - 4x2T>0> - 4xT>1> + T>0>
Подставим значение T>0> = 1 и T>1> = x
T>4> = 8x4 - 4x2 - 4x2 + 1 = 8x4 - 8x2 + 1
Найдем значения x:
T>4> = 0.99980
Проверим по заданной рекуррентной формуле:
T>2> = 2·0.00490·0.00490 - 1 = -0.9999
T>3> = 2·0.00490·(-0.9999) - 0.00490 = -0.01469
T>4> = 2·0.00490·(-0.01469) + 0.9999 = 0.99980
Нули функции находятся, как решения биквадратного уравнения:
8x4 - 8x2 + 1 = 0, где
x>1> = 0.9238795
x>2> = -0.9238795
x>3> = 0.3826834
x>4> = -0.3826834
Чтобы найти экстремумы найдем
Задача 16
Выравнивание по всей длине с течением времени температуры T(x, t) на тонком однородном хорошо теплоизолированном стержне описывается дифференциальным уравнением в частных производных с начальным распределением температуры (в градусах Цельсия) по длине стержня в 6 равномерно расположенных с шагом h точках.
T(x>0>, 0) = T>0>, T(x>1>, 0) = T>1>, …, T(x>5>, 0) = T>5>; (T>i> = 100·y>i> ˚C).
На концах стержня в точках x>-1> и x>6> удерживается нулевая температура.
Применяя конечно-разностное представление производных по пространственной переменной x, свести уравнение в частных производных к системе дифференциальных уравнений в обыкновенных производных относительно температуры T.
Р
ешение.
Получаем систему диф. уравнений:
Учитывая начальные условия, получим систему уравнений:
Задача 17.
Используя метод Ньютона-Рафсона, найти с относительной погрешностью в одну миллионную нуль многочлена Чебышева T>i>(x), полученного в задаче 14. В качестве начального приближения к корню взять
В качестве x>i> берутся |y>i>| из таблицы исходных данных.
Решение.
Из задачи 14 возьмем полином Чебышева T>4> = 8x4 - 8x2 + 1. В качестве начального приближения к корню возьмем x>нач>, вычисленное по формуле
Т.к. 8x4 - 8x2 + 1 = 0, то можем сказать, что f(x>нач> + α) = 0
Воспользуемся DERIVE для нахождения корня с необходимой точностью:
получим такие значения: 0.38234, 0.382689, 0.382683, 0.382683, 0.382683.
На третьей итерации получаются значения корня с нужной точностью.
Задача 19
Скорость изменения переменной x(t) во времени равна функции от этой переменной f(x). Найти аналитическое выражение последней от времени, начиная с t = 0, если в начальный момент x(0) = 0. В качестве f(x) взять степенной многочлен P>2>(x), полученный в задаче 8. Протабулировать полученное решение с шагом h = 0.1 в интервале [0, 0.5].
Решение
P>2>(x)
= -0.0710314 + 0.989486x – 0.624589x2
=
f(x)
Исходя из начальных условий, т.к. dx/dt = f(x), имеем
Т.к. x = F(t), то:
Протабулируем x(t) на интервале [0; 0.5] c шагом h = 0.1:
t = 0 x = 0
t = 0.1 x = -0.0622648
t = 0.2 x = -0.137833
t = 0.3 x = -0.230872
t = 0.4 x = -0.347464
t = 0.5 x = -0.496850
Задача 20
Методом Эйлера в интервале [0, 0.5] с шагом h = 0.1 получить решение нелинейного дифференциального уравнения:
dx/dt = a + bx + cx2,
x(0) = 0
Коэффициенты a, b, c взять из P>2>(x), полученного в задаче 8.
Решение
y
= P>2>(x)
P>2>(x)
= -0.0710314 + 0.989486x – 0.624589x2
Общая формула для решения
x = x>0 >+ h·P>2>(x>0>, t>0>)
x>1> = 0 + 0.5· (-0.0710314) = -0.0355156
x>2> = -0.0355156 + 0.5·(-0.0710314 + 0.989486 (-0.0355156)1 –
-0.624589· (-0.03551562) = -0.053854
x>3> = -0.053854 + 0.5· (-0.0710314 + 0.989486 (-0.053854)1 –
- 0.624589 (-0.053854)2) = -0.0636315
x>4> = -0.0636315 + 0.5· (-0.0710314 + 0.989486 (-0.0636315)1 –
-0.624589 (-0.0636315)2) = -0.0689304
x>5> = -0.0689304 + 0.5 (-0.0710314 + 0.989486 (-0.0689304)1 –
-0. 0.624589 (-0.0689304)2) =--0.071827
Задача 23
Проверить заданную систему из трех векторов на линейную зависимость. При обнаружении линейной зависимости поменять местами первые компоненты векторов x1,x2 и выполнить повторную проверку. Из исходных данных векторы формируются так:
x>1 >= (y>0>,y>1>,y>2>); x>2>=(y>3>,y>4>,y>5>); x>3>=(h,x>0>,0).
На базе линейно независимой системы векторов x>1>, x>2>, x>3 >методом Грама-Шмидта построить ортонормированную систему трех векторов:
y>1 >= (y>11>,y>21>,y>31>); y>2>=(y>12>,y>22>,y>32>); y>3>=(y>13>,y>23>,y>33>).
На основе полученной системы векторов сформировать квадратную матрицу T = (y>1>,y>2>, y>3>). Вычислить det(T) и получить матрицы — обратную T-1 и транспонированную T’. Найти произведение T-1 · T, T · T’. Сделать выводы о свойствах матрицы T.
Решение
Исходные векторы x>1 >= (-0.02,0.604,0.292); x>2>=(-0.512,-1.284,-2.04);
x>3>=(0.5,0.3,0).
Составим матрицу и проверим ее на линейную зависимость:
det (A·AT) = 0.23591 > 0, значит система линейно независима.
Найдем векторы v>1>, v>2>, v>3>
v>1> = x>1>
v>2> = x>2> + a>21>·v>1>
v>3> = x>3> + a>32>·v>2> + a>31>·v>1>
v>1> = (-0.02, 0.604, 0.292);
v>2> = (-0.572423, 0.54078, -1.15782);
v3 = (0.471405, 0.104651, -0.184183).
Матрица T:
det(T) = -1
Ортонормированная матрица T состоит из собственных векторов. Определитель матрицы T равен 1. Если транспонировать ортогональную матрицу то она будет равна обратной. T’ = T-1. Это значит, что если умножить T·T’ = E — получим единичную матрицу.
Задача 24
Считая числа –1, -2, -3 собственными значениями, а векторы у>1>, у>2>, у>3> из задачи 23 – собственными векторами некоторой матрицы А, найдите проекторы этой матрицы ( Р>1>, Р>2>, Р>3>), саму матрицу А и ей обратную А>-1>. Получить характеристическое уравнение матрицы А и подтвердить правильность всех промежуточных вычислений.
Решение
Найдем проекторы матрицы А:
Найдем обратную матрицу А-1:
Характеристическое уравнение матрицы А имеет вид:
-x3-6x2-11x-6=0;
Корни характеристического уравнения – собственные значения матрицы
x>1>= -1; x>2>= -2; x>3>= -3
Задача 25
Решить систему алгебраических уравнений А·x = b, где А- матрица коэффициентов из задачи 24, x = (x1, x2, x3) – векторы решения, b = (3, 2, 1) – вектор правых частей. Решение получить, используя обратную матрицу, полученную из задачи 24.
Р
ешение