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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2013, 22:47   #1
mikeel
Пользователь
 
Регистрация: 18.03.2013
Сообщений: 10
По умолчанию Переделать код в рядах Тейлора

есть код для этого задания:
Провести программную реализацию расчета приблизительного значения функции 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 ();
}
но мне оченьочень нужно , чтобы считало эту формулу(второй снимок).
на днях сдавать, а сделать еще кучу работы нужно, помогите, пожалуйста.

mikeel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переделать код С++ на С bilochka Помощь студентам 1 10.05.2013 15:48
Переделать код С++ FDCastro Помощь студентам 2 26.03.2013 23:26
Переделать код CMSon Помощь студентам 12 31.01.2013 17:30
Переделать код Faton 11 Общие вопросы C/C++ 6 21.01.2013 02:11
Объясните как написать код. для ряда Тейлора Оленька Кирпилёва Паскаль, Turbo Pascal, PascalABC.NET 18 04.10.2011 20:54