Значению интервала не может быть присвоено отрицательное число.C#
Данный код строит график функции
и график произвольной функции, код выдаёт ошибку с отрицательными числами в значении Stepdx (System.ArgumentException: "Значению интервала не может быть присвоено отрицательное число.) с положительными всё работает, помогите решить данную проблему и подскажите сам код вообще правильно строит график или я перепутал где Xmin и Xmax.
Код:
namespace _99999999
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Считываем с формы требуемые значения
double Xmin0 = double.Parse(textBox1.Text);
double Xmaxk = double.Parse(textBox2.Text);
double Stepdx = double.Parse(textBox3.Text);
double b = double.Parse(textBox4.Text);
double a = double.Parse(textBox5.Text);
// Количество точек графика
int count = (int)Math.Ceiling((Xmaxk - Xmin0) / Stepdx) + 1;
// Массив значений X – общий для обоих графиков
double[] x = new double[count];
// Два массива Y – по одному для каждого графика
double[] y1 = new double[count];
double[] y2 = new double[count];
// Расчитываем точки для графиков функции
for (int i = 0; i < count; i++)
{
// Вычисляем значение X
x[i] = Xmin0 + Stepdx * i;
// Вычисляем значение функций в точке X
y1[i] = x[i] * Math.Sin(Math.Sqrt(x[i] + b - a)); ;
y2[i] = (Math.Sqrt(x[i]));
}
// Настраиваем оси графика
chart1.ChartAreas[0].AxisX.Minimum = Xmin0;
chart1.ChartAreas[0].AxisX.Maximum = Xmaxk;
// Определяем шаг сетки
chart1.ChartAreas[0].AxisX.MajorGrid.Interval = Stepdx; //Строка с ошибкой
// Добавляем вычисленные значения в графики
chart1.Series[0].Points.DataBindXY(x, y1);
chart1.Series[1].Points.DataBindXY(x, y2);
}
}
}
