matlabDigitalSigalProcess内有文件若干

源代码在线查看: getsigpref.m

软件大小: 2465 K
上传用户: pipiooxx
关键词: matlabDigitalSigalProcess
下载地址: 免注册下载 普通下载 VIP

相关代码

				function [valueOutput,errorStr]=getsigpref(propList,defaultList)
				%GETSIGPREF Get user preference for Signal Processing Toolbox.
				%   val = GETSIGPREF(prop) extracts and returns the value associated 
				%   with the property prop in the Signal Processing Toolbox preference group. 
				%   If prop doesn't exist, GETSIGPREF returns an empty matrix. If prop is a 
				%   cell array, then the output val is a cell array of the same size.
				%
				%   val = GETSIGPREF(prop,default) returns the default value for prop
				%   if there is no current value associated with the property in question.
				%
				%   GETSIGPREF is a structure containing all the property/value pairs in the 
				%   Signal Processing Toolbox preference group.  If this structure is empty, 
				%   there are no saved preferences.
				%
				%   See also SETSIGPREF.
				
				%   Ned Gulley, 9-11-95
				%   Adapted for Signal, Tom Krauss, 3-22-96
				%   Copyright (c) 1988-98 by The MathWorks, Inc.
				%   $Revision: 1.11 $
				
				global SIGPREFS
				% If SIGPREFS has not been loaded yet, its size will be 0-by-0
				errorStr = [];
				
				if (size(SIGPREFS,1)==0),
				    fileName='sigprefs.mat';
				    if isempty(which(fileName))
				        % There is no preferences file
				        if nargout>1, errorStr='There are no saved preferences'; end
				        valueOutput=[];
				        SIGPREFS = 0;
				        return
				    else
				        % The file exists, so go ahead and load it
				        load(fileName);
				    end
				elseif ~isstruct(SIGPREFS)
				    % we've already looked for sigprefs.mat on disk since the
				    % last time globals were cleared (new session or after clear global or
				    % something).  So we don't need to look for it on disk again, because
				    % if it has been saved to disk then SIGPREFS will be a structure!
				    valueOutput = [];
				    return     
				end
				
				switch nargin
				case 0,
				    valueOutput=SIGPREFS;
				
				otherwise,    % Need to catch both nargin==1 and nargin==2
				    allPropList=fieldnames(SIGPREFS);
				 
				    if ~iscell(propList),
				        % If the input isn't a cell, then it can only be a single string
				        prop=propList;
				        if isempty(strmatch(prop,allPropList)),
				            val=[];
				        else
				            val=getfield(SIGPREFS,prop);
				        end
				        if isempty(val) & (nargin>2),
				            valueOutput=defaultList;
				        else
				            valueOutput=val;
				        end
				    else
				        % The input is a cell array; loop through it
				        valueOutput=cell(size(propList));
				        for count=1:length(propList),
				            prop=propList{count};
				            if isempty(strmatch(prop,allPropList)),
				              % The property in question does not appear in the preferences 
				                val=[];
				            else
				                val=getfield(SIGPREFS,prop);
				            end
				            if isempty(val) & (nargin>2),
				                    valueOutput{count}=defaultList{count};
				            else
				                valueOutput{count}=val;
				            end
				        end
				    end
				
				end
				
							

相关资源