Overview
Comment: | Initial revision |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
bde8cac2d9a34547755a9e04ce810d30 |
User & Date: | gawthrop@users.sourceforge.net on 1998-07-19 16:59:56 |
Other Links: | branch diff | manifest | tags |
Context
1998-07-21
| ||
08:47:59 | Default null $2 (regexp) to '^' - ie match any line check-in: 49988ed4a2 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
1998-07-19
| ||
16:59:56 | Initial revision check-in: bde8cac2d9 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
16:22:29 | Changed header to inculde mttu check-in: 7e41036457 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Added mttroot/mtt/bin/trans/ode2smx_lang version [8fd5adf261].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | #! /bin/sh ###################################### ##### Model Transformation Tools ##### ###################################### # Bourne shell script: ode2smx_lang # ODE to state matrix (with explicit state values) conversion # P.J.Gawthrop 6th September 1991, May 1994, July 1998 # Copyright (c) P.J.Gawthrop, 1991, 1994, 1998 ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ############################################################### # Language if [ -n "$2" ]; then lang=$2 else lang="r" fi # Inform user echo Creating $1_smx.$lang # Remove the old log file rm -f ode2smx_r.log # Use reduce to accomplish the transformation reduce << EOF >ode2smx_lang.log lang := $lang; in "$1_def.r"; in "$1_ode.r"; OFF Echo; %Procedure to write out the result according to the language used. PROCEDURE WriteElement(name, i, j, element); BEGIN IF (element NEQ 0) THEN BEGIN IF (lang = r) THEN write name, "(", i, ",", j, ") := ", element; IF (lang = m) THEN write name, "(", i, ",", j, ") = ", element; END END; %Set up output according to the language. OFF NAT; OUT "$1_smx.$lang"; LineLength 1000; % Set up output according to the language. IF (lang = r) THEN BEGIN write "matrix mtta(", mttnx, ",", mttnx, ");"; write "matrix mttb(", mttnx, ",", mttnu, ");"; write "matrix mttc(", mttny, ",", mttnx, ");"; write "matrix mttd(", mttny, ",", mttnu, ");"; END; IF (lang = m) THEN BEGIN write "mtta = zeros(", mttnx, ",", mttnx, ");"; write "mttb = zeros(", mttnx, ",", mttnu, ");"; write "mttc = zeros(", mttny, ",", mttnx, ");"; write "mttd = zeros(", mttny, ",", mttnu, ");"; end; % find MTTA : the A matrix FOR j := 1:MTTNx DO BEGIN xj := MTTX(j,1); FOR i := 1:MTTNx DO WriteElement("mtta",i,j,df(MTTdx(i,1), xj, 1)); END; % Find MTTB : the B matrix FOR j := 1:MTTNu DO BEGIN uj := MTTU(j,1); FOR i := 1:MTTNx DO WriteElement("mttb",i,j,df(MTTdx(i,1), uj, 1)); END; % Find MTTC : the C matrix FOR i := 1:MTTNy DO FOR j := 1:MTTNx DO BEGIN xj := MTTX(j,1); WriteElement("mttc",i,j,df(MTTY(i,1), xj, 1)); END; % Find MTTD : the D matrix FOR i := 1:MTTNy DO FOR j := 1:MTTNu DO BEGIN xj := MTTU(j,1); WriteElement("mttd",i,j,df(MTTY(i,1), xj, 1)); END; %Shut the output according to the language. SHUT "$1_smx.$lang"; EOF if [ "$lang" = "m" ]; then mv $1_smx.$lang mtt_junk lang_header $1 smx m 'mttx,mttu' '[mtta,mttb,mttc,mttd]' > $1_smx.m cat mtt_junk >> $1_smx.m rm -f mtt_junk fi # Now invoke the standard error handling. mtt_error_r ode2smx_lang.log |