С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

пишу функцию метода простой итерации, заместо результата Q выдaёт -1.#IND - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сколько существует двухзначных, положительных чисел, сумма цифр которых равна 15 http://www.cyberforum.ru/cpp-beginners/thread667442.html
Подсчитать, сколько существует двухзначных, положительных чисел, сумма цифр которых равна 15. Вывести их на экран.
C++ Преобразовать BYTE* в hex строку? Здравствуйте, собственно сабж, как такое сделать в VC++? http://www.cyberforum.ru/cpp-beginners/thread667436.html
Поиск слов в тексте C++
всем добрый вечер помогите написать програмку кторая будет искать одинаковые слова в тексте(например будет октябрь сентябрь октябрь декабрь фераль декабрь ну и вывело что то такое...
C++ Столбец с минимальным произведением элементов
Вроде задача простая, но что-то заклинило, 1 тест прогоняю - считает, другой - нет. Где проблема, не пойму. int _tmain(int argc, _TCHAR* argv) { int n,m,i,j,s,first,nom; int mass; ...
C++ Выборка нечётных чисел http://www.cyberforum.ru/cpp-beginners/thread667427.html
Подскажите как написать программу выборки нечётных чисел из пяти введённых?
C++ Как правильней делать матрицу-объект? Сделать динамический одномерный массив - не проблема, проблема в том, что матрица должна быть строго прямоугольной, а состоять из массивов. А если написать m=v;, где v - одномерный массив, а m -... подробнее

Показать сообщение отдельно
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
09.10.2012, 21:59
просто неудачно выбрали функцию на компакте [A,B], которая бы являлась сжимающим отображением. В данном случае число после нескольких шагов итераций становится ОГРОМНЫМ, а потом превращается в NAN. Проблема в функции x + x^2 + 3*sin x, не являющейся сжимающей. Как понимаю, вы ищите корень функции x^2 + 3*sin x. Для нее сжимающая функция нужна другая.

например, в качестве сжимающей функции можно взять
http://www.cyberforum.ru/cgi-bin/latex.cgi?x+\frac{x^2+3sin x}{x^2}

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const A = -2;
const B = -1;
 
double Root(double eps)
{
   double x = A, y;
   y = x + (x*x + 3*sin(x)) / (x*x);
   int i;
   while(fabs(x - y) >= eps)
   {
       x = y;
       y = x + (x*x + 3*sin(x)) / (x*x);
   }
   return x;
}
 
int main()
{
   long i, n, t;
   std::cout << Root(0.0001) << std::endl;
   return 0;
}
Ответ: -1.722....
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.