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

📄 process_params.asv

📁 这是很有用的模式分类原代码
💻 ASV
字号:
function [p1, p2, p3, p4, p5, p6, p7, p8, p9, p10] = process_params(params)

%This function recieves a parameter vector and returns it's components
[p1, p2, p3, p4, p5, p6, p7, p8, p9, p10] = deal([]);

if isnumeric(params),
    %The parameter vector is completely numeric. This is much simpler
    for i = 1:length(params),
        eval(['p' num2str(i) ' = ' num2str(params(i)) ';']);
    end
    Nassigned = length(params);   
% else
%     comma_loc       = findstr(params,',');
%     Nassigned		 = 0;
%     
%     %First, locate any sub-parameter vectors
%     bracket_loc1	= findstr(params,'[');
%     bracket_loc2	= findstr(params,']');
%     if (length(bracket_loc1) ~= length(bracket_loc2)),
%         error('The number of opening and closing brackets in the parameter vectors is not equal!')
%     end
%     
%     switch length(bracket_loc1),
%     case 0
%         error('No opening brackets in the parameter vector!')
%     case 1
%         if ((bracket_loc1 == 1) & (bracket_loc2 == length(params))),
%             %This are just the usual opening and closing brackets
%             params			= [',', params(2:end-1), ','];
%             comma_loc      = findstr(params,',');
%         else
%             error('There are erroneous square brackets in the parameter vector!')
%         end
%     otherwise
%         if ((bracket_loc1(1) == 1) & (bracket_loc2(end) == length(params))),      
%             params			= [',', params(2:end-1), ','];
%             bracket_loc1	= bracket_loc1(2:end);
%             bracket_loc2	= bracket_loc2(1:end-1);
%             comma_loc      = findstr(params,',');
%         end
%         for i = 1:length(bracket_loc1),
%             %Find the next comma after the closing bracket
%             close_loc	= bracket_loc2(i);
%             open_loc		= bracket_loc1(i);
%             close_comma = find(comma_loc < open_loc);
%             close_comma = close_comma(end);
%             val         = params(open_loc:close_loc);
%             eval(['p' num2str(close_comma) ' = val;']);
%             Nassigned	= Nassigned + 1;
%         end
%         
%         %Now remove these sub-parameters
%         for i = 1:length(bracket_loc1),
%             bracket_loc1	= findstr(params,'['); bracket_loc1 = bracket_loc1(1);
%             bracket_loc2	= findstr(params,']'); bracket_loc2 = bracket_loc2(1);
%             if (bracket_loc1 ~= bracket_loc2 - 1),
%                 params			= params([1:bracket_loc1-1,bracket_loc2+1:end]);
%             end
%         end
%         
%     end
%     
%     %Now assign the remaining parameters to p's
%     comma_loc      = findstr(params,',');
%     for i = 1:length(comma_loc)-1,
%         if (eval(['isempty(p' num2str(i) ')'])),
%             tempp			= params(comma_loc(i)+1:comma_loc(i+1)-1);
%             eval(['p' num2str(i) ' = ' deblank(tempp) ';']);
%             Nassigned	= Nassigned + 1;
%         end
%     end
%     
end

if (Nassigned ~= nargout),
    warning('Not all parameters in the parameter vector were read by the algorithm')
end

⌨️ 快捷键说明

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