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
|
#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: dm2sr_m
# Transforms descriptor matrix rep to step response
# Copyright (c) P.J.Gawthrop, 1996.
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.8 1996/08/15 16:23:39 peter
## Uses T in place of t to avoid name clash within function.
##
## Revision 1.7 1996/08/15 11:54:32 peter
## Now has optional initial condition.
##
## Revision 1.6 1996/08/14 09:15:02 peter
|
|
>
>
>
|
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
|
#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: sm2sr_m
# Transforms descriptor matrix rep to step response
# Copyright (c) P.J.Gawthrop, 1996.
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.9 1996/08/18 12:01:45 peter
## Unified format of time responses.
##
## Revision 1.8 1996/08/15 16:23:39 peter
## Uses T in place of t to avoid name clash within function.
##
## Revision 1.7 1996/08/15 11:54:32 peter
## Now has optional initial condition.
##
## Revision 1.6 1996/08/14 09:15:02 peter
|
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
|
## Revision 1.1 1996/08/11 09:45:46 peter
## Initial revision
##
###############################################################
echo Creating $1_sr.m
echo Creating $1_sro.m
rm -f dm2sr_m.log
rm -f $1_sr.m
rm -f $1_sro.m
if [ "$2" = "" ];
then
PARAMS='T=[0:0.1:10];u0=ones(nu,1);x0=zeros(nx,1);'
echo Using default parameter $PARAMS
else
PARAMS=$2;
fi
PARAMS="$PARAMS ;"
$MATRIX << EOF > dm2sr_m.log
[nx,ny,nu,nz,nyz] = $1_def;
t=0; %Just in case it appears in the parameter list.
$PARAMS
%Defaults
|
|
|
|
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
|
## Revision 1.1 1996/08/11 09:45:46 peter
## Initial revision
##
###############################################################
echo Creating $1_sr.m
echo Creating $1_sro.m
rm -f sm2sr_m.log
rm -f $1_sr.m
rm -f $1_sro.m
if [ "$2" = "" ];
then
PARAMS='T=[0:0.1:10];u0=ones(nu,1);x0=zeros(nx,1);'
echo Using default parameter $PARAMS
else
PARAMS=$2;
fi
PARAMS="$PARAMS ;"
$MATRIX << EOF > sm2sr_m.log
[nx,ny,nu,nz,nyz] = $1_def;
t=0; %Just in case it appears in the parameter list.
$PARAMS
%Defaults
|
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
[n,m]=size(T);
if m>n
T=T';
end;
[A,B,C,D,E] = $1_dm($1_numpar);
[y,x] = dm2sr(A,B,C,D,E,T,u0,x0);
if nx>0
write_matrix([T x], '$1_sr');
end;
if ny>0
write_matrix([T y], '$1_sro');
end;
EOF
|
|
|
|
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
[n,m]=size(T);
if m>n
T=T';
end;
[A,B,C,D] = $1_sm($1_numpar);
[y,x] = sm2sr(A,B,C,D,T,u0,x0);
if nx>0
write_matrix([T x], '$1_sr');
end;
if ny>0
write_matrix([T y], '$1_sro');
end;
EOF
|