0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 function varargout = update_struct(varargin)
0019
0020 obj_struct = varargin{1};
0021 struct_ver = varargin{2};
0022
0023
0024 tbx_ver = strtok(getappdata(0, 'ltpda_version'));
0025
0026
0027 struct_ver = strtok(struct_ver);
0028
0029
0030
0031 if utils.helper.ver2num(struct_ver) < utils.helper.ver2num(tbx_ver) && ...
0032 strcmp(struct_ver, '1.0')
0033
0034 try
0035 obj_struct = rmfield(obj_struct, 'name');
0036 obj_struct = rmfield(obj_struct, 'created');
0037
0038
0039 if isempty(obj_struct.fs)
0040 obj_struct.fs = NaN;
0041 end
0042
0043 catch ME
0044 disp(varargin{1});
0045 throw(addCause(ME, MException('MATLAB:LTPDA','### The struct (fsdata) above is not from version 1.0')));
0046 end
0047
0048
0049 struct_ver = '1.9.1';
0050
0051 end
0052
0053
0054
0055 if utils.helper.ver2num(struct_ver) < utils.helper.ver2num(tbx_ver) && ...
0056 strcmp(struct_ver, '1.9.1')
0057
0058
0059
0060 try
0061 uo = unit(obj_struct.yunits);
0062 catch
0063 warning('!!! This XML file contains a fsdata object with unsupported y-units [%s]. Setting to empty.', obj_struct.yunits);
0064 obj_struct.yunits = '';
0065 end
0066
0067
0068 try
0069 uo = unit(obj_struct.xunits);
0070 catch
0071 warning('!!! This XML file contains a fsdata object with unsupported x-units [%s]. Setting to empty.', obj_struct.xunits);
0072 obj_struct.xunits = '';
0073 end
0074
0075
0076 struct_ver = '1.9.2';
0077
0078 end
0079
0080
0081
0082 if utils.helper.ver2num(struct_ver) < utils.helper.ver2num(tbx_ver) && ...
0083 strcmp(struct_ver, '1.9.2')
0084
0085
0086 struct_ver = '1.9.3';
0087
0088 end
0089
0090 varargout{1} = obj_struct;
0091 end
0092
0093