License Header change: Removed the LICENSE_END before beta
[scilab.git] / scilab / modules / cacsd / help / ja_JP / flts.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) INRIA - 
5  * 
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="flts" xml:lang="ja">
17     <refnamediv>
18         <refname>flts</refname>
19         <refpurpose>時間応答 (離散時間, 離散化システム)</refpurpose>
20     </refnamediv>
21     <refsynopsisdiv>
22         <title>呼び出し手順</title>
23         <synopsis>[y [,x]]=flts(u,sl [,x0])
24             [y]=flts(u,sl [,past])
25         </synopsis>
26     </refsynopsisdiv>
27     <refsection>
28         <title>パラメータ</title>
29         <variablelist>
30             <varlistentry>
31                 <term>u</term>
32                 <listitem>
33                     <para>行列 (入力ベクトル)</para>
34                 </listitem>
35             </varlistentry>
36             <varlistentry>
37                 <term>sl</term>
38                 <listitem>
39                     <para>
40                         リスト (線形システム <literal>syslin</literal>)
41                     </para>
42                 </listitem>
43             </varlistentry>
44             <varlistentry>
45                 <term>x0</term>
46                 <listitem>
47                     <para>ベクトル (状態量初期値 ; デフォルト値
48                         =<literal>0</literal>)
49                     </para>
50                 </listitem>
51             </varlistentry>
52             <varlistentry>
53                 <term>past</term>
54                 <listitem>
55                     <para>
56                         (過去の)行列 (デフォルト値=<literal>0</literal>)
57                     </para>
58                 </listitem>
59             </varlistentry>
60             <varlistentry>
61                 <term>x,y</term>
62                 <listitem>
63                     <para>行列 (状態量と出力)</para>
64                 </listitem>
65             </varlistentry>
66         </variablelist>
67     </refsection>
68     <refsection>
69         <title>説明</title>
70         <itemizedlist>
71             <listitem>
72                 <para>状態空間形式:</para>
73             </listitem>
74         </itemizedlist>
75         <para>
76             <literal>sl</literal> は,その状態空間表現で指定される離散線形システム
77             です(<link linkend="syslin">syslin</link> 参照):
78         </para>
79         <para>
80             <literal>sl=syslin('d',A,B,C,D)</literal> :
81         </para>
82         <programlisting role=""><![CDATA[ 
83 x[t+1] = A x[t] + B u[t]
84 y[t] = C x[t] + D u[t]
85  ]]></programlisting>
86         <para>
87             もしくは,より一般的に,<literal>D</literal> が多項式行列
88             の場合
89             (<literal>p = degree(D(z))</literal>) :
90         </para>
91         <programlisting role=""><![CDATA[ 
92 D(z) = D_0 + z D_1 + z^2 D_2 +..+ z^p D_p
93 y[t] = C x[t] + D_0 u[t] + D_1 u[t+1] +..+ D_[p] u[t+p]
94  ]]></programlisting>
95         <itemizedlist>
96             <listitem>
97                 <para>伝達関数表現:</para>
98             </listitem>
99         </itemizedlist>
100         <para>
101             <literal> y=flts(u,sl[,past])</literal>. ここで, <literal>sl</literal>
102             は伝達行列形式の線形システムです, すなわち,
103         </para>
104         <para>
105             <literal>sl=syslin('d',transfer_matrix)</literal> (
106             <literal>
107                 <link linkend="syslin">syslin</link>
108             </literal>
109             参照).
110         </para>
111         <programlisting role=""><![CDATA[ 
112 past = [u     ,...,  u   ]
113        [ -nd           -1]
114        [y     ,...,  y   ]
115        [ -nd           -1]
116  ]]></programlisting>
117         <para>は, u と y の過去の値の行列です.</para>
118         <para>
119             <literal>nd</literal> は,
120             <literal>sl</literal> の分母行列の各行の最小公倍数の
121             最大自由度です.
122         </para>
123         <programlisting role=""><![CDATA[ 
124 u=[u0 u1 ... un]  (input)
125 y=[y0 y1 ... yn]  (output)
126  ]]></programlisting>
127         <para>p は分子の最大次数と分母の最大次数の差です.</para>
128     </refsection>
129     <refsection>
130         <title>例</title>
131         <programlisting role="example"><![CDATA[ 
132 sl=syslin('d',1,1,1);u=1:10;
133 y=flts(u,sl); 
134 plot2d(y)
135 [y1,x1]=flts(u(1:5),sl);y2=flts(u(6:10),sl,x1);
136 y-[y1,y2]
137 //多項式Dがある場合:
138 z=poly(0,'z');
139 D=1+z+z^2; p =degree(D);
140 sl=syslin('d',1,1,1,D);
141 y=flts(u,sl);[y1,x1]=flts(u(1:5),sl);
142 y2=flts(u(5-p+1:10),sl,x1);  // (update)
143 y-[y1,y2]
144 //遅延 (伝達関数形式): flts(u,1/z)
145 // 典型的な応答
146 z=poly(0,'z');
147 h=syslin(0.1,(1-2*z)/(z^2+0.3*z+1))
148 imprep=flts(eye(1,20),tf2ss(h));   //インパルス応答
149 clf();
150 plot(imprep,'b')
151 u=ones(1,20);
152 stprep=flts(ones(1,20),tf2ss(h));   //ステップ応答
153 plot(stprep,'g')
154 // その他の例
155 A=[1 2 3;0 2 4;0 0 1];B=[1 0;0 0;0 1];C=eye(3,3);Sys=syslin('d',A,B,C);
156 H=ss2tf(Sys); u=[1;-1]*(1:10);
157 //
158 yh=flts(u,H); ys=flts(u,Sys);
159 norm(yh-ys,1)    
160 //ホット リスタート
161 [ys1,x]=flts(u(:,1:4),Sys);ys2=flts(u(:,5:10),Sys,x);
162 norm([ys1,ys2]-ys,1)
163 //
164 yh1=flts(u(:,1:4),H);yh2=flts(u(:,5:10),H,[u(:,2:4);yh(:,2:4)]);
165 norm([yh1,yh2]-yh,1)
166 //D&lt;&gt;0 を指定
167 D=[-3 8;4 -0.5;2.2 0.9];
168 Sys=syslin('d',A,B,C,D);
169 H=ss2tf(Sys); u=[1;-1]*(1:10);
170 rh=flts(u,H); rs=flts(u,Sys);
171 norm(rh-rs,1)
172 //ホット リスタート
173 [ys1,x]=flts(u(:,1:4),Sys);ys2=flts(u(:,5:10),Sys,x);
174 norm([ys1,ys2]-rs,1)
175 //With H:
176 yh1=flts(u(:,1:4),H);yh2=flts(u(:,5:10),H,[u(:,2:4); yh1(:,2:4)]);
177 norm([yh1,yh2]-rh)
178  ]]></programlisting>
179     </refsection>
180     <refsection role="see also">
181         <title>参照</title>
182         <simplelist type="inline">
183             <member>
184                 <link linkend="ltitr">ltitr</link>
185             </member>
186             <member>
187                 <link linkend="dsimul">dsimul</link>
188             </member>
189             <member>
190                 <link linkend="rtitr">rtitr</link>
191             </member>
192         </simplelist>
193     </refsection>
194 </refentry>