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

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

Восстановить пароль Регистрация
 
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
07.02.2013, 19:10     функция с разложением в степенной ряд #1
помогите найти пожалуйста ошибку
Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях:
а) для заданного n;

б) для заданной точности E (E=0.0001).
Для сравнения найти точное значение функции.

y=sin(x) ; n=10 ; 0,1 < x < 1 ; S= x-x3/3! + ... + (-1)n*x2n+1/(2n+1)!
то есть шаг получается равен (b-a)/k (1-0.1)/10 = 0.09
получается что SN должно быть равно SE.

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
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double a, b, x, SN, SE,Y;
    int i,j,n;
    for(x=0.1; x<=1; x+=0.09)
    {
        n=10;       
        Y=sin(x);   //высчитываем функцию синус на каждом шаге
        a=x;        
        SN=x;       
        for(i=1;i<=n;i++)
        {
            b=(-a*pow(x,2))/(2*i+2)*(2*i+3);//член степенного ряда
            SN+=b;//вычисляем сумму ряда с учетом заданного n
            a=b;
        }
        j=1;
        a=x;        
        SE=x;
        do
        {
            b=(-a*pow(x,2))/(2*j+2)*(2*j+3);
            j++;
            if(j==10) 
                break;
            SE+=b;//вычисляем сумму ряда с учетом заданной точности
            a=b;
        }
        while (b<0.0001);//пока член ряда будет меньше заданного = 0.0001
        cout<<"X="<<x<<"\t";
        cout<<"  SN="<<SN<<"\t";
        cout<<"  SE="<<SE<<"\t";
        cout<<"  Y="<<Y<<endl;
    }
    system("pause");
    return 0;
  }
Добавлено через 1 час 21 минуту
и еще если можно объясните
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//Функция транспонирования матрицы
int** TranspMatr (int **Matr1, int& n, int& m)
{
    int **tMatr = MemMatr(m,n);//выделяем память для транспонированной матрицы
    
    for (int i = 0; i<m; i++) //проходим по строкам
        for (int j=0; j<n; j++) // проходим по столбцам
            tMatr[i][j] = Matr1[j][i]; // заменяем столбцы на строки и наоборот(транспонируем)
    int temp = n; //
    n = m;          //а это для чего?
    m = temp;     //
 
    return tMatr;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 19:10     функция с разложением в степенной ряд
Посмотрите здесь:

C++ Вычисление ln(1 + x) разложением в ряд
Степенной ряд C++
Вычисление функции,разложением ее в ряд C++
ВЫчислить exp(-x) разложением в ряд C++
Вычисление ch(x) разложением в ряд C++
Вычисление функций разложением в степенной ряд C++
Функция вычисляющая экспоненту разложением в ряд Тейлора C++
C++ Вычисление функций разложением в ряд

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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