www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@localavfit/evalbuild.m

    function blk = evalbuild(m, parent)
%EVALBUILD Build SIMULINK evaluation block for model.
%
%  OUT = EVALBUILD(M, SYS) builds a local model block for average fit
%  models that evaluates the model.

%  Copyright 2007 The MathWorks, Inc.


% First build the subsystem
BI = 'built-in/';
name = getUniqueBlockName('LocalAverageFitEval', parent);
sysname = [parent,'/',name];
blk = add_block([BI,'SubSystem'],sysname);

% Build contained model
model_sys = evalbuild(m.model, sysname);
simSetEvalParam(m.model, model_sys);
set_param(model_sys, 'position', Centre2LTRB([200, 90], 80, 40));
model_sysname = get(model_sys, 'Name');

% Add Parameters inport and terminate it
centre = [30 50];
Inport= add_block([BI,'Inport'],[sysname,'/Param']);
set_param(Inport,'position',Centre2LTRB(centre,20,20));
Term = add_block([BI, 'Terminator'], [sysname,'/Term']);
set_param(Term, 'position', Centre2LTRB(centre+[50 0], 20, 20));
add_line(sysname, 'Param/1', 'Term/1', 'AutoRouting','on');

% Add X inport and connect to contained model
centre = centre + [0 40];
Inport(2)= add_block([BI,'Inport'],[sysname,'/X']);
set_param(Inport(2),'position',Centre2LTRB(centre,20,20));
add_line(sysname, 'X/1', [model_sysname '/1'], 'AutoRouting','on');

% Add a Y outport
centre = [350 90];
Outport= add_block([BI,'Outport'],[sysname,'/Y']);
set_param(Outport,'position',Centre2LTRB(centre,20,20));
add_line(sysname, [model_sysname '/1'] , 'Y/1', 'AutoRouting','on');