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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
#1

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

15.09.2011, 07:50. Просмотров 1908. Ответов 9
Метки нет (Все метки)

Здраствуйте, форумчане!!! У меня такая задачка!!!!

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

вот что у меня получилось:
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
int main()
{
    
double x=0.1,f,m; 
double a=0.1,b=1;
double k=10;
double n=1;
double SN,SE;
double const eps=0.0001;
SN=0;
SE=0;
while (x<=b)
{
      while(n<=20)
      {
                  m=m*n;
                  SN+=cos(n*x)/m;
                  cout << "SN[" << n << "]=" << SN << endl;
                  n++;
                  }       
       while (SE<=eps)
       {
                  m=m*n;
                  SE+=cos(n*x)/m;
                  cout << "SE[" << n << "]=" << SE << endl;
                  n++; 
                  }         
                  
       f=exp(cos(x))*cos(sin(x));
       x+=(b-a)/k;
       cout << f << endl;
       
}
getch();
}
только цикл по SE считается неправильно(зацикливается)!!! и цикл по SN каждый раз считает по разному! В чём проблема не пойму!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2011, 07:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление функций с использованием их разложения в степенной ряд (C++):

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

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

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

9
Чистый
Автор FAQ
2709 / 1405 / 73
Регистрация: 08.09.2011
Сообщений: 3,733
Записей в блоге: 1
15.09.2011, 10:38 #2
а где у вас инициализация переменной m?
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 12:24 #3
Ruslanishe, а какие функции вы в ряд раскладываете? И почему перед каждым внутренним while все переменные заново не инициализируете
0
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 14:36  [ТС] #4
Цитата Сообщение от Чистый Посмотреть сообщение
а где у вас инициализация переменной m?
C++
1
double x=0.1,f,m;
0
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 14:42  [ТС] #5
Цитата Сообщение от Thinker Посмотреть сообщение
Ruslanishe, а какие функции вы в ряд раскладываете?
Сорри забыл сразу поставить картинку!
0
Миниатюры
Вычисление функций с использованием их разложения в степенной ряд  
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 14:48  [ТС] #6
Цитата Сообщение от Thinker Посмотреть сообщение
И почему перед каждым внутренним while все переменные заново не инициализируете
т.е. перед каждым циклом while по SN и SE, надо их занулять?

Добавлено через 4 минуты
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
int main()
{
    
double x=0.1,f,m=1; 
double a=0.1,b=1;
double k=10;
double n=1;
double SN,SE;
double const eps=0.0001;
SN=0;
SE=0;
while (x<=b)
{
      SN=0;
      m=1;
      while(n<=20)
      {
           m=m*n;
                  SN+=cos(n*x)/m;
                  cout << "SN[" << n << "]=" << SN << endl;
                  
                  n++;
                  }  
                  SE=0;     
      while (SE<=eps)
       {
                 m=m*n;
                 SE+=cos(n*x)/m;
                cout << "SE[" << n << "]=" << SE << endl;
                n++; 
                 }         
                  
       f=exp(cos(x))*cos(sin(x));
       x+=(b-a)/k;
       cout << f << endl;
       
}
getch();
}
вот вроде он SN считает правильно но вот SE нет!!!
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 15:15 #7
Второй цикл:

C++
1
2
3
4
5
6
7
8
9
      SE=0;
      n = m = 1;     
      while (fabs(cos(n*x)/m) >= eps)
       {
                m=m*n;
                SE+=cos(n*x)/m;
                cout << "SE[" << n << "]=" << SE << endl;
                n++; 
       }
1
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 16:06  [ТС] #8
Цитата Сообщение от Thinker Посмотреть сообщение
while (fabs(cos(n*x)/m) >= eps)
Извините, а что такое fabs
0
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 16:16  [ТС] #9
и почему-то ответ не так даёт по идее f(x1) (x=0.1) должно быть равно SN но они не равны!! и ещё я решил пронумеровать :
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
int main()
{
    
double x=0.1,f,m=1; 
double a=0.1,b=1;
double k=10;
double n=1;
double SN,SE;
double const eps=0.0001;
SN=0;
SE=0;
while (x<=b)
{
      SN=0;
      n=m=1;
      while(n<=20)
      {
           m=m*n;
                  SN+=cos(n*x)/m;
                  cout << "SN[" << n << "]=" << SN << endl;
                  
                  n++;
                  }  
                  SE=0;     
      SE=0;
      n = m = 1;     
      while (fabs(cos(n*x)/m) >= eps)
       {
                m=m*n;
                SE+=cos(n*x)/m;
                cout << "SE[" << n << "]=" << SE << endl;
                n++; 
       }        
                  
       f=exp(cos(x))*cos(sin(x));
       x+=(b-a)/k;
       cout << "f[x"<< n << "]=" << f << endl;
       
}
getch();
}
вот картинка результатов:
0
Миниатюры
Вычисление функций с использованием их разложения в степенной ряд  
MrGluck
Модератор
Эксперт CЭксперт С++
7497 / 4613 / 694
Регистрация: 29.11.2010
Сообщений: 12,631
15.09.2011, 16:25 #10
Цитата Сообщение от Ruslanishe Посмотреть сообщение
Извините, а что такое fabs
То же самое, что и abs() , но работающее не только с числами типа int. (Модуль)
0
15.09.2011, 16:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2011, 16:25
Привет! Вот еще темы с ответами:

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

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

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

Вычислить функции с использованием их разложения в степенной ряд. Функции и Перегрузка функций - C++
Добрый день. Дана лабораторная работа, (см. ниже 2 скриншота) по заданию нужно вычислить функции с использованием их разложения в степенной...


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

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

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