Overview
Comment: | Added sign info to take account of direction of bonds. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
b920a2a59b6385675a04a06867afb5f2 |
User & Date: | gawthrop@users.sourceforge.net on 1997-12-04 13:48:00 |
Other Links: | branch diff | manifest | tags |
Context
1997-12-04
| ||
14:24:22 | Removed error message about through-pointing arrows check-in: 2ab17cafe0 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
13:48:00 | Added sign info to take account of direction of bonds. check-in: b920a2a59b user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
10:58:15 | Tidied up switches check-in: 9210642021 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/lib/comp/simple/cieqn.m from [d2d508e0d6] to [b070756f62].
1 2 3 | function structure = cieqn(name, bond_number,bonds,direction,cr,args, ... structure,CorI,eqnfile); % cieqn - Equation function for a (multi-port) unicausal C or I component | | > > > > > > > > | > > > > > > > > > | | | | | | 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 | function structure = cieqn(name, bond_number,bonds,direction,cr,args, ... structure,CorI,eqnfile); % cieqn - Equation function for a (multi-port) unicausal C or I component % CorI = 1 for C, -1 for I; 0 for ISW % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%%%% Model Transformation Tools %%%%% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Matlab function cieqn % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% Version control history % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %% $Id$ % %% $Log$ % %% Revision 1.1 1997/04/09 10:18:26 peterg % %% Initial revision % %% % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Copyright (c) P.J. Gawthrop, 1996. if nargin<8 eqnfile = 'stdout'; end; CorIorISW = CorI; if CorIorISW==0 % ISW CorI = -1; end; % Find the number of ports [ports,junk] = size(bonds); % Right-hand side causality RHS_cause = (bonds(:,1)==CorI*ones(ports,1))*CorI state_cause = zeros(ports,1); % State causality for outport = 1:ports % Sort out direction if direction(outport,1) == 1 sign = '+'; else sign = '-'; end; LHS_number = bond_number(outport); if bonds(outport,1) == -CorI % Integral causality on this port state = structure(1)+1; LHS_cause = CorI; % Print equation of form x_i = MTTx(i) fprintf(eqnfile, '%s := MTTx(%1.0f,1);\n', ... varname(name,LHS_number, state_cause), state); % Print equation of form xdot = input - with sign fprintf(eqnfile, 'MTTdX(%1.0f,1) := %s%s;\n', state, sign, ... varname(name,LHS_number,-LHS_cause)); % Print equation of form output = CR (state) eqn = equation(name,cr,args,LHS_number,LHS_cause,outport, ... bond_number,state_cause,1:ports); fprintf(eqnfile, '%s',eqn); structure(1) = state; else % Derivative causality nonstate = structure(2)+1; LHS_cause = -CorI; % Print equation of form zdot = MTTdz(i) -- with sign fprintf(eqnfile, '%s := %sMTTdz(%1.0f,1);\n', ... varname(name,LHS_number,LHS_cause), sign, ... nonstate); % Print equation of form MTTz(i) = z_i fprintf(eqnfile, 'MTTz(%1.0f,1) := %s;\n', nonstate, ... varname(name,LHS_number, state_cause)); % Print equation of form z_i = CR(input) eqn = equation(name,cr,args,LHS_number,state_cause, outport, ... |
︙ | ︙ |