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

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

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

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

23.11.2014, 16:41. Просмотров 190. Ответов 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 программа не считает значения.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 16:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать ряд Тейлора (C++):

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

Вычисление приближенного значения tan(x) через ряд Тейлора/ряд Маклорена - C++
Привет, CF. Задача: Вычисление приближенного значения tan(x) через ряд Тейлора/ряд Маклорена Проблема: не совпадают результаты...

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

вычислить функцию с помощью разложения в ряд.(Ряд Тейлора) - C++
Нужно написать программу по Ряду Тейлора.

Ряд тейлора - C++
Доброй ночи. #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;float.h&gt; #include &lt;math.h&gt; using namespace std; void dno() { ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 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;
 }
0
lol2014
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 13
23.11.2014, 18:17  [ТС] #3
C++
1
return sum*sum;
Спасибо, всё оказалось довольно просто
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 18:17
Привет! Вот еще темы с ответами:

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

Ряд Тейлора - C++
Помогите с решением Редактор формул внизу страницы

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

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


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

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

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