0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 17
1

Вычисление функций разложением в ряд Тейлора

02.12.2015, 00:01. Показов 2283. Ответов 13

В институте дали задание написать в С++ программу , которая выведет на экран таблицу значений функции с факториалом.Начала писать в DEV-C++ и запуталась ... Помогите пожалуйста разобраться и заставить ее работать .

вот что получилось у меня

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
 long double factorial (long double iN)
 {
    if (iN>=0) return 1;
    else return iN*factorial(iN-1);
 }
int main()
{
    float flta=0, fltb=2*3.14, flth, Fltx, Flty, fltSN, fltSE;
    int iN;
    const float flte=0.001;
    flth=(fltb-flta)/10;
    for (fltx=flta; fltx>=fltb+flth; fltx=flth)
    {
        for (iN=0; iN>=7; iN=iN+1)
        {
            fltSN+=pow(-1,iN)*((pow(fltx,(2*iN+1)))/factorial(2*iN+1));
        }
        iN=0;
        do
        {
            iN=iN+1;
            fltSE+=pow(-1,iN)*((pow(fltx,(2*iN+1)))/factorial(2*iN+1));
            
        }
         while (pow(-1,iN)*((pow(fltx,(2*iN+1)))/factorial(2*iN+1)))>flte;
         flty=();
         printf("\nx=%f SN=%f SE=%f y=%f", fltx, fltSN, fltSE, flty );
         fltSN=0; fltSE=0;
    } 
 getch();
}
Миниатюры
Вычисление функций разложением в ряд Тейлора  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2015, 00:01
Ответы с готовыми решениями:

Вычисление функций разложением в ряд Тейлора
Формулы надо переписывать! Редактор внизу страницы

Вычисление функций разложением в ряд Тейлора
Составить программу суммирования начальных членов бесконечного ряда, пока абсолютная величина члена...

Вычисление функций разложением в ряд Тейлора
Написать программу вычисления и вывода на экран в виде таблицы значений функции, заданной с помощью...

Вычисление функций разложением в ряд Тейлора
Добрый всем вечер. Помогите пожалуйста с задачкой, если не сложно. Вот условие: При некоторых...

13
7376 / 6295 / 2859
Регистрация: 14.04.2014
Сообщений: 27,297
02.12.2015, 09:43 2
Нет смысла вычислять факториал и степень x для каждой итерации. Достаточно домножить предыдущие значения.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
double Sin_n(double x, int n = 9)
{
    double a, b, y;
    int sign, i;
 
    i = 1;
    y = x;
    a = x;
    b = i;
    sign = 1;
 
    while ((i += 2) <= 2 * n + 1)
    {
        a *= x * x;
        b *= (i - 1) * i;
        sign = -sign;
        y += sign * (a / b);
    }
    
    return y;
}
 
double Sin_e(double x, double e = 1e-3)
{
    double a, b, y;
    int sign, i;
 
    i = 1;
    y = x;
    a = x;
    b = i;
    sign = 1;
 
    while (true)
    {
        i += 2;
        a *= x * x;
        b *= (i - 1) * i;
        sign = -sign;
        double r = sign * (a / b);
        if (fabs(r) < e) break;
        y += sign * (a / b);
    }
    
    return y;
}
0
Модератор
Эксперт С++
12787 / 10241 / 6152
Регистрация: 18.12.2011
Сообщений: 27,429
02.12.2015, 10:00 3
Вычисление функций разложением в ряд Тейлора
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double mysin(double x,double eps)
{
    double s,an;
    int n;
    n=1;
    an=x;  // первый член ряда a(0)=x
    s=0;
    while(fabs(an)>eps)
    {
         s+=an;
         n++;
         an*=-x*x/(2.*n-1.0)/(2.0*n-2.0); // вычисляем a(n) через a(n-1) 
    }
    return s;
}
0
7376 / 6295 / 2859
Регистрация: 14.04.2014
Сообщений: 27,297
02.12.2015, 10:10 4
zss, это ряд Маклорена.
0
Модератор
Эксперт С++
12787 / 10241 / 6152
Регистрация: 18.12.2011
Сообщений: 27,429
02.12.2015, 10:27 5
Цитата Сообщение от nmcf Посмотреть сообщение
ряд Маклорена
ряд Маклорена - это частный случай ряда Тейлора при разложении в точке x=0
1
7376 / 6295 / 2859
Регистрация: 14.04.2014
Сообщений: 27,297
02.12.2015, 10:30 6
Цитата Сообщение от zss Посмотреть сообщение
это частный случай ряда Тейлора
Да.
Я просто посмотрел на твою программу и не понял сразу.
0
0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 17
02.12.2015, 23:12  [ТС] 7
Если бы все было так просто) нас заставляют расписывать.
0
7376 / 6295 / 2859
Регистрация: 14.04.2014
Сообщений: 27,297
03.12.2015, 00:00 8
Ну так изучай текст. Уже всё сделали за тебя.
1
0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 17
03.12.2015, 19:36  [ТС] 9
Спасибо большое )
только мой компилятор выводит ошибку
Миниатюры
Вычисление функций разложением в ряд Тейлора  
0
7376 / 6295 / 2859
Регистрация: 14.04.2014
Сообщений: 27,297
03.12.2015, 20:08 10
<cmath> подключен?
0
0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 17
03.12.2015, 22:41  [ТС] 11
<math.h> стоит
0
7376 / 6295 / 2859
Регистрация: 14.04.2014
Сообщений: 27,297
03.12.2015, 22:45 12
math.h или cmath.
0
0 / 0 / 1
Регистрация: 01.12.2015
Сообщений: 17
05.12.2015, 09:40  [ТС] 13
Math.h
Попробовать с cmath?
0
7376 / 6295 / 2859
Регистрация: 14.04.2014
Сообщений: 27,297
05.12.2015, 10:54 14
Для C++ должно быть <cmath>.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2015, 10:54
Помогаю со студенческими работами здесь

Вычисление функций cosh разложением в ряд Тейлора
Добрый день, у меня простая вроде бы задачка, но я не понимаю как 2 части одного задания...

Вычисление функции разложением в ряд Тейлора
Найти сумму нескончаемого ряда, по заданой формуле : обозначения суммы k=0 ...

Вычисление sin(x) разложением в ряд Тейлора
как решить это чудовище пробовал так: #include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std;...

Вычисление функции разложением в ряд Тейлора
помогите записать? S(x) = \sum_{k=0}^{n}(-1)^k(x^2^k^+^1)/(2k+1)!

Вычисление функции разложением в ряд Тейлора
Заданы x(abs(x)&lt;1) и точность вычислений eps. Вычислить сумму: s=x-x^2/2+X^2/3-...+(-1)^(n-1)...

Вычисление sin(x)/x разложением в ряд Тейлора
sin(x)/x=1-x^2/3!+x^4/5!-x^6/7!+... Ряд Тейлора Можете помочь решить задачу по С++?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru