[Хелп] Лаба 3 (11 вариант) по ОАиП Делфи

Не в сети
Зарегистрирован: 09/06/2011

   №       Xn         Xk                     S                                                 e                              Y

 

Вывести на экран таблицу значений функции y(x) и ее разложения в ряд s(x) для x изменяющихся от xn до xk с заданным количеством шагов M  и точностью e. Близость значений S(x) и Y(x) во всем диапазоне значений x указывает на правильность вычисления S(x) и Y(x).

 

Не могу понять как вычислить S.

примерный код:

repeat

      a:=1;  S:=1;  n:=0;

         while (abs(a) > e) do begin

            n:=n+1;

              a:=-a*x/n; Тут должна быть формула S.

              s:=s+a;

           end;

              y:=exp(-x);  Тут Y.

     Memo1.Lines.Add('при x='+FloatToStrF(x,ffFixed,6,2)+'   сумма ='

                                   + FloatToStrF(s,ffFixed,8,4)+’ y ='

+ FloatToStrF(y,ffFixed,8,4)+'   N ='+IntToStr(n));

         x:=x+h;

 

 

Не в сети
Зарегистрирован: 09/22/2011

Формула S вычисляется в 2 этапа:
a:=-a*x/n; // вычисляется слагаемое используя рекуррентную зависимость: Аn вычисляется умножением A(n-1)на рекуррентную составляющую (в данном случае -x/n)

s:=s+a; //вычисляется сама сумма S

--------

Для вычисления рекуррентной составляющей (R) можно использовать следующее выражение
A(n)=A(n-1)*R => R=A(n)/A(n-1)

Для Вашего случая:
А(n)=(-1)^n*(2*n^2+1)*(x^(2n))/(2n)!
А(n-1)=(-1)^(n-1)*(2*(n-1)^2+1)*(x^(2(n-1)))/(2(n-1))!=(-1)^(n-1)*(2*(n-1)^2+1)*(x^(2n-2))/(2n-2)!

Используя простое правило деления степенных выражений и свойства факториала n!=(n-1)!*n, делим A(n)на A(n-1):

R=A(n)/A(n-1)=(-1)*(2*n^2+1)/(2*(n-1)^2+1)*X^2/(2n*(2n-1))
Вот это и есть рекуррентная составляющая.

Строго говоря, выражение (2*n^2+1) не является рекуррентным, и красивее его не учитывать в A, а использовать в вычислении S. Как это сделать подумайте сами :)

P.S.:В математических выражениях не использовались строгие правила синтаксиса, написано только для понимания.

Не в сети
Зарегистрирован: 09/06/2011

Большое спасибо составил алгоритм, работает.