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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Безбашенное
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 13
#1

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

03.01.2013, 00:55. Просмотров 1774. Ответов 10
Метки нет (Все метки)

ошибки :
не возвращает 0, ругается на i...помогите исправить
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>
using namespace std;
 
double atan(int n, double x)
{
    
for (register int i=0; i<= n ;i++)
    double atan = 0;
    atan+=(pow((-1),i)/(2*i+1))*pow(x,2*i +1);
 
    return 0;
}
 
 
void main()
{
    setlocale(LC_ALL, "Russian");
    long acot; int n; double x;
    cout<< "введите n";
    cin>> n;
    cout << "введите x";
    cin>> x;
    if (abs(x)>1) cout<< "некорректное значение X"; 
    acot=atan(n,x)+2*atan(n,1);
    cout<<"arcctg"<<x<<"="<<acot;
    return ;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2013, 00:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление арккотангенса через арктангенс, разложенный в степенные ряды (C++):

ArcSec через степенные ряды - C++
Программа предназначена для вычисления ArcSec, но почему-то результат выдает не тот который нужно, помогите подправить((( #include...

Вычислить арктангенс через разложение в ряде Тейлора - C++
Алгоритм вроде верный,но есть две ошибки,которые не могу решить. Вот код: #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...

Есть ли в С++ функция арккотангенса? - C++
Не могу найти в С++ библиотечной функции арккотангенса. Остальные все есть- арксинус, арккосинус, арктангенс и т.п., а вот арккотангенса...

Косинус от экспоненты в степени х через ряды Тейлора - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #define eps 0.000000000000000000000000000000001 #define PI 3.141592654 using namespace...

Степенные ряды - Математический анализ
Помогите, пожалуйста решить задачи по степенным рядам. Заранее спасибо) Задача 1 Найти интервал и радиус сходимости степенного ряда и...

Степенные ряды - Математический анализ
Задача 2 Получить несколько первых членов разложения функции f(x) в ряд по степеням (х-{x}_{0}), пользуясь формулой Тейлора для подсчета...

10
-=ЮрА=-
Заблокирован
Автор FAQ
03.01.2013, 01:49 #2
Цитата Сообщение от Безбашенное Посмотреть сообщение
double atan = 0;
* * atan+=(pow((-1),i)/(2*i+1))*pow(x,2*i +1);
- кто даёт переменным служебные имена?atan это имя функции из cmath почему то мы не пишем double sqrt = pow(2,.5) ну а почему тогда atan такая участь постигла?

Цитата Сообщение от Безбашенное Посмотреть сообщение
register int
- это что за тип такой register?
Цитата Сообщение от Безбашенное Посмотреть сообщение
double atan(int n, double x)
- функция и возврат нуля
Цитата Сообщение от Безбашенное Посмотреть сообщение
return 0;
- это вообще ни в какие ворота.
Мэйн тоже плох...
Могу посоветовать прочесть http://www.cyberforum.ru/faq/thread436065.html#post2449607
ниже будут коды копипаста и по разложениям в ряд Тейлора...
0
HighPredator
5545 / 1858 / 346
Регистрация: 10.12.2010
Сообщений: 5,444
Записей в блоге: 2
03.01.2013, 02:07 #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
это что за тип такой register
Это не тип. Это рекомендация компилятору разместить переменную данного типа в машинном регистре. Такое применяют для ускорения циклов.
0
-=ЮрА=-
03.01.2013, 03:13
  #4

Не по теме:

HighPredator, спасибо, но я вообще-то адресовал свой вопрос автору темы. Так вот да будет всем известно, что register это рекомендация такая же как inline и компилятор может просто игнорировать спецификатор register и обрабатывать переменную как обычно

0
Безбашенное
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 13
03.01.2013, 03:14  [ТС] #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
кто даёт переменным служебные имена?atan это имя функции из cmath почему то мы не пишем double sqrt = pow(2,.5) ну а почему тогда atan такая участь постигла?
библиотека стандартных математических функций не подключена, так что компилятору без разницы) но впредь постараюсь больше так не делать.

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
функция и возврат нуля
а, да. туплю.
исправила на возвращение значения atan , пишет - тип возвращаемого значения не соответствует типу функции.
не будем пока принимать во внимание моё не понимание степенных рядов, мне бы с ошибками компиляции разобраться....
0
-=ЮрА=-
Заблокирован
Автор FAQ
03.01.2013, 03:24 #6
Цитата Сообщение от Безбашенное Посмотреть сообщение
библиотека стандартных математических функций не подключена, так что компилятору без разницы)
- да неужели?У вас функция
Цитата Сообщение от Безбашенное Посмотреть сообщение
double atan(int n, double x)
и переменная
Цитата Сообщение от Безбашенное Посмотреть сообщение
double atan = 0;
- хуже придумать просто невозможно
В остальном повторюсь код плох и править его не могу - мозг просто отказывается исправлять, если напишите формулу разложения напишу код подобный этому
Вычисление функций с использованием их разложения в степенной ряд

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Могу посоветовать прочесть http://www.cyberforum.ru/faq/thread4...ml#post2449607
вобще то я не воздух сотрясал - там материал который способен научить, ну ладно не хотите как хотите...

0
Безбашенное
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 13
03.01.2013, 03:28  [ТС] #7
Да поняла уже, что фигню нагородила
0
-=ЮрА=-
03.01.2013, 03:35
  #8

Не по теме:

Безбашенное, я отвечал не с целью вас унизить или ещё что либо а с целью помощи, повторюсь

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
если напишите формулу разложения напишу код подобный этому
пока я просто предлагаю свою помощь, вот

0
Безбашенное
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 13
03.01.2013, 04:07  [ТС] #9
Задание:
Реализовать вычисление arcctg до заданного знака после десятичной точки e через степенные ряды, не прибегая к использованию стандартных библиотечных функций.

http://www.cyberforum.ru/cgi-bin/latex.cgi?arctg=\sum_{n=0}^{\propto }  ((-1)^n/(2n+1))*x ^(2n+1)

arcctg x = arctg( x) + 2*arctg( 1)

Добавлено через 1 минуту
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
пока я просто предлагаю свою помощь, вот
Ваша помощь мне очень пригодится)

