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

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

Восстановить пароль Регистрация
 
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
03.01.2013, 22:12     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #1
Постановка задачи
Для х, изменяющегося от a до b (интервал [a ; b] целиком лежит внутри интервала, указанного в третьей колонке) с шагом , вычислить функцию y=f(x), используя ее разложение в степенной ряд (вторая колонка) в двух случаях:
а) для заданного количества слагаемых N (величина зависит от свойств степенного ряда, примерное значение N указано в четвёртой колонке);
б) для заданной точности э (близкое к нулю положительное число, например, 0.1, 0.01, 0.001, 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
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
 
using namespace std;
 
int main()
{
    cout <<setlocale(0, "Russian");
    cout<<"66666"<<endl;
    cout<<endl;
 
    double a, b, eps, x, h,Z;
    int N; //число слагаемых
    do
    {
        cout<<"Введите начальное значение уравнения A: ";
        cin>>a;
        cout<<"Введите конечное значение уравнения B: ";
        cin>>b;
    }while(a>=b);
    
    h=(b-a)/10; //вычисление шага
    cout<<"Eps от 0.0001 до 0.1"<<endl;
    
    do
    {
        cout<<"Введите eps: ";
        cin>>eps;
    }while(eps>0.10000 || eps<0.00010000); //0.0001 < eps < 0.1
 
    do
    {
        cout<<"Введите кол-во слагаемых N: ";
        cin>>N;
    }while(N<1);
 
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Sn";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Se";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S"<<endl;
    
    
    for (x=a; x<=b; x+=h)
    {
         double Sn=1;
         double a=1;
         double h=1;
         double log3=log(3);
        for (int i=1; i<=N; i++)
        {
            a=a*(Log3*x)/h;
            Sn=Sn+a;
            h=h+1;
        }
         double Se=1;
         double a=1;
         double h=1;
         double log3=log(3);
        for (int i=1; i<=N; i++)
        {
            a=a*(Log3*x)/h;
            Se=Se+a;
            h=h+1;
        }
        }while (fabs(a)>eps);
        Se*=2;
        double S= 3*x;
       cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<x;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Sn;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Se;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<S<<endl;
    }
    system("pause");
    return 0;
}
Миниатюры
Вычисление функций с использованием их разложения в степенной ряд  ощибки исправте пожалуйста  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2013, 22:12     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста
Посмотрите здесь:

Вычисление функций с использованием их разложения в степенной ряд C++
C++ Вычисление функций с использованием их разложения в степенной ряд
Вычисление функций с использованием их разложения в степенной ряд C++
C++ Вычисление функций с использованием их разложения в степенной ряд
Вычислить функции с использованием их разложения в степенной ряд. Функции и Перегрузка функций C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
03.01.2013, 22:16     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #2
отредактируйте сообщение используя тег кода

Добавлено через 2 минуты
а вы пытались компилировать код?
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
03.01.2013, 22:25  [ТС]     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #3
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x "; если вы про это количества слагаемых N 10 , а редактировать тег не знаю как я первый раз здесь, и не нашел функцию.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
03.01.2013, 22:38     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #4
в окощке где вводите сообщение сверху на сером фоне найдите С++ вставится автоматически тег кода и внутри него пишите код

Добавлено через 6 минут
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
 #include <iostream>
 #include <math.h>
 #include "windows.h"
 
 using namespace std;
 
double factorial(int n){
    double m = 1;
    for (int i = 1; i < n; i++) {
        m *= i ;
    }
    return m;
}
 
double element(double x,int n){
    return pow(log(3.)*x,n)/factorial(n);
};
 
 int main()
 {
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
     int n;
     double x;
     double sum = 0;
     cout << "Введите количество членов ряда " << endl;
     cin >> n;
     cout << "Введите значение x" << endl;
     cin >> x;
     for (int i = 0; i < n; i++) {
          sum += element(x,i);
          cout << i << " Элемент ряда равен "  << element(x,i) <<endl;
     }
     cout <<"Сумма ряда равна "<< sum <<endl;
     cout <<"Введите ошибку ряда" << endl;
     double err;
     cin >> err ;
     int i = 0 ;
     sum = 0;
     while (err < element(x,i) & i < n) {
            sum += element(x,i);
            cout << i << " Элемент ряда равен "  << element(x,i) <<endl;
            i++;
     }
     cout <<"Сумма ряда равна "<< sum <<endl;
     system("pause");
     return 0;
 }
мне ваш грубый код не понравился , вот можете воспользоватся моим
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
03.01.2013, 22:44  [ТС]     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #5
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
 
using namespace std;
 
int main()
{
cout <<setlocale(0, "Russian");
cout<<"66666"<<endl;
cout<<endl;
 
double a, b, eps, x, h,Z;
int N; //число слагаемых
do
{
cout<<"Введите начальное значение уравнения A: ";
cin>>a;
cout<<"Введите конечное значение уравнения B: ";
cin>>b;
}while(a>=b);
 
h=(b-a)/10; //вычисление шага
cout<<"Eps от 0.0001 до 0.1"<<endl;
 
do
{
cout<<"Введите eps: ";
cin>>eps;
}while(eps>0.10000 || eps<0.00010000); //0.0001 < eps < 0.1
 
do
{
cout<<"Введите кол-во слагаемых N: ";
cin>>N;
}while(N<1);
 
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x ";
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S n";
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S e";
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S "<<endl;
 
 
for (x=a; x<=b; x+=h)
{
double Sn=1;
double a=1;
double h=1;
double log3=log(3);
for (int i=1; i<=N; i++)
{
a=a*(Log3*x)/h;
Sn=Sn+a;
h=h+1;
}
double Se=1;
double a=1;
double h=1;
double log3=log(3);
for (int i=1; i<=N; i++)
{
a=a*(Log3*x)/h;
Se=Se+a;
h=h+1;
}
}while (fabs(a)>eps);
Se*=2;
double S= 3*x;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<x;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Sn ;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Se ;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<S< <endl;
}
system("pause");
return 0;
}
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
03.01.2013, 22:45     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #6
теги кода!! а то вас накажут
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
03.01.2013, 22:55  [ТС]     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #7
да здесь не получается а в другой теме получилось

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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
 
using namespace std;
 
int main()
{
cout <<setlocale(0, "Russian");
cout<<"66666"<<endl;
cout<<endl;
 
double a, b, eps, x, h,Z;
int N; //число слагаемых
do
{
cout<<"Введите начальное значение уравнения A: ";
cin>>a;
cout<<"Введите конечное значение уравнения B: ";
cin>>b;
}while(a>=b);
 
h=(b-a)/10; //вычисление шага
cout<<"Eps от 0.0001 до 0.1"<<endl;
 
do
{
cout<<"Введите eps: ";
cin>>eps;
}while(eps>0.10000 || eps<0.00010000); //0.0001 < eps < 0.1
 
do
{
cout<<"Введите кол-во слагаемых N: ";
cin>>N;
}while(N<1);
 
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x ";
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S n";
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S e";
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S "<<endl;
 
 
for (x=a; x<=b; x+=h)
{
double Sn=1;
double a=1;
double h=1;
double log3=log(3);
for (int i=1; i<=N; i++)
{
a=a*(Log3*x)/h;
Sn=Sn+a;
h=h+1;
}
double Se=1;
double a=1;
double h=1;
double log3=log(3);
for (int i=1; i<=N; i++)
{
a=a*(Log3*x)/h;
Se=Se+a;
h=h+1;
}
}while (fabs(a)>eps);
Se*=2;
double S= 3*x;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<x;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Sn ;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Se ;
cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<S< <endl;
}
system("pause");
return 0;
}
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
03.01.2013, 23:01     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #8
вначале надо нажать на С++ появится вот такое [CPP ][/CPP] и между ними вставляй код
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
03.01.2013, 23:08  [ТС]     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #9
Постановка задачи
Для х, изменяющегося от a до b (интервал [a ; b] целиком лежит внутри интервала, указанного в третьей колонке) с шагом , вычислить функцию y=f(x), используя ее разложение в степенной ряд (вторая колонка) в двух случаях:
а) для заданного количества слагаемых N (величина зависит от свойств степенного ряда, примерное значение N указано в четвёртой колонке);
б) для заданной точности э (близкое к нулю положительное число, например, 0.1, 0.01, 0.001, 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
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
 
using namespace std;
 
int main()
{
    cout <<setlocale(0, "Russian");
    cout<<"66666"<<endl;
    cout<<endl;
 
    double a, b, eps, x, h,Z;
    int N; //число слагаемых
    do
    {
        cout<<"Введите начальное значение уравнения A: ";
        cin>>a;
        cout<<"Введите конечное значение уравнения B: ";
        cin>>b;
    }while(a>=b);
    
    h=(b-a)/10; //вычисление шага
    cout<<"Eps от 0.0001 до 0.1"<<endl;
    
    do
    {
        cout<<"Введите eps: ";
        cin>>eps;
    }while(eps>0.10000 || eps<0.00010000); //0.0001 < eps < 0.1
 
    do
    {
        cout<<"Введите кол-во слагаемых N: ";
        cin>>N;
    }while(N<1);
 
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Sn";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Se";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S"<<endl;
    
    
    for (x=a; x<=b; x+=h)
    {
         double Sn=1;
         double a=1;
         double h=1;
         double log3=log(3);
        for (int i=1; i<=N; i++)
        {
            a=a*(Log3*x)/h;
            Sn=Sn+a;
            h=h+1;
        }
         double Se=1;
         double a=1;
         double h=1;
         double log3=log(3);
        for (int i=1; i<=N; i++)
        {
            a=a*(Log3*x)/h;
            Se=Se+a;
            h=h+1;
        }
        }while (fabs(a)>eps);
        Se*=2;
        double S= 3*x;
       cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<x;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Sn;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<Se;
        cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<S<<endl;
    }
    system("pause");
    return 0;
}
Добавлено через 5 минут
теперь главное чтоб помогли
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
03.01.2013, 23:09     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #10
Oleg5, так вы посмотрели мой код? потому что в вашем каша какаято )=
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2013, 23:16     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
03.01.2013, 23:16  [ТС]     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста #11
да вы когда сказали что между CSHARP / CSHARP ними ставить программу, понял, спасибо, надеюсь кто -то поможет у меня эта программа написана в кумире, а здесь загвоздка в с++ , только начал разбирать как решать вот 5 лабе тормазнулся
Yandex
Объявления
03.01.2013, 23:16     Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста
Ответ Создать тему
Опции темы

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