function Estimation=EstimateTrajectorie(trajec, TransitionM)
trajec(:,2)=0;
Length=size(trajec,1);
dimHmm=siz(TransitionM,1);
steps=1M
precision=1.0000e-06;

javaclasspath({
   '/home/cocktail/luedge/mbtoolkit/torsten/FRETanalyser/netbeans_project/dist/lib/MolTools.jar',
   '/home/cocktail/luedge/mbtoolkit/torsten/FRETanalyser/src'
   '/home/cocktail/luedge/mbtoolkit/torsten/FRETanalyser/netbeans_project/dist/lib/colt.jar'
   '/home/cocktail/luedge/NetBeansProjects/Metamacs/dist/Metamacs.jar'
  });

import biocomp.metamacs.hmm.variants.*;

Viterbis = RandomSequenceGenerator(int Length, double[][] TransitionM, true);
InitViterbiPath=Viterbis.generateSequence();

hmm=HMMVAR(double[][] trajec, int dimHmm, 1, []); % mit der 1 entspricht das HMM-SDE
hmm.initializeModel(int[] InitViterbiPath) % Zustände sind numeriert von 0,...,dimHmm-1
hmm.EM(int steps, double precision, boolean loud) % precision istAbbruchskriterium
Estimation.viterbi=hmm.computeViterbiPath(); % Viterbi Pfad berechnen

S=hmm.getCovariances();
Estimation.Cov=squeeze(S(1,:,:));
Phi=hmm.getRegressionMatrices;
Estimation.Regres=squeeze(Phi(1,:,:));
Estimation.expTauF=Phi(:,2:size(Phi,2));
Estimation.mu=inv(eye(size(expTauF))-expTauF)*Phi(1,:);