Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 08:48, курсовая работа
Цель  курсовой работы является приобретение и углубление знаний в области  высокоуровневых методов информатики и программирования, получения дополнительных практических навыков в использовании основных приёмов обработки экспериментальных данных, численного решения определенных интегралов. 
     Численное интегральное исчисление – часто используемая тема в математике. При решении ряда актуальных физических и технических задач встречаются определенные интегралы от функций, первообразные которых не выражаются через элементарные функции. Кроме того, в приложениях приходится иметь дело с определенными интегралами, сами подынтегральные функции которых не являются элементарными. Это приводит к необходимости использования приближенных методов вычисления определенных интегралов.
ВВЕДЕНИЕ
Нормативные ссылки
Список используемой литературы
{
return Math.Log(Math.Abs(b + Math.Sqrt(1 + b * b))) -
Math.Log(Math.Abs(a + Math.Sqrt(1 + a * a)));
        
} 
        abstract protected void 
Solve(); //{ 
}                             
//метод, содержащий алгоритм вычислений 
        public double 
Square                        
{
get
{
return square;
}
        
}  
        public double 
Accuracy                      
{
get
{
return accuracy;
}
        
} 
        public static volatile bool 
Killed;                       
public static bool operator <(Integral x1, Integral x2)
{
if (x1.accuracy < x2.accuracy) return true;
return false;
        
} 
public static bool operator >(Integral x1, Integral x2)
{
if (x1.accuracy > x2.accuracy) return true;
return false;
        
} 
public override string ToString()
{
//return base.ToString();
string s;
if (Killed) return "";
s = Square.ToString() + " / " + Accuracy.ToString();
return s;
        
} 
        protected double 
square, accuracy, a, b; 
protected int n;
    } 
    public sealed class Rectangles 
: Integral                      
{
        public 
Rectangles(double a, double b, int n) : base(a, b, n){ } 
override protected void Solve()
{
double yn = 0, y0, x0 = a, Delta = (b - a) / n;
for (int i = 0; i < n; i++, yn += y0, x0 += Delta)
{
if (Killed) { square = -1; return; }
y0 = F((2 * x0 + Delta) / 2);
}
square = yn * Delta;
        
} 
    } 
    public sealed class Trapezoids 
: Integral                      
{
public Trapezoids(double a, double b, int n) : base(a, b, n){ }
override protected void Solve()
{
double yn = 0, y0, Delta = (b - a) / n, x0 = a + Delta;
for (int i = 1; i < n; i++, yn += y0, x0 += Delta)
{
if (Killed) { square = -1; return; }
y0 = F(x0);
}
square = Delta * ((F(a) + F(b)) / 2 + yn);
}
    } 
public sealed class Simpsons : Integral //метод парабол
    { 
public Simpsons(double a, double b, int n) : base(a, b, n) { }
override protected void Solve()
{
double yn1 = 0, yn2 = 0, y0, Delta = (b - a) / n, x0 = a + Delta;
for (int i = 1; i < n; i += 2, yn1 += y0, x0 += 2 * Delta)
{
if (Killed == true) { square = -1; return; }
y0 = F(x0);
}
x0 = a + 2 * Delta;
for (int i = 2; i < n - 1; i += 2, yn2 += y0, x0 += 2 * Delta)
{
if (Killed == true) { square = -1; return; }
y0 = F(x0);
}
square = (b - a) / 3 / n * (F(a) + F(b) + 4 * yn1 + 2 * yn2);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using Курсовая_работа_по_ООП;
using ZedGraph;
using Patsev.Integrals; 
namespace Курсовая_работа_по_ООП
{
public partial class MainForm : Form
{
        public int 
PointsQuantity { get; set; } 
        public int 
PointsSize { get; set; } 
        public Single 
LineWidth { get; set; } 
        double 
x1 { get; set; } 
        double 
x2 { get; set; } 
Информация о работе Разработка программы, вычисляющей интеграл