ADDED mttroot/mtt/bin/trans/m/equation.m Index: mttroot/mtt/bin/trans/m/equation.m ================================================================== --- /dev/null +++ mttroot/mtt/bin/trans/m/equation.m @@ -0,0 +1,73 @@ +function eqn = equation(name,cr,args,outbond,outcause,outport, ... + inbonds,incauses,inports) +% eqn is a string containing the equation +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %%%%% Model Transformation Tools %%%%% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Matlab function printcr +% printcr(name,outport,bond_number,cr,args,RHS_cause,eqnfile + + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +% Find the number of inports +nports = length(inports); + +% Set up LHS +LHS = varname(name, outbond, outcause); + +% Set up various strings to get correct syntax if some strings are empty +if length(cr)==0 + cause_name = ''; + port_name = ''; + lp = ''; + rp = ''; + c_comma = ''; +else + cause_name = cause2name(outcause); + port_name = sprintf('%1.0f', outport'); + lp = '('; + rp = ')'; + c_comma = ','; +end + +if length(args)==0 + a_comma = ''; +else + a_comma = ','; +end; + +% Set up first line of RHS +RHS1 = sprintf('%s%s%s%s%s%s%s%s\n', ... + cr, lp, args, a_comma, cause_name, c_comma, port_name, c_comma); + + +% Set up rest of RHS - the input variables, causality and ports. +RHS2 = ''; +for i=1:nports + RHS2 = sprintf('%s\t%s,%s,%1.0f', ... + RHS2, varname(name, inbonds(i), incauses(i)), ... + cause2name(incauses(i)), inports(i)); + if i