Кратко и по делу. Существование и единственность - Рассмотрим f(x)=cosx−xf(x)=\cos x-xf(x)=cosx−x. fff непрерывна, f(0)=1>0f(0)=1>0f(0)=1>0, f(1)=cos1−1≈−0.4597<0f(1)=\cos1-1\approx-0.4597<0f(1)=cos1−1≈−0.4597<0, следовательно по теореме о промежуточном значении существует корень в (0,1)(0,1)(0,1). - Любой корень должен лежать в [−1,1][-1,1][−1,1], поскольку при x>1x>1x>1 имеет место cosx≤1<x\cos x\le1<xcosx≤1<x, а при x<−1x<-1x<−1 — cosx≥−1>x\cos x\ge-1>xcosx≥−1>x. На отрезке [−1,1][-1,1][−1,1] производная f′(x)=−sinx−1<−sin1−1<0,
f'(x)=-\sin x-1< -\sin1-1<0, f′(x)=−sinx−1<−sin1−1<0,
поэтому fff строго убывает на [−1,1][-1,1][−1,1] и корень единственен. Обозначим его α\alphaα. Численно α≈0.73908513321516\alpha\approx0.73908513321516α≈0.73908513321516. Методы приближённого нахождения и скорость сходимости 1) Метод дихотомии (bisection) - Требует начального интервала [a,b][a,b][a,b] с f(a)f(b)<0f(a)f(b)<0f(a)f(b)<0 (например [0,1][0,1][0,1]). - Итерация: делить интервал пополам, выбирать подпериод, где смена знака. - Сходимость линейная: погрешность после nnn шагов ≤(b−a)2−n\le (b-a)2^{-n}≤(b−a)2−n. Для точности ε\varepsilonε нужно примерно n≥⌈log2((b−a)/ε)⌉n\ge\lceil\log_2((b-a)/\varepsilon)\rceiln≥⌈log2((b−a)/ε)⌉. 2) Простая итерация (метод неподвижной точки) xn+1=g(xn)x_{n+1}=g(x_n)xn+1=g(xn) с g(x)=cosxg(x)=\cos xg(x)=cosx
- Поскольку ∣g′(x)∣=∣sinx∣≤sin1≈0.84147<1|g'(x)|=|\sin x|\le\sin1\approx0.84147<1∣g′(x)∣=∣sinx∣≤sin1≈0.84147<1 на [−1,1][-1,1][−1,1], оператор является сжатием на этом отрезке. Так как cos\coscos переводит любую точку в [−1,1][-1,1][−1,1], для любого начального x0∈Rx_0\in\mathbb Rx0∈R последовательность сходится к α\alphaα. - Сходимость линейная. Асимпт. множитель сходимости вблизи корня равен ∣g′(α)∣=∣sinα∣≈0.673612|g'(\alpha)|=|\sin\alpha|\approx0.673612∣g′(α)∣=∣sinα∣≈0.673612. Ошибка приблизительно убывает как en+1≈∣sinα∣ ene_{n+1}\approx |\sin\alpha|\,e_nen+1≈∣sinα∣en. - Прост в реализации, но медленнее Ньтона. 3) Метод Ньютона для h(x)=cosx−xh(x)=\cos x-xh(x)=cosx−x
- Итерация xn+1=xn−cosxn−xn−sinxn−1=xn+cosxn−xn1+sinxn.
x_{n+1}=x_n-\frac{\cos x_n-x_n}{-\sin x_n-1} =x_n+\frac{\cos x_n-x_n}{1+\sin x_n}. xn+1=xn−−sinxn−1cosxn−xn=xn+1+sinxncosxn−xn.
- При достаточном приближении к α\alphaα сходимость квадратичная: en+1≈Cen2e_{n+1}\approx C e_n^2en+1≈Cen2, где C=h′′(α)2h′(α)=cosα2(1+sinα).
C=\frac{h''(\alpha)}{2h'(\alpha)}=\frac{\cos\alpha}{2(1+\sin\alpha)}. C=2h′(α)h′′(α)=2(1+sinα)cosα.
Используя cosα=α\cos\alpha=\alphacosα=α получаем численно C≈0.2208C\approx0.2208C≈0.2208. Значит при малой ошибке число верных цифр примерно удваивается за шаг. - Требует вычисления sinxn\sin x_nsinxn и cosxn\cos x_ncosxn и хорошего начального приближения; возможны проблемы при делении на малое 1+sinxn1+\sin x_n1+sinxn (в нашем случае 1+sinα1+\sin\alpha1+sinα не мал). 4) Секущая и другие методы - Секущая: не требует производной, порядок сходимости ≈1.618\approx1.618≈1.618 (суперлинейный). - Aitken/экстраполяция могут ускорить линейную итерацию. Практические замечания и оценки - Для быстрой и надёжной процедуры: можно начать с нескольких шагов дихотомии, затем переключиться на Ньютон. Альтернатива — прямо итерация xn+1=cosxnx_{n+1}=\cos x_nxn+1=cosxn, она гарантированно сходится и простая, но медленнее. - Оценки числа итераций: для простой итерации с коэффициентом сходимости rrr требуемое число шагов для достижения погрешности ε\varepsilonε примерно n≳ln(ε/∣e0∣)lnr.
n\gtrsim\frac{\ln(\varepsilon/|e_0|)}{\ln r}. n≳lnrln(ε/∣e0∣).
Для Нютона при квадратичной сходимости число итераций растёт как log2log1/C(1/ε)\log_2\log_{1/C}(1/\varepsilon)log2log1/C(1/ε) (ошибки квадратно уменьшаются). Кратко: единственный корень α∈(0,1)\alpha\in(0,1)α∈(0,1), итерация xn+1=cosxnx_{n+1}=\cos x_nxn+1=cosxn даёт простую гарантию с линейной сходимостью (коэффициент около 0.670.670.67 вблизи корня), Ньютон даёт квадратичную сходимость (константа ~0.2210.2210.221), дихотомия — надёжна с линейной скоростью 1/21/21/2 на шаг.
Существование и единственность
- Рассмотрим f(x)=cosx−xf(x)=\cos x-xf(x)=cosx−x. fff непрерывна, f(0)=1>0f(0)=1>0f(0)=1>0, f(1)=cos1−1≈−0.4597<0f(1)=\cos1-1\approx-0.4597<0f(1)=cos1−1≈−0.4597<0, следовательно по теореме о промежуточном значении существует корень в (0,1)(0,1)(0,1).
- Любой корень должен лежать в [−1,1][-1,1][−1,1], поскольку при x>1x>1x>1 имеет место cosx≤1<x\cos x\le1<xcosx≤1<x, а при x<−1x<-1x<−1 — cosx≥−1>x\cos x\ge-1>xcosx≥−1>x. На отрезке [−1,1][-1,1][−1,1] производная
f′(x)=−sinx−1<−sin1−1<0, f'(x)=-\sin x-1< -\sin1-1<0,
f′(x)=−sinx−1<−sin1−1<0, поэтому fff строго убывает на [−1,1][-1,1][−1,1] и корень единственен. Обозначим его α\alphaα. Численно α≈0.73908513321516\alpha\approx0.73908513321516α≈0.73908513321516.
Методы приближённого нахождения и скорость сходимости
1) Метод дихотомии (bisection)
- Требует начального интервала [a,b][a,b][a,b] с f(a)f(b)<0f(a)f(b)<0f(a)f(b)<0 (например [0,1][0,1][0,1]).
- Итерация: делить интервал пополам, выбирать подпериод, где смена знака.
- Сходимость линейная: погрешность после nnn шагов ≤(b−a)2−n\le (b-a)2^{-n}≤(b−a)2−n. Для точности ε\varepsilonε нужно примерно n≥⌈log2((b−a)/ε)⌉n\ge\lceil\log_2((b-a)/\varepsilon)\rceiln≥⌈log2 ((b−a)/ε)⌉.
2) Простая итерация (метод неподвижной точки) xn+1=g(xn)x_{n+1}=g(x_n)xn+1 =g(xn ) с g(x)=cosxg(x)=\cos xg(x)=cosx - Поскольку ∣g′(x)∣=∣sinx∣≤sin1≈0.84147<1|g'(x)|=|\sin x|\le\sin1\approx0.84147<1∣g′(x)∣=∣sinx∣≤sin1≈0.84147<1 на [−1,1][-1,1][−1,1], оператор является сжатием на этом отрезке. Так как cos\coscos переводит любую точку в [−1,1][-1,1][−1,1], для любого начального x0∈Rx_0\in\mathbb Rx0 ∈R последовательность сходится к α\alphaα.
- Сходимость линейная. Асимпт. множитель сходимости вблизи корня равен ∣g′(α)∣=∣sinα∣≈0.673612|g'(\alpha)|=|\sin\alpha|\approx0.673612∣g′(α)∣=∣sinα∣≈0.673612. Ошибка приблизительно убывает как en+1≈∣sinα∣ ene_{n+1}\approx |\sin\alpha|\,e_nen+1 ≈∣sinα∣en .
- Прост в реализации, но медленнее Ньтона.
3) Метод Ньютона для h(x)=cosx−xh(x)=\cos x-xh(x)=cosx−x - Итерация
xn+1=xn−cosxn−xn−sinxn−1=xn+cosxn−xn1+sinxn. x_{n+1}=x_n-\frac{\cos x_n-x_n}{-\sin x_n-1}
=x_n+\frac{\cos x_n-x_n}{1+\sin x_n}.
xn+1 =xn −−sinxn −1cosxn −xn =xn +1+sinxn cosxn −xn . - При достаточном приближении к α\alphaα сходимость квадратичная: en+1≈Cen2e_{n+1}\approx C e_n^2en+1 ≈Cen2 , где
C=h′′(α)2h′(α)=cosα2(1+sinα). C=\frac{h''(\alpha)}{2h'(\alpha)}=\frac{\cos\alpha}{2(1+\sin\alpha)}.
C=2h′(α)h′′(α) =2(1+sinα)cosα . Используя cosα=α\cos\alpha=\alphacosα=α получаем численно C≈0.2208C\approx0.2208C≈0.2208. Значит при малой ошибке число верных цифр примерно удваивается за шаг.
- Требует вычисления sinxn\sin x_nsinxn и cosxn\cos x_ncosxn и хорошего начального приближения; возможны проблемы при делении на малое 1+sinxn1+\sin x_n1+sinxn (в нашем случае 1+sinα1+\sin\alpha1+sinα не мал).
4) Секущая и другие методы
- Секущая: не требует производной, порядок сходимости ≈1.618\approx1.618≈1.618 (суперлинейный).
- Aitken/экстраполяция могут ускорить линейную итерацию.
Практические замечания и оценки
- Для быстрой и надёжной процедуры: можно начать с нескольких шагов дихотомии, затем переключиться на Ньютон. Альтернатива — прямо итерация xn+1=cosxnx_{n+1}=\cos x_nxn+1 =cosxn , она гарантированно сходится и простая, но медленнее.
- Оценки числа итераций: для простой итерации с коэффициентом сходимости rrr требуемое число шагов для достижения погрешности ε\varepsilonε примерно
n≳ln(ε/∣e0∣)lnr. n\gtrsim\frac{\ln(\varepsilon/|e_0|)}{\ln r}.
n≳lnrln(ε/∣e0 ∣) . Для Нютона при квадратичной сходимости число итераций растёт как log2log1/C(1/ε)\log_2\log_{1/C}(1/\varepsilon)log2 log1/C (1/ε) (ошибки квадратно уменьшаются).
Кратко: единственный корень α∈(0,1)\alpha\in(0,1)α∈(0,1), итерация xn+1=cosxnx_{n+1}=\cos x_nxn+1 =cosxn даёт простую гарантию с линейной сходимостью (коэффициент около 0.670.670.67 вблизи корня), Ньютон даёт квадратичную сходимость (константа ~0.2210.2210.221), дихотомия — надёжна с линейной скоростью 1/21/21/2 на шаг.