The codes and demo examples for the manuscript 'Gaussian Process functional regression modelling for Batch data'.

demo.m: a simple demo example of GPFR, which reads training data from train_data.mat and test data from 
        test_data.mat

train_data.mat: training data file. In which: (assume that the number of training curves is M)
	U:         M x p matrix. Each row represents the known class variable U of the corresponding
                   training curve
	traindata: M x 1 cells structure. Each cell is a matrix in which the first column is time variable,
	           the last column is output variable, and the other columns are input variables.
	truey:     M x 1 cells structure. Each cell is a vector representing the true mean.
	rny:       M x 1 cells structure. Each cell is a vector representing the true mean plus random error.

test_data.mat: test data file. In which:
	Ut:        1 x p vector, representing the known class variable U of the test curve
	inputdata: matrix, in which the first column is time points, the last column is output points of the
                   test curve, and the other columns are input points of the test curve.
        testdata:  matrix, in which the first column is test time points, the last column is true output 
                   value of the test curve (for use of computing rmse and r), and the other columns are
                   input points at the test times.

demo_2d.m: a simple demo example of GPFR with 2 dimentional inputs, which reads training data from
	   train_data_2d.mat and test data from test_data_2d.mat. They have the same structure as
           train_data.mat and test_data.mat.

example1.m: the detailed example of section 3.1 of the paper

examkstep.m: multiple-step-ahead forecasting, section 3.2 of the paper