Index: mttroot/mtt/bin/trans/dm_r2m ================================================================== --- mttroot/mtt/bin/trans/dm_r2m +++ mttroot/mtt/bin/trans/dm_r2m @@ -12,10 +12,13 @@ ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ +# Revision 1.5 1997/02/24 14:44:28 peterg +# Ignores numerical parameters in global list. +# ## Revision 1.4 1996/08/24 14:16:25 peter ## Global parameter passing. ## ## Revision 1.3 1996/08/18 12:02:46 peter ## Fixed bug when some matrices are empty. @@ -51,22 +54,10 @@ in "$1_sympar.r"; %Read the reduce state-space A,B,C and D matrices file in "$1_dm.r"; - -OUT "$1_dm.m"; - -%Headings - Matlab style -%(Note. The ;; are deleted by for2mat) - -write "function [MTTA,MTTB,MTTC,MTTD,MTTE] = $1_dm;;"; -write "% [MTTA,MTTB,MTTC,MTTD,MTTE] = $1_dm;;"; -write "% Linearised descriptor matrices for system $1"; -write "% File $1_dm.m"; -write "% Generated by MTT"; - IF MTTNvar>0 THEN BEGIN write "% Set the parameters"; write "global ...;;"; FOR i := 1:MTTNvar DO @@ -97,15 +88,46 @@ write "MTTB = zeros(", MTTN, ",", MTTNu, ");"; write "MTTC = zeros(", MTTNy, ",", MTTN, ");"; write "MTTD = zeros(", MTTNy, ",", MTTNu, ");"; write "MTTE = zeros(", MTTN, ",", MTTN, ");"; +OUT "$1_dm.1"; ON NERO; % Suppress zero elements. MTTA := MTTA; MTTB := MTTB; MTTC := MTTC; MTTD := MTTD; MTTE := MTTE; -SHUT "$1_dm.m"; +SHUT "$1_dm.1"; + + +EOF + +#Write some file headers +echo "function [A,B,C,D,E] = $1_dm" > $1_dm.m +echo "% Descriptor matrix function for system $1 ($1_dm.m)" >> $1_dm.m +echo "% Generated by MTT at `date`" >> $1_dm.m +echo >> $1_dm.m + +#Globals +sympar2global_txt2m $1 >> $1_dm.m +echo ';'>> $1_dm.m +echo >> $1_dm.m + +#Define array sizes. +grep -v 'function' $1_def.m | grep -v '%' >> $1_dm.m +echo 'mtta = zeros(nx+nyz,nx+nyz);' >> $1_dm.m +echo 'mttb = zeros(nx+nyz,nu);' >> $1_dm.m +echo 'mttc = zeros(ny,nx+nyz);' >> $1_dm.m +echo 'mttd = zeros(nu,nu);' >> $1_dm.m +echo 'mtte = zeros(nx+nyz,nx+nyz);' >> $1_dm.m + + +#Code +cat $1_dm.1 >> $1_dm.m + + +rm -f $1_dm.1 +