xxsimWriteLogToCsv - writes logged variables to a comma separated value (csv) file. Syntax: retval = xxsimWriteLogToCsv(logFileName, logVariables) Inputs: logFileName = name of csv file e.g 'parametersList.csv'. logVariables = list of variables e.g {'time', 'LogVarTest.v1'}. Note: make sure the variable name exists in active model. If not, an error message will be returned. Outputs: retval = returns true if all arguments are valid, false otherwise. Examples: xxsimWriteLogToCsv('Example.csv','time'); Write the log variable time to Example.csv. Note: time should be set as log variable before simulation, by using xxsimSetLogVariables. xxsimWriteLogToCsv('Example.csv',{'time','Position.x'}); Write the log variables time and Position.x to Example.csv. Note: time and Position.x should be set as log variable before simulation, by using xxsimSetLogVariables. See also: xxsimSetLogVariables Author: Controllab Products B.V. email: info@controllab.nl Website: http://www.controllab.nl September 2013
0001 function [retval] = xxsimWriteLogToCsv(logFileName, logVariables) 0002 % xxsimWriteLogToCsv - writes logged variables to a comma separated value (csv) file. 0003 % 0004 % Syntax: 0005 % retval = xxsimWriteLogToCsv(logFileName, logVariables) 0006 % 0007 % Inputs: 0008 % logFileName = name of csv file e.g 'parametersList.csv'. 0009 % logVariables = list of variables e.g {'time', 'LogVarTest.v1'}. 0010 % Note: make sure the variable name exists in active model. 0011 % If not, an error message will be returned. 0012 % 0013 % Outputs: 0014 % retval = returns true if all arguments are valid, false otherwise. 0015 % 0016 % Examples: 0017 % xxsimWriteLogToCsv('Example.csv','time'); 0018 % Write the log variable time to Example.csv. 0019 % Note: time should be set as log variable before simulation, by using 0020 % xxsimSetLogVariables. 0021 % xxsimWriteLogToCsv('Example.csv',{'time','Position.x'}); 0022 % Write the log variables time and Position.x to Example.csv. 0023 % Note: time and Position.x should be set as log variable before 0024 % simulation, by using xxsimSetLogVariables. 0025 % 0026 % See also: xxsimSetLogVariables 0027 % 0028 % Author: Controllab Products B.V. 0029 % email: info@controllab.nl 0030 % Website: http://www.controllab.nl 0031 % September 2013 0032 0033 %------------- BEGIN CODE -------------- 0034 retval = false; 0035 0036 %check if the model file exists 0037 if ~exist(logFileName, 'file') 0038 %create an empty file in order to retrieve the absolute file path 0039 fid = fopen(logFileName, 'w'); 0040 fclose(fid); 0041 end 0042 0043 [status, result, msgid] = fileattrib(logFileName); 0044 if status == 1 0045 0046 % use the full resolved name, and we're done 0047 useFilename = result.Name; 0048 else 0049 0050 % check if the user provided a full name 0051 [directory, name, extension] = fileparts(logFileName); 0052 0053 % is an extension given? 0054 if length(extension) == 0 0055 extension = '.csv'; 0056 end 0057 0058 % is a directory given? 0059 if length(directory) == 0 0060 % use the current directory 0061 directory = pwd; 0062 end 0063 0064 useFilename = fullfile(directory, cstrcat(name, extension)); 0065 end 0066 0067 retval = xrlinvoke('xxsim.simulator.writeLogToCsv', struct('name', useFilename, 'variables', {{ logVariables, 'array' }} , 'overwrite', logical(1) ) ); 0068 if ( retval == false ) 0069 error('could not write log to csv-file'); 0070 end 0071 end 0072 %------------- END OF CODE --------------