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