Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2010, 22:18   #1
heso
Новичок
Джуниор
 
Регистрация: 24.05.2010
Сообщений: 1
По умолчанию Интеграл. Метод входящих прямоугольников

Функция sin(x)-x пределы от 3*pi/2 до pi
кратность интегрирования(m) = 600
метод входящих прямоугольников

Код:
class Интеграл1
     {
        struct Integral
        {double a,b;
            int m;
            public Integral (double ina, double inb, int inm)
            { a=ina<inb ? ina : inb;
              b=inb>ina ? inb : ina;
              m=inm;   
            }
            public override string  ToString()
            { string s;
                s=String.Format("Точное значение = {0:f3}\nПриближенное значение={1:f3}",ИнтПрямоуг, ИнтЛейбниц);
               
                
                double Delta=(ИнтПрямоуг - ИнтЛейбниц)/ИнтЛейбниц*100;
                Delta=Math.Abs(Delta);
                s+=String.Format("\nПогрешность = {0:f3} %",Delta);
                return s;
            }

            public double fx(double x)
            { return Math.Sin(x)+x; }
            public double Fx(double x)
            { return -Math.Cos(x)+x*x/2; }

            public double h
            { get
            { return (b-a)/m; }
            }


            public double ИнтЛейбниц
            { get  { return Fx(b) - Fx(a); }   }


            public double ИнтПрямоуг
            { get
                { double sum = fx(a);
                  for (double i = a + h; i < b;i += h) sum += fx(i);
                  sum *= h;
                  return sum;
                }   
            }
        }
        static void Main()
        {
            Integral obj = new Integral(Math.PI, 3 * Math.PI / 2, 600);
            Console.WriteLine(obj.ToString());
            
            Console.ReadKey();
            
        }
        
          }
не могу понять в чем ошибка, т.к. в теории интеграл должен был равен 7.15 а выводит, что 5,177

Последний раз редактировалось heso; 24.05.2010 в 22:40.
heso вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интеграл методом левых прямоугольников murzic28 Помощь студентам 1 17.05.2010 10:17
Уведомление о входящих письмах apodgorny Работа с сетью в Delphi 10 21.07.2009 13:04
вычислить определенный интеграл методом прямоугольников ronn Помощь студентам 3 27.05.2009 19:44
Получение и чтение входящих UDP пакетов XAOC-forever Работа с сетью в Delphi 6 03.06.2008 10:02