Skip to content
Snippets Groups Projects
Commit c3169344 authored by Markus Mirz's avatar Markus Mirz
Browse files

use dpsim code for simulink csv and .real and .imag

parent 240b3a2e
No related branches found
No related tags found
No related merge requests found
......@@ -56,20 +56,47 @@ def read_timeseries_PLECS(filename, timeseries_names=None):
def read_timeseries_simulink(filename, timeseries_names=None):
pd_df = pd.read_csv(filename)
timeseries_list = []
timeseries_list = {}
cmpl_result_columns = []
real_result_columns = []
if timeseries_names is None:
# No trajectory names specified, thus read in all
timeseries_names = list(pd_df.columns.values)
timeseries_names.remove('time')
for name in timeseries_names:
timeseries_list.append(TimeSeries(name, pd_df['time'].values, pd_df[name].values))
# No column names specified, thus read in all and strip off spaces
pd_df.rename(columns=lambda x: x.strip(), inplace=True)
column_names = list(pd_df.columns.values)
# Remove timestamps column name and store separately
column_names.remove('time')
timestamps = pd_df.iloc[:, 0]
# Find real and complex variable names
real_string = '.real'
imaginary_string = '.imag'
for column in column_names:
if real_string in column:
tmp = column.replace(real_string, '')
cmpl_result_columns.append(tmp)
#print("Found complex variable: " + tmp)
elif not imaginary_string in column:
real_result_columns.append(column)
#print("Found real variable: " + column)
for column in real_result_columns:
timeseries_list[column] = TimeSeries(column, timestamps, pd_df[column])
for column in cmpl_result_columns:
timeseries_list[column] = TimeSeries(column, timestamps,
np.vectorize(complex)(pd_df[column + real_string],
pd_df[column + imaginary_string]))
else:
# Read in specified time series
for name in timeseries_names:
timeseries_list.append(TimeSeries(name, pd_df['time'].values, pd_df[name].values))
print('cannot read specified columns yet')
print('Simulink results column names: ' + str(timeseries_names))
print('Simulink results number: ' + str(len(timeseries_list)))
print('Simulink results real column names: ' + str(real_result_columns))
print('Simulink results complex column names: ' + str(cmpl_result_columns))
print('Simulink results variable number: ' + str(len(timeseries_list)))
print('Simulink results length: ' + str(len(timestamps)))
return timeseries_list
......@@ -95,8 +122,8 @@ def read_timeseries_dpsim(filename, timeseries_names=None):
timestamps = pd_df.iloc[:, 0]
# Find real and complex variable names
real_string = '_re'
imaginary_string = '_im'
real_string = '.real'
imaginary_string = '.imag'
for column in column_names:
if real_string in column:
tmp = column.replace(real_string, '')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment