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

Описать функцию находящую приближонное значение функции (1+x)^a - C++

Восстановить пароль Регистрация
 
Raikerian
9 / 9 / 1
Регистрация: 10.05.2011
Сообщений: 101
14.05.2012, 01:18     Описать функцию находящую приближонное значение функции (1+x)^a #1
Задача:
Описать функцию Power4(x,a,ξ) вещественного типа (параметры х, а, ξ - вещественные, |х|>1; a,ξ > 0), находящую приближенное значение функции (1+x)^a:
(1+x)^a = 1+a*x+a*(a-1)*x^2/(2!)+...+(a-n+1)*x^n/n!+...
В сумме учитыать все слагаемые, модуль которых больше ξ.
С помощью Power4 найти приближенное значение (1+х)^a для данных х и а при шести данных ξ.

Очень долго думал над задачей но никак не въезжаю, наработка следующая:
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
#include <iostream>
using namespace std;
double Power4(double x, double a, double e)
{
    double step = x,
           t_a = a,
           summ = 1+x*a,
           f = 1;
    int i = 2;
    while ((t_a*step/f)>=e)
    {
        step *= x;
        f *= i;
        t_a *= (a-i+1);
        summ += t_a*step/f;
        i++;
    }
    return summ;
}
int main()
{
    setlocale(LC_ALL, "");
    double x = 2,
           a = 0;
    while (fabs(x)>1)
    {
        cout << "Введите x (|x|<1): ";
        cin >> x;
    }
    while (a<=0)
    {
        cout << "Введите a (a>0): ";
        cin >> a;
    }
    double e1, e2, e3, e4, e5, e6;
    cout << "Введите 6 значений e (e>0):" << endl;
    cin >> e1 >> e2 >> e3 >> e4 >> e5 >> e6;
    cout << "при e = " << e1 << ":\t" << Power4(x,a,e1) << endl
         << "при e = " << e2 << ":\t" << Power4(x,a,e2) << endl
         << "при e = " << e3 << ":\t" << Power4(x,a,e3) << endl
         << "при e = " << e4 << ":\t" << Power4(x,a,e4) << endl
         << "при e = " << e5 << ":\t" << Power4(x,a,e5) << endl
         << "при e = " << e6 << ":\t" << Power4(x,a,e6) << endl;
    cin.sync();
    cin.get();
    return 0;
}
Запутался с ней уже в край, ничего в голову не приходит, ибо считает совершенно не правильно.
Просьба помочь

Добавлено через 10 часов 20 минут
Какие нибудь идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 01:18     Описать функцию находящую приближонное значение функции (1+x)^a
Посмотрите здесь:

Описать рекурсивную функцию целого типа, находящую число сочетаний из n элементов по m, используя формулу C++
C++ описать функцию cos1(x,eps) вещественного типа (параметры x,eps- вещественные,eps>0 ),находящую приближенное значение функции cos(x):
Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B C++
C++ Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле:
C++ Описать функцию DegToRad (D) вещественного типа,находящую величину угла в радианах
Описать функцию Exp1(x,eps) вещественного типа, находящую приближенное значение функции exp(x) C++
C++ Описать Функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах
Описать функцию, находящую величину A^B C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
14.05.2012, 02:34     Описать функцию находящую приближонное значение функции (1+x)^a #2
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
double Power4(double x, double a, double e)
 {
  double sum=0,s=1,fact=1;
  int n=1;
 
  while(fabs(s)>e)
  {
   sum+=s;
   fact*=n;
   s= (a-n+1)*pow(x,n)/fact;
   cout<<n<<"  "<<sum<<"+"<<s<<" = "<<sum+s<<endl;// тест
   n++;
  }
  return sum;
}
//-----------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
system("chcp 1251");
 
cout<<Power4(5.5,4.5,0.0001)<<endl;
 
system("pause");
return 0;
}
Только формула кажется не является приближенной
Миниатюры
Описать функцию находящую приближонное значение функции (1+x)^a  
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
15.05.2012, 01:14     Описать функцию находящую приближонное значение функции (1+x)^a #3
(1+x)^a возрастает, а

1+a*x+a*(a-1)*x^2/(2!)+...+(a-n+1)*x^n/n!+... убывает

Что говорить что задание неправильное
Yandex
Объявления
15.05.2012, 01:14     Описать функцию находящую приближонное значение функции (1+x)^a
Ответ Создать тему
Опции темы

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