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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2010, 13:58   #1
alexmikt
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 16
По умолчанию ряд Тейлора

вычислить значение функции exp(x) с точностью 0.001, разложив функцию в ряд Тейлора
где ошибка не подскажите? вычисляет не верно....
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include<iostream.h>
#include<string>
#include <tchar.h>
#include<conio.h>
#include<math.h>
//---------------------------------------------------------------------------

#pragma argsused


float recurs(float x,float n);

int _tmain(int argc, _TCHAR* argv[])
{
	float x=0.1;

	float res = recurs(x,1);
	printf("%f",res);
	getch();
}

double factorial(float n)
{

	int s=1;

	for (int i = 1; i <= n; i++)
	{
		s=s*i;
	}

	return s;

}

float recurs(float x,float n)
{


	float elem =pow(x,n)/factorial(n);
	if (elem>0.00001)
	{
		return elem+recurs(x,n+1);
	}
	else
		return elem;
}

//---------------------------------------------------------------------------

Последний раз редактировалось Stilet; 09.12.2010 в 09:14.
alexmikt вне форума Ответить с цитированием
Старый 08.12.2010, 16:39   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
if (elem>0.00001)
Кто так проверяет точность ряда?
p51x вне форума Ответить с цитированием
Старый 08.12.2010, 23:42   #3
alexmikt
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
if (elem>0.00001)
Кто так проверяет точность ряда?
ну как показали примерно делать, так же и сделал....
alexmikt вне форума Ответить с цитированием
Старый 09.12.2010, 02:25   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ряд Тейлора для экспоненты начинается с нуля.
Код:
#include<iostream> 
#include<string> 
#include<conio.h> 
#include<math.h> 
using namespace std;


double recurs(double x,int n);
double factorial(int n); 

int main() 
{ 
    double x=0.1; 

    double res = recurs(x,0);

    printf("%f",res); 
    getch(); 
} 

double factorial(int n) 
{ 

    int s=1; 
    if (n==0) return 1;

    for (int i = 1; i <= n; i++) 
    { 
        s=s*i; 
    } 
    return s; 

} 

double recurs(double x,int n) 
{ 


    double elem =pow(x,n)/factorial(n); 
    if (elem>0.00001) 
    { 
        return elem+recurs(x,n+1); 
    } 
    else 
        return elem; 
}
У вас n целочисленное. Поэтому незачем объявлять ее, как вещественное.

Цитата:
Сообщение от p51x
Кто так проверяет точность ряда?
Ну, так и проверяется она ) По признаку Лейбница.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.12.2010, 07:29   #5
alexmikt
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 16
По умолчанию

Спасибо, вроде работает теперь прально )))
alexmikt вне форума Ответить с цитированием
Старый 09.12.2010, 10:08   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Ну, так и проверяется она ) По признаку Лейбница.
Посмеялся, умник? На экзамене по матану 2 получил бы сразу.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание на ряд Тейлора Нотка Помощь студентам 1 07.10.2010 20:12
ряд Тейлора Inkognito99 Помощь студентам 2 17.05.2010 22:03
Ряд тейлора ln(x) R@Ziel Помощь студентам 9 13.11.2009 17:48
Ряд Тейлора siriusz Общие вопросы C/C++ 6 06.02.2009 20:26