Вычислить и вывести на экран в виде таблицы значения функции, с заданной с помощью ряда Тейлора - C (СИ) (73129)
Формулировка задачи:
Понимаю, что тема заезженная, но всё же не понимаю, как решать эту задачу.
Вычислить и вывести на экран в виде таблицы значения функции, с заданной с помощью ряда Тейлора, на интервале от а до b с шагом h=(b-a)/m с точностью ԑ. Таблицу
снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение
аргумента, значение функции и количество просуммированных членов ряда.
Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, с заданной с помощью ряда Тейлора»
textual
Листинг программы
// x - аргумент, значение функции которого надо вычислить
// epsilon - точность вычисления суммы
double MyAtan(double x,double epsilon)
{
double s=0;// Тут копим сумму
double an; // Тут храним N-ый член ряда
int n;
n=0; // начальное значение n
an=-1.0/x; // начальное значение an
while(fabs(an)>epsilon)
// Суммировать будем пока член ряда an не станет достаточно маленьким по модулю
{
s+=an; // суммируем очередной член ряда
n++; // переходим к следующему члену
an*=-(2.0*n+1.0)/(2.0*n-1.0)/x/x; // пересчитываем a(n) через a(n-1)
}
return s-M_PI/2.0; // получившаяся сумма
}
Объяснение кода листинга программы
- Входные данные функции - аргумент
xи точность вычисленияepsilon. - Создаем переменную
sдля хранения суммы ряда. - Создаем переменную
anдля хранения N-го члена ряда. - Создаем переменную
nдля контроля количества суммируемых членов ряда. - Устанавливаем начальное значение
nиan. - Задаем условие цикла, которое будет выполняться пока модуль
anбольшеepsilon. - Внутри цикла суммируем
anкsи увеличиваемnна единицу. - Пересчитываем
anчерезa(n-1)с помощью формулы ряда Тейлора. - После выполнения цикла возвращаем полученную сумму, вычитая из нее
M_PI/2.0. - Получаем график функции в виде таблицы с значениями функции, аргумента и точности вычисления.
- Значения функции выводятся на экран в виде таблицы.