Интегрирование методом Симпсона. Обобщение - C#
Формулировка задачи:
Есть код для решения интеграла методом Симпсона функции f(x)
Помогите организовать работу если функций несколько f1(x), f2(x)...fn(x)
Листинг программы
- static double f(double x)
- {
- return x*x+2*x;
- }
- static double Simpson(double n) //Интегрирование по методу Симпсона
- {
- double x, a, b, h, s;
- a = 0;
- b = 0.5;
- h = (b - a) / n;
- s = 0;
- x = a + h;
- while (x < b)
- {
- s = s + 4 * f(x);
- x = x + h;
- s = s + 2 * f(x);
- x = x + h;
- }
- s = h / 3 * (s + f(a) - f(b));
- Console.WriteLine(" Интеграл(Метод Симпсона) = " + s);
- double Simpson = s;
- return Simpson;
- }
- static void Main(string[] args)
- {
- }
- }
- }
Решение задачи: «Интегрирование методом Симпсона. Обобщение»
textual
Листинг программы
- static double f(double x)
- {
- return x * x + 2 * x;
- }
- static double Simpson(Func<double,double> func,double n)//Интегрирование по методу Симпсона
- {
- double x, a, b, h, s;
- a = 0;
- b = 0.5;
- h = (b - a) / n;
- s = 0;
- x = a + h;
- while (x < b)
- {
- s = s + 4 * func(x);
- x = x + h;
- s = s + 2 * func(x);
- x = x + h;
- }
- return h / 3 * (s + func(a) - func(b));
- }
- static void Main(string[] args)
- {
- Console.WriteLine(" Интеграл(Метод Симпсона) = {0}", Simpson(f, 10));
- Console.WriteLine(" Интеграл(Метод Симпсона) = {0}", Simpson(x => 3 * x + 4, 10));
- Console.ReadKey(true);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д