Advertisement
Guest User

Untitled

a guest
May 30th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. funtion out1 = func1(arg1, arg2, varargin)
  2. % function out1 = func1(arg1, arg2)
  3. % function out1 = func1(_____, 'param1', value)
  4. % function out1 = func1(_____, 'param2', value)
  5.  
  6.  
  7. ni = length(varargin); % ni >= 1
  8. DataInputs = 0;
  9. PNVStart = 0; % index of the first parameter in varargin
  10.  
  11. % Assuming none of the preceding arguments arg1 and arg2 are strings (char row vectors)
  12. while DataInputs<ni && PNVStart==0
  13. nextarg = varargin{DataInputs+1};
  14. if ischar(nextarg) && isvector(nextarg)
  15. PNVStart = DataInputs+1;
  16. else
  17. DataInputs = DataInputs+1;
  18. end
  19. end
  20.  
  21. % Initialize
  22. param1 = [];
  23. param2 = [];
  24.  
  25. for i=PNVStart:2:ni
  26. % Set each Property Name/Value pair in turn.
  27. Property = varargin{i};
  28. if i+1>ni
  29. error('id:pvsetInvalid', 'message')
  30. else
  31. Value = varargin{i+1};
  32. end
  33. % Perform assignment
  34. switch lower(Property)
  35. case 'param1'
  36. if ~isempty(Value) && ischar(Value) && isrow(Value) % put whatever expression to verify Value
  37. variable1 = Value;
  38. else
  39. error('id:pvsetInvalid:variable1', 'message')
  40. end
  41. case 'param2'
  42. if ~isempty(Value) && ischar(Value) && isrow(Value)
  43. variable2 = Value;
  44. else
  45. error('id:pvsetInvalid:variable2', 'message')
  46. end
  47.  
  48. otherwise
  49. error('id:pvsetInvalid', 'message')
  50. end % switch
  51. end % for
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement