Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 1
Регистрация: 11.11.2014
Сообщений: 13

Рекурсия. Найти значение функции через разложение в ряд Тейлора

29.11.2014, 00:03. Показов 4149. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно, сабж.

Есть функция cos^2(x), которую я хочу разложить в ряд Тейлора.
Вот отрывок кода с функцией:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double func(double x, double eps)
{
    double sum = 0;
    double an = 1;
    long n = 1;
    do
    {
        sum += an;     // добавляем его к сумме
        n += 1;
        an *= (-1)*(x*x / (2.0*n * 2 * (n - 1)));
    } while (eps <= abs(an));     // пока очередное слагаемое больше еps   // abs - абсолютная величина (модуль) числа
    return sum*sum;
}
Функция func (её код выше) я сравниваю с выражением
C++
1
pow(cos(x), 2)
В итоге получаются разные значения. Ошибка где-то в первой функции, которую я задавал рекуррентным соотношением (что, подозреваю, неправильно).

Буду признателен за помощь)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2014, 00:03
Ответы с готовыми решениями:

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

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

Найти значение функции через разложение в ряд
Найти значение функции у(х) в произвольной точке через разложение в ряд. Проверить корректность входных данных. Выполнить проверку решения....

4
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
29.11.2014, 07:01
Если не врет Википедия, никаких 2.0 в разложении косинуса быть не должно.
C++
1
2
3
4
5
6
7
8
9
10
11
double my_cos(double x,double eps)
{
    double ret=0,mul=1,div=1;
    for(double n=0;abs(mul/div)>eps;n+=2)
    {
        mul*=-1*x*x;
        div*=(n+1)*(n+2);
        ret+=mul/div;
    }
    return ret*ret;
}
0
0 / 0 / 1
Регистрация: 11.11.2014
Сообщений: 13
29.11.2014, 14:05  [ТС]
Всё равно неправильно считает значения:

Первая колонка - значение x
Вторая колонка:
C++
1
2
3
4
5
6
7
8
9
10
11
double my_cos(double x,double eps)
{
    double ret=0,mul=1,div=1;
    for(double n=0;abs(mul/div)>eps;n+=2)
    {
        mul*=-1*x*x;
        div*=(n+1)*(n+2);
        ret+=mul/div;
    }
    return ret*ret;
}
Третья колонка:
C++
1
pow(cos(x), 2)
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,243
29.11.2014, 16:03
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double my_cos(double x,double eps)
{
    double s,an;
    int n;
    n=0;
    an=1;
    s=0;
    while(fabs(an)>eps)
    {
         s+=an;
         n++;
         an*=-x*x/(2.*n-1.0)/(2.0*n); 
    }
    return s*s;
}
0
0 / 0 / 1
Регистрация: 11.11.2014
Сообщений: 13
29.11.2014, 18:42  [ТС]
Теперь всё заработало, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2014, 18:42
Помогаю со студенческими работами здесь

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

Дано разложение функции в ряд Тейлора. Вычислить для значения x и точности Eps точное значение функции
Дано разложение функции y(x) в ряд Тейлора. Составить программу, вычисляющую для значения x и точности Eps: • точное значение функции...

Вычислить значение функции exp(x) с точностью 0.001 (разложение в ряд Тейлора)
вычислить значение функции exp(x) с точностью 0.001, разложив функцию в ряд Тейлора где ошибка не подскажите? вычисляет не верно.......

Как вычислить значение функции используя разложение cos в ряд Тейлора???
Вычислить значение функции y, разложив cos(x) в ряд Тейлора. Аргумент х изменяется от -2 до 2 с шагом 0,5. Определить погрешность. ...

Вычисление значения функции ln(1+x) через разложение в ряд Тейлора.
Парни,помогите пожалуйста решить в Delphi 7 пример: ln(1+x)=x-x^2/2+x^3/3-... Заранее спасибо!)


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru