www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgoptim/getptrs.m
function ptrlist=getptrs(o) %GETPTRS Return all internal pointers % % ptrlist=getptrs(o) returns all of the pointers used inside cgoptim. % This function recurses into objects and also returns their pointers. % Copyright 2000-2009 The MathWorks, Inc. and Ford Global Technologies, Inc. ptrlist = []; % pointers to freevariables p = o.values; for i = 1:length(p) if isvalid(p(i)) ptrlist = [ptrlist; p(i); getptrs(info(p(i)))]; end end % pointers to objective functions OFs = o.Objectives; tmp = cellfun(@getptrs, OFs, 'UniformOutput', false); ptrlist = [ptrlist; [tmp{:}].']; % pointers to constraints c = o.Constraints; tmp = cellfun(@getptrs, c, 'UniformOutput', false); ptrlist = [ptrlist; [tmp{:}].']; % pointers to datasets p = o.oppoints.Datasets; for i = 1:length(p) if isvalid(p(i)) ptrlist = [ptrlist; p(i); getptrs(info(p(i)))]; end end % pointers to oppoint values pcell = o.oppoints.Variables; for i = 1:length(pcell) for j = 1:length(pcell{i}) p = pcell{i}(j); if isvalid(p) ptrlist = [ptrlist; p; getptrs(p)]; end end end