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

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

Войти
Регистрация
Восстановить пароль
 
nikitosina
0 / 0 / 0
Регистрация: 06.08.2013
Сообщений: 17
#1

Вычисление математической функции exp(x) - C++

14.08.2013, 11:27. Просмотров 579. Ответов 4
Метки нет (Все метки)

составил алгоритмы:
алг Общ (арг вещ Х, арг цел N, рез вещ S)
нач
| если N = 0
| | то S:=1
| | иначе S:=Общ(X, N-1)*X/N
| все
кон

алг Эксп (арг вещ Х, арг цел N, рез вещ F)
нач
| если N = 0
| | то F:=Общ(X, N)
| | иначе F:=Эксп(X, N-1) + Общ(X, N)
| все
кон

алг
нач
| А:=Эксп(0.5, 16)
| вывод А
кон

....
по этим алгоритмам надо код составить, но у меня в свете плохого владения C++ это не получается (точнее очень и очень тяжко получается, поэтому за помощью и обращаюсь). Задание само такое: составить алгоритм вычисления exp(x) действительного аргумента X с точностью эпсилон и использованием рекурсии. Я знаю, что должно быть три части кода: подсчет факториала, подсчет экспоненты и помимо всего сам Main. И я понимаю, что должно идти разложение через ряд Тэйлора (а точнее Маклорена, но не суть). Помогите, пожалуйста.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2013, 11:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление математической функции exp(x) (C++):

Проверьте пожалуйста правильный ли следующий код: вычисление exp(x) и exp(-x) - C++
Всем доброго время суток! Проверьте пожалуйста правильный ли следующий код exp(x): #include <cmath> #include <iostream> ...

Вычисление exp с заданной точностью - C++
Помогите написать код на Си, вычисление {\exp (x)}^{2} с заданной точностью \varepsilon =0.01, x=2. Заранее благодарен.

Вычисление exp в ряд Тейлора - C++
Здравствуйте! кто - нибудь подскажите пожалуйста формулу разложения e^(x) для вычисления функции в ряд тейлора

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

Вычисление значения математической формулы введённой через консколь - C++
Через консоль я заполняю массив char какой-то неизвестной заранее формулой, например 2+2. Так вот как мне посчитать значение этой формулы?...

Графическое оформление функции Y=A*EXP(X) - C++
Здравствуйте, сделал функцию с горем пополам Y=a*exp(x) вышла коряво но строит навроде правильно теперь остался вопрос с графическим...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Hugra
48 / 48 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
14.08.2013, 11:31 #2
Цитата Сообщение от nikitosina Посмотреть сообщение
составил алгоритмы:
алг Общ (арг вещ Х, арг цел N, рез вещ S)
нач
| если N = 0
| | то S:=1
| | иначе S:=Общ(X, N-1)*X/N
| все
кон

алг Эксп (арг вещ Х, арг цел N, рез вещ F)
нач
| если N = 0
| | то F:=Общ(X, N)
| | иначе F:=Эксп(X, N-1) + Общ(X, N)
| все
кон

алг
нач
| А:=Эксп(0.5, 16)
| вывод А
кон

....
по этим алгоритмам надо код составить, но у меня в свете плохого владения C++ это не получается (точнее очень и очень тяжко получается, поэтому за помощью и обращаюсь). Задание само такое: составить алгоритм вычисления exp(x) действительного аргумента X с точностью эпсилон и использованием рекурсии. Я знаю, что должно быть три части кода: подсчет факториала, подсчет экспоненты и помимо всего сам Main. И я понимаю, что должно идти разложение через ряд Тэйлора (а точнее Маклорена, но не суть). Помогите, пожалуйста.
Что такое "рез вещ"?
0
nikitosina
0 / 0 / 0
Регистрация: 06.08.2013
Сообщений: 17
14.08.2013, 11:32  [ТС] #3
Hugra, вещественный результат
0
Ch1or
76 / 17 / 1
Регистрация: 03.02.2013
Сообщений: 52
14.08.2013, 11:52 #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
44
45
46
47
48
49
//#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <conio.h>
using namespace std;
// составил алгоритмы:
//алг Общ (арг вещ Х, арг цел N, рез вещ S)
//нач
//| если N = 0
//| | то S:=1
//| | иначе S:=Общ(X, N-1)*X/N
//| все
//кон
//
//алг Эксп (арг вещ Х, арг цел N, рез вещ F)
//нач
//| если N = 0
//| | то F:=Общ(X, N)
//| | иначе F:=Эксп(X, N-1) + Общ(X, N)
//| все
//кон
//
//алг
//нач
//| А:=Эксп(0.5, 16)
//| вывод А
//кон
 
int Obj (float X,int N)
{
    if (N == 0)
        return 1;
    else
        return Obj(X, N-1)*X/N;
}
 
int Exp (float X, int N)
{
    if(N == 0)
        return Obj(X, N);
    else
        return Exp(X, N-1) + Obj(X, N);
}
 
void main ()
{
    float A = Exp(0.5, 16);
    cout << "A = "<<A<<endl;
}
Вроде работает. После отработки выводит "1".
0
Вложения
Тип файла: rar console.rar (9.7 Кб, 4 просмотров)
Hugra
48 / 48 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
14.08.2013, 12:03 #5
Цитата Сообщение от Ch1or Посмотреть сообщение
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
//#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <conio.h>
using namespace std;
// составил алгоритмы:
//алг Общ (арг вещ Х, арг цел N, рез вещ S)
//нач
//| если N = 0
//| | то S:=1
//| | иначе S:=Общ(X, N-1)*X/N
//| все
//кон
//
//алг Эксп (арг вещ Х, арг цел N, рез вещ F)
//нач
//| если N = 0
//| | то F:=Общ(X, N)
//| | иначе F:=Эксп(X, N-1) + Общ(X, N)
//| все
//кон
//
//алг
//нач
//| А:=Эксп(0.5, 16)
//| вывод А
//кон
 
int Obj (float X,int N)
{
    if (N == 0)
        return 1;
    else
        return Obj(X, N-1)*X/N;
}
 
int Exp (float X, int N)
{
    if(N == 0)
        return Obj(X, N);
    else
        return Exp(X, N-1) + Obj(X, N);
}
 
void main ()
{
    float A = Exp(0.5, 16);
    cout << "A = "<<A<<endl;
}
Вроде работает. После отработки выводит "1".
Возвращаемое значение на float еще изменить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2013, 12:03
Привет! Вот еще темы с ответами:

Вычислить значение функции exp(x) с точностью 0.001 (разложение в ряд Тейлора) - C++
вычислить значение функции exp(x) с точностью 0.001, разложив функцию в ряд Тейлора где ошибка не подскажите? вычисляет не верно.......

Приближенно вычислить интеграл от функции y=exp(-x) в заданном интервале, используя формулу прямоугольников - C++
Выручите пожалуйста! Необходимо написать прогу на экзамен в крайне короткие сроки(желательно до завтра) Задание - Приближенно вычислить...

Описать функцию Exp1(x,eps) вещественного типа, находящую приближенное значение функции exp(x) - C++
помогите,пожалуйста, с задачей. знаю, что вопрос неоднократно поднимался, просматривал похожие темы, но многие дают приближенное значение с...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.08.2013, 12:03
Ответ Создать тему
Опции темы

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