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

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

Восстановить пароль Регистрация
 
nomri
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 7
16.01.2013, 23:56     Найти корень уравнения #1
Найти корень уравнения 2*x*x*x-x-10=0
sqrt(x)-2=0
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
17.01.2013, 00:25     Найти корень уравнения #2
Метод Ньютона вам в помощь
-=ЮрА=-
Заблокирован
Автор FAQ
17.01.2013, 01:15     Найти корень уравнения #3
nomri, проще всего метод простых итераций, держи
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
#include <cmath>
#include <iostream>
using namespace std;
 
double f1(double x)
{
    return 2*x*x*x - x - 10;
}
 
double f2(double x)
{
    return sqrt(x) - 2;
}
 
double g1(double x)
{
    return x - 0.001*f1(x);
}
 
int main()
{
    double x;
    double e;
    double n;
    cout<<"Initial val x : ";cin>>x;
    cout<<"Error of calc : ";cin>>e;
 
    for(n = 1; e < fabs(f1(x)) && e < fabs(f2(x)); n = n + 1)
    {
        x = g1(x);
        cout<<"Iteration : "<<n<<endl;
        cout<<"   x  : "<<   x <<endl;
        cout<<"f1(x) : "<<f1(x)<<endl;
        cout<<"f2(x) : "<<f1(x)<<endl;
    }
    return 0;
}
Миниатюры
Найти корень уравнения   Найти корень уравнения  
-=ЮрА=-
17.01.2013, 01:16
  #4

Не по теме:

PS:

Цитата Сообщение от nomri Посмотреть сообщение
Найти корень уравнения 2*x*x*x-x-10=0
sqrt(x)-2=0
- корень системы уравнений

MrGluck
17.01.2013, 01:19
  #5

Не по теме:

-=ЮрА=-, в 34 строчке опечатался?

-=ЮрА=-
Заблокирован
Автор FAQ
17.01.2013, 01:25     Найти корень уравнения #6

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
-=ЮрА=-, в 34 строчке опечатался?
- да, в любом случае останов по двум функциям, там норм считается
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
e < fabs(f1(x)) && e < fabs(f2(x))



Добавлено через 3 минуты
Вот поправил http://codepad.org/YKcZQzuO
Initial val x : 1
Error of calc : 0.0001
Iteration : 1
x : 1.009
f1(x) : -8.95451
f2(x) : -0.99551
......
f1(x) : -0.000100603
f2(x) : -0.655627
Iteration : 666
x : 1.80734
f1(x) : -9.87321e-05
f2(x) : -0.655627
(итераций интересное число получилось...)
tytypyto
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 8
17.01.2013, 17:59     Найти корень уравнения #7
напишите пожалуйста отдельно второе уравнение
-=ЮрА=-
Заблокирован
Автор FAQ
17.01.2013, 18:19     Найти корень уравнения #8
Цитата Сообщение от tytypyto Посмотреть сообщение
напишите пожалуйста отдельно второе уравнение
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
#include <cmath>
#include <iostream>
using namespace std;
 
double f(double x)
{
    return sqrt(x) - 2;
}
 
double g(double x)
{
    return x - 0.001*f(x);
}
 
int main()
{
    double x;
    double e;
    double n;
    cout<<"Initial val x : ";cin>>x;
    cout<<"Error of calc : ";cin>>e;
 
    for(n = 1; e < fabs(f(x)); n = n + 1)
    {
        x = g(x);
        cout<<"Iteration : "<<n<<endl;
        cout<<"  x  : "<<   x <<endl;
        cout<<"f(x) : "<< f(x)<<endl;
    }
    return 0;
}
Миниатюры
Найти корень уравнения  
-=ЮрА=-
17.01.2013, 18:20
  #9

Не по теме:

В принципе если ввести 3,5 то считаться конечно же быстрей чем за 24 тыс итераций будет, думаю это очевидно...

tytypyto
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 8
17.01.2013, 20:41     Найти корень уравнения #10
и 1 уравнение пожалуйста)
-=ЮрА=-
17.01.2013, 22:43
  #11

Не по теме:

Цитата Сообщение от tytypyto Посмотреть сообщение
и 1 уравнение пожалуйста)
- нет делай по аналогии, я люблю когда люди думают а не слепо копипастят, пример у тебя имеется - так что вперёд...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2013, 16:54     Найти корень уравнения
Еще ссылки по теме:

C++ Найти корень уравнения
C++ Найти корень уравнения y=f(x)=0 методом касательных
С паскаля в с++. Найти корень нелинейного уравнения C++

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

Или воспользуйтесь поиском по форуму:
ru_LAN
11 / 11 / 0
Регистрация: 13.11.2011
Сообщений: 265
11.02.2013, 16:54     Найти корень уравнения #12
-=ЮрА=-, добрый день уважаемый форумчанин. Не могли бы показать алгоритм нахождения трансцендентных уравнений методом касательных(Ньютона).
Yandex
Объявления
11.02.2013, 16:54     Найти корень уравнения
Ответ Создать тему
Опции темы

Текущее время: 16:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru