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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2014, 23:32   #1
paradises965
Пользователь
 
Регистрация: 09.11.2014
Сообщений: 17
По умолчанию Ряд тейлора вывод значений в виде таблицы

Не могу написать код правильно
Не правильно задаю цикл и не только
табулирование для такой функции
F(x) = Pi/2-(x+(x^3/2*3)+(1*3*x^5/2*4*5)+(1*3*5*x^7/2*4*6*7)+K)
Функция приближается к arccos x и модуль x < 1
а представить как числитель а b как знаменатель
исправте ошибки



Код:
#include <stdio.h>
#include <math.h>
#include <locale.h>
#include <iostream>


#define Pi      3.1415926536
double Arccos(double x, double eps)
{
  double arccos=x;
  double a=x;
  int i=1;
  while(a > eps)
  {
    a*=x*x*(2*i-1)*(2*i-1)/((2*i+1)*2*i);
    arccos+=a;
    i++;
  }
  return Pi/2-arccos;
}

double iter_func(double x, double eps){
    eps= 0.0001;
    double a = x*x*x;
    double b =(2*3);
    double y = 3.14/2 - x - a/b;
    int k = 1;
    while(fabs(a/b) > eps){
        
        y *= (2*k + 1)*(2*k + 1)*x*x/((k + 1)*(2*k + 3));
        y -= a/b;
        ++k;
    }
        
    return y;
}
 
double rec_func(double x,double eps, int k = 1, double a= 0,double b= 0, double y = 0){
    eps=0.0001;
	a=x;
    if (k == 1){
        a = x*x*x;
        b =(2*3);
        y = 3.14/2 - x - a/b;
    }       
        
    if (fabs(a/b) > eps)
        return y;
    else{
        y *= (2*k + 1)*(2*k + 1)*x*x/((k + 1)*(2*k + 3));
        y += a/b;
        ++k;
        return rec_func(x,eps,k,a,b,y);
        
    }
}
 
 
void tabl_func(float a,float b,float l)
{
float d, step, n = 0, y = 0,eps,k,ds,s;
d = b - a;
step = d / l;
printf("X\t\titer_func\trec_func\tArccos\teps\n");
for (float x = a;x < b;x += step)
{
printf("x:%f\t", x);
printf("y = %f\t\t", iter_func(x,eps));
printf("y = %f\t\t", rec_func(x,eps,k,a,b,y));
printf("y = %f\t\t", Arccos(x,eps));
printf("%f\n", Arccos(x,eps) - iter_func(x,eps));
}
}
int main()
{
float a, b, l;
 
printf("Input a:");
scanf("%f",&a);
printf("Input b:");
scanf("%f", &b);
printf("Input l:");
scanf("%f", &l);
 
tabl_func(a, b, l);
getchar ();
return 0;
}
paradises965 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора NickNickSin Помощь студентам 1 30.11.2014 07:52
Вычислить и вывести на экран в виде таблицы значения функции, заданной рядом Тейлора dima2308 Помощь студентам 1 13.10.2014 22:23
Составить программу вычисления таблицы значений функции, заданной в виде разложения в ряд. McFrey Помощь студентам 11 29.03.2013 12:15
вычислить функцию с по-щью разложения в ряд.(Ряд Тейлора) feelstor Помощь студентам 2 26.12.2011 03:44
Программа определяющия и выводящая на экран в виде таблицы значения функции, разложенной в бесконечный ряд Тейлора на интервале.. Алексей Квашнин Помощь студентам 0 18.12.2011 22:41