0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 41
1

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

30.04.2017, 21:35. Показов 1554. Ответов 13
Метки нет (Все метки)

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

"Для каждого x, который изменяется от a до b с шагом h, вычислить значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x примерно должны совпадать."

https://www.cyberforum.ru/cgi-bin/latex.cgi?S(x)=\sum_{k=0}^{n}\frac{2k+1}{k!}{x}^{2k}

https://www.cyberforum.ru/cgi-bin/latex.cgi?Y(x)=(1+2{x}^{2}){e}^{{x}^{2}}

Работаю в C++ Builder, но нужен сам код. Думаю в этом разделе тема не будет неуместной (да простит меня модер).

Спасибо за помощь!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2017, 21:35
Ответы с готовыми решениями:

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

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

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

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

13
141 / 142 / 64
Регистрация: 11.11.2010
Сообщений: 864
Записей в блоге: 10
01.05.2017, 03:41 2
Лучший ответ Сообщение было отмечено devStyle как решение

Решение

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
#include <cmath>
#include <iomanip>
#include <iostream>
 
double S( double x, unsigned int n )
{
    double s = 1.0;
    double ak = 1.0;
    for( unsigned int k = 1; k <= n; k++ )
    {
        ak *= ( 2*k + 1 ) * x * x / k / ( 2*k - 1 );
        s += ak;
    }
    return s;
}
 
double Y( double x )
{
    return ( 1.0 + 2*x*x )*exp( x*x );
}
 
int main()
{
    double a, b, h;
    unsigned int n;
    std::cout << "a: ";
    std::cin >> a;
    std::cout << "b: ";
    std::cin >> b;
    std::cout << "h: ";
    std::cin >> h;
    std::cout << "n: ";
    std::cin >> n;
    if( b < a || h <= 0.0 )
    {
        std::cout << "Wrong parameters";
        std::cin.get();
        return 0;
    }
    std::cout
            << std::setw( 15 ) << "x" << " |"
            << std::setw( 15 ) << "Y(x)" << " |"
            << std::setw( 15 ) << "S(x)" << " |"
            << std::setw( 15 ) << "|Y(x) - S(x)|" << "\n";
    for( unsigned int m = 0; m <= ( b - a ) / h; m++ )
    {
        double x = a + m*h;
        double s = S( x, n );
        double y = Y( x );
        std::cout
            << std::setw( 15 ) << x << " |"
            << std::setw( 15 ) << y << " |"
            << std::setw( 15 ) << s << " |"
            << std::setw( 15 ) << std::abs( y - s ) << "\n";
    }
}
Вывести таблицу значений функции заданной рядом Тейлора
1
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
01.05.2017, 15:03 3
Я так понимаю, что Y(x) и S(x) должны совпадать. GoldenId, у Вас они не совпадают, следовательно золота там нет. Шутка, просто ошибка в коде.

Добавлено через 6 минут
Цитата Сообщение от GoldenId Посмотреть сообщение
double s = 1.0;
- s может быть от 0.

Добавлено через 55 секунд
Цитата Сообщение от GoldenId Посмотреть сообщение
for( unsigned int k = 1; k <= n; k++ )
- k от 0, написано же, ну что же Вы ошибки такие тупые допускаете, а?
0
0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 41
01.05.2017, 15:09  [ТС] 4
Спасибо, работает)
0
0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 41
01.05.2017, 15:14  [ТС] 5
Цитата Сообщение от DemolitionMan Посмотреть сообщение
Я так понимаю, что Y(x) и S(x) должны совпадать. GoldenId, у Вас они не совпадают, следовательно золота там нет. Шутка, просто ошибка в коде.
Указанно, что должно примерно совпадать.
Я пробовал разными способами реализовать, но была такая же ситуация.
А вообще зависит от значений.
Миниатюры
Вывести таблицу значений функции заданной рядом Тейлора  
0
0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 41
01.05.2017, 15:18  [ТС] 6
Цитата Сообщение от DemolitionMan Посмотреть сообщение
- k от 0, написано же, ну что же Вы ошибки такие тупые допускаете, а?
При k=0 будет ошибка (на 0 делить нельзя), это тоже обдумывал до создания темы на форуме.
0
141 / 142 / 64
Регистрация: 11.11.2010
Сообщений: 864
Записей в блоге: 10
01.05.2017, 15:35 7
Цитата Сообщение от DemolitionMan Посмотреть сообщение
Я так понимаю, что Y(x) и S(x) должны совпадать. GoldenId, у Вас они не совпадают
Понимаете неправильно. Y(x) - функция, S(x) - её частичная сумма, зависящая от n.
https://www.cyberforum.ru/cgi-bin/latex.cgi?\lim_{n\rightarrow \infty}\left(S\left(x \right) \right)=Y\left(x \right)
В запуске на скрине n было специально выбрано таким, чтобы S(x) и Y(x) отличались для некоторых x.
Следовательно разрушения там нет.

Добавлено через 1 минуту
Цитата Сообщение от devStyle Посмотреть сообщение
Я пробовал разными способами реализовать, но была такая же ситуация.
Чем больше берёте значение n, тем лучше S(x) будет приближать Y(x).

Добавлено через 4 минуты
Цитата Сообщение от devStyle Посмотреть сообщение
При k=0 будет ошибка (на 0 делить нельзя), это тоже обдумывал до создания темы на форуме.
Легче внести слагаемое при k = 0 сразу в сумму, чем проверять в цикле нулевой множитель от факториала.
Ну да, будет неправильно работать при n = 0. Вам нужны частичные суммы из одного слагаемого? Сейчас поправлю.

Добавлено через 1 минуту
Хотя нет. Всё там правильно и для n = 0.
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
01.05.2017, 17:28 8
Цитата Сообщение от GoldenId Посмотреть сообщение
Понимаете неправильно.
- ууууу, какой Вы злой, ну ошибки тупящего солдата все-рано совершать не надо.

Добавлено через 41 секунду
Цитата Сообщение от devStyle Посмотреть сообщение
Указанно, что должно примерно совпадать.
- там даже по-моему примерно не совпадает.

Добавлено через 1 минуту
В первой строчке не совпадает очень сильно, а должно все полностью совпадать, иначе грош цена вашему программированию.

Добавлено через 45 секунд
Количество членов ряда: 100 - все четко должно совпадать, что вы мне лапшу на уши вешаете-то?
0
141 / 142 / 64
Регистрация: 11.11.2010
Сообщений: 864
Записей в блоге: 10
01.05.2017, 17:57 9
Что значит
Цитата Сообщение от DemolitionMan Посмотреть сообщение
все четко должно совпадать
?
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
01.05.2017, 18:17 10
Цитата Сообщение от DemolitionMan Посмотреть сообщение
В первой строчке не совпадает очень сильно, а должно все полностью совпадать, иначе грош цена вашему программированию.
А на вводимые данные мы не смотрим или по Вашему ряд разложения для любого x?
0
0 / 0 / 0
Регистрация: 03.01.2016
Сообщений: 41
02.05.2017, 14:18  [ТС] 11
Благодарю всех за помощь
0
141 / 142 / 64
Регистрация: 11.11.2010
Сообщений: 864
Записей в блоге: 10
03.05.2017, 01:30 12
Претензии по сути, а не
Цитата Сообщение от DemolitionMan Посмотреть сообщение
ошибки такие тупые
Цитата Сообщение от мановар Посмотреть сообщение
Цитата Сообщение от DemolitionMan Посмотреть сообщение
ошибки тупящего солдата
есть?
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
03.05.2017, 05:27 13
GoldenId, претензии к Вам что ли? Читайте внимательнее сообщение. К программе претензий нет, все работает.
0
141 / 142 / 64
Регистрация: 11.11.2010
Сообщений: 864
Записей в блоге: 10
03.05.2017, 09:38 14
Ряд сходится при любом x. Если брать достаточно большое n, то точность будет достигнута:
Код
a: -10
b: 10
h: 1
n: 1000
              x |           Y(x) |           S(x) |  |Y(x) - S(x)|
            -10 |   5.40312e+045 |   5.40312e+045 |   4.60514e+029
             -9 |   2.45494e+037 |   2.45494e+037 |   1.99225e+021
             -8 |   8.04334e+029 |   8.04334e+029 |   5.60751e+013
             -7 |   1.88827e+023 |   1.88827e+023 |    2.1758e+007
             -6 |    3.1472e+017 |    3.1472e+017 |             45
             -5 |   3.67225e+012 |   3.67225e+012 |    0.000167847
             -4 |   2.93242e+008 |   2.93242e+008 |              0
             -3 |         153959 |         153959 |   5.45697e-012
             -2 |        491.383 |        491.383 |              0
             -1 |        8.15485 |        8.15485 |   4.44089e-016
              0 |              1 |              1 |              0
              1 |        8.15485 |        8.15485 |   4.44089e-016
              2 |        491.383 |        491.383 |              0
              3 |         153959 |         153959 |   5.45697e-012
              4 |   2.93242e+008 |   2.93242e+008 |              0
              5 |   3.67225e+012 |   3.67225e+012 |    0.000167847
              6 |    3.1472e+017 |    3.1472e+017 |             45
              7 |   1.88827e+023 |   1.88827e+023 |    2.1758e+007
              8 |   8.04334e+029 |   8.04334e+029 |   5.60751e+013
              9 |   2.45494e+037 |   2.45494e+037 |   1.99225e+021
             10 |   5.40312e+045 |   5.40312e+045 |   4.60514e+029
Добавлено через 4 минуты
Специально вспомнил, как считается радиус сходимости ряда, посчитал...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2017, 09:38
Помогаю со студенческими работами здесь

Вывести таблицу значений функции заданной разложением в ряд Тейлора
Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x, изменяющегося от...

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

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

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

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

Вывести таблицу значений функции заданной разложением в ряд Тейлора
Вычислить и вывести на экран значение функции F(x) на отрезке с шагом h=0.1 и точностью s. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru