mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sw-plotting-tool.git
synced 2025-06-09 17:46:00 +00:00
78 lines
1.8 KiB
Matlab
78 lines
1.8 KiB
Matlab
close all
|
|
clc
|
|
format longg
|
|
|
|
inputPath = ".\Bsp1Coriolis.txt";
|
|
outputPath = ".\CoriolisGoodFormat.csv";
|
|
|
|
Table=readtable(inputPath, 'VariableNamingRule','preserve');
|
|
|
|
time = Table(:,2);
|
|
secs = Table(:,3);
|
|
|
|
%channel identification
|
|
channels = Table.Properties.VariableNames;
|
|
channels = string(channels)';
|
|
channels(1:3) = [];
|
|
|
|
data = Table(:,4);
|
|
|
|
%time conversion
|
|
time = table2array(time);
|
|
secs = table2array(secs);
|
|
|
|
connectArrays = strcat(time, secs);
|
|
timeArray = datetime(connectArrays, 'InputFormat', 'HH:mmss,SSS');
|
|
timeArray.Format = 'mm:ss.SSS';
|
|
|
|
times = double(convertTo(timeArray,'epochtime', 'Epoch', timeArray(1), 'TicksPerSecond', 1000)) ./ 1000.0;
|
|
|
|
%convert column to array
|
|
arrayData = times;
|
|
|
|
for channel = 1: length(channels)
|
|
data = table2array(Table(:, 3 + channel));
|
|
data = strrep(data, ',', '.');
|
|
data = str2double(data);
|
|
|
|
if ~isnan(data)
|
|
arrayData = cat(2, arrayData, data);
|
|
end
|
|
end
|
|
|
|
% read header because read table can't handle spaces in channel name
|
|
fid = fopen(inputPath);
|
|
% Read all lines & collect in cell array
|
|
txt = textscan(fid,'%s','delimiter','\n');
|
|
% Read header Line
|
|
Val = txt{1}(1);
|
|
headers = Val{1};
|
|
headers = split(headers);
|
|
|
|
%fix units
|
|
headerNames = [];
|
|
count = 1;
|
|
|
|
for header = 3: length(headers)
|
|
|
|
if headers{header}(1) ~= '(' && strcmp(headers{header}, 'Mass')
|
|
% Special rule for "Total Mass", since the space is horrible
|
|
headerNames{count-1} = strcat(headerNames{count-1}, headers{header});
|
|
elseif headers{header}(1) ~= '('
|
|
headerNames{count} = headers{header};
|
|
count = count + 1;
|
|
end
|
|
end
|
|
|
|
headerNames = cell2mat(join(headerNames, ";"));
|
|
|
|
fid = fopen(outputPath, "wt");
|
|
fprintf(fid, '\n');
|
|
fprintf(fid, '\n');
|
|
fprintf(fid, headerNames);
|
|
fprintf(fid, '\n');
|
|
|
|
writematrix(arrayData, outputPath, 'WriteMode', 'append', 'Delimiter', ';');
|
|
|
|
fclose('all');
|