Значению интервала не может быть присвоено отрицательное число.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);
        }
    
    }
}

Ответы (0 шт):