Построить график определенного интеграла в chart - C#

Узнай цену своей работы

Формулировка задачи:

Прошу прощения, но какие-либо наработки отсутствуют т.к уже неделю сижу и получается всяческий бред который сюда стыдно загрузить(( поскольку время сдачи курсовой работы подходит к концу то прошу Вашей помощи! Есть программа по нахождению определенных интегралов, в нее необходимо добавить функцию построения графика, у меня даже не получается нарисовать оси графика и подписать их(( Вот код который делает интегрирование функции: P.s как я понимаю sum2 надо использовать как набор точек по оси X, как вот настроить чтобы этот набор точек был на отрезке от a до b по оси Y
Листинг программы
  1. private void tr_Click(object sender, EventArgs e)
  2. {
  3. double a = Convert.ToDouble(niz.Text);
  4. double b = Convert.ToDouble(verh.Text);
  5. double eps = Convert.ToDouble(epsil.Text);
  6. int n = 10;
  7. double sum, sum2 = 0;
  8. do
  9. {
  10. sum = sum2;
  11. sum2 = 0;
  12. double h = (b - a) / n;
  13. double x = a + h;
  14. if (radioButton1.Checked)
  15. {
  16. radioButton1.CheckedChanged += new System.EventHandler(ClearResult);
  17. while (x <= b)
  18. {
  19. sum2 += (f1(x) + f1(x + h)) * h / 2;
  20. x += h;
  21. }
  22. }
  23. n *= 2;
  24. } while (Math.Abs(sum - sum2) > eps);
  25. result.Text = "Ответ: " + sum2.ToString();

Решение задачи: «Построить график определенного интеграла в chart»

textual
Листинг программы
  1.     public partial class Form1 : Form
  2.     {
  3.         public Form1()
  4.         {
  5.             InitializeComponent();
  6.             DrawGraph();
  7.         }
  8.         public double  a, b, h,n, res;
  9.         double[] x1 = new double[99999];
  10.         double[] x2 = new double[99999];
  11.        
  12.         private void verh_KeyPress(object sender, KeyPressEventArgs e)
  13.         {
  14.             if (!(Char.IsDigit(e.KeyChar)))
  15.             {
  16.                 if (e.KeyChar != (char)Keys.Back != (e.KeyChar == ','))
  17.                 {
  18.                     e.Handled = true;
  19.                 }
  20.             }
  21.         }
  22.         private void tr_Click(object sender, EventArgs e)
  23.         {
  24.  
  25.             int a = Convert.ToInt32(niz.Text);
  26.             double b = Convert.ToDouble(verh.Text);
  27.             double eps = Convert.ToDouble(epsil.Text);
  28.             int n = 10;
  29.             int i = 0;
  30.             double sum, sum2 = 0;
  31.             do
  32.             {
  33.                 sum = sum2;
  34.                 sum2 = 0;
  35.                 double h = (b - a) / n;
  36.                 double x = a + h;              
  37.                 if (radioButton1.Checked)
  38.                 {
  39.                     radioButton1.CheckedChanged += new System.EventHandler(ClearResult);
  40.                     while (x <= b)
  41.                     {
  42.                         sum2 += (f1(x) + f1(x + h)) * h / 2;
  43.                         x += h;                    
  44.                     }
  45.  
  46.                 }
  47.                 if (radioButton2.Checked)
  48.                 {
  49.                     radioButton2.CheckedChanged += new System.EventHandler(ClearResult);
  50.                     while (x <= b)
  51.                     {
  52.                         sum2 += (f2(x) + f2(x + h)) * h / 2;
  53.                         x += h;
  54.                     }
  55.                 }
  56.                 if (radioButton3.Checked)
  57.                 {
  58.                     radioButton3.CheckedChanged += new System.EventHandler(ClearResult);
  59.                     while (x <= b)
  60.                     {
  61.                         sum2 += (f3(x) + f3(x + h)) * h / 2;
  62.                         x += h;
  63.                     }
  64.                 }
  65.                 if (radioButton4.Checked)
  66.                 {
  67.                     radioButton4.CheckedChanged += new System.EventHandler(ClearResult);
  68.                     while (x <= b)
  69.                     {
  70.                         sum2 += (f4(x) + f4(x + h)) * h / 2;
  71.                         x += h;
  72.  
  73.                     }
  74.                 }
  75.                 n *= 2;
  76.                 i += 1;
  77.  
  78.                 x1[i] = x;
  79.                 x2[i] = sum2;
  80.                
  81.  
  82.             } while (Math.Abs(sum - sum2) > eps);
  83.             result.Text = "Ответ: " + sum2.ToString();
  84.            
  85.            
  86.  
  87.            
  88.  
  89.         }
  90.         private void pr_Click(object sender, EventArgs e)
  91.         {
  92.             double a = Convert.ToDouble(niz.Text);
  93.             double b = Convert.ToDouble(verh.Text);
  94.             double eps = Convert.ToDouble(epsil.Text);
  95.             int n = 10;
  96.             double sum, sum2 = 0;
  97.             do
  98.             {
  99.                 sum = sum2;
  100.                 sum2 = 0;
  101.                 double h = (b - a) / n;
  102.                 double x = a + h;
  103.                 if (radioButton1.Checked)
  104.                 {
  105.                     while (x <= b)
  106.                     {
  107.                         sum2 += f1(x) * h;
  108.                         x += h;
  109.                     }
  110.                 }
  111.                 if (radioButton2.Checked)
  112.                 {
  113.                     while (x <= b)
  114.                     {
  115.                         sum2 += f2(x) * h;
  116.                         x += h;
  117.                     }
  118.                 }
  119.                 if (radioButton3.Checked)
  120.                 {
  121.                     while (x <= b)
  122.                     {
  123.                         sum2 += f3(x) * h;
  124.                         x += h;
  125.                     }
  126.                 }
  127.                 if (radioButton4.Checked)
  128.                 {
  129.                     while (x <= b)
  130.                     {
  131.                          sum2+= f4(x) * h;
  132.                         x += h;
  133.                     }
  134.                 }
  135.                 n *= 2;
  136.             } while (Math.Abs(sum - sum2) > eps);
  137.             result.Text = "Ответ: " + sum2.ToString();
  138.         }
  139.             #region(FUNC)
  140.             double f1(double x)
  141.         {
  142.             double c = Convert.ToDouble(a1.Text);
  143.             double d = Convert.ToDouble(b1.Text);
  144.             return c + Math.Sin(x) / d;
  145.         }
  146.         double f2(double x)
  147.         {
  148.             double c = Convert.ToDouble(a1.Text);
  149.             double d = Convert.ToDouble(b1.Text);
  150.             return c + Math.Cos(x) / d;
  151.         }
  152.         double f3 (double x)
  153.         {
  154.             double c = Convert.ToDouble(a1.Text);
  155.             double d = Convert.ToDouble(b1.Text);
  156.             return Math.Sqrt(d * x + c);
  157.         }
  158.         double f4(double x)
  159.         {
  160.             double c = Convert.ToDouble(a1.Text);
  161.             double d = Convert.ToDouble(b1.Text);
  162.             return d * (1 / x) + c;
  163.         }
  164.         #endregion(FUNC)
  165.  
  166.         private void ClearResult(object sender, EventArgs e)
  167.         {
  168.             result.Text = null;
  169.         }
  170.        
  171.         private void graf_Click(object sender, EventArgs e)
  172.         {
  173.             DrawGraph();
  174.         }
  175.         private void DrawGraph()
  176.         {
  177.             GraphPane pane = zedGraph.GraphPane;
  178.             pane.CurveList.Clear();
  179.             PointPairList list = new PointPairList();
  180.             LineItem myCurve = pane.AddCurve("Sinc", list, Color.Blue, SymbolType.None);
  181.             pane.XAxis.Cross = 0.0;
  182.             pane.YAxis.Cross = 0.0;
  183.             pane.XAxis.Scale.IsSkipFirstLabel = true;
  184.             pane.XAxis.Scale.IsSkipLastLabel = true;
  185.             pane.XAxis.Scale.IsSkipCrossLabel = true;
  186.             pane.YAxis.Scale.IsSkipFirstLabel = true;
  187.             pane.YAxis.Scale.IsSkipLastLabel = true;
  188.             pane.YAxis.Scale.IsSkipCrossLabel = true;
  189.             for (int i = 0; i <99999 ; i++)
  190.             {
  191.               list.Add(x1[i], x2[i]);
  192.             }
  193.  
  194.             zedGraph.AxisChange();
  195.             zedGraph.Invalidate();
  196.  
  197.         }
  198.         }
  199.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы