Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194

Вычислить значение функции sinh(x), разложенной в ряд и сходящейся в указанной области

19.04.2022, 12:39. Показов 2754. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать код.
Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.04.2022, 12:39
Ответы с готовыми решениями:

Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области
Надо решить тремя способами: 1) с точностью eps; 2) известно количество элементов ряда; 3) и по формуле.

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

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

31
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
14.09.2022, 09:51
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sansan Посмотреть сообщение
Методичку прикладываю.
Из методички
Вычисления следует завершить, как только будет найден очередной член ряда (x^n / n!), по абсолютной величине не превышающий данного положительного e.
Но, насколько я помню, это верно только для знакопеременных рядов. Для знакопостоянных рядов следует вычислить формулу суммы отбрасываемого остатка бесконечного ряда (предел бесконечной геометрической прогрессии).

В методичке некорректная информация?

Добавлено через 4 минуты
Цитата Сообщение от sansan Посмотреть сообщение
Глядя на сам код мне проще понять, чем глядя на формулу
В методичке же прям готовый код приведен, как вам и хочется. Только ряд чуть-чуть другой.
Чего ж еще-то дописать к этому можно??
0
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194
14.09.2022, 11:02  [ТС]
Цитата Сообщение от KSergey9 Посмотреть сообщение
В методичке некорректная информация?
Затрудняюсь ответить. Методичка как есть.

Цитата Сообщение от KSergey9 Посмотреть сообщение
В методичке же прям готовый код приведен, как вам и хочется. Только ряд чуть-чуть другой.
Окончательно запутался.
Т.е., сначала я вычисляю: 2n-1 например так:
step++;
step = 2*step-1;
Затем возвожу числитель в степень step.
а далее по формуле u=u*x/k; из методички ?
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
14.09.2022, 11:55
Ничего ни в какую степень возводить не требуется.
Вдумчиво прочитайте методичку, особенно вот это:
Нетрудно заметить следующую закономерность: Для вычисления нового слагаемого u нужно умножить старое значение u на x и разделить на номер нового слагаемого k, т.е. u=u*x / k
Цитата Сообщение от sansan Посмотреть сообщение
а далее по формуле u=u*x/k; из методички ?
в случае вашей формулы надо "нетрудно заметить", что при увеличении k на единицу в каждой итерации значение u будет вычисляться как
u=u*x*x/(2*k * (2 * k + 1))

А что такое step -я не знаю, в методичке нет, лучше лишние сущности не придумывать.
0
Заблокирован
14.09.2022, 14:05
sansan, с мая тянется, сейчас то какой код?
0
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194
14.09.2022, 14:12  [ТС]
Цитата Сообщение от CoderPC Посмотреть сообщение
с мая тянется
Остался хвост на осень.

Цитата Сообщение от CoderPC Посмотреть сообщение
сейчас то какой код?
не понял вопрос я
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
14.09.2022, 14:18
Цитата Сообщение от sansan Посмотреть сообщение
не понял вопрос я
Что ж тут не понять-то.
Покажите уже свой код, какой есть. Что вы сделали с мая по сентябрь?
Поправим, подскажем.
0
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194
14.09.2022, 14:31  [ТС]
Цитата Сообщение от KSergey9 Посмотреть сообщение
Покажите уже свой код, какой есть. Что вы сделали с мая по сентябрь?
Там у меня много всякого, и все в виде набросков. Сейчас уже почти сделал по предложенной вами строке кода. Минут через 5-10 покажу что получилось.

Добавлено через 3 минуты
Цитата Сообщение от KSergey9 Посмотреть сообщение
Покажите уже свой код, какой есть.
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
#include <iostream>
#include <cmath> // вычисление степени
 
using namespace std;
int main()
{
    double result = 0;
    double u, y, eps;
    int k, x;
    x = 2;
    eps = 0.3;
    u = 1;
    k = 0;
    y = 0;
while (fabs(u)>eps)
{
y=y+u;
k++;
u=u*x*x/(2*k * (2 * k + 1));
}
 
cout<<"y="<<y;
std::cout << result;
}
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
14.09.2022, 15:00
Цитата Сообщение от sansan Посмотреть сообщение
u = 1;
Но почему? первое слагаемое же не единица

Добавлено через 3 минуты
Цитата Сообщение от sansan Посмотреть сообщение
x = 2;
больше единицы??

Добавлено через 2 минуты
Цитата Сообщение от sansan Посмотреть сообщение
int k, x;
что?? x целое?

