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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.90
Opiym
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
#1

Вычисление суммы бесконечного ряда (ряд Тейлора) - C++

04.11.2009, 18:36. Просмотров 6266. Ответов 44
Метки нет (Все метки)

Люди, если у кого есть время, прошу помочь с решением задачи ! Решение задачи должно быть на C !
http://xmages.net/out.php/i609131_Zadacha.gif
http://xmages.net/out.php/i609134_Uslovie.gif
Заранее благодарю !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2009, 18:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление суммы бесконечного ряда (ряд Тейлора) (C++):

Вычисление суммы бесконечного ряда - C++
Никак не вычисляются значения, что делаю не так? #include <iostream> #include<stdio.h> #include<conio.h> #include<math.h> ...

Вычисление суммы бесконечного ряда - C++
Помогите решить задачу нужна найти сумму бесконечного ряда с точностью E=0.0001 S=-x^1/1-x^2/2-x^3/3-x^4/4-... |x|<1 сравнить...

Вычисление суммы бесконечного ряда - C++
помогите написать программу

Вычисление суммы бесконечного ряда - C++
Составить программу для вычисления суммы бесконечного ряда с погрешностью \varepsilon ={10}^{-4} \sum_{k-1}^{}{u}_{k} Процесс...

Вычисление значения суммы бесконечного ряда - C++
Здравствуйте. Необходимо вычислить значения суммы бесконечного ряда с заданной точностью. Но формулу в атаче я не понимаю, прошу вашей...

Вычисление суммы бесконечного ряда. Конвертация из паскаля в с++ - C++
Помогите пожалуйста переделать задачу с паскаля на с++, спасибо:) var x,s,u,uk,t,e:real; k:integer; begin x:=0.95; e:=0.001; ...

44
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
04.11.2009, 20:21 #31
Цитата Сообщение от Opiym Посмотреть сообщение
Объясни sl=pow(x-1,n)/x; ??? )))
это я подумал и присвоил первому значению sl значение выражения при формуле при n=0

Добавлено через 2 минуты
стоп, тогда вообще надо sl=(x-1)/x

Добавлено через 40 секунд
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
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream.h>
 
void main ()
{
        float y, x, eps=1e-8, sl, S;
        int n;
        clrscr();
        scanx:
        printf("input x=");
        scanf("%f",&x);
        if(x<=1./2.)
        {
        printf("x<=1./2. error!\n");
        goto scanx; 
        }
        printf("   x\tn\tS\t\t  y\n\n");
        S=0;
        sl=(x-1.)/x;
        n=0;
        do
        {
            sl=sl*((pow(x-1,n+1)*pow(x,n-1)*(n+1))/(n+2));
            S=S+sl;
            n++;
        }
        while (fabs(sl)>eps);
        y=log(x);
        printf("%4.2f\t%d\t%10.8f\t%11.8f\n", x, n, S, y);
        cin.get();
}
Добавлено через 11 секунд
попробуй этот код

Добавлено через 1 минуту
наверно опять не то, может 0е значение реккурентной формулы попробовать?

Добавлено через 1 минуту
sl=((x-1)*pow(x,-1))/2) попробуй
0
Opiym
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 20:25  [ТС] #32
У меня мозг уже отказывает ! ))
0
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
04.11.2009, 20:26 #33
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<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream.h>
 
void main ()
{
        float y, x, eps=1e-8, sl, S;
        int n;
        clrscr();
        scanx:
        printf("input x=");
        scanf("%f",&x);
        if(x<=1./2.)
        {
        printf("x<=1./2. error!\n");
        goto scanx; 
        }
        printf("   x\tn\tS\t\t  y\n\n");
        n=1;
        S=sl=((x-1.)*pow(x,n-1))/2;
        do
        {
            sl=sl*((pow(x-1,n+1)*pow(x,n-1)*(n+1))/(n+2));
            S=S+sl;
            n++;
        }
        while (fabs(sl)>eps);
        y=log(x);
        printf("%4.2f\t%d\t%10.8f\t%11.8f\n", x, n, S, y);
        cin.get();
}
0
Opiym
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 20:28  [ТС] #34
Что такое sl вообще ? Я запутался !
0
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
04.11.2009, 20:32 #35
Цитата Сообщение от Opiym Посмотреть сообщение
Что такое sl вообще ? Я запутался !
sl - это выражение, которое стоит внутри автосуммы, в твоем условии - это как после второго равно, где почленно расписана сумма

Добавлено через 2 минуты
и каждый раз она считает следующий член, получая его из предидущего. Вот чтобы получить второй член - нужно первый умножить на реккурентную формулу. Вот мы получили второй член выражения и прибавили его к сумме, затем повторяем цикл, получая из второго члена третий, который прибавляем опять к сумме и т.д.
0
Opiym
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 20:40  [ТС] #36
Я взял S=0;
sl=(x-1.)/x;
n=0;
0
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
04.11.2009, 20:43 #37
Цитата Сообщение от Opiym Посмотреть сообщение
Я взял S=0;
sl=(x-1.)/x;
n=0;
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<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream.h>
 
void main ()
{
        float y, x, eps=1e-8, sl, S;
        int n;
        clrscr();
        scanx:
        printf("input x=");
        scanf("%f",&x);
        if(x<=1./2.)
        {
        printf("x<=1./2. error!\n");
        goto scanx; 
        }
        printf("   x\tn\tS\t\t  y\n\n");
        n=1;
        S=sl=((x-1.)*pow(x,n-1))/2;
        do
        {
            sl=sl*((pow(x-1,n+1)*pow(x,n-1)*(n+1))/(n+2));
            S=S+sl;
            n++;
        }
        while (fabs(sl)>eps);
        y=log(x);
        printf("%4.2f\t%d\t%10.8f\t%11.8f\n", x, n, S, y);
        cin.get();
}
такведь это правильнее будет
0
Opiym
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 20:45  [ТС] #38
А результат S отрицательным разве должен получаться ???
0
Iworb
анимешник++
93 / 60 / 2
Регистрация: 03.11.2009
Сообщений: 413
04.11.2009, 20:46 #39
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
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream.h>
 
void main ()
{
        float y, x, eps=1e-8, sl, S;
        int n;
        clrscr();
        scanx:
        printf("input x=");
        scanf("%f",&x);
        if(x<=1./2.)
        {
        printf("x<=1./2. error!\n");
        goto scanx; 
        }
        printf("   x\tn\tS\t\t  y\n\n");
        S=sl=((x-1.)*pow(x,n-1))/2;
        for(n=1;fabs(sl)<eps;n++)
        {
            sl=sl*((pow(x-1,n+1)*pow(x,n-1)*(n+1))/(n+2));
            S=S+sl;
        }
        y=log(x);
        printf("%4.2f\t%d\t%10.8f\t%11.8f\n", x, n, S, y);
        cin.get();
}
можно и так

Добавлено через 33 секунды
Цитата Сообщение от Opiym Посмотреть сообщение
А результат S отрицательным разве должен получаться ???
может и отрицательный получаться и положительный.

Добавлено через 1 минуту
так, все, ушел. Bye!
1
Opiym
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 20:49  [ТС] #40
Спасибо ! Пока !
0
MiSTiK
15.12.2009, 19:43 #41
Помогите люди с этим делом. ПОЖАЙЛУСТА
Составить программу, вычисляющую с точностью eps сумму заданного ряда. Примечание: вычислить сумму ряда с точностью eps значит завершить суммирование членов ряда тогда, когда очередной член ряда окажется меньше eps по абсолютной величине.
Заранее благодарен!!!Вычисление суммы бесконечного ряда (ряд Тейлора)
MiSTiK
15.12.2009, 20:09 #42
1.Варианты заданий:
Написать программу вычисления значения заданной функции в зависимости от значения неизвестной переменной, определяемой пользователем приложения (вводятся пользователем с клавиатуры).
Вычисление суммы бесконечного ряда (ряд Тейлора)

2.Составить программу для определения таблицы значений функции Y в заданном диапазоне изменения аргумента с заданным шагом (см. исходные данные). Таблица должна содержать следующие столбцы: порядковый номер, значение аргумента, значение функции. Определить максимальное и минимальное значения функции
Вычисление суммы бесконечного ряда (ряд Тейлора)

3.Переписать программу №2 «Табулирование значений
функций» с использованием пользовательской функции С++. Таблицу значений функции Y
вывести не на экран монитора, а в текстовой файл «out.txt».

4.С помощью датчика случайных чисел сформировать два массива X и Y
размерностью 100 и 200 чисел в диапазоне от 0 до 1 и от 0 до 10 соответственно. По массиву
Х - найти самый большой элемент и вывести его и его номер на экран, по массиву Y - самый
маленький.

5.В соответствии с поставленной задачей разработать графическую схем алгоритма,
составить программу и отладить ее в среде С++, подготовить отчет, ответить на контрольные
вопросы и защитить лабораторную работу перед преподавателем.
Вычисление суммы бесконечного ряда (ряд Тейлора)
red_koyot
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 11
09.06.2010, 19:52 #43
Цитата Сообщение от Opiym Посмотреть сообщение
Что такое pow ???
Ошибку в 17-ой строке выдаёт !
подключи библиотеку math.h
0
DocHarly
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 12
28.04.2012, 16:24 #44
возведение в степень
0
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
29.07.2012, 12:55 #45
Подскажите пожалуйста на 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
29
30
31
32
33
34
#include<conio.h>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<iostream>
using namespace std; 
void main ()
{
    
        float y, x, eps=1e-8, sl, S;
        int n;
        
        scanx:
        printf("input x=");
        scanf("%f",&x);
        if(x<=1./2.)
        {
        printf("x<=1./2. error!\n");
        goto scanx; 
        }
        printf("   x\tn\tS\t\t  y\n\n");
        n=1;
        S=sl=((x-1.)*pow(x,n-1))/2;
        for(n=1;fabs(sl)<eps;n++)
        {
            sl=sl*((pow(x-1,n+1)*pow(x,n-1)*(n+1))/(n+2));
            S=S+sl;
        }
        y=log(x);
        printf("%4.2f\t%d\t%10.8f\t%11.8f\n", x, n, S, y);
        system("pause");
        cin.get();
        
}
Заранее огромное спасибо.

Добавлено через 12 минут
Как сделать, чтобы n можно было вводить с клавиатуры???? Заранее огромное спасибо.
0
29.07.2012, 12:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2012, 12:55
Привет! Вот еще темы с ответами:

Вычисление суммы бесконечного ряда с точностью эпсилон - C++
Работает но выдает ошибку. если возможно подскажите. условие запрограммировать вычисление суммы бесконечного ряда с точностью...

Не могу найти ошибку(Вычисление суммы бесконечного ряда) - C++
помогите найти ошибку! #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { ...

Вычисление приближенного значения tan(x) через ряд Тейлора/ряд Маклорена - C++
Привет, CF. Задача: Вычисление приближенного значения tan(x) через ряд Тейлора/ряд Маклорена Проблема: не совпадают результаты...

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


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

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

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