function [QQ QQV QQA tT]= MultiPolyTraj5taOrd(Q,t,N)
%% Retorna uma trajetoria polinomial de quinta ordem passando por via points
% INPUT
% Q – matriz com os vectores iniciais, finais e intermédios das posições a percorrer
%       As velocidades e aceleracoes iniciais/finais são zero
% t – vetor com os instantes finais de cada via point
% N – numero de pontos a usar em cada sub-trajetoria
% OUTPUT
% QQ e a matriz onde em cada coluna estao os valores das juntas
%    nos instantes correspondentes, incluindo os via points.
% tT e a matriz do tempo total.

if size(t,2)~=size(Q,2)
    QQ=NaN; tT=NaN; return;
end

QQ=[]; QQV=[];
QQA=[]; tT=[];

for i=1:size(Q,2)-1
    
    t0=t(i);
    tf=t(i+1);
    Q0=Q(:,i);
    Qf=Q(:,i+1);
    
    [QQt QQVt QQAt tt]=PolyTraj5taOrd(Q0,Qf,N,t0,tf);
    
    QQ=[QQ QQt];
    QQV=[QQV QQVt];
    QQA=[QQA QQAt];
    tT=[tT tt];

end