Вычислить функцию f(x), используя ее разложение в степенной ряд - C#
Формулировка задачи:
Помогите чайнику разобратся
задания
Для х изменяющегося от a до b с шагом (b-a)/k, где
(k=10), вычислить функцию f(x), используя ее разложение в
степенной ряд в двух случаях:
а) для заданного n;
для заданной точности E (e=0.0001).
Для сравнения найти точное значение функции.
выдает 10 одинаковых чисел (
static double s =1;
static double s1 = 0;
static double x1 = 1;
static double s2= 0;
static int wh = 1;
static int k = 10;
static int b = 2;
static double a=1;
static double exp = 0.0001;
public static double Factorial(int n)
{
double res = 1;
for (int i = 2; i <= n; i++)
{
res *= i;
}
return res;
}
public static void Main()
{
for (double x =1; x<=2; x += (b - a) / k)
{
while (wh<=15)
{
s = Math.Pow(x,wh) / 1 * Factorial(wh);
s1+= s;
wh++ ;
// Console.WriteLine(s1);
}
s2= s1+ 1;
Console.WriteLine(s2);
}
//Console.WriteLine(s1);
Console.ReadKey();
}Решение задачи: «Вычислить функцию f(x), используя ее разложение в степенной ряд»
textual
Листинг программы
for (double x = a; x <= b + dx; x += dx )
{
int wh = 1;
double s = 1;
double s1 = 1;
while (wh <= 15 && s1 > eps)
{
s1 *= x/wh;
s += s1;
wh++;
}
Console.WriteLine("x = {0} s = {1} wh = {2} e^x = {3} ", x, s, wh, Math.Pow(Math.E, x) );
}