⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmatvar.m

📁 雷达信号处理、或阵列信号处理中能够用上的重要的matlab工具箱——阵列信号处理工具箱
💻 M
字号:
% [ ]Ok *** TEST ***% of: Test of record variables in Matlab.% Sign:		Datum:%% *****************************************************************************% RECVAR, A package for new data types in Matlab 4. % (c) FOA 1997. See the file rvright.m for copyright notice.%%  A test program for the package for record type variables in Matlab.%%  Start        : 951129 Svante Bj鰎klund (svabj).%  Latest change: $Date: 1997/08/20 13:22:14 $ $Author: svabj $.%  $Revision: 2.6 $% *****************************************************************************disp('Test of record variables in Matlab.')disp('Don''t forget to compile mex-files before the test.')testnr=input('Choose testno: ');while (isempty(testnr))	testnr=input('Choose testno: ');endmore onif (testnr==1)% *****************************************************************************% [ ] mparam : Test 1% Sign:		Datum:%% *****************************************************************************% Comments:clear A B% [ ]disp('Test 1a')A = setr([],'namn',4)size(A) B = getr(A,'namn')B = getr(A,'namn')% Expected result :	%	A = rubbish 	(with Matlab 4)%	[13,1] 		(on SUN)%	B = 4%	B = 4% Real result :% [ ]disp('Test 1b')size(A)A = setr(A,'namn',5);size(A)A = setr(A,'namn',5);size(A)B = getr(A,'namn')% Expected result :%	[13,1] 		(on SUN)%	[13,1] 		(on SUN)%	[13,1] 		(on SUN)%	B = 5%	% Real result :% [ ]disp('Test 1c')A = setr(A,'matris',[1 2 3; 4 5 6]);size(A)getr(A,'namn')getr(A,'matris')A = setr(A,'namn',6);size(A)getr(A,'namn')getr(A,'matris')A = setr(A,'matris',[7 8]');size(A)getr(A,'namn')getr(A,'matris')% Expected result :%	[27,1]		(on SUN)%	5%	[1 2 3; 4 5 6]%	[27,1]		(on SUN)%	6%	[1 2 3; 4 5 6]%	[23,1]		(on SUN)%	6%	[7; 8]% Real result :% [ ]% Test of save and load with record variable.disp('Test 1e')A = setr([],'namn',9)';A = setr(A,'matris',[11 13]');save testfile Aclear Aload testfilegetr(A,'namn')getr(A,'matris')% Expected result :%	9%	[11; 13]% Real result :% [ ]% Test of record matrices as function parameters and return values.disp('Test 1f')A = setr([],'matris',[14 15]');A = setr(A,'namn',16)';B = testfun1(A);getr(B,'namn')getr(B,'matris')% Expected result :%	16%	[14; 15]	%	16%	[28; 29]% Real result :% [ ]disp('Test x')% Expected result :	% Real result :elseif (testnr==2)% *****************************************************************************% [ ]  : Test 2% Sign:		Datum:%% *****************************************************************************% [ ]disp('Test 2')A = 3;A = setr(A,'namn',16)';% Expected result :	Error message: Can not change a matrix, which is not a record variable..% Real result :elseif (testnr==3)% *****************************************************************************% [ ]  : Test 3% Sign:		Datum:%% *****************************************************************************% Comments%	Testing stringfields, several fields !?!% [ ]disp('Test 3a')var = setr([],'datatype','AntDataT');var = setr(var,'type','equlin');var = setr(var,'noElem',12);var = setr(var,'lambda',0.03);var = setr(var,'distElem',0.45);getr(var,'datatype')getr(var,'type')getr(var,'noElem')getr(var,'lambda')getr(var,'distElem')% Expected result :	%	AntDataT%	equlin%	12%	0.03%	0.45% Real result :elseif (testnr==4)% *****************************************************************************% [ ]  : Test 4% Sign:		Datum:%% *****************************************************************************% Comments%	Testing showr.% [ ]disp('Test 4a')var = setr([],'datatype','AntDataT');var = setr(var,'type',['equlin';'abcdef']);var = setr(var,'noElem',12);var = setr(var,'lambda',0.03);var = setr(var,'distElem',0.45*[1+2*j, 5; 6+7*j, 8]);showr(var)% Expected result :%	var:%		datatype = 	AntDataT%		type = 		['equlin';'abcdef']%		noElem = 	12%		lambda = 	0.03%		distElem = 	[0.45+0.9*j, 2.25 ; 2.7+3.15*j, 3.60]% Real result :elseif (testnr==5)% *****************************************************************************% [ ]  : Test 5% Sign:		Datum:%% *****************************************************************************% Comments%	Testing recdir.% [ ]disp('Test 5a')var = setr([],'datatype','AntDataT');recdir(var)var = setr(var,'antenna',[3 5*i]);recdir(var)% Expected result :%	 	datatype%%		datatype%		antenna% Real result :elseif (testnr==6)% *****************************************************************************% [ ]  : Test 6% Sign:		Datum:%% *****************************************************************************% Comments%	Testing complex fields !?!% [ ]disp('Test 6a')clear varvar = setr([],'m1',[1+2*i, 3]);getr(var, 'm1')var = setr([],'m2',7);getr(var, 'm2')var = setr([],'m1',[4 5 6; 8 9 10]');getr(var, 'm1')var = setr([],'m2',[11 12]*i);getr(var, 'm2')% Expected result :%	[1+2*i, 3]%	7%	[4 5 6; 8 9 10]'%	[11*i 12*i]% Real result :elseif (testnr==7)% *****************************************************************************% [ ]  : Test 7% Sign:		Datum:%% *****************************************************************************% Comments%	Testing whosr.% [ ]disp('Test 7a')var = setr([],'datatype','AntDataT');var = setr(var,'type',['equlin';'abcdef']);var = setr(var,'noElem',12);var = setr(var,'lambda',0.03);var = setr(var,'distElem',0.45*[1+2*j, 5; 6+7*j, 8]);whoswhosr(var)% Expected result :	% Real result :%	Name			Size 				Complex%%	var			74 by 1				No%%	Name		Type	Size				Complex%%	distElem		2 by 2				Yes%	lambda			1 by 1				No%	noElem			1 by 1				No%	type			2 by 6				No%	datatype		1 by 8				No%% Grand total is 26 elements using xxxx bytes	elseif (testnr==9)% *****************************************************************************% [ ]  : Test 9% Sign:		Datum:%% *****************************************************************************% Comments% 	A test of record variables as fields in a record variable.% [ ]disp('Test 9a')A = setr([],'name','Tom');A = setr(A,'age','47');B = setr([],'name','Julia');B = setr(B,'age','43');C = setr([],'person1',A);C = setr(C,'person2',B);showr(C)D = getr(C,'person1');E = getr(C,'person2');showr(D)showr(E)% Expected result :% recvar:%  person2 = rubbish 	(with Matlab 4)%  person1 = rubbish	(with Matlab 4)% recvar:%  age = % 47%%  name = % Tom%% recvar:%  age =  % 43% %  name = % Julia% Real result :elseif (testnr==10)% *****************************************************************************% [ ]  : Test 10% Sign:		Datum:%% *****************************************************************************% Comments%	Testing the correction of an error.% [ ]disp('Test 10a')b = setr([],'f1',1);b = setr(b,'f2',2);b = setr(b,'f2',[3 4]);% Expected result :% 	The following messages should not appear:%	  MATLAB segmentation violation detected !!!%	  Bus error% Real result :elseif (testnr==11)% *****************************************************************************% [ ]  : Test 11% Sign:		Datum:%% *****************************************************************************% Comments%	Testing the correction of an error.% [ ]disp('Test 10a')a = 1;b = setr([],'f1',1);isrecvar(a)isrecvar(b)isrecvar([])% Expected result :%	0%	1%	0% Real result :elseif (testnr==12)% *****************************************************************************% [ ]  : Test 12% Sign:		Datum:%% *****************************************************************************% Comments% 	Trying to access a nonexistent field.%	Also test of changed function "existr".% [ ]disp('Test 12a')C = setr([],'name',4);existr(C,'name')existr(C,'age')% Expected result :%	1%	0% Real result :% [ ]disp('Test 12b')C = setr([],'name',4);getr(C,'notexisting')% Expected result :	??? The field not found.%			or  Reference to non-existent field 'notexisting'.% Real result :else  disp('Incorrect testnumber.');end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -