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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
#1

Алгоритм простой итерации - C++

27.09.2011, 18:04. Просмотров 1478. Ответов 9
Метки нет (Все метки)

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
#include <iostream>
#include <math.h>
 
using namespace std;
 
double f(double x)
{
    return (log(x) - atan(x) + 0.5);
}
 
double fi(double x)
{
    return tan(log(x) + 0.5);
}
 
int main()
{
    const double e = 0.000001;
    
    double x = 1, x1 = fi(x);
    while(abs(x1 - x) > e)
    {
        x = x1;
        x1 = fi(x1);
        cout << x << endl;
    }
 
    cout << x1 << endl;
    cout << f(x1) << endl; 
 
    cin.get();
    cin.get();
 
    return 0;
}
Не пойму что не правильно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 18:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм простой итерации (C++):

Метод простой итерации - C++
Вот такая задача! Используя метод простой итерации, решить с точностью ε = 10 такие нелинейные системы уравнений. Помогите реализовать в...

Метод простой итерации - C++
Здраствуйте! Нужно реализовать в C++ метод простой итерации. #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; #include...

Метод простой итерации - C++
Помогите решить методом простой итерации уравнение вида x=f(x).Очередное приближение корня находится по формуле {x}_{n}=f({x}_{n-1});...

Метод простой итерации - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double f(double x) { return (-2.5*pow(x, 3) + 0.25*pow(x, 2) - 3); ...

Метод простой итерации - C++
Добрый день! нужна помощь, помогите пожалуйста с решением задачи Решить методом простой итерации уравнение вида х=Ф(Х). Очевидное...

Метод простой итерации - C++
Всем привет. Кто знаком с методом простой итерации??? Вот есть код, он вроде работает, но в итоге ничего не дает, в коде описаны...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
o-user
245 / 202 / 7
Регистрация: 03.02.2009
Сообщений: 788
27.09.2011, 18:20 #2
А может все правильно?
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
27.09.2011, 18:41  [ТС] #3
Цитата Сообщение от o-user Посмотреть сообщение
А может все правильно?
Ну если бы все было правильно то был правильный ответ, а его нет так как программа зацикливается.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 19:23 #4
Цитата Сообщение от Overmind024 Посмотреть сообщение
программа зацикливается.
В каком месте?
вывод
0.546302
-0.104965
nan
nan
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
27.09.2011, 21:03  [ТС] #5
ну все равно результат не правильный.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 21:07 #6
Ну вы само задание напишите хотя бы
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
27.09.2011, 21:16 #7
Overmind024, так зацикливается или не правильный? Вы решитесь.
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
27.09.2011, 22:36  [ТС] #8
Цитата Сообщение от Gepar Посмотреть сообщение
Overmind024, так зацикливается или не правильный? Вы решитесь.
Просто для других функций, происходит зацикливание.
C++
1
2
3
4
5
6
7
8
9
double f(double x)
{
    return (acos(x) + pow(x,3.0));
}
 
double fi(double x)
{
    return cos(pow(x,3.0));
}
Добавлено через 1 минуту
Цитата Сообщение от soon Посмотреть сообщение
Ну вы само задание напишите хотя бы
Ну мне надо найти корень уравнения
1) acos(x) + pow(x,3.0)
2) log(x) - atan(x) + 0.5

при помощи метода простых итераций.
o-user
245 / 202 / 7
Регистрация: 03.02.2009
Сообщений: 788
28.09.2011, 07:26 #9
Цитата Сообщение от Overmind024 Посмотреть сообщение
Ну если бы все было правильно то был правильный ответ, а его нет так как программа зацикливается.
Без задания - все что программа делает = ПРАВИЛЬНО!
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
28.09.2011, 16:46  [ТС] #10
Цитата Сообщение от o-user Посмотреть сообщение
Без задания - все что программа делает = ПРАВИЛЬНО!
Задание:
Цитата Сообщение от Overmind024 Посмотреть сообщение
Добавлено через 1 минуту

Ну мне надо найти корень уравнения
1) acos(x) + pow(x,3.0)
2) log(x) - atan(x) + 0.5
при помощи метода простых итераций.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 16:46
Привет! Вот еще темы с ответами:

Метод простой итерации - C++
Найти решение уравнения x=f(x) методом Эйткена-Стеффенсона, в котором от заданного начального Xo три очередных приближения находятся по...

Метод простой итерации - C++
Люди помогите пожалуйста очень нужно для курсачя, а в С++ не тум тум. Метод простой итерации найти все действительные корни...

Метод простой итерации - C++
Найти приближенное решение уравнения x = f(x), где f(x) = α*exp(x), при α = 0, 2 методом простой итерации: xn+1 = f(xn). В качестве...

Метод простой итерации - C++
решение системы линейных уравнений методом простой итерации


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.09.2011, 16:46
Ответ Создать тему
Опции темы

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