Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 7 ] |
|
Автор | Сообщение | |
---|---|---|
neversleep |
|
|
Я решил делать методом дихотомии: Код: double dichotomy(double a, double b, const double eps) { double c, d, fc; unsigned n = 0; // кол-во итераций do { n++; c = (a + b) / 2; d = (b - a) / 2; // погрешность/точность fc = f(c); if (f(a) * fc <= 0) { b = c; } else { a = c; } out.write("%.2d | %lf | %lf | %lf\n", n, c, fc, d); // printf } while (fabs(fc) > eps); return c; } По условию задания нужно найти: [*] Корень - с этим проблем нет [*] Точность - здесь не уверен, правильно ли я это делаю [math]d = (b - a) \,\colon 2[/math] ? [*] Параметр сходимости[math]\alpha = \frac{\begin{vmatrix}x_{n+1} - x_n\end{vmatrix}}{\begin{vmatrix}x_n - x_{n-1}\end{vmatrix}}[/math] - Что это такое и как в моём случае его получить? Что подставлять в качестве [math]x[/math]? В математике не силен, поэтому если можно по подробнее с примерами [math][/math] |
||
Вернуться к началу | ||
Slon |
|
|
Я как бы без понятия (в программировании не селен), но по математике тут все очевидно:
[math]x_n, x_{n+1}[/math] это границы отрезка который содержит корень в n-ом шаге, а вы каждый раз уменьшаете интервал вдвое, то есть от [a; b] переходите к [a, c] или [c, b], где с=(a+b)/2. Значит [math]\alpha=0.5[/math] Точность: [math]\frac{b-a}{2^n}[/math], то есть d, хотя я бы на вашем месте написал бы не while (fabs(fc) > eps); а while (b-a)>eps; и тогда точность eps. Точность, это насколько близок Ваш ответ к правильному то есть как хорошо Вы х нашли |
||
Вернуться к началу | ||
За это сообщение пользователю Slon "Спасибо" сказали: neversleep |
||
neversleep |
|
|
Slon писал(а): Я как бы без понятия (в программировании не селен), но по математике тут все очевидно: [math]x_n, x_{n+1}[/math] это границы отрезка который содержит корень в n-ом шаге, а вы каждый раз уменьшаете интервал вдвое, то есть от [a; b] переходите к [a, c] или [c, b], где с=(a+b)/2. Значит [math]\alpha=0.5[/math] Точность: [math]\frac{b-a}{2^n}[/math], то есть d, хотя я бы на вашем месте написал бы не while (fabs(fc) > eps); а while (b-a)>eps; и тогда точность eps. Точность, это насколько близок Ваш ответ к правильному то есть как хорошо Вы х нашли Тогдя как я понимаю, параметр сходимости всегда 0.5. (я читал теорему, там что-то такое говорится, но т.к слаб в мат-ке, то сомневался) А в остальном у меня всё верно? Или на каждой итерации нужно вычислять точность как `d = pow((b - a) / 2, n);` (возводим в n-ную степень) ? |
||
Вернуться к началу | ||
Slon |
|
|
Нет считать один раз, просто последний d,
да при дихотомии всегда 1/2, а вот при некоторых алгоритмах поиска локального минимума там больше, а при поиске корня секущими меньше, при каких-то условиях, точно не помню |
||
Вернуться к началу | ||
За это сообщение пользователю Slon "Спасибо" сказали: neversleep |
||
neversleep |
|
|
Осталось пара сомнений) У меня в итоге почти всегда точность нулевая выходит:
(немного переписал код, добавил pow((b - a) / 2, n)) ▼ dichotomy
▼ результат
Это нормально? Собственно сама ф-ция: [math]3 * sin(8 * x) - 0.7 * x + 0.9[/math] |
||
Вернуться к началу | ||
Slon |
|
|
Вот я и говорю, не fabs нужно оценивать, а длину интервала, по мне так 0.01 это как-то слабо
А заменять на pow не нужно было, все было нормально, я писал просто окончательный ответ в терминах начальных a, b и n |
||
Вернуться к началу | ||
За это сообщение пользователю Slon "Спасибо" сказали: neversleep |
||
neversleep |
|
|
Slon писал(а): Вот я и говорю, не fabs нужно оценивать, а длину интервала, по мне так 0.01 это как-то слабо А заменять на pow не нужно было, все было нормально, я писал просто окончательный ответ в терминах начальных a, b и n Благодарю. |
||
Вернуться к началу | ||
[ Сообщений: 7 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Решить систему линейных уравнений методом квадратных корней
в форуме Линейная и Абстрактная алгебра |
16 |
456 |
27 мар 2019, 12:54 |
|
Решение СЛАУ методом квадратных корней(разложение Холецкого)
в форуме Линейная и Абстрактная алгебра |
4 |
391 |
21 фев 2022, 14:43 |
|
Метод дихотомии
в форуме Maple |
6 |
725 |
30 сен 2018, 17:41 |
|
Метод дихотомии
в форуме Численные методы |
26 |
729 |
05 июн 2020, 15:41 |
|
Сумма арифметических корней , корней квадратного уравнения
в форуме Алгебра |
24 |
355 |
25 июн 2022, 10:30 |
|
Определить радиус сходимости и область сходимости
в форуме Ряды |
1 |
167 |
18 дек 2019, 21:27 |
|
Решить операторным методом и методом исключения | 5 |
247 |
05 дек 2021, 23:33 |
|
Интегрирование методом Симпсона и методом прямоугольников
в форуме Численные методы |
0 |
447 |
08 апр 2017, 10:18 |
|
Параметр | 3 |
254 |
13 янв 2017, 20:44 |
|
Параметр
в форуме Алгебра |
5 |
418 |
10 фев 2016, 10:29 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |