Eigen::MatrixXd ExperimentalTrajectory::kernelFunction(Eigen::VectorXd& evalVec)
{
    int sizeVec = evalVec.rows();
    int nC = kernelCenters.rows();
    int nS = maxCovariance.rows();

    Eigen::MatrixXd blockDiagonalResult = Eigen::MatrixXd::Zero((nS*sizeVec), (nS*nC));

    for(int i=0; i<sizeVec; i++)
    {
        blockDiagonalResult.middleRows(i*nS, nS) = kernelFunction(evalVec(i));
    }

    return blockDiagonalResult;

}