Добавлено через 2 минуты
там Х^(2n+1)
0
-=ЮрА=-
Заблокирован
Автор FAQ
03.01.2013, 04:41 #10
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n} = {(-1)}^{n}*\frac{{x}^{2*n + 1}}{2*n + 1}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n + 1} = {(-1)}^{n + 1}*\frac{{x}^{2*(n + 1) + 1}}{2*(n + 1) + 1}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{n + 1}}{{a}_{n}} = \frac{{(-1)}^{n + 1}*\frac{{x}^{2*(n + 1) + 1}}{2*(n + 1) + 1}}{{(-1)}^{n}*\frac{{x}^{2*n + 1}}{2*n + 1}} = (-1)*{x}^{2}*\frac{2*n + 1}{2*n + 3}
Чтобы далеко не ходить лишь немножко подправляю код
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Вычисление функций с использованием их разложения в степенной ряд
и использую его для нахождения арктангенса, арккотангенс уже за вами
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 <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
 
double S(double x, double err, double &n)
{
    double an  = x;
    double sum = 0;
    for(n = 0; err < fabs(an); n = n + 1)
    {
        sum += an;
        an  *= (-1)*x*x*(2*n + 1)/(2*n + 3.0);
    }
    return sum;
}
 
int main()
{
    double xn, xk, dx, s, n;
    cout<<"xn = ";cin>>xn;
    cout<<"xk = ";cin>>xk;
    cout<<"dx = ";cin>>dx;
    cout<<"|  x  |  Sum  |atan(x)| n |\n";
    for(double x = xn; x <= xk; x = x + dx)
    {
        s = S(x, 1E-4, n);
        cout<<setw(5)<<setprecision(3)<<x<<" | "
            <<setw(5)<<setprecision(3)<<s<<" | "
            <<setw(5)<<setprecision(3)<<atan(x)<<" | "
            <<n<<endl;
    }
    system("pause");//Для CodeBlocks добавить в инклуды <cstdlib>
    return 0;
}
0
Миниатюры
Вычисление арккотангенса через арктангенс, разложенный в степенные ряды  
-=ЮрА=-
Заблокирован
Автор FAQ
03.01.2013, 04:47 #11
В заключение проверка в codpad.org
http://codepad.org/QlnjbdNx
Output:
xn = xk = dx = | x | Sum |atan(x)| n |
0.2 | 0.197 | 0.197 | 2
0.3 | 0.291 | 0.291 | 3
0.4 | 0.38 | 0.381 | 4
0.5 | 0.464 | 0.464 | 5
0.6 | 0.54 | 0.54 | 7
0.7 | 0.611 | 0.611 | 9
0.8 | 0.675 | 0.675 | 13
0.9 | 0.733 | 0.733 | 25
1 | 0.785 | 0.785 | 5e+03
на сим считаю что могу закончить с помощью и лишь порекомендовать прочесть мой FAQ по рядам
0
03.01.2013, 04:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2013, 04:47
Привет! Вот еще темы с ответами:

Степенные ряды - Математический анализ
Помогите определить область сходимости ряда у меня получилось несколько вариантов помогите выбрать правильный) x:1)=о; 2)принадлежит...

Степенные ряды и их приложения - Математический анализ
1 Исследовать сходимость ряда x+((x^2)/20)+((x^3)/300)+((x^4)/4000)+... 2 Разложить функцию f(x) = ln(1+x) в степенной ряд и найти...

степенные ряды. область сходимости. - Математический анализ
Здравствуйте всем. помогите решить последний пример. И сетка у меня закрыта) сил на него уже не хватает. выдохся. :(

Ряд Тейлора.Степенные ряды - Математический анализ
Доброго времени суток. Задача звучит так : Записать ряд Тейлора для f(x): y={e}^{x} по степеням (x+2). Суть вопроса в степени,а точнее...


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

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

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