123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- % Generates mat files for loadmat unit tests
- % This is the version for matlab 5 and higher
- % Uses save_matfile.m function
- % work out matlab version and file suffix for test files
- global FILEPREFIX FILESUFFIX
- FILEPREFIX = [fullfile(pwd, 'data') filesep];
- temp = ver('MATLAB');
- mlv = temp.Version;
- FILESUFFIX = ['_' mlv '_' computer '.mat'];
- % basic double array
- theta = 0:pi/4:2*pi;
- save_matfile('testdouble', theta);
- % string
- save_matfile('teststring', '"Do nine men interpret?" "Nine men," I nod.')
- % complex
- save_matfile('testcomplex', cos(theta) + 1j*sin(theta));
- % asymmetric array to check indexing
- a = zeros(3, 5);
- a(:,1) = [1:3]';
- a(1,:) = 1:5;
- % 2D matrix
- save_matfile('testmatrix', a);
- % minus number - tests signed int
- save_matfile('testminus', -1);
- % single character
- save_matfile('testonechar', 'r');
- % string array
- save_matfile('teststringarray', ['one '; 'two '; 'three']);
- % sparse array
- save_matfile('testsparse', sparse(a));
- % sparse complex array
- b = sparse(a);
- b(1,1) = b(1,1) + j;
- save_matfile('testsparsecomplex', b);
- % Two variables in same file
- save([FILEPREFIX 'testmulti' FILESUFFIX], 'a', 'theta')
- % struct
- save_matfile('teststruct', ...
- struct('stringfield','Rats live on no evil star.',...
- 'doublefield',[sqrt(2) exp(1) pi],...
- 'complexfield',(1+1j)*[sqrt(2) exp(1) pi]));
- % cell
- save_matfile('testcell', ...
- {['This cell contains this string and 3 arrays of increasing' ...
- ' length'], 1., 1.:2., 1.:3.});
- % scalar cell
- save_matfile('testscalarcell', {1})
- % Empty cells in two cell matrices
- save_matfile('testemptycell', {1, 2, [], [], 3});
- % 3D matrix
- save_matfile('test3dmatrix', reshape(1:24,[2 3 4]))
- % nested cell array
- save_matfile('testcellnest', {1, {2, 3, {4, 5}}});
- % nested struct
- save_matfile('teststructnest', struct('one', 1, 'two', ...
- struct('three', 'number 3')));
- % array of struct
- save_matfile('teststructarr', [struct('one', 1, 'two', 2) ...
- struct('one', 'number 1', 'two', 'number 2')]);
- % matlab object
- save_matfile('testobject', inline('x'))
- % array of matlab objects
- %save_matfile('testobjarr', [inline('x') inline('x')])
- % unicode test
- if str2num(mlv) > 7 % function added 7.0.1
- fid = fopen([FILEPREFIX 'japanese_utf8.txt']);
- from_japan = fread(fid, 'uint8')';
- fclose(fid);
- save_matfile('testunicode', native2unicode(from_japan, 'utf-8'));
- end
-
- % func
- if str2num(mlv) > 7 % function pointers added recently
- func = @afunc;
- save_matfile('testfunc', func);
- end
|