
function [y_predict] = kr(x_train,y_train, x_predict, h)

SizeOfX = size(x_train,1);
n = size(x_predict, 1);
x_predictT = x_predict';
x_trainT = x_train';

y_predict = zeros(n,1);
W = zeros(SizeOfX, 1);

c = 2 * h ^ 2;

for i = 1:n
    
    for j = 1:SizeOfX
        W(j) = exp(-sum((x_predictT(:,i) - x_trainT(:,j)) .^ 2) / c );
    end

    K = sum(W);
    if K == 0
        y_predict(i) = 0;
    else
        y_predict(i) = sum(W .* y_train) / K;
    end
end
