Дан ряд: $$ S = \sum_{n=0}^\infty{a_n} = \sum_{n=0}^\infty{96 \over {n^2 + 9n + 20}} $$ Найти сумму ряда аналитически. Вычислить значения частичных сумм ряда $$ S(N) = \sum_{n=0}^N{a_n} = \sum_{n=0}^N{96 \over {n^2 + 9n + 20}} $$ и найти величину погрешности при значениях: $$ N={10^2, 10^3, 10^4, 10^5} $$ Определить количество верных цифр результатов.
-
Найду сумму ряда S аналитически с использованием средств Matlab:
>> syms n >> S_inf = symsum(96 / (n^2 + 9*n + 20), n, 0, inf) S_inf = 24
-
Для решения задачи сумм необходимо знать значение частичных сумм S(N). Решим эту задачу в общем случае:
>> syms N >> S = symsum(96 / (n^2 + 9*n + 20), n, 0, N) S = (24*(N+1))/(N+5)
-
Сформирую вектор N значений, для которых необходимо вычислить величину погрешностей
>> N = [10^2, 10^3, 10^4, 10^5] N = 100 1000 10000 100000
-
Вычислю значения частичных сумм S_i = S(N_i) ряда при соответствующих значениях N_i.
>> S = (24*(N + 1))./(N + 5) S = 23.0857 23.9045 23.9904 23.9990
-
Для каждой величины S(N_i) вычислю абсолютную погрешность %DELTA.
>> D = abs(S - 24) D = 0.9143 0.0955 0.0096 0.0010 >> format long >> D D = 0.914285714285715 0.095522388059702 0.009595202398799 0.000959952002400 >> format short e; D D = 9.1429e-01 9.5522e-02 9.5952e-03 9.5995e-04
%DELTA_1 %DELTA_2 %DELTA_3 %DELTA_4 9 * 10^-1 1 * 10^-1 1 * 10^-2 1 * 10^-3 -
Для каждой величины S(N_i) вычислю относительную погрешность %delta и определю количество верных цифр.
>> d=D./24 d = 3.8095e-02 3.9801e-03 3.9980e-04 3.9998e-05
%delta_1 %delta_2 %delta_3 %delta_4 4 * 10^-2 4 * 10^-3 4 * 10^-4 4 * 10^-5 -
Для каждой величины S(N_i) определю количество верных цифр.
>> a = [2 2 2 2] a = 2 2 2 2 >> n = 1 - log10(a .* d) n = 2.1181e+00 3.0991e+00 4.0971e+00 5.0969e+00 >> n = floor(n) n = 2 3 4 5
-
Запишу численные значения найденных частичных сумм, округлив их до найденного ранее количества верных цифр.
>> format long; S S = 23.085714285714285 23.904477611940298 23.990404797601201 23.999040047997600
S_1 S_2 S_3 S_4 23 23.9 23.99 23.999 -
Построю график зависимости относительной погрешности в процентах от N.
>> semilogx(N, d * 100) % домножаю x на 100, т.к. относ. погрешность в процентах
-
Подписываю оси координат:
>> xlabel('N') >> ylabel('Относительная погрешность (%)')
-
Включаю отображение координатной сетки:
>> grid on
-
Даю графику название:
>> title('График зависимости относительной погрешности в процентах от N')
-