private void gridCoefficients(){

    	    double[] xt = new double[4];
    	    this.coeff = new double[this.nPoints][4];
    	    double d1 = 0.0;
    	    for(int i=0; i<this.nPoints-1; i++){
    	        d1 = this.x[i+1] - this.x[i];
    	        xt[0] = this.y[i];
    	        xt[1] = this.y[i+1];
    	        xt[2] = this.dydx[i]*d1;
    	        xt[3] = this.dydx[i+1]*d1;

                double xh = 0.0;
    	        for(int k=0; k<4; k++){
    	            for(int kk=0; kk<4; kk++){
    	                xh += this.weights[k][kk]*xt[kk];
    	            }
    	            this.coeff[i][k] = xh;
    	            xh = 0.0;
    	        }
    	    }
    	}