Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2012, 00:14   #1
zubber94
Пользователь
 
Регистрация: 28.03.2012
Сообщений: 14
По умолчанию Численные методы С++

Где ошибка в функциях, скажите пожалуйста. Бисекция(деление отрезка пополам) выводит корень - 0, кол-во итераций - 17.
Хорды(Метод Хорд) вообще что-то вроде -1.#IO

a - начало отрезка, где опред-на функция
h - шаг
kol - кол-во итераций
Код:
void horde(void)
{
	float a=0,h=1,x,b,x2,x1;
	int kol=0;
	const double e=0.00001;

	for (x=a+h;f(a)*f(x)>=0;x+=h);
	b=x;

	do
	{
		x1=a-((b-a)/(f(b)-f(a)))*f(a);
		if (f(a)*f(x1)>=0) a=x1;
		else b=x1;
		x2=a-((b-a)/(f(b)-f(a)))*f(a);
		kol++;
	} 
	while (fabs(x2-x1)>=e);
	
	vyvod(x2,kol);
}

void bisection()
{
	float a=0,h=1,x,b,c;
	int kol=0;
	const double e=0.00001;

	for (x=a+h;f(a)*f(x)>=0;x+=h);
	b=x; 
    
    do
	{
		c=(a+b)/2;
		if (f(c)*f(a)>=0) a=c;
		if (f(c)*f(b)>=0) b=c;
		kol++;
	} 
	while ((fabs(b-a)>e)||(f(c)==0));

	vyvod(c,kol);
}

void vyvod(float x, int kol)
{
	printf("Root is %.3f\nIterations: %d\n",x,kol);
}	
//-------------------------------------
double f(float x)
{
	return pow(x,2)*log10(x)-1;
}

Последний раз редактировалось zubber94; 30.03.2012 в 00:17.
zubber94 вне форума Ответить с цитированием
Старый 30.03.2012, 01:11   #2
nameless2152
Пользователь
 
Регистрация: 27.03.2012
Сообщений: 10
По умолчанию

попробуй везде вместо float написать дабл
nameless2152 вне форума Ответить с цитированием
Старый 30.03.2012, 09:34   #3
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Чему равно b ?..
Vago вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Численные методы. Матрица. KASPEER Паскаль, Turbo Pascal, PascalABC.NET 2 05.03.2011 12:59
Численные методы Adriana Общие вопросы Delphi 2 11.04.2010 18:02
численные методы Desha Помощь студентам 2 24.05.2009 12:46
Численные методы improvement Общие вопросы .NET 4 08.05.2009 01:58
Численные методы в Дельфи UserOK Общие вопросы Delphi 3 26.06.2008 12:05