Страницы

Поиск по вопросам

пятница, 7 февраля 2020 г.

Построить график c#

#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

Комментариев нет:

Отправить комментарий