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

Переделать ряд Тейлора - 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 фиксированной размерности, равной длине максимальной строки, -строка входного файла без завершающего символа \n. До максимальной длины массив типа char дополняется пробелами." Пожалуйста, помогите с заданием. Первую часть с количеством...
C++ Перекрёстное подключение заголовочных файлов http://www.cyberforum.ru/cpp-beginners/thread1308503.html
Здоровеньки булы. Есть 2 класса, каждый в своём хедере. В классе А есть экземпляр (не указатель) класса В и наоборот. Как организовать подключение хедеров, чтобы классы знали друг о друге?
C++ Программа с последующим шагом Ребята, очень нужна ваша помощь, хочу разобраться в языке с++. НО некоторые моменты не понимаю. Нужно составить программу для вычисления значения функции u при заданных значениях x и y : U:={X+sin^6 y,если x-y≤0 tgxy,если 0<x-y<1 x^2-e^y,если x-y≥1 Это все под одной фигурной скобкой. 0≤x≤1.5 с шагом: h=0.3 -5<y<15 с шагом: h=5 подробнее

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

Переделать ряд Тейлора - 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 программа не считает значения.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru