rbmatlab 0.10.01
rbasis/interface/gen_models.m
Go to the documentation of this file.
00001 function [dmodel, rmodel] = gen_models(descr, bg_descr)
00002 % function gen_models(descr, bg_descr)
00003 % generates an IDetailedModel and an IReducedModel instance from description
00004 % structures.
00005 %
00006 % Parameters:
00007 %       descr:    a Matlab structure of type ModelDescr.
00008 %       bg_descr: a Matlab structure of type BasisGenDescr.
00009 
00010 if nargin == 1
00011   bg_descr = [];
00012 end
00013 
00014 fns = fieldnames(descr);
00015 rbfnsI = cellfun(@(X) length(X)>3 && isequal(X(1:3), 'RB_'), fns);
00016 rbfns  = fns(rbfnsI);
00017 if isempty(bg_descr)
00018   for i = 1:length(rbfns)
00019     rbfn = rbfns{i};
00020     bg_descr.(rbfn(4:end)) = descr.(rbfn);
00021     descr = rmfield(descr, rbfn);
00022   end
00023 
00024 end
00025 if ~isfield(bg_descr, 'rb_problem_type')
00026   bg_descr.rb_problem_type = descr.rb_problem_type;
00027 end
00028 dmodel = gen_detailed_model(descr);
00029 rmodel = gen_reduced_model(dmodel, bg_descr);
00030 
All Classes Namespaces Files Functions Variables