Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 08:48, курсовая работа
Цель курсовой работы является приобретение и углубление знаний в области высокоуровневых методов информатики и программирования, получения дополнительных практических навыков в использовании основных приёмов обработки экспериментальных данных, численного решения определенных интегралов.
Численное интегральное исчисление – часто используемая тема в математике. При решении ряда актуальных физических и технических задач встречаются определенные интегралы от функций, первообразные которых не выражаются через элементарные функции. Кроме того, в приложениях приходится иметь дело с определенными интегралами, сами подынтегральные функции которых не являются элементарными. Это приводит к необходимости использования приближенных методов вычисления определенных интегралов.
ВВЕДЕНИЕ
Нормативные ссылки
Список используемой литературы
int
n { get; set; }
string
strMethodRectangles, strTrapezoids, strSimpsons; //Строки
для хранения результатов
string
strCalcStatus; //информационная
строка
public MainForm()
{
InitializeComponent();
}
private void DisambleButtons()
{
StartBtn.Enabled = false;
SettingsBtn.Enabled = false;
txtBoxX1.Enabled = false;
txtBoxX2.Enabled = false;
txtBoxN.Enabled = false;
strMethodRectangles = "";
strTrapezoids = "";
strSimpsons = "";
strCalcStatus = "Вычисление...\nНажмите 'x'\n для отмены.";
DrawGraph();
}
private void EnableButtons(object sender, RunWorkerCompletedEventArgs e)
{
StartBtn.Enabled = true;
SettingsBtn.Enabled = true;
txtBoxX1.Enabled = true;
txtBoxX2.Enabled = true;
txtBoxN.Enabled = true;
strCalcStatus = "";
DrawGraph();
}
private void Integration(object sender, DoWorkEventArgs e)
{
Integral myIntegral;
Patsev.Integrals.Integral.
myIntegral = new Patsev.Integrals.Rectangles(
strMethodRectangles = myIntegral.ToString();
myIntegral = new Patsev.Integrals.Trapezoids(
strTrapezoids = myIntegral.ToString();
myIntegral = new Patsev.Integrals.Simpsons(x1, x2, n);
strSimpsons = myIntegral.ToString();
}//интегрирование
private void DrawGraph() //вывод графика функции
{
// Получим панель для рисования
GraphPane
pane = zedGraph.GraphPane;
// Очистим список текстов и кривых на тот случай, если до этого сигналы уже были нарисованы
pane.CurveList.Clear();
pane.GraphObjList.Clear();
// Печать заголовка
TextObj headline = new TextObj("Значение интеграла / Погрешность", 0.27F, 0.04F);
headline.FontSpec.FontColor = Color.DarkBlue;
headline.FontSpec.IsBold = true;
headline.FontSpec.Size = 8;
headline.FontSpec.IsAntiAlias = true;
// Disable the border and background fill options for the text
headline.FontSpec.Border.
headline.FontSpec.Fill.
headline.FontSpec.IsUnderline = true;
// Align the text such the the Left-Bottom corner is at the specified coordinates
// use AxisFraction coordinates so the text is placed relative to the ChartRect
headline.Location.
headline.Location.AlignH = AlignH.Left;
headline.Location.AlignV = AlignV.Bottom;
pane.GraphObjList.Add(
//Печать подписей к результатам
string textline = "Метод прямоугольников: \nМетод трапеций: \nМетод парабол:";
TextObj textresults = new TextObj(textline, 0.04F, 0.15F);
textresults.Location.
textresults.FontSpec.Border.
textresults.FontSpec.Fill.
textresults.FontSpec.
textresults.FontSpec.Size = 8;
textresults.Location.AlignH = AlignH.Left;
textresults.Location.AlignV = AlignV.Bottom;
textresults.FontSpec.
pane.GraphObjList.Add(
//Печать результатов
string strresults = strMethodRectangles + "\n" + strTrapezoids + "\n" + strSimpsons;
TextObj results = new TextObj(strresults, 0.27F, 0.15F);
results.Location.
results.FontSpec.FontColor = Color.DarkGreen;
results.FontSpec.Border.
results.FontSpec.Fill.
results.FontSpec.IsAntiAlias = true;
results.FontSpec.Size = 8;
results.Location.AlignH = AlignH.Left;
results.Location.AlignV = AlignV.Bottom;
results.FontSpec.
pane.GraphObjList.Add(results)
//Печать надписи "Вычисление..."
TextObj txtCalc = new TextObj(strCalcStatus, 0.8F, 0.05F);
// use AxisFraction coordinates so the text is placed relative to the ChartRect
txtCalc.Location.
// rotate the text 15 degrees
txtCalc.FontSpec.Angle = -45.0F;
// Text will be red, bold, and 16 point
txtCalc.FontSpec.FontColor = Color.Red;
txtCalc.FontSpec.IsBold = true;
txtCalc.FontSpec.Size = 16;
// Disable the border and background fill options for the text
txtCalc.FontSpec.Border.
txtCalc.FontSpec.Fill.
// Align the text such the the Left-Bottom corner is at the specified coordinates
txtCalc.Location.AlignH = AlignH.Left;
txtCalc.Location.AlignV = AlignV.Bottom;
pane.GraphObjList.Add(txtCalc)
//Вывод графика:
// Создадим список точек
PointPairList list = new PointPairList();
PointPairList plist = new PointPairList();
double xmin = x1;
double
xmax = x2;
// Заполняем список точек
plist.Add(xmin, Integral.F(xmin));
double xp = Math.Max(Math.Abs(xmin) , Math.Abs(xmax));
Информация о работе Разработка программы, вычисляющей интеграл