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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка операторов смысл задания http://www.cyberforum.ru/cpp-beginners/thread1308548.html
Доброго времени. Прохожу тему перегрузок операторов. Есть задание, не могу понять что от меня требуется. Как это связанно? Создать класс прямоугольник со сторонами, параллельными осями...
C++ Дерево Задание. Ввести произвольное сильно ветвящееся дерево. Выдать списки вершин: -являющихся листьями; -не являющихся листьями; -родителей листьев; -заданного уровня считая от вершины. Помогите... http://www.cyberforum.ru/cpp-beginners/thread1308546.html
Из двух масивов А и В построить вектор D C++
Из двух массивов A m,n и Bn построить вектор D m, элементы которого вычислить по формуле:
C++ Основные принципы работы с двоичными файлами
"Преобразовать входной текстовый файл в выходной двоичный, содержащий данные следующего вида: значение типа int - количество строк в файле, n массивов типа char фиксированной размерности, равной...
C++ Перекрёстное подключение заголовочных файлов http://www.cyberforum.ru/cpp-beginners/thread1308503.html
Здоровеньки булы. Есть 2 класса, каждый в своём хедере. В классе А есть экземпляр (не указатель) класса В и наоборот. Как организовать подключение хедеров, чтобы классы знали друг о друге?
C++ Программа с последующим шагом Ребята, очень нужна ваша помощь, хочу разобраться в языке с++. НО некоторые моменты не понимаю. Нужно составить программу для вычисления значения функции u при заданных значениях x и y :... подробнее

Показать сообщение отдельно
lol2014
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 13

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

23.11.2014, 16:41. Просмотров 203. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru