public void Derivation(DataTable ddd, ref DataTable result, int K, ref double[, ,] p, double Y)//平滑并求导,tt为真则是对土壤库求导,否则是对样本库求导,K为放大倍数,Y为=0的阈值
        {
            DataTable temp = new DataTable();
            Smooth    sth  = new Smooth();

            sth.Plot5(ddd, ref temp);
            for (int i = 1; i < ddd.Rows.Count; i++)
            {
                int TEMP = 0;//计算有多少个极大值点
                for (int j = 13; j < temp.Columns.Count - 5; j++)
                {
                    //计算曲线各个位置上的一阶导数(用差分代替微分)
                    result.Rows[i][j] = K * (Convert.ToDouble(temp.Rows[i][j]) - Convert.ToDouble(temp.Rows[i][j - 1]));
                    if (Math.Abs(Convert.ToDouble(result.Rows[i][j])) < Y && (Convert.ToDouble(temp.Rows[i][j - 5]) < Convert.ToDouble(temp.Rows[i][j])) && (Convert.ToDouble(temp.Rows[i][j + 5]) < Convert.ToDouble(temp.Rows[i][j])))
                    {
                        p[i, TEMP, 0] = j;
                        p[i, TEMP, 1] = Convert.ToDouble(temp.Rows[i][j]);
                        TEMP++;
                    }
                }
                result.Rows[i][7] = 0;//单独给第一个点赋值
            }
        }