Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Foxberry23
1 / 1 / 0
Регистрация: 09.08.2023
Сообщений: 15

Вывести таблицу значений функции заданной разложением в ряд Тейлора

18.08.2023, 20:24. Показов 611. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
доброго времени суток.

Вычислить сумму ряда для всех значений аргумента в заданном интервале с заданным шагом

помогите, пожалуйста, записать формулу суммы ряда.
Сумма ряда S:
https://www.cyberforum.ru/cgi-bin/latex.cgi?1+3{x}^{2}+\frac{5{x}^{4}}{2!}+...+\frac{2n+1}{n!}*{x}^{2n}

я записала ее так в программе:
C++
1
a *= (2 *n * x*x) / ( n*n);
но, по итогу, выводит ерунду. при ручном просчете данные S не сходятся с выводом программы
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2023, 20:24
Ответы с готовыми решениями:

Вывести таблицу значений функции заданной разложением в ряд Тейлора
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Редактор формул внизу страницы

Вывести таблицу значений функции заданной разложением в ряд Тейлора
Вычисление суммы членов бесконечного ряда с заданной точностью П.5.18.Правил Запрещено размещать задания и решения в виде картинок и...

Вывести таблицу значений функции заданной разложением в ряд Тейлора
Даны действительные числа x, ε (x≠0, ε >0). Вычислить с -3, -4, -5, -6, точностью ε (ε =10, 10, 10, 10) сумма ряда и указать количество...

8
Заблокирован
18.08.2023, 20:47
Цитата Сообщение от Foxberry23 Посмотреть сообщение
значений аргумента в заданном интервале с заданным шагом
где это?
C++
1
2
3
4
5
6
7
8
9
10
    double x;
    cout << "x=";
    cin >> x;
    double s = 1, a = 1, x2 = x * x;
    for (int n = 1; n <= 10; n++)
    {
        a *= x2 / n;
        s += (2 * n + 1)*a;
    }
    cout << "S=" << s << endl;
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
18.08.2023, 20:49
Вычисление функций разложением в ряд Тейлора
a0=1
an=an-1*x2*(2n+1)/((2n-1)n)
0
 Аватар для Foxberry23
1 / 1 / 0
Регистрация: 09.08.2023
Сообщений: 15
18.08.2023, 21:12  [ТС]
mmi1814, у меня вот это
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
#include <iostream>
#include <stdlib.h>
#include <math.h>
 
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "russian"); 
    const float xn = 0;
    const float xk = 2;
    const float dx = 0.1;
    const float e = 0.0001;
    float x, s, y;
    int n;
 
    x = xn;
    cout << "-----------------------------------------------------------------------------" << endl;
    cout << "| Значение x | Сумма ряда s | Точное значение y | Отн. ошибка в % | Шагов n |" << endl;
    cout << "-----------------------------------------------------------------------------" << endl;
    for (x = xn; x <= xk + 0.001; x += dx)
    {
        n = 1;
        float a = x;
        s = x;
 
        do
        {
            n++;
            a *= (x * x) / n;
            s += (2 * n + 1) * a;
            
 
        } while (a >= e);
        y = 1 - 2 * pow(x, 2) * exp(x * x);
        printf("| %10.4f | %12.4f | %17.4f | %15.4f | %7d |\n",
            x, s, y, (fabs(s - y)/ y )* 100, n);
    }
    cout << "-----------------------------------------------------------------------------" << endl;
    system("pause");
}
если поменять формулу, то все рано не выходит.
и потом, если я правильно поняла,
C++
1
 a *= x2 / n;
- это https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{2n}

C++
1
(2 * n + 1)*a
это https://www.cyberforum.ru/cgi-bin/latex.cgi?2n+1

а где факториал? https://www.cyberforum.ru/cgi-bin/latex.cgi?n!



zss, я пол вечера смотрю на эту тему на форуме,а понимание так и не пришло
Миниатюры
Вывести таблицу значений функции заданной разложением в ряд Тейлора  
0
Заблокирован
18.08.2023, 21:25
Цитата Сообщение от Foxberry23 Посмотреть сообщение
e = 0.0001;
откуда взялось?
"Точное значение y" отрицательное? по рисунку сразу видно...
a=x2n/n!
0
 Аватар для Foxberry23
