Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/68: Рейтинг темы: голосов - 68, средняя оценка - 4.72
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
1

Косинус через ряд Тейлора

22.01.2010, 22:16. Показов 13698. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот надо написать функцию косинуса через тейлора без математических библиотек. Но так как я еще нуб, у меня не правильно)). Поправьте плз. Желательно с комментариями или обьяснениями.
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
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
  int fact (n)  
  {
  if (n==1)
  return 1;
  else return fact (n-1)*n;
  }
 
 int main(void)
 
 {
  float cos;
  int n=1;
  clrscr();
  float x;
  int i;
  printf ("input x");
  scanf ("%2f", x);
  for (i=0;i<10;i++) {
 
 
     cos+=((-1)*n)*(x*2*n+1)/(fact(2*n+1));
     n*=2;
     }
printf ("%5f",cos);
 return 0;
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2010, 22:16
Ответы с готовыми решениями:

Косинус через ряд Тейлора
Собсно, все на пикче. Хелп плз. Задачи на ряд Тейлора уже смотрел на форуме, но как вывести...

Вычисление экспоненты через ряд Тейлора
Сама формула имеет вид : {e}^{x}=1+\frac{x}{1!}+\frac{{x}^{2}}{2!}+\frac{{x}^{3}}{3!}+... Сколько...

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

Вычисление гиперболического косинуса через разложение в ряд Тейлора с помощью рекурсивной процедуры
Мне нужно написать рекурсию на примере Ряда Тэйлора на гиперболический косинус , вообще не...

5
9 / 9 / 3
Регистрация: 03.11.2009
Сообщений: 39
23.01.2010, 00:53 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
#include <stdio.h>
 
 
#define E 10//точность
int main()
{
    double x;//сам х
    double cos = 1;//общая сумма
    double down = 1;//знаменатель(факториал)
    double up = x*x;//числитель(увеличение степени х на 2)
 
    int i;
    printf("Enter x: ");
    scanf("%lf", &x);
    for (i = 2; i < E; i+=2)//сразу с 2 и по 2 вбудущем
    {
        up *= (-1)*up;//контроль -1 и увеличение степени х
        down *= (i-1) * i; //факториал
        cos += up / down; //добавление следующего компонента
    }
    printf("result: %lf\n", x);
 
    return 0;
}
скомпилировалось без проблем
0
Day
1179 / 989 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
23.01.2010, 00:56 3
Код
  scanf ("%2f", &x);  // Читай про scanf
  cos = 0;  // А то к чему ты будешь его прибавлять (+=)
  for (i=0;i<10;i++) {
      if (i%2) sign = -1;
      else      sign = 1;
      // cos+=((-1)*n)*(x*2*n+1)/(fact(2*n+1));  // Это чушь
      cos +=  sign*(pow(x*x), i+1)/(fact(2*i+1));  
      i+=2;
   }
В цикле меняется i, а используется n. Поищи ка в этом смысл
Вообще, если чего непонятно, вставляй промежуточные printf и печатай подозрительные переменные
0
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
23.01.2010, 14:20  [ТС] 4
togramago
up всегда равен нулю, не знаю почему.
0
Day
1179 / 989 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
23.01.2010, 15:49 5
В коде togramado надо сначала ввести x, а уж потом up = x*x
При отладке не жалей вставлять printf для распечатки проблемных переменных
0
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
23.01.2010, 17:47  [ТС] 6
да я так и понял что up равен нулю. Спс за обьяснение
0
23.01.2010, 17:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2010, 17:47
Помогаю со студенческими работами здесь

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

Вычислить с помощью рядов тейлора значение функции косинус х
Добрый вечер. Задание: вычислить с помощью рядов тейлора значение функции косинус х. Написал...

Ряд Тейлора(СИ)
Составить программу вычисления значений функций на заданном отрезке с точностью e=10-6,...

Разложение в ряд Тейлора
Пожалуйста, помогите исправить программу. Условие:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru