private void button1_Click(object sender, EventArgs e)
{
method = comboBox1.SelectedIndex;
number = int.Parse((string)comboBox2.SelectedItem);
if (method == 2 || method == 3 && number > 5)
{
number = 5;
}
if (method == 1)
{
if (number > 11)
{
number = 11;
}
series = new Series(1.6, number, f);
}
else if (method == 0)
{
double[] fy = new double[number + 1];
double h = 3.2 / number;
double x = -1.6;
for (int i = 0; i <= number; i++)
{
fy[i] = f(x);
x += h;
}
inter = new Interpolate();
coeff = inter.ChebyshevCalculateCoefficients(number, fy);
}
else if (method == 2)
{
lx = new double[Split, number + 1];
ly = new double[Split, number + 1];
double[] y = new double[number + 1];
double[] z = new double[number + 1];
double h = 3.2 / (number * Split);
double x = -1.6;
inter = new Interpolate();
for (int i = 0; i < Split; i++)
{
for (int j = 0; j <= number; j++)
{
z[j] = lx[i, j] = x;
y[j] = ly[i, j] = f(x);
x += h;
}
}
inter = new Interpolate();
}
else if (method == 3)
{
nx = new double[Split, number + 1];
ny = new double[Split, number + 1];
double[] y = new double[number + 1];
double[] z = new double[number + 1];
double h = 3.2 / (number * Split);
double x = -1.6;
inter = new Interpolate();
for (int i = 0; i < Split; i++)
{
for (int j = 0; j <= number; j++)
{
z[j] = nx[i, j] = x;
y[j] = f(x);
x += h;
}
inter.Newton(number, z, y);
for (int j = 0; j <= number; j++)
{
ny[i, j] = y[j];
}
}
}
else if (method == 4)
{
double h = 3.2 / number;
double x = -1.6;
complex = new Complex();
cy = new Complex[number + 1];
tx = new double[number + 1];
ty = new double[number + 1];
for (int j = 0; j <= number; j++)
{
tx[j] = x;
ty[j] = f(x);
x += h;
}
cy = complex.DFT(ty);
}
panel1.Invalidate();
}