В то время как петли и тестирование на сходимость - PullRequest
1 голос
/ 18 апреля 2020

Я пытался использовать некоторое время l oop, чтобы проверить сходимость для X (n) = X (n-1) + ((- 1) ^ n) / n), так как n стремится к бесконечности. Я не могу заставить свой код работать. Я знаю, что по определению Xn - последовательность и Xn имеет предел, если для всех E> 0 существует KEN такой, что | Xn - L | бесконечность.

Я не уверен, где я ошибся.

K=1;
x(K)=x(K-1)+((-1)^K)/K;
eps=0.0001;
L=0;
while abs(x(K)-x(K-1))>eps && K<10^5
K=K+1;
x(K+1)=x(K-1)+((-1)^K)/K;
end
sprintf('K is %d, x(K)=%f', [K, x(K)])
if abs(x(K)-x(K-1))< eps && K<10^5
% test that condition hold for any n>K 
n=fix(rand()*100)+K;
x_n=x(n-1)+((-1)^n)/n; %corresponds to x(n) 
    if abs(x_n-(x(n-1)+((-1)^n)/n))<eps
        sprintf(['the test did not fail\n',...
' The sequence satisfies the definition'])
    else
   sprintf('the test for convergence failed')
    end
else
  sprintf('The sequence did not converge over %d iterations', [K])
end  

1 Ответ

1 голос
/ 18 апреля 2020

Добавьте две приведенные ниже строки в начале, чтобы заставить ваш код работать,

x(1)=1;
K=2;

, затем построите график

plot(abs(x))

, и вы увидите, что это колебательная функция, и она выиграла не сходятся.

...