Program Listing for File writeMcode.m
↰ Return to documentation for file (matlab/@amifun/writeMcode.m
)
function writeMcode(this,model)
% writeMcode generates matlab evaluable code for specific model functions
%
% Parameters:
% model: model defintion object @type amimodel
%
% Return values:
% void
% replace heaviside placeholder vars
if(~isempty(model.event))
h_vars = [sym('h_0');sym('h_',[length(model.event)-1,1])];
h_rep= sym(zeros(size(h_vars)));
if(~isfield(model.fun,'root'))
model.getFun([],'root');
end
for ievent = 1:length(model.event)
h_rep(ievent) = heaviside(model.fun.root.sym(ievent));
end
this.sym_noopt = subs(this.sym_noopt,h_vars,h_rep);
end
ami_mfun(this.sym_noopt, 'file', fullfile(model.wrap_path,'models',...
model.modelname,[ this.funstr '_',model.modelname,'.m']), ...
'vars', {'t',model.fun.x.sym,model.fun.p.sym,model.fun.k.sym},'varnames',{'t','x','p','k'});
end