Вычислить и вывести на экран в виде таблицы значения функции, с заданной с помощью ряда Тейлора - C (СИ) (73413)
Формулировка задачи:
Посмотрите, пожалуйста мой код по рядам Тейлора, код явно не так считает ряд, что не так:?
double fun (double x, int k) { int i, a=1; double total; printf("\n X => "); scanf("%lf", &x); for (i=0; i<k; i++) { if(i==0) a=1; else a*=(-1); } for(i=0; i<k; i++) x*=(k+1); for (i=0; i<k; i++) total+=a*x/(i+1); return total; }
Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, с заданной с помощью ряда Тейлора»
textual
Листинг программы
double fun (double x, int k) { int i, a=1; double xn=1, total=0; for (i=1; i<=k; i++) { xn*=x; total+=a*xn/i; a=-a; } return total; } int main() { double x=0.5;//-1<x<=1 printf("fun(%lf,k)=%lf ln(1+%lf)=%lf\n",x,fun(x,100),x,log(1+x)); system("pause"); return 0; }
Объяснение кода листинга программы
В данном коде реализован вычислительный процесс, который заключается в вычислении значения функции с помощью ряда Тейлора.
- В функции
fun
определены следующие переменные:i
- счётчик цикла;a
- коэффициент перед членом ряда Тейлора;xn
- член ряда Тейлора;total
- итоговое значение ряда Тейлора.
- В функции
main
определена переменнаяx
, которая равна 0.5. - С помощью функции
printf
выводится следующая таблица:- значение функции
fun(x,100)
; - значение функции
log(1+x)
.
- значение функции
- В конце программы с помощью функции
system
приостанавливается выполнение программы до нажатия клавиши. - В конце программы возвращается 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д