Overview
Comment: | Put in "IF MTTNx>0 THEN" to prevent probs when Nx=0 -- still a couple of apparent error messages - but answers now correct |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
b2603553c2ca59f28167bf8f3a16b134 |
User & Date: | gawthrop@users.sourceforge.net on 1998-11-10 08:54:34 |
Other Links: | branch diff | manifest | tags |
Context
1998-11-10
| ||
09:16:41 | Added structure rep check-in: bb5b8c4d64 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
08:54:34 |
Put in "IF MTTNx>0 THEN" to prevent probs when Nx=0 -- still a couple of apparent error messages - but answers now correct check-in: b2603553c2 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
1998-10-28
| ||
13:58:57 | Added $1_sympars.txt prerequisite to _tf.m target check-in: f09babf39b user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/bin/trans/dae2cse_r from [8a9cdf56d8] to [53df088d8e].
︙ | ︙ | |||
11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Copyright (c) P.J.Gawthrop 1991, 1992, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.6 1998/07/19 12:44:35 peterg ## Set MTTYz := 0 if the array is empty - avoids irritating error ## message. ## ## Revision 1.5 1998/05/20 15:23:26 peterg ## Put MTTYz := MTTYz outsise the BEGIN/END ## | > > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # Copyright (c) P.J.Gawthrop 1991, 1992, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.7 1998/10/05 10:46:15 peterg ## Commented out redundant MTTY := MTTY + MTTEyx*MTTEdX; ## ## Revision 1.6 1998/07/19 12:44:35 peterg ## Set MTTYz := 0 if the array is empty - avoids irritating error ## message. ## ## Revision 1.5 1998/05/20 15:23:26 peterg ## Put MTTYz := MTTYz outsise the BEGIN/END ## |
︙ | ︙ | |||
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 132 133 134 135 136 137 138 | 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; | > > > > > > > > > > > > > < | 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 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | in "$1_dae.r"; %Create F_x, F_y matrices - assumming equations are % linear in dZ IF MTTNz>0 THEN BEGIN IF MTTNx>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; 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; IF MTTNx>0 THEN BEGIN 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; 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"; IF MTTNx>0 THEN BEGIN matrix MTTExx(MTTNx,MTTNx); MTTExx := MTTFx*MTTGx; matrix MTTExu(MTTNx,MTTNu); MTTExu := MTTFx*MTTGu; matrix MTTEyx(MTTNy,MTTNx); MTTEyx := MTTFy*MTTGx; matrix MTTE(MTTNx,MTTNx); MTTE := MTTI - MTTExx; END; matrix MTTEyu(MTTNy,MTTNu); MTTEyu := MTTFy*MTTGu; %% The following gets rid of the dZs; there must be a better way. MTTdZ1 := 0; MTTdZ2 := 0; MTTdZ3 := 0; MTTdZ4 := 0; |
︙ | ︙ | |||
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | MTTdZ14 := 0; MTTdZ15 := 0; 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 %% Add on input derivative terms MTTEdX := MTTEdX + MTTExu*MTTdu; %%%%%MTTY := MTTY + MTTEyx*MTTEdX; %%% This causes the matrix mismatch %%% MTTdXs and MTTdu need setting in _def.r file MTTY := MTTY + MTTEyu*MTTdu; | > > > > > | | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | MTTdZ14 := 0; MTTdZ15 := 0; MTTdZ16 := 0; MTTdZ17 := 0; MTTdZ18 := 0; MTTdZ19 := 0; IF MTTNx>0 THEN BEGIN MTTEdX := MTTdX; %Ie MTTEdX is MTTdX with the dz terms deleted ie EdX. MTTdX := MTTdXs; %Restore the symbolic dX %% Add on input derivative terms MTTEdX := MTTEdX + MTTExu*MTTdu; END; %%%%%MTTY := MTTY + MTTEyx*MTTEdX; %%% This causes the matrix mismatch %%% MTTdXs and MTTdu need setting in _def.r file MTTY := MTTY + MTTEyu*MTTdu; IF MTTNx>0 THEN MTTY := MTTY + MTTEyx*(MTTE^(-1))*MTTEdX; END; %%of MTTNz>0 IF MTTNz=0 THEN BEGIN MTTEdX := MTTdX; |
︙ | ︙ |