Форум программистов, компьютерный форум CyberForum.ru

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

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

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

15.09.2011, 07:50. Просмотров 1792. Ответов 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 каждый раз считает по разному! В чём проблема не пойму!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2011, 07:50     Вычисление функций с использованием их разложения в степенной ряд
Посмотрите здесь:

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Чистый
Автор FAQ
2694 / 1390 / 71
Регистрация: 08.09.2011
Сообщений: 3,721
Записей в блоге: 1
15.09.2011, 10:38     Вычисление функций с использованием их разложения в степенной ряд #2
а где у вас инициализация переменной m?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 12:24     Вычисление функций с использованием их разложения в степенной ряд #3
Ruslanishe, а какие функции вы в ряд раскладываете? И почему перед каждым внутренним while все переменные заново не инициализируете
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 14:36  [ТС]     Вычисление функций с использованием их разложения в степенной ряд #4
Цитата Сообщение от Чистый Посмотреть сообщение
а где у вас инициализация переменной m?
C++
1
double x=0.1,f,m;
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 14:42  [ТС]     Вычисление функций с использованием их разложения в степенной ряд #5
Цитата Сообщение от Thinker Посмотреть сообщение
Ruslanishe, а какие функции вы в ряд раскладываете?
Сорри забыл сразу поставить картинку!
Миниатюры
Вычисление функций с использованием их разложения в степенной ряд  
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 нет!!!
Thinker
Эксперт C++
4225 / 2199 / 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++; 
       }
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
15.09.2011, 16:06  [ТС]     Вычисление функций с использованием их разложения в степенной ряд #8
Цитата Сообщение от Thinker Посмотреть сообщение
while (fabs(cos(n*x)/m) >= eps)
Извините, а что такое fabs
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();
}
вот картинка результатов:
Миниатюры
Вычисление функций с использованием их разложения в степенной ряд  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2011, 16:25     Вычисление функций с использованием их разложения в степенной ряд
Еще ссылки по теме:

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
15.09.2011, 16:25     Вычисление функций с использованием их разложения в степенной ряд #10
Цитата Сообщение от Ruslanishe Посмотреть сообщение
Извините, а что такое fabs
То же самое, что и abs() , но работающее не только с числами типа int. (Модуль)
Yandex
Объявления
15.09.2011, 16:25     Вычисление функций с использованием их разложения в степенной ряд
Ответ Создать тему
Опции темы

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