%% .sto file generator function StoGen(time, Data, path_prefix, Fs, TrackSegments) fid = fopen([path_prefix, 'orientations.sto'],'w'); fprintf(fid,'%s%.1f\n','DataRate=',Fs); fprintf(fid,'%s\n','DataType=Quaternion'); fprintf(fid,'%s\n','version=3'); fprintf(fid,'%s\n','OpenSimVersion=4.1'); fprintf(fid,'%s\n','endheader'); fprintf(fid,'%s','time'); for i=1:length(TrackSegments) fprintf(fid,'\t%s',TrackSegments{i}); end fprintf(fid,'\n'); fprintf(fid,'%.4f\t',0); fprintf(fid,'%.6f%s',Data(2,1),',',Data(3,1),',',Data(4,1),',',Data(5,1)); for j=2:size(Data,1)/5 fprintf(fid,'%s\t',','); fprintf(fid,'%.6f%s',Data(j*5-3,1),',',Data(j*5-2,1),',',Data(j*5-1,1),',',Data(j*5,1)); end fprintf(fid,'\n'); for i=1:size(Data,2) fprintf(fid,'%.4f\t',time(i)); fprintf(fid,'%.6f%s',Data(2,i),',',Data(3,i),',',Data(4,i),',',Data(5,i)); for j=2:size(Data,1)/5 fprintf(fid,'%s\t',','); fprintf(fid,'%.6f%s',Data(j*5-3,i),',',Data(j*5-2,i),',',Data(j*5-1,i),',',Data(j*5,i)); end fprintf(fid,'\n'); end fclose(fid); end