Форум программистов, компьютерный форум CyberForum.ru

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

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

Переделать ряд Тейлора - C++

23.11.2014, 16:41. Просмотров 186. Ответов 2
Метки нет (Все метки)

Вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора на интервале от Хнач до Хкон с шагом dx с точностью e.
Функция http://www.cyberforum.ru/cgi-bin/latex.cgi?{cos}^{2} x

Имеется рабочий код для функции http://www.cyberforum.ru/cgi-bin/latex.cgi?cos x (см. ниже), его надо переделать под функцию http://www.cyberforum.ru/cgi-bin/latex.cgi?{cos}^{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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "stdafx.h"
#include <conio.h>
#include <clocale>
#include <iostream>
#include "math.h"
#include <iomanip>
 
using namespace std;
 
inline double my_abs(double val)
{
        double ret = val;
        if(val < 0)
         ret *= -1;
        return ret;
}
 
inline double Taylor(double x, double e, long &n)
{
        double sum = 0;
        double an = 1;
        n = 1;
        do
        {
                sum += an;
                n   += 1;
                an *= (-1)*(x*x/(2.0*n*2*(n - 1)));
        }
        while(e <= my_abs(an));
        return sum;
        
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    double xn, xk, dx, e;
     long n = 0;
    cout << "Программа для вычисления значения функции\ny = cos(x) с помощью ряда Тейлора\n";
 
    cout<<"Начальное значение xn = ";
    cin>>xn;
    cout<<"Конечное значение xk = ";
    cin>>xk;
    cout<<"Шаг dx = ";
    cin>>dx;
    cout<<"Погрешность e = ";
    cin>>e;
 
    cout << "--------------------------------------------------------------------------\n";
    cout << "|  текущее значение x  |  текущее значение суммы  |   счётчик итерации   |\n";
    cout << "--------------------------------------------------------------------------\n";
 
    while(xn <= xk)
    {
        cout<< "|" << setw(15)<< setprecision(8) << xn << "       |    "
            << setw(15) << setprecision(8) << Taylor(xn, e, n) <<"       | "
            << setw(15) << n << "      |" << endl;
        xn = xn + dx;
    }
    cout << "--------------------------------------------------------------------------\n";
 
    _getch();
    return 0;
}
Я нашёл рекуррентное соотношение (т.е. отношение последующего члена суммы к предыдущему) для http://www.cyberforum.ru/cgi-bin/latex.cgi?{cos}^{2} x (но не уверен в правильности):
http://www.cyberforum.ru/cgi-bin/latex.cgi?(-1)*(n+1)*(2*n+1)/2*x*x
При подстановке его вместо соответствующего рекуррентного соотношения для http://www.cyberforum.ru/cgi-bin/latex.cgi?cos x программа не считает значения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 16:41     Переделать ряд Тейлора
Посмотрите здесь:

Ряд Тейлора - C++
Помогите написать код для COS РЯД ТЕЙЛОРА http://ru.wikipedia.org/wiki/%D0%A0%D1%8F%D0%B4_%D0%A2%D0%B5%D0%B9%D0%BB%D0%BE%D1%80%D0%B0...

ряд Тейлора - C++
Доброого времени сутков Надо написать программу для вычисление sin(сам код не нужен, надо помощь в математическом плане) . Нашел формулу,...

Ряд Тейлора - C++
Помогите пожалуйста с решением задачи: Дано действительное число x. Вычислить значение y с помощью стандартной функции и с помощью...

Ряд Тейлора - C++
Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) с точностью ε (табл. 8.1). Вывести число итераций, необходимое...

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

Ряд Тейлора - C++
Написати прогу нахождения приближенного значения функции y=f(x) используя ее расписание в ряд Тейлора. ...

Ряд Тейлора - C++
Привет. Надо срочно программу написать программу вычисления суммы ряда. Lnx=E(((-1)^n)*((x-1)^(n+1)))/(n+1) 0&lt;x&lt;=2

Ряд тейлора - C++
Помогите плиз написать программу на языке С/С++. :wall: Вычислить и вывести на экран в виде таблицы значение функции,заданной с помощью...

Ряд Тейлора - C++
Есть ряд тэйлора: (1+x)^{\frac{1}{3}}=1+\frac{x}{3}-\frac{1\cdot 2}{3\cdot 6}x^2+\frac{1\cdot 2\cdot 5}{3\cdot 6\cdot...

Разложить в ряд Тейлора - C++
Помогите,срочно пожалуйста!:cry: ex=1+x+x2/2!+x3/3!+...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
23.11.2014, 17:41     Переделать ряд Тейлора #2
А зачем, используйте эту, только возвратите квадрат.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double MyCos2(double x, double e, long &n)
{
        double sum = 0;
        double an = 1;
        n = 0;
        do
        {
                sum += an;
                n ++;
                an *=-x*x/(2.0*n*(2.*n - 1.)));
        }while( e <= fabs(an) );
        return sum*sum;
 }
lol2014
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 13
23.11.2014, 18:17  [ТС]     Переделать ряд Тейлора #3
C++
1
return sum*sum;
Спасибо, всё оказалось довольно просто
Ответ Создать тему
Опции темы

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