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

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

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

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

05.08.2012, 21:51. Просмотров 4182. Ответов 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. во вложений сама программа.
Миниатюры
расчет значения e^x(x это степень)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2012, 21:51     расчет значения e^x(x это степень)
Посмотрите здесь:

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
22514 / 10919 / 1774
Регистрация: 12.02.2012
Сообщений: 18,065
05.08.2012, 22:10     расчет значения e^x(x это степень) #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;
}
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2012, 22:12     расчет значения e^x(x это степень) #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;
}
Миниатюры
расчет значения e^x(x это степень)  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2012, 22:14     расчет значения e^x(x это степень)
Еще ссылки по теме:

Извлечь значения из std::vector<char>, трактуя каждый символ, как разряд числа, сформировать это число - C++
Доброго времени суток. Есть вектор char std::vector &lt; char &gt; VECT; Его содержимое, например VECT == 43 '+' VECT ==...

this это адресс объекта, а *this это сам объект. я всё правельно понял? - C++
this это адресс объекта, а *this это сам объект. я всё правельно понял?

Факториал! Для кого-то это легко, а кто-то вообще это не знает! - C++
Написать определение функции факториал которая возвращает факториал от полученного в качестве аргумента числа. Реализовать на С++ и...

Связанный список. Как это делается и зачем это нужно? - C++
Добрый день. Уже который день не могу понять эту тему. Гуглил, но понятнее от этого не стало. Кто-нибудь знает где найти понятный мануал?

нужно создать таблицу из 3 строк и 4 столбцов и заполнить её (любой информацией,это неважно) . Как это можно сделать ? - C++
Здравствуйте.У меня возникла проблема. Помогите пожалуйста!Модуль в понедельник , про таблицы ничего не рассказывали , а преподаватель...

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


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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2012, 22:14     расчет значения e^x(x это степень) #4
Kuanish, чтобы было понятно о чём речь почитай этот раздел
http://www.cyberforum.ru/faq/thread4...ml#post2452211
Yandex
Объявления
05.08.2012, 22:14     расчет значения e^x(x это степень)
Ответ Создать тему
Опции темы

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