Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
igor_m
0 / 0 / 0
Регистрация: 14.12.2014
Сообщений: 122
#1

Метод простой итерации

01.03.2015, 21:13. Просмотров 615. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cmath>
using namespace std;
 
double f(double x)
{
    return (-2.5*pow(x, 3) + 0.25*pow(x, 2) - 3);
}
 
void main()
{
    setlocale(LC_ALL, "Russian");
    int i = 0; double fi = -3, fi1 = 0, e = 0.0001;
    while (abs(fi - fi1) > e)
    {
        fi1 = fi;
        fi = f(fi1);
    }
    cout << "Корень уравнения x^3-0.1*x^2+0.4*x+1.2=0 равен -0.90987" << fi << endl;
}
помогите найти ошибку. выводит -1.#IND
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2015, 21:13
Ответы с готовыми решениями:

Метод простой итерации
Добрый день! нужна помощь, помогите пожалуйста с решением задачи Решить...

Метод простой итерации
Найти решение уравнения x=f(x) методом Эйткена-Стеффенсона, в котором от...

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

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

Метод простой итерации
Помогите решить методом простой итерации уравнение вида x=f(x).Очередное...

5
saden
183 / 167 / 52
Регистрация: 27.01.2013
Сообщений: 788
01.03.2015, 21:37 #2
плохое стартовое значение.
на нем итерации будут расходиться
начинай не с 3, а с 0,9
0
zss
Модератор
Эксперт С++
7076 / 6614 / 4187
Регистрация: 18.12.2011
Сообщений: 17,442
Завершенные тесты: 1
01.03.2015, 21:39 #3
А проверять условие сходимости |f'(x)|<1 Вас не учили?
преобразуем уравнение к виду x3 = 0.1*x2-0.4*x-1.2
теперь извлекаем корень кубический
http://www.cyberforum.ru/cgi-bin/latex.cgi?x=\sqrt[3]{ 0.1*x^2-0.4*x-1.2}
Используем эту функцию

Хотя, да, как написал saden, можно попробовать искать в другом интервале.
0
igor_m
0 / 0 / 0
Регистрация: 14.12.2014
Сообщений: 122
01.03.2015, 22:22  [ТС] #4
метод сходимости проверил аналитически. поменял функцию, поменял значение на -0,9. теперь выдает ответ 1
0
saden
183 / 167 / 52
Регистрация: 27.01.2013
Сообщений: 788
01.03.2015, 22:25 #5
попробуй как написал zss - это таки правильно.
также пробуй другие стартовые точки
0
igor_m
0 / 0 / 0
Регистрация: 14.12.2014
Сообщений: 122
01.03.2015, 22:41  [ТС] #6
я и говорю, поменял. то, что брать в качестве стартовой точки, как-то вычисляется или поиск значения происходит методом подбора?
0
01.03.2015, 22:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2015, 22:41

Метод простой итерации
Всем привет. Кто знаком с методом простой итерации??? Вот есть код, он вроде...

Метод простой итерации
Найти приближенное решение уравнения x = f(x), где f(x) = α*exp(x), при α = 0,...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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