Вычислить cos(0.6) с точностью e=0,00001 воспользовавшись разложением в ряд - C#
Формулировка задачи:
Вычислить cos(0.6) с точностью e=0,00001 воспользовавшись разложением в ряд
cosx= 1-x2/2!+x4/4!-x6/6!+...+(-1)n*x2n/(2n)!+....
Сравните результат со значением, полученным с помощью соответствующей встроенной функции
вот кусок моей программы
Помогите пожалуйста найти ошибку
Прикрепил свою программу я делал в Visual Studio 2013 через windows forms
public static double Factorial(double n) { double res = 1; for (int i = 2; i <= n; i++) { res *= i; } return res; } private double Func(double x, double n) { return Math.Pow(-1, n) * (Math.Pow(x, (2 * n)) / (Factorial((2 * n)))); } private void Raschet(double E, double x) { double n = 1; double a = Func(x, n); double S = 1; dataGridView1.Rows.Clear(); do { a = Func(x, n); Vivod(n, a); S = S + a; n = n + 2; } while (Math.Abs(a) > E); TextBoxOutput(textBox3, Math.Cos(x)); TextBoxOutput(textBox4, S); }
Решение задачи: «Вычислить cos(0.6) с точностью e=0,00001 воспользовавшись разложением в ряд»
textual
Листинг программы
public static double Factorial(double n) { return n <= 1 ? 1 : n * Factorial(n - 1); } private static double Func(double x, double n) { return Math.Pow(-1, n) * (Math.Pow(x, 2 * n) / Factorial(2 * n)); } private static double Cos(double x, int n) { double a = Func(x, n); return Math.Abs(a) > E ? a + Cos(x, n + 1) : 1; } private static double Cos(double x) { return Cos(x, 1); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д