function [X] = pointmilieu(a, t0, T, N, f)
p = size (a, 1);
X = zeros (p, N);
h = T / N;
t = t0;
X(:, 1) = a;
for j = 1:N-1
K0 = f( t, X(:, j))
K1 = f( t + h/2, X(:, j) + h * K0/2)
X(:, j+1) = X(:, j) + h * K1
t = t + h;
end
endfunction