www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgrules/reorder.m
function [rules,newpos] = reorder(rules,index,dir) %REORDER % Copyright 2000-2007 The MathWorks, Inc. and Ford Global Technologies, Inc. if ~ismember(dir,[-1 1]) error(message('mbc:cgrules:InvalidArgument')); end oldorder = 1:length(rules.fact_i1); newpos = index + dir; if newpos<1 || newpos>length(rules.fact_i1) % Cannot promote the first or demote the last rule newpos = index; return end neworder = oldorder([1:index-1 index+1:end]); neworder = [neworder(1:newpos-1) oldorder(index) neworder(newpos:end)]; rules.min1 = rules.min1(neworder); rules.max1 = rules.max1(neworder); rules.fact_i1 = rules.fact_i1(neworder); rules.min2 = rules.min2(neworder); rules.max2 = rules.max2(neworder); rules.fact_i2 = rules.fact_i2(neworder); rules.enable = rules.enable(neworder); rules.exclude = rules.exclude(neworder);