1 / 1 / 0
Регистрация: 09.08.2023
Сообщений: 15
18.08.2023, 21:30  [ТС]
mmi1814,из условий задачи


Цитата Сообщение от mmi1814 Посмотреть сообщение
"Точное значение y" отрицательное?
эмм, вряд-ли, сейчас посмотрю

нет, для у все верно
0
Заблокирован
18.08.2023, 21:52
Цитата Сообщение от Foxberry23 Посмотреть сообщение
float a = x;
это с чего?
Цитата Сообщение от Foxberry23 Посмотреть сообщение
y = 1 - 2 * pow(x, 2) * exp(x * x);
сомнительно

Добавлено через 4 минуты
возможно так, но все равно не стыкуется
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    for (double x = 0; x <= 2.0001; x += 0.1)
    {
        double s = 0, a = 1, x2 = x * x;
        double eps = 1e-5, el = 1;
        int n;
        for (n = 1; el > eps; n++)
        {
            s += el;
            a *= x2 / n;
            el = (2 * n + 1)*a;
        }
        double y = 1 + 2 * x*x * exp(x * x);
        printf("| %10.4f | %12.4f | %17.4f | %7d |\n", x, s, y, n);
    }
1
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
19.08.2023, 10:31
Обсуждаемое разложение не является разложением функции y = 1 + 2 * x*x * exp(x * x)

Привожу пример для разложения y= exp(x * 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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
int main()
{
    double xn = 0;
    double xk = 2.;
    double dx = 0.1;
    double e = 0.0001;
    double x = xn;
    setlocale(LC_ALL, "russian"); 
    puts("-----------------------------------------------------------------------------");
    puts("| Значение x | Сумма ряда s | Точное значение y | Отн. ошибка в % | Шагов n |");
    puts("-----------------------------------------------------------------------------" );
    for (x = xn; x < xk + 0.001; x += dx)
    {
        int n = 0;
        double a = 1.;
        double s = 0;
        do
        {
            s+=a;
            n++;
            //a *= (2. * n + 1.)/(2. * n - 1)*x * x / n; //формула для обсуждаемого разложения 
            a *= x * x / n;   //формула для y=exp(x*x)
        }while (fabs(a) >= e);
        double y = exp(x*x);
        printf("| %10.4f | %12.4f | %17.4f | %15.4f | %7d |\n",
            x, s, y, (fabs(s - y)/ y )* 100, n);
    }
    puts("-----------------------------------------------------------------------------");
    system("pause");
}
1
 Аватар для Foxberry23
1 / 1 / 0
Регистрация: 09.08.2023
Сообщений: 15
21.08.2023, 17:54  [ТС]
Все верно.
По условиям задачи у=
https://www.cyberforum.ru/cgi-bin/latex.cgi?y=1-2{x}^{2}{e}^{{x}^{2}}

Но для данного ряда у:
https://www.cyberforum.ru/cgi-bin/latex.cgi?y=2{x}^{2}{e}^{{x}^{2}} + e^{{x}^{2}}

Поэтому если использовать:
C++
1
a *= (2. * n + 1.)/(2. * n - 1)*x * x / n;
и
C++
1
y = 2 * pow(x, 2) * exp(x*x) + exp(x*x);
все сходится.
оставлю, вдруг кому-нибудь пригодится.
Миниатюры
Вывести таблицу значений функции заданной разложением в ряд Тейлора  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.08.2023, 17:54
Помогаю со студенческими работами здесь

Вывести таблицу значений функции заданной разложением в ряд Тейлора
Вычисление суммы членов бесконечного ряда с заданной точностью. Предварительно вывести рекуррентную формулу для нахождения значения...

Вывести таблицу значений функции заданной разложением в ряд Тейлора
#define _USE_MATH_DEFINES #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; using namespace std; double foo (int,...

Вывести таблицу значений функции заданной разложением в ряд Тейлора
На основании данных таблицы составить программу вычисления аргумента, приближенного (оставляя в рядах члены, большие заданной точности е) и...

Вывести таблицу значений функции заданной разложением в ряд Тейлора
Помогите написать код на С++. Задача: Для каждого x, изменяющегося от a до b с шагом h, найдите значения функции Y(x), суммы S(x) и...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru