set.m
上传用户:haiyisale
上传日期:2013-01-09
资源大小:3246k
文件大小:2k
源码类别:

波变换

开发平台:

Matlab

  1. function t = set(t,varargin)
  2. %SET Set WPTREE object field contents.
  3. %   T = SET(T,'FieldName1',FieldValue1,'FieldName2',FieldValue2,...)
  4. %   sets the contents of the specified fields for the WPTREE object T.
  5. %   
  6. %   The valid choices for 'FieldName' are:
  7. %     'dtree'   : dtree parent object.
  8. %     'wavInfo' : Structure (wavelet infos)
  9. %        'wavName' - Wavelet Name
  10. %        'Lo_D'    - Low Decomposition filter
  11. %        'Hi_D'    - High Decomposition filter
  12. %        'Lo_R'    - Low Reconstruction filter
  13. %        'Hi_R'    - High Reconstruction filter
  14. %
  15. %     'entInfo' : Structure (entropy infos)
  16. %        'entName' - Entropy Name
  17. %        'entPar'  - Entropy Parameter
  18. %
  19. %   Or fields in DTREE parent object:
  20. %     'ntree' : ntree parent object
  21. %     'allNI' : All nodes Infos
  22. %     'terNI' : Terminal nodes Infos
  23. %
  24. %   Or fields in NTREE parent object:
  25. %     'wtbo'  : wtbo parent object
  26. %     'order' : Order of tree
  27. %     'depth' : Depth of tree
  28. %     'spsch' : Split scheme for nodes
  29. %     'tn'    : Array of terminal nodes of tree
  30. %
  31. %   Or fields in WTBO parent object:
  32. %     'wtboInfo' : Object information
  33. %     'ud'       : Userdata field
  34. %
  35. %   Caution: Use the SET function only for the field 'ud'.
  36. %
  37. %   See also DISP, GET, READ, WRITE.
  38. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 01-Jan-97.
  39. %   Last Revision: 18-May-2003.
  40. %   Copyright 1995-2004 The MathWorks, Inc.
  41. %   $Revision: 1.7.4.2 $  $Date: 2004/03/15 22:39:13 $
  42. nbin  = length(varargin);
  43. if rem(nbin,2)
  44.    str1 = ['Invalid Number of arguments!'];
  45.    str2 = ['Use property/value pairs.']
  46.    msg = strvcat(str1,str2);
  47.    errargt(caller,msg,'msg');
  48.    error('*');
  49. end
  50. nbArg = nbin/2;
  51. okArg = ones(1,nbArg);
  52. for k=1:2:nbin
  53.     field = varargin{k};
  54.     try 
  55.       t.(field) = varargin{k+1};
  56.     catch
  57.       lasterr('');
  58.       t.dtree = set(t.dtree,field,varargin{k+1});
  59.       if isequal(lasterr,'errorWTBX') , okArg((k+1)/2) = 0; end
  60.     end
  61. end
  62. notOk = find(okArg==0);
  63. if ~isempty(notOk)
  64.     notOkTMP = sort([2*notOk-1,2*notOk]);
  65.     t = setwtbo(t,varargin{notOkTMP});
  66. end