line source
+ − % test_smodel_eval tests the eval method of the SMODEL class.
+ − %
+ − % M Hueller 05-05-2011
+ − %
+ − % $Id: test_smodel_eval.m,v 1.1 2011/05/05 21:04:49 mauro Exp $
+ − %
+ −
+ − % Build the model
+ − s1 = smodel(plist('expression', 'a + b1*x1 + b2*x2','xvar',{'x1','x2'}));
+ − s1.setXvals({[1:100], [2:2:200]});
+ − s1.setYunits('N');
+ − s1.setXunits({'m', 'V'});
+ − s1.setParameters({'a','b1','b2'},{1,2,-3});
+ − s1.setName('test');
+ −
+ − % Eval the model: output x is tsdata ao
+ − a1 = ao(plist('xvals',[1:100],'yvals',[0.01:.01:1], 'type', 'tsdata', 'fs', 1));
+ − d1 = s1.eval(plist('output x', a1));
+ − assert(isequal(class(d1.data), class(a1.data)))
+ − assert(isequal(d1.yunits, s1.yunits))
+ −
+ − % Eval the model: output x is fsdata ao
+ − a1 = ao(plist('xvals',[1:100],'yvals',[0.01:.01:1], 'type', 'fsdata'));
+ − d1 = s1.eval(plist('output x', a1));
+ − assert(isequal(class(d1.data), class(a1.data)))
+ − assert(isequal(d1.yunits, s1.yunits))
+ −
+ − % Eval the model: output x is xydata ao
+ − a1 = ao(plist('xvals',[1:100],'yvals',[0.01:.01:1], 'type', 'xydata'));
+ − d1 = s1.eval(plist('output x', a1));
+ − assert(isequal(class(d1.data), class(a1.data)))
+ − assert(isequal(d1.yunits, s1.yunits))
+ −
+ − % Eval the model: output x is double array, no data type set
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1));
+ − assert(isequal(class(d1.data), 'tsdata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ −
+ − % Eval the model: output x is double array, data type set to 'tsdata'
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1, 'output type', 'tsdata'));
+ − assert(isequal(class(d1.data), 'tsdata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ −
+ − % Eval the model: output x is double array, data type set to 'fsdata'
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1, 'output type', 'fsdata'));
+ − assert(isequal(class(d1.data), 'fsdata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ −
+ − % Eval the model: output x is double array, data type set to 'xydata'
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1, 'output type', 'xydata'));
+ − assert(isequal(class(d1.data), 'xydata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ −
+ − % Eval the model: output x is double array, no data type set, output xunits set
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1, 'output xunits', 'ms'));
+ − assert(isequal(class(d1.data), 'tsdata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ − assert(isequal(d1.xunits, unit('ms')))
+ −
+ − % Eval the model: output x is double array, data type set to 'tsdata', output xunits set
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1, 'output type', 'tsdata', 'output xunits', 'ms'));
+ − assert(isequal(class(d1.data), 'tsdata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ − assert(isequal(d1.xunits, unit('ms')))
+ −
+ − % Eval the model: output x is double array, data type set to 'fsdata', output xunits set
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1, 'output type', 'fsdata', 'output xunits', 'ms'));
+ − assert(isequal(class(d1.data), 'fsdata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ − assert(isequal(d1.xunits, unit('ms')))
+ −
+ − % Eval the model: output x is double array, data type set to 'xydata', output xunits set
+ − a1 = [2:2:200];
+ − d1 = s1.eval(plist('output x', a1, 'output type', 'xydata', 'output xunits', 'ms'));
+ − assert(isequal(class(d1.data), 'xydata'))
+ − assert(isequal(d1.yunits, s1.yunits))
+ − assert(isequal(d1.xunits, unit('ms')))
+ −
+ − % Eval the model: output x is left empty, data type should be ignored and always cdata
+ − d1 = s1.eval();
+ − assert(isequal(class(d1.data), 'cdata'))
+ − assert(isequal(d1.yunits, s1.yunits))