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

Нахождение корня в заданном отрезке - C++

Восстановить пароль Регистрация
 
kido
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 8
25.09.2011, 21:55     Нахождение корня в заданном отрезке #1
Здравствуйте! Собственно, нужно найти корень нелинейного уравнения из заданного отрезка с точностью до eps=0.01, используя метод итераций.

f(x)=x^3-6*x^2+20 (-6,0) eps=0.01

Корень будет найден как только будет выполнено условие: |b-a|<eps


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main() {
 
double a=-6, b=0, eps=0.01, c, y, y1=-1, x;
double condition=fabs(b-a);
while(condition>=eps) {
 c=(a+b)/2;
 y1=c*c*c-6*c*c+20;
 if((y*y1)>0) a=c; else b=c;
}
x=(a+b)/2;
cout<<"x ravno "<<x<<endl;
 
getch();
return 0;
}
// Компиляция проходит успешно, при запуске выходит пустое черное окошко т.к. цикл выполняется безконечно. Эта же задача запросто решается в php. Где же ошибка?

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2011, 21:55     Нахождение корня в заданном отрезке
Посмотрите здесь:

C++ нахождение корня без sqrt()
нахождение корня на интервале C++
C++ Уточнить приближенное значение корня нелинейного уравнения f(x) = 0 на заданном отрезке
C++ Нахождение корня методом хорд
C++ Нахождение корня уравнения
Нахождение корня уравнения C++
C++ Близнецы на заданном отрезке
Нахождение квадратного корня C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RaiaNKnight
 Аватар для RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 458
Записей в блоге: 1
25.09.2011, 22:06     Нахождение корня в заданном отрезке #2
почему в цикле у тебя нигде condition не меняется?
kido
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 8
25.09.2011, 22:11  [ТС]     Нахождение корня в заданном отрезке #3
Цитата Сообщение от RaiaNKnight Посмотреть сообщение
почему в цикле у тебя нигде condition не меняется?
вместо while(condition>=eps) написал while(fabs(b-a)>=eps) - Заработало))) Спасибо большое!
Yandex
Объявления
25.09.2011, 22:11     Нахождение корня в заданном отрезке
Ответ Создать тему
Опции темы

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