Рассмотрите уравнение cos x = x и обсудите число решений, методы их оценки и численного нахождения; какие особенности поведения функций влияют на выбор алгоритма
Рассмотрим функцию f(x)=cosx−xf(x)=\cos x - xf(x)=cosx−x. Число решений - fff непрерывна на R\mathbb{R}R и limx→+∞f(x)=−∞, limx→−∞f(x)=+∞\lim_{x\to+\infty}f(x)=-\infty,\ \lim_{x\to-\infty}f(x)=+\inftylimx→+∞f(x)=−∞,limx→−∞f(x)=+∞, значит хотя бы один корень существует. - Любой корень удовлетворяет x∈[−1,1]x\in[-1,1]x∈[−1,1] (так как cosx∈[−1,1]\cos x\in[-1,1]cosx∈[−1,1]), а на отрезке [−1,1][-1,1][−1,1] функция g(x)=cosxg(x)=\cos xg(x)=cosx является сжимающим отображением: ∣g′(x)∣=∣sinx∣≤sin1<1|g'(x)|=|\sin x|\le\sin 1<1∣g′(x)∣=∣sinx∣≤sin1<1. По теореме о сжимающем отображении фиксированная точка (решение x=cosxx=\cos xx=cosx) единственна. Итого: ровно одно вещественное решение. - Его численное значение (Dottie number): x≈0.7390851332151607x\approx 0.7390851332151607x≈0.7390851332151607. Методы оценки и численного нахождения - Грубые оценки: f(0)=1>0, f(1)=cos1−1<0f(0)=1>0,\ f(1)=\cos 1-1<0f(0)=1>0,f(1)=cos1−1<0 ⇒ корень в (0,1)(0,1)(0,1). Можно улучшить интервал подбором. - Биссекция: гарантированная сходимость. Ошибка после nnn шагов: ≤(b−a)/2n\le (b-a)/2^n≤(b−a)/2n. Надёжен, но медленен (линейная сходимость). - Итерация фиксированной точки: xn+1=cosxnx_{n+1}=\cos x_nxn+1=cosxn. Поскольку ∣cos′(x)∣=∣sinx∣≤sin1=q<1|\cos'(x)|=|\sin x|\le\sin 1=q<1∣cos′(x)∣=∣sinx∣≤sin1=q<1 на [−1,1][-1,1][−1,1], метод сходится глобально на этом отрезке с линейной скоростью qqq: ∣xn−x∗∣≤qn∣x0−x∗∣|x_n-x^*|\le q^n|x_0-x^*|∣xn−x∗∣≤qn∣x0−x∗∣. Простой и гарантированно сходится, но медленнее Ньютона; можно ускорить методом Стейнена/Aitken. - Метод Ньютона для fff: f′(x)=−sinx−1f'(x)=-\sin x-1f′(x)=−sinx−1. Шаг: 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.
При близком начальном приближении даёт квадратичную сходимость (очень быстро). Требует вычисления sinxn\sin x_nsinxn и избежания точек, где 1+sinxn1+\sin x_n1+sinxn близко к нулю (но такие точки далеко от корня). - Секантный метод: не требует производной, суперлинейная (порядок ≈1.618) сходимость; полезен если вычисление sin\sinsin дорого. - Комбинации: начать бисекцией/итерацией фикс. точки для гарантии и затем переключиться на Ньютон для быстрого уточнения. Особенности поведения функций, влияющие на выбор алгоритма - Уникальность и сжимающее поведение на [−1,1][-1,1][−1,1] делает итерацию xn+1=cosxnx_{n+1}=\cos x_nxn+1=cosxn надёжной; константа сжатия sin1≈0.841\sin 1\approx0.841sin1≈0.841 даёт линейную скорость. - Производная f′(x)=−sinx−1f'(x)=-\sin x-1f′(x)=−sinx−1 не близка к нулю в окрестности корня (приблизительно −1.6736-1.6736−1.6736), поэтому Ньютон стабилен и быстро сходится при разумном старте. - Осциллирующий характер cosx\cos xcosx требует осторожности с начальными приближениями, если начинать далеко от [−1,1][-1,1][−1,1]; лучше ограничить начальное приближение в [−1,1][-1,1][−1,1]. - Надёжность vs скорость: бисекция гарантирована, итерация фикс. точки — простая и гарантированная на [−1,1][-1,1][−1,1] (но медленнее), Ньютон — быстрый при хорошем старте, секант — компромисс без явной производной. Практическая рекомендация: взять интервал [0,1][0,1][0,1], выполнить несколько шагов итерации xn+1=cosxnx_{n+1}=\cos x_nxn+1=cosxn или бисекции, затем перейти на метод Ньютона для быстрого достижения машинной точности.
Число решений
- fff непрерывна на R\mathbb{R}R и limx→+∞f(x)=−∞, limx→−∞f(x)=+∞\lim_{x\to+\infty}f(x)=-\infty,\ \lim_{x\to-\infty}f(x)=+\inftylimx→+∞ f(x)=−∞, limx→−∞ f(x)=+∞, значит хотя бы один корень существует.
- Любой корень удовлетворяет x∈[−1,1]x\in[-1,1]x∈[−1,1] (так как cosx∈[−1,1]\cos x\in[-1,1]cosx∈[−1,1]), а на отрезке [−1,1][-1,1][−1,1] функция g(x)=cosxg(x)=\cos xg(x)=cosx является сжимающим отображением: ∣g′(x)∣=∣sinx∣≤sin1<1|g'(x)|=|\sin x|\le\sin 1<1∣g′(x)∣=∣sinx∣≤sin1<1. По теореме о сжимающем отображении фиксированная точка (решение x=cosxx=\cos xx=cosx) единственна. Итого: ровно одно вещественное решение.
- Его численное значение (Dottie number): x≈0.7390851332151607x\approx 0.7390851332151607x≈0.7390851332151607.
Методы оценки и численного нахождения
- Грубые оценки: f(0)=1>0, f(1)=cos1−1<0f(0)=1>0,\ f(1)=\cos 1-1<0f(0)=1>0, f(1)=cos1−1<0 ⇒ корень в (0,1)(0,1)(0,1). Можно улучшить интервал подбором.
- Биссекция: гарантированная сходимость. Ошибка после nnn шагов: ≤(b−a)/2n\le (b-a)/2^n≤(b−a)/2n. Надёжен, но медленен (линейная сходимость).
- Итерация фиксированной точки: xn+1=cosxnx_{n+1}=\cos x_nxn+1 =cosxn . Поскольку ∣cos′(x)∣=∣sinx∣≤sin1=q<1|\cos'(x)|=|\sin x|\le\sin 1=q<1∣cos′(x)∣=∣sinx∣≤sin1=q<1 на [−1,1][-1,1][−1,1], метод сходится глобально на этом отрезке с линейной скоростью qqq: ∣xn−x∗∣≤qn∣x0−x∗∣|x_n-x^*|\le q^n|x_0-x^*|∣xn −x∗∣≤qn∣x0 −x∗∣. Простой и гарантированно сходится, но медленнее Ньютона; можно ускорить методом Стейнена/Aitken.
- Метод Ньютона для fff: f′(x)=−sinx−1f'(x)=-\sin x-1f′(x)=−sinx−1. Шаг:
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 . При близком начальном приближении даёт квадратичную сходимость (очень быстро). Требует вычисления sinxn\sin x_nsinxn и избежания точек, где 1+sinxn1+\sin x_n1+sinxn близко к нулю (но такие точки далеко от корня).
- Секантный метод: не требует производной, суперлинейная (порядок ≈1.618) сходимость; полезен если вычисление sin\sinsin дорого.
- Комбинации: начать бисекцией/итерацией фикс. точки для гарантии и затем переключиться на Ньютон для быстрого уточнения.
Особенности поведения функций, влияющие на выбор алгоритма
- Уникальность и сжимающее поведение на [−1,1][-1,1][−1,1] делает итерацию xn+1=cosxnx_{n+1}=\cos x_nxn+1 =cosxn надёжной; константа сжатия sin1≈0.841\sin 1\approx0.841sin1≈0.841 даёт линейную скорость.
- Производная f′(x)=−sinx−1f'(x)=-\sin x-1f′(x)=−sinx−1 не близка к нулю в окрестности корня (приблизительно −1.6736-1.6736−1.6736), поэтому Ньютон стабилен и быстро сходится при разумном старте.
- Осциллирующий характер cosx\cos xcosx требует осторожности с начальными приближениями, если начинать далеко от [−1,1][-1,1][−1,1]; лучше ограничить начальное приближение в [−1,1][-1,1][−1,1].
- Надёжность vs скорость: бисекция гарантирована, итерация фикс. точки — простая и гарантированная на [−1,1][-1,1][−1,1] (но медленнее), Ньютон — быстрый при хорошем старте, секант — компромисс без явной производной.
Практическая рекомендация: взять интервал [0,1][0,1][0,1], выполнить несколько шагов итерации xn+1=cosxnx_{n+1}=\cos x_nxn+1 =cosxn или бисекции, затем перейти на метод Ньютона для быстрого достижения машинной точности.