File tree Expand file tree Collapse file tree 1 file changed +13
-15
lines changed Expand file tree Collapse file tree 1 file changed +13
-15
lines changed Original file line number Diff line number Diff line change 11%% MATLABOLDERTHAN compare Matlab release name only e.g. R2025a
2- % works back to Matlab R2011b at least
2+ % works for Matlab >= R2016b
3+ %
4+ % our simpler checks is about 200x faster than isMATLABReleaseOlderThan(release)
35
46function isOlder = matlabOlderThan(release )
57
6- try
7- isOlder = isMATLABReleaseOlderThan(release );
8- catch e
9- if ~strcmp(e .identifier , ' MATLAB:UndefinedFunction' )
10- rethrow(e )
11- end
8+ % converting to char about 2x fast as extract*() on string()
9+ % length on char 10+% faster than strlength(string())
10+ r = char(release );
11+ assert(length(r ) == 6 && r(1 ) == ' R' , ' Matlab release must be like '' R2025a'' ' )
1212
13- r = char(release );
14- assert(length(r ) == 6 && r(1 ) == ' R' , ' Release must be a string like '' R2025a'' ' )
13+ curr = version(' -release' );
1514
16- curr = version(' -release' );
15+ if strcmp(curr(1 : 4 ), r(2 : 5 ))
16+ isOlder = curr(5 ) < r(6 );
17+ else
18+ % string() lessThan comparison about same speed as str2double()
1719 nc = str2double(curr(1 : 4 ));
1820 nv = str2double(r(2 : 5 ));
19- if nc == nv
20- isOlder = curr(5 ) < r(6 );
21- else
22- isOlder = nc < nv ;
23- end
21+ isOlder = nc < nv ;
2422end
2523
2624end
You can’t perform that action at this time.
0 commit comments