Вычисление значения функции разложением в ряд Тейлора - C (СИ)
Формулировка задачи:
Помогите пожалуйста составить алгоритм и написать код программы, вычисляющей значения суммы ряда S при заданных с консоли начальном и конечном значениях аргумента x (x_nach, x_kon), шаге его изменения delta_x и точности вычислений eps. Вычисленные значения ряда сравнить со значениями функции f=(x). Результаты вычислений вывести в виде таблицы с заголовком.
Решение задачи: «Вычисление значения функции разложением в ряд Тейлора»
textual
Листинг программы
- #include<stdio.h>
- #include<math.h>
- double fun(double x,double eps);
- int main(void)
- {
- double x_nach,x_kon,delta_x,eps;
- printf("input: x_nach, x_kon, delta_x, eps\n");
- scanf("%lf%lf%lf%lf",&x_nach, &x_kon, &delta_x, &eps);
- printf(" X S f(x)\n");
- while(x_nach<=x_kon)
- {
- printf("%10.6lf%10.6lf%10.6lf\n",x_nach,fun(x_nach,eps),asin(x_nach));
- x_nach+=delta_x;
- }
- return 0;
- }
- double fun(double x,double eps)
- {
- int n=1;
- double x0=x,x1,t,t1,s=x;
- t=1.0*n/(n+1);
- t1=x*x*x;
- x1=t1*t/(n+2);
- while(fabs(x1-x0)>=eps)
- {
- s+=x1;
- n+=2;
- t*=1.0*n/(n+1);
- t1*=x*x;
- x0=x1;
- x1=t1*t/(n+2);
- }
- return s;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: iostream.h и math.h
- Определяется функция fun, которая принимает два аргумента типа double: x и eps.
- В функции main считываются значения переменных x_nach, x_kon, delta_x и eps с помощью функции scanf.
- Выводится шапка таблицы с названиями и значениями переменных.
- Задается цикл, который будет выполняться, пока значение переменной x_nach не станет больше или равно значению переменной x_kon.
- Внутри цикла выводятся значения переменных x_nach, fun(x_nach, eps) и asin(x_nach) с заданной точностью.
- Значение переменной x_nach увеличивается на значение переменной delta_x после каждой итерации цикла.
- В функции fun инициализируются начальные значения переменных: x0, x1, t, t1 и s. Значение переменной n устанавливается равным 1.
- Вычисляется значение t, которое используется для вычисления значения x1 на каждой итерации цикла.
- Вычисляется значение x1 на каждой итерации цикла с использованием вычисленного значения t.
- Пока разница между значениями x1 и x0 больше или равна заданной точности eps, выполняется цикл.
- На каждой итерации цикла значение переменной s увеличивается на значение x1.
- Значение переменной n увеличивается на 2 на каждой итерации цикла.
- Вычисляется новое значение t, используя новое значение n.
- Вычисляется новое значение x1 на каждой итерации цикла с использованием нового значения t.
- Значение переменной x0 заменяется значением x1 после каждой итерации цикла.
- Значение переменной x1 заменяется новым значением x1 после каждой итерации цикла.
- Цикл выполняется до тех пор, пока условие не будет выполнено.
- Функция fun возвращает значение переменной s.
- В функции main выводится таблица с результатами вычислений.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д