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

Вычислить значение функции арккосинуса, заданной с помощью ряда Тейлора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу довести до ума..а хотя все эллиментарно...( http://www.cyberforum.ru/cpp-beginners/thread358785.html
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач до Хкон с шагом dX. Формула -ax-c при с>0 u !=0 F= x-a/-c при с>0 и х=0 bx/c-a в остальных...
C++ В чем ошибка, не считает...ответ выдает по нулям(((( #include <stdio.h> #include <windows.h> #include <math.h> char buf ; char*RUS(const char*text) { CharToOem(text,buf); return buf; } http://www.cyberforum.ru/cpp-beginners/thread358781.html
C++ Очереди
Привет всем!!!)) Вот у меня такая задачка: необходимо реализовать очередь, содержащую запись состоящую из двух полей: имени и фамилии. Напечатать в порядке поступления фамилии всех людей с...
C++ Функции
Всем доброго времени суток. Если кто может помочь буду благодарен.. 1. Назовем натуральное число палиндромом, если его запись читается одинаково с начала и с конца (как, например 4884, 393,...
C++ Определить, содержит ли строка различные группы символов http://www.cyberforum.ru/cpp-beginners/thread358717.html
как проверить содержит ли строка различные группы символов (цифровые, верхнего и нижнего регистров)?
C++ палиндром имеется 3 класса 1. проверяет является ли строка char* палиндромом 2. проверяет является ли vector<int> палиндромом 3. проверяет является ли число int палиндромом Задача объединить их под... подробнее

Показать сообщение отдельно
challengerr
43 / 36 / 2
Регистрация: 30.07.2008
Сообщений: 136
01.10.2011, 13:05
Формула в прикрепленном изображении не совсем верная - минуса у 4 члена ряда нет.
http://upload.wikimedia.org/math/4/0...8df9a125a1.png

У меня так получилось но есть расхождения со стандартной функцией. Не могли бы объяснить почему.

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
//http://upload.wikimedia.org/math/4/0/f/40f9e00ece5a364cb6c4ca8df9a125a1.png
#include <stdio.h>
#include <math.h>
int f2nm1(int n){ if (n>=1){ return (2*n-1)*f2nm1(n-1);} else { return 1;}}
int f2n(int n) { if (n>=1){ return (2*n)*f2n(n-1);}else { return 1;}}
double pw(double xn, int st){if (st>=1){return xn*pow(xn,st-1);}else {return (double)1.0;}}
double arcs(double cr,double xn, double e,int h)
{
double cr1=cr;
int y=2*h+1;
cr = cr - ((double)f2nm1(h)/(double)f2n(h))*(pw(xn,y)/(double)y);
if ((cr1 - cr) < e) { return cr;}
else { return  arcs(cr,xn,e,h+1);}
}
double arcos(double xn, double e)
{
double res = M_PI/2.0;
return (arcs(res,xn,e,0));
}
int main(int argc, char*argv[])
{
double xn, xk, e, dx;
xn=0.0, xk=1.0, e=0.001, dx=0.01;
while(xn+dx<=xk)
{
printf("arccos(%f)=%f\n",xn,arcos(xn,e));
printf("math: arccos(%f)=%f\n",xn,acos(xn));
xn+=dx;
}
return(0);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru