Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 08:48, курсовая работа
Цель курсовой работы является приобретение и углубление знаний в области высокоуровневых методов информатики и программирования, получения дополнительных практических навыков в использовании основных приёмов обработки экспериментальных данных, численного решения определенных интегралов.
Численное интегральное исчисление – часто используемая тема в математике. При решении ряда актуальных физических и технических задач встречаются определенные интегралы от функций, первообразные которых не выражаются через элементарные функции. Кроме того, в приложениях приходится иметь дело с определенными интегралами, сами подынтегральные функции которых не являются элементарными. Это приводит к необходимости использования приближенных методов вычисления определенных интегралов.
ВВЕДЕНИЕ
Нормативные ссылки
Список используемой литературы
double dx = 2 * xp * 1.2 / this.PointsQuantity;
for (double x = -xp * 1.2; x <= xp * 1.2; x += dx)
{
// добавим в список точку
list.Add(x, Integral.F(x));
if (x >= xmin && x <= xmax)
plist.Add(x, Integral.F(x));
}
plist.Add(xmax, Integral.F(xmax));
// Set the titles and axis labels
pane.Title.Text = "Интегрируемая функция f(x) = Sqrt(1 + x^2)";
pane.XAxis.Title.Text = "X";
pane.YAxis.Title.Text = "Y";
// Hide the legend
pane.Legend.IsVisible = false;
// Add a curve
LineItem curve = pane.AddCurve("label", list, Color.Red, SymbolType.Circle);
curve.Line.IsSmooth = true;
curve.Line.Width = this.LineWidth;
curve.Symbol.Fill = new Fill(Color.White);
curve.Symbol.Size = this.PointsSize;
// Fill the area under the curves
LineItem pcurve = pane.AddCurve("", plist, Color.Blue, SymbolType.None);
pcurve.Line.IsSmooth = true;
pcurve.Line.Fill = new Fill(Color.White, Color.Blue, 95.0F);
// Fill the axis background with a gradient
pane.Chart.Fill = new Fill(Color.White, Color.SteelBlue, 90.0F);
// Включим отображение сетки
pane.XAxis.MajorGrid.IsVisible = true;
pane.YAxis.MajorGrid.IsVisible = true;
/* Вызываем метод AxisChange (), чтобы обновить данные об осях.
В противном случае на рисунке будет показана только часть графика, которая умещается в интервалы по осям, установленные по умолчанию*/
zedGraph.AxisChange();
// Обновляем график
zedGraph.Invalidate();
}//прорисовка
графика
private void ExitBtn_Click(object sender, EventArgs e)
{
Close();
}
private void AboutBtn_Click(object sender, EventArgs e)
{
AboutBox frmAbout = new AboutBox();
frmAbout.ShowDialog();
}
private void StartBtn_Click(object sender, EventArgs e)//запуск потоков вычислений
{
//проверка корректности вводимых значений
try
{
try
{
x1 = Convert.ToDouble(txtBoxX1.
}
catch
{
txtBoxX1.Focus();
txtBoxX1.SelectAll();
throw new Exception("Ошибка при вводе x1");
}
try
{
x2 = Convert.ToDouble(txtBoxX2.
}
catch
{
txtBoxX2.Focus();
txtBoxX2.SelectAll();
throw new Exception("Ошибка при вводе x2");
}
try
{
n = Convert.ToInt32(txtBoxN.Text);
}
catch
{
txtBoxN.Focus();
txtBoxN.SelectAll();
throw new Exception("Ошибка при вводе n");
}
DisambleButtons();
BackgroundWorker bw = new BackgroundWorker();
bw.WorkerSupportsCancellation = true;
bw.DoWork += Integration;
bw.RunWorkerCompleted += EnableButtons;
bw.RunWorkerAsync(null);
}
catch (Exception myexcepton)
{
MessageBox.Show(myexcepton.
}
}
private void zedGraph_DoubleClick(object sender, EventArgs e)
{
zedGraph.GraphPane.CurveList.
zedGraph.GraphPane.
zedGraph.Invalidate();
}
private void MainForm_Shown(object sender, EventArgs e)
{
x1 = Convert.ToDouble(txtBoxX1.
x2 = Convert.ToDouble(txtBoxX2.
n = Convert.ToInt32(txtBoxN.Text);
DrawGraph();
}
private void SettingsBtn_Click(object sender, EventArgs e) //изменение настроек графика
{
SettingsForm SettingsFrm = new SettingsForm();
SettingsFrm.txtPointsQuantity = this.PointsQuantity.ToString()
SettingsFrm.txtPointsSize = this.PointsSize.ToString();
SettingsFrm.txtLineWidth = this.LineWidth.ToString();
if (SettingsFrm.ShowDialog() == DialogResult.OK)
{
try
{
try
{
this.PointsQuantity
= Convert.ToInt32(SettingsFrm.
}
catch
{
throw new Exception("Ошибка при вводе количества точек на графике");
}
try
Информация о работе Разработка программы, вычисляющей интеграл