Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции. Имя параметра: index'
при компиляции программы выходит ошибка: "System.ArgumentOutOfRangeException: 'Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции. Имя параметра: index' "
Код программы: `
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double F, m, b, k, h, t, w;
private void button1_Click(object sender, EventArgs e)
{
double Z0 = 0, X0 = 0, ti = 0;
double k1, k2, k3, k4, l1, l2, l3, l4 = 0;
int i = 0;
m_ReadVar();
while (ti < t)
{
i += 1;
ti = i * h;
k1 = h * Z0;
l1 = (h / m) * ((Math.Abs(F * Math.Cos(w * ti)) - (b * Z0) - (k * X0)));
k2 = h * (Z0 + l1 / 2);
l2 = (h / m) * ((Math.Abs(F * Math.Cos(w * (ti + h / 2))) - (b * (Z0 + l1 / 2)) - (k * (X0 + k1 / 2))));
k3 = h * (Z0 + l2 / 2);
l3 = (h / m) * ((Math.Abs(F * Math.Cos(w * (ti + h / 2))) - (b * (Z0 + l2 / 2)) - (k * (X0 + k2 / 2))));
k4 = h * (Z0 + l3);
l4 = (h / m) * (Math.Abs(F * Math.Cos(w * (ti + h))) - (b * (Z0 + l3)) - (k * (X0 + k3)));
X0 += (k1 + 2 * k2 + 2 * k3 + k4) / 6;
Z0 += (l1 + 2 * l2 + 2 * l3 + l4) / 6;
chart1.Series[0].Points.AddXY(ti, X0);
chart1.Series[1].Points.AddXY(ti, Math.Abs(F * Math.Cos(w * ti)));
if (Math.Abs(ti - 40) < h) { textBox8.Text = Math.Round(X0, 4).ToString(); }
}
}
private void m_ReadVar()
{
F = Convert.ToDouble(textBox1.Text);
m = Convert.ToDouble(textBox2.Text);
b = Convert.ToDouble(textBox3.Text);
w = Convert.ToDouble(textBox4.Text) * (180 / Math.PI);
k = Convert.ToDouble(textBox5.Text);
h = Convert.ToDouble(textBox6.Text);
t = Convert.ToDouble(textBox7.Text);
chart1.Series[0].Points.Clear();
chart1.Series[1].Points.Clear();
}
private void label8_Click(object sender, EventArgs e)
{
}
}
}
` Может я ошибся в составлении формы?
Заранее спасибо!

