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

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

Восстановить пароль Регистрация
 
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 66
03.02.2014, 20:24     Вычисление функций с использованием их разложения в степенной ряд! #1
Условие:
Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях:
а) для заданного n;
б) для заданной точности е (е=0.0001).
Для сравнения найти точное значение функции.
Вычисление функций с использованием их разложения в степенной ряд!
Работаю в Dev-C++
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
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double y,x;
int n, i, j, k=10;
double pi=3.14, sn=0, se=0 ,e=0.0001, a=0.1, b=0.8, c, u;
cout<<"n=";
cin>>n;
x=0.1;
j=1;
c=0;
while(x<=0.8)
  {y=-0.5*log(1-2*x*cos(pi/3)+pow(x,2));
  for(i=1;i<n;i++)
    {sn=sn+(pow(x,i)*cos(i*(pi/3)))/i;        
    cout<<"X="<<x<<"  ";
    cout<<"Y="<<y<<"  ";
    cout<<"SN="<<sn<<"\n";
    //cout<<"SE="<<se<<"\n";
  }
  x=x+(b-a)/k;
  }
system ("PAUSE");
return 0;
}
Проблема возникла в нахождении Суммы с заданной точностью!
C++
1
2
3
4
5
     do {se=se+c;
     u=c;
     j=j++;
     c=(pow(x,j)*cos(j*(pi/3)))/j;}
     while (fabs(c-u)<e);
вот моё приблизительное решение, но дело в том, что я не знаю в какое место поместить цикл, и вывод, т.к. нужно что-бы вывод выглядел так:
Вычисление функции
X=...... SN=...... SE=..... Y=......
X=...... SN=...... SE=..... Y=......
..........
X=...... SN=...... SE=..... Y=......
Здесь X- значение параметра; SN- значение суммы для заданного n; SE- значение суммы для заданной точности; Y-точное значение функции.
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2014, 20:24     Вычисление функций с использованием их разложения в степенной ряд!
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 66
03.02.2014, 22:01  [ТС]     Вычисление функций с использованием их разложения в степенной ряд! #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
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double y,x;
int n, i, j, k=10;
double pi=3.14, sn=0, se=0 ,e=0.0001, a=0.1, b=0.8, c;
cout<<"n=";
cin>>n;
x=0.1;
j=1;
c=(x*cos(pi/3))/1;
while(x<=0.8)
  {y=-0.5*log(1-2*x*cos(pi/3)+pow(x,2));
  for(i=1;i<=n;i++)
     sn+=(pow(x,i)*cos(i*(pi/3)))/i;
  do 
  {se+=c;
  j++;
  c=(pow(x,j)*cos(j*(pi/3)))/j;}
  while (fabs(c)<e);    
  cout<<"X="<<x<<"  ";
  cout<<"SN="<<sn<<"  ";
  cout<<"SE="<<se<<"  ";
  cout<<"Y="<<y<<"\n";
  x=x+(b-a)/k;
  }
system ("PAUSE");
return 0;
}
Yandex
Объявления
03.02.2014, 22:01     Вычисление функций с использованием их разложения в степенной ряд!
Ответ Создать тему
Опции темы

Текущее время: 12:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru