www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregcubic/monomials.m
function MON= monomials(m); %MONOMIALS % Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc. if nfactors(m)>1 N= m.N; m.N(m.MaxInteract+1:end)=0; MON= i_recurse(m,1,1); nx= sum(N(m.MaxInteract+1:end)); if nx>0 p= length(MON); MON= [MON cell(1,nx)]; for i=m.MaxInteract+1:length(N) for j=1:N(i) p=p+1; MON{p}= j*ones(1,i); end end end else MON= cell(1,size(m,1)); for i=1:length(MON) MON{i}= ones(1,i-1); end end function Y= i_recurse(m,lvl,st) mord= length(m.N); Y={[]}; for i=st:m.N(lvl) if lvl < mord Yi= i_recurse(m,lvl+1,i); p= length(Y)+1; Y= [Y cell(1,length(Yi))]; for j=1:length(Yi) Y{p}= [i Yi{j}]; p=p+1; end else Y= [Y {i}]; end end