Вычисление значения функции разложением в ряд Тейлора - 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 выводится таблица с результатами вычислений.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д