Разложение в ряд Тейлора - C (СИ)
Формулировка задачи:
Пожалуйста, помогите исправить программу.
Условие:
http://s4.postimage.org/yQXtS-620b0f549d936458015e8978580b7174.png
Мой код:
#include <stdafx.h> #include "stdio.h" #include "conio.h" #include <math.h> void main () { float x1,x2,dx,e,s,g,k=0,q,p,y,x;//k -количество int n,d;//степень printf ("Vvedite interval"); scanf ("%f",&x1); scanf ("%f",&x2); printf ("Vvedite shag"); scanf ("%f",&dx); printf ("Vvedite tochnosnt'"); scanf ("%f",&e); if (x1<x2) x=x2-x1; else x=x1-x2; for (s=x1; s<x2; s=s+dx) { d++; // нахождение количества n=-1; q=x-1; while (g<e) { g=g+p; n++; p=pow(s,n)/n; } printf ("%f ==> %f ==> %d\n", s,g,d); } getch (); }
Решение задачи: «Разложение в ряд Тейлора»
textual
Листинг программы
#include <stdafx.h> #include "stdio.h" #include "conio.h" #include <math.h> void main () { float x1,x2,dx,e;//e -точность dx-шаг x1,x2- интервал float s; //s-текущий х int k=0;// k-количество float y=0,y1=0,y2=0,y3=0,y4=0,g=0,n=0,t=0,AS=0;//y-разультат n-степень printf ("Vvedite interval"); scanf ("%f",&x1); scanf ("%f",&x2); printf ("Vvedite shag"); scanf ("%f",&dx); printf ("Vvedite tochnosnt'"); scanf ("%f",&e); printf ("======================================\n"); printf ("||Nomer || Tekyhiy || Otvet ||\n"); printf ("======================================\n"); for (s=x1; s<=x2; s=s+dx) { k++;//количество просумированных членов ряда g=s-1;//(х-1)^n+1 while (y<e) { y1=pow(-1,n); //(-1)^n t=n+1; y2=pow(g,t);//(x-1)^(n+1) y3=y1*y2;// ((-1)^n)*((x-1)^(n+1)) y4=y3/t;//(((-1)^n)*((x-1)^(n+1)))/n+1 y=y+y4;//приращение ряда y1=0; y2=0; y3=0; y4=0; n++;//приращение степени } printf ("||%i || %f || %f||\n",k,s,y); printf ("======================================\n"); } getch (); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д