Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
#1

Найти корень уравнения и количество итераций - C++

12.03.2014, 10:55. Просмотров 250. Ответов 1
Метки нет (Все метки)

Найти корень уравнения, но нужно ещё количество итераций, не получается!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <cmath>
using namespace std;
 
double f( double x )
{
    return (x-1)*(x-1)-5;
}
 
double findRoot(double (*f)(double), double a=2, double b=43,  double epsln=1e-6)
{
    double t=0;
    double k_iter=0;
    while (fabs(b-a)>=epsln)
 
    {
        
        t = a+(f(b)*(b-a))/(f(b)-f(a));  //2
        if (f(a)*f(t)<0)
        {
            b=t;
        
        } 
        else 
            if (f(t)*f(b)<0)
        {
            a=t;
        
        } 
        else 
            
        return t;
    }
    
    k_iter+=1;
    cout<<"k_iter="<<k_iter<<"\n";
    return t;
}
 
 
int main() 
{
 
    double t = findRoot( f );
    cout << "x=" << t << " f(x)=" << f(t) << endl;
    return 0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2014, 10:55     Найти корень уравнения и количество итераций
Посмотрите здесь:

Найти корень уравнения методом итераций - C++
Нужно написать программу, которая будет находить корень уравнения x^3+2x^2+x-1=0 методом итераций. Помогите пожалуйста.

Вычислить методом итераций корень уравнения - C++
Вот сижу, ломаю голову, понимаю что самой это сделать не получится, а скоро сдавать, поэтому прошу вас о помощи! Очень надо! Язык С ...

Можите найти ошибку в методе простых итераций он не расчитывает кубический корень - C++
#include&lt;stdlib.h&gt; #include&lt;math.h&gt; #include&lt;iostream&gt; #include&lt;fstream&gt; usingnamespace std; floatfun1(int num,float x,float...

Найти корень уравнения 2x^3-x-10=0 - C++
заранее благодарен

Найти корень уравнения - C++
pomogite Величина d является корнем только одного из уравнений ах2 +bх+с = 0 mx+n = 0.

Найти корень уравнения - C++
Доброго времени суток, помогите написать программу по нахождению корней уравнения. Сам просто напросто не знаю как решить данное уравнение,...

Найти корень уравнения - C++
Найти корень уравнения 2*x*x*x-x-10=0 sqrt(x)-2=0

Найти корень уравнения с точностью 10^-4 - C++
Есть 3^x - 2*x^2 - 3 = 0; Найти корень уравнения с точностью 10^-4 Надо на с++ решить (программа должна просто выдавать ответ,...

Найти отрицательный корень уравнения - C++
Найти отрицательный корень уравнения e^x = 5x^2 Найти решение уравнения с точностью E= 0.0001 следующими методами: - дихотомии, -...

Найти корень квадратного уравнения - C++
Люди помогите решить программу з оператором (if) Задание: Знайти корень квадратного уравнения!!!!!

Найти корень уравнения на интервале - C++
Помогите пожалуйста написать программу: Найти корень уравнения\varphi (x)=0 на интервале (А,В) с точностью Е=10^-4.Известно,что \varphi...

Найти корень уравнения методом хорд - C++
x^3+2x-5 = 0 Решите методом хорд. Очень срочно. И укажите мне отдельно интервалы. Заранее спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jurok_85
241 / 224 / 77
Регистрация: 21.02.2013
Сообщений: 518
Завершенные тесты: 1
12.03.2014, 17:06     Найти корень уравнения и количество итераций #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
double findRoot(double (*f)(double), double a=2, double b=43,  double epsln=1e-6)
{
    double t=0;
    double k_iter=0;
    while (fabs(b-a)>=epsln)
 
    {
 
        t = a+(f(b)*(b-a))/(f(b)-f(a));  //2
        if (f(a)*f(t)<0)
        {
            b=t;
 
        }
        else
            if (f(t)*f(b)<0)
        {
            a=t;
 
        }
        else
 
        return t;
         
         k_iter+=1;// [B]инкрементируй k_iter в цикле while[/B]
    }
 
 
    cout<<"k_iter="<<k_iter<<"\n";
    return t;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru