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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.77
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
#1

расчет значения e^x(x это степень) - C++

05.08.2012, 21:51. Просмотров 4728. Ответов 3
Метки нет (Все метки)

есть задача,в котором нужно рассчитать значение e^x. Проблема в том что я даже понятие не имею что это такое это экспоненто в степени x. Но, недавно написал программу которая высчитывает экспоненту по факториалу. Вот сама программа:
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
// программа для высчитывания мат. константы - е
#include <iostream>
#include <locale.h>
 
using namespace std;
 
int main()
{   
    setlocale(LC_ALL, "RUS");
 
    int n = 1, f;
    float e = 1;
 
    while (n != 10)
    {
        
        float summa = 0;
 
        f = n;
 
        for (int a = 1; a < n; a++)
            f *= (n - a);
 
        summa = (float)1/f;
        e += summa;
        cout << e << endl;
        n++;
    }
 
    cout << "значение мат. константы е = " << e <<endl;
    
    system("pause");
    
    return 0;
}
Просьба: помогите, пожалуйста, написать программу которая высчитывает значение экспоненты в степени х. ОГРОМНАЯ просьба: "исправьте", пожалуйста, мою программу, без огромных изменений, а то боюсь что не пойму другую совсем новую программу )
p.s. во вложений сама программа.
0
Миниатюры
расчет значения e^x(x это степень)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2012, 21:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос расчет значения e^x(x это степень) (C++):

Расчет значения многочленов и их степень - C++
Уважаемые эксперты, подскажите пожалуйсто, как по ряду Тейлора : 2*х+х3/3+x5/5+...+x2n+1/(2n+1)+... расчитать значение многочленов и их...

Расчет значения экспоненты - C++
Есть задача, где требуется вычислить мат. константу е, по формуле е = 1 + 1/0! + 1/1! + 1/2! + 1/3! + ..., и тут в форуме я нашел что-то...

Расчет значения функции по введенному значению и графику - C++
Нужна помощь с программой по данному графику.Нужно написать программу для расчета значения функции у по введенному значению х, если задан...

Даны три действительные числа. Возвести в квадрат те из них, значения которых неотрицательны, и в четвертую степень - отрицательные - C++
Даны три действительные числа. Возвести в квадрат те из них, значения которых неотрицательны, и в четвертую степень - отрицательные.

Вычислить 10-ю степень двойки сложением, умножением и просто возведением в степень. - C++
Написать код на С++ или С# или на Java Вычислить 10-ю степень двойки 1 - сложением, умножением и просто возведением в степень.

Почему выводит адреса, а не значения? Это часть программы - C++
Лабораторная работа, должны выводиться значения массива, но выводятся адреса

3
Catstail
Модератор
22902 / 11268 / 1831
Регистрация: 12.02.2012
Сообщений: 18,479
05.08.2012, 22:10 #2
Твоя программа "не лечится"... Давай разберемся: ex - это сумма бесконечного ряда вот такого вида: 1+x+x2/2+x3/(2*3)+x4/(2*3*4)+...

n-й член этой бесконечной суммы это xn/(n!) n!=1*2*3*...*n - произведение чисел от 1 до n.

Что значит "сумма бесконечного ряда"? Абсолютно точно ее вычислить нельзя (т.к. нужно будет бесконечное время). Но если ряд сходится, то можно остановить суммирование, когда очередной член ряда не станет меньше наперед заданного числа. Это и будет результатом.

Теперь о том, как считать. Обрати внимание,что если разделить (n+1)-й член ряда на n-й, то получится
x/(n+1). Теперь правильный программный код:

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
#include "iostream.h"
#include "math.h"
 
double exp_(double x,double eps) // расчет e^x с точностью eps
{
    double s=1;  // сумма ряда
    double n=1; // нач. n
    double a=1; // первый член ряда
    while (1)     // беск. цикл
    {
        a=a*x/n;  // вычисляем следующий член ряда
        if (fabs(a) <= eps) break; // если точность достигнута - выход
        s=s+a;     // прибавим к сумме очередной член
        n++;        // увеличим n
    }
    return s; // когда вышли из цикла - вернем результат
}
 
int main(int argc, char* argv[])
{
    double x;
        cout.precision(13); // точность при печати
    cout << "Enter x "; // просим ввести x
    cin >> x;              // вводим
    cout << "exp(" << x << ")=" << exp_(x,1e-14) << endl; // вычисляем и печатаем
    return 0;
}
1
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2012, 22:12 #3
Итератор
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n} = \frac{{x}^{n}}{n!}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n + 1} = \frac{{x}^{n + 1}}{(n + 1)!}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{n + 1}}{{a}_{n}} =\frac{ \frac{{x}^{n + 1}}{(n + 1)!}}{ \frac{{x}^{n}}{n!}} = \frac{x}{n + 1}
Сам код
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 <cmath>   //Будем испоользовать для проверки наших подсчётов
#include <iomanip>
#include <iostream>
using namespace std;
 
double Texp(double x, double eps)
{
    double sum = 1;
    double an  = x;
    for(double n = 1; eps < fabs(an); n = n + 1)
    {
        sum += an;
        an  *= x/(n + 1);
    }
    return sum;
}
 
int main()
{
    double xn, xk, dx;//Пределы и шаг аргумента
    double eps;//Погрешность вычислений
    cout<<"xn = ";cin>>xn;
    cout<<"xk = ";cin>>xk;
    cout<<"dx = ";cin>>dx;
    cout<<"eps= ";cin>>eps;
    cout<<"   x\t| Texp(x)\t| cmath\n";
    for(double x = xn; x <= xk; x = x + dx)
        cout<<x<<"\t| "
            <<setprecision(6)<<Texp(x, eps)<<"\t| "
            <<setprecision(6)<<exp(x)<<endl;
    return 0;
}
1
Миниатюры
расчет значения e^x(x это степень)  
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2012, 22:14 #4
Kuanish, чтобы было понятно о чём речь почитай этот раздел
http://www.cyberforum.ru/faq/thread436065.html#post2452211
0
05.08.2012, 22:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2012, 22:14
Привет! Вот еще темы с ответами:

Написать программу с функцией, вычисляющей целую степень дробного числа. Учесть,что степень может быть положительной, отрицательной, нулевой - C++
Написать программу с функцией, вычисляющей целую степень дробного числа. Учесть,что степень может быть положительной, отрицательной,...

Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. - C++
День добрый товарищи специалисты, помогите пожалуйста с примером m=((1/n)*\sum_{i=1}^{n}{x}_{i}){}^{2}-\sum_{i=1}^{n}{x}_{i} ,n=5 ф-ция...

как соединить b и с в число, если а это число, б это десятки перевернутого числа, с это единицы перевернутого числа вот в это строчке c=a+b,c; - C++
как соединить b и с в число, если а это число, б это десятки перевернутого числа, с это единицы перевернутого числа вот в это строчке...

Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++. - C++
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.


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

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

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