Differences From Artifact [125941db8c]:
- Executable file
mttroot/mtt/bin/trans/dae2cse_r
— part of check-in
[aa78cd9fb1]
at
1997-08-26 08:22:36
on branch origin/master
— Changed
MTTY := MTTY + MTTEyx*MTTdX + MTTEyu*MTTdu;
to
MTTY := MTTY + MTTEyx*MTTEdX + MTTEyu*MTTdu;This sorts out the problem when dz appears in the output equation. (user: gawthrop@users.sourceforge.net, size: 3543) [annotate] [blame] [check-ins using]
To Artifact [caea15d16a]:
- Executable file mttroot/mtt/bin/trans/dae2cse_r — part of check-in [eae23f037b] at 1998-03-03 09:02:46 on branch origin/master — Replaced MTTEyx*MTTEdX + MTTEyu*MTTdu; term (user: gawthrop@users.sourceforge.net, size: 3993) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
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 | # Copyright (c) P.J.Gawthrop 1991, 1992, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.1 1997/08/26 08:20:18 peterg ## Initial revision ## ## Revision 1.2 1996/08/25 09:57:30 peter ## Sorted out bug when MTTNz=0 ## ## Revision 1.1 1996/08/15 16:47:02 peter ## Initial revision ## ############################################################### #Inform user echo Creating $1_cse.r # Remove the old log file rm -f dae2cse_r.log # Use reduce to accomplish the transformation | > > > > > > > > | > > > > > > > > > > > > | 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 | # Copyright (c) P.J.Gawthrop 1991, 1992, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2 1997/08/26 08:22:36 peterg ## Changed ## MTTY := MTTY + MTTEyx*MTTdX + MTTEyu*MTTdu; ## to ## MTTY := MTTY + MTTEyx*MTTEdX + MTTEyu*MTTdu; ## ## This sorts out the problem when dz appears in the output equation. ## ## Revision 1.1 1997/08/26 08:20:18 peterg ## Initial revision ## ## Revision 1.2 1996/08/25 09:57:30 peter ## Sorted out bug when MTTNz=0 ## ## Revision 1.1 1996/08/15 16:47:02 peter ## Initial revision ## ############################################################### #Inform user echo Creating $1_cse.r # Remove the old log file rm -f dae2cse_r.log # Use reduce to accomplish the transformation $SYMBOLIC >dae2cse_r.log << EOF OFF Echo; OFF Nat; ON NERO; in "$1_def.r"; MTTdxs := MTTdX; %Save the symbolic form of dX in "$1_sympar.r"; in "$1_dae.r"; %Create F_x, F_y matrices - assumming equations are linear in dZ IF MTTNz>0 THEN BEGIN % Find MTTFx; write "% Find MTTFx;"; matrix MTTFx(MTTNx,MTTNz); FOR j := 1:MTTNz DO BEGIN dzj := MTTdZ(j,1); FOR i := 1:MTTNx DO MTTFx(i,j) := df(MTTdX(i,1), dzj, 1); END; % Find MTTFy; write "% Find MTTFy;"; matrix MTTFy(MTTNy,MTTNz); FOR j := 1:MTTNz DO BEGIN dzj := MTTdZ(j,1); FOR i := 1:MTTNy DO MTTFy(i,j) := df(MTTy(i,1), dzj, 1); END; %Create G_x, G_u matrices write "%Create G_x, G_u matrices "; % Find MTTGx; write "% Find MTTGx;"; matrix MTTGx(MTTNz,MTTNx); FOR j := 1:MTTNx DO BEGIN xj := MTTX(j,1); FOR i := 1:MTTNz DO MTTGx(i,j) := df(MTTZ(i,1), xj, 1); END; % Find MTTGu; write "% Find MTTGu;"; matrix MTTGu(MTTNz,MTTNu); FOR j := 1:MTTNu DO BEGIN uj := MTTu(j,1); FOR i := 1:MTTNz DO MTTGu(i,j) := df(MTTZ(i,1), uj, 1); END; %Create E matrices write "%Create E matrices"; matrix MTTExx(MTTNx,MTTNx); MTTExx := MTTFx*MTTGx; matrix MTTExu(MTTNx,MTTNu); MTTExu := MTTFx*MTTGu; matrix MTTEyx(MTTNy,MTTNx); MTTEyx := MTTFy*MTTGx; matrix MTTEyu(MTTNy,MTTNu); MTTEyu := MTTFy*MTTGu; matrix MTTE(MTTNx,MTTNx); MTTE := MTTI - MTTExx; |
︙ | ︙ | |||
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | MTTdZ16 := 0; MTTdZ17 := 0; MTTdZ18 := 0; MTTdZ19 := 0; MTTEdX := MTTdX; %Ie MTTEdX is MTTdX with the dz terms deleted ie EdX. MTTdX := MTTdXs; %Restore the symbolic dX %%% This causes the matrix mismatch %%% MTTdXs and MTTdu need setting in _def.r file MTTY := MTTY + MTTEyx*MTTEdX + MTTEyu*MTTdu; END; %%of MTTNz>0 IF MTTNz=0 THEN BEGIN | > > > > > | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | MTTdZ16 := 0; MTTdZ17 := 0; MTTdZ18 := 0; MTTdZ19 := 0; MTTEdX := MTTdX; %Ie MTTEdX is MTTdX with the dz terms deleted ie EdX. MTTdX := MTTdXs; %Restore the symbolic dX %%% This causes the matrix mismatch %%% MTTdXs and MTTdu need setting in _def.r file MTTY := MTTY + MTTEyx*MTTEdX + MTTEyu*MTTdu; %%%%%%MTTY := MTTY + MTTEyx*(MTTE^(-1))*MTTEdX; END; %%of MTTNz>0 IF MTTNz=0 THEN BEGIN |
︙ | ︙ |