Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Statussrg
1 / 1 / 0
Регистрация: 25.10.2014
Сообщений: 21
#1

Вычисление функции с использованием их разложения в ряд - C++

25.10.2014, 19:43. Просмотров 725. Ответов 2
Метки нет (Все метки)

Прошу помочь с решением задачи. Только начал постигать С++.
Для х изменяющегося от a до b с шагом (a-b)/k, где (К=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях:
а) для заданного n=40;
б) для заданной точности е=0.0001;
Для сравнения найти точное значение функции.
Функция: у=- ln |2*sin(x/2)|;
Диапазон изменения х: П/5<=x<=9П/5;
Сумма: S=cosx+cos2x/2+.........+cosnx/n.
Вывести:
х- значение параметра;
SN- значение суммы для заданного n;
SE- значение суммы для заданной точности;
Y - точное значение функции.
Если не трудно в коде отметить комментарии строк.
Очень благодарен всем откликнувшимся.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2014, 19:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление функции с использованием их разложения в ряд (C++):

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

Вычисление функции с заданной точностью с использованием разложения в ряд - C++
Цель работы: освоение средств языка C++ для описания итерационных циклов и закрепление навыков использования их при программировании. ...

Вычисление функций с использованием их разложения в степенной ряд! - C++
Условие: Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в...

Вычисление функций с использованием их разложения в степенной ряд - C++
Помогите пожалуйста с задачей: Постановка задачи: Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x),...

Вычисление функций с использованием их разложения в степенной ряд - C++
Помогите пожалуйста исправить прогрограмму (С++) Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x),...

Вычисление функций с использованием их разложения в степенной ряд - C++
Вычисление функций с использованием их разложения в степенной ряд. Вычислить функцию S= f(x), используя ее разложение в степенной ряд ...

2
D_in_practice
331 / 331 / 159
Регистрация: 02.10.2014
Сообщений: 666
25.10.2014, 23:42 #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
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
#include <iostream>
#include <cmath>
#include <iomanip>
 
#define N 40
#define EPS 0.0001
#define MY_PI 3.1415926535897932384626433832795
#define X0 MY_PI/5.
#define XK MY_PI*9/5.
 
using namespace std;
 
double sn(double x, int n);
double se(double x, double eps);
double y(double x);
 
int main(){
    
    cout << "    x    " << "|     SN     |" 
          << "     SE     " << "|     Y      " << endl;
    cout << "-------------------------------------------------" << endl;
    
    double dx = (XK - X0) / 10;
    for (double x = X0; x < XK; x += dx){
        cout << setw(9) << setprecision(6)<< x << "|";
        cout << setw(12) << setprecision(6)<< sn(x, N) << "|";
        cout << setw(12) << setprecision(6)<< se(x, EPS) << "|";
        cout << setw(12) << setprecision(6)<< y(x) << "|";
        cout << endl;
    }
        
    return 0;
}
 
double sn(double x, int n){
    
    double sum = 0;
    for (int i = 1; i <= n; ++i)
        sum += cos(i * x) / i;
    
    return sum;
}
 
double se(double x, double eps){
    
    double sum = 0;
    double d = 0;
    int i = 0;
    do{
        ++i;
        d = cos(i * x) / i;
        sum += d;
    }while(fabs(d) > eps);
        
    return sum;
}
 
double y(double x){
    
    return -1 * log(fabs(2 * sin(x/2)));
}
1
Statussrg
1 / 1 / 0
Регистрация: 25.10.2014
Сообщений: 21
26.10.2014, 18:34  [ТС] #3
Спасибо огромное D_in_practice за помощь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2014, 18:34
Привет! Вот еще темы с ответами:

Вычисление функций с использованием их разложения в степенной ряд - C++
Здраствуйте, форумчане!!! У меня такая задачка!!!! Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x),...

Вычисление функций с использованием их разложения в степенной ряд - C++
&quot;Вычисление функций с использованием их разложения в степенной ряд&quot; Цель: Практика в организации итерационных и арифметических...

Вычисление функций с использованием их разложения в степенной ряд - C++
помогите пожалуйста закончить лабу, не правильно получается цикл SE и, если несложно, помогите с оформлением в отдельные функции Буду...

Вычисление функций с использованием их разложения в степенной ряд - C++ - C++
http://http://www.cyberforum.ru/cpp-beginners/thread435049.html#post2443082 В этой теме при вычислении функции с использованием её...


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

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

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