Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Bleffy
0 / 0 / 0
Регистрация: 19.11.2016
Сообщений: 4
1

Программа для расчёта sin x посредством суммирования по ряду Тейлора

19.11.2016, 23:38. Просмотров 350. Ответов 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
33
34
35
36
37
38
39
40
41
42
#include <stdio.h> 
#include <math.h> 
 
 
double sinus(double epsilon, int x1); 
 
 
int main(void) 
{ 
double epsilon;
int x1,x2, dx;
puts("Введите значение эпсилон"); 
scanf("%lf", &epsilon); 
puts("Введите нижнюю границу интервала"); 
scanf("%i", &x1); 
puts("Введите верхнюю границу интервала");
scanf("%i", &x2);
puts("Введите значение шага изменения аргумента"); 
scanf("%i", &dx);
   while(x1<x2)
      {
           printf("Синус при х=%i равен %lf\n",x1,sinus(epsilon,x1));
           x1+=dx;
      } 
return 0;
}
 
 
double sinus(double epsilon, int x1) 
{ 
int j; 
double an,sum; 
sum=0.0;
j=0;
   while(fabs(an)>epsilon)
      { 
       an=(double)x1*pow(((-pow((double)x1,2.0))/(2.0*((double)j-1.0)*(2.0*(double)j-1.0))),(double)j);
           sum=sum+an;
           j++;
      }
return sum; 
}
Здравствуйте!
Суть задания была в следующем: нужно для нескольких x посчитать значение синуса, значения x задаются границами интервала и шагом изменения x.
Я вывел формулу для n-го элемента в ряду Тейлора: http://www.cyberforum.ru/cgi-bin/latex.cgi?an=x(\frac{(-x^2)}{(2(n-1)(2n-1)})^(n-1).
Соответственно по этим элементам и суммирую.
В чём состоит проблема. При компиляции и работе программы выводится значение синуса=0.000000 для всех значений x. Это ещё не самое для меня интересное. Если отдельно выводить на экран значение выражения, которое присваивается an, то оно не равно 0. Если честно, руки уже опускаются, не хватает опыта, не знаю что нужно сделать. Прошу помочь чем не сложно. Заранее благодарен.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2016, 23:38
Ответы с готовыми решениями:

Функция по ряду Тейлора и битовые операции
Есть 2 задания, может кто помочь? Вычислить и вывести на экран в виде...

Программа для вычисления синуса по ряду Маклорена
Добрый день всем. Нашел программу, которая вычисляет синус по ряду Маклорена,...

Рекурсивно разложить по ряду тейлора гиперболический косинус
Нужно разложить по ряду тейлора гиперболический косинус, рекурсией, помогите плз

Разложить sin и cos в ряд Тейлора
Помогите с задачей. Необходимо разложить sin и cos в ряд Тейлора. Программа...

Для заданного числа x распечатать числовую последовательность: sin(x), sin(sin(x), sin(sin(sin(x), …
var x,z:integer; y:real; begin readln(x); y:=abs(sin(x)); while y&gt;0.01...

1
Байт
Эксперт C
20035 / 12657 / 2662
Регистрация: 24.12.2010
Сообщений: 26,352
20.11.2016, 21:18 2
Bleffy, Вопрос еще актуален?
У тебя много странностей.
Странная формула нахождения очередного члена. Непонятная.
Еще более странное выражение для его вычисления.
Не путаешь ли ты радианы с градусами?
Странно, что шаг и интервал - целые числа.
А так, сама структура программы более-менее грамотная. Только непонятны вычисления. И где начинаются ошибки - в математике или в ее реализации.
В вычислениях много лишних приведений типов, большинство из них транслятор сделает сам. Это не ошибка, но большое затруднение для чтения.
Рекомендуется не использовать функцию pow для таких вещей, как возведение в квадрат.
Вместо y = pow(x, 2) лучше писать y = x*x
Впрочем, если мои советы запоздали, вы знаете, как с ними поступить
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2016, 21:18

Для заданных n и x посчитать выражение s=sin x+sin sin x+...+sin sin sin...sin x
Для заданных n и x посчитать выражение s=sin x+sin sin x+...+sin sin sin...sin...

Вычислить частичную сумму ряда Тейлора для sin(x)
Вычислить sin 0.4 с точностью е=10^-4,воспользовавшись разложением в ряд ...

Найти с заданной точностью сумму ряда Тейлора для sin(x)
В общем, ребята, никак не могу решить задачу. Голову ломал недели две, но так и...


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

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

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