Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
#1

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

15.05.2016, 01:02. Просмотров 1306. Ответов 20

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
double sin_function(double res, double x, double sum, double e, double n)
{
    double pi=3.14159265359/2;
    res=((pow(-1,n)*pow((x-pi/2),2*n))/factorial(n))*res;
    if(fabs(res)>=e)
        sum+=sin_function (res,x,res,e,n+1);
    return sum;
}
 
double factorial(int n)
{
    double rez;
    for (int i=0; i<n; i++)
        rez*=(2*i);
    return rez;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2016, 01:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычисление функции разложением в ряд Тейлора (C++):

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

Вычисление функции разложением в ряд Тейлора - C++
Скласти програму для наближеного обчислення значення функції в точці х за допомогою розкладу в ряд Тейлора. Знайти наближене значення...

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

Вычисление функции разложением в ряд Тейлора - C++
Прошу помощи

Вычисление функции разложением в ряд Тейлора - C++
написал программу для этой формулы. Скажите правильно ли я написал ее. Если нет, то можете написать правильную :) #include...

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

20
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 1
15.05.2016, 10:53 #2
См. Вычисление функций разложением в ряд Тейлора
и ссылки внизу страницы
0
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
15.05.2016, 11:14  [ТС] #3
Я смотрела это все, но все равно что то не так получается, мне просто помочь правильно записать рекурсивную формулу ряда Тейлора и усп.
Буду благодарна за помощь.
0
Manowar
1283 / 477 / 98
Регистрация: 12.03.2016
Сообщений: 1,811
Завершенные тесты: 1
15.05.2016, 16:51 #4
Вы производите разложение в ряд Тейлора по степени? Если да, то по какой, вышлите. Напишите так же формулу по которой вычисляется ряд
0
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
15.05.2016, 17:15  [ТС] #5
Вот сам ряд Тейлора для http://www.cyberforum.ru/cgi-bin/latex.cgi?{sin(x)}^{2}=http://www.cyberforum.ru/cgi-bin/latex.cgi?({2}^{1}*{x}^{2})/2!-({2}^{3}*{x}^{4})/4!+({2}^{5}*{x}^{6})/6!-({2}^{7}*{x}^{8})/8!+...

И формула по которой я пыталась записать рекурсию http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum {(\frac{{(-1)}^{n}*({\frac{(-pi)}{2}+n})^{2n}}{2n!}})^{2}

Добавлено через 3 минуты
Только там (-рі/2+n) все подносится к степени 2n, и вся сумма в квадрате
Не получается написать формулу нормально, простите
0
Manowar
1283 / 477 / 98
Регистрация: 12.03.2016
Сообщений: 1,811
Завершенные тесты: 1
15.05.2016, 17:34 #6
Степень разложения какая x-pi/4 или x+pi/2 или другая
0
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
15.05.2016, 17:36  [ТС] #7
Там (х-рі/2) в степени 2n
0
Manowar
1283 / 477 / 98
Регистрация: 12.03.2016
Сообщений: 1,811
Завершенные тесты: 1
15.05.2016, 17:40 #8
что же у вас все таки квадрат синуса (sin x) ^2 или синус квадрата sin (x^2)
0
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
15.05.2016, 17:43  [ТС] #9
Нужно разложить функцию синус квардарб с помощью вольфрама я розлажила на ряд Тейлора, точнее записала формулу н-го члена вот сылочка http://www.wolframalpha.com/input/?i...%29^2+at+x%3D0
0
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 1
15.05.2016, 17:45 #10
Вот разложение (sin(x))^2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
double mysin2(double x,double eps)
{
    double s,an;
    int n;
    n=1;
    x=x*x;
    an=x;
    s=0;
    while(fabs(an)>eps)
    {
         s+=an;
         n++;
         an*=-x*x/(2.*n-1.0)/(2.0*n-2.0); 
    }
    return s*s;
}
0
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
15.05.2016, 17:53  [ТС] #11
А как реализовать данный код через рекурсию?

Добавлено через 2 минуты
И взять во внимание то, что мы должны учитывать шаг с которым мы считаем синус
0
Manowar
1283 / 477 / 98
Регистрация: 12.03.2016
Сообщений: 1,811
Завершенные тесты: 1
15.05.2016, 18:16 #12
Вышлите, пожалуйста, задание полностью, как оно было Вам задано
0
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
15.05.2016, 21:17  [ТС] #13
Вот задание, но помощь нужна только с рекурсией ряда Тейлора
0
Torotorkina
1 / 1 / 0
Регистрация: 10.04.2016
Сообщений: 29
15.05.2016, 21:22  [ТС] #14
Вот задание
0
Миниатюры
Вычисление функции разложением в ряд Тейлора   Вычисление функции разложением в ряд Тейлора  
Manowar
1283 / 477 / 98
Регистрация: 12.03.2016
Сообщений: 1,811
Завершенные тесты: 1
16.05.2016, 01:00 #15
Высылаю работающюю программу под Visual Studio 2010 Professional аж с двумя рекурсиями
Формулу по которой производятся вычисления взял другую, она легко выводится из других уравнений

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <locale.h>
#include <Windows.h>
 
using namespace std;
float factor(float x, int n);
float fact (int i);
int main()
{
    setlocale (0,"");
    system ("color 80");
 
    float teilor,x,summ;
    int n;
    cout << "\nВведите х: ";
    cin >>x;
    cout << "\nВведите n: ";
    cin >> n;
    
    summ=factor(x,n);
    
    teilor =(1.0 - summ) / 2.0; 
    cout << "\nЗначение (sin(x))^2 при х = " << x << "  составляет" << teilor << endl;
    _getch();
    return 0;
}
 float factor(float x,int n)
 { 
     if (n>=0)
     return ( (pow(-1.0,n)* pow(2*x,2*n))/fact(2*n) + factor(x,n-1));   
 }
 
 float fact(int i)
 {
     if (i==0 || i==1)
         return 1;
    return  i*fact(i - 1);
 }
1
16.05.2016, 01:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2016, 01:00
Привет! Вот еще темы с ответами:

Вычисление функции разложением в ряд Тейлора - C++
Дано вещественное число X и целое число N (&gt; 0). Найти значение выражения X − X3/(3!) + X5/(5!) − … + (−1)N·X2·N+1/((2·N+1)!)...

Вычисление функции разложением в ряд Тейлора - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;locale.h&gt; float riad(float, float, float, int&amp;); int main() {int vid, n, i ; ...

Вычисление значения функции разложением в ряд Тейлора - C++
s=x-x^3/3!+x^5/5!-x^7/7!+⋯+x^25/25! Решите задачу)

Вычисление значения функции разложением в ряд Тейлора - C++
Рассчитать сумму членов бесконечного ряда с заданной пользователем точностью е для заданного пользователем значения x є (-1;1) :...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru