~ubuntu-branches/ubuntu/hoary/scilab/hoary

« back to all changes in this revision

Viewing changes to man/eng/scicos/DLSS_f.htm

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2005-01-09 22:58:21 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050109225821-473xr8vhgugxxx5j
Tags: 3.0-12
changed configure.in to build scilab's own malloc.o, closes: #255869

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
 
2
 
 
3
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
 
4
original version by:  Nikos Drakos, CBLU, University of Leeds
 
5
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
 
6
* with significant contributions from:
 
7
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
 
8
<HTML>
 
9
<HEAD>
 
10
<TITLE>Discrete state-space system </TITLE>
 
11
<META NAME="description" CONTENT="Discrete state-space system ">
 
12
<META NAME="keywords" CONTENT="main">
 
13
<META NAME="resource-type" CONTENT="document">
 
14
<META NAME="distribution" CONTENT="global">
 
15
 
 
16
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
 
17
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
 
18
 
 
19
<LINK REL="STYLESHEET" HREF="main.css">
 
20
 
 
21
</HEAD>
 
22
 
 
23
<BODY bgcolor="#FFFFFF">
 
24
 
 
25
<!--Table of Child-Links-->
 
26
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
 
27
 
 
28
<UL>
 
29
<LI><A NAME="tex2html5034"
 
30
  HREF="DLSS_f.htm#SECTION00585100000000000000">Library</A>
 
31
<LI><A NAME="tex2html5035"
 
32
  HREF="DLSS_f.htm#SECTION00585200000000000000">Description</A>
 
33
<LI><A NAME="tex2html5036"
 
34
  HREF="DLSS_f.htm#SECTION00585300000000000000">Dialog Box</A>
 
35
<LI><A NAME="tex2html5037"
 
36
  HREF="DLSS_f.htm#SECTION00585400000000000000">Default properties</A>
 
37
<LI><A NAME="tex2html5038"
 
38
  HREF="DLSS_f.htm#SECTION00585500000000000000">Interfacing function</A>
 
39
<LI><A NAME="tex2html5039"
 
40
  HREF="DLSS_f.htm#SECTION00585600000000000000">Computational function (type 1)</A>
 
41
</UL>
 
42
<!--End of Table of Child-Links-->
 
43
<HR>
 
44
 
 
45
<H2><A NAME="SECTION00585000000000000000"></A><A NAME="DLSS_f"></A>
 
46
<BR>
 
47
Discrete state-space system 
 
48
</H2>
 
49
<DIV ALIGN="CENTER">
 
50
<!-- MATH
 
51
 $\epsfig{file=DLSS_f.eps,width=90.00pt}$
 
52
 -->
 
53
<IMG
 
54
 WIDTH="143" HEIGHT="81" ALIGN="BOTTOM" BORDER="0"
 
55
 SRC="img145.gif"
 
56
 ALT="\epsfig{file=DLSS_f.eps,width=90.00pt}">
 
57
</DIV>
 
58
<H3><font color="blue"><A NAME="SECTION00585100000000000000">
 
59
Library</A>
 
60
</font></H3>
 
61
Linear
 
62
 
 
63
<H3><font color="blue"><A NAME="SECTION00585200000000000000">
 
64
Description</A>
 
65
</font></H3>
 
66
This block realizes a discrete-time linear state-space system. The
 
67
system is defined by the <IMG
 
68
 WIDTH="96" HEIGHT="35" ALIGN="MIDDLE" BORDER="0"
 
69
 SRC="img141.gif"
 
70
 ALT="$ (A,B,C,D)$"> matrices and the initial state
 
71
<IMG
 
72
 WIDTH="22" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
 
73
 SRC="img142.gif"
 
74
 ALT="$ x_0$">. The dimensions must be compatible. At the arrival of an input
 
75
event on the unique input event port, the state is updated.   
 
76
 
 
77
<H3><font color="blue"><A NAME="SECTION00585300000000000000">
 
78
Dialog Box</A>
 
79
</font></H3>
 
80
<DIV ALIGN="CENTER">
 
81
<TABLE CELLPADDING=3 BORDER="1">
 
82
<TR><TD ALIGN="CENTER">Set discrete linear system parameters</TD>
 
83
<TD></TD>
 
84
</TR>
 
85
<TR><TD ALIGN="CENTER">A matrix</TD>
 
86
<TD ALIGN="CENTER">-1</TD>
 
87
</TR>
 
88
<TR><TD ALIGN="CENTER">B matrix</TD>
 
89
<TD ALIGN="CENTER">1</TD>
 
90
</TR>
 
91
<TR><TD ALIGN="CENTER">C matrix</TD>
 
92
<TD ALIGN="CENTER">1</TD>
 
93
</TR>
 
94
<TR><TD ALIGN="CENTER">D matrix</TD>
 
95
<TD ALIGN="CENTER">0</TD>
 
96
</TR>
 
97
<TR><TD ALIGN="CENTER">Initial state</TD>
 
98
<TD ALIGN="CENTER">0</TD>
 
99
</TR>
 
100
</TABLE>
 
101
</DIV>
 
102
 
 
103
<UL>
 
104
<LI>A matrix: square matrix. The<B>A </B>matrix 
 
105
</LI>
 
106
<LI>B matrix: the<B>B</B> matrix 
 
107
</LI>
 
108
<LI>C matrix: the <B>C</B> matrix 
 
109
</LI>
 
110
<LI>D matrix: the<B>D</B> matrix 
 
111
</LI>
 
112
<LI>Initial state <IMG
 
113
 WIDTH="22" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
 
114
 SRC="img142.gif"
 
115
 ALT="$ x_0$">:  vector. The initial state of the system.
 
116
</LI>
 
117
</UL>
 
118
 
 
119
<H3><font color="blue"><A NAME="SECTION00585400000000000000">
 
120
Default properties</A>
 
121
</font></H3>
 
122
 
 
123
<UL>
 
124
<LI>always active: no
 
125
</LI>
 
126
<LI>direct-feedthrough: no
 
127
</LI>
 
128
<LI>zero-crossing: no
 
129
</LI>
 
130
<LI>mode: no
 
131
</LI>
 
132
<LI>number/sizes of inputs: 1 / 1
 
133
</LI>
 
134
<LI>number/sizes of outputs: 1 / 1
 
135
</LI>
 
136
<LI>number/sizes of activation inputs: 1 / 1
 
137
</LI>
 
138
<LI>number/sizes of activation outputs: 0 / 
 
139
</LI>
 
140
<LI>continuous-time state: no
 
141
</LI>
 
142
<LI>discrete-time state: yes
 
143
</LI>
 
144
<LI>name of computational function: <EM>dsslti</EM>
 
145
</LI>
 
146
</UL>
 
147
<H3><font color="blue"><A NAME="SECTION00585500000000000000">
 
148
Interfacing function</A>
 
149
</font></H3>
 
150
<TT>scilab/macros/scicos_blocks/linear/DLSS_f.sci</TT>
 
151
 
 
152
<H3><font color="blue"><A NAME="SECTION00585600000000000000">
 
153
Computational function (type 1)</A>
 
154
</font></H3>
 
155
<BR>
 
156
<PRE>      subroutine dsslti(flag,nevprt,t,xd,x,nx,z,nz,tvec,ntvec,
 
157
     &amp;     rpar,nrpar,ipar,nipar,u,nu,y,ny)
 
158
c     Copyright INRIA
 
159
 
 
160
c     Scicos block simulator
 
161
c     discrete state space linear system simulator
 
162
c     rpar(1:nx*nx)=A
 
163
c     rpar(nx*nx+1:nx*nx+nx*nu)=B
 
164
c     rpar(nx*nx+nx*nu+1:nx*nx+nx*nu+nx*ny)=C
 
165
c
 
166
      double precision t,xd(*),x(*),z(*),tvec(*),rpar(*),u(*),y(*)
 
167
      integer flag,nevprt,nx,nz,ntvec,nrpar,ipar(*)
 
168
      integer nipar,nu,ny
 
169
      double precision w(100)
 
170
c
 
171
c
 
172
      la=1
 
173
      lb=nz*nz+la
 
174
      lc=lb+nz*nu
 
175
      if(flag.eq.4) then
 
176
         if(nz.gt.100) then
 
177
            flag=-1
 
178
            return
 
179
         endif
 
180
      elseif(flag.eq.2) then
 
181
c     x+=a*x+b*u
 
182
         call dcopy(nz,z,1,w,1)
 
183
         call dmmul(rpar(la),nz,w,nz,z,nz,nz,nz,1)
 
184
         call dmmul1(rpar(lb),nz,u,nu,z,nz,nz,nu,1)
 
185
      elseif(flag.eq.1.or.flag.eq.6) then
 
186
c     y=c*x+d*u
 
187
         ld=lc+nz*ny
 
188
         call dmmul(rpar(lc),ny,z,nz,y,ny,ny,nz,1)
 
189
         call dmmul1(rpar(ld),ny,u,nu,y,ny,ny,nu,1)
 
190
      endif
 
191
      end
 
192
</PRE>
 
193
<HR>
 
194
<ADDRESS>
 
195
Ramine Nikoukhah
 
196
2004-06-22
 
197
</ADDRESS>
 
198
</BODY>
 
199
</HTML>