1function spline = CubicSplineTrajectory_single(startTime,duration,x)
 2% spline = CubicSplineTrajectory(startTime,duration,x) with
 3% startTime = [1x1]
 4% duration = [Nx1]
 5% x = [(N+1)x2]
 6% returns a (N+1)-knots spline
 7
 8%#codegen 
 9
10nSplines = numel(duration);
11spline.startTime = zeros(nSplines, 1);
12spline.duration = duration;
13spline.coefs = zeros(nSplines, 4);
14
15for i = 1:nSplines
16    spline.startTime(i) = startTime + sum(duration(1:(i - 1)));
17    spline.coefs(i, :) = setcoefs(x(i, :) .* [1 duration(i)], x(i + 1, :) .* [1 duration(i)]);
18end
19
20if nargin==0 % empty spline
21    spline.startTime = [];
22    spline.duration = [];
23    spline.coefs = zeros();
24    return
25end
26