Добавлено через 5 минут
А так в целом работает, если поправить ошибки. Проверил.
Причем сходится быстро, до 5 знака после запятой - буквально за 3..4 итерации. Клёвая формула.
0
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194
14.09.2022, 15:22  [ТС]
Цитата Сообщение от KSergey9 Посмотреть сообщение
Но почему? первое слагаемое же не единица
Упс, глядя в методичку, переписал как там.

Цитата Сообщение от KSergey9 Посмотреть сообщение
больше единицы??
пока так для проверки работоспособности кода
Цитата Сообщение от KSergey9 Посмотреть сообщение

что?? x целое?
ну этот кусок кода просто набросок. Пока принял x=2

Исправил на:
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
#include <iostream>
#include <cmath> // вычисление степени
 
using namespace std;
int main()
{
    double result = 0;
    double u, y, eps, x;
    int k;
    x =0.9 ;
    eps = 0.3;
    u = x;
    k = 0;
    y = 0;
while (fabs(u)>eps)
{
y=y+u;
k++;
u=u*x*x/(2*k * (2 * k + 1));
}
 
cout<<"y="<<y;
cout<<"k="<<k;
std::cout << result;
}
0
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194
19.09.2022, 06:22  [ТС]
Такой код получился в итоге. Но меня смущает результат вычисления по второму способу (с заданным n количеством первых членов ряда). Результат вычисления отличается от результата по первому способу.

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <cmath>
 
double f(double x, double eps)
{
    double result = 0;
    double u, y;
    int k;
    u = x;
    k = 0;
    y = 0;
while (fabs(u)>eps)
{
y=y+u;
k++;
u=u*x*x/(2*k * (2 * k + 1));
}
 
std::cout<<"y="<<y;
std::cout << result;
}
 
double fk(double x, double kk)
{
    double result = 0;
    double u, y;
    int k;
for (k=1; k<=kk; k++)
    {
       y=y+u;
       k++;
       u=u*x*x/(2*k * (2 * k + 1));
    }
std::cout<<"y="<<y;
std::cout << result;
//return result;
}
 
using namespace std;
int main()
 
{
setlocale(LC_ALL, "Russian");
int v, kk;
double eps, rec;
 
std::cout << "Каким способом произвести вычисление? Веедите номер вырианта: 1, 2 или 3. 1-вариант (с заданной погрешностью eps). 2-вариант (с заданным числом k первых членов ряда). 3-вариант (по аналитической формуле f(x))";
std::cin >> v;
                    double x;
                    cout << "Введите x: ";
                    cin >> x;
                    if (abs(x) > 1)
                      {
                        cout << "Не корректный ввод";
                        return -1;
                      }
            switch (v)
 
                 {
                   case 1:
                   {
 
                    std::cin.clear();
                    std::cout << "Введите eps: ";
                    std::cin >> eps;
                    std::cin.clear();
                    std::cout <<"F("<<x<< ") = " << f(x, eps);
                    return 0;
                   }
                    break;
 
 
 
                   case 2:
                              {
 
                    std::cin.clear();
                    //double = kk;
                    kk = 0;
                    std::cout << "Введите n первых членов ряда: ";
                    std::cin >> kk;
                    std::cin.clear();
                    std::cout <<"F("<<x<< ") = " << fk(x, kk);
                    return 0;
                             }
                   break;
 
 
 
                   case 3:
                                 {
                                     std::cout << "sinh(" << x << ") = " << sinh(x) << std::endl;
                                 }
                   break;
 
 
 
                   default:
                                 {
                                  std::cout << "Ошибка! Необходимо вводить 1 2 или 3" << endl;
                                 }
                   break;
             }
  }
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
19.09.2022, 09:03
Цитата Сообщение от sansan Посмотреть сообщение
Результат вычисления отличается
Почему в f() вы инициализируете переменные u, k, y до цикла, а в fk() - не инициализируете?
1
0 / 0 / 2
Регистрация: 15.05.2020
Сообщений: 194
19.09.2022, 09:17  [ТС]
Цитата Сообщение от KSergey9 Посмотреть сообщение
Почему в f() вы инициализируете переменные u, k, y до цикла, а в fk() - не инициализируете?
Действительно! А также нет u = x в fk()
Полагаю k = 0 в fk() лишнее?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.09.2022, 09:17

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

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

Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области
Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области.

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

Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области
Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области.


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru