Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 21.10.2014
Сообщений: 5
1

Протабулировать функцию, заданную с помощью ряда Тейлора

21.10.2014, 19:37. Просмотров 1462. Ответов 8
Метки нет (Все метки)


Вечер добрый.
Помогите пожалуйста написать код этой формулы. Хоть убей, до меня не доходит как.

https://www.cyberforum.ru/cgi-bin/latex.cgi?ln(1-x)=-\sum_{n=1}^{\infty}\frac{x^n}{n}=-\left(x+\frac{x^2}{2}+\frac{x^4}{4}+... \right)\; ,\; -1 \le x \lt 1

А задание вот такое: Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда тейлора.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2014, 19:37
Ответы с готовыми решениями:

Протабулировать функцию, заданную в виде ряда Тейлора
Подскажите как составить программу для приближенного вычисления значения функции Y (x) в точке 0 <|...

Протабулировать на заданном отрезке функцию, заданную разложением в ряд Тейлора
С помощью операторов цикла, протабулировать на отрезке от А до В с области определения функции,...

Протабулировать заданную функцию
Здравствуйте, задание такое: протабулировать функцию, если хЭ (-2;3), а уэ (0;3) с шагом обеих...

Протабулировать заданную функцию
Протабулировать заданную функцию y = f(x) на промежутке с постоянным шагом h. интервал =; шаг...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
8
19 / 19 / 9
Регистрация: 15.09.2014
Сообщений: 127
21.10.2014, 19:45 2
Вводится х
Цикл, ограничивающий последовательность.
n=1;
sum-=x/n;
x*=x*x;
n*=2;
0
Модератор
Эксперт С++
10458 / 8711 / 5262
Регистрация: 18.12.2011
Сообщений: 23,267
21.10.2014, 19:49 3
Большая коллекция решенных задач
0
1 / 1 / 0
Регистрация: 21.10.2014
Сообщений: 5
21.10.2014, 19:49  [ТС] 4
А поподробней можно, пожалуйста ?
0
19 / 19 / 9
Регистрация: 15.09.2014
Сообщений: 127
21.10.2014, 20:02 5
P1ngvine, недосмотрел про возведение в степень. Сейчас объясню.
0
Модератор
Эксперт С++
10458 / 8711 / 5262
Регистрация: 18.12.2011
Сообщений: 23,267
21.10.2014, 20:11 6
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n}=\frac{{x}^{n}}{n}
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n+1}={a}_{n}*\frac{x*n}{n+1}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double mylog(double x,double eps)
{
  int n=1;
  double an=x;
  double sum=0;
  while(fabs(an)>eps)
  {
     sum+=an;
     an*=x/(n+1.)*n;
     n++;
  }
  return (-sum);
}
2
1 / 1 / 0
Регистрация: 21.10.2014
Сообщений: 5
21.10.2014, 21:03  [ТС] 7
Какая-то чепуха получилась в коде, не хочет выводить результаты.

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
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    const int max = 500;
    double Xn, Xk, dX, x, eps, sum, n;
    int c;
    bool done;
    cout << "Введите Xn" << endl;
    cin >> Xn;
    cout << "Введите Xk" << endl;
    cin >> Xk;
    cout << "Введите шаг dX" << endl;
    cin >> dX;
    cout << "Введите точность e" << endl;
    cin >> eps;
    cout << "Таблица значений" << endl;
    cout << "----------------------" << endl;
    cout << "|X|Значение функции|кол-во просуммированных|" << endl;
    cout << "------------------" << endl;
    for (double x = Xn; x <= Xk; x += dX)
    {
        n = 0;
        x = 1;
        done = true;
        sum = 1;
        for (int n = 1; fabs(sum) > eps; n++)
        {
            double mylog(double x, double eps);
                double an = x;
                double sum = 0;
                while (fabs(an)>eps)
                {
                    sum += an;
                    an *= x / (n + 1.)*n;
                    n++;
                }
                system("pause");
                return (-sum);
        }
        {
            cout << "Ряд расходтся" << endl;
            done = false; break;
        }
        {
            if (done);
        }
        {cout << x << " | " << n << " | " << c << endl;
        }
    }
    return 0;
}
В чем ошибка ?
0
Модератор
Эксперт С++
10458 / 8711 / 5262
Регистрация: 18.12.2011
Сообщений: 23,267
21.10.2014, 22:13 8
Лучший ответ Сообщение было отмечено P1ngvine как решение

Решение

Вы что-то совсем не разобрались в том, что такое функция.
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
#include <iostream>
#include <cmath>
using namespace std;
//----------------------------------------------------------------
// описание функции
double mylog(double x, double eps)
{
    int n=1;
    double an = x;
    double sum = 0;
    while (fabs(an)>eps)
    {
          sum += an;
          an *= x / (n + 1.)*n;
           n++;
    }
    return (-sum);
 }
//-----------------------------------------------------------------
int main()
{
    setlocale(LC_ALL, "rus");
    const int max = 500;
    double Xn, Xk, dX, x, eps, sum, n;
    int c;
    bool done;
    cout << "Введите Xn" << endl;
    cin >> Xn;
    cout << "Введите Xk" << endl;
    cin >> Xk;
    cout << "Введите шаг dX" << endl;
    cin >> dX;
    cout << "Введите точность e" << endl;
    cin >> eps;
    cout << "Таблица значений" << endl;
    cout << "----------------------" << endl;
    cout << "|X|Значение функции|Библиотечное значение|" << endl;
    cout << "------------------" << endl;
    for (double x = Xn; x <= Xk; x += dX)
    {
            double y=mylog(x, eps); // вызов функции
            double y2=log(1.-x);
            cout << x << "\t" << y << " \t " << y2 << endl;
    }
    system("pause");
    return 0;
}
1
1 / 1 / 0
Регистрация: 21.10.2014
Сообщений: 5
21.10.2014, 22:21  [ТС] 9
Теперь дошло, спасибо огромное.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2014, 22:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Протабулировать функцию (ряд Тейлора) С++
Нужно протабулировать функцию, заданную расписанием в ряд Тейлора(см. ниже), в области ее...

Протабулировать заданную функцию на интервале с шагом h
напишите программу для решения следующей задачи.Протабулировать функцию f(x) на интервалес...

Вычисление значения функции заданной с помощью ряда Тейлора
Определить: 10 членов ряда; абсолютную разность между табличной функцией и суммой ряда. Функцию...

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


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

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

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