.NET 4.x Разработать программу для построения графиков функции - C#

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

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

Разработать программу для построения графиков функции. Считать из файла, указанного пользователем значения абсциссы Х (не менее 20 значений), произвести сортировку Х по возрастанию, рассчитать для них значения ординаты У, записать результат вычисления в новый файл в формате: Х1 У1а У1в Х2 У2а У2в Диапазон изменения значений переменной x — произвольный, задаваемый пользователем с учётом областей определения функций. 1- функция (|x-1|/2)-1.75 2- функция (x/3)cos(x-1-(П/3))

Решение задачи: «.NET 4.x Разработать программу для построения графиков функции»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ZedGraph;
using System.IO;
 
namespace WindowsFormsApplication1
{
    public partial class app : Form
    {
        public app()
        {
            InitializeComponent();
            
        }
 
        
        
        public void Open_Click(object sender, EventArgs e)
        {
 
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Filter = "Текстовый документ |*.txt";
            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                char[] delimiter = new char[] { '\n', '\t', ' ', '\r' };
                string[] s = File.ReadAllText(dialog.FileName).Split(delimiter,
                StringSplitOptions.RemoveEmptyEntries);
            
                double[] xValues = (from val in s let res = double.Parse(val) 
                                            orderby res select res).Distinct().ToArray();
                GraphPane pane = zedGraph.GraphPane; // Получим панель для рисования
                // Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
                pane.CurveList.Clear();
                PointPairList f1_list = new PointPairList(); // Создадим список точек для кривой Графика №1
                PointPairList f2_list = new PointPairList(); // Создадим список точек для кривой Графика №2
                // Заполним массив точек для Графика №1
                foreach (float x in xValues)
                {
                    double y = (x / 3f) * Math.Cos(x - 1f - (Math.PI / 3f));
                    f1_list.Add(x, y);
                }
                // Заполним массив точек для Графика №2
                // Интервал и шаги по X могут не совпадать на разных кривых
                foreach (float x in xValues)
                {
                    double y = (Math.Abs(x - 1) / 2) * 1.75;
                    f2_list.Add(x, y);
                }
                // Создадим кривую с названием "График №1", 
                // которая будет рисоваться голубым цветом (Color.Blue),
                // Опорные точки будут выделяться плюсиками (SymbolType.Plus)
                LineItem f1_curve = pane.AddCurve("График №1", f1_list, Color.Blue, SymbolType.Plus);
                // Создадим кривую с названием "График №2", 
                // которая будет рисоваться красным цветом (Color.Red),
                // Опорные точки будут выделяться плюсиками (SymbolType.Plus)
                LineItem f2_curve = pane.AddCurve("График №2", f2_list, Color.Red, SymbolType.Plus);
 
                // Вызываем метод AxisChange (), чтобы обновить данные об осях. 
                // В противном случае на рисунке будет показана только часть графика, 
                // которая умещается в интервалы по осям, установленные по умолчанию
                zedGraph.AxisChange();
                // Обновляем график
                zedGraph.Invalidate();
            }
        }
 
        private void Save_Btn_Click(object sender, EventArgs e)
        {
 
        }
 
        private void Save_img_Btn_Click(object sender, EventArgs e)
        {
            // Для сохранения картинки всего компонента ZedGraphControl 
            // достаточно вызвать метод SaveAsBitmap().
            // Создание и показ диалога выбора имени файла возьмет на себя ZedGraphControl
            zedGraph.SaveAsBitmap();
        }
    }
}

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


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

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

14   голосов , оценка 4.143 из 5
Похожие ответы