#c_sharp #winforms #график
Добрый день, подскажите пожалуйста, как построить график многочлена : сам многочлен p(x)=An*X^n + An-1*X^n-1+...+A1X+A0 int[] array= new int[10]; int i, num, power; float x; num=4; x=1; array[0] = 3; array[1] = -5; array[2] = 6; array[3] = 8; array[4] = -9; power = num; double k = 0; for (i = 0; i <= num; i++) { k += Math.Pow(x, power--) * array[i]; // richTextBox1.AppendText(Convert.ToString(k) +"\n"); } как щас построить график ?
Ответы
Ответ 1
Для начала вам будет достаточно стандартного класса Chart, хотя есть и сторонние компоненты для построения красивых графиков, но мне кажется, что сначала лучше разобраться со стандартным контролом. В документации на MSDN есть довольно подробный Tutorial. Основные моменты покажу в коде, подробности в официальной документации. class ChartForm : Form { public ChartForm() { //создаем элемент Chart Chart myChart = new Chart(); //кладем его на форму и растягиваем на все окно. myChart.Parent = this; myChart.Dock = DockStyle.Fill; //добавляем в Chart область для рисования графиков, их может быть //много, поэтому даем ей имя. myChart.ChartAreas.Add(new ChartArea("Math functions")); //Создаем и настраиваем набор точек для рисования графика, в том //не забыв указать имя области на которой хотим отобразить этот //набор точек. Series mySeriesOfPoint = new Series("Sinus"); mySeriesOfPoint.ChartType = SeriesChartType.Line; mySeriesOfPoint.ChartArea = "Math functions"; for (double x = -Math.PI; x <= Math.PI; x += Math.PI / 10.0) { mySeriesOfPoint.Points.AddXY(x, Math.Sin(x)); } //Добавляем созданный набор точек в Chart myChart.Series.Add(mySeriesOfPoint); } } Вот собственно минимум кода для рисования графика на форме. Здесь не приведены ни настройки осей координат и сетки, ни другие графические рюшечки которые поддерживает данный контрол, т.к. примеры применения практически всех возможностей этого контрола есть в официальной документации, ссылка выше. Дополнение: Вам нужно вычисление многочлена вынести в отдельную функцию. Это можно сделать например так double Polynom(double x, double[] coefficients) { double y = 0.0; double currentX = 1.0; for(int i = 0; i
Комментариев нет:
Отправить комментарий