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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2012, 11:48   #1
wormix
Новичок
Джуниор
 
Регистрация: 28.12.2012
Сообщений: 6
По умолчанию Разложение функции в ряд Тейлора (с++)

Разложение функции в ряд Тейлора (с++)
Провести програмну реалізацію розрахунку приблизного значення функції y, розклавши функцію f(x) в ряд Тейлора, при цьому необхідно вивести та застосувати рекурентне відношення для обрахування загальної частини для кожного доданку ряду або його частки. Аргумент функції має змінюватися в діапазоні [Xbegin, Xend] з кроком Xdelta. Параметри Xbegin, Xend, Xdelta та точність (допустима похибка) розрахунків е, яка визначає умову завершення рекурсивного розрахунку, задаються користувачем з клавіатури. Передбачити ситуації, коли значення функції можу бути не визначене для заданих.Код:

#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

double factorial (double p)
{
int n=1;
p=2*n+1;
if (p == 0)
return 1;
else
return p*factorial(p - 1);
}
long double sin_kub(double p, double x, double e, long double y)
{
double fact=factorial(p);
y=((pow(3, p)-3)*pow(x, p)*pow(-1, p-1)/fact);
if (y>e)
return y=(y+sin_kub(p+1, x, e, y))*0.25;
else return y*0.25;
}
void main()
{
setlocale (0,"Russian");
double xbegin, xdelta, xend, e, x;
cout<<"Введите xbegin (начальное значение): ";
cin>>xbegin;
cout<<"Введите xend(конечное значение х): ";
cin>>xend;
while (xend<xbegin)
{
cout<<"Не корректно задано."<<endl;
cout<<"Введите xbegin (начальное значение): ";
cin>>xbegin;
cout<<"Введите xend(конечное значение х): ";
cin>>xend;
}
cout<<"Введите xdelta(шаг): ";
cin>>xdelta;
cout<<"Введите e(точность): ";
cin>>e;
while (e<0.01)
{
cout<<"Ваше \"е\" слишком маленькое. Введите другое: ";
cin>>e;
}
for (double x=xbegin; x<=xend; x+=xdelta)
{
long double f=sin_kub(3, x, e,0);
cout<<"x="<<x<<" "<<"f(x)="<<f<<endl;
}

getch ();
}

не выводит значения х и у. где ошибка?
wormix вне форума Ответить с цитированием
Старый 29.12.2012, 14:55   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

*протирает глаза*
http://programmersforum.ru/showthread.php?t=223802
WTF?!
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разложение функции в ряд Тейлора (с++) eleonora_zv Помощь студентам 4 29.12.2012 10:19
Разложение функции в ряд Тейлора в СИ Fobos45 Помощь студентам 5 12.04.2012 18:26
Разложение функции в ряд Тейлора (Pascal) berdeman Паскаль, Turbo Pascal, PascalABC.NET 3 04.05.2010 21:03
Разложение функции, Ряд Тейлора. Andrag Помощь студентам 6 22.01.2010 14:41
Одномерный массивы; разложение функции в ряд Тейлора.... lTIGRAl Помощь студентам 3 28.12.2009 17:52