diff options
Diffstat (limited to 'modules/cacsd/help')
353 files changed, 42423 insertions, 0 deletions
diff --git a/modules/cacsd/help/en_US/abinv.xml b/modules/cacsd/help/en_US/abinv.xml new file mode 100755 index 000000000..e9308593d --- /dev/null +++ b/modules/cacsd/help/en_US/abinv.xml @@ -0,0 +1,279 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="abinv"> + <refnamediv> + <refname>abinv</refname> + <refpurpose>AB invariant subspace</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[X,dims,F,U,k,Z]=abinv(Sys,alpha,beta,flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + <literal>syslin</literal> list containing the matrices <literal>[A,B,C,D]</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alpha</term> + <listitem> + <para>(optional) real number or vector (possibly complex, location of closed loop poles)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>(optional) real number or vector (possibly complex, location of closed loop poles)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + (optional) character string <literal>'ge'</literal> (default) or <literal>'st'</literal> or <literal>'pp'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>orthogonal matrix of size nx (dim of state space).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dims</term> + <listitem> + <para> + integer row vector <literal>dims=[dimR,dimVg,dimV,noc,nos]</literal> with <literal>dimR<=dimVg<=dimV<=noc<=nos</literal>. If <literal>flag='st'</literal>, (resp. <literal>'pp'</literal>), <literal>dims</literal> has 4 (resp. 3) components. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para>real matrix (state feedback)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para> + integer (normal rank of <literal>Sys</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para> + non-singular linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Output nulling subspace (maximal unobservable subspace) for + <literal>Sys</literal> = linear system defined by a syslin list containing + the matrices [A,B,C,D] of <literal>Sys</literal>. + The vector <literal>dims=[dimR,dimVg,dimV,noc,nos]</literal> gives the dimensions + of subspaces defined as columns of <literal>X</literal> according to partition given + below. + The <literal>dimV</literal> first columns of <literal>X</literal> i.e <literal>V=X(:,1:dimV)</literal>, + span the AB-invariant subspace of <literal>Sys</literal> i.e the unobservable subspace of + <literal>(A+B*F,C+D*F)</literal>. (<literal>dimV=nx</literal> iff <literal>C^(-1)(D)=X</literal>). + </para> + <para> + The <literal>dimR</literal> first columns of <literal>X</literal> i.e. <literal>R=X(:,1:dimR)</literal> spans + the controllable part of <literal>Sys</literal> in <literal>V</literal>, <literal>(dimR<=dimV)</literal>. (<literal>dimR=0</literal> + for a left invertible system). <literal>R</literal> is the maximal controllability + subspace of <literal>Sys</literal> in <literal>kernel(C)</literal>. + </para> + <para> + The <literal>dimVg</literal> first columns of <literal>X</literal> spans + <literal>Vg</literal>=maximal AB-stabilizable subspace of <literal>Sys</literal>. <literal>(dimR<=dimVg<=dimV)</literal>. + </para> + <para> + <literal>F</literal> is a decoupling feedback: for <literal>X=[V,X2] (X2=X(:,dimV+1:nx))</literal> one has + <literal>X2'*(A+B*F)*V=0 and (C+D*F)*V=0</literal>. + </para> + <para> + The zeros od <literal>Sys</literal> are given by : <literal>X0=X(:,dimR+1:dimV); spec(X0'*(A+B*F)*X0)</literal> + i.e. there are <literal>dimV-dimR</literal> closed-loop fixed modes. + </para> + <para> + If the optional parameter <literal>alpha</literal> is given as input, + the <literal>dimR</literal> controllable modes of <literal>(A+BF)</literal> in <literal>V</literal> + are set to <literal>alpha</literal> (or to <literal>[alpha(1), alpha(2), ...]</literal>. + (<literal>alpha</literal> can be a vector (real or complex pairs) or a (real) number). + Default value <literal>alpha=-1</literal>. + </para> + <para> + If the optional real parameter <literal>beta</literal> is given as input, + the <literal>noc-dimV</literal> controllable modes of <literal>(A+BF)</literal> "outside" <literal>V</literal> + are set to <literal>beta</literal> (or <literal>[beta(1),beta(2),...]</literal>). Default value <literal>beta=-1</literal>. + </para> + <para> + In the <literal>X,U</literal> bases, the matrices + <literal>[X'*(A+B*F)*X,X'*B*U;(C+D*F)*X,D*U]</literal> + are displayed as follows: + </para> + <programlisting><![CDATA[ +[A11,*,*,*,*,*] [B11 * ] +[0,A22,*,*,*,*] [0 * ] +[0,0,A33,*,*,*] [0 * ] +[0,0,0,A44,*,*] [0 B42] +[0,0,0,0,A55,*] [0 0 ] +[0,0,0,0,0,A66] [0 0 ] + +[0,0,0,*,*,*] [0 D2] + ]]></programlisting> + <para> + where the X-partitioning is defined by <literal>dims</literal> and + the U-partitioning is defined by <literal>k</literal>. + </para> + <para> + <literal>A11</literal> is <literal>(dimR x dimR)</literal> and has its eigenvalues set to <literal>alpha(i)'s</literal>. + The pair <literal>(A11,B11)</literal> is controllable and <literal>B11</literal> has <literal>nu-k</literal> columns. + <literal>A22</literal> is a stable <literal>(dimVg-dimR x dimVg-dimR)</literal> matrix. + <literal>A33</literal> is an unstable <literal>(dimV-dimVg x dimV-dimVg)</literal> matrix (see <literal>st_ility</literal>). + </para> + <para> + <literal>A44</literal> is <literal>(noc-dimV x noc-dimV)</literal> and has its eigenvalues set to <literal>beta(i)'s</literal>. + The pair <literal>(A44,B42)</literal> is controllable. + <literal>A55</literal> is a stable <literal>(nos-noc x nos-noc)</literal> matrix. + <literal>A66</literal> is an unstable <literal>(nx-nos x nx-nos)</literal> matrix (see <literal>st_ility</literal>). + </para> + <para> + <literal>Z</literal> is a column compression of <literal>Sys</literal> and <literal>k</literal> is + the normal rank of <literal>Sys</literal> i.e <literal>Sys*Z</literal> is a column-compressed linear + system. <literal>k</literal> is the column dimensions of <literal>B42,B52,B62</literal> and <literal>D2</literal>. + <literal>[B42;B52;B62;D2]</literal> is full column rank and has rank <literal>k</literal>. + </para> + <para> + If <literal>flag='st'</literal> is given, a five blocks partition of the matrices is + returned and <literal>dims</literal> has four components. If <literal>flag='pp'</literal> is + given a four blocks partition is returned. In case <literal>flag='ge'</literal> one has + <literal>dims=[dimR,dimVg,dimV,dimV+nc2,dimV+ns2]</literal> where <literal>nc2</literal> + (resp. <literal>ns2</literal>) is the dimension of the controllable (resp. + stabilizable) pair <literal>(A44,B42)</literal> (resp. (<literal>[A44,*;0,A55],[B42;0])</literal>). + In case <literal>flag='st'</literal> one has <literal>dims=[dimR,dimVg,dimVg+nc,dimVg+ns]</literal> + and in case <literal>flag='pp'</literal> one has <literal>dims=[dimR,dimR+nc,dimR+ns]</literal>. + <literal>nc</literal> (resp. <literal>ns</literal>) is here the dimension of the controllable + (resp. stabilizable) subspace of the blocks 3 to 6 (resp. 2 to 6). + </para> + <para> + This function can be used for the (exact) disturbance decoupling problem. + </para> + <programlisting role=""><![CDATA[ +DDPS: + Find u=Fx+Rd=[F,R]*[x;d] which rejects Q*d and stabilizes the plant: + + xdot = Ax+Bu+Qd + y = Cx+Du+Td + +DDPS has a solution if Im(Q) is included in Vg + Im(B) and stabilizability +assumption is satisfied. +Let G=(X(:,dimVg+1:$))'= left annihilator of Vg i.e. G*Vg=0; +B2=G*B; Q2=G*Q; DDPS solvable iff [B2;D]*R + [Q2;T] =0 has a solution. +The pair F,R is the solution (with F=output of abinv). +Im(Q2) is in Im(B2) means row-compression of B2=>row-compression of Q2 +Then C*[(sI-A-B*F)^(-1)+D]*(Q+B*R) =0 (<=>G*(Q+B*R)=0) + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +nu=3;ny=4;nx=7; +nrt=2;ngt=3;ng0=3;nvt=5;rk=2; +flag=list('on',nrt,ngt,ng0,nvt,rk); +Sys=ssrand(ny,nu,nx,flag);my_alpha=-1;my_beta=-2; +[X,dims,F,U,k,Z]=abinv(Sys,my_alpha,my_beta); +[A,B,C,D]=abcd(Sys);dimV=dims(3);dimR=dims(1); +V=X(:,1:dimV);X2=X(:,dimV+1:nx); +X2'*(A+B*F)*V +(C+D*F)*V +X0=X(:,dimR+1:dimV); spec(X0'*(A+B*F)*X0) +trzeros(Sys) +spec(A+B*F) //nr=2 evals at -1 and noc-dimV=2 evals at -2. +clean(ss2tf(Sys*Z)) + ]]></programlisting> + <programlisting role="example"><![CDATA[ +nx=6;ny=3;nu=2; +A=diag(1:6);A(2,2)=-7;A(5,5)=-9;B=[1,2;0,3;0,4;0,5;0,0;0,0]; +C=[zeros(ny,ny),eye(ny,ny)];D=[0,1;0,2;0,3]; +sl=syslin('c',A,B,C,D);//sl=ss2ss(sl,rand(6,6))*rand(2,2); +[A,B,C,D]=abcd(sl); //The matrices of sl. +my_alpha=-1;my_beta=-2; +[X,dims,F,U,k,Z]=abinv(sl,my_alpha,my_beta);dimVg=dims(2); +clean(X'*(A+B*F)*X) +clean(X'*B*U) +clean((C+D*F)*X) +clean(D*U) +G=(X(:,dimVg+1:$))'; +B2=G*B;nd=3; +R=rand(nu,nd);Q2T=-[B2;D]*R; +p=size(G,1);Q2=Q2T(1:p,:);T=Q2T(p+1:$,:); +Q=G\Q2; //a valid [Q;T] since +[G*B;D]*R + [G*Q;T] // is zero +closed=syslin('c',A+B*F,Q+B*R,C+D*F,T+D*R); // closed loop: d-->y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) //The plant is not stabilizable! +[ns,nc,W,sl1]=st_ility(sl); +[A,B,C,D]=abcd(sl1);A=A(1:ns,1:ns);B=B(1:ns,:);C=C(:,1:ns); +slnew=syslin('c',A,B,C,D); //Now stabilizable +//Fnew=stabil(slnew('A'),slnew('B'),-11); +//slnew('A')=slnew('A')+slnew('B')*Fnew; +//slnew('C')=slnew('C')+slnew('D')*Fnew; +[X,dims,F,U,k,Z]=abinv(slnew,my_alpha,my_beta);dimVg=dims(2); +[A,B,C,D]=abcd(slnew); +G=(X(:,dimVg+1:$))'; +B2=G*B;nd=3; +R=rand(nu,nd);Q2T=-[B2;D]*R; +p=size(G,1);Q2=Q2T(1:p,:);T=Q2T(p+1:$,:); +Q=G\Q2; //a valid [Q;T] since +[G*B;D]*R + [G*Q;T] // is zero +closed=syslin('c',A+B*F,Q+B*R,C+D*F,T+D*R); // closed loop: d-->y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="cainv">cainv</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + <member> + <link linkend="ss2ss">ss2ss</link> + </member> + <member> + <link linkend="ddp">ddp</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/addchapter.sce b/modules/cacsd/help/en_US/addchapter.sce new file mode 100755 index 000000000..632d45f25 --- /dev/null +++ b/modules/cacsd/help/en_US/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD (Computer Aided Control Systems Design)",SCI+"/modules/cacsd/help/en_US",%T); + diff --git a/modules/cacsd/help/en_US/arhnk.xml b/modules/cacsd/help/en_US/arhnk.xml new file mode 100755 index 000000000..060059544 --- /dev/null +++ b/modules/cacsd/help/en_US/arhnk.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="arhnk"> + <refnamediv> + <refname>arhnk</refname> + <refpurpose>Hankel norm approximant</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[slm]=arhnk(sl,ord,[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ord</term> + <listitem> + <para>integer, order of the approximant</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + threshold for rank determination in <literal>equil1</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + computes <literal>slm</literal>, the optimal Hankel norm approximant of the + stable continuous-time linear system <literal>sl</literal> with matrices <literal>[A,B,C,D]</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3,-4,-5]);B=rand(5,1);C=rand(1,5); +sl=syslin('c',A,B,C); +slapprox=arhnk(sl,2); +[nk,W]=hankelsv(sl);nk +[nkred,Wred]=hankelsv(slapprox);nkred + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + <member> + <link linkend="hankelsv">hankelsv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/arl2.xml b/modules/cacsd/help/en_US/arl2.xml new file mode 100755 index 000000000..e4492c4e5 --- /dev/null +++ b/modules/cacsd/help/en_US/arl2.xml @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="arl2"> + <refnamediv> + <refname>arl2</refname> + <refpurpose>SISO model realization by L2 transfer approximation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>h=arl2(y,den0,n [,imp]) + h=arl2(y,den0,n [,imp],'all') + [den,num,err]=arl2(y,den0,n [,imp]) + [den,num,err]=arl2(y,den0,n [,imp],'all') + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>y</term> + <listitem> + <para> + real vector or polynomial in <literal>z^-1</literal>, it contains the coefficients of the Fourier's series of the rational system to approximate (the impulse response) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>den0</term> + <listitem> + <para> + a polynomial which gives an initial guess of the solution, it may be <literal>poly(1,'z','c')</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>integer, the degree of approximating transfer function (degree of den)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>imp</term> + <listitem> + <para> + integer in <literal>(0,1,2)</literal> (verbose mode) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para> + transfer function <literal>num/den</literal> or transfer matrix (column vector) when flag <literal>'all'</literal> is given. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>den</term> + <listitem> + <para>polynomial or vector of polynomials, contains the denominator(s) of the solution(s)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>num</term> + <listitem> + <para>polynomial or vector of polynomials, contains the numerator(s) of the solution(s)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para>real constant or vector , the l2-error achieved for each solutions</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[den,num,err]=arl2(y,den0,n [,imp]) </literal> finds a pair of polynomials + <literal>num</literal> and <literal>den</literal> such that the transfer function <literal>num/den</literal> + is stable and its impulse response approximates (with a minimal l2 + norm) the vector <literal>y</literal> assumed to be completed by an infinite number + of zeros. + </para> + <para> + If <literal>y(z) = y(1)(1/z)+y(2)(1/z^2)+ ...+ y(ny)(1/z^ny)</literal> + </para> + <para> + then l2-norm of <literal>num/den - y(z)</literal> is <literal>err</literal>. + </para> + <para> + <literal>n</literal> is the degree of the polynomial <literal>den</literal>. + </para> + <para> + The <literal>num/den</literal> transfer function is a L2 approximant of the + Fourier's series of the rational system. + </para> + <para> + Various intermediate results are printed according to <literal>imp</literal>. + </para> + <para> + <literal>[den,num,err]=arl2(y,den0,n [,imp],'all') </literal> returns in the + vectors of polynomials <literal>num</literal> and <literal>den</literal> a set of local + optimums for the problem. The solutions are sorted with increasing + errors <literal>err</literal>. In this case <literal>den0</literal> is already assumed to be + <literal>poly(1,'z','c')</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +v=ones(1,20); +clf(); +plot2d1('enn',0,[v';zeros(80,1)],2,'051',' ',[1,-0.5,100,1.5]) + +[d,n,e]=arl2(v,poly(1,'z','c'),1) +plot2d1('enn',0,ldiv(n,d,100),2,'000') +[d,n,e]=arl2(v,d,3) +plot2d1('enn',0,ldiv(n,d,100),3,'000') +[d,n,e]=arl2(v,d,8) +plot2d1('enn',0,ldiv(n,d,100),5,'000') + +[d,n,e]=arl2(v,poly(1,'z','c'),4,'all') +plot2d1('enn',0,ldiv(n(1),d(1),100),10,'000') + ]]></programlisting> + <scilab:image> + v=ones(1,20); + plot2d1('enn',0,[v';zeros(80,1)],2,'051',' ',[1,-0.5,100,1.5]) + + [d,n,e]=arl2(v,poly(1,'z','c'),1) + plot2d1('enn',0,ldiv(n,d,100),2,'000') + [d,n,e]=arl2(v,d,3) + plot2d1('enn',0,ldiv(n,d,100),3,'000') + [d,n,e]=arl2(v,d,8) + plot2d1('enn',0,ldiv(n,d,100),5,'000') + + [d,n,e]=arl2(v,poly(1,'z','c'),4,'all') + plot2d1('enn',0,ldiv(n(1),d(1),100),10,'000') + </scilab:image> + + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ldiv">ldiv</link> + </member> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/arma.xml b/modules/cacsd/help/en_US/arma.xml new file mode 100755 index 000000000..afc6ec9fb --- /dev/null +++ b/modules/cacsd/help/en_US/arma.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="arma"> + <refnamediv> + <refname>arma</refname> + <refpurpose>Scilab arma library</refpurpose> + </refnamediv> + <refsection> + <title>Description</title> + <para> + Armax processes can be coded with Scilab tlist of type <literal>'ar'</literal>. + <literal>armac</literal> is used to build <literal>Armax</literal> scilab object. An <literal>'ar'</literal> + tlist contains the fields <literal>['a','b','d','ny','nu','sig']</literal>. + </para> + <variablelist> + <varlistentry> + <term>armac</term> + <listitem> + <para>this function creates a Scilab tlist which code an Armax + process <literal> A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)</literal> + </para> + <programlisting role=""><![CDATA[ +-->ar=armac([1,2],[3,4],1,1,1,sig); + +-->ar('a') + ans = + +! 1. 2. ! +-->ar('sig') + ans = + + 1. + ]]></programlisting> + </listitem> + </varlistentry> + <varlistentry> + <term>armap(ar [,out])</term> + <listitem> + <para> + Display the armax equation associated with <literal>ar</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>armap_p(ar [,out])</term> + <listitem> + <para> + Display the armax equation associated with <literal>ar</literal> using polynomial matrix display. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>[A,B,D]=armap2p(ar)</term> + <listitem> + <para>extract polynomial matrices from ar representation</para> + </listitem> + </varlistentry> + <varlistentry> + <term>armax</term> + <listitem> + <para> + is used to identify the coefficients of a n-dimensional ARX process <literal>A(z^-1)y= B(z^-1)u + sig*e(t)</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>armax1</term> + <listitem> + <para>armax1 is used to identify the coefficients of a 1-dimensional ARX process + <literal>A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>arsimul</term> + <listitem> + <para>armax trajectory simulation.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>narsimul</term> + <listitem> + <para>armax simulation ( using rtitr)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>odedi</term> + <listitem> + <para>Simple tests of ode and arsimul. Tests the option 'discret' of ode</para> + </listitem> + </varlistentry> + <varlistentry> + <term>prbs_a</term> + <listitem> + <para>pseudo random binary sequences generation</para> + </listitem> + </varlistentry> + <varlistentry> + <term>reglin</term> + <listitem> + <para>Linear regression</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Example</title> + <programlisting role="example"><![CDATA[ +// Example extracted from the demo arma3.dem.sce in the cacsd module +// Spectral power estimation +// ( form Sawaragi et all) +m = 18; +a = [1,-1.3136,1.4401,-1.0919,+0.83527]; +b = [0.0,0.13137,0.023543,0.10775,0.03516]; +u = rand(1,1000,'n'); +z = arsimul(a,b,[0],0,u); + +//----Using macro mese +[sm,fr]=mese(z,m); + +//----The theorical result + +function gx=gxx(z,a,b) + w = exp(-%i*2*%pi*z*(0:4))' + gx = abs(b*w)^2/(abs(a*w)^2); +endfunction + +res=[]; +for x=fr + res=[ res, gxx(x,a,b)]; +end + +//----using armax estimation of order (4,4) +// it's a bit tricky because we are not supposed to know the order + +[arc,la,lb,sig,resid]=armax(4,4,z,u); +res1=[]; +for x=fr + res1=[ res1, gxx(x,la(1),lb(1))]; +end + +//-- visualization of the results +plot2d([fr;fr;fr]',[20*log10(sm/sm(1));20*log10(res/res(1));20*log10(res1/res1(1))]',[2,1,-1]) +legend(["Using macro mese";"Theoretical value";"Arma identification"]) +xtitle("Spectral power","frequency","spectral estimate") + ]]></programlisting> + <scilab:image localized="true"> + m = 18; + a = [1,-1.3136,1.4401,-1.0919,+0.83527]; + b = [0.0,0.13137,0.023543,0.10775,0.03516]; + u = rand(1,1000,'n'); + z = arsimul(a,b,[0],0,u); + + [sm,fr]=mese(z,m); + + function gx=gxx(z,a,b) + w = exp(-%i*2*%pi*z*(0:4))' + gx = abs(b*w)^2/(abs(a*w)^2); + endfunction + + res=[]; + for x=fr + res=[ res, gxx(x,a,b)]; + end + + [arc,la,lb,sig,resid]=armax(4,4,z,u); + res1=[]; + for x=fr + res1=[ res1, gxx(x,la(1),lb(1))]; + end + + plot2d([fr;fr;fr]',[20*log10(sm/sm(1));20*log10(res/res(1));20*log10(res1/res1(1))]',[2,1,-1]) + legend(["Using macro mese";"Theoretical value";"Arma identification"]) + xtitle("Spectral power","frequency","spectral estimate") + </scilab:image> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/arma2p.xml b/modules/cacsd/help/en_US/arma2p.xml new file mode 100755 index 000000000..e2c5bf3a0 --- /dev/null +++ b/modules/cacsd/help/en_US/arma2p.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="arma2p"> + <refnamediv> + <refname>arma2p</refname> + <refpurpose>extract polynomial matrices from ar representation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[A,B,D]=arma2p(ar)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B,D</term> + <listitem> + <para>three polynomial matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ar</term> + <listitem> + <para> + Scilab 'ar' tlist for arma storage (see <literal>armac</literal>). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + this function extract polynomial matrices <literal>(A,B,D)</literal> from an armax + description. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=[1,-2.851,2.717,-0.865].*.eye(2,2) +b=[0,1,1,1].*.[1;1]; +d=[1,0.7,0.2].*.eye(2,2); +sig=eye(2,2); +ar=armac(a,b,d,2,1,sig) +// extract polynomial matrices from ar representation +[A,B,D]=arma2p(ar); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="arma">arma</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="armax1">armax1</link> + </member> + <member> + <link linkend="arsimul">arsimul</link> + </member> + <member> + <link linkend="armac">armac</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/arma2ss.xml b/modules/cacsd/help/en_US/arma2ss.xml new file mode 100755 index 000000000..a1e0975ad --- /dev/null +++ b/modules/cacsd/help/en_US/arma2ss.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +Copyright (C) 2012 - INRIA - Serge Steer + +This file must be used under the terms of the CeCILL. +This source file is licensed as described in the file COPYING, which +you should have received as part of this distribution. The terms +are also available at +http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * Add some comments about XML file +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="arma2ss" xml:lang="en"> + <refnamediv> + <refname>arma2ss</refname> + <refpurpose>transform an armax data structure into state space + representation. + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[S,Sn] = arma2ss(Ar) + S = arma2ss(Ar) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parameters</title> + <variablelist> + <varlistentry> + <term>Ar</term> + <listitem> + <para> + an armax data structure (see <link linkend="armac">armac</link>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para> + a discrete time state space data structure (see <link linkend="syslin">syslin</link>. The regular input to output + transfer. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sn</term> + <listitem> + <para> + a discrete time state space data structure (see <link linkend="syslin">syslin</link>. The noise input to output + transfer. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[S,Sn] = arma2ss(Ar) </literal>transform an armax data + structure into a state space representation. The full armax transfer + <literal>F</literal>can be obtained by <literal>F=[S,Sn]</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example">A = [eye(2,2),[-1.5 0.1;-0.2 1.5],[0.7 -0.3;0.1 0.7]]; + B = [[0;0] [1;-1] [0.5;1.2]]; + Ar = armac(A, B, zeros(2, 2), 2, 1, 0) + [S, Sn] = arma2ss(Ar) + </programlisting> + </refsection> + <refsection> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="armac">armac</link> + </member> + <member> + <link linkend="arma">arma</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Authors</title> + <simplelist type="vert"> + <member>Serge Steer, INRIA</member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>arma2ss added.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/armac.xml b/modules/cacsd/help/en_US/armac.xml new file mode 100755 index 000000000..0f3273944 --- /dev/null +++ b/modules/cacsd/help/en_US/armac.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="armac"> + <refnamediv> + <refname>armac</refname> + <refpurpose>Scilab description of an armax process</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[ar]=armac(a,b,d,ny,nu,sig)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>a=[Id,a1,..,a_r] </term> + <listitem> + <para>is a matrix of size (ny,r*ny)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>b=[b0,.....,b_s] </term> + <listitem> + <para>is a matrix of size (ny,(s+1)*nu)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>d=[Id,d1,..,d_p] </term> + <listitem> + <para>is a matrix of size (ny,p*ny);</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ny</term> + <listitem> + <para>dimension of the output y</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nu</term> + <listitem> + <para>dimension of the output u</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>a matrix of size (ny,ny)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + This function creates a description as a tlist of an ARMAX process + </para> + <para> + <literal>ar</literal> is defined by + </para> + <programlisting role=""><![CDATA[ +ar=tlist(['ar','a','b','d','ny','nu','sig'],a,b,d,ny,nu,sig); + ]]></programlisting> + <para> + and thus the coefficients of <literal>ar</literal> can be retrieved by e.g. + <literal> ar('a') </literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=[1,-2.851,2.717,-0.865].*.eye(2,2) +b=[0,1,1,1].*.[1;1]; +d=[1,0.7,0.2].*.eye(2,2); +sig=eye(2,2); +ar=armac(a,b,d,2,1,sig) +// extract polynomial matrices from ar representation +[A,B,D]=arma2p(ar); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="arma">arma</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="armax1">armax1</link> + </member> + <member> + <link linkend="arsimul">arsimul</link> + </member> + <member> + <link linkend="arma2p">arma2p</link> + </member> + <member> + <link linkend="tlist">tlist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/armax.xml b/modules/cacsd/help/en_US/armax.xml new file mode 100755 index 000000000..2e978a46b --- /dev/null +++ b/modules/cacsd/help/en_US/armax.xml @@ -0,0 +1,189 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="armax"> + <refnamediv> + <refname>armax</refname> + <refpurpose>armax identification</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[arc,la,lb,sig,resid]=armax(r,s,y,u,[b0f,prf])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>y</term> + <listitem> + <para>output process y(ny,n); ( ny: dimension of y , n : sample size)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>input process u(nu,n); ( nu: dimension of u , n : sample size)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r and s</term> + <listitem> + <para>auto-regression orders r >=0 et s >=-1</para> + </listitem> + </varlistentry> + <varlistentry> + <term>b0f</term> + <listitem> + <para>optional parameter. Its default value is 0 and it means that the coefficient b0 must be identified. if bof=1 the b0 is supposed to be zero and is not identified</para> + </listitem> + </varlistentry> + <varlistentry> + <term>prf</term> + <listitem> + <para>optional parameter for display control. If prf =1, the default value, a display of the identified Arma is given.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>arc</term> + <listitem> + <para>a Scilab arma object (see armac)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>la</term> + <listitem> + <para>is the list(a,a+eta,a-eta) ( la = a in dimension 1) ; where eta is the estimated standard deviation. , a=[Id,a1,a2,...,ar] where each ai is a matrix of size (ny,ny)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>lb</term> + <listitem> + <para>is the list(b,b+etb,b-etb) (lb =b in dimension 1) ; where etb is the estimated standard deviation. b=[b0,.....,b_s] where each bi is a matrix of size (nu,nu)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>is the estimated standard deviation of the noise and resid=[ sig*e(t0),....] (</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + armax is used to identify the coefficients of a n-dimensional + ARX process + </para> + <programlisting role=""><![CDATA[ +A(z^-1)y= B(z^-1)u + sig*e(t) + ]]></programlisting> + <para> + where e(t) is a n-dimensional white noise with variance I. + sig an nxn matrix and A(z) and B(z): + </para> + <programlisting role=""><![CDATA[ +A(z) = 1+a1*z+...+a_r*z^r; ( r=0 => A(z)=1) +B(z) = b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) + ]]></programlisting> + <para> + for the method see Eykhoff in trends and progress in system identification, page 96. + with + <literal>z(t)=[y(t-1),..,y(t-r),u(t),...,u(t-s)]</literal> + and + <literal>coef= [-a1,..,-ar,b0,...,b_s] </literal> + we can write + <literal>y(t)= coef* z(t) + sig*e(t) </literal> and the algorithm minimises + <literal>sum_{t=1}^N ( [y(t)- coef'z(t)]^2)</literal> + where t0=max(max(r,s)+1,1))). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//-Ex1- Arma model : y(t) = 0.2*u(t-1)+0.01*e(t-1) +ny=1,nu=1,sig=0.01; +Arma=armac(1,[0,0.2],[0,1],ny,nu,sig) //defining the above arma model +u=rand(1,1000,'normal'); //a random input sequence u +y=arsimul(Arma,u); //simulation of a y output sequence associated with u. +Armaest=armax(0,1,y,u); //Identified model given u and y. +Acoeff=Armaest('a'); //Coefficients of the polynomial A(x) +Bcoeff=Armaest('b') //Coefficients of the polynomial B(x) +Dcoeff=Armaest('d'); //Coefficients of the polynomial D(x) +[Ax,Bx,Dx]=arma2p(Armaest) //Results in polynomial form. + ]]></programlisting> + <programlisting role="example"><![CDATA[ +//-Ex2- Arma1: y_t -0.8*y_{t-1} + 0.2*y_{t-2} = sig*e(t) +ny=1,nu=1;sig=0.001; +// First step: simulation the Arma1 model, for that we define +// Arma2: y_t -0.8*y_{t-1} + 0.2*y_{t-2} = sig*u(t) +// with normal deviates for u(t). +Arma2=armac([1,-0.8,0.2],sig,0,ny,nu,0); +//Definition of the Arma2 arma model (a model with B=sig and without noise!) +u=rand(1,10000,'normal'); // An input sequence for Arma2 +y=arsimul(Arma2,u); // y = output of Arma2 with input u +// can be seen as output of Arma1. +// Second step: identification. We look for an Arma model +// y(t) + a1*y(t-1) + a2 *y(t-2) = sig*e(t) +Arma1est=armax(2,-1,y,[]); +[A,B,D]=arma2p(Arma1est) + ]]></programlisting> + <programlisting role="example"><![CDATA[ +a = [1, -2.851, 2.717, -0.865]; +b = [0, 1, 1, 1]; +d = [1, 0.7, 0.2]; +ar = armac(a, b, d, 1, 1, 1); +disp(_("Simulation of an ARMAX process:")); +disp(ar); +// The input +n = 300; +u = -prbs_a(n, 1, int([2.5,5,10,17.5,20,22,27,35]*100/12)); +// simulation +zd = narsimul(ar, u); + +// visualization +plot2d(1:n,[zd',1000*u'],style=[1,3]);curves = gce(); +legend(["Simulated output";"Input [scaled]"]) + ]]></programlisting> + <scilab:image> + a = [1, -2.851, 2.717, -0.865]; + b = [0, 1, 1, 1]; + d = [1, 0.7, 0.2]; + ar = armac(a, b, d, 1, 1, 1); + n = 300; + u = -prbs_a(n, 1, int([2.5,5,10,17.5,20,22,27,35]*100/12)); + zd = narsimul(ar, u); + plot2d(1:n,[zd',1000*u'],style=[1,3]);curves = gce(); + legend(["Simulated output";"Input [scaled]"]); + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/armax1.xml b/modules/cacsd/help/en_US/armax1.xml new file mode 100755 index 000000000..336ef3d96 --- /dev/null +++ b/modules/cacsd/help/en_US/armax1.xml @@ -0,0 +1,160 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="armax1"> + <refnamediv> + <refname>armax1</refname> + <refpurpose>armax identification</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[arc,resid]=armax1(r,s,q,y,u [,b0f])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>y</term> + <listitem> + <para>output signal</para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>input signal</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r,s,q</term> + <listitem> + <para>auto regression orders with r >=0, s >=-1.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>b0f</term> + <listitem> + <para>optional parameter. Its default value is 0 and it + means that the coefficient b0 must be identified. if bof=1 + the b0 is supposed to be zero and is not identified + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>arc</term> + <listitem> + <para>is tlist with type "ar" and fields a, b, d, ny, nu, sig</para> + <variablelist> + <varlistentry> + <term>a</term> + <listitem> + <para> + is the vector <literal>[1,a1,...,a_r]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>b</term> + <listitem> + <para> + is the vector <literal>[b0,......,b_s]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>d</term> + <listitem> + <para> + is the vector <literal>[1,d1,....,d_q]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para> resid=[ sig*echap(1),....,];</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + armax1 is used to identify the coefficients of a 1-dimensional + ARX process: + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t) +e(t) is a 1-dimensional white noise with variance 1. +A(z)= 1+a1*z+...+a_r*z^r; ( r=0 => A(z)=1) +B(z)= b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) +D(z)= 1+d1*z+...+d_q*z^q ( q=0 => D(z)=1) + ]]></programlisting> + <para> + for the method, see Eykhoff in trends and progress in system + identification) page 96. with + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +z(t)=[y(t-1),..,y(t-r),u(t),..., + u(t-s),e(t-1),...,e(t-q)] + ]]></programlisting> + <para> + and + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +coef= [-a1,..,-ar,b0,...,b_s,d1,...,d_q]' +y(t)= coef'* z(t) + sig*e(t). + ]]></programlisting> + <para> + a sequential version of the AR estimation where e(t-i) is replaced + by an estimated value is used (RLLS). With q=0 this method is exactly + a sequential version of armax + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + +a = [1, -2.851, 2.717, -0.865]; +b = [0, 1, 1, 1]; +d = [1, 0.7, 0.2]; +ar = armac(a, b, d, 1, 1, 1); +disp(_("Simulation of an ARMAX process:")); +disp(ar); + +n = 300; +u = -prbs_a(n, 1, int([2.5,5,10,17.5,20,22,27,35]*100/12)); +zd = narsimul(ar, u); + +// using now armax1 : colored noise identification +// you can test the same example with +[arc1, resid] = armax1(3,3,2,zd(1:n),u,1); +disp(arc1); + + ]]></programlisting> + </refsection> + + + <refsection> + <title>Important notice</title> + <para>In Scilab versions up to 4.1.2 the returned value in + <literal>arc.sig</literal> is the square of <literal>sig</literal> + square. To be conform with the help, the display of arma models + and the armax function, starting from Scilab-5.0 version the + returned <literal>arc.sig</literal> is <literal>sig</literal>. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/arsimul.xml b/modules/cacsd/help/en_US/arsimul.xml new file mode 100755 index 000000000..9d4a388ee --- /dev/null +++ b/modules/cacsd/help/en_US/arsimul.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="arsimul"> + <refnamediv> + <refname>arsimul</refname> + <refpurpose>armax simulation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[z]=arsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=arsimul(ar,u,[up,yp,ep]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>ar</term> + <listitem> + <para>an armax process. See armac.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>a</term> + <listitem> + <para> + is the matrix <literal>[Id,a1,...,a_r]</literal> of dimension (n,(r+1)*n) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>b</term> + <listitem> + <para> + is the matrix <literal>[b0,......,b_s]</literal> of dimension (n,(s+1)*m) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>d</term> + <listitem> + <para> + is the matrix <literal>[Id,d_1,......,d_t]</literal> of dimension (n,(t+1)*n) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>is a matrix (m,N), which gives the entry u(:,j)=u_j</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>is a (n,n) matrix e_{k} is an n-dimensional Gaussian process with variance I</para> + </listitem> + </varlistentry> + <varlistentry> + <term>up, yp</term> + <listitem> + <para> + optional parameter which describe the past. <literal>up=[ u_0,u_{-1},...,u_{s-1}]</literal>; + <literal>yp=[ y_0,y_{-1},...,y_{r-1}];</literal> <literal>ep=[ e_0,e_{-1},...,e_{r-1}]</literal>; + if they are omitted, the past value are supposed to be zero + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>z</term> + <listitem> + <para> + <literal>z=[y(1),....,y(N)]</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + simulation of an n-dimensional armax process + <literal>A(z^-1) z(k)= B(z^-1)u(k) + D(z^-1)*sig*e(k)</literal> + </para> + <programlisting role=""><![CDATA[ +A(z)= Id+a1*z+...+a_r*z^r; ( r=0 => A(z)=Id) +B(z)= b0+b1*z+...+b_s z^s; ( s=-1 => B(z)=[]) +D(z)= Id+d1*z+...+d_t z^t; ( t=0 => D(z)=Id) + ]]></programlisting> + <para> + z et e are in <literal>R^n</literal> et u in <literal>R^m</literal> + </para> + </refsection> + <refsection> + <title>Method</title> + <para> + a state-space representation is constructed and an ode with the option + <literal>"discrete"</literal> is used to compute <literal>z</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=[1,-2.851,2.717,-0.865].*.eye(2,2) +b=[0,1,1,1].*.[1;1]; +d=[1,0.7,0.2].*.eye(2,2); +sig=eye(2,2); +ar=armac(a,b,d,2,1,sig) +u=rand(1,10,'normal'); +y=arsimul(ar,u) + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/augment.xml b/modules/cacsd/help/en_US/augment.xml new file mode 100755 index 000000000..ee1aea4ea --- /dev/null +++ b/modules/cacsd/help/en_US/augment.xml @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="augment"> + <refnamediv> + <refname>augment</refname> + <refpurpose>augmented plant</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[P,r]=augment(G) + [P,r]=augment(G,flag1) + [P,r]=augment(G,flag1,flag2) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list), the nominal plant + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag1</term> + <listitem> + <para> + one of the following (upper case) character string: <literal> 'S' </literal>, <literal> 'R' </literal>, <literal> 'T' </literal> <literal> 'SR' </literal>, <literal> 'ST' </literal>, <literal> 'RT' </literal> <literal> 'SRT' </literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag2</term> + <listitem> + <para> + one of the following character string: <literal> 'o' </literal> (stands for 'output', this is the default value) or <literal>'i'</literal> (stands for 'input'). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list), the ``augmented'' plant + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 row vector, dimension of <literal>P22 = G</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + If <literal>flag1='SRT'</literal> (default value), returns the "full" augmented plant + </para> + <programlisting role=""><![CDATA[ + [ I | -G] -->'S' + [ 0 | I] -->'R' +P = [ 0 | G] -->'T' + [-------] + [ I | -G] + ]]></programlisting> + <para> + <literal> 'S' </literal>, <literal> 'R' </literal>, <literal> 'T' </literal> refer to the first three (block) rows + of <literal>P</literal> respectively. + </para> + <para> + If one of these letters is absent in <literal>flag1</literal>, the corresponding + row in <literal>P</literal> is missing. + </para> + <para> + If <literal>G</literal> is given in state-space form, the returned <literal>P</literal> is minimal. + <literal>P</literal> is calculated by: <literal>[I,0,0;0,I,0;-I,0,I;I,0,0]*[I,-G;0,I;I,0]</literal>. + </para> + <para> + The augmented plant associated with input sensitivity functions, namely + </para> + <programlisting role=""><![CDATA[ + [ I | -I] -->'S' (input sensitivity) + [ G | -G] -->'R' (G*input sensitivity) +P = [ 0 | I] -->'T' (K*G*input sensitivity) + [-------] + [ G | -G] + ]]></programlisting> + <para> + is obtained by the command <literal>[P,r]=augment(G,flag,'i')</literal>. For + state-space <literal>G</literal>, this <literal>P</literal> + is calculated by: <literal>[I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I]</literal> + and is thus generically minimal. + </para> + <para> + Note that weighting functions can be introduced by left-multiplying + <literal>P</literal> by a diagonal system of appropriate dimension, e.g., + <literal> P = sysdiag(W1,W2,W3,eye(G))*P</literal>. + </para> + <para> + Sensitivity functions can be calculated by <literal>lft</literal>. One has: + </para> + <para> + For output sensitivity functions [P,r]=augment(P,'SRT'): + lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)]; + </para> + <para> + For input sensitivity functions [P,r]=augment(P,'SRT','i'): + lft(P,r,K)=[inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+G*K)]; + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +G=ssrand(2,3,2); //Plant +K=ssrand(3,2,2); //Compensator +[P,r]=augment(G,'T'); +T=lft(P,r,K); //Complementary sensitivity function +Ktf=ss2tf(K);Gtf=ss2tf(G); +Ttf=ss2tf(T);T11=Ttf(1,1); +Oloop=Gtf*Ktf; +Tn=Oloop*inv(eye(Oloop)+Oloop); +clean(T11-Tn(1,1)); +// +[Pi,r]=augment(G,'T','i'); +T1=lft(Pi,r,K);T1tf=ss2tf(T1); //Input Complementary sensitivity function +Oloop=Ktf*Gtf; +T1n=Oloop*inv(eye(Oloop)+Oloop); +clean(T1tf(1,1)-T1n(1,1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="sensi">sensi</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/balreal.xml b/modules/cacsd/help/en_US/balreal.xml new file mode 100755 index 000000000..387bed9bd --- /dev/null +++ b/modules/cacsd/help/en_US/balreal.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="balreal"> + <refnamediv> + <refname>balreal</refname> + <refpurpose>balanced realization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[slb [,U] ] = balreal(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl,slb</term> + <listitem> + <para> + linear systems (<literal>syslin</literal> lists) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Balanced realization of linear system <literal>sl=[A,B,C,D]</literal>. <literal>sl</literal> + can be a continuous-time or discrete-time state-space system. + sl is assumed stable. + </para> + <programlisting role=""><![CDATA[ +slb=[inv(U)*A*U ,inv(U)*B , C*U , D] + ]]></programlisting> + <para> + is the balanced realization. + </para> + <para> + <literal>slb</literal> is returned as a <literal>syslin</literal> list. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3,-4,-5]);B=rand(5,2);C=rand(1,5); +sl=syslin('c',A,B,C); +[slb,U]=balreal(sl); +Wc=clean(ctr_gram(slb)) +W0=clean(obs_gram(slb)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + <member> + <link linkend="hankelsv">hankelsv</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/bilin.xml b/modules/cacsd/help/en_US/bilin.xml new file mode 100755 index 000000000..aee5804f3 --- /dev/null +++ b/modules/cacsd/help/en_US/bilin.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="bilin"> + <refnamediv> + <refname>bilin</refname> + <refpurpose>general bilinear transform</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sl1]=bilin(sl,v)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl,sl1</term> + <listitem> + <para> + linear systems (<literal>syslin</literal> lists) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>v</term> + <listitem> + <para> + real vector with 4 entries (<literal>v=[a,b,c,d]</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given a linear system in state space form, <literal>sl=syslin(dom,A,B,C,D)</literal> + (<literal>syslin</literal> list), <literal>sl1=bilin(sl,v)</literal> returns in <literal>sl1</literal> a + linear system with matrices <literal>[A1,B1,C1,D1]</literal> such that + the transfer function <literal>H1(s)=C1*inv(s*eye()-A1)*B1+D1</literal> is + obtained from <literal>H(z)=C*inv(z*eye()-A)*B+D</literal> by replacing <literal>z</literal> + by <literal>z=(a*s+b)/(c*s+d)</literal>. + One has <literal>w=bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a])</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');z=poly(0,'z'); +w=ssrand(1,1,3); +wtf=ss2tf(w);v=[2,3,-1,4];a=v(1);b=v(2);c=v(3);d=v(4); +[horner(wtf,(a*z+b)/(c*z+d)),ss2tf(bilin(w,[a,b,c,d]))] +clean(ss2tf(bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a]))-wtf) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="horner">horner</link> + </member> + <member> + <link linkend="cls2dls">cls2dls</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/bstap.xml b/modules/cacsd/help/en_US/bstap.xml new file mode 100755 index 000000000..721dd21c9 --- /dev/null +++ b/modules/cacsd/help/en_US/bstap.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="bstap"> + <refnamediv> + <refname>bstap</refname> + <refpurpose>hankel approximant</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Q]=bstap(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) assumed continuous-time and anti-stable. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para> + best stable approximation of <literal>Sl</literal> (<literal>syslin</literal> list). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Computes the best approximant <literal>Q</literal> of the linear system <literal>Sl</literal> + </para> + <para> + where + </para> + <para> + ||T|| + </para> + <para> + is the H-infinity norm of the Hankel operator associated with <literal>Sl</literal>. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/cainv.xml b/modules/cacsd/help/en_US/cainv.xml new file mode 100755 index 000000000..610d076db --- /dev/null +++ b/modules/cacsd/help/en_US/cainv.xml @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="cainv"> + <refnamediv> + <refname>cainv</refname> + <refpurpose>Dual of abinv</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[X,dims,J,Y,k,Z]=cainv(Sl,alfa,beta,flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> list containing the matrices <literal>[A,B,C,D]</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa</term> + <listitem> + <para>real number or vector (possibly complex, location of closed loop poles)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>real number or vector (possibly complex, location of closed loop poles)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + (optional) character string <literal>'ge'</literal> (default) or <literal>'st'</literal> or <literal>'pp'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>orthogonal matrix of size nx (dim of state space).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dims</term> + <listitem> + <para> + integer row vector <literal>dims=[nd1,nu1,dimS,dimSg,dimN]</literal> (5 entries, nondecreasing order).If <literal>flag='st'</literal>, (resp. <literal>'pp'</literal>), <literal>dims</literal> has 4 (resp. 3) components. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para>real matrix (output injection)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>orthogonal matrix of size ny (dim of output space).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para> + integer (normal rank of <literal>Sl</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para> + non-singular linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>cainv</literal> finds a bases <literal>(X,Y)</literal> (of state space and output space resp.) + and output injection matrix <literal>J</literal> such that the matrices of Sl in + bases (X,Y) are displayed as: + </para> + <programlisting role=""><![CDATA[ + [A11,*,*,*,*,*] [*] + [0,A22,*,*,*,*] [*] +X'*(A+J*C)*X = [0,0,A33,*,*,*] X'*(B+J*D) = [*] + [0,0,0,A44,*,*] [0] + [0,0,0,0,A55,*] [0] + [0,0,0,0,0,A66] [0] + + Y*C*X = [0,0,C13,*,*,*] Y*D = [*] + [0,0,0,0,0,C26] [0] + ]]></programlisting> + <para> + The partition of <literal>X</literal> is defined by the vector + <literal>dims=[nd1,nu1,dimS,dimSg,dimN]</literal> and the partition of <literal>Y</literal> + is determined by <literal>k</literal>. + </para> + <para> + Eigenvalues of <literal>A11</literal> <literal>(nd1 x nd1)</literal> are unstable. + Eigenvalues of <literal>A22</literal> <literal>(nu1-nd1 x nu1-nd1)</literal> are stable. + </para> + <para> + The pair <literal>(A33, C13)</literal> <literal>(dimS-nu1 x dimS-nu1, k x dimS-nu1)</literal> is observable, + and eigenvalues of <literal>A33</literal> are set to <literal>alfa</literal>. + </para> + <para> + Matrix <literal>A44</literal> <literal>(dimSg-dimS x dimSg-dimS)</literal> is unstable. + Matrix <literal>A55</literal> <literal>(dimN-dimSg,dimN-dimSg)</literal> is stable + </para> + <para> + The pair <literal>(A66,C26)</literal> <literal>(nx-dimN x nx-dimN)</literal> is observable, + and eigenvalues of <literal>A66</literal> set to <literal>beta</literal>. + </para> + <para> + The <literal>dimS</literal> first columns of <literal>X</literal> span S= smallest (C,A) invariant + subspace which contains Im(B), <literal>dimSg</literal> first columns of <literal>X</literal> + span Sg the maximal "complementary detectability subspace" of <literal>Sl</literal> + </para> + <para> + The <literal>dimN</literal> first columns of <literal>X</literal> span the maximal + "complementary observability subspace" of <literal>Sl</literal>. + (<literal>dimS=0</literal> if B(ker(D))=0). + </para> + <para> + If <literal>flag='st'</literal> is given, a five blocks partition of the matrices is + returned and <literal>dims</literal> has four components. If <literal>flag='pp'</literal> is + given a four blocks partition is returned (see abinv). + </para> + <para> + This function can be used to calculate an unknown input observer: + </para> + <programlisting role=""><![CDATA[ +// DDEP: dot(x)=A x + Bu + Gd +// y= Cx (observation) +// z= Hx (z=variable to be estimated, d=disturbance) +// Find: dot(w) = Fw + Ey + Ru such that +// zhat = Mw + Ny +// z-Hx goes to zero at infinity +// Solution exists iff Ker H contains Sg(A,C,G) inter KerC (assuming detectability) +//i.e. H is such that: +// For any W which makes a column compression of [Xp(1:dimSg,:);C] +// with Xp=X' and [X,dims,J,Y,k,Z]=cainv(syslin('c',A,G,C)); +// [Xp(1:dimSg,:);C]*W = [0 | *] one has +// H*W = [0 | *] (with at least as many aero columns as above). + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="abinv">abinv</link> + </member> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + <member> + <link linkend="ui_observer">ui_observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/calfrq.xml b/modules/cacsd/help/en_US/calfrq.xml new file mode 100755 index 000000000..a4442af21 --- /dev/null +++ b/modules/cacsd/help/en_US/calfrq.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="calfrq" xml:lang="en"> + <refnamediv> + <refname>calfrq</refname> + <refpurpose>frequency response discretization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[frq,bnds,split]=calfrq(h,fmin,fmax)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para>Linear system in state space or transfer representation + ( + <literal> + see <link linkend="syslin">syslin</link> + </literal> + ) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>real scalars (min and max frequencies in Hz)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>row vector (discretization of the frequency interval)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>bnds</term> + <listitem> + <para> + vector <literal>[Rmin Rmax Imin Imax]</literal> where + <literal>Rmin</literal> and <literal>Rmax</literal> are the lower + and upper bounds of the frequency response real part, + <literal>Imin</literal> and <literal>Imax</literal> are the lower + and upper bounds of the frequency response imaginary part, + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>split</term> + <listitem> + <para>vector of frq splitting points indexes</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + frequency response discretization; <literal>frq</literal> is the + discretization of <literal>[fmin,fmax]</literal> such that the peaks in + the frequency response are well represented. + </para> + <para> + Singularities are located between <literal>frq(split(k)-1)</literal> + and <literal>frq(split(k))</literal> for <literal>k>1</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) +[f1,bnds,spl]=calfrq(h1,0.01,1000); +rf=repfreq(h1,f1); +plot2d(real(rf)',imag(rf)') + ]]></programlisting> + <scilab:image> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + [f1,bnds,spl]=calfrq(h1,0.01,1000); + rf=repfreq(h1,f1); + plot2d(real(rf)',imag(rf)') + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="logspace">logspace</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/canon.xml b/modules/cacsd/help/en_US/canon.xml new file mode 100755 index 000000000..10c7e2015 --- /dev/null +++ b/modules/cacsd/help/en_US/canon.xml @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="canon"> + <refnamediv> + <refname>canon</refname> + <refpurpose>canonical controllable form</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Ac,Bc,U,ind]=canon(A,B)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Ac,Bc</term> + <listitem> + <para>canonical form</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>current basis (square nonsingular matrix)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ind</term> + <listitem> + <para>vector of integers, controllability indices</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + gives the canonical controllable form of the pair <literal>(A,B)</literal>. + </para> + <para> + <literal>Ac=inv(U)*A*U, Bc=inv(U)*B</literal> + </para> + <para> + The vector <literal>ind</literal> is made of the <literal>epsilon_i</literal>'s indices + of the pencil <literal>[sI - A , B]</literal> (decreasing order). + For example with <literal>ind=[3,2]</literal>, <literal>Ac</literal> and <literal>Bc</literal> are as follows: + </para> + <programlisting role=""><![CDATA[ + [*,*,*,*,*] [*] + [1,0,0,0,0] [0] +Ac= [0,1,0,0,0] Bc=[0] + [*,*,*,*,*] [*] + [0,0,0,1,0] [0] + ]]></programlisting> + <para> + If <literal>(A,B)</literal> is controllable, by an appropriate choice + of <literal>F</literal> the <literal>*</literal> entries of <literal>Ac+Bc*F</literal> + can be arbitrarily set to desired values (pole placement). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=[1,2,3,4,5; + 1,0,0,0,0; + 0,1,0,0,0; + 6,7,8,9,0; + 0,0,0,1,0]; +B=[1,2; + 0,0; + 0,0; + 2,1; + 0,0]; +X=rand(5,5);A=X*A*inv(X);B=X*B; //Controllable pair +[Ac,Bc,U,ind]=canon(A,B); //Two indices --> ind=[3.2]; +index=1;for k=1:size(ind,'*')-1,index=[index,1+sum(ind(1:k))];end +Acstar=Ac(index,:);Bcstar=Bc(index,:); +s=poly(0,'s'); +p1=s^3+2*s^2-5*s+3;p2=(s-5)*(s-3); +//p1 and p2 are desired closed-loop polynomials with degrees 3,2 +c1=coeff(p1);c1=c1($-1:-1:1);c2=coeff(p2);c2=c2($-1:-1:1); +Acstardesired=[-c1,0,0;0,0,0,-c2]; +//Acstardesired(index,:) is companion matrix with char. pol=p1*p2 +F=Bcstar\(Acstardesired-Acstar); //Feedbak gain +Ac+Bc*F // Companion form +spec(A+B*F/U) // F/U is the gain matrix in original basis. + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="obsv_mat">obsv_mat</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="ppol">ppol</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ccontrg.xml b/modules/cacsd/help/en_US/ccontrg.xml new file mode 100755 index 000000000..0f07480cf --- /dev/null +++ b/modules/cacsd/help/en_US/ccontrg.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - P. Gahinet + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ccontrg"> + <refnamediv> + <refname>ccontrg</refname> + <refpurpose>Central H-infinity continuous time controller</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[K]=ccontrg(P,r,gamma);</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> a continuous time linear dynamical system in state-space representation.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + a two elements vector with integer values: the dimension of the 2,2 part of <literal>P</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>gamma</term> + <listitem> + <para>real number</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns a realization <literal>K</literal> of the central controller for the + general standard problem in state-space form. + </para> + <para> + <note> + Note that gamma must be > gopt (output of <literal>gamitg</literal>) + </note> + </para> + <para> + P contains the parameters of plant realization <literal>(A,B,C,D)</literal> + (<literal>syslin</literal> list) with + </para> + <programlisting role=""><![CDATA[ +B = ( B1 , B2 ) , C= ( C1 ) , D = ( D11 D12) + ( C2 ) ( D21 D22) + ]]></programlisting> + <para> + <literal>r(1)</literal> and <literal>r(2)</literal> are the + dimensions of <literal>D22</literal> (rows x columns) + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="gamitg">gamitg</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Authors</title> + <para>P. Gahinet (INRIA); </para> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for continuous time linear dynamical system. + This modification has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/cls2dls.xml b/modules/cacsd/help/en_US/cls2dls.xml new file mode 100755 index 000000000..8faf4550c --- /dev/null +++ b/modules/cacsd/help/en_US/cls2dls.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="cls2dls"> + <refnamediv> + <refname>cls2dls</refname> + <refpurpose>bilinear transform</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sl1]=cls2dls(sl,T [,fp])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl,sl1</term> + <listitem> + <para> + linear systems (<literal>syslin</literal> lists) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>real number, the sampling period</para> + </listitem> + </varlistentry> + <varlistentry> + <term>fp</term> + <listitem> + <para>pre-warping frequency in hertz</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + given <literal>sl=[A,B,C,D]</literal> (<literal>syslin</literal> list),a continuous time system + <literal>cls2dls</literal> returns the sampled system obtained by the + bilinear transform <literal>s=(2/T)*(z-1)/(z+1)</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');z=poly(0,'z'); +sl=syslin('c',(s+1)/(s^2-5*s+2)); //Continuous-time system in transfer form +slss=tf2ss(sl); //Now in state-space form +sl1=cls2dls(slss,0.2); //sl1= output of cls2dls +sl1t=ss2tf(sl1) // Converts in transfer form +sl2=horner(sl,(2/0.2)*(z-1)/(z+1)) //Compare sl2 and sl1 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="horner">horner</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/colinout.xml b/modules/cacsd/help/en_US/colinout.xml new file mode 100755 index 000000000..f8cd63f83 --- /dev/null +++ b/modules/cacsd/help/en_US/colinout.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="colinout"> + <refnamediv> + <refname>colinout</refname> + <refpurpose>inner-outer factorization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Inn,X,Gbar]=colinout(G)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) <literal>[A,B,C,D]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Inn</term> + <listitem> + <para> + inner factor (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gbar</term> + <listitem> + <para> + outer factor (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para> + row-compressor of <literal>G</literal> (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Inner-outer factorization (and column compression) of (lxp) <literal>G =[A,B,C,D]</literal> with l<=p. + </para> + <para> + <literal>G</literal> is assumed to be fat (<literal>l<=p</literal>) without zero on the imaginary axis + and with a <literal>D</literal> matrix which is full row rank. + </para> + <para> + <literal>G</literal> must also be stable for having <literal>Gbar</literal> stable. + </para> + <para> + Dual of <literal>rowinout</literal>. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="rowinout">rowinout</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/colregul.xml b/modules/cacsd/help/en_US/colregul.xml new file mode 100755 index 000000000..eacf84aa1 --- /dev/null +++ b/modules/cacsd/help/en_US/colregul.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="colregul"> + <refnamediv> + <refname>colregul</refname> + <refpurpose>removing poles and zeros at infinity</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Stmp,Ws]=colregul(Sl,alfa,beta)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl,Stmp</term> + <listitem> + <para> + <literal>syslin</literal> lists + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa,beta</term> + <listitem> + <para>reals (new pole and zero positions)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + computes a prefilter <literal>Ws</literal> such that <literal>Stmp=Sl*Ws</literal> is proper and + with full rank <literal>D</literal> matrix. + </para> + <para> + Poles at infinity of <literal>Sl</literal> are moved to <literal>alfa</literal>; + </para> + <para> + Zeros at infinity of <literal>Sl</literal> are moved to <literal>beta</literal>; + </para> + <para> + <literal>Sl</literal> is assumed to be a left invertible linear system (<literal>syslin</literal> list) + in state-space representation with possibly a polynomial <literal>D</literal> matrix. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="invsyslin">invsyslin</link> + </member> + <member> + <link linkend="inv">inv</link> + </member> + <member> + <link linkend="rowregul">rowregul</link> + </member> + <member> + <link linkend="rowshuff">rowshuff</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/cont_mat.xml b/modules/cacsd/help/en_US/cont_mat.xml new file mode 100755 index 000000000..998a2763a --- /dev/null +++ b/modules/cacsd/help/en_US/cont_mat.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="cont_mat"> + <refnamediv> + <refname>cont_mat</refname> + <refpurpose>controllability matrix</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>Cc=cont_mat(A,B) + Cc=cont_mat(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>a,b</term> + <listitem> + <para>two real matrices of appropriate dimensions</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>cont_mat</literal> returns the controllability + matrix of the pair <literal>A,B</literal> (resp. of the system <literal>sl=[A,B,C,D]</literal>). + </para> + <programlisting role=""><![CDATA[ +Cc=[B, AB, A^2 B,..., A^(n-1) B] + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/contr.xml b/modules/cacsd/help/en_US/contr.xml new file mode 100755 index 000000000..57314e4fc --- /dev/null +++ b/modules/cacsd/help/en_US/contr.xml @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="contr"> + <refnamediv> + <refname>contr</refname> + <refpurpose>controllability, controllable subspace, staircase</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>n=contr(A,B [,tol]) + [n,U]=contr(A,B [,tol]) + [n,U,ind,V,Ac,Bc]=contr(A,B,[,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A, B</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>tolerance parameter</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para> dimension of controllable subspace.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + orthogonal change of basis which puts <literal>(A,B)</literal> in canonical form. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para>orthogonal matrix, change of basis in the control space.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ac</term> + <listitem> + <para> + block Hessenberg matrix <literal>Ac=U'*A*U</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Bc</term> + <listitem> + <para> + is <literal>U'*B*V</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ind</term> + <listitem> + <para> + p integer vector associated with controllability indices (dimensions of subspaces <literal>B, B+A*B,...=ind(1),ind(1)+ind(2),...</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[n,[U]]=contr(A,B,[tol])</literal> gives the controllable form of an <literal>(A,B)</literal> + pair.(<literal>dx/dt = A x + B u</literal> or <literal>x(n+1) = A x(n) +b u(n)</literal>). + The <literal>n</literal> first columns of <literal>U</literal> make a basis for the controllable + subspace. + </para> + <para> + If <literal>V=U(:,1:n)</literal>, then <literal>V'*A*V</literal> and <literal>V'*B</literal> give the controllable part + of the <literal>(A,B)</literal> pair. + </para> + <para> + The pair <literal>(Bc, Ac)</literal> is in staircase controllable form. + </para> + <programlisting role=""><![CDATA[ + |B |sI-A * . . . * * | + | 1| 11 . . . | + | | A sI-A . . . | + | | 21 22 . . . | + | | . . * * | +[U'BV|sI - U'AU] = |0 | 0 . . | + | | A sI-A * | + | | p,p-1 pp | + | | | + |0 | 0 0 sI-A | + | | p+1,p+1| + ]]></programlisting> + </refsection> + <refsection> + <title>Reference</title> + <para> + Slicot library (see ab01od in SCI/modules/cacsd/src/slicot). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +W=ssrand(2,3,5,list('co',3)); //cont. subspace has dim 3. +A=W("A");B=W("B"); +[n,U]=contr(A,B);n +A1=U'*A*U; +spec(A1(n+1:$,n+1:$)) //uncontrollable modes +spec(A+B*rand(3,5)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="unobs">unobs</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/contrss.xml b/modules/cacsd/help/en_US/contrss.xml new file mode 100755 index 000000000..76b7456b8 --- /dev/null +++ b/modules/cacsd/help/en_US/contrss.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="contrss"> + <refnamediv> + <refname>contrss</refname> + <refpurpose>controllable part</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[slc]=contrss(sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + is a threshold for controllability (see <literal>contr</literal>). default value is <literal>sqrt(%eps)</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns the controllable part of the linear + system <literal>sl = (A,B,C,D)</literal> in state-space form. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=[1,1;0,2];B=[1;0];C=[1,1];sl=syslin('c',A,B,C); //Non minimal +slc=contrss(sl); +sl1=ss2tf(sl);sl2=ss2tf(slc); //Compare sl1 and sl2 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="cont_frm">cont_frm</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/copfac.xml b/modules/cacsd/help/en_US/copfac.xml new file mode 100755 index 000000000..129e79aa8 --- /dev/null +++ b/modules/cacsd/help/en_US/copfac.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="copfac"> + <refnamediv> + <refname>copfac</refname> + <refpurpose>right coprime factorization of continuous time dynamical systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[N,M,XT,YT]=copfac(G [,polf,polc,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para>a continuous-time linear dynamical system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>polf, polc</term> + <listitem> + <para> + respectively the poles of <literal>XT</literal> and <literal>YT</literal> and the poles of <literal>n</literal> and <literal>M</literal> (default values =-1). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + real threshold for detecting stable poles (default value <literal>100*%eps</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N,M,XT,YT</term> + <listitem> + <para>continuous-time linear dynamical systems.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[N,M,XT,YT]=copfac(G,[polf,polc,[tol]])</literal> returns a right coprime factorization of <literal>G</literal>. + </para> + <para> + <literal>G= N*M^-1</literal> where <literal>N</literal> and <literal>M</literal> are stable, proper and right coprime. + (i.e. <literal>[N M]</literal> left-invertible with stability) + </para> + <para> + <literal>XT</literal> and <literal>YT</literal> satisfy: + </para> + <para> + <literal>[XT -YT].[M N]' = eye</literal> (Bezout identity) + </para> + <para> + <literal>G</literal> is assumed stabilizable and detectable. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="lcf">lcf</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for continuous time linear dynamical system. + This modification has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/csim.xml b/modules/cacsd/help/en_US/csim.xml new file mode 100755 index 000000000..7ffb02e36 --- /dev/null +++ b/modules/cacsd/help/en_US/csim.xml @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="csim"> + <refnamediv> + <refname>csim</refname> + <refpurpose>simulation (time response) of linear system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[y [,x]]=csim(u,t,sl,[x0 [,tol]])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>u</term> + <listitem> + <para>function, list or string (control)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>t</term> + <listitem> + <para> + real vector specifying times with, + <literal>t(1)</literal> is the initial time + (<literal>x0=x(t(1))</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list (SIMO linear system) + in continuous time. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para> + a matrix such that <literal>y=[y(t(i)]</literal>, i=1,..,n + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para> + a matrix such that <literal>x=[x(t(i)]</literal>, i=1,..,n + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>a 2 vector [atol rtol] defining absolute and relative tolerances for ode solver (see ode)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + simulation of the controlled linear system <literal>sl</literal>. + <literal>sl</literal> is assumed to be a continuous-time system + represented by a <literal>syslin</literal> list. + </para> + <para> + <literal>u</literal> is the control and <literal>x0</literal> the initial state. + </para> + <para> + <literal>y</literal> is the output and <literal>x</literal> the state. + </para> + <para> + The control can be: + </para> + <para> + 1. a function : <literal>[inputs]=u(t)</literal> + </para> + <para> + 2. a list : <literal>list(ut,parameter1,....,parametern)</literal> such that: + <literal>inputs=ut(t,parameter1,....,parametern)</literal> (<literal>ut</literal> is a function) + </para> + <para> + 3. the string <literal>"impuls"</literal> for impulse + response calculation (here <literal>sl</literal> must have + a single input and <literal>x0=0</literal>). For systems + with direct feedthrough, the infinite pulse at t=0 is + ignored. + </para> + <para> + 4. the string <literal>"step"</literal> for step response calculation + (here <literal>sl</literal> must have a single input and + <literal>x0=0</literal>) + </para> + <para> + 5. a vector giving the values of u corresponding to each t value. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +//impulse(w) = step (s * w) +plot2d([t',t'],[(csim('step',t,tf2ss(s)*w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,tf2ss(s)*w))',0*t']) + </scilab:image> + + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +plot2d([t',t'],[(csim('impulse',t,w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,w))',0*t']) + </scilab:image> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +//step(w) = impulse (s^-1 * w) +plot2d([t',t'],[(csim('step',t,w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,w))',0*t']) + </scilab:image> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +plot2d([t',t'],[(csim('impulse',t,tf2ss(1/s)*w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,tf2ss(1/s)*w))',0*t']) + + </scilab:image> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +//input defined by a time function +deff('u=timefun(t)','u=abs(sin(t))') +clf();plot2d([t',t'],[(csim(timefun,t,w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + deff('u=timefun(t)','u=abs(sin(t))') + clf();plot2d([t',t'],[(csim(timefun,t,w))',0*t']) + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="dsimul">dsimul</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + <member> + <link linkend="ltitr">ltitr</link> + </member> + <member> + <link linkend="rtitr">rtitr</link> + </member> + <member> + <link linkend="ode">ode</link> + </member> + <member> + <link linkend="impl">impl</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ctr_gram.xml b/modules/cacsd/help/en_US/ctr_gram.xml new file mode 100755 index 000000000..71b9b5e29 --- /dev/null +++ b/modules/cacsd/help/en_US/ctr_gram.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ctr_gram"> + <refnamediv> + <refname>ctr_gram</refname> + <refpurpose>controllability gramian</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Gc]=ctr_gram(A,B [,dom]) + [Gc]=ctr_gram(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B</term> + <listitem> + <para>two real matrices of appropriate dimensions</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + character string (<literal>'c'</literal> (default value) or <literal>'d'</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system, <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Controllability gramian of <literal>(A,B)</literal> or <literal>sl</literal> (a <literal>syslin</literal> + linear system). + </para> + <para> + <literal>dom</literal> character string giving the time domain : <literal>"d"</literal> for a + discrete time system and <literal>"c"</literal> for continuous time (default case). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3]);B=rand(3,2); +Wc=ctr_gram(A,B) +U=rand(3,3);A1=U*A/U;B1=U*B; +Wc1=ctr_gram(A1,B1) //Not invariant! + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="equil1">equil1</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="cont_frm">cont_frm</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/damp.xml b/modules/cacsd/help/en_US/damp.xml new file mode 100755 index 000000000..385ba93f1 --- /dev/null +++ b/modules/cacsd/help/en_US/damp.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en_US" xml:id="damp"> + <refnamediv> + <refname>damp</refname> + <refpurpose>Natural frequencies and damping factors. </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + [wn,z] = damp(sys) + [wn,z] = damp(P [,dt]) + [wn,z] = damp(R [,dt]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parameters</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para> + A linear dynamical system (see <link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + An array of polynomials. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para> + An array of real or complex floating point numbers. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dt</term> + <listitem> + <para> + A non negative scalar, with default value 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wn</term> + <listitem> + <para> + vector of floating point numbers in increasing + order: the natural pulsation in rad/s. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>z</term> + <listitem> + <para> + vector of floating point numbers: the damping factors. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + The denominator second order continuous time transfer function + with complex poles can be written as <literal>s^2 + 2*z*wn*s + wn^2</literal> where <literal>z</literal> + is the damping factor and <literal>wn</literal> the natural pulsation. + </para> + <para> + If <literal>sys</literal> is a continuous time system, + <literal>[wn,z] = damp(sys)</literal> returns in <literal>wn</literal> the natural + pulsation <latex>\omega_n</latex>(in rad/s) and in <literal>z</literal> the damping factors + <latex>\xi</latex> of the poles of the linear dynamical system + <literal>sys</literal>. The <literal>wn</literal> and + <literal>z</literal> arrays are ordered according to the increasing + pulsation order. + </para> + <para> + If <literal>sys</literal> is a discrete time system + <literal>[wn,z] = damp(sys)</literal> returns in + <literal>wn</literal> the natural pulsation + <latex>\omega_n</latex>(in rad/s) and in <literal>z</literal> the + damping factors <latex>\xi</latex> of the continuous time + equivalent poles of <literal>sys</literal>. The + <literal>wn</literal> and <literal>z</literal> arrays are + ordered according to the increasing pulsation order. + </para> + <para> + <literal>[wn,z] = damp(P)</literal> returns in + <literal>wn</literal> the natural pulsation + <latex>\omega_n</latex>(in rad/s) and in <literal>z</literal> the + damping factors <latex>\xi</latex> of the set of roots of the polynomials + stored in the <literal>P</literal> array. If + <literal>dt</literal> is given and non 0, the roots are first + converted to their continuous time equivalents. + + The <literal>wn</literal> and <literal>z</literal> arrays are ordered + according to the increasing pulsation order. + </para> + <para> + <literal>[wn,z] = damp(R)</literal> returns in + <literal>wn</literal> the natural pulsation + <latex>\omega_n</latex>(in rad/s) and in <literal>z</literal> the + damping factors <latex>\xi</latex> of the set of roots stored in the + <literal>R</literal> array. + + If <literal>dt</literal> is given and non 0, the roots are first + converted to their continuous time equivalents. + <literal>wn(i)</literal> and <literal>z(i)</literal> are the the + natural pulsation and damping factor of <literal>R(i)</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + s = %s; + num = 22801 + 4406.18*s + 382.37*s^2 + 21.02*s^3 + s^4; + den = 22952.25 + 4117.77*s + 490.63*s^2 + 33.06*s^3 + s^4 + h = syslin('c', num/den); + [wn,z] = damp(h) + ]]></programlisting> + <para> + The following example illustrates the effect of the damping factor on + the frequency response of a second order system. + </para> + <programlisting role="example"><![CDATA[ + s = %s; + wn = 1; + clf(); + Z = [0.95 0.7 0.5 0.3 0.13 0.0001]; + for k=1:size(Z,'*') + z = Z(k) + H = syslin('c', 1 + 5*s + 10*s^2, s^2 + 2*z*wn*s + wn^2); + gainplot(H, 0.01, 1) + p = gce(); + p = p.children; + p.foreground = k; + end + title("$\frac{1+5 s+10 s^2}{\omega_n^2+2\omega_n\xi s+s^2}, \quad \omega_n=1$") + legend('$\xi = '+string(Z)+'$') + plot(wn/(2*%pi)*[1 1], [0 70], 'r') // Natural pulsation + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=%s; + wn=1; + clf(); + Z=[0.95 0.7 0.5 0.3 0.13 0.0001]; + for k=1:size(Z,'*') + z=Z(k) + H=syslin('c',1+5*s+10*s^2,s^2+2*z*wn*s+wn^2); + gainplot(H,0.01,1) + p=gce();p=p.children; + p.foreground=k; + end + title("$\frac{1+5 s+10 s^2}{\omega_n^2+2\omega_n\xi s+s^2}, \quad \omega_n=1$") + legend('$\xi='+string(Z)+'$') + plot(wn/(2*%pi)*[1 1],[0 70],'r') + </scilab:image> + </para> + <para> + Computing the natural pulsations and daping ratio for a set of roots: + </para> + <programlisting role="example"><![CDATA[ + [wn,z] = damp((1:5)+%i) + ]]></programlisting> + </refsection> + <refsection> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="spec">spec</link> + </member> + <member> + <link linkend="roots">roots</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/dcf.xml b/modules/cacsd/help/en_US/dcf.xml new file mode 100755 index 000000000..47066e4ac --- /dev/null +++ b/modules/cacsd/help/en_US/dcf.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dcf"> + <refnamediv> + <refname>dcf</refname> + <refpurpose>double coprime factorization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[N,M,X,Y,NT,MT,XT,YT]=dcf(G,[polf,polc,[tol]])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + <literal>syslin</literal> list (continuous-time linear system) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>polf, polc</term> + <listitem> + <para> + respectively the poles of <literal>XT</literal> and <literal>YT</literal> and the poles of <literal>N</literal> and <literal>M</literal> (default values =<literal>-1</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + real threshold for detecting stable poles (default value <literal>100*%eps</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N,M,XT,YT,NT,MT,X,Y</term> + <listitem> + <para> + linear systems represented by <literal>syslin</literal> lists + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns eight stable systems <literal>(N,M,X,Y,NT,MT,XT,YT) </literal> + for the doubly coprime factorization + </para> + <para> + <literal>G</literal> must be stabilizable and detectable. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="copfac">copfac</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ddp.xml b/modules/cacsd/help/en_US/ddp.xml new file mode 100755 index 000000000..10087768a --- /dev/null +++ b/modules/cacsd/help/en_US/ddp.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ddp"> + <refnamediv> + <refname>ddp</refname> + <refpurpose>disturbance decoupling</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Closed,F,G]=ddp(Sys,zeroed,B1,D1) + [Closed,F,G]=ddp(Sys,zeroed,B1,D1,flag,alfa,beta) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + <literal>syslin</literal> list containing the matrices <literal>(A,B2,C,D2)</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>zeroed</term> + <listitem> + <para> + integer vector, indices of outputs of <literal>Sys</literal> which are zeroed. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>B1</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D1</term> + <listitem> + <para> + real matrix. <literal>B1</literal> and <literal>D1</literal> have the same number of columns. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + string <literal>'ge'</literal> or <literal>'st'</literal> (default) or <literal>'pp'</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alpha</term> + <listitem> + <para>real or complex vector (loc. of closed loop poles)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>real or complex vector (loc. of closed loop poles)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Exact disturbance decoupling (output nulling algorithm). + Given a linear system, and a subset of outputs, z, which are to + be zeroed, characterize the inputs w of Sys such that the + transfer function from w to z is zero. + <literal>Sys</literal> is a linear system {A,B2,C,D2} with one input and two outputs + ( i.e. Sys: u-->(z,y) ), part the following system defined from <literal>Sys</literal> + and <literal>B1,D1</literal>: + </para> + <programlisting role=""><![CDATA[ +xdot = A x + B1 w + B2 u + z = C1 x + D11 w + D12 u + y = C2 x + D21 w + D22 u + ]]></programlisting> + <para> + outputs of Sys are partitioned into (z,y) where z is to be zeroed, + i.e. the matrices C and D2 are: + </para> + <programlisting role=""><![CDATA[ +C=[C1;C2] D2=[D12;D22] +C1=C(zeroed,:) D12=D2(zeroed,:) + ]]></programlisting> + <para> + The matrix <literal>D1</literal> is partitioned similarly as <literal>D1=[D11;D21]</literal> + with <literal>D11=D1(zeroed,:)</literal>. + The control is u=Fx+Gw and one looks for matriced <literal>F,G</literal> such that the + closed loop system: w-->z given by + </para> + <programlisting role=""><![CDATA[ +xdot= (A+B2*F) x + (B1 + B2*G) w + z = (C1+D12F) x + (D11+D12*G) w + ]]></programlisting> + <para> + has zero transfer transfer function. + </para> + <para> + <literal>flag='ge'</literal>no stability constraints. + <literal>flag='st'</literal> : look for stable closed loop system (A+B2*F stable). + <literal>flag='pp'</literal> : eigenvalues of A+B2*F are assigned to <literal>alfa</literal> and + <literal>beta</literal>. + </para> + <para> + Closed is a realization of the <literal>w-->y</literal> closed loop system + </para> + <programlisting role=""><![CDATA[ +xdot= (A+B2*F) x + (B1 + B2*G) w + y = (C2+D22*F) x + (D21+D22*G) w + ]]></programlisting> + <para> + Stability (resp. pole placement) requires stabilizability + (resp. controllability) of (A,B2). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +rand('seed',0);nx=6;nz=3;nu=2;ny=1; +A=diag(1:6);A(2,2)=-7;A(5,5)=-9;B2=[1,2;0,3;0,4;0,5;0,0;0,0]; +C1=[zeros(nz,nz),eye(nz,nz)];D12=[0,1;0,2;0,3]; +Sys12=syslin('c',A,B2,C1,D12); +C=[C1;rand(ny,nx)];D2=[D12;rand(ny,size(D12,2))]; +Sys=syslin('c',A,B2,C,D2); +[A,B2,C1,D12]=abcd(Sys12); //The matrices of Sys12. +my_alpha=-1;my_beta=-2;flag='ge'; +[X,dims,F,U,k,Z]=abinv(Sys12,my_alpha,my_beta,flag); +clean(X'*(A+B2*F)*X) +clean(X'*B2*U) +clean((C1+D12*F)*X) +clean(D12*U); +//Calculating an ad-hoc B1,D1 +G1=rand(size(B2,2),3); +B1=-B2*G1; +D11=-D12*G1; +D1=[D11;rand(ny,size(B1,2))]; + +[Closed,F,G]=ddp(Sys,1:nz,B1,D1,'st',my_alpha,my_beta); +closed=syslin('c',A+B2*F,B1+B2*G,C1+D12*F,D11+D12*G); +ss2tf(closed) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="abinv">abinv</link> + </member> + <member> + <link linkend="ui_observer">ui_observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/dhinf.xml b/modules/cacsd/help/en_US/dhinf.xml new file mode 100755 index 000000000..7d0bf5127 --- /dev/null +++ b/modules/cacsd/help/en_US/dhinf.xml @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dhinf"> + <refnamediv> + <refname>dhinf</refname> + <refpurpose>H_infinity design of discrete-time systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[AK,BK,CK,DK,(RCOND)] = dishin(A,B,C,D,ncon,nmeas,gamma)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para>the n-by-n system state matrix A.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>the n-by-m system input matrix B.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>the p-by-n system output matrix C.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>the p-by-m system matrix D.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ncon</term> + <listitem> + <para>the number of control inputs. m >= ncon >= 0, p-nmeas >= ncon.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nmeas</term> + <listitem> + <para>the number of measurements. p >= nmeas >= 0, m-ncon >= nmeas.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gamma</term> + <listitem> + <para> + the parameter gamma used in <literal>H_infinity</literal> design. It is assumed that gamma is sufficiently large so that the controller is admissible. gamma >= 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>AK</term> + <listitem> + <para>the n-by-n controller state matrix AK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>BK</term> + <listitem> + <para>the n-by-nmeas controller input matrix BK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>CK</term> + <listitem> + <para>the ncon-by-n controller output matrix CK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>DK</term> + <listitem> + <para>the ncon-by-nmeas controller matrix DK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>a vector containing estimates of the reciprocal condition numbers of the matrices which are to be inverted and estimates of the reciprocal condition numbers of the Riccati equations which have to be solved during the computation of the controller. (See the description of the algorithm in [1].)</para> + <variablelist> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(1) contains the reciprocal condition number of the matrix R3,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(2) contains the reciprocal condition number of the matrix R1 - R2'*inv(R3)*R2</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(3) contains the reciprocal condition number of the matrix V21,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(4) contains the reciprocal condition number of the matrix St3,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(5) contains the reciprocal condition number of the matrix V12,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(6) contains the reciprocal condition number of the matrix Im2 + DKHAT*D22,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(7) contains the reciprocal condition number of the X-Riccati equation,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(8) contains the reciprocal condition number of the Z-Riccati equation.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[AK,BK,CK,DK,(RCOND)] = dhinf(A,B,C,D,ncon,nmeas, gamma)</literal> + To compute the matrices of an H-infinity (sub)optimal n-state + controller + </para> + <programlisting role=""><![CDATA[ + | AK | BK | +K = |----|----|, + | CK | DK | + ]]></programlisting> + <para> + for the discrete-time system + </para> + <programlisting role=""><![CDATA[ + | A | B1 B2 | | A | B | +P = |----|---------| = |---|---|, + | C1 | D11 D12 | | C | D | + | C2 | D21 D22 | + ]]></programlisting> + <para> + and for a given value of gamma, where B2 has column size of the + number of control inputs (ncon) and C2 has row size of the number + of measurements (nmeas) being provided to the controller. + </para> + </refsection> + <refsection> + <title>References</title> + <para> + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of linear discrete-time control systems. Report99-8, Department of Engineering, Leicester University, April 1999. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//example from Niconet report SLWN1999-12 +//Hinf +A=[-0.7 0 0.3 0 -0.5 -0.1 + -0.6 0.2 -0.4 -0.3 0 0 + -0.5 0.7 -0.1 0 0 -0.8 + -0.7 0 0 -0.5 -1 0 + 0 0.3 0.6 -0.9 0.1 -0.4 + 0.5 -0.8 0 0 0.2 -0.9]; +B=[-1 -2 -2 1 0 + 1 0 1 -2 1 + -3 -4 0 2 -2 + 1 -2 1 0 -1 + 0 1 -2 0 3 + 1 0 3 -1 -2]; +C=[ 1 -1 2 -2 0 -3 + -3 0 1 -1 1 0 + 0 2 0 -4 0 -2 + 1 -3 0 0 3 1 + 0 1 -2 1 0 -2]; +D=[1 -1 -2 0 0 + 0 1 0 1 0 + 2 -1 -3 0 1 + 0 1 0 1 -1 + 0 0 1 2 1]; + +ncon=2 +nmeas=2 +gam=111.30; +[AK,BK,CK,DK] = dhinf(A,B,C,D,ncon,nmeas,gam) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="hinf">hinf</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/dhnorm.xml b/modules/cacsd/help/en_US/dhnorm.xml new file mode 100755 index 000000000..d6212e790 --- /dev/null +++ b/modules/cacsd/help/en_US/dhnorm.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dhnorm"> + <refnamediv> + <refname>dhnorm</refname> + <refpurpose>discrete H-infinity norm</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>hinfnorm=dhnorm(sl,[tol],[normax])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + the state space system (<literal>syslin</literal> list) (discrete-time) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + tolerance in bisection step, default value <literal>0.01</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>normax</term> + <listitem> + <para> + upper bound for the norm , default value is <literal>1000</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>hinfnorm</term> + <listitem> + <para> + the discrete infinity norm of <literal>Sl</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + produces the discrete-time infinity norm of a state-space system + (the maximum over all frequencies on the unit circle of the maximum singular value). + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="h_norm">h_norm</link> + </member> + <member> + <link linkend="linfn">linfn</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/dscr.xml b/modules/cacsd/help/en_US/dscr.xml new file mode 100755 index 000000000..4efa369d0 --- /dev/null +++ b/modules/cacsd/help/en_US/dscr.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dscr"> + <refnamediv> + <refname>dscr</refname> + <refpurpose>discretization of linear system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sld [,r]]=dscr(sl,dt [,m])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list containing <literal>[A,B,C,D]</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dt</term> + <listitem> + <para>real number, sampling period</para> + </listitem> + </varlistentry> + <varlistentry> + <term>m</term> + <listitem> + <para>covariance of the input noise (continuous time)(default value=0)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + covariance of the output noise (discrete time) given if <literal>m</literal> is given as input + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sld</term> + <listitem> + <para> + sampled (discrete-time) linear system, <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Discretization of linear system. <literal>sl</literal> is a continuous-time system: + </para> + <para> + <literal>dx/dt=A*x+B*u (+ noise)</literal>. + </para> + <para> + <literal>sld</literal> is the discrete-time system obtained by + sampling <literal>sl</literal> with the sampling period <literal>dt</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +Sys=syslin('c',[1,1/(s+1);2*s/(s^2+2),1/s]) +ss2tf(dscr(tf2ss(Sys),0.1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + <member> + <link linkend="dsimul">dsimul</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/dsimul.xml b/modules/cacsd/help/en_US/dsimul.xml new file mode 100755 index 000000000..0eb7b2c4c --- /dev/null +++ b/modules/cacsd/help/en_US/dsimul.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dsimul"> + <refnamediv> + <refname>dsimul</refname> + <refpurpose>state space discrete time simulation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>y=dsimul(sl,u)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list describing a discrete time linear system + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>real matrix of appropriate dimension</para> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para> + output of <literal>sl</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Utility function. + If <literal>[A,B,C,D]=abcd(sl)</literal> and <literal>x0=sl('X0')</literal>, <literal>dsimul</literal> returns <literal>y=C*ltitr(A,B,u,x0)+D*u</literal> i.e. + the time response of <literal>sl</literal> to the input <literal>u</literal>. + <literal>sl</literal> is assumed to be in state space form (<literal>syslin</literal> list). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +z=poly(0,'z'); +h=(1-2*z)/(z^2-0.2*z+1); +sl=tf2ss(h); +u=zeros(1,20);u(1)=1; +x1=dsimul(sl,u) //Impulse response +u=ones(1,20); +x2=dsimul(sl,u); //Step response + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + <member> + <link linkend="ltitr">ltitr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/dt_ility.xml b/modules/cacsd/help/en_US/dt_ility.xml new file mode 100755 index 000000000..3851e2e69 --- /dev/null +++ b/modules/cacsd/help/en_US/dt_ility.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dt_ility"> + <refnamediv> + <refname>dt_ility</refname> + <refpurpose>detectability test</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[k, [n [,U [,Sld ] ] ]]=dt_ility(Sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>dimension of unobservable subspace</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para> + dimension of unstable, unobservable subspace (<literal> k<=n</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>orthogonal matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sld</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>threshold for controllability test.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Detectability test for <literal>sl</literal>, a linear system in state-space + representation. + <literal>U</literal> is a basis whose <literal>k</literal> first columns span the + unstable, unobservable subspace of <literal>Sl</literal> (intersection + of unobservable subspace of <literal>(A,C)</literal> and unstable subspace + of <literal>A</literal>). Detectability means <literal>k=0</literal>. + </para> + <para> + <literal>Sld = (U'*A*U,U'*B,C*U,D)</literal> displays the "detectable part" + of <literal>Sl=(A,B,C,D)</literal>, i.e. + </para> + <programlisting role=""><![CDATA[ + [*,*,*] +U'*A*U = [0,*,*] + [0,0,*] + +C*U = [0,0,*] + ]]></programlisting> + <para> + with <literal>(A33,C3)</literal> observable (dimension <literal>nx-n</literal>), <literal>A22</literal> stable + (dimension <literal>n-k</literal>) and <literal>A11</literal> unstable (dimension <literal>k</literal>). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=[2,1,1;0,-2,1;0,0,3]; +C=[0,0,1]; +X=rand(3,3);A=inv(X)*A*X;C=C*X; +W=syslin('c',A,[],C); +[k,n,U,W1]=dt_ility(W); +W1("A") +W1("C") + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + <member> + <link linkend="unobs">unobs</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/dtsi.xml b/modules/cacsd/help/en_US/dtsi.xml new file mode 100755 index 000000000..aea4b31e3 --- /dev/null +++ b/modules/cacsd/help/en_US/dtsi.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dtsi"> + <refnamediv> + <refname>dtsi</refname> + <refpurpose>Continuous time dynamical systems stable anti-stable decomposition</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Ga,Gs,Gi]=dtsi(G,[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para>a continuous time linear system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ga</term> + <listitem> + <para>a continuous time linear system antistable and strictly proper.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gs</term> + <listitem> + <para>a continuous time linear system stable and strictly proper.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gi</term> + <listitem> + <para>real matrix (or polynomial matrix for improper systems)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + optional parameter for detecting stables poles. Default value: <literal>100*%eps</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns the stable-antistable decomposition of <literal>G</literal>: + </para> + <para> + <literal>G= Ga + Gs + Gi</literal>, <literal>(Gi = G(oo))</literal> + </para> + <para> + <literal>G</literal> can be given in state-space form or in transfer form. + </para> + <para> + <literal>Ga</literal> and <literal>Gs</literal> are returned in the same + representation (transfer function or state-space) than + <literal>G</literal>. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="pbig">pbig</link> + </member> + <member> + <link linkend="psmall">psmall</link> + </member> + <member> + <link linkend="pfss">pfss</link> + </member> + </simplelist> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=0.5; +b=1; +c=2; +sl=syslin('c',a,b,c); +dtsi(sl) + ]]></programlisting> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for continuous time linear dynamical system. + This modification has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/equil.xml b/modules/cacsd/help/en_US/equil.xml new file mode 100755 index 000000000..8b08eb946 --- /dev/null +++ b/modules/cacsd/help/en_US/equil.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="equil"> + <refnamediv> + <refname>equil</refname> + <refpurpose>balancing of pair of symmetric matrices</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>T=equil(P,Q)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P, Q</term> + <listitem> + <para>two positive definite symmetric matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>nonsingular matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>equil</literal> returns <literal>t</literal> such that: + </para> + <para> + <literal>T*P*T'</literal> and <literal>inv(T)'*Q*inv(T)</literal> are both equal to a same + diagonal and positive matrix. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +P=rand(4,4);P=P*P'; +Q=rand(4,4);Q=Q*Q'; +T=equil(P,Q) +clean(T*P*T') +clean(inv(T)'*Q*inv(T)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="equil1">equil1</link> + </member> + <member> + <link linkend="balanc">balanc</link> + </member> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/equil1.xml b/modules/cacsd/help/en_US/equil1.xml new file mode 100755 index 000000000..f3224a94b --- /dev/null +++ b/modules/cacsd/help/en_US/equil1.xml @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="equil1"> + <refnamediv> + <refname>equil1</refname> + <refpurpose>balancing (nonnegative) pair of matrices</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[T [,siz]]=equil1(P,Q [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P, Q</term> + <listitem> + <para>two non-negative symmetric matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>nonsingular matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>siz</term> + <listitem> + <para>vector of three integers</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>threshold</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>equil1</literal> computes <literal>t</literal> such that: + </para> + <para> + <literal>P1=T*P*T'</literal> and <literal>Q1=inv(T)'*Q*inv(T)</literal> are as follows: + </para> + <para> + <literal>P1 = diag(S1,S2,0,0)</literal> and <literal>Q1 = diag(S1,0,S3,0)</literal> with + <literal>S1,S2,S3</literal> positive and diagonal matrices with respective + dimensions <literal>siz=[n1,n2,n3]</literal> + </para> + <para> + <literal>tol</literal> is a threshold for rank determination in SVD + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +S1=rand(2,2);S1=S1*S1'; +S2=rand(2,2);S2=S2*S2'; +S3=rand(2,2);S3=S3*S3'; +P=sysdiag(S1,S2,zeros(4,4)); +Q=sysdiag(S1,zeros(2,2),S3,zeros(2,2)); +X=rand(8,8); +P=X*P*X';Q=inv(X)'*Q*inv(X); +[T,siz]=equil1(P,Q); +P1=clean(T*P*T') +Q1=clean(inv(T)'*Q*inv(T)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="balreal">balreal</link> + </member> + <member> + <link linkend="minreal">minreal</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="hankelsv">hankelsv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/feedback.xml b/modules/cacsd/help/en_US/feedback.xml new file mode 100755 index 000000000..36913ccd6 --- /dev/null +++ b/modules/cacsd/help/en_US/feedback.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="feedback"> + <refnamediv> + <refname>feedback</refname> + <refpurpose>feedback operation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>Sl=Sl1/.Sl2</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl1,Sl2</term> + <listitem> + <para> + linear systems (<literal>syslin</literal> list) in state-space or transfer form, or ordinary gain matrices. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) in state-space or transfer form + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + The feedback operation is denoted by <literal> /. </literal> (slashdot). + This command returns <literal>Sl=Sl1*(I+Sl2*Sl1)^-1</literal>, i.e the (negative) + feedback of <literal>Sl1</literal> and <literal>Sl2</literal>. <literal>Sl</literal> is the transfer + <literal> v -> y</literal> for <literal> y = Sl1 u</literal>, <literal>u = v - Sl2 y</literal>. + </para> + <para> + The result is the same as <literal>Sl=LFT([0,I;I,-Sl2],Sl1)</literal>. + </para> + <para> + <warning> + Caution: do not use with decimal point (e.g. <literal>1/.1</literal> is ambiguous!) + </warning> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +S1=ssrand(2,2,3);S2=ssrand(2,2,2); +W=S1/.S2; +ss2tf(S1/.S2) +//Same operation by LFT: +ss2tf(lft([zeros(2,2),eye(2,2);eye(2,2),-S2],S1)) +//Other approach: with constant feedback +BigS=sysdiag(S1,S2); F=[zeros(2,2),eye(2,2);-eye(2,2),zeros(2,2)]; +Bigclosed=BigS/.F; +W1=Bigclosed(1:2,1:2); //W1=W (in state-space). +ss2tf(W1) +//Inverting +ss2tf(S1*inv(eye()+S2*S1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="sysdiag">sysdiag</link> + </member> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="obscont">obscont</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/findABCD.xml b/modules/cacsd/help/en_US/findABCD.xml new file mode 100755 index 000000000..949d9a335 --- /dev/null +++ b/modules/cacsd/help/en_US/findABCD.xml @@ -0,0 +1,239 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="findABCD"> + <refnamediv> + <refname>findABCD</refname> + <refpurpose>discrete-time system subspace identification</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + SYS = findABCD(S,N,L,R,METH) + + [SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + [SYS,RCND] = findABCD(S,N,L,R,METH) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>integer, the number of block rows in the block-Hankel matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>integer, the system order</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L</term> + <listitem> + <para>integer, the number of output</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>matrix, relevant part of the R factor of the concatenated block-Hankel matrices computed by a call to findr.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>integer, an option for the method to use</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> MOESP method with past inputs and outputs;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> N4SID method;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 3</term> + <listitem> + <para> combined method: A and C via MOESP, B and D via N4SID.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: METH = 3. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>NSMPL</term> + <listitem> + <para>integer, the total number of samples used for calculating the covariance matrices and the Kalman predictor gain. This parameter is not needed if the covariance matrices and/or the Kalman predictor gain matrix are not desired. If NSMPL = 0, then K, Q, Ry, and S are not computed. Default: NSMPL = 0.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>integer, switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>SYS</term> + <listitem> + <para>computes a state-space realization SYS = (A,B,C,D) (an syslin object)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>the Kalman predictor gain K (if NSMPL > 0)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para> state covariance</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ry</term> + <listitem> + <para>output covariance</para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>state-output cross-covariance</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para>vector, reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Finds the system matrices and the Kalman gain of a discrete-time + system, given the system order and the relevant part of the + R factor of the concatenated block-Hankel matrices, using subspace + identification techniques (MOESP and/or N4SID). + </para> + <itemizedlist> + <listitem> + <para>[SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) computes a state- space realization SYS = (A,B,C,D) (an ss object), and the Kalman predictor gain K (if NSMPL > 0). The model structure is:</para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + where x(k) and y(k) are vectors of length N and L, respectively. + </para> + </listitem> + <listitem> + <para>[SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) also returns the state, output, and state-output (cross-)covariance matrices Q, Ry, and S (used for computing the Kalman gain), as well as the vector RCND of length lr containing the reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions, where</para> + </listitem> + </itemizedlist> + <programlisting role=""><![CDATA[ +lr = 4, if Kalman gain matrix K is not required, and +lr = 12, if Kalman gain matrix K is required. + ]]></programlisting> + <para> + Matrix R, computed by findR, should be determined with suitable arguments + METH and JOBD. METH = 1 and JOBD = 1 must be used in findR, for METH = 1 + in findABCD; METH = 1 must be used in findR, for METH = 3 in findABCD. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); + +// Compute R +S=15; +[R,N1,SVAL] = findR(S,Y',U'); +N=3; +SYS1 = findABCD(S,N,1,R) ;SYS1.dt=0.1; + +SYS1.X0 = inistate(SYS1,Y',U'); + +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findBDK">findBDK</link> + </member> + <member> + <link linkend="findR">findR</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/findAC.xml b/modules/cacsd/help/en_US/findAC.xml new file mode 100755 index 000000000..cd704beae --- /dev/null +++ b/modules/cacsd/help/en_US/findAC.xml @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="findAC"> + <refnamediv> + <refname>findAC</refname> + <refpurpose>discrete-time system subspace identification</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) + [A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>integer, the number of block rows in the block-Hankel matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>integer</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L</term> + <listitem> + <para>integer</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>matrix, relevant part of the R factor of the concatenated block-Hankel matrices computed by a call to findr.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>integer, an option for the method to use</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> MOESP method with past inputs and outputs;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> N4SID method;</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: METH = 3. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>integer, switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 0</term> + <listitem> + <para>do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>matrix, state system matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>matrix, output system matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para>vector of length 4, condition numbers of the matrices involved in rank decision</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + finds the system matrices A and C of a discrete-time system, given the + system order and the relevant part of the R factor of the concatenated + block-Hankel matrices, using subspace identification techniques (MOESP + or N4SID). + </para> + <itemizedlist> + <listitem> + <para>[A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) computes the system matrices A and C. The model structure is: x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, y(k) = Cx(k) + Du(k) + e(k), where x(k) and y(k) are vectors of length N and L, respectively.</para> + </listitem> + <listitem> + <para>[A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) also returns the vector RCND of length 4 containing the condition numbers of the matrices involved in rank decisions.</para> + </listitem> + </itemizedlist> + <para> + Matrix R, computed by findR, should be determined with suitable arguments + METH and JOBD. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); + +// Compute R +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); + +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findBDK">findBDK</link> + </member> + <member> + <link linkend="findR">findR</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/findBD.xml b/modules/cacsd/help/en_US/findBD.xml new file mode 100755 index 000000000..a5be14885 --- /dev/null +++ b/modules/cacsd/help/en_US/findBD.xml @@ -0,0 +1,329 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="findBD"> + <refnamediv> + <refname>findBD</refname> + <refpurpose>initial state and system matrices B and D of a discrete-time system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[[x0] [,B [,D]] [,V] [,rcnd]] = findBD(jobx0,comuse [,job],A [,B],C [,D],Y [,U,tol,printw,ldwork])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>jobx0</term> + <listitem> + <para>integer option to specify whether or not the initial state should be computed:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : compute the initial state x0;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : do not compute the initial state (possibly, because x0 is known to be zero).</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>comuse</term> + <listitem> + <para>integer option to specify whether the system matrices B and D should be computed or used:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : compute the matrices B and D, as specified by job;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : use the matrices B and D, as specified by job;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : do not compute/use the matrices B and D.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>job</term> + <listitem> + <para>integer option to determine which of the system matrices B and D should be computed or used:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : compute/use the matrix B only (D is known to be zero);</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : compute/use the matrices B and D.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + job must not be specified if jobx0 = 2 and comuse = 2, or if comuse = 3. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>state matrix of the given system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>optional, input matrix of the given system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>output matrix of the given system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>optional, direct feedthrough of the given system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>the t-by-l output-data sequence matrix. Column j of Y contains the t values of the j-th output component for consecutive time increments.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>the t-by-m input-data sequence matrix (input when jobx0 = 1 and comuse = 2, or comuse = 1). Column j of U contains the t values of the j-th input component for consecutive time increments.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>optional, tolerance used for estimating the rank of + matrices. If tol > 0, then the given value of tol is used as + a lower bound for the reciprocal condition number; an m-by-n matrix + whose estimated condition number is less than 1/tol is considered + to be of full rank. Default: m*n*epsilon_machine where + epsilon_machine is the relative machine precision. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>printw</term> + <listitem> + <para>optional, switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: printw = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ldwork</term> + <listitem> + <para>(optional) the workspace size. Default : computed by the formula LDWORK = MAX( minimum workspace size needed, 2*CSIZE/3, CSIZE - ( m + l )*t - 2*n*( n + m + l ) - l*m ) where CSIZE is the cache size in double precision words.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>initial state vector</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Br</term> + <listitem> + <para>system input matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Dr</term> + <listitem> + <para>system direct feedthrough matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para>the n-by-n orthogonal matrix which reduces A to a real Schur form (output when jobx0 = 1 or comuse = 1).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>(optional) the reciprocal condition numbers of the matrices involved in rank decisions.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + findBD function for estimating the initial state and the system + matrices B and D of a discrete-time system, using SLICOT routine + IB01CD. + </para> + <programlisting role=""><![CDATA[ + [x0,Br,V,rcnd] = findBD(1,1,1,A,C,Y,U) +[x0,Br,Dr,V,rcnd] = findBD(1,1,2,A,C,Y,U) + [Br,V,rcnd] = findBD(2,1,1,A,C,Y,U) + [B,Dr,V,rcnd] = findBD(2,1,2,A,C,Y,U) + [x0,V,rcnd] = findBD(1,2,1,A,B,C,Y,U) + [x0,V,rcnd] = findBD(1,2,2,A,B,C,D,Y,U) + [x0,rcnd] = findBD(2,2) // (Set x0 = 0, rcnd = 1) + [x0,V,rcnd] = findBD(1,3,A,C,Y) + ]]></programlisting> + <para> + Note: the example lines above may contain at the end the parameters + tol, printw, ldwork. + </para> + <para> + FINDBD estimates the initial state and/or the system matrices Br and Dr + of a discrete-time system, given the system matrices A, C, and possibly + B, D, and the input and output trajectories of the system. + </para> + <para> + The model structure is : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k), k >= 1, +y(k) = Cx(k) + Du(k), + ]]></programlisting> + <para> + where + + x(k) is the n-dimensional state vector (at time k), + </para> + <para> + u(k) is the m-dimensional input vector, + </para> + <para> + y(k) is the l-dimensional output vector, + </para> + <para> + and A, B, C, and D are real matrices of appropriate dimensions. + </para> + </refsection> + <refsection> + <title>Comments</title> + <variablelist> + <varlistentry> + <term>1.</term> + <listitem> + <para>The n-by-m system input matrix B is an input parameter when jobx0 = 1 and comuse = 2, and it is an output parameter when comuse = 1.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>2.</term> + <listitem> + <para>The l-by-m system matrix D is an input parameter when jobx0 = 1, comuse = 2 and job = 2, and it is an output parameter when comuse = 1 and job = 2.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>3.</term> + <listitem> + <para>The n-vector of estimated initial state x(0) is an output parameter when jobx0 = 1, but also when jobx0 = 2 and comuse <= 2, in which case it is set to 0.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>4.</term> + <listitem> + <para>If ldwork is specified, but it is less than the minimum workspace size needed, that minimum value is used instead.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); + +// Compute R +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); + +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); +[X0,B,D] = findBD(1,1,2,A,C,Y',U') +SYS1=syslin(1,A,B,C,D,X0); + +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="inistate">inistate</link> + </member> + <member> + <link linkend="findx0BD">findx0BD</link> + </member> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/findBDK.xml b/modules/cacsd/help/en_US/findBDK.xml new file mode 100755 index 000000000..4e36c61a9 --- /dev/null +++ b/modules/cacsd/help/en_US/findBDK.xml @@ -0,0 +1,278 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="findBDK"> + <refnamediv> + <refname>findBDK</refname> + <refpurpose>Kalman gain and B D system matrices of a discrete-time system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + [B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) + [B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>integer, the number of block rows in the block-Hankel matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>integer</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L</term> + <listitem> + <para>integer</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>matrix, relevant part of the R factor of the concatenated block-Hankel matrices computed by a call to findR.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>square matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>integer, an option for the method to use</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> MOESP method with past inputs and outputs;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> N4SID method;</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: METH = 2. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>JOB</term> + <listitem> + <para>an option specifying which system matrices should be computed:</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> compute the matrix B;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> compute the matrices B and D.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: JOB = 2. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>NSMPL</term> + <listitem> + <para>integer, the total number of samples used for calculating the covariance matrices and the Kalman predictor gain. This parameter is not needed if the covariance matrices and/or the Kalman predictor gain matrix are not desired. If NSMPL = 0, then K, Q, Ry, and S are not computed. Default: NSMPL = 0.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>integer, switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>SYS</term> + <listitem> + <para>computes a state-space realization SYS = (A,B,C,D) (an syslin object)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>the Kalman predictor gain K (if NSMPL > 0)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para> state covariance</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ry</term> + <listitem> + <para>output covariance</para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>state-output cross-covariance</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para>he vector of length 12 containing the reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + finds the system matrices B and D and the Kalman gain of a discrete-time + system, given the system order, the matrices A and C, and the relevant + part of the R factor of the concatenated block-Hankel matrices, using + subspace identification techniques (MOESP or N4SID). + </para> + <itemizedlist> + <listitem> + <para>[B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) computes the system matrices B (if JOB = 1), B and D (if JOB = 2), and the Kalman predictor gain K (if NSMPL > 0). The model structure is:</para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + where x(k) and y(k) are vectors of length N and L, respectively. + </para> + </listitem> + <listitem> + <para>[B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) also returns the vector RCND of length 4 containing the reciprocal condition numbers of the matrices involved in rank decisions.</para> + </listitem> + <listitem> + <para>[B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) also returns the state, output, and state-output (cross-)covariance matrices Q, Ry, and S (used for computing the Kalman gain), as well as the vector RCND of length 12 containing the reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions.</para> + </listitem> + </itemizedlist> + <para> + Matrix R, computed by findR, should be determined with suitable arguments + METH and JOBD. METH = 1 and JOBD = 1 must be used in findR, for METH = 1 + in findBDK. Using METH = 1 in FINDR and METH = 2 in findBDK is allowed. + </para> + <para> + The number of output arguments may vary, but should correspond to the + input arguments, e.g., + </para> + <programlisting role=""><![CDATA[ + B = findBDK(S,N,L,R,A,C,METH,1) or + [B,D] = findBDK(S,N,L,R,A,C,METH,2) or +[B,D,RCND] = findBDK(S,N,L,R,A,C,METH,2) + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); + +// Compute R +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); + +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); +[B,D,K] = findBDK(S,N,L,R,A,C); +SYS1=syslin(1,A,B,C,D); + +SYS1.X0 = inistate(SYS1,Y',U'); + +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findR">findR</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/findR.xml b/modules/cacsd/help/en_US/findR.xml new file mode 100755 index 000000000..c34b71ceb --- /dev/null +++ b/modules/cacsd/help/en_US/findR.xml @@ -0,0 +1,272 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="findR"> + <refnamediv> + <refname>findR</refname> + <refpurpose>Preprocessor for estimating the matrices of a linear time-invariant dynamical system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[R,N [,SVAL,RCND]] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) + [R,N] = findR(S,Y) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>the number of block rows in the block-Hankel matrices.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>an option for the method to use:</para> + <variablelist> + <varlistentry> + <term>1</term> + <listitem> + <para> MOESP method with past inputs and outputs;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>2</term> + <listitem> + <para> N4SI15 0 1 1 1000D method.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: METH = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ALG</term> + <listitem> + <para>an option for the algorithm to compute the triangular factor of the concatenated block-Hankel matrices built from the input-output data:</para> + <variablelist> + <varlistentry> + <term>1</term> + <listitem> + <para> Cholesky algorithm on the correlation matrix;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>2</term> + <listitem> + <para> fast QR algorithm;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>3</term> + <listitem> + <para> standard QR algorithm.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: ALG = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>JOBD</term> + <listitem> + <para>an option to specify if the matrices B and D should later be computed using the MOESP approach:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : the matrices B and D should later be computed using the MOESP approach;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : the matrices B and D should not be computed using the MOESP approach.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: JOBD = 2. This parameter is not relevant for METH = 2. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>a vector of length 2 containing tolerances:</para> + <variablelist> + <varlistentry> + <term>TOL</term> + <listitem> + <para>(1) is the tolerance for estimating the rank of matrices. If TOL(1) > 0, the given value of TOL(1) is used as a lower bound for the reciprocal condition number.</para> + <para> + Default: TOL(1) = prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>(2) is the tolerance for estimating the system order. If TOL(2) >= 0, the estimate is indicated by the index of the last singular value greater than or equal to TOL(2). (Singular values less than TOL(2) are considered as zero.)</para> + <para> + When TOL(2) = 0, then S*epsilon_machine*sval(1) is used instead TOL(2), where sval(1) is the maximal singular value. When TOL(2) < 0, the estimate is indicated by the index of the singular value that has the largest logarithmic gap to its successor. Default: TOL(2) = -1. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>a switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>the order of the discrete-time realization</para> + </listitem> + </varlistentry> + <varlistentry> + <term>SVAL</term> + <listitem> + <para>singular values SVAL, used for estimating the order.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para>vector of length 2 containing the reciprocal condition numbers of the matrices involved in rank decisions or least squares solutions.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + findR Preprocesses the input-output data for estimating the matrices + of a linear time-invariant dynamical system, using Cholesky or + (fast) QR factorization and subspace identification techniques + (MOESP or N4SID), and estimates the system order. + </para> + <para> + [R,N] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) returns the processed + upper triangular factor R of the concatenated block-Hankel matrices + built from the input-output data, and the order N of a discrete-time + realization. The model structure is: + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + w(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k). + ]]></programlisting> + <para> + The vectors y(k) and u(k) are transposes of the k-th rows of Y and U, + respectively. + </para> + <para> + [R,N,SVAL,RCND] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) also returns + the singular values SVAL, used for estimating the order, as well as, + if meth = 2, the vector RCND of length 2 containing the reciprocal + condition numbers of the matrices involved in rank decisions or least + squares solutions. + </para> + <para> + [R,N] = findR(S,Y) assumes U = [] and default values for the + remaining input arguments. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +U=(ones(1,1000)+rand(1,1000,'normal')); +Y=(flts(U,SYS)+0.5*rand(1,1000,'normal')); +// Compute R + +[R,N,SVAL] = findR(15,Y',U'); +SVAL +N + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findBDK">findBDK</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/findx0BD.xml b/modules/cacsd/help/en_US/findx0BD.xml new file mode 100755 index 000000000..a52a34757 --- /dev/null +++ b/modules/cacsd/help/en_US/findx0BD.xml @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="findx0BD"> + <refnamediv> + <refname>findx0BD</refname> + <refpurpose>Estimates state and B and D matrices of a discrete-time linear system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para>state matrix of the system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>C matrix of the system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>system output</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>system input</para> + </listitem> + </varlistentry> + <varlistentry> + <term>WITHX0</term> + <listitem> + <para>a switch for estimating the initial state x0.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: estimate x0;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not estimate x0.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: WITHX0 = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>WITHD</term> + <listitem> + <para>a switch for estimating the matrix D.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: estimate the matrix D;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not estimate the matrix D.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: WITHD = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>a switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X0</term> + <listitem> + <para>intial state of the estimated linear system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>B matrix of the estimated linear system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>D matrix of the estimated linear system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para>orthogonal matrix which reduces the system state matrix A to a real Schur form</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>estimates of the reciprocal condition numbers of the matrices involved in rank decisions.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + findx0BD Estimates the initial state and/or the matrices B and D of a + discrete-time linear system, given the (estimated) system + matrices A, C, and a set of input/output data. + </para> + <para> + [X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) estimates the + initial state X0 and the matrices B and D of a discrete-time + system using the system matrices A, C, output data Y and the input + data U. The model structure is : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k), k >= 1, +y(k) = Cx(k) + Du(k), + ]]></programlisting> + <para> + The vectors y(k) and u(k) are transposes of the k-th rows of Y and U, + respectively. + </para> + <para> + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) also returns the orthogonal + matrix V which reduces the system state matrix A to a real Schur + form, as well as some estimates of the reciprocal condition numbers + of the matrices involved in rank decisions. + </para> + <programlisting role=""><![CDATA[ + B = findx0BD(A,C,Y,U,0,0) returns B only, and +[B,D] = findx0BD(A,C,Y,U,0) returns B and D only. + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); + +// Compute R +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); + +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); + +[X0,B,D,V,rcnd] = findx0BD(A,C,Y',U'); +SYS1=syslin(1,A,B,C,D,X0); + +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="inistate">inistate</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/flts.xml b/modules/cacsd/help/en_US/flts.xml new file mode 100755 index 000000000..3acb09a87 --- /dev/null +++ b/modules/cacsd/help/en_US/flts.xml @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="en"> + <refnamediv> + <refname>flts</refname> + <refpurpose>time response (discrete time, sampled system)</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[y [,x]]=flts(u,sl [,x0]) + [y]=flts(u,sl [,past]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>u</term> + <listitem> + <para>matrix (input vector)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + list (linear system <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>vector (initial state ; default + value=<literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>past</term> + <listitem> + <para>matrix (of the past ; default + value=<literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x,y</term> + <listitem> + <para>matrices (state and output)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <itemizedlist> + <listitem> + <para>State-space form:</para> + </listitem> + </itemizedlist> + <para> + <literal>sl</literal> is a discrete linear system given by its state + space representation (see <link linkend="syslin">syslin</link> ): + </para> + <para> + <literal>sl=syslin('d',A,B,C,D)</literal> : + </para> + <programlisting role=""><![CDATA[ +x[t+1] = A x[t] + B u[t] +y[t] = C x[t] + D u[t] + ]]></programlisting> + <para> + or, more generally, if <literal>D</literal> is a polynomial matrix + (<literal>p = degree(D(z))</literal>) : + </para> + <programlisting role=""><![CDATA[ +D(z) = D_0 + z D_1 + z^2 D_2 +..+ z^p D_p +y[t] = C x[t] + D_0 u[t] + D_1 u[t+1] +..+ D_[p] u[t+p] + ]]></programlisting> + <itemizedlist> + <listitem> + <para>Transfer form:</para> + </listitem> + </itemizedlist> + <para> + <literal> y=flts(u,sl[,past])</literal>. Here <literal>sl</literal> + is a linear system in transfer matrix representation i.e + </para> + <para> + <literal>sl=syslin('d',transfer_matrix)</literal> (see + <literal> + <link linkend="syslin">syslin</link> + </literal> + ). + </para> + <programlisting role=""><![CDATA[ +past = [u ,..., u ] + [ -nd -1] + [y ,..., y ] + [ -nd -1] + ]]></programlisting> + <para>is the matrix of past values of u and y.</para> + <para> + <literal>nd</literal> is the maximum of degrees of lcm's of each row + of the denominator matrix of <literal>sl</literal>. + </para> + <programlisting role=""><![CDATA[ +u=[u0 u1 ... un] (input) +y=[y0 y1 ... yn] (output) + ]]></programlisting> + <para>p is the difference between maximum degree of numerator and maximum + degree of denominator + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +sl=syslin('d',1,1,1);u=1:10; +y=flts(u,sl); +plot2d(y) +[y1,x1]=flts(u(1:5),sl);y2=flts(u(6:10),sl,x1); +y-[y1,y2] + +//With polynomial D: +z=poly(0,'z'); +D=1+z+z^2; p =degree(D); +sl=syslin('d',1,1,1,D); +y=flts(u,sl);[y1,x1]=flts(u(1:5),sl); +y2=flts(u(5-p+1:10),sl,x1); // (update) +y-[y1,y2] + +//Delay (transfer form): flts(u,1/z) +// Usual responses +z=poly(0,'z'); +h=syslin(0.1,(1-2*z)/(z^2+0.3*z+1)) +imprep=flts(eye(1,20),tf2ss(h)); //Impulse response +clf(); +plot(imprep,'b') +u=ones(1,20); +stprep=flts(ones(1,20),tf2ss(h)); //Step response +plot(stprep,'g') + ]]></programlisting> + <scilab:image> + sl=syslin('d',1,1,1);u=1:10; + y=flts(u,sl); + plot2d(y) + [y1,x1]=flts(u(1:5),sl);y2=flts(u(6:10),sl,x1); + y-[y1,y2] + + z=poly(0,'z'); + D=1+z+z^2; p =degree(D); + sl=syslin('d',1,1,1,D); + y=flts(u,sl);[y1,x1]=flts(u(1:5),sl); + y2=flts(u(5-p+1:10),sl,x1); + y-[y1,y2] + + z=poly(0,'z'); + h=syslin(0.1,(1-2*z)/(z^2+0.3*z+1)) + imprep=flts(eye(1,20),tf2ss(h)); + clf(); + plot(imprep,'b') + u=ones(1,20); + stprep=flts(ones(1,20),tf2ss(h)); + plot(stprep,'g') + </scilab:image> + <programlisting role="example"><![CDATA[ +// Other examples +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); +H=ss2tf(Sys); u=[1;-1]*(1:10); +// +yh=flts(u,H); ys=flts(u,Sys); +norm(yh-ys,1) +//hot restart +[ys1,x]=flts(u(:,1:4),Sys);ys2=flts(u(:,5:10),Sys,x); +norm([ys1,ys2]-ys,1) +// +yh1=flts(u(:,1:4),H);yh2=flts(u(:,5:10),H,[u(:,2:4);yh(:,2:4)]); +norm([yh1,yh2]-yh,1) +//with D<>0 +D=[-3 8;4 -0.5;2.2 0.9]; +Sys=syslin('d',A,B,C,D); +H=ss2tf(Sys); u=[1;-1]*(1:10); +rh=flts(u,H); rs=flts(u,Sys); +norm(rh-rs,1) +//hot restart +[ys1,x]=flts(u(:,1:4),Sys);ys2=flts(u(:,5:10),Sys,x); +norm([ys1,ys2]-rs,1) +//With H: +yh1=flts(u(:,1:4),H);yh2=flts(u(:,5:10),H,[u(:,2:4); yh1(:,2:4)]); +norm([yh1,yh2]-rh) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ltitr">ltitr</link> + </member> + <member> + <link linkend="dsimul">dsimul</link> + </member> + <member> + <link linkend="rtitr">rtitr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/CHAPTER b/modules/cacsd/help/en_US/formal_representation/CHAPTER new file mode 100755 index 000000000..f59bdcc83 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/CHAPTER @@ -0,0 +1,2 @@ +title = Formal representations and conversions + diff --git a/modules/cacsd/help/en_US/formal_representation/abcd.xml b/modules/cacsd/help/en_US/formal_representation/abcd.xml new file mode 100755 index 000000000..9a92b3864 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/abcd.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="abcd"> + <refnamediv> + <refname>abcd</refname> + <refpurpose>state-space matrices</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[A,B,C,D]=abcd(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) in state-space or transfer form + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para>real matrices of appropriate dimensions</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns the <literal>A,B,C,D</literal> matrices from a linear system <literal>Sl</literal>. + </para> + <para> + Utility function. For transfer matrices <literal>Sl</literal> is converted + into state-space form by <literal>tf2ss</literal>. + </para> + <para> + The matrices <literal>A,B,C,D</literal> are the elements <literal>2</literal> to <literal>5</literal> of + the <literal>syslin</literal> list <literal>Sl</literal>, i.e. <literal>[A,B,C,D] = Sl(2:5)</literal> . + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([1,2,3]);B=[1;1;1];C=[2,2,2]; +sys=syslin('c',A,B,C); +sys("A") +sys("C") +[A1,B1,C1,D1]=abcd(sys); +A1 +systf=ss2tf(sys); +[a,b,c,d]=abcd(systf) +spec(a) +c*b-C*B +c*a*b-C*A*B + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/cont_frm.xml b/modules/cacsd/help/en_US/formal_representation/cont_frm.xml new file mode 100755 index 000000000..49db72d24 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/cont_frm.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="cont_frm"> + <refnamediv> + <refname>cont_frm</refname> + <refpurpose>transfer to controllable state-space</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sl]=cont_frm(NUM,den)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>NUM</term> + <listitem> + <para>polynomial matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>den</term> + <listitem> + <para>polynomial</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list, <literal>sl=[A,B,C,D]</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + controllable state-space form of the transfer <literal>NUM/den</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');NUM=[1+s,s];den=s^2-5*s+1; +sl=cont_frm(NUM,den); +slss=ss2tf(sl); //Compare with NUM/den + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/dbphi.xml b/modules/cacsd/help/en_US/formal_representation/dbphi.xml new file mode 100755 index 000000000..0bd812d45 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/dbphi.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dbphi"> + <refnamediv> + <refname>dbphi</refname> + <refpurpose>frequency response to phase and magnitude representation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[db,phi] =dbphi(repf)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>vector of gains (db) and phases (degrees)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>vector of complex frequency response</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>db(k)</literal> is the magnitude of <literal>repf(k)</literal> expressed in dB i.e. + <literal>db(k)=20*log(abs(repf(k)))/log(10)</literal> and <literal>phi(k)</literal> is the phase + of <literal>repf(k)</literal> expressed in degrees. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/des2ss.xml b/modules/cacsd/help/en_US/formal_representation/des2ss.xml new file mode 100755 index 000000000..e91a83553 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/des2ss.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="des2ss"> + <refnamediv> + <refname>des2ss</refname> + <refpurpose>descriptor to state-space</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Sl]=des2ss(A,B,C,D,E [,tol]) + [Sl]=des2ss(Des) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B,C,D,E</term> + <listitem> + <para>real matrices of appropriate dimensions</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Des</term> + <listitem> + <para>list</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + real parameter (threshold) (default value <literal>100*%eps</literal>). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Descriptor to state-space transform. + </para> + <para> + <literal>Sl=des2ss(A,B,C,D,E)</literal> returns + a linear system <literal>Sl</literal> equivalent to the descriptor system + <literal>(E,A,B,C,D)</literal>. + </para> + <para> + For index one <literal>(E,A)</literal> pencil, explicit formula is used and + for higher index pencils <literal>rowshuff</literal> is used. + </para> + <para> + <literal>Sl=des2ss(Des)</literal> with <literal>Des=list('des',A,B,C,D,E)</literal> returns + a linear system <literal>Sl</literal> in state-space form with possibly + a polynomial <literal>D</literal> matrix. + </para> + <para> + A generalized Leverrier algorithm is used. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');G=[1/(s-1),s;1,2/s^3]; +S1=tf2des(G);S2=tf2des(G,"withD"); +W1=des2ss(S1);W2=des2ss(S2); +clean(ss2tf(W1)) +clean(ss2tf(W2)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="des2tf">des2tf</link> + </member> + <member> + <link linkend="glever">glever</link> + </member> + <member> + <link linkend="rowshuff">rowshuff</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/des2tf.xml b/modules/cacsd/help/en_US/formal_representation/des2tf.xml new file mode 100755 index 000000000..1605b53dd --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/des2tf.xml @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="des2tf"> + <refnamediv> + <refname>des2tf</refname> + <refpurpose>descriptor to transfer function conversion</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[S]=des2tf(sl) + [Bfs,Bis,chis]=des2tf(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para>list (linear system in descriptor form)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Bfs, Bis</term> + <listitem> + <para>two polynomial matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>chis</term> + <listitem> + <para>polynomial</para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>rational matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given the linear system in descriptor form i.e. + <literal>Sl=list('des',A,B,C,D,E)</literal>, <literal>des2tf</literal> converts <literal>sl</literal> into + its transfer function representation: + </para> + <programlisting role=""><![CDATA[ +S=C*(s*E-A)^(-1)*B+D + ]]></programlisting> + <para> + Called with 3 outputs arguments <literal>des2tf</literal> returns + <literal>Bfs</literal> and <literal>Bis</literal> two polynomial matrices, and <literal>chis</literal> + polynomial such that: + </para> + <programlisting role=""><![CDATA[ +S=Bfs/chis - Bis + ]]></programlisting> + <para> + <literal>chis</literal> is the determinant of <literal>(s*E-A)</literal> (up to a xcative constant); + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1/(s+1),s;1+s^2,3*s^3]; +Descrip=tf2des(G);Tf1=des2tf(Descrip) +Descrip2=tf2des(G,"withD");Tf2=des2tf(Descrip2) +[A,B,C,D,E]=Descrip2(2:6);Tf3=C*inv(s*E-A)*B+D + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="glever">glever</link> + </member> + <member> + <link linkend="pol2des">pol2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="des2ss">des2ss</link> + </member> + <member> + <link linkend="rowshuff">rowshuff</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/frep2tf.xml b/modules/cacsd/help/en_US/formal_representation/frep2tf.xml new file mode 100755 index 000000000..a4d771d65 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/frep2tf.xml @@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="frep2tf"> + <refnamediv> + <refname>frep2tf</refname> + <refpurpose>transfer function realization from frequency response</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[h [,err]]=frep2tf(frq,repf,dg [,dom,tols,weight])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>frq</term> + <listitem> + <para>vector of frequencies in Hz.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>vector of frequency response</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dg</term> + <listitem> + <para>degree of linear system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + time domain (<literal>'c'</literal> or <literal>'d'</literal> or <literal>dt</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tols</term> + <listitem> + <para> + a vector of size 3 giving the relative and absolute tolerance and the maximum number of iterations (default values are <literal>rtol=1.e-2; atol=1.e-4, N=10</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>weight</term> + <listitem> + <para>vector of weights on frequencies</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para>SISO transfer function</para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para> + error (for example if <literal>dom='c'</literal> <literal>sum(abs(h(2i*pi*frq) - rep)^2)/size(frq,*)</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Frequency response to transfer function conversion. The order of <literal>h</literal> + is a priori given in <literal>dg</literal> which must be provided. + The following linear system is solved in the least square sense. + </para> + <programlisting role="no-scilab-exec"><![CDATA[ + weight(k)*(n( phi_k) - d(phi_k)*rep_k)=0, k=1,..,n + ]]></programlisting> + <para> + where <literal>phi_k= 2*%i*%pi*frq</literal> when <literal>dom='c'</literal> and <literal>phi_k=exp(2*%i*%pi*dom*frq</literal> if not. If the <literal>weight</literal> vector is not given a default + penalization is used (when <literal>dom='c'</literal>). + </para> + <para> + A stable and minimum phase system can be obtained by using function <literal>factors</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +h=syslin('c',(s-1)/(s^3+5*s+20)) +frq=0:0.05:3; +repf=repfreq(h,frq); +clean(frep2tf(frq,repf,3)) + ]]></programlisting> + <programlisting role="example"><![CDATA[ + +Sys=ssrand(1,1,10); +frq=logspace(-3,2,200); +[frq,rep]=repfreq(Sys,frq); //Frequency response of Sys +[Sys2,err]=frep2tf(frq,rep,10); +Sys2=clean(Sys2) //Sys2 obtained from freq. resp of Sys + +[frq,rep2]=repfreq(Sys2,frq); //Frequency response of Sys2 +clf(); +bode(frq,[rep;rep2]) //Responses of Sys and Sys2 +[gsort(spec(Sys('A'))), gsort(roots(Sys2('den')))] //poles + ]]></programlisting> + <scilab:image> + + Sys=ssrand(1,1,10); + frq=logspace(-3,2,200); + [frq,rep]=repfreq(Sys,frq); + [Sys2,err]=frep2tf(frq,rep,10); + Sys2=clean(Sys2) + + [frq,rep2]=repfreq(Sys2,frq); + bode(frq,[rep;rep2]) + [gsort(spec(Sys('A'))), gsort(roots(Sys2('den')))] + </scilab:image> + <programlisting role="example"><![CDATA[ +dom=1/1000; // Sampling time +z=poly(0,'z'); +h=syslin(dom,(z^2+0.5)/(z^3+0.1*z^2-0.5*z+0.08)) +frq=(0:0.01:0.5)/dom; +repf=repfreq(h,frq); +[Sys2,err]=frep2tf(frq,repf,3,dom); +[frq,rep2]=repfreq(Sys2,frq); //Frequency response of Sys2 +clf(); +plot2d1("onn",frq',abs([repf;rep2])'); + ]]></programlisting> + <scilab:image> + dom=1/1000; + z=poly(0,'z'); + h=syslin(dom,(z^2+0.5)/(z^3+0.1*z^2-0.5*z+0.08)) + frq=(0:0.01:0.5)/dom; + repf=repfreq(h,frq); + [Sys2,err]=frep2tf(frq,repf,3,dom); + [frq,rep2]=repfreq(Sys2,frq); + plot2d1("onn",frq',abs([repf;rep2])'); + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frfit">frfit</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/lsslist.xml b/modules/cacsd/help/en_US/formal_representation/lsslist.xml new file mode 100755 index 000000000..5377da18f --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/lsslist.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lsslist"> + <refnamediv> + <refname>lsslist</refname> + <refpurpose> Scilab linear state space function definition</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>lsslist() + lsslist(A, B, C, X0, dt) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Description</title> + <para> + <literal>lsslist(A, B, C, X0, dt)</literal> is a shortcut to + <literal>tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt)</literal>. + </para> + <para> + Creates a <literal>tlist</literal> with <literal>["lss", "A", "B", "C", "D", "X0", "dt"]</literal> as + first entry and <varname>A</varname>, <varname>B</varname>, <varname>C</varname>,<varname>X0</varname>,<varname>dt</varname> + as next entries if any. No type nor size + checking is done on input variables. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="abcd">abcd</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="tlist">tlist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/markp2ss.xml b/modules/cacsd/help/en_US/formal_representation/markp2ss.xml new file mode 100755 index 000000000..984d6de08 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/markp2ss.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="markp2ss"> + <refnamediv> + <refname>markp2ss</refname> + <refpurpose>Markov parameters to state-space</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sl]=markp2ss(markpar,n,nout,nin)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>markpar</term> + <listitem> + <para>matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n,nout,nin</term> + <listitem> + <para>integers</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + given a set of <literal>n</literal> Markov parameters stacked in the (row)-matrix + <literal>markpar</literal> of size <literal>nout</literal>X<literal>(n*nin) markp2ss</literal> + returns a state-space linear system <literal>sl</literal> (<literal>syslin</literal> list) + such that with <literal>[A,B,C,D]=abcd(sl)</literal>: + </para> + <programlisting role=""><![CDATA[ +C*B = markpar(1:nout,1:nin), +C*A*B =markpar(1:nout,nin+1:2*nin),.... + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +W=ssrand(2,3,4); //random system with 2 outputs and 3 inputs +[a,b,c,d]=abcd(W); +markpar=[c*b,c*a*b,c*a^2*b,c*a^3*b,c*a^4*b]; +S=markp2ss(markpar,5,2,3); +[A,B,C,D]=abcd(S); +Markpar=[C*B,C*A*B,C*A^2*B,C*A^3*B,C*A^4*B]; +norm(markpar-Markpar,1) +//Caution... c*a^5*b is not C*A^5*B ! + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/sm2des.xml b/modules/cacsd/help/en_US/formal_representation/sm2des.xml new file mode 100755 index 000000000..2d085581e --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/sm2des.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sm2des"> + <refnamediv> + <refname>sm2des</refname> + <refpurpose>system matrix to descriptor</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Des]=sm2des(Sm);</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sm</term> + <listitem> + <para>polynomial matrix (pencil system matrix)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Des</term> + <listitem> + <para> + descriptor system (<literal>list('des',A,B,C,D,E)</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Utility function: converts the system matrix: + </para> + <programlisting role=""><![CDATA[ +Sm = [-sE + A B; + [ C D] + ]]></programlisting> + <para> + to descriptor system <literal>Des=list('des',A,B,C,D,E)</literal>). + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="sm2ss">sm2ss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/sm2ss.xml b/modules/cacsd/help/en_US/formal_representation/sm2ss.xml new file mode 100755 index 000000000..e3874bd87 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/sm2ss.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sm2ss"> + <refnamediv> + <refname>sm2ss</refname> + <refpurpose>system matrix to state-space</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Sl]=sm2ss(Sm);</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sm</term> + <listitem> + <para>polynomial matrix (pencil system matrix)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Utility function: converts the system matrix: + </para> + <programlisting role=""><![CDATA[ +Sm = [-sI + A B; + [ C D] + ]]></programlisting> + <para> + to linear system in state-space representation (<literal>syslin</literal>) list. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/ss2des.xml b/modules/cacsd/help/en_US/formal_representation/ss2des.xml new file mode 100755 index 000000000..c59ca2bf6 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/ss2des.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ss2des"> + <refnamediv> + <refname>ss2des</refname> + <refpurpose>(polynomial) state-space to descriptor form</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>S=ss2des(Sl) + S=ss2des(Sl,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> list: proper or improper linear system. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + character string <literal>"withD"</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>list</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given the linear system in state-space representation + <literal>Sl</literal> (<literal>syslin</literal> list), with a <literal>D</literal> matrix which is either + polynomial or constant, but not zero <literal>ss2des</literal> + returns a descriptor system as <literal>list('des',A,B,C,0,E)</literal> + such that: + </para> + <programlisting role=""><![CDATA[ +Sl=C*(s*E-A)^(-1)*B + ]]></programlisting> + <para> + If the flag <literal>"withD"</literal> is given, <literal> S=list('des',A,B,C,D,E) </literal> + with a <literal>D</literal> matrix of maximal rank. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1/(s+1),s;1+s^2,3*s^3];Sl=tf2ss(G); +S=ss2des(Sl) +S1=ss2des(Sl,"withD") +Des=des2ss(S);Des(5)=clean(Des(5)) +Des1=des2ss(S1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="pol2des">pol2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + <member> + <link linkend="des2ss">des2ss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/ss2ss.xml b/modules/cacsd/help/en_US/formal_representation/ss2ss.xml new file mode 100755 index 000000000..ae9dccd91 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/ss2ss.xml @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="ss2ss" xml:lang="en"> + <refnamediv> + <refname>ss2ss</refname> + <refpurpose>state-space to state-space conversion, feedback, + injection + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Sl1,right,left]=ss2ss(Sl,T, [F, [G , [flag]]])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) in state-space + form + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>square (non-singular) matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl1, right, left</term> + <listitem> + <para>linear systems (syslin lists) in state-space form</para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para>real matrix (state feedback gain)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>G</term> + <listitem> + <para>real matrix (output injection gain)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Returns the linear system <literal>Sl1=[A1,B1,C1,D1]</literal> where + <literal>A1=inv(T)*A*T, B1=inv(T)*B, C1=C*T, D1=D</literal>. + </para> + <para> + Optional parameters <literal>F</literal> and <literal>G</literal> + are state feedback and output injection respectively. + </para> + <para> + For example, <literal>Sl1=ss2ss(Sl,T,F)</literal> returns + <literal>Sl1</literal> with: + </para> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../../mml/ss2ss_equation1.mml"/> + </imageobject> + </mediaobject> + <para> + and <literal>right</literal> is a non singular linear system such + that <literal>Sl1=Sl*right</literal>. + </para> + <para> + <literal>Sl1*inv(right)</literal> is a factorization of + <literal>Sl</literal>. + </para> + <para> + <literal>Sl1=ss2ss(Sl,T,0*F,G)</literal> returns + <literal>Sl1</literal> with: + </para> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../../mml/ss2ss_equation2.mml"/> + </imageobject> + </mediaobject> + <para> + and <literal>left</literal> is a non singular linear system such + that <literal>Sl1=left*Sl</literal> (<literal>right=Id</literal> if + <literal>F=0</literal>). + </para> + <para> + When both <literal>F</literal> and <literal>G</literal> are given, + <literal>Sl1=left*Sl*right</literal>. + </para> + <itemizedlist> + <listitem> + <para> + When <literal>flag</literal> is used and + <literal>flag=1</literal> an output injection as follows is used + </para> + <mediaobject> + <imageobject> + <imagedata fileref="../../mml/ss2ss_equation3.mml"/> + </imageobject> + </mediaobject> + <para> + and then a feedback is performed, <literal>F</literal> must be + of size <literal>(m+p,n)</literal> + </para> + <mediaobject> + <imageobject> + <imagedata align="left" fileref="../../mml/ss2ss_equation4.mml"/> + </imageobject> + </mediaobject> + <para> + <literal>right</literal> and <literal>left</literal> have the + following property: + </para> + <programlisting role=""><![CDATA[ +Sl1 = left*sysdiag(sys,eye(p,p))*right + ]]></programlisting> + </listitem> + <listitem> + <para> + When <literal>flag</literal> is used and + <literal>flag=2</literal> a feedback (<literal>F</literal> must be of + size <literal>(m,n)</literal>) is performed and then the above output + injection is applied. <literal>right</literal> and + <literal>left</literal> have the following property: + </para> + <programlisting role=""><![CDATA[ + Sl1 = left*sysdiag(sys*right,eye(p,p))) + ]]></programlisting> + </listitem> + </itemizedlist> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +Sl=ssrand(2,2,5); trzeros(Sl) // zeros are invariant: +Sl1=ss2ss(Sl,rand(5,5),rand(2,5),rand(5,2)); +trzeros(Sl1), trzeros(rand(2,2)*Sl1*rand(2,2)) +// output injection [ A + GC, (B+GD,-G)] +// [ C , (D , 0)] +p=1,m=2,n=2; sys=ssrand(p,m,n); + +// feedback (m,n) first and then output injection. + +F1=rand(m,n); +G=rand(n,p); +[sys1,right,left]=ss2ss(sys,rand(n,n),F1,G,2); + +// Sl1 equiv left*sysdiag(sys*right,eye(p,p))) + +res=clean(ss2tf(sys1) - ss2tf(left*sysdiag(sys*right,eye(p,p)))) + +// output injection then feedback (m+p,n) +F2=rand(p,n); F=[F1;F2]; +[sys2,right,left]=ss2ss(sys,rand(n,n),F,G,1); + +// Sl1 equiv left*sysdiag(sys,eye(p,p))*right + +res=clean(ss2tf(sys2)-ss2tf(left*sysdiag(sys,eye(p,p))*right)) + +// when F2= 0; sys1 and sys2 are the same +F2=0*rand(p,n);F=[F1;F2]; +[sys2,right,left]=ss2ss(sys,rand(n,n),F,G,1); + +res=clean(ss2tf(sys2)-ss2tf(sys1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="projsl">projsl</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/ss2tf.xml b/modules/cacsd/help/en_US/formal_representation/ss2tf.xml new file mode 100755 index 000000000..8f3adebe0 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/ss2tf.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ss2tf"> + <refnamediv> + <refname>ss2tf</refname> + <refpurpose>conversion from state-space to transfer function</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[h]=ss2tf(sl) + [Ds,NUM,chi]=ss2tf(sl) + + [h]=ss2tf(sl,"b") + [Ds,NUM,chi]=ss2tf(sl,"b") + + + [h]=ss2tf(sl,rmax) + [Ds,NUM,chi]=ss2tf(sl,rmax) + + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para>transfer matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Called with three outputs <literal>[Ds,NUM,chi]=ss2tf(sl)</literal> returns + the numerator polynomial matrix <literal>NUM</literal>, the characteristic + polynomial <literal>chi</literal> and the polynomial part <literal>Ds</literal> separately i.e.: + </para> + <programlisting role=""><![CDATA[ +h = NUM/chi + Ds + ]]></programlisting> + <para> + Method: + </para> + <para> + One uses the characteristic polynomial and + <literal>det(A+Eij)=det(A)+C(i,j)</literal> where <literal>C</literal> is the adjugate + matrix of <literal>A</literal>. + </para> + <para> + With <literal>rmax</literal> or <literal>"b"</literal> argument uses a block diagonalization of + sl.A matrix and applies "Leverrier" algorithm on blocks. + If given, <literal>rmax</literal> controls the conditionning (see bdiag). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +h=[1,1/s;1/(s^2+1),s/(s^2-2)] +sl=tf2ss(h); +h=clean(ss2tf(sl)) +[Ds,NUM,chi]=ss2tf(sl) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="nlev">nlev</link> + </member> + <member> + <link linkend="glever">glever</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/tf2des.xml b/modules/cacsd/help/en_US/formal_representation/tf2des.xml new file mode 100755 index 000000000..e419fe9f7 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/tf2des.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="tf2des"> + <refnamediv> + <refname>tf2des</refname> + <refpurpose>transfer function to descriptor</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>S=tf2des(G) + S=tf2des(G,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) with possibly polynomial <literal>D</literal> matrix + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + character string <literal>"withD"</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>list</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Transfer function to descriptor form: <literal>S=list('d',A,B,C,D,E)</literal> + </para> + <programlisting role=""><![CDATA[ +E*xdot = A*x+B*u +y = C*x + D*u + ]]></programlisting> + <para> + <note> + Note that <literal>D=0</literal> if the optional parameter flag=<literal>"withD"</literal> is not + given. Otherwise a maximal rank <literal>D</literal> matrix is returned in the fifth + entry of the list <literal>S</literal>. + </note> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1/(s-1),s;1,2/s^3]; +S1=tf2des(G);des2tf(S1) +S2=tf2des(G,"withD");des2tf(S2) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="pol2des">pol2des</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="des2tf">des2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/formal_representation/tf2ss.xml b/modules/cacsd/help/en_US/formal_representation/tf2ss.xml new file mode 100755 index 000000000..88a94fa37 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/tf2ss.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="tf2ss"> + <refnamediv> + <refname>tf2ss</refname> + <refpurpose>transfer to state-space</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>sl=tf2ss(h [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para>rational matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + may be the constant rtol or the 2 vector <literal>[rtol atol]</literal> + </para> + <variablelist> + <varlistentry> + <term>rtol</term> + <listitem> + <para>tolerance used when evaluating observability.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>atol</term> + <listitem> + <para>absolute tolerance used when evaluating observability.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list <literal>sl=[A,B,C,D(s)]</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + transfer to state-space conversion: + </para> + <para> + <literal>h=C*(s*eye()-A)^-1*B+D(s)</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +H=[2/s,(s+1)/(s^2-5)]; +Sys=tf2ss(H) +clean(ss2tf(Sys)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + <member> + <link linkend="des2tf">des2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/fourplan.xml b/modules/cacsd/help/en_US/fourplan.xml new file mode 100755 index 000000000..4aa556517 --- /dev/null +++ b/modules/cacsd/help/en_US/fourplan.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fourplan"> + <refnamediv> + <refname>fourplan</refname> + <refpurpose>augmented plant to four plants</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[P11,P12,P21,P22]=fourplan(P,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + <literal>syslin</literal> list (linear system) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 row vector, dimension of <literal>P22</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P11,P12,P21,P22</term> + <listitem> + <para> + <literal>syslin</literal> lists. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Utility function. + </para> + <para> + <literal>P</literal> being partitioned as follows: + </para> + <programlisting role=""><![CDATA[ +P=[ P11 P12; + P21 P22] + ]]></programlisting> + <para> + with <literal>size(P22)=r</literal> this function returns the four linear systems <literal>P11,P12,P21,P22</literal>. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqg2stan">lqg2stan</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/freq.xml b/modules/cacsd/help/en_US/freq.xml new file mode 100755 index 000000000..2b7a091ee --- /dev/null +++ b/modules/cacsd/help/en_US/freq.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="freq"> + <refnamediv> + <refname>freq</refname> + <refpurpose>frequency response</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[x]=freq(A,B,C [,D],f) + [x]=freq(NUM,DEN,f) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A, B, C, D</term> + <listitem> + <para> + real matrices of respective dimensions <literal>nxn, nxp, mxn, mxp</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>NUM,DEN</term> + <listitem> + <para> + polynomial matrices of dimension <literal>mxp</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para>real or complex matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>x=freq(A,B,C [,D],f)</literal> returns a real or complex <literal>mxp*t</literal> matrix + such that: + </para> + <para> + <literal>x(:,k*p:(k+1)*p)= C*inv(f(k)*eye()-A)*B + D</literal>. + </para> + <para> + Thus, for <literal>f</literal> taking values along the imaginary axis or + on the unit circle <literal>x</literal> is the continuous or discrete time + frequency response of <literal>(A,B,C,D)</literal>. + </para> + <para> + <literal>x=freq(NUM,DEN,f)</literal> returns a real or complex matrix <literal>x</literal> such + that columns <literal>k*(p-1)+1</literal> to <literal>k*p</literal> of <literal>x</literal> contain the matrix + <literal>NUM(f(k))./DEN(f(k))</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +sys=(s+1)/(s^3-5*s+4) +rep=freq(sys("num"),sys("den"),[0,0.9,1.1,2,3,10,20]) +[horner(sys,0),horner(sys,20)] +// +Sys=tf2ss(sys); +[A,B,C,D]=abcd(Sys); +freq(A,B,C,[0,0.9,1.1,2,3,10,20]) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="horner">horner</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/freson.xml b/modules/cacsd/help/en_US/freson.xml new file mode 100755 index 000000000..c84e90b92 --- /dev/null +++ b/modules/cacsd/help/en_US/freson.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="freson"> + <refnamediv> + <refname>freson</refname> + <refpurpose>peak frequencies</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>fr=freson(h)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fr</term> + <listitem> + <para>vector of peak frequencies in Hz</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns the vector of peak frequencies in Hz for the SISO plant + <literal>h</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +h=syslin('c',-1+%s,(3+2*%s+%s^2)*(50+0.1*%s+%s^2)) +fr=freson(h) +bode(h) +g=20*log(abs(repfreq(h,fr)))/log(10) + ]]></programlisting> + <scilab:image> + h=syslin('c',-1+%s,(3+2*%s+%s^2)*(50+0.1*%s+%s^2)) + fr=freson(h) + bode(h) + g=20*log(abs(repfreq(h,fr)))/log(10) + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + <member> + <link linkend="zgrid">zgrid</link> + </member> + <member> + <link linkend="h_norm">h_norm</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/fspec.xml b/modules/cacsd/help/en_US/fspec.xml new file mode 100755 index 000000000..dde85bfa5 --- /dev/null +++ b/modules/cacsd/help/en_US/fspec.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) Scilab Enterprises - 2013 - Charlotte HECQUET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fspec"> + <refnamediv> + <refname>fspec</refname> + <refpurpose>spectral factorization of continuous time dynamical systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>gm=fspec(g)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>g</term> + <listitem> + <para> a continuous time linear dynamical system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gm</term> + <listitem> + <para> a continuous time linear dynamical system.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns <literal>gm</literal> with <literal>gm</literal> and <literal>gm^-1</literal> stable such that: + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +g = gtild(gm)*gm + ]]></programlisting> + <para> + gtild(gm) returns a state-space representation of gm(-s)'. + </para> + + <para> + <literal>g</literal> is inversible. + </para> + <para> + Imaginary-axis poles are forbidden. + </para> + <para> + gtild(g)=g (poles and zeros of g are symetric wrt imaginary axis). + </para> + <para> + g(inf) is positive definite. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=-1000; +b=5; +c=5; +d=5; +sl=syslin('c',a,b,c,d); +fspec(sl) + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/fspecg.xml b/modules/cacsd/help/en_US/fspecg.xml new file mode 100755 index 000000000..b2166356c --- /dev/null +++ b/modules/cacsd/help/en_US/fspecg.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fspecg"> + <refnamediv> + <refname>fspecg</refname> + <refpurpose>stable factorization of continuous time dynamical systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>gm=fspecg(g).</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>g</term> + <listitem> + <para> a continuous time linear dynamical system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gm</term> + <listitem> + <para> a continuous time linear dynamical system.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns <literal>gm</literal> with <literal>gm</literal> and <literal>gm^-1</literal> stable such that: + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +gtild(g)*g = gtild(gm)*gm + ]]></programlisting> + <para> + <literal>g</literal> and <literal>gm</literal> are continuous-time linear systems in state-space form. + </para> + <para> + Imaginary-axis poles are forbidden. + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=0.5; +b=1; +c=2; +sl=syslin('c',a,b,c); +fspecg(sl) + ]]></programlisting> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for continuous time linear dynamical system. + This modification has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/fstabst.xml b/modules/cacsd/help/en_US/fstabst.xml new file mode 100755 index 000000000..05a1447a1 --- /dev/null +++ b/modules/cacsd/help/en_US/fstabst.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fstabst"> + <refnamediv> + <refname>fstabst</refname> + <refpurpose>Youla's parametrization of continuous time linear dynmaical systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>J = fstabst(P,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para>a continuous time linear dynamical system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 row vector, dimension of <literal>P22</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para> + a continuous time linear dynamical system (with same representation as <literal>P</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Parameterization of all stabilizing feedbacks. + </para> + <para> + <literal>P</literal> is partitioned as follows: + </para> + <programlisting role=""><![CDATA[ +P=[ P11 P12; + P21 P22] + ]]></programlisting> + <para> + (in state-space or transfer form: automatic conversion in state-space is + done for the computations) + </para> + <para> + <literal>r</literal> = size of <literal>P22</literal> subsystem, (2,2) block of <literal>P</literal> + </para> + <programlisting role=""><![CDATA[ +J =[J11 J12; + J21 J22] + ]]></programlisting> + <para> + <literal>K</literal> is a stabilizing controller for <literal>P</literal> (i.e. <literal>P22</literal>) iff + <literal>K=lft(J,r,Q)</literal> with <literal>Q</literal> stable. + </para> + <para> + The central part of <literal>J</literal> , <literal>J11</literal> is the lqg regulator for <literal>P</literal> + </para> + <para> + This <literal>J</literal> is such that defining <literal>T</literal> as the 2-port <literal>lft</literal> of <literal>P</literal> + and <literal>J</literal> : <literal>[T,rt]=lft(P,r,J,r)</literal> one has that <literal>T12</literal> is inner + and <literal>T21</literal> is co-inner. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +ny=2;nu=3;nx=4; +P22=ssrand(ny,nu,nx); +bigQ=rand(nx+nu,nx+nu);bigQ=bigQ*bigQ'; +bigR=rand(nx+ny,nx+ny);bigR=bigR*bigR'; +[P,r]=lqg2stan(P22,bigQ,bigR); +J=fstabst(P,r); +Q=ssrand(nu,ny,1);Q('A')=-1; //Stable Q +K=lft(J,r,Q); +A=h_cl(P,r,K); spec(A) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="obscont">obscont</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqg2stan">lqg2stan</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/g_margin.xml b/modules/cacsd/help/en_US/g_margin.xml new file mode 100755 index 000000000..26775f6b5 --- /dev/null +++ b/modules/cacsd/help/en_US/g_margin.xml @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="g_margin" xml:lang="en"> + <refnamediv> + <refname>g_margin</refname> + <refpurpose>gain margin and associated crossover frequency</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + gm=g_margin(h) + [gm,fr]=g_margin(h) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + a SISO linear system (see :<link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>gm</term> + <listitem> + <para> a number, the gain margin (in dB) if any of + <literal>Inf</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fr</term> + <listitem> + <para> a number, the associated frequency in hertz, or an + empty matrix if the gain margin does not exist. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>Given a SISO linear system in continuous or discrete time, + <literal>g_margin</literal> returns <literal>gm</literal>, the + gain margin in dB of <literal>h</literal> and + <literal>fr</literal>, the achieved corresponding frequency in + Hz. + </para> + <para>The gain margin, if it exists, is the minimal value of the + system gain at points where the nyquist plot crosses the negative + real axis. In other words the gain margin is + <literal>20*log10(1/g)</literal> where <literal>g</literal> is the + open loop gain of <literal>h</literal> when the frequency response + phase of <literal>h</literal> equals -180° + </para> + <para>The algorithm uses polynomial root finder to solve the equations:</para> + <variablelist> + <varlistentry> + <term>h(s)=h(-s)</term> + <listitem> + <para> for the continuous time case.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h(z)=h(1/z)</term> + <listitem> + <para> for the discrete time case.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +h=syslin('c',-1+%s,3+2*%s+%s^2) //continuous time case +[g,fr]=g_margin(h) +[g,fr]=g_margin(h-10) +nyquist(h-10) + ]]></programlisting> + <scilab:image> + h=syslin('c',-1+%s,3+2*%s+%s^2) + [g,fr]=g_margin(h) + [g,fr]=g_margin(h-10) + nyquist(h-10) + </scilab:image> + <programlisting role="example"><![CDATA[ +h = syslin(0.1,0.04798*%z+0.0464,%z^2-1.81*%z+0.9048);//discrete time case +[g ,fr]=g_margin(h); +show_margins(h) + ]]></programlisting> + <scilab:image> + h = syslin(0.1,0.04798*%z+0.0464,%z^2-1.81*%z+0.9048); + [g ,fr]=g_margin(h); + warning("off") + show_margins(h) + warning("on") + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="show_margins">show_margins</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/gamitg.xml b/modules/cacsd/help/en_US/gamitg.xml new file mode 100755 index 000000000..5e6dcc0d3 --- /dev/null +++ b/modules/cacsd/help/en_US/gamitg.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="gamitg"> + <refnamediv> + <refname>gamitg</refname> + <refpurpose>H-infinity gamma iterations for continuous time systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[gopt]=gamitg(G,r,prec [,options]);</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para>a continuous time dynamical system (plant realization).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 row vector (dimension of <literal>G22</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>prec</term> + <listitem> + <para>desired relative accuracy on the norm</para> + </listitem> + </varlistentry> + <varlistentry> + <term>option</term> + <listitem> + <para> + string <literal>'t'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>gopt</term> + <listitem> + <para>real scalar, optimal H-infinity gain</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>gopt=gamitg(G,r,prec [,options])</literal> + returns the H-infinity optimal gain <literal>gopt</literal>. + </para> + <para> + <literal>G</literal> contains the state-space matrices <literal>[A,B,C,D]</literal> of + the plant with the usual partitions: + </para> + <programlisting role=""><![CDATA[ +B = ( B1 , B2 ) , C = ( C1 ) , D = ( D11 D12) + ( C2 ) ( D21 D22) + ]]></programlisting> + <para> + These partitions are implicitly given in <literal>r</literal>: <literal>r(1)</literal> + and <literal>r(2)</literal> are the dimensions of <literal>D22</literal> (rows x columns) + </para> + <para> + With <literal>option='t'</literal>, <literal>gamitg</literal> traces each bisection step, i.e., + displays the lower and upper bounds and the current test point. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ccontrg">ccontrg</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Authors</title> + <para>P. Gahinet</para> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/gcare.xml b/modules/cacsd/help/en_US/gcare.xml new file mode 100755 index 000000000..6319291be --- /dev/null +++ b/modules/cacsd/help/en_US/gcare.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="gcare"> + <refnamediv> + <refname>gcare</refname> + <refpurpose>Continuous time control Riccati equation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[X,F]=gcare(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para>a continuous time linear dynamical system in state-space representation</para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>symmetric matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Generalized Control Algebraic Riccati Equation (GCARE). + <literal>X</literal> = solution , <literal>F</literal> = gain. + </para> + <para> + The GCARE for <literal>Sl=[A,B,C,D]</literal> is: + </para> + <programlisting role=""><![CDATA[ +(A-B*Si*D'*C)'*X+X*(A-B*Si*D'*C)-X*B*Si*B'*X+C'*Ri*C=0 + ]]></programlisting> + <para> + where <literal>S=(eye()+D'*D)</literal>, <literal>Si=inv(S)</literal>, <literal>R=(eye()+D*D')</literal>, <literal>Ri=inv(R)</literal> + and <literal>F=-Si*(D'*C+B'*X)</literal> is such that <literal>A+B*F</literal> is stable. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="gfare">gfare</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/gfare.xml b/modules/cacsd/help/en_US/gfare.xml new file mode 100755 index 000000000..b9451d9c6 --- /dev/null +++ b/modules/cacsd/help/en_US/gfare.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="gfare"> + <refnamediv> + <refname>gfare</refname> + <refpurpose>Continuous time filter Riccati equation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Z,H]=gfare(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para>a continuous time linear dynamical system in state-space representation</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para>symmetric matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Generalized Filter Algebraic Riccati Equation (GFARE). + <literal>Z</literal> = solution, <literal>H</literal> = gain. + </para> + <para> + The GFARE for <literal>Sl=[A,B,C,D]</literal> is: + </para> + <programlisting role=""><![CDATA[ +(A-B*D'*Ri*C)*Z+Z*(A-B*D'*Ri*C)'-Z*C'*Ri*C*Z+B*Si*B'=0 + ]]></programlisting> + <para> + where <literal>S=(eye()+D'*D)</literal>, <literal>Si=inv(S)</literal>, <literal>R=(eye()+D*D')</literal>, <literal>Ri=inv(R)</literal> + and <literal>H=-(B*D'+Z*C')*Ri</literal> is such that <literal>A+H*C</literal> is stable. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="gcare">gcare</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/gfrancis.xml b/modules/cacsd/help/en_US/gfrancis.xml new file mode 100755 index 000000000..4974b9b8c --- /dev/null +++ b/modules/cacsd/help/en_US/gfrancis.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="gfrancis"> + <refnamediv> + <refname>gfrancis</refname> + <refpurpose>Francis equations for tracking</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[L,M,T]=gfrancis(Plant,Model)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Plant</term> + <listitem> + <para> a continuous time dynamical system in state-space representation.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Model</term> + <listitem> + <para> a continuous time dynamical system in state-space representation.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L,M,T</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given the linear plant: + </para> + <programlisting role=""><![CDATA[ +x'= F*x + G*u +y = H*x + J*u + ]]></programlisting> + <para> + and the linear model + </para> + <programlisting role=""><![CDATA[ +xm'= A*xm + B*um +ym = C*xm + D*um + ]]></programlisting> + <para> + the goal is for the plant to track the model i.e. <literal>e = y - ym ---> 0</literal> + while keeping stable the state x(t) of the plant. + <literal>u</literal> is given by feedforward and feedback + </para> + <programlisting role=""><![CDATA[ +u = L*xm + M*um + K*(x-T*xm) = [K , L-K*T] *(x,xm) + M*um + ]]></programlisting> + <para> + The matrices T,L,M satisfy generalized Francis equations + </para> + <programlisting role=""><![CDATA[ +F*T + G*L = T*A +H*T + J*L = C + G*M = T*B + J*M = D + ]]></programlisting> + <para> + The matrix <literal>K</literal> must be chosen as stabilizing the pair <literal>(F,G)</literal> + See example of use in directory <literal>demos/tracking</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +Plant=ssrand(1,3,5); +[F,G,H,J]=abcd(Plant); +nw=4;nuu=2;A=rand(nw,nw); +st=max(real(spec(A)));A=A-st*eye(A); +B=rand(nw,nuu);C=2*rand(1,nw);D=0*rand(C*B); +Model=syslin('c',A,B,C,D); +[L,M,T]=gfrancis(Plant,Model); +norm(F*T+G*L-T*A,1) +norm(H*T+J*L-C,1) +norm(G*M-T*B,1) +norm(J*M-D,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="ppol">ppol</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/gtild.xml b/modules/cacsd/help/en_US/gtild.xml new file mode 100755 index 000000000..e342c2630 --- /dev/null +++ b/modules/cacsd/help/en_US/gtild.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="gtild"> + <refnamediv> + <refname>gtild</refname> + <refpurpose>tilde operation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>Gt=gtild(G) + Gt=gtild(G,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + either a polynomial or a linear system (<literal>syslin</literal> list) or a rational matrix + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gt</term> + <listitem> + <para>same as G</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + character string: either <literal>'c'</literal> or <literal>'d'</literal> (optional parameter). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + If <literal>G</literal> is a polynomial matrix (or a polynomial), <literal>Gt=gtild(G,'c')</literal> + returns the polynomial matrix <literal>Gt(s)=G(-s)'</literal>. + </para> + <para> + If <literal>G</literal> is a polynomial matrix (or a polynomial), <literal>Gt=gtild(G,'d')</literal> + returns the polynomial matrix <literal>Gt=G(1/z)*z^n</literal> where n is the maximum + degree of <literal>G</literal>. + </para> + <para> + For continuous-time systems represented in state-space by a <literal>syslin</literal> list, + <literal>Gt = gtild(G,'c')</literal> returns a state-space representation + of <literal>G(-s)'</literal> i.e the <literal>ABCD</literal> matrices of <literal>Gt</literal> are + <literal>A',-C', B', D'</literal>. If <literal>G</literal> is improper (<literal> D= D(s)</literal>) + the <literal>D</literal> matrix of <literal>Gt</literal> is <literal>D(-s)'</literal>. + </para> + <para> + For discrete-time systems represented in state-space by a <literal>syslin</literal> list, + <literal>Gt = gtild(G,'d')</literal> returns a state-space representation + of <literal>G(-1/z)'</literal> i.e the (possibly improper) state-space + representation of <literal>-z*C*inv(z*A-B)*C + D(1/z) </literal>. + </para> + <para> + For rational matrices, <literal>Gt = gtild(G,'c')</literal> returns the rational + matrix <literal>Gt(s)=G(-s)</literal> and <literal>Gt = gtild(G,'d')</literal> returns the + rational matrix <literal>Gt(z)= G(1/z)'</literal>. + </para> + <para> + The parameter <literal>flag</literal> is necessary when <literal>gtild</literal> is called with + a polynomial argument. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//Continuous time +s=poly(0,'s');G=[s,s^3;2+s^3,s^2-5] +Gt=gtild(G,'c') +Gt-horner(G,-s)' //continuous-time interpretation +Gt=gtild(G,'d'); +Gt-horner(G,1/s)'*s^3 //discrete-time interpretation +G=ssrand(2,2,3);Gt=gtild(G); //State-space (G is cont. time by default) +clean((horner(ss2tf(G),-s))'-ss2tf(Gt)) //Check + +// Discrete-time +z=poly(0,'z'); +Gss=ssrand(2,2,3);Gss('dt')='d'; //discrete-time +Gss(5)=[1,2;0,1]; //With a constant D matrix +G=ss2tf(Gss);Gt1=horner(G,1/z)'; +Gt=gtild(Gss); +Gt2=clean(ss2tf(Gt)); clean(Gt1-Gt2) //Check + +//Improper systems +z=poly(0,'z'); +Gss=ssrand(2,2,3);Gss(7)='d'; //discrete-time +Gss(5)=[z,z^2;1+z,3]; //D(z) is polynomial +G=ss2tf(Gss);Gt1=horner(G,1/z)'; //Calculation in transfer form +Gt=gtild(Gss); //..in state-space +Gt2=clean(ss2tf(Gt));clean(Gt1-Gt2) //Check + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="horner">horner</link> + </member> + <member> + <link linkend="factors">factors</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/h2norm.xml b/modules/cacsd/help/en_US/h2norm.xml new file mode 100755 index 000000000..578b9b41c --- /dev/null +++ b/modules/cacsd/help/en_US/h2norm.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="h2norm"> + <refnamediv> + <refname>h2norm</refname> + <refpurpose>H2 norm of a continuous time proper dynamical system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[n]=h2norm(Sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para>continuous time proper linear dynamical system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>real scalar</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + produces the H2 norm of a linear continuous time system <literal>Sl</literal>. + </para> + <para> + (For <literal>Sl</literal> in state-space form <literal>h2norm</literal> uses the observability + gramian and for <literal>Sl</literal> in transfer form <literal>h2norm</literal> uses a residue method) + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + h=syslin('c',(2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2norm(h) + ]]></programlisting> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/h_cl.xml b/modules/cacsd/help/en_US/h_cl.xml new file mode 100755 index 000000000..c8019bc7c --- /dev/null +++ b/modules/cacsd/help/en_US/h_cl.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="h_cl"> + <refnamediv> + <refname>h_cl</refname> + <refpurpose>closed loop matrix</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Acl]=h_cl(P,r,K) + [Acl]=h_cl(P22,K) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P, P22</term> + <listitem> + <para>continuous time linear dynamical systems: augmented plant or nominal plant respectively</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + a two elements vector, dimensions of 2,2 part of <literal>P</literal> (<literal>r=[rows,cols]=size(P22)</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>a continuous time linear dynamical system: the controller</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Acl</term> + <listitem> + <para>real square matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given the standard plant <literal>P</literal> (with <literal>r=size(P22)</literal>) and the controller + <literal>K</literal>, this function returns the closed loop matrix <literal>Acl</literal>. + </para> + <para> + The poles of <literal>Acl</literal> must be stable for the internal stability + of the closed loop system. + </para> + <para> + <literal>Acl</literal> is the <literal>A</literal>-matrix of the linear system <literal>[I -P22;-K I]^-1</literal> i.e. + the <literal>A</literal>-matrix of <literal>lft(P,r,K)</literal> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lft">lft</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Authors</title> + <para>F. D. </para> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/h_inf.xml b/modules/cacsd/help/en_US/h_inf.xml new file mode 100755 index 000000000..1b43e846f --- /dev/null +++ b/modules/cacsd/help/en_US/h_inf.xml @@ -0,0 +1,136 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="h_inf"> + <refnamediv> + <refname>h_inf</refname> + <refpurpose>Continuous time H-infinity (central) controller</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Sk,ro]=h_inf(P,r,romin,romax,nmax) + [Sk,rk,ro]=h_inf(P,r,romin,romax,nmax) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para>a continuous-time linear dynamical system ("augmented" plant given in state-space form or in transfer form)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + size of the <literal>P22</literal> plant i.e. 2-vector <literal>[#outputs,#inputs]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>romin,romax</term> + <listitem> + <para> + a priori bounds on <literal>ro</literal> with <literal>ro=1/gama^2</literal>; (<literal>romin=0</literal> usually) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>nmax</term> + <listitem> + <para>integer, maximum number of iterations in the gama-iteration.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>h_inf</literal> computes H-infinity optimal controller for the + continuous-time plant <literal>P</literal>. + </para> + <para> + The partition of <literal>P</literal> into four sub-plants is given through + the 2-vector <literal>r</literal> which is the size of the <literal>22</literal> part of <literal>P</literal>. + </para> + <para> + <literal>P</literal> is given in state-space + e.g. <literal>P=syslin('c',A,B,C,D)</literal> with <literal>A,B,C,D</literal> = constant matrices + or <literal>P=syslin('c',H)</literal> with <literal>H</literal> a transfer matrix. + </para> + <para> + <literal>[Sk,ro]=H_inf(P,r,romin,romax,nmax)</literal> returns + <literal>ro</literal> in <literal>[romin,romax]</literal> and the central + controller <literal>Sk</literal> in the same representation as + <literal>P</literal>. + </para> + <para> + (All calculations are made in state-space, i.e conversion to + state-space is done by the function, if necessary). + </para> + <para> + Invoked with three LHS parameters, + </para> + <para> + <literal>[Sk,rk,ro]=H_inf(P,r,romin,romax,nmax)</literal> returns + <literal>ro</literal> and the Parameterization of all stabilizing + controllers: + </para> + <para> + a stabilizing controller <literal>K</literal> is obtained by + <literal>K=lft(Sk,r,PHI)</literal> where <literal>PHI</literal> is a linear + system with dimensions <literal>r'</literal> and satisfy: + </para> + <para> + <literal>H_norm(PHI) < gamma</literal>. <literal>rk (=r)</literal> is the + size of the <literal>Sk22</literal> block and <literal>ro = 1/gama^2</literal> + after <literal>nmax</literal> iterations. + </para> + <para> + Algorithm is adapted from Safonov-Limebeer. Note that <literal>P</literal> is assumed to be + a continuous-time plant. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="gamitg">gamitg</link> + </member> + <member> + <link linkend="ccontrg">ccontrg</link> + </member> + <member> + <link linkend="leqr">leqr</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Authors</title> + <para>F.Delebecque INRIA (1990) </para> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/h_inf_st.xml b/modules/cacsd/help/en_US/h_inf_st.xml new file mode 100755 index 000000000..956051de7 --- /dev/null +++ b/modules/cacsd/help/en_US/h_inf_st.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="h_inf_st"> + <refnamediv> + <refname>h_inf_st</refname> + <refpurpose>static H_infinity problem</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Kopt,gamaopt]=h_inf_stat(D,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>D</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>1x2 vector</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Kopt</term> + <listitem> + <para>matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + computes a matrix <literal>Kopt</literal> such that largest singular value of: + </para> + <para> + <literal>lft(D,r,K)=D11+D12* K*inv(I-D22*K)* D21</literal> + is minimal (Static <literal>H_infinity</literal> four blocks problem). + </para> + <para> + D is partionned as <literal>D=[D11 D12; D21 D22]</literal> + where <literal>size(D22)=r=[r1 r2]</literal> + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/h_norm.xml b/modules/cacsd/help/en_US/h_norm.xml new file mode 100755 index 000000000..f78d77ebe --- /dev/null +++ b/modules/cacsd/help/en_US/h_norm.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="h_norm"> + <refnamediv> + <refname>h_norm</refname> + <refpurpose>H-infinity norm</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[hinfnorm [,frequency]]=h_norm(sl [,rerr])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + the state space system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rerr</term> + <listitem> + <para> + max. relative error, default value <literal>1e-8</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>hinfnorm</term> + <listitem> + <para> + the infinity norm of <literal>Sl</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>frequency</term> + <listitem> + <para>frequency at which maximum is achieved</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + produces the infinity norm of a state-space system + (the maximum over all frequencies of the maximum singular value). + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="linfn">linfn</link> + </member> + <member> + <link linkend="linf">linf</link> + </member> + <member> + <link linkend="svplot">svplot</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/hankelsv.xml b/modules/cacsd/help/en_US/hankelsv.xml new file mode 100755 index 000000000..a0f8622fa --- /dev/null +++ b/modules/cacsd/help/en_US/hankelsv.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hankelsv"> + <refnamediv> + <refname>hankelsv</refname> + <refpurpose>Hankel singular values</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[nk2,W]=hankelsv(sl [,tol]) + [nk2]=hankelsv(sl [,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list representing the linear system (state-space). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + tolerance parameter for detecting imaginary axis modes (default value is <literal>1000*%eps</literal>). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns <literal>nk2</literal>, the squared Hankel singular values of <literal>sl</literal> + and <literal>W = P*Q</literal> = controllability gramian times observability + gramian. + </para> + <para> + <literal>nk2</literal> is the vector of eigenvalues of <literal>W</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3]); +sl=syslin('c',A,rand(3,2),rand(2,3));[nk2,W]=hankelsv(sl) +[Q,M]=pbig(W,nk2(2)-%eps,'c'); +slr=projsl(sl,Q,M);hankelsv(slr) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="balreal">balreal</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/hinf.xml b/modules/cacsd/help/en_US/hinf.xml new file mode 100755 index 000000000..c54db7891 --- /dev/null +++ b/modules/cacsd/help/en_US/hinf.xml @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hinf"> + <refnamediv> + <refname>hinf</refname> + <refpurpose>H_infinity design of continuous-time systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para>the n-by-n system state matrix A.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>the n-by-m system input matrix B.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>the p-by-n system output matrix C.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>the p-by-m system matrix D.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ncon</term> + <listitem> + <para>the number of control inputs. m >= ncon >= 0, p-nmeas >= ncon.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nmeas</term> + <listitem> + <para>the number of measurements. p >= nmeas >= 0, m-ncon >= nmeas.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gamma</term> + <listitem> + <para> + the parameter gamma used in <literal>H_infinity</literal> design. + It is assumed that gamma is sufficiently large so that the controller is admissible. gamma >= 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>AK</term> + <listitem> + <para>the n-by-n controller state matrix AK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>BK</term> + <listitem> + <para>the n-by-nmeas controller input matrix BK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>CK</term> + <listitem> + <para>the ncon-by-n controller output matrix CK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>DK</term> + <listitem> + <para>the ncon-by-nmeas controller matrix DK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>a vector containing estimates of the reciprocal condition numbers of the matrices which are to be inverted and estimates of the reciprocal condition numbers of the Riccati equations which have to be solved during the computation of the controller. (See the description of the algorithm in [1].)</para> + <variablelist> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(1) contains the reciprocal condition number of the control transformation matrix TU,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(2) contains the reciprocal condition number of the measurement transformation matrix TY,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(3) contains an estimate of the reciprocal condition number of the X-Riccati equation,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(4) contains an estimate of the reciprocal condition number of the Y-Riccati equation.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma)</literal> + To compute the matrices of an H-infinity (sub)optimal n-state + controller + </para> + <programlisting role=""><![CDATA[ + | AK | BK | +K = |----|----|, + | CK | DK | + ]]></programlisting> + <para> + for the continuous-time system + </para> + <programlisting role=""><![CDATA[ + | A | B1 B2 | | A | B | +P = |----|---------| = |---|---|, + | C1 | D11 D12 | | C | D | + | C2 | D21 D22 | + ]]></programlisting> + <para> + and for a given value of gamma, where B2 has column size of the + number of control inputs (ncon) and C2 has row size of the number + of measurements (nmeas) being provided to the controller. + </para> + </refsection> + <refsection> + <title>References</title> + <para> + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of continuous-time linear control systems. Report98-14, Department of Engineering, Leicester University, August 1998. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//example from Niconet report SLWN1999-12 +//Hinf +A=[-1 0 4 5 -3 -2 + -2 4 -7 -2 0 3 + -6 9 -5 0 2 -1 + -8 4 7 -1 -3 0 + 2 5 8 -9 1 -4 + 3 -5 8 0 2 -6]; + +B=[-3 -4 -2 1 0 + 2 0 1 -5 2 + -5 -7 0 7 -2 + 4 -6 1 1 -2 + -3 9 -8 0 5 + 1 -2 3 -6 -2]; + +C=[ 1 -1 2 -4 0 -3 + -3 0 5 -1 1 1 + -7 5 0 -8 2 -2 + 9 -3 4 0 3 7 + 0 1 -2 1 -6 -2]; + +D=[ 1 -2 -3 0 0 + 0 4 0 1 0 + 5 -3 -4 0 1 + 0 1 0 1 -3 + 0 0 1 7 1]; +Gamma=10.18425636157899; +[AK,BK,CK,DK] = hinf(A,B,C,D,2,2,Gamma) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="dhinf">dhinf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/imrep2ss.xml b/modules/cacsd/help/en_US/imrep2ss.xml new file mode 100755 index 000000000..db44dd52d --- /dev/null +++ b/modules/cacsd/help/en_US/imrep2ss.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="imrep2ss"> + <refnamediv> + <refname>imrep2ss</refname> + <refpurpose>state-space realization of an impulse response</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sl]=imrep2ss(v [,deg])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>v</term> + <listitem> + <para> + vector coefficients of impulse response, <literal>v(:,k)</literal> is the kth sample + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>deg</term> + <listitem> + <para>integer (order required)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Impulse response to linear system conversion (one input). + <literal>v</literal> must have an even number of columns. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +H=[1/(s+0.5);2/(s-0.4)] //strictly proper +np=20;w=ldiv(H('num'),H('den'),np); +rep=[w(1:np)';w(np+1:2*np)']; //The impulse response +H1=ss2tf(imrep2ss(rep)) +z=poly(0,'z'); +H=(2*z^2-3.4*z+1.5)/(z^2-1.6*z+0.8) //Proper transfer function +u=zeros(1,20);u(1)=1; +rep=rtitr(H('num'),H('den'),u); //Impulse rep. +// <=> rep=ldiv(H('num'),H('den'),20) +w=z*imrep2ss(rep) //Realization with shifted impulse response +// i.e strictly proper to proper +H2=ss2tf(w); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="markp2ss">markp2ss</link> + </member> + <member> + <link linkend="ldiv">ldiv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/inistate.xml b/modules/cacsd/help/en_US/inistate.xml new file mode 100755 index 000000000..c664ce17b --- /dev/null +++ b/modules/cacsd/help/en_US/inistate.xml @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="inistate"> + <refnamediv> + <refname>inistate</refname> + <refpurpose>Estimates the initial state of a discrete-time system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>X0 = inistate(SYS,Y,U,TOL,PRINTW) + X0 = inistate(A,B,C,Y,U); + X0 = inistate(A,C,Y); + + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>SYS</term> + <listitem> + <para>given system, syslin(dt,A,B,C,D)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>the output of the system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>the input of the system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>TOL is the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number.</para> + <para> + Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>PRINTW is a switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X0</term> + <listitem> + <para>the estimated initial state vector</para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para>orthogonal matrix which reduces the system state matrix A to a real Schur form</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>estimate of the reciprocal condition number of the coefficient matrix of the least squares problem solved.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + inistate Estimates the initial state of a discrete-time system, given the + (estimated) system matrices, and a set of input/output data. + </para> + <para> + X0 = inistate(SYS,Y,U,TOL,PRINTW) estimates the initial state X0 of + the discrete-time system SYS = (A,B,C,D), using the output data Y + and the input data U. The model structure is : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k), k >= 1, +y(k) = Cx(k) + Du(k), + ]]></programlisting> + <para> + The vectors y(k) and u(k) are transposes of the k-th rows of Y and U, + respectively. + </para> + <para> + Instead of the first input parameter SYS (an syslin object), equivalent + information may be specified using matrix parameters, for instance, + X0 = inistate(A,B,C,Y,U); or X0 = inistate(A,C,Y); + </para> + <para> + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) returns, besides x0, + the orthogonal matrix V which reduces the system state matrix A to + a real Schur form, as well as an estimate of the reciprocal condition + number of the coefficient matrix of the least squares problem solved. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); + +// Compute R +S=15; +[R,N1,SVAL] = findR(S,Y',U'); +N=3; +SYS1 = findABCD(S,N,1,R) ; +SYS1.dt=0.1; + +inistate(SYS1,Y',U') + +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findx0BD">findx0BD</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/invsyslin.xml b/modules/cacsd/help/en_US/invsyslin.xml new file mode 100755 index 000000000..878d4ed91 --- /dev/null +++ b/modules/cacsd/help/en_US/invsyslin.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="invsyslin"> + <refnamediv> + <refname>invsyslin</refname> + <refpurpose>system inversion</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sl2]=invsyslin(sl1)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl1,sl2</term> + <listitem> + <para> + <literal>syslin</literal> lists (linear systems in state space representation) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Utility function. Computes the state form of the inverse <literal>sl2</literal> of + the linear system <literal>sl1</literal> (which is also given in state form). + </para> + <para> + The <literal>D</literal>-matrix is supposed to be full rank. Old stuff used by + <literal>inv(S)</literal> when <literal>S</literal> is a <literal>syslin</literal> list. + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=0.5; +b=1; +c=2; +sl=syslin('c',a,b,c); +slInversed=invsyslin(sl) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="rowregul">rowregul</link> + </member> + <member> + <link linkend="inv">inv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/kpure.xml b/modules/cacsd/help/en_US/kpure.xml new file mode 100755 index 000000000..3f7d60a3c --- /dev/null +++ b/modules/cacsd/help/en_US/kpure.xml @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="kpure"> + <refnamediv> + <refname>kpure</refname> + <refpurpose>continuous SISO system limit feedback gain</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + K=kpure(sys [,tol]) + [K,R]=kpure(sys [,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para>SISO linear system (syslin)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>a positive scalar. tolerance used to determine if a + root is imaginary or not. The default value is + <literal>1e-6</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>Real vector, the vector of gains for which at least + one closed loop pole is imaginary. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>Complex vector, the imaginary closed loop poles + associated with the values of <literal>K</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>K=kpure(sys)</literal> computes the gains <literal>K</literal> such that the system + <literal>sys</literal> feedback by <literal>K(i)</literal> (<literal>sys/.K(i)</literal>) has poles on imaginary axis. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +num=real(poly([-1+%i, -1-%i, -1+8*%i -1-8*%i],'s')); +den=real(poly([0.5 0.5 -6+7*%i -6-7*%i -3 -7 -11],'s')); +h=num/den; + +[K,Y]=kpure(h) +clf();evans(h) +plot(real(Y),imag(Y),'+r') + ]]></programlisting> + <scilab:image> + num=real(poly([-1+%i, -1-%i, -1+8*%i -1-8*%i],'s')); + den=real(poly([0.5 0.5 -6+7*%i -6-7*%i -3 -7 -11],'s')); + h=num/den; + + [K,Y]=kpure(h) + clf();evans(h) + plot(real(Y),imag(Y),'+r') + </scilab:image> + <programlisting role="example"><![CDATA[ +num=real(poly([-1+%i*1, -1-%i*1, 2+%i*8 2-%i*8 -2.5+%i*13 -2.5-%i*13],'s')); +den=real(poly([1 1 3+%i*3 3-%i*3 -15+%i*7 -15-%i*7 -3 -7 -11],'s')); +h=num/den; + +[K,Y]=kpure(h) +clf();evans(h,100000) +plot(real(Y),imag(Y),'+r') + ]]></programlisting> + <scilab:image> + num=real(poly([-1+%i*1, -1-%i*1, 2+%i*8 2-%i*8 -2.5+%i*13 -2.5-%i*13],'s')); + den=real(poly([1 1 3+%i*3 3-%i*3 -15+%i*7 -15-%i*7 -3 -7 -11],'s')); + h=num/den; + + [K,Y]=kpure(h) + clf();evans(h,100000) + plot(real(Y),imag(Y),'+r') + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="krac2">krac2</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/krac2.xml b/modules/cacsd/help/en_US/krac2.xml new file mode 100755 index 000000000..5bf773382 --- /dev/null +++ b/modules/cacsd/help/en_US/krac2.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="krac2"> + <refnamediv> + <refname>krac2</refname> + <refpurpose>continuous SISO system limit feedback gain</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>g=krac2(sys)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para>SISO linear system (syslin)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>g</term> + <listitem> + <para>constant</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>krac2(sys)</literal> computes the gains <literal>g</literal> such that the system + <literal>sys</literal> feedback by g (<literal>sys/.g</literal>) has 2 real equal poles. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +h=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); +clf();evans(h,100) +g=krac2(h) +hf1=h/.g(1);roots(denom(hf1)) +hf2=h/.g(2);roots(denom(hf2)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="kpure">kpure</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lcf.xml b/modules/cacsd/help/en_US/lcf.xml new file mode 100755 index 000000000..01f91999d --- /dev/null +++ b/modules/cacsd/help/en_US/lcf.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lcf"> + <refnamediv> + <refname>lcf</refname> + <refpurpose>Continuous time dynamical systems normalized coprime factorization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[N,M]=lcf(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para>a continuous time linear dynamical system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>a continuous linear dynamical system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>M</term> + <listitem> + <para>a continuous linear dynamical system.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Computes normalized coprime factorization of the linear dynamic + system <literal>sl</literal>. + </para> + <para> + <literal>sl = M^-1 N</literal> + </para> + <para> + <literal>M</literal> and <literal>N</literal> are returned in the same + representation (transfer function or state-space) than + <literal>sl</literal>. + </para> + </refsection> + <refsection> + <title>Authors</title> + <para>F. D.; ; </para> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/leqr.xml b/modules/cacsd/help/en_US/leqr.xml new file mode 100755 index 000000000..f4fb590cd --- /dev/null +++ b/modules/cacsd/help/en_US/leqr.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="leqr"> + <refnamediv> + <refname>leqr</refname> + <refpurpose>H-infinity LQ gain (full state) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[K,X,err]=leqr(P12,Vx)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P12</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Vx</term> + <listitem> + <para>symmetric nonnegative matrix (should be small enough)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K,X</term> + <listitem> + <para>two real matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para>a real number (l1 norm of LHS of Riccati equation)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>leqr</literal> computes the linear suboptimal H-infinity LQ full-state gain + for the plant <literal>P12=[A,B2,C1,D12]</literal> in continuous or discrete time. + </para> + <para> + <literal>P12</literal> is a <literal>syslin</literal> list (e.g. <literal>P12=syslin('c',A,B2,C1,D12)</literal>). + </para> + <programlisting role=""><![CDATA[ +[C1' ] [Q S] +[ ] * [C1 D12] = [ ] +[D12'] [S' R] + ]]></programlisting> + <para> + <literal>Vx</literal> is related to the variance matrix of the noise <literal>w</literal> perturbing <literal>x</literal>; + (usually <literal>Vx=gama^-2*B1*B1'</literal>). + </para> + <para> + The gain <literal>K</literal> is such that <literal>A + B2*K</literal> is stable. + </para> + <para> + <literal>X</literal> is the stabilizing solution of the Riccati equation. + </para> + <para> + For a continuous plant: + </para> + <programlisting role=""><![CDATA[ +(A-B2*inv(R)*S')'*X+X*(A-B2*inv(R)*S')-X*(B2*inv(R)*B2'-Vx)*X+Q-S*inv(R)*S'=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-inv(R)*(B2'*X+S) + ]]></programlisting> + <para> + For a discrete time plant: + </para> + <programlisting role=""><![CDATA[ +X-(Abar'*inv((inv(X)+B2*inv(R)*B2'-Vx))*Abar+Qbar=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-inv(R)*(B2'*inv(inv(X)+B2*inv(R)*B2'-Vx)*Abar+S') + ]]></programlisting> + <para> + with <literal>Abar=A-B2*inv(R)*S'</literal> and <literal>Qbar=Q-S*inv(R)*S'</literal> + </para> + <para> + The 3-blocks matrix pencils associated with these Riccati equations are: + </para> + <programlisting role=""><![CDATA[ + discrete continuous + |I -Vx 0| | A 0 B2| |I 0 0| | A Vx B2| +z|0 A' 0| - |-Q I -S| s|0 I 0| - |-Q -A' -S | + |0 B2' 0| | S' 0 R| |0 0 0| | S' -B2' R| + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqr">lqr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lft.xml b/modules/cacsd/help/en_US/lft.xml new file mode 100755 index 000000000..be7f06091 --- /dev/null +++ b/modules/cacsd/help/en_US/lft.xml @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lft"> + <refnamediv> + <refname>lft</refname> + <refpurpose>linear fractional transformation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[P1]=lft(P,K) + [P1]=lft(P,r,K) + [P1,r1]=lft(P,r,Ps,rs) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list), the ``augmented'' plant, implicitly partitioned into four blocks (two input ports and two output ports). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list), the controller (possibly an ordinary gain). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 row vector, dimension of <literal>P22</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ps </term> + <listitem> + <para> + linear system (<literal>syslin</literal> list), implicitly partitioned into four blocks (two input ports and two output ports). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rs </term> + <listitem> + <para> + 1x2 row vector, dimension of <literal>Ps22</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Linear fractional transform between two standard plants + <literal>P</literal> and <literal>Ps</literal> in state space form or in + transfer form (<literal>syslin</literal> lists). + </para> + <para> + <literal>r= size(P22) rs=size(P22s)</literal> + </para> + <para> + <literal>lft(P,r, K)</literal> is the linear fractional transform + between <literal>P</literal> and a controller <literal>K</literal> + (<literal>K</literal> may be a gain or a controller in state space form + or in transfer form); + </para> + <para> + <literal>lft(P,K)</literal> is <literal>lft(P,r,K)</literal> with + <literal>r</literal>=size of <literal>K</literal> transpose; + </para> + <para> + <literal>P1= P11+P12*K* (I-P22*K)^-1 *P21</literal> + </para> + <para> + <literal>[P1,r1]=lft(P,r,Ps,rs)</literal> returns the generalized (2 + ports) lft of <literal>P</literal> and <literal>Ps</literal>. + </para> + <para> + <literal>P1</literal> is the pair two-port interconnected plant and the + partition of <literal>P1</literal> into 4 blocks in given by + <literal>r1</literal> which is the dimension of the <literal>22</literal> + block of <literal>P1</literal>. + </para> + <para> + <literal>P</literal> and <literal>R</literal> can be PSSDs i.e. may admit a + polynomial <literal>D</literal> matrix. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +P=[1/s, 1/(s+1); 1/(s+2),2/s]; K= 1/(s-1); +lft(P,K) +lft(P,[1,1],K) +P(1,1)+P(1,2)*K*inv(1-P(2,2)*K)*P(2,1) //Numerically dangerous! +ss2tf(lft(tf2ss(P),tf2ss(K))) +lft(P,-1) +f=[0,0;0,1];w=P/.f; w(1,1) +//Improper plant (PID control) +W=[1,1;1,1/(s^2+0.1*s)];K=1+1/s+s +lft(W,[1,1],K); ss2tf(lft(tf2ss(W),[1,1],tf2ss(K))) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="sensi">sensi</link> + </member> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + <member> + <link linkend="sysdiag">sysdiag</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lin.xml b/modules/cacsd/help/en_US/lin.xml new file mode 100755 index 000000000..64557ed85 --- /dev/null +++ b/modules/cacsd/help/en_US/lin.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lin"> + <refnamediv> + <refname>lin</refname> + <refpurpose>linearization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[A,B,C,D]=lin(sim,x0,u0) + [sl]=lin(sim,x0,u0) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sim</term> + <listitem> + <para>function</para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0, u0</term> + <listitem> + <para>vectors of compatible dimensions</para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + linearization of the non-linear system <literal>[y,xdot]=sim(x,u)</literal> + around <literal>x0,u0</literal>. + </para> + <para> + <literal>sim</literal> is a function which computes <literal>y</literal> and <literal>xdot</literal>. + </para> + <para> + The output is a linear system (<literal>syslin</literal> list) <literal>sl</literal> or the + four matrices <literal>(A,B,C,D)</literal> + </para> + <para> + For example, if <literal>ftz</literal> is the function passed to ode e.g. + </para> + <programlisting role=""><![CDATA[ +[zd]=ftz(t,z,u) + ]]></programlisting> + <para> + and if we assume that <literal>y=x</literal> + </para> + <para> + <literal>[z]=ode(x0,t0,tf,list(ftz,u)</literal> compute <literal>x(tf)</literal>. + </para> + <para> + If <literal>simula</literal> is the following function: + </para> + <programlisting role=""><![CDATA[ +deff('[y,xd]=simula(x,u)','xd=ftz(tf,x,u); y=x;'); + ]]></programlisting> + <para> + the tangent linear system <literal>sl</literal> can be obtained by: + </para> + <programlisting role=""><![CDATA[ +[A,B,C,D]=lin(simula,z,u) +sl = syslin('c',A,B,C,D,x0) + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +deff('[y,xdot]=sim(x,u)','xdot=[u*sin(x);-u*x^2];y=xdot(1)+xdot(2)') +sl=lin(sim,1,2); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="external">external</link> + </member> + <member> + <link linkend="derivat">derivat</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/linf.xml b/modules/cacsd/help/en_US/linf.xml new file mode 100755 index 000000000..35d52cd57 --- /dev/null +++ b/modules/cacsd/help/en_US/linf.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="linf"> + <refnamediv> + <refname>linf</refname> + <refpurpose>infinity norm</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>linf(g [,eps],[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>g</term> + <listitem> + <para> + is a <literal>syslin</literal> linear system. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>eps</term> + <listitem> + <para>is error tolerance on n.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>threshold for imaginary axis poles.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns the L_infinity norm of <literal>g</literal>. + </para> + <programlisting role=""><![CDATA[ +n=sup [sigmax(g(jw)] + w + ]]></programlisting> + <para> + (sigmax largest singular value). + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="h_norm">h_norm</link> + </member> + <member> + <link linkend="linfn">linfn</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/linfn.xml b/modules/cacsd/help/en_US/linfn.xml new file mode 100755 index 000000000..18599ff85 --- /dev/null +++ b/modules/cacsd/help/en_US/linfn.xml @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - P. Gahinet + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="linfn"> + <refnamediv> + <refname>linfn</refname> + <refpurpose>infinity norm</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[x,freq]=linfn(G,PREC,RELTOL,options);</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + is a <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PREC</term> + <listitem> + <para>desired relative accuracy on the norm</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RELTOL</term> + <listitem> + <para>relative threshold to decide when an eigenvalue can be considered on the imaginary axis.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>options</term> + <listitem> + <para> + available options are <literal>'trace'</literal> or <literal>'cond'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para>is the computed norm.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>freq</term> + <listitem> + <para>vector</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Computes the Linf (or Hinf) norm of <literal>G</literal> + This norm is well-defined as soon as the realization + <literal>G=(A,B,C,D)</literal> has no imaginary eigenvalue which is both + controllable and observable. + </para> + <para> + <literal>freq</literal> is a list of the frequencies for which <literal>||G||</literal> is + attained,i.e., such that <literal>||G (j om)|| = ||G||</literal>. + </para> + <para> + If -1 is in the list, the norm is attained at infinity. + </para> + <para> + If -2 is in the list, <literal>G</literal> is all-pass in some direction so that + <literal>||G (j omega)|| = ||G||</literal> for all frequencies omega. + </para> + <para> + The algorithm follows the paper by G. Robel + (AC-34 pp. 882-884, 1989). + The case <literal>D=0</literal> is not treated separately due to superior + accuracy of the general method when <literal>(A,B,C)</literal> is nearly + non minimal. + </para> + <para> + The <literal>'trace'</literal> option traces each bisection step, i.e., displays + the lower and upper bounds and the current test point. + </para> + <para> + The <literal>'cond'</literal> option estimates a confidence index on the computed + value and issues a warning if computations are + ill-conditioned + </para> + <para> + In the general case (<literal>A</literal> neither stable nor anti-stable), + no upper bound is prespecified. + </para> + <para> + If by contrast <literal>A</literal> is stable or anti stable, lower + and upper bounds are computed using the associated + Lyapunov solutions. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="h_norm">h_norm</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/linmeq.xml b/modules/cacsd/help/en_US/linmeq.xml new file mode 100755 index 000000000..1bfc9190f --- /dev/null +++ b/modules/cacsd/help/en_US/linmeq.xml @@ -0,0 +1,359 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="linmeq"> + <refnamediv> + <refname>linmeq</refname> + <refpurpose>Sylvester and Lyapunov equations solver</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[X(,sep)] = linmeq(task,A,(B,)C,flag,trans(,schur))</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>task</term> + <listitem> + <para>integer option to determine the equation type:</para> + <variablelist> + <varlistentry> + <term>=1</term> + <listitem> + <para> solve the Sylvester equation (1a) or (1b);</para> + </listitem> + </varlistentry> + <varlistentry> + <term>=2</term> + <listitem> + <para> solve the Lyapunov equation (2a) or (2b);</para> + </listitem> + </varlistentry> + <varlistentry> + <term>=3</term> + <listitem> + <para>solve for the Cholesky factor op(X) the Lyapunov equation (3a) or (3b).</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para>(optional) integer vector of length 3 or 2 containing options.</para> + <variablelist> + <varlistentry> + <term>task</term> + <listitem> + <para>= 1 : flag has length 3</para> + <variablelist> + <varlistentry> + <term>flag(1)</term> + <listitem> + <para>= 0 : solve the continuous-time equation (1a); otherwise, solve the discrete-time equation (1b).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 1 : A is (quasi) upper triangular;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 2 : A is upper Hessenberg;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>otherwise</term> + <listitem> + <para>A is in general form.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(3) </term> + <listitem> + <para>= 1 : B is (quasi) upper triangular;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(3) </term> + <listitem> + <para>= 2 : B is upper Hessenberg;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>otherwise, </term> + <listitem> + <para>B is in general form.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>task</term> + <listitem> + <para>= 2 : flag has length 2</para> + <variablelist> + <varlistentry> + <term>flag(1)</term> + <listitem> + <para>if 0 solve continuous-time equation + (2a), otherwise, solve discrete-time equation (2b). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 1 : A is (quasi) upper triangular otherwise, A is in general form.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>task</term> + <listitem> + <para>= 3 : flag has length 2</para> + <variablelist> + <varlistentry> + <term>flag(1) </term> + <listitem> + <para>= 0 : solve continuous-time equation (3a); otherwise, solve discrete-time equation (3b).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 1 : A is (quasi) upper triangular; otherwise, A is in general form.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: flag(1) = 0, flag(2) = 0 (, flag(3) = 0). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>trans</term> + <listitem> + <para>(optional) integer specifying a transposition option.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>0 : solve the equations (1) - (3) with op(M) = M.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : solve the equations (1) - (3) with op(M) = M'.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : solve the equations (1) with op(A) = A'; op(B) = B;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : solve the equations (1) with op(A) = A; op(B) = B'.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: trans = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>schur</term> + <listitem> + <para>(optional) integer specifying whether the Hessenberg-Schur or Schur method should be used. Available for task = 1.</para> + <variablelist> + <varlistentry> + <term>= 1 : Hessenberg-Schur method (one matrix is reduced</term> + <listitem> + <para>to Schur form).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2 : Schur method (two matrices are reduced to Schur</term> + <listitem> + <para>form).</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: schur = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>sep</term> + <listitem> + <para>(optional) estimator of Sep(op(A),-op(A)') for (2.a) or Sepd(A,A') for (2.b).</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + linmeq function for solving Sylvester and Lyapunov equations + using SLICOT routines SB04MD, SB04ND, SB04PD, SB04QD, + SB04RD, SB03MD, and SB03OD. + </para> + <programlisting role=""><![CDATA[ + [X] = linmeq(1,A,B,C,flag,trans,schur) +[X,sep] = linmeq(2,A,C,flag,trans) + [X] = linmeq(2,A,C,flag,trans) + [X] = linmeq(3,A,C,flag,trans) + ]]></programlisting> + <para> + linmeq solves various Sylvester and Lyapunov matrix equations: + </para> + <programlisting role=""><![CDATA[ +op(A)*X + X*op(B) = C, (1a) + +op(A)*X*op(B) + X = C, (1b) + +op(A)'*X + X*op(A) = C, (2a) + +op(A)'*X*op(A) - X = C, (2b) + +op(A)'*(op(X)'*op(X)) + (op(X)'*op(X))*op(A) = + - op(C)'*op(C), (3a) + +op(A)'*(op(X)'*op(X))*op(A) - op(X)'*op(X) = + - op(C)'*op(C), (3b) + ]]></programlisting> + <para> + where op(M) = M, or M'. + </para> + </refsection> + <refsection> + <title>Comments</title> + <variablelist> + <varlistentry> + <term>1.</term> + <listitem> + <para>For equation (1a) or (1b), when schur = 1, the Hessenberg-Schur + method is used, reducing one matrix to Hessenberg form and the other + one to a real Schur form. Otherwise, both matrices are reduced to real + Schur forms. If one or both matrices are already reduced to + Schur/Hessenberg forms, this could be specified by flag(2) and + flag(3). For general matrices, the Hessenberg-Schur method could be + significantly more efficient than the Schur method. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>2.</term> + <listitem> + <para>For equation (2a) or (2b), matrix C is assumed symmetric.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>3.</term> + <listitem> + <para>For equation (3a) or (3b), matrix A must be stable or convergent, respectively.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>4.</term> + <listitem> + <para>For equation (3a) or (3b), the computed matrix X is the Cholesky factor of the solution, i.e., the real solution is op(X)'*op(X), where X is an upper triangular matrix.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Revisions</title> + <para> + V. Sima, Katholieke Univ. Leuven, Belgium, May 1999, May, Sep. 2000. V. Sima, University of Bucharest, Romania, May 2000. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//(1a) +n=40;m=30; +A=rand(n,n);C=rand(n,m);B=rand(m,m); +X = linmeq(1,A,B,C); +norm(A*X+X*B-C,1) +//(1b) +flag=[1,0,0] +X = linmeq(1,A,B,C,flag); +norm(A*X*B+X-C,1) +//(2a) +A=rand(n,n);C=rand(A);C=C+C'; +X = linmeq(2,A,C); +norm(A'*X + X*A -C,1) +//(2b) +X = linmeq(2,A,C,[1 0]); +norm(A'*X*A -X-C,1) +//(3a) +A=rand(n,n); +A=A-(max(real(spec(A)))+1)*eye(); //shift eigenvalues +C=rand(A); +X=linmeq(3,A,C); +norm(A'*X'*X+X'*X*A +C'*C,1) +//(3b) +A = [-0.02, 0.02,-0.10, 0.02,-0.03, 0.12; + 0.02, 0.14, 0.12,-0.10,-0.02,-0.14; + -0.10, 0.12, 0.05, 0.03,-0.04,-0.04; + 0.02,-0.10, 0.03,-0.06, 0.08, 0.11; + -0.03,-0.02,-0.04, 0.08, 0.14,-0.07; + 0.12,-0.14,-0.04, 0.11,-0.07, 0.04] + +C=rand(A); +X=linmeq(3,A,C,[1 0]); +norm(A'*X'*X*A - X'*X +C'*C,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="sylv">sylv</link> + </member> + <member> + <link linkend="lyap">lyap</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lqe.xml b/modules/cacsd/help/en_US/lqe.xml new file mode 100755 index 000000000..adf1d1d2a --- /dev/null +++ b/modules/cacsd/help/en_US/lqe.xml @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lqe"> + <refnamediv> + <refname>lqe</refname> + <refpurpose>linear quadratic estimator (Kalman Filter) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[K,X]=lqe(P21)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P21</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K, X</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>lqe</literal> returns the Kalman gain for the filtering + problem in continuous or discrete time. + </para> + <para> + <literal>P21</literal> is a <literal>syslin</literal> list representing the system <literal>P21=[A,B1,C2,D21] P21=syslin('c',A,B1,C2,D21) or P21=syslin('d',A,B1,C2,D21)</literal> + </para> + <para> + The input to <literal>P21</literal> is a white noise with variance: + </para> + <programlisting role=""><![CDATA[ + [B1 ] [Q S] +BigV=[ ] [ B1' D21'] = [ ] + [D21] [S' R] + ]]></programlisting> + <para> + <literal>X</literal> is the solution of the stabilizing Riccati + equation and <literal>A+K*C2</literal> is stable. + </para> + <para> + In continuous time: + </para> + <programlisting role=""><![CDATA[ +(A-S*inv(R)*C2)*X+X*(A-S*inv(R)*C2)'-X*C2'*inv(R)*C2*X+Q-S*inv(R)*S'=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-(X*C2'+S)*inv(R) + ]]></programlisting> + <para> + In discrete time: + </para> + <programlisting role=""><![CDATA[ +X=A*X*A'-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')*(C2*X*A'+D21*B1')+B1*B1' + ]]></programlisting> + <para> + <literal>K=-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')</literal> + </para> + <para> + <literal>xhat(t+1)= E(x(t+1)| y(0),...,y(t))</literal> (one-step predicted <literal>x</literal>) + satisfies the recursion: + </para> + <programlisting role=""><![CDATA[ +xhat(t+1)=(A+K*C2)*xhat(t) - K*y(t). + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//Assume the equations +//. +//x = Ax + Ge +//y = Cx + v +//with +//E ee' = Q_e, Evv' = R, Eev' = N +// +//This is equivalent to +//. +//x = Ax + B1 w +//y = C2x + D21 w +//with E { [Ge ] [Ge v]' } = E { [B1w ] [B1w D21w]' } = bigR = +// [ v ] [D21w] +// +//[B1*B1' B1*D21'; +// D21*B1' D21*D21'] +//= +//[G*Q_e*G' G*N; +// N*G' R] + +//To find (B1,D21) given (G,Q_e,R,N) form bigR =[G*Q_e*G' G*N;N'*G' R]. +//Then [W,Wt]=fullrf(bigR); B1=W(1:size(G,1),:); +//D21=W(($+1-size(C2,1)):$,:) +// +//P21=syslin('c',A,B1,C2,D21); +//[K,X]=lqe(P21); + +//Example: +nx=5;ne=2;ny=3; +A=-diag(1:nx);G=ones(nx,ne); +C=ones(ny,nx); Q_e(ne,ne)=1; R=diag(1:ny); N=zeros(ne,ny); +bigR =[G*Q_e*G' G*N;N'*G' R]; +[W,Wt]=fullrf(bigR);B1=W(1:size(G,1),:); +D21=W(($+1-size(C,1)):$,:); +C2=C; +P21=syslin('c',A,B1,C2,D21); +[K,X]=lqe(P21); +//Riccati check: +S=G*N;Q=B1*B1'; +(A-S*inv(R)*C2)*X+X*(A-S*inv(R)*C2)'-X*C2'*inv(R)*C2*X+Q-S*inv(R)*S' + +//Stability check: +spec(A+K*C) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="observer">observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lqg.xml b/modules/cacsd/help/en_US/lqg.xml new file mode 100755 index 000000000..7d2bfe56d --- /dev/null +++ b/modules/cacsd/help/en_US/lqg.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lqg"> + <refnamediv> + <refname>lqg</refname> + <refpurpose>LQG compensator</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[K]=lqg(P,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + <literal>syslin</literal> list (augmented plant) in state-space form + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 row vector = (number of measurements, number of inputs) (dimension of the 2,2 part of <literal>P</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + <literal>syslin</literal> list (controller) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>lqg</literal> computes the linear optimal LQG (H2) controller for the + "augmented" plant <literal>P=syslin('c',A,B,C,D)</literal> (continuous time) or + <literal>P=syslin('d',A,B,C,D)</literal> (discrete time). + </para> + <para> + The function <literal>lqg2stan</literal> returns <literal>P</literal> and <literal>r</literal> given the + nominal plant, weighting terms and variances of noises. + </para> + <para> + <literal>K</literal> is given by the following ABCD matrices: + <literal>[A+B*Kc+Kf*C+Kf*D*Kc,-Kf,Kc,0]</literal> where <literal>Kc=lqr(P12)</literal> + is the controller gain and <literal>Kf=lqe(P21)</literal> is the filter gain. + See example in <literal>lqg2stan</literal>. + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + s=poly(0,'s'); + Plant=syslin('c',[1/(s+1)*s/(s-1)^2]); //Nominal Plant + P22=tf2ss(Plant); //...in state-space form + [ny,nu,nx]=size(P22); + rand('seed',0);rand('normal'); + bigQ=rand(nx+nu,nx+nu); + bigQ=bigQ*bigQ'; + bigR=rand(nx+ny,nx+ny); + bigR=bigR*bigR'; //random weighting matrices + [Plqg,r]=lqg2stan(P22,bigQ,bigR); //LQG pb as a standard problem + Klqg=lqg(Plqg,r); //Controller + spec(h_cl(Plqg,r,Klqg)) //Check internal stability + [Slqg,Rlqg,Tlqg]=sensi(P22,Klqg); //Sensitivity functions + frq=logspace(-3,3); //10^-3 to 10^3 + y=svplot(Slqg); //Computes singular values; + gainplot(frq,y) //Plot sing. values + ]]></programlisting> + <scilab:image> + s=poly(0,'s'); + Plant=syslin('c',[1/(s+1)*s/(s-1)^2]); //Nominal Plant + P22=tf2ss(Plant); //...in state-space form + [ny,nu,nx]=size(P22); + rand('seed',0);rand('normal'); + bigQ=rand(nx+nu,nx+nu); + bigQ=bigQ*bigQ'; + bigR=rand(nx+ny,nx+ny); + bigR=bigR*bigR'; //random weighting matrices + [Plqg,r]=lqg2stan(P22,bigQ,bigR); //LQG pb as a standard problem + Klqg=lqg(Plqg,r); //Controller + spec(h_cl(Plqg,r,Klqg)) //Check internal stability + [Slqg,Rlqg,Tlqg]=sensi(P22,Klqg); //Sensitivity functions + frq=logspace(-3,3); //10^-3 to 10^3 + y=svplot(Slqg); //Computes singular values; + gainplot(frq,y) //Plot sing. values + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqg2stan">lqg2stan</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + <member> + <link linkend="obscont">obscont</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lqg2stan.xml b/modules/cacsd/help/en_US/lqg2stan.xml new file mode 100755 index 000000000..96c07c242 --- /dev/null +++ b/modules/cacsd/help/en_US/lqg2stan.xml @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lqg2stan"> + <refnamediv> + <refname>lqg2stan</refname> + <refpurpose>LQG to standard problem</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[P,r]=lqg2stan(P22,bigQ,bigR)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P22</term> + <listitem> + <para> + <literal>syslin</literal> list (nominal plant) in state-space form + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bigQ</term> + <listitem> + <para> + <literal>[Q,S;S',N]</literal> (symmetric) weighting matrix + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bigR</term> + <listitem> + <para> + <literal>[R,T;T',V]</literal> (symmetric) covariance matrix + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + <literal>1</literal>x<literal>2</literal> row vector = (number of measurements, number of inputs) (dimension of the 2,2 part of <literal>P</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + <literal>syslin</literal> list (augmented plant) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>lqg2stan</literal> returns the augmented plant for linear LQG (H2) controller + design. + </para> + <para> + <literal>P22=syslin(dom,A,B2,C2)</literal> is the nominal plant; it can be in continuous + time (<literal>dom='c'</literal>) or discrete time (<literal>dom='d'</literal>). + </para> + <programlisting role=""><![CDATA[ +. +x = Ax + w1 + B2u +y = C2x + w2 + ]]></programlisting> + <para> + for continuous time plant. + </para> + <programlisting role=""><![CDATA[ +x[n+1]= Ax[n] + w1 + B2u + y = C2x + w2 + ]]></programlisting> + <para> + for discrete time plant. + </para> + <para> + The (instantaneous) cost function is <literal>[x' u'] bigQ [x;u]</literal>. + </para> + <para> + The covariance of <literal>[w1;w2]</literal> is <literal>E[w1;w2] [w1',w2'] = bigR</literal> + </para> + <para> + If <literal>[B1;D21]</literal> is a factor of <literal>bigQ</literal>, <literal>[C1,D12]</literal> + is a factor of <literal>bigR</literal> and <literal>[A,B2,C2,D22]</literal> is + a realization of P22, then <literal>P</literal> is a realization of + <literal>[A,[B1,B2],[C1,-C2],[0,D12;D21,D22]</literal>. + The (negative) feedback computed by <literal>lqg</literal> stabilizes <literal>P22</literal>, + i.e. the poles of <literal>cl=P22/.K</literal> are stable. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +ny=2;nu=3;nx=4; +P22=ssrand(ny,nu,nx); +bigQ=rand(nx+nu,nx+nu);bigQ=bigQ*bigQ'; +bigR=rand(nx+ny,nx+ny);bigR=bigR*bigR'; +[P,r]=lqg2stan(P22,bigQ,bigR);K=lqg(P,r); //K=LQG-controller +spec(h_cl(P,r,K)) //Closed loop should be stable +//Same as Cl=P22/.K; spec(Cl('A')) +s=poly(0,'s') +lqg2stan(1/(s+2),eye(2,2),eye(2,2)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="obscont">obscont</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="fstabst">fstabst</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lqg_ltr.xml b/modules/cacsd/help/en_US/lqg_ltr.xml new file mode 100755 index 000000000..a0289daee --- /dev/null +++ b/modules/cacsd/help/en_US/lqg_ltr.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lqg_ltr"> + <refnamediv> + <refname>lqg_ltr</refname> + <refpurpose>LQG with loop transform recovery</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[kf,kc]=lqg_ltr(sl,mu,ro)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + linear system in state-space form (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>mu,ro</term> + <listitem> + <para> real positive numbers chosen ``small enough''</para> + </listitem> + </varlistentry> + <varlistentry> + <term>kf,kc</term> + <listitem> + <para>controller and observer Kalman gains.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns the Kalman gains for: + </para> + <programlisting role=""><![CDATA[ + x = a*x + b*u + l*w1 +(sl) + y = c*x + mu*I*w2 + + z = h*x + ]]></programlisting> + <para> + Cost function: + </para> + <programlisting role=""><![CDATA[ + /+oo + | +J = E(| [z(t)'*z(t) + ro^2*u(t)'*u(t)]dt) + lqg | + / 0 + ]]></programlisting> + <para> + The lqg/ltr approach looks for <literal>L,mu,H,ro</literal> such that: + J(lqg) = J(freq) where + </para> + <programlisting role=""><![CDATA[ + /+oo * * * +J = | tr[S W W S ] + tr[T T]dw + freq | + /0 + ]]></programlisting> + <para> + and + </para> + <programlisting role=""><![CDATA[ + S = (I + G*K)^(-1) + T = G*K*(I+G*K)^(-1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/lqr.xml b/modules/cacsd/help/en_US/lqr.xml new file mode 100755 index 000000000..9b28b9e85 --- /dev/null +++ b/modules/cacsd/help/en_US/lqr.xml @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="lqr"> + <refnamediv> + <refname>lqr</refname> + <refpurpose>LQ compensator (full state) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[K,X]=lqr(P12)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P12</term> + <listitem> + <para> + <literal>syslin</literal> list (state-space linear system) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K,X</term> + <listitem> + <para>two real matrices</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>lqr</literal> computes the linear optimal LQ full-state gain + for the plant <literal>P12=[A,B2,C1,D12]</literal> in continuous or + discrete time. + </para> + <para> + <literal>P12</literal> is a <literal>syslin</literal> list (e.g. <literal>P12=syslin('c',A,B2,C1,D12)</literal>). + </para> + <para> + The cost function is l2-norm of <literal>z'*z</literal> with <literal>z=C1 x + D12 u</literal> + i.e. <literal>[x,u]' * BigQ * [x;u]</literal> where + </para> + <programlisting role=""><![CDATA[ + [C1' ] [Q S] +BigQ= [ ] * [C1 D12] = [ ] + [D12'] [S' R] + ]]></programlisting> + <para> + The gain <literal>K</literal> is such that <literal>A + B2*K</literal> is stable. + </para> + <para> + <literal>X</literal> is the stabilizing solution of the Riccati equation. + </para> + <para> + For a continuous plant: + </para> + <programlisting role=""><![CDATA[ +(A-B2*inv(R)*S')'*X+X*(A-B2*inv(R)*S')-X*B2*inv(R)*B2'*X+Q-S*inv(R)*S'=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-inv(R)*(B2'*X+S) + ]]></programlisting> + <para> + For a discrete plant: + </para> + <programlisting role=""><![CDATA[ +X=A'*X*A-(A'*X*B2+C1'*D12)*pinv(B2'*X*B2+D12'*D12)*(B2'*X*A+D12'*C1)+C1'*C1; + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-pinv(B2'*X*B2+D12'*D12)*(B2'*X*A+D12'*C1) + ]]></programlisting> + <para> + An equivalent form for <literal>X</literal> is + </para> + <programlisting role=""><![CDATA[ +X=Abar'*inv(inv(X)+B2*inv(r)*B2')*Abar+Qbar + ]]></programlisting> + <para> + with <literal>Abar=A-B2*inv(R)*S'</literal> and <literal>Qbar=Q-S*inv(R)*S'</literal> + </para> + <para> + The 3-blocks matrix pencils associated with these Riccati equations are: + </para> + <programlisting role=""><![CDATA[ + discrete continuous + |I 0 0| | A 0 B2| |I 0 0| | A 0 B2| +z|0 A' 0| - |-Q I -S| s|0 I 0| - |-Q -A' -S| + |0 B2' 0| | S' 0 R| |0 0 0| | S' -B2' R| + ]]></programlisting> + <para> + <warning> + Caution: It is assumed that matrix R is non singular. In particular, + the plant must be tall (number of outputs >= number of inputs). + </warning> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=rand(2,2);B=rand(2,1); //two states, one input +Q=diag([2,5]);R=2; //Usual notations x'Qx + u'Ru +Big=sysdiag(Q,R); //Now we calculate C1 and D12 +[w,wp]=fullrf(Big);C1=wp(:,1:2);D12=wp(:,3:$); //[C1,D12]'*[C1,D12]=Big +P=syslin('c',A,B,C1,D12); //The plant (continuous-time) +[K,X]=lqr(P) +spec(A+B*K) //check stability +norm(A'*X+X*A-X*B*inv(R)*B'*X+Q,1) //Riccati check +P=syslin('d',A,B,C1,D12); // Discrete time plant +[K,X]=lqr(P) +spec(A+B*K) //check stability +norm(A'*X*A-(A'*X*B)*pinv(B'*X*B+R)*(B'*X*A)+Q-X,1) //Riccati check + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="gcare">gcare</link> + </member> + <member> + <link linkend="leqr">leqr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ltitr.xml b/modules/cacsd/help/en_US/ltitr.xml new file mode 100755 index 000000000..a29ef7f14 --- /dev/null +++ b/modules/cacsd/help/en_US/ltitr.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ltitr"> + <refnamediv> + <refname>ltitr</refname> + <refpurpose>discrete time response (state space) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[X]=ltitr(A,B,U,[x0]) + [xf,X]=ltitr(A,B,U,[x0]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B</term> + <listitem> + <para>real matrices of appropriate dimensions</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U,X</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0,xf</term> + <listitem> + <para> + real vectors (default value=0 for <literal>x0</literal>)) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + calculates the time response of the discrete time system + </para> + <programlisting role=""><![CDATA[ +x[t+1] = Ax[t] + Bu[t]. + ]]></programlisting> + <para> + The inputs <literal>ui</literal>'s are the columns of the <literal>U</literal> matrix + </para> + <programlisting role=""><![CDATA[ +U=[u0,u1,...,un]; + ]]></programlisting> + <para> + <literal>x0</literal> is the vector of initial state (default value : 0) ; + </para> + <para> + <literal>X</literal> is the matrix of outputs (same number of columns as <literal>U</literal>). + </para> + <programlisting role=""><![CDATA[ +X=[x0,x1,x2,...,xn] + ]]></programlisting> + <para> + <literal>xf</literal> is the vector of final state <literal>xf=X[n+1]</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=eye(2,2);B=[1;1]; +x0=[-1;-2]; +u=[1,2,3,4,5]; +x=ltitr(A,B,u,x0) +x1=A*x0+B*u(1) +x2=A*x1+B*u(2) +x3=A*x2+B*u(3) //.... + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="rtitr">rtitr</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/macglov.xml b/modules/cacsd/help/en_US/macglov.xml new file mode 100755 index 000000000..9b85f024c --- /dev/null +++ b/modules/cacsd/help/en_US/macglov.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="macglov"> + <refnamediv> + <refname>macglov</refname> + <refpurpose>Continuous time dynamical systems Mac Farlane Glover problem</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[P,r]=macglov(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para>a continuous time linear dynamical system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para>a continuous time linear dynamical system, the "augmented" plant</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 vector, dimension of <literal>P22</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[P,r]=macglov(Sl)</literal> returns the standard plant + <literal>P</literal> for the Glover-McFarlane problem. + </para> + <para> + For this problem <literal>ro_optimal = 1-hankel_norm([N,M]</literal>) + with <literal>[N,M]=lcf(sl)</literal> (Normalized coprime factorization) i.e. + </para> + <para> + <literal>gama_optimal = 1/sqrt(ro_optimal)</literal> + </para> + <para> + <literal>P</literal> is returned in the same + representation (transfer function or state-space) than + <literal>Sl</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + MAC-FARLANE PROBLEM for G=1/s^3; + <programlisting role="example"><![CDATA[ + G=syslin("c",1/%s^3); + [P,r]=macglov(G); + + //K Optimal controller , ro = gamaopt^-2; + [K,ro]=h_inf(P,r,0,1,30); + + ]]></programlisting> + </refsection> + <refsection> + <title>Authors</title> + <para>F. Delebecque INRIA</para> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for continuous time linear dynamical system. + This modification has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/minreal.xml b/modules/cacsd/help/en_US/minreal.xml new file mode 100755 index 000000000..f311ad855 --- /dev/null +++ b/modules/cacsd/help/en_US/minreal.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="minreal"> + <refnamediv> + <refname>minreal</refname> + <refpurpose>minimal balanced realization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>slb=minreal(sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl,slb</term> + <listitem> + <para> + <literal>syslin</literal> lists + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>real (threshold)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[ae,be,ce]=minreal(a,b,c,domain [,tol]) </literal> + returns the balanced realization of linear + system <literal>sl</literal> (<literal>syslin</literal> list). + </para> + <para> + <literal>sl</literal> is assumed stable. + </para> + <para> + <literal>tol</literal> threshold used in <literal>equil1</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=[-eye(2,2),rand(2,2);zeros(2,2),-2*eye(2,2)]; +B=[rand(2,2);zeros(2,2)];C=rand(2,4); +sl=syslin('c',A,B,C); +slb=minreal(sl); +ss2tf(sl) +ss2tf(slb) +ctr_gram(sl) +clean(ctr_gram(slb)) +clean(obs_gram(slb)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="minss">minss</link> + </member> + <member> + <link linkend="balreal">balreal</link> + </member> + <member> + <link linkend="arhnk">arhnk</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/minss.xml b/modules/cacsd/help/en_US/minss.xml new file mode 100755 index 000000000..58e897391 --- /dev/null +++ b/modules/cacsd/help/en_US/minss.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="minss"> + <refnamediv> + <refname>minss</refname> + <refpurpose>minimal realization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[slc]=minss( sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl,slc</term> + <listitem> + <para> + <literal>syslin</literal> lists (linear systems in state-space form) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + real (threshold for rank determination (see <literal>contr</literal>)) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>minss</literal> returns in <literal>slc</literal> a minimal realization of <literal>sl</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +sl=syslin('c',[1 0;0 2],[1;0],[2 1]); +ssprint(sl); +ssprint(minss(sl)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="minreal">minreal</link> + </member> + <member> + <link linkend="arhnk">arhnk</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="obsvss">obsvss</link> + </member> + <member> + <link linkend="balreal">balreal</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/mucomp.xml b/modules/cacsd/help/en_US/mucomp.xml new file mode 100755 index 000000000..266eaa6ef --- /dev/null +++ b/modules/cacsd/help/en_US/mucomp.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="mucomp"> + <refnamediv> + <refname>mucomp</refname> + <refpurpose>mu (structured singular value) calculation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[BOUND, D, G] = mucomp(Z, K, T)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Z</term> + <listitem> + <para>the complex n-by-n matrix for which the + structured singular value is to be computed + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> the vector of length m containing the block + dimensions of the structured uncertainty + <latex>\Delta</latex>. The uncertainty + <latex>\Delta</latex> is supposed to be a block + diagonal matrix. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>the vector of length m indicating the type + of each uncertainty block. T(I) = 1 if the + corresponding block is real T(I) = 2 if the + corresponding block is complex. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>BOUND</term> + <listitem> + <para>the upper bound on the structured singular value.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D, G</term> + <listitem> + <para>vectors of length n containing the diagonal + entries of the diagonal matrices D and G, + respectively, such that the matrix <literal> + Z'*diag(D)^2*Z + sqrt(-1)*(diag(G)*Z-Z'*diag(G)) - + bound^2*diag(D)^2 + </literal> + is negative + semidefinite. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + This function computes an upper bound on the structured + singular value for a given square complex matrix and given + block structure of the uncertainty. + </para> + <para> + The structured singular value <latex>\mu(Z)</latex> is + defined as the inverse of the norm of the smallest + uncertainty <latex>\Delta</latex> that makes + <latex>det(I-\Delta Z)=0</latex>. Here <latex>\Delta</latex> + is supposed to be a block diagonal matrix. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +K=[1,1,2,1,1]; +T=[1,1,2,2,2]; +Z=[-1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2; + 4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i; + 5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16; + -1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2; + 4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i; + 5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16]; + +[BOUND, D, G] = mucomp(Z, K, T) +spec(Z'*(diag(D)^2)*Z + %i*(diag(G)*Z-Z'*diag(G)) - BOUND^2*diag(D)^2) + ]]></programlisting> + </refsection> + <refsection> + <title>Used functions</title> + <para> + This function is based on the Slicot routine AB13MD. + </para> + </refsection> + <refsection> + <title>References</title> + <para> + Fan, M.K.H., Tits, A.L., and Doyle, J.C. + Robustness in the presence of mixed parametric uncertainty + and unmodeled dynamics. + IEEE Trans. Automatic Control, vol. AC-36, 1991, pp. 25-38. + Slicot routine AB13MD. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/narsimul.xml b/modules/cacsd/help/en_US/narsimul.xml new file mode 100755 index 000000000..e77816fe0 --- /dev/null +++ b/modules/cacsd/help/en_US/narsimul.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="narsimul"> + <refnamediv> + <refname>narsimul</refname> + <refpurpose>armax simulation (using rtitr) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[z]=narsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=narsimul(ar,u,[up,yp,ep]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Description</title> + <para> + ARMAX simulation. Same as <link linkend="arsimul">arsimul</link> but the method is different + the simulation is made with <link linkend="rtitr">rtitr</link> + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +a=[1,-2.851,2.717,-0.865].*.eye(2,2) +b=[0,1,1,1].*.[1;1]; +d=[1,0.7,0.2].*.eye(2,2); +sig=eye(2,2); +ar=armac(a,b,d,2,1,sig) +u=rand(1,10,'normal'); +y=narsimul(ar,u) + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/nehari.xml b/modules/cacsd/help/en_US/nehari.xml new file mode 100755 index 000000000..e0c16c507 --- /dev/null +++ b/modules/cacsd/help/en_US/nehari.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="nehari"> + <refnamediv> + <refname>nehari</refname> + <refpurpose>Nehari approximant of continuous time dynamical systems</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[x]=nehari(R [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>R</term> + <listitem> + <para>a continuous time linear dynamical system in state-space representation.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para>a continuous time linear dynamical system in state-space representation.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>optional threshold, default value is 1e-6.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[x]=nehari(R [,tol])returns</literal> the Nehari approximant of <literal>R</literal>. + </para> + <para> + <literal>R</literal> = linear system in state-space representation (<literal>syslin</literal> list). + </para> + <para> + <literal>R</literal> is strictly proper and <literal>- R~</literal> is stable + (i.e. <literal>R</literal> is anti stable). + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +|| R - X ||oo = min || R - Y ||oo + Y in Hoo + ]]></programlisting> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> is now checked for + continuous time linear dynamical system. This modification + has been introduced by this <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">commit</ulink> + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/noisegen.xml b/modules/cacsd/help/en_US/noisegen.xml new file mode 100755 index 000000000..baf0082dc --- /dev/null +++ b/modules/cacsd/help/en_US/noisegen.xml @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="noisegen"> + <refnamediv> + <refname>noisegen</refname> + <refpurpose>noise generation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>b = noisegen(pas, Tmax, sig)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>pas</term> + <listitem> + <para>real scalar, the time increment</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Tmax</term> + <listitem> + <para>real scalar, the final time of the interval of noise generation</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>real scalar, the standard deviation of the noise</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>noisegen()</literal> generates a Scilab function <literal>b = Noise(t)</literal> + where <literal>Noise(t)</literal> is a piecewise constant function + (constant on <literal>[k*pas, (k+1)*pas]</literal>). The value on each constant + interval are random values from i.i.d Gaussian variables of + standard deviation <literal>sig</literal>. The function is constant for <literal>t <= 0</literal> and + <literal>t >= Tmax</literal>. + </para> + <para> + <note> + Note: Random number generator functions such as <link linkend="rand">rand</link> and + <link linkend="grand">grand</link> are another alternative to generate noises + from a wide variety of probability distribution (see example 2 below). + </note> + </para> + </refsection> + <refsection> + <title>Examples</title> + <para> + Example #1: noisegen() + </para> + <programlisting role="example"><![CDATA[ +noisegen(0.5, 30, 1.0); +x = -5:0.01:35; +y = feval(x, Noise); +plot(x, y); + ]]></programlisting> + <scilab:image> + noisegen(0.5, 30, 1.0); + x = -5:0.01:35; + y = feval(x, Noise); + plot(x, y); + </scilab:image> + <para> + Example #2: rand() + </para> + <programlisting role="example"><![CDATA[ +// Plot a zero mean gaussian white noise with the variance 1. +// To use a different variance, multiply rand() by the square root of the variance. +t = 0:.5:30; +sig = 1; // Standard deviation of the white gaussian noise +noise = sig*rand(t, "normal"); +plot2d2(t, noise); + ]]></programlisting> + <scilab:image> + t = 0:.5:30; + sig = 1; + noise = sig*rand(t, "normal"); + plot2d2(t, noise) + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="rand">rand</link> + </member> + <member> + <link linkend="grand">grand</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/nyquistfrequencybounds.xml b/modules/cacsd/help/en_US/nyquistfrequencybounds.xml new file mode 100755 index 000000000..f83eba805 --- /dev/null +++ b/modules/cacsd/help/en_US/nyquistfrequencybounds.xml @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Add some comments about XML file +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en_US" xml:id="nyquistfrequencybounds"> + <refnamediv> + <refname>nyquistfrequencybounds</refname> + <refpurpose>Computes the frequencies for which the nyquist locus enters and leaves a given rectangle. </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[fmin,fmax] = nyquistfrequencybounds(H,bounds)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parameters</title> + <variablelist> + <varlistentry> + <term>H</term> + <listitem> + <para> + A SISO linear dynamical system. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bounds</term> + <listitem> + <para> + A 2 by 2 array: [Rmin Imin;Rmax Imax] that defines a complex-plane rectangle. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin</term> + <listitem> + <para> + a real: the lowest frequency (Hz) such that the nyquist + locus enters the given rectangle or 0 if the 0 Hz point + lies in the rectangle or [] if the locus is completely + outside the rectangle. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmax</term> + <listitem> + <para> + a real: the highest frequency (Hz) such that the nyquist + locus leaves the given rectangle or %inf if the %inf (hz) + point is in the rectangle or [] if the locus is completely + outside the rectangle. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title><para> + Given a C plane rectangle, + <literal>nyquistfrequencybounds</literal> Computes the lowest + frequency for which the nyquist locus enters the rectangle and + the highest frequency for which the nyquist locus leaves the + rectangle. + </para> + This function is useful for high definition zoom of a nyquist locus. + <para> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + s=%s + num=2+9*s-9*s^2-11*s^3+0.01*s^4; + den=43*s^2+65*s^3+34*s^4+8*s^5+s^6+0.1*s^7 + H=syslin('c',num,den)-1 + + clf;set(gcf(),'axes_size',[805,549]) + subplot(221) + nyquist(H) + + + subplot(222) + bounds=[-2 -2;2 2] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + + + subplot(223) + bounds=[-1.3 -0.3;0 0.3] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + + subplot(224) + bounds=[-1.1 -0.1;-0.8 0.1] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,1d8) + title("bounds:"+sci2exp(bounds,0)); + + ]]></programlisting> + <para> + <scilab:image> + s=%s + num=2+9*s-9*s^2-11*s^3+0.01*s^4; + den=43*s^2+65*s^3+34*s^4+8*s^5+s^6+0.1*s^7 + H=syslin('c',num,den)-1 + + clf;set(gcf(),'axes_size',[805,549]) + subplot(221) + nyquist(H) + + + subplot(222) + bounds=[-2 -2;2 2] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + + + subplot(223) + bounds=[-1.3 -0.3;0 0.3] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + + subplot(224) + bounds=[-1.1 -0.1;-0.8 0.1] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,1d8) + title("bounds:"+sci2exp(bounds,0)); + + </scilab:image> + </para> + </refsection> + <refsection> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/obs_gram.xml b/modules/cacsd/help/en_US/obs_gram.xml new file mode 100755 index 000000000..b0d21d68b --- /dev/null +++ b/modules/cacsd/help/en_US/obs_gram.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="obs_gram"> + <refnamediv> + <refname>obs_gram</refname> + <refpurpose>observability gramian</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>Go=obs_gram(A,C [,dom]) + Go=obs_gram(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,C</term> + <listitem> + <para>real matrices (of appropriate dimensions)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + string (<literal>"d'</literal> or <literal>"c"</literal> (default value)) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Observability gramian of the pair <literal>(A,C)</literal> or linear + system <literal>sl</literal> (<literal>syslin</literal> list). + <literal>dom</literal> is the domain which can be + </para> + <variablelist> + <varlistentry> + <term>"c"</term> + <listitem> + <para> continuous system (default)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"d"</term> + <listitem> + <para> discrete system</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=-diag(1:3);C=rand(2,3); +Go=obs_gram(A,C,'c'); // <=> w=syslin('c',A,[],C); Go=obs_gram(w); +norm(Go*A+A'*Go+C'*C,1) +norm(lyap(A,-C'*C,'c')-Go,1) +A=A/4; Go=obs_gram(A,C,'d'); //discrete time case +norm(lyap(A,-C'*C,'d')-Go,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="obsvss">obsvss</link> + </member> + <member> + <link linkend="obsv_mat">obsv_mat</link> + </member> + <member> + <link linkend="lyap">lyap</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/obscont.xml b/modules/cacsd/help/en_US/obscont.xml new file mode 100755 index 000000000..b0cc473af --- /dev/null +++ b/modules/cacsd/help/en_US/obscont.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="obscont"> + <refnamediv> + <refname>obscont</refname> + <refpurpose>observer based controller</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[K]=obscont(P,Kc,Kf) + [J,r]=obscont(P,Kc,Kf) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + <literal>syslin</literal> list (nominal plant) in state-space form, continuous or discrete time + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Kc</term> + <listitem> + <para>real matrix, (full state) controller gain</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Kf</term> + <listitem> + <para>real matrix, filter gain</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + <literal>syslin</literal> list (controller) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para> + <literal>syslin</literal> list (extended controller) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>1x2 row vector</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>obscont</literal> returns the observer-based controller associated with a + nominal plant <literal>P</literal> with matrices <literal>[A,B,C,D]</literal> (<literal>syslin</literal> list). + </para> + <para> + The full-state control gain is <literal>Kc</literal> and the filter gain is <literal>Kf</literal>. + These gains can be computed, for example, by pole placement. + </para> + <para> + <literal>A+B*Kc</literal> and <literal>A+Kf*C</literal> are (usually) assumed stable. + </para> + <para> + <literal>K</literal> is a state-space representation of the + compensator <literal> K: y->u</literal> in: + </para> + <para> + <literal> xdot = A x + B u, y=C x + D u, zdot= (A + Kf C)z -Kf y +B u, u=Kc z</literal> + </para> + <para> + <literal>K</literal> is a linear system (<literal>syslin</literal> list) with matrices given by: + <literal>K=[A+B*Kc+Kf*C+Kf*D*Kc,Kf,-Kc]</literal>. + </para> + <para> + The closed loop feedback system <literal> Cl: v ->y</literal> with + (negative) feedback <literal>K</literal> (i.e. <literal>y = P u, u = v - K y</literal>, or + </para> + <programlisting role=""><![CDATA[ +xdot = A x + B u, + y = C x + D u, +zdot = (A + Kf C) z - Kf y + B u, + u = v -F z + ]]></programlisting> + <para> + ) is given by <literal>Cl = P/.(-K)</literal> + </para> + <para> + The poles of <literal>Cl</literal> (<literal> spec(cl('A')) </literal>) are located at the eigenvalues of <literal>A+B*Kc</literal> + and <literal>A+Kf*C</literal>. + </para> + <para> + Invoked with two output arguments <literal>obscont</literal> returns a + (square) linear system <literal>K</literal> which parametrizes all the stabilizing + feedbacks via a LFT. + </para> + <para> + Let <literal>Q</literal> an arbitrary stable linear system of dimension <literal>r(2)</literal>x<literal>r(1)</literal> + i.e. number of inputs x number of outputs in <literal>P</literal>. + Then any stabilizing controller <literal>K</literal> for <literal>P</literal> can be expressed as + <literal>K=lft(J,r,Q)</literal>. The controller which corresponds to <literal>Q=0</literal> is + <literal>K=J(1:nu,1:ny)</literal> (this <literal>K</literal> is returned by <literal>K=obscont(P,Kc,Kf)</literal>). + <literal>r</literal> is <literal>size(P)</literal> i.e the vector [number of outputs, number of inputs]; + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +ny=2;nu=3;nx=4;P=ssrand(ny,nu,nx);[A,B,C,D]=abcd(P); +Kc=-ppol(A,B,[-1,-1,-1,-1]); //Controller gain +Kf=-ppol(A',C',[-2,-2,-2,-2]);Kf=Kf'; //Observer gain +cl=P/.(-obscont(P,Kc,Kf));spec(cl('A')) //closed loop system +[J,r]=obscont(P,Kc,Kf); +Q=ssrand(nu,ny,3);Q('A')=Q('A')-(max(real(spec(Q('A'))))+0.5)*eye(Q('A')) +//Q is a stable parameter +K=lft(J,r,Q); +spec(h_cl(P,K)) // closed-loop A matrix (should be stable); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ppol">ppol</link> + </member> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + <member> + <link linkend="observer">observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/observer.xml b/modules/cacsd/help/en_US/observer.xml new file mode 100755 index 000000000..ac8865f24 --- /dev/null +++ b/modules/cacsd/help/en_US/observer.xml @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="observer"> + <refnamediv> + <refname>observer</refname> + <refpurpose>observer design</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>Obs=observer(Sys,J) + [Obs,U,m]=observer(Sys [,flag,alfa]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + <literal>syslin</literal> list (linear system) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para>nx x ny constant matrix (output injection matrix)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + character strings (<literal>'pp'</literal> or <literal>'st'</literal> (default)) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa</term> + <listitem> + <para>location of closed-loop poles (optional parameter, default=-1)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Obs</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list), the observer + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + orthogonal matrix (see <literal>dt_ility</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>m</term> + <listitem> + <para> + integer (dimension of unstable unobservable (<literal>st</literal>) or unobservable (<literal>pp</literal>) subspace) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>Obs=observer(Sys,J)</literal> returns the observer + <literal>Obs=syslin(td,A+J*C,[B+J*D,-J],eye(A))</literal> obtained from <literal>Sys</literal> + by a <literal>J</literal> output injection. (td is the time domain of <literal>Sys</literal>). + More generally, <literal>observer</literal> returns in <literal>Obs</literal> an observer for + the observable part of linear system + <literal>Sys</literal>: <literal>dotx=A x + Bu, y=Cx + Du</literal> represented by a <literal>syslin</literal> list. + <literal>Sys</literal> has <literal>nx</literal> state variables, <literal>nu</literal> inputs and <literal>ny</literal> outputs. + <literal>Obs</literal> is a linear system with matrices <literal>[Ao,Bo,Identity]</literal>, + where <literal>Ao</literal> is <literal>no x no</literal>, <literal>Bo</literal> is <literal>no x (nu+ny)</literal>, <literal> Co</literal> is + <literal>no x no</literal> and <literal>no=nx-m</literal>. + </para> + <para> + Input to <literal>Obs</literal> is <literal>[u,y]</literal> and output of <literal>Obs</literal> is: + </para> + <para> + xhat=estimate of x modulo unobservable subsp. (case <literal>flag='pp'</literal>) + or + </para> + <para> + xhat=estimate of x modulo unstable unobservable subsp. (case <literal>flag='st'</literal>) + </para> + <para> + case <literal>flag='st'</literal>: + z=H*x can be estimated with stable observer iff <literal>H*U(:,1:m)=0</literal> + and assignable poles of the observer are set to <literal>alfa(1),alfa(2),...</literal> + </para> + <para> + case <literal>flag='pp'</literal>: + z=H*x can be estimated with given error spectrum iff <literal>H*U(:,1:m)=0</literal> + all poles of the observer are assigned and set to <literal>alfa(1),alfa(2),...</literal> + </para> + <para> + If H satifies the constraint: <literal>H*U(:,1:m)=0</literal> (ker(H) contains unobs-subsp. + of Sys) one has H*U=[0,H2] and the observer for + z=H*x is H2*Obs with H2=H*U(:,m+1:nx) i.e. Co, the C-matrix of the + observer for H*x, is Co=H2. + </para> + <para> + In the particular case where the pair <literal>(A,C)</literal> of <literal>Sys</literal> is + observable, one has <literal>m=0</literal> and the linear system <literal>U*Obs</literal> (resp. + <literal>H*U*Obs</literal>) is an observer for <literal>x</literal> (resp. <literal>Hx</literal>). + The error spectrum is <literal>alpha(1),alpha(2),...,alpha(nx)</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +nx=5;nu=1;ny=1;un=3;us=2;Sys=ssrand(ny,nu,nx,list('dt',us,us,un)); +//nx=5 states, nu=1 input, ny=1 output, +//un=3 unobservable states, us=2 of them unstable. +[Obs,U,m]=observer(Sys); //Stable observer (default) +W=U';H=W(m+1:nx,:);[A,B,C,D]=abcd(Sys); //H*U=[0,eye(no,no)]; +Sys2=ss2tf(syslin('c',A,B,H)) //Transfer u-->z +Idu=eye(nu,nu);Sys3=ss2tf(H*U(:,m+1:$)*Obs*[Idu;Sys]) +//Transfer u-->[u;y=Sys*u]-->Obs-->xhat-->HUxhat=zhat i.e. u-->output of Obs +//this transfer must equal Sys2, the u-->z transfer (H2=eye). + +//Assume a Kalman model +//dotx = A x + B u + G w +// y = C x + D u + H w + v +//with Eww' = QN, Evv' = RN, Ewv' = NN +//To build a Kalman observer: +//1-Form BigR = [G*QN*G' G*QN*H'+G*NN; +// H*QN*G'+NN*G' H*QN*H'+RN]; +//the covariance matrix of the noise vector [Gw;Hw+v] +//2-Build the plant P21 : dotx = A x + B1 e ; y = C2 x + D21 e +//with e a unit white noise. +// [W,Wt]=fullrf(BigR); +//B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +//C2=C; +//P21=syslin('c',A,B1,C2,D21); +//3-Compute the Kalman gain +//L = lqe(P21); +//4- Build an observer for the plant [A,B,C,D]; +//Plant = syslin('c',A,B,C,D); +//Obs = observer(Plant,L); +//Test example: +A=-diag(1:4); +B=ones(4,1); +C=B'; D= 0; G=2*B; H=-3; QN=2; +RN=5; NN=0; +BigR = [G*QN*G' G*QN*H'+G*NN; + H*QN*G'+NN*G' H*QN*H'+RN]; +[W,Wt]=fullrf(BigR); +B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +C2=C; +P21=syslin('c',A,B1,C2,D21); +L = lqe(P21); +Plant = syslin('c',A,B,C,D); +Obs = observer(Plant,L); +spec(Obs.A) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + <member> + <link linkend="unobs">unobs</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/obsv_mat.xml b/modules/cacsd/help/en_US/obsv_mat.xml new file mode 100755 index 000000000..b4586e292 --- /dev/null +++ b/modules/cacsd/help/en_US/obsv_mat.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="obsv_mat"> + <refnamediv> + <refname>obsv_mat</refname> + <refpurpose>observability matrix</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[O]=obsv_mat(A,C) + [O]=obsv_mat(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,C,O</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>obsv_mat</literal> returns the observability matrix: + </para> + <programlisting role=""><![CDATA[ +O=[C; CA; CA^2;...; CA^(n-1) ] + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="obsvss">obsvss</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/obsvss.xml b/modules/cacsd/help/en_US/obsvss.xml new file mode 100755 index 000000000..f7d915955 --- /dev/null +++ b/modules/cacsd/help/en_US/obsvss.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="obsvss"> + <refnamediv> + <refname>obsvss</refname> + <refpurpose>observable part</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Ao,Bo,Co]=obsvss(A,B,C [,tol]) + [slo]=obsvss(sl [,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B,C,Ao,Bo,Co</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl,slo</term> + <listitem> + <para> + <literal>syslin</literal> lists + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + real (threshold) (default value <literal>100*%eps</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>slo=(Ao,Bo,Co)</literal> is the observable part of linear system <literal>sl=(A,B,C)</literal> (<literal>syslin</literal> list) + </para> + <para> + <literal>tol</literal> threshold to test controllability (see <literal>contr</literal>); + default value = <literal>100*%eps</literal> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="obsv_mat">obsv_mat</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/p_margin.xml b/modules/cacsd/help/en_US/p_margin.xml new file mode 100755 index 000000000..8740180fd --- /dev/null +++ b/modules/cacsd/help/en_US/p_margin.xml @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="p_margin"> + <refnamediv> + <refname>p_margin</refname> + <refpurpose>phase margin and associated crossover frequency</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + [phm,fr] = p_margin(h) + phm=p_margin(h) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + a SISO linear system (see :<link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>phm</term> + <listitem> + <para>a number, the phase margin in degree if it exists or an empty matrix.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>fr</term> + <listitem> + <para>a number, the corresponding frequency (in Hz) or an empty matrix.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>Given a SISO linear system in continuous or discrete time, + <literal>p_margin</literal> returns <literal>phm</literal>, the + phase margin in degree of <literal>h</literal> and + <literal>fr</literal>, the achieved corresponding frequency in + Hz. + </para> + <para>The phase margin is the values of the phase at frequency + points where the nyquist plot of <literal>h</literal> crosses the + unit circle. In other words the phase margin is the difference + between the phase of the frequency response of + <literal>h</literal> and -180° when the gain of + <literal>h</literal> is 1. + </para> + <para>The algorithm uses polynomial root finder to solve the equations:</para> + <variablelist> + <varlistentry> + <term>h(s)*h(-s)=1</term> + <listitem> + <para> for the continuous time case.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h(z)*h(1/z)=1</term> + <listitem> + <para> for the discrete time case.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//continuous case +h=syslin('c',-1+%s,3+2*%s+%s^2) +[p,fr]=p_margin(h) +[p,fr]=p_margin(h+0.7) +show_margins(h+0.7,'nyquist') + +//discrete case +h = syslin(0.1,0.04798*%z+0.0464,%z^2-1.81*%z+0.9048);//ok +[p ,f]=p_margin(h) +show_margins(h,'nyquist') + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="show_margins">show_margins</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/parrot.xml b/modules/cacsd/help/en_US/parrot.xml new file mode 100755 index 000000000..7714570d7 --- /dev/null +++ b/modules/cacsd/help/en_US/parrot.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="parrot"> + <refnamediv> + <refname>parrot</refname> + <refpurpose>Parrot's problem</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>K=parrot(D,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>D,K</term> + <listitem> + <para>matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1X2 vector (dimension of the 2,2 part of <literal>D</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given a matrix <literal>D</literal> partionned as <literal>[D11 D12; D21 D22]</literal> + where <literal>size(D22)=r=[r1,r2]</literal> + compute a matrix <literal>K</literal> such that + largest singular value of <literal>[D11 D12; D21 D22+K]</literal> + is minimal (Parrot's problem) + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="h_inf_st">h_inf_st</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/pfss.xml b/modules/cacsd/help/en_US/pfss.xml new file mode 100755 index 000000000..893773593 --- /dev/null +++ b/modules/cacsd/help/en_US/pfss.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * Revised July 2011, S. Steer, INRIA + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="pfss"> + <refnamediv> + <refname>pfss</refname> + <refpurpose>partial fraction decomposition</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>elts=pfss(Sl) + elts=pfss(Sl,rmax) + elts=pfss(Sl,cord) + elts=pfss(Sl,rmax,cord) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + A linear dynamical system in state-space or transfer + function representation (see <link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rmax</term> + <listitem> + <para> + A real number controlling the conditioning of block + diagonalization (see <link linkend="bdiag">bdiag</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>cord</term> + <listitem> + <para> + A character string with possible values <literal>'c'</literal> + or <literal>'d'</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Partial fraction decomposition of the linear system <literal>Sl</literal>. + </para> + <para> + <literal>elts</literal> is the list of linear systems which add up to <literal>Sl</literal> + i.e. <literal>elts=list(S1,S2,S3,...,Sn)</literal> with: + </para> + <para> + <literal>Sl = S1 + S2 +... +Sn</literal>. + </para> + <para> + Each <literal>Si</literal> contains some poles of <literal/> + Saccording to the + block-diagonalization of the <literal>A</literal> matrix of <literal>S</literal>. + </para> + <para> + For non proper systems the polynomial part of <literal>Sl</literal> is put + in the last entry of <literal>elts</literal>. + </para> + <para> + If <literal>Sl</literal> is given in transfer form, it is first + converted into state-space by <link linkend="tf2ss">tf2ss</link> + and each subsystem <literal>Si</literal> is then converted in + transfer form by <link linkend="ss2tf">ss2tf</link>. + </para> + <para> + The A matrix is of the state-space is put into block diagonal form + by function <link linkend="bdiag">bdiag</link>. The optional parameter + <literal>rmax</literal> is sent to <literal>bdiag</literal>, + <literal>rmax</literal> should be set to a large number to enforce + block-diagonalization. + </para> + <para> + If the optional flag <literal>cord='c'</literal> is given the elements in <literal>elts</literal> + are sorted according to the real part (resp. magnitude if <literal>cord='d'</literal>) + of the eigenvalues of A matrices. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + W=ssrand(1,1,6); + elts=pfss(W); + W1=0;for k=1:size(elts), W1=W1+ss2tf(elts(k));end + clean(ss2tf(W)-W1) + ]]></programlisting> + <programlisting role="example"><![CDATA[ + num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 + h2=syslin('c',num/den); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="pbig">pbig</link> + </member> + <member> + <link linkend="bdiag">bdiag</link> + </member> + <member> + <link linkend="coffg">coffg</link> + </member> + <member> + <link linkend="dtsi">dtsi</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/phasemag.xml b/modules/cacsd/help/en_US/phasemag.xml new file mode 100755 index 000000000..b2b6784dc --- /dev/null +++ b/modules/cacsd/help/en_US/phasemag.xml @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="phasemag"> + <refnamediv> + <refname>phasemag</refname> + <refpurpose>phase and magnitude + computation + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[phi,db]=phasemag(z [,mod])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>z</term> + <listitem> + <para>matrix or row vector of complex numbers.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>mod</term> + <listitem> + <para>character string</para> + <variablelist> + <varlistentry> + <term>mod='c'</term> + <listitem> + <para>"continuous" representation between -infinity and +360 + degrees (default) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>mod='m'</term> + <listitem> + <para>representation between -360 and 0 degrees</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>phi</term> + <listitem> + <para> + phases (in degree) of <literal>z</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db</term> + <listitem> + <para>magnitude (in Db)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>phasemag</literal> computes the phases and magnitudes of the entries + of a complex matrix. For <literal>mod='c'</literal><literal>phasemag</literal> + computes <literal>phi(:,i+1)</literal> to minimize the distance with + <literal>phi(:,i)</literal>, i.e. it tries to obtain a "continuous + representation" of the phase. + </para> + <para>To obtain the phase between -%pi and %pi use + <literal>phi=atan(imag(z),real(z))</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +h=syslin('c',1/((s+5)*(s+10)*(100+6*s+s*s)*(s+.3))); +[frq,rf]=repfreq(h,0.1,20,0.005); +scf(); +plot2d(frq',phasemag(rf,'c')'); +scf(); +plot2d(frq',phasemag(rf,'m')'); + ]]></programlisting> + <scilab:image> + s=poly(0,'s'); + h=syslin('c',1/((s+5)*(s+10)*(100+6*s+s*s)*(s+.3))); + [frq,rf]=repfreq(h,0.1,20,0.005); + plot2d(frq',phasemag(rf,'c')'); + </scilab:image> + <scilab:image> + s=poly(0,'s'); + h=syslin('c',1/((s+5)*(s+10)*(100+6*s+s*s)*(s+.3))); + [frq,rf]=repfreq(h,0.1,20,0.005); + plot2d(frq',phasemag(rf,'m')'); + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="atan">atan</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/CHAPTER b/modules/cacsd/help/en_US/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/en_US/plot_display/black.xml b/modules/cacsd/help/en_US/plot_display/black.xml new file mode 100755 index 000000000..a0c769faf --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/black.xml @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="black" xml:lang="en"> + <refnamediv> + <refname>black</refname> + <refpurpose>Black-Nichols diagram of a linear dynamical system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + black( sl,[fmin,fmax] [,step] [,comments] ) + black( sl,frq [,comments] ) + black(frq,db,phi [,comments]) + black(frq,repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para>a continuous or discrete time SIMO linear dynamical + system ( see: <link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>real scalars (frequency bounds)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>row vector or matrix (frequencies)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>row vectors or matrices (modulus, phase)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>row vectors or matrices (complex frequency response)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>string</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Black's diagram (Nichols'chart) for a linear system ( see: <link linkend="syslin">syslin</link>). <literal>sl</literal> can be a continuous-time or + discrete-time SIMO system. In case of + multi-output the outputs are plotted with different colors. + </para> + <para>The frequencies are given by the bounds + <literal>fmin</literal>,<literal>fmax</literal> (in Hz) or by a row-vector + (or a matrix for multi-output) <literal>frq</literal>. + </para> + <para> + <literal>step</literal> is the ( logarithmic ) discretization step. + (see <link linkend="calfrq">calfrq</link> for the choice of default value). + </para> + <para> + <literal>comments</literal> is a vector of character strings + (captions). + </para> + <para> + <literal>db,phi</literal> are the matrices of modulus (in Db) and + phases (in degrees). (One row for each response). + </para> + <para> + <literal>repf</literal> matrix of complex numbers. One row for each + response. + </para> + <para>To plot the grid of iso-gain and iso-phase of + <literal>y/(1+y)</literal> use <link linkend="nicholschart">nicolschart()</link>. + </para> + <para> + Default values for <literal>fmin</literal> and + <literal>fmax</literal> are <literal>1.d-3</literal>, + <literal>1.d+3</literal> if <literal>sl</literal> is continuous-time or + <literal>1.d-3</literal>, <literal>0.5</literal>/sl.dt (nyquist frequency) + if <literal>sl</literal> is discrete-time. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="exemple"><![CDATA[ + //Black diagram + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + clf();black(sl,0.01,10); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + black(sl,0.01,10); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //Black diagram with Nichols chart as a grid + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/bode.xml b/modules/cacsd/help/en_US/plot_display/bode.xml new file mode 100755 index 000000000..0ed18acab --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/bode.xml @@ -0,0 +1,233 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="bode" xml:lang="en"> + <refnamediv> + <refname>bode</refname> + <refpurpose>Bode plot</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + bode(sl, [fmin, fmax] [,step] [,comments] ) + bode(sl, [fmin, fmax] [,step] [,comments] [,"rad"] ) + bode(sl, frq [,comments] ) + bode(sl, frq [,comments] [,"rad"] ) + bode(frq, db, phi [,comments] ) + bode(frq, repf [,comments] [,"rad"] ) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list (SISO or SIMO linear system) + in continuous or discrete time. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>real (frequency bounds (in Hz))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (logarithmic step.)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>vector of character strings (captions).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>row vector or matrix (frequencies (in Hz) ) (one row for each + SISO subsystem). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db</term> + <listitem> + <para>row vector or matrix ( magnitudes (in Db)). (one row for each + SISO subsystem). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>phi</term> + <listitem> + <para>row vector or matrix ( phases (in degree)) (one row for each + SISO subsystem). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>row vector or matrix of complex numbers (complex frequency + response). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>"rad"</term> + <listitem> + <para>converts the frequency from Hz into rad/s (multiplies by 2π), + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>Bode plot, i.e magnitude and phase of the frequency response of + <literal>sl</literal>. + </para> + <para> + <literal>sl</literal> can be a continuous-time or discrete-time SIMO + system (see <literal>syslin</literal>). In case of multi-output the + outputs are plotted with different symbols. + </para> + <para> + The frequencies are given by the bounds <literal>fmin,fmax</literal> + (in Hz) or by a row-vector (or a matrix for multi-output) + <literal>frq</literal>. + </para> + <para> + <literal>step</literal> is the ( logarithmic ) discretization step. + (see <literal>calfrq</literal> for the choice of default value). + </para> + <para> + <literal>comments</literal> is a vector of character strings + (captions). + </para> + <para> + <literal>db,phi</literal> are the matrices of modulus (in Db) and + phases (in degrees). (One row for each response). + </para> + <para> + <literal>repf</literal> matrix of complex numbers. One row for each + response. + </para> + <para> + Default values for <literal>fmin</literal> and + <literal>fmax</literal> are <literal>1.d-3</literal>, + <literal>1.d+3</literal> if <literal>sl</literal> is continuous-time or + <literal>1.d-3</literal>, <literal>0.5</literal>/sl.dt (nyquist frequency) + if <literal>sl</literal> is discrete-time. Automatic discretization of + frequencies is made by <literal>calfrq</literal>. + </para> + <para> + The + <link linkend="datatips">datatips</link> + tool may be used + to display data along the phase and modulus curves. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s = poly(0, 's'); +h = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + +clf(); bode(h, 0.01, 100); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, 's'); + h = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = poly(0, 's'); +h1 = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +num = 22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; +den = 22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4; +h2 = syslin('c', num/den); + +clf(); bode([h1; h2], 0.01, 100, ['h1'; 'h2']); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, 's'); + h1 = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + num = 22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den = 22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4; + h2 = syslin('c', num/den); + clf(); bode([h1; h2], 0.01, 100, ['h1'; 'h2']); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = %s; +G = (10*(s+3))/(s*(s+2)*(s^2+s+2)); // A rational matrix +sys = syslin('c', G); // A continuous-time linear system in transfer matrix representation. +f_min = .0001; f_max = 16; // Frequencies in Hz + +clf(); bode(sys, f_min, f_max, "rad"); // Converts Hz to rad/s + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = %s; + G = (10*(s+3))/(s*(s+2)*(s^2+s+2)); // A rational matrix + sys = syslin('c', G); // A continuous-time linear system in transfer matrix representation. + f_min = .0001; f_max = 16; // Frequencies in Hz + clf(); bode(sys, f_min, f_max, "rad"); // Converts Hz to rad/s + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="bode_asymp">bode_asymp</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/bode_asymp.xml b/modules/cacsd/help/en_US/plot_display/bode_asymp.xml new file mode 100755 index 000000000..f18fcfd92 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/bode_asymp.xml @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Scilab Enterprises - Paul Bignier + * Copyright (C) 09/2013 - A. Khorshidi + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="bode_asymp" xml:lang="en"> + <refnamediv> + <refname>bode_asymp</refname> + <refpurpose>Bode plot asymptote</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + bode_asymp(sl, [wmin, wmax]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list (SISO or SIMO linear system) + in continuous time (type state-space or rational). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wmin, wmax</term> + <listitem> + <para>Real scalars: lower and upper frequency bounds (in rad/s).</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>Plots the asymptote of the system + <literal>sl</literal>. + </para> + <para> + The optional arguments <literal>wmin</literal> and <literal>wmax</literal> (in rad/s) can be used to plot asymptote in a specific range of frequency. + </para> + <para> + <note> + Note that the function <code>bode()</code> or <code>gainplot()</code> must be called before <code>bode_asymp()</code>. + </note> + </para> + <para> + <warning> + Warning: this function is not applicable when the first input argument is a real matrix. + </warning> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s = poly(0, "s"); +h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + +clf(); bode(h, 0.01, 100); bode_asymp(h); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, "s"); + h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); bode_asymp(h); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = poly(0, "s"); +h1 = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + +clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, "s"); + h1 = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = %s; +G = (s+10)/(s*(s+100)); // A rational matrix +sys = syslin("c", G); // A continuous-time linear system in transfer matrix representation. +f_min = .0001; f_max = 1600; // Frequencies in Hz + +clf(); bode(sys, f_min, f_max, "rad"); // The optional argument "rad" converts Hz to rad/s +bode_asymp(sys, 10, 1000); // Plots asymptotes in the given range of frequency (in rad/s). + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = %s; + G = (s+10)/(s*(s+100)); + sys = syslin("c", G); + f_min = .0001; f_max = 1600; + clf(); bode(sys, f_min, f_max, "rad"); + bode_asymp(sys, 10, 1000); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = poly(0, "s"); +h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +h = tf2ss(h); + +clf(); +gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); // Frequencies in Hertz +bode_asymp(h) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0,"s"); + h = syslin("c",(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h = tf2ss(h); + clf(); + gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); + bode_asymp(h) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + <member> + <link linkend="show_margins">show_margins</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.5.0</revnumber> + <revremark>bode_asymp() function introduced.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/evans.xml b/modules/cacsd/help/en_US/plot_display/evans.xml new file mode 100755 index 000000000..24e72caee --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/evans.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="evans"> + <refnamediv> + <refname>evans</refname> + <refpurpose>Evans root locus</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>evans(H [,kmax])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>H</term> + <listitem> + <para>SISO linear system given by a transfer or a state + space representation (see:<link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>kmax</term> + <listitem> + <para>real (maximum gain desired for the plot )</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Gives the Evans root locus for a SISO linear system in state-space or + transfer form H(s) (<link linkend="syslin">syslin</link>). This is + the locus of the roots of + <literal>1+k*H(s)=1+k*N(s)/D(s)</literal>, in the complex + plane. For a selected sample of gains <literal>k <= + kmax + </literal> + ,the imaginary part of the roots of + <literal>D(s)+k*N(s)</literal> is plotted vs the real part. + </para> + <para>To obtain the gain at a given point of the locus you can + activate the <link linkend="datatips">datatips</link> manager and + click the desired point on the root locus. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) // Gains that give pure imaginary closed loop poles + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + + [Kr,s]=krac2(H) + ]]></programlisting> + <para> + <scilab:image localized="true"> + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + + [Kr,s]=krac2(H) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="sgrid">sgrid</link> + </member> + <member> + <link linkend="zgrid">zgrid</link> + </member> + <member> + <link linkend="kpure">kpure</link> + </member> + <member> + <link linkend="krac2">krac2</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/gainplot.xml b/modules/cacsd/help/en_US/plot_display/gainplot.xml new file mode 100755 index 000000000..a43ca09f4 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/gainplot.xml @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) INRIA +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="gainplot"> + <refnamediv> + <refname>gainplot</refname> + <refpurpose>magnitude plot</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>gainplot(sl,fmin,fmax [,step] [,comments] ) + gainplot(frq,db,phi [,comments]) + gainplot(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + list (<literal>syslin</literal> SIMO linear system). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>real scalars (frequency interval).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (discretization step (logarithmic scale))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>string</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>matrix (row by row frequencies)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>matrices (magnitudes and phases corresponding to + <literal>frq</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>complex matrix. One row for each frequency response.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Same as <link linkend="bode">bode</link> but plots only the magnitude. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();gainplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Gainplot') + + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();gainplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Gainplot') + + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/hallchart.xml b/modules/cacsd/help/en_US/plot_display/hallchart.xml new file mode 100755 index 000000000..fc80d9388 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/hallchart.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hallchart"> + <refnamediv> + <refname>hallchart</refname> + <refpurpose>Draws the Hall chart</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>hallchart([ modules [,args [,colors]]])</synopsis> + + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>modules</term> + <listitem> + <para>real vector ( modules (in dB))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>args</term> + <listitem> + <para>real vector (phases (in degree))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>colors</term> + <listitem> + <para>a scalar or a vector, the color indices for isogain and iso phase curves</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> plot the Hall'chart: iso-module and iso-argument contours of + <literal>y/(1+y)</literal> in the <literal>real(y)</literal>, <literal>imag(y)</literal> plane + </para> + <para> + <literal>hallchart</literal> may be used in cunjunction with + <link linkend="nyquist">nyquist</link>. + </para> + <para> + The default values for <literal>modules</literal> and + <literal>args</literal> are respectively : + </para> + <para> + <literal>[-20 -10 -6 -4 -2 2 4 6 10 20]</literal> + </para> + <para> + <literal>[-90 -60 -45 -30 -15 15 30 45 60 90]</literal> + </para> + <para> + This function superseeds the <link linkend="m_circle">m_circle</link> function + </para> + </refsection> + <refsection> + <title>Graphics entities organization</title> + <para> + The <literal>hallchart</literal> function create a single + compound object which is generaly the last child of the current + axes. This compound object contains a set of compound objects, one + for each grid curve. The first ones are the iso module curves and + the last one the iso-argument contours. Each of these compound + objects contains a Polyline object (the curve) and a Text object + (the label). The following piece of code can be used to change the color of the ith iso module curve: + </para> + <programlisting role="customizing"><![CDATA[ + clf();hallchart() + ax=gca();//handle on current axes + c=ax.children($).children;// the handles on the chart grid curves + i=4; //the index of the -4dB curve + ci=c(i); //the handle on the -4dB curve + ci.children(1).foreground=color('red'); //draw it in red + + j=3; // the index of the -45° curve + cj=c(10+j); //the handle on the -45° curve + cj.children(1).thickness=3;//draw it thicker + ]]></programlisting> + <scilab:image localized="true"> + clf();hallchart() + ax=gca(); + c=ax.children($).children; + i=4; + ci=c(i); + ci.children(1).foreground=color('red'); + j=3; + cj=c(10+j); + cj.children(1).thickness=3; + </scilab:image> + + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + //Hall chart + clf();hallchart() + ]]></programlisting> + <para> + <scilab:image localized="true"> + hallchart() + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //Hall chart as a grid for nyquist + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/m_circle.xml b/modules/cacsd/help/en_US/plot_display/m_circle.xml new file mode 100755 index 000000000..931bd5e6b --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/m_circle.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge Steer + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="m_circle"> + <refnamediv> + <refname>m_circle</refname> + <refpurpose>plots the complex plane iso-gain contours of y/(1+y) (obsolete) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>m_circle() + m_circle(gain) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>gain</term> + <listitem> + <para>vector of gains (in DB). The default value is</para> + <variablelist> + <varlistentry> + <term>gain</term> + <listitem> + <para>=[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12]</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>m_circle</literal> draws the iso-gain contours + given by then <literal>gain</literal> argument in the complex + plane (Re,Im). + </para> + <para> + The default value for <literal>gain</literal> is: + </para> + <para> + <literal>[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12]</literal> + </para> + <para> + <literal>m_circle</literal> is used with <literal>nyquist</literal>. + </para> + <para> + This function is superseded by the <link linkend="hallchart">hallchart</link> function. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') +m_circle(); +]]></programlisting> + <scilab:image localized="true"> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') + m_circle(); + </scilab:image> + + <programlisting role="example"><![CDATA[ +clf(); +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) +nyquist([h1;h],0.01,100,['h1';'h']) +m_circle([-8 -6 -4]); +]]></programlisting> + <scilab:image localized="true"> + clf(); + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist([h1;h],0.01,100,['h1';'h']) + m_circle([-8 -6 -4]); + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="black">black</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/nicholschart.xml b/modules/cacsd/help/en_US/plot_display/nicholschart.xml new file mode 100755 index 000000000..2e5555ba5 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/nicholschart.xml @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="nicholschart"> + <refnamediv> + <refname>nicholschart</refname> + <refpurpose>Nichols chart</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>nicholschart([modules] [,args] [,colors])</synopsis> + <synopsis/> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>modules</term> + <listitem> + <para>real vector ( modules (in dB))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>args</term> + <listitem> + <para>real vector (phases (in degree))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>colorss</term> + <listitem> + <para>a scalar or a vector, the color indices for isogain and iso phase curves</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> plot the Nichols'chart: iso-module and iso-argument contours of + <literal>y/(1+y)</literal> in <literal>y</literal> phase/gain plane + </para> + <para> + <literal>nicholschart</literal> may be used in cunjunction with + <link linkend="black">black</link>. + </para> + <para> + The default values for <literal>modules</literal> and + <literal>args</literal> are respectively : + </para> + <para> + <literal>[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12]</literal> + </para> + <para> + <literal>[-(1:10) , -(20:10:160)]</literal> + </para> + </refsection> + <refsection> + <title>Remark</title> + <para> + Traditionally, the type of a calling sequence for <code>nicholschart</code> is: nicholschart(modules=gains, args=phases, colors=colors), + but the following calling sequence is also allowed: nicholschart(gains, phases, colors). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + //Nichols chart + clf() + nicholschart(modules=[-6 -3 -1 1 3 6], args=[-1 -20 20 40 80 160 180]); + ]]></programlisting> + <para> + <scilab:image localized="true"> + nicholschart(modules=[-6 -3 -1 1 3 6], args=[-1 -20 20 40 80 160 180]); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //Black diagram with Nichols chart as a grid + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="hallchart">hallchart</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.5.0</revnumber> + <revremark> Calling sequence allowed: nicholschart(gains, phases, colors).</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/nyquist.xml b/modules/cacsd/help/en_US/plot_display/nyquist.xml new file mode 100755 index 000000000..79ce7622e --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/nyquist.xml @@ -0,0 +1,256 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) INRIA +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="nyquist" xml:lang="en"> + <refnamediv> + <refname>nyquist</refname> + <refpurpose>nyquist plot</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + nyquist( sl,[fmin,fmax] [,step] [,comments] [,symmetry]) + nyquist( sl, frq [,comments] [,symmetry]) + nyquist(frq,db,phi [,comments] [,symmetry]) + nyquist(frq, repf [,comments] [,symmetry]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + a continuous or discrete time SIMO linear dynamical system ( see: <link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>real scalars (frequency lower and upper bounds (in Hz)).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (logarithmic discretization step), if not given + an adaptative discretization is used. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>string vector (captions).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>symmetry</term> + <listitem> + <para>a boolean, default value is %t.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>vector or matrix of frequencies (in Hz) (one row for each + output of <literal>sl</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>real matrices of modulus (in dB) and phases (in degree) (one + row for each output of <literal>sl</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>matrix of complex numbers. Frequency response (one row for + each output of <literal>sl</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>Nyquist plot i.e Imaginary part versus Real part of the + frequency response of <literal>sl</literal>. If the + <literal>symmetry</literal> argument is true or omitted the + Nyquist plot displays the symetric graph (positive and negative + frequencies). + </para> + <para> + For continuous time systems <literal>sl(2*%i*%pi*w)</literal> is + plotted. For discrete time system or discretized systems + <literal>sl(exp(2*%i*%pi*w*fd)</literal> is used ( <literal>fd=1</literal> + for discrete time systems and <literal>fd=sl('dt')</literal> for + discretized systems ) + </para> + <para> + <literal>sl</literal> can be a continuous-time or discrete-time SIMO + system (see <literal>syslin</literal>). In case of multi-output the + outputs are plotted with different symbols. + </para> + <para> + The frequencies are given by the bounds <literal>fmin,fmax</literal> + (in Hz) or by a row-vector (or a matrix for multi-output) + <literal>frq</literal>. + </para> + <para> + <literal>step</literal> is the ( logarithmic ) discretization step. + (see <literal>calfrq</literal> for the choice of default value). + </para> + <para> + <literal>comments</literal> is a vector of character strings + (captions). + </para> + <para> + <literal>db,phi</literal> are the matrices of modulus (in Db) and + phases (in degrees). (One row for each response). + </para> + <para> + <literal>repf</literal> is a matrix of complex numbers. One row for + each response. + </para> + <para> + Default values for <literal>fmin</literal> and + <literal>fmax</literal> are <literal>1.d-3</literal>, + <literal>1.d+3</literal> if <literal>sl</literal> is continuous-time or + <literal>1.d-3</literal>, <literal>0.5</literal>/sl.dt (nyquist frequency) + if <literal>sl</literal> is discrete-time. + </para> + <para>Automatic discretization of frequencies is made by + <link linkend="calfrq">calfrq</link>. + </para> + <para>To obtain the value of the frequency at a selected point(s) you can + activate the <link linkend="datatips">datatips</link> manager and + click the desired point on the nyquist curve(s). + </para> + </refsection> + <refsection> + <title>Graphics entities organization</title> + <para> + The <literal>nyquist</literal> function creates a compound + object for each SISO system. The following piece of code allows + to get the handle on the compound object of the ith system: + </para> + <programlisting role="getcompound"><![CDATA[ + ax=gca();//handle on current axes + hi=ax.children($+i-1)// the handle on the compound object of the ith system + ]]></programlisting> + <para> + This compound object has two children: a compound object that + defines the small arrows (a compound of small polylines) and the curve labels (a compound of texts) and a polyline + which is the curve itself. The following piece of code shows how + one can customize a particular nyquist curve display. + </para> + <programlisting role="customize"><![CDATA[ + hi.children(1).visible='off'; //hides the arrows and labels + hi.children(2).thickness=2; //make the curve thicker + + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + //Nyquist curve + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf(); nyquist(h1) + // add a datatip + ax=gca(); + h_h=ax.children($).children(2);//handle on Nyquist curve of h + tip=datatipCreate(h_h,[1.331,0.684]); + datatipSetOrientation(tip,"upper left"); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist(h1) + ax=gca(); + h_h=ax.children($).children(2); + tip=datatipCreate(h_h,[1.331,0.684]); + datatipSetOrientation(tip,"upper left"); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //Hall chart as a grid for nyquist + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_upper_left"; + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_upper_left"; + + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquistfrequencybounds">nyquistfrequencybounds</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/phaseplot.xml b/modules/cacsd/help/en_US/plot_display/phaseplot.xml new file mode 100755 index 000000000..409f57d9b --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/phaseplot.xml @@ -0,0 +1,219 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2011 - INRIA - Serge Steer <serge.steer@inria.fr> +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="phaseplot"> + <refnamediv> + <refname>phaseplot</refname> + <refpurpose>frequency phase plot</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + phaseplot(sl) + phaseplot(sl,fmin,fmax [,step] [,comments] ) + phaseplot(frq,db,phi [,comments]) + phaseplot(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + a single input multiple output (SIMO) linear dynamical system (see <link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin</term> + <listitem> + <para>real scalar: the minimum frequency (in Hz) to be represented.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmax</term> + <listitem> + <para>real scalar: the maximum frequency (in Hz) to be represented.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real scalar: the frequency discretization step (logarithmic scale)). If it is not specified the alorithm uses adaptative frequency steps.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>a character string vector: the legend label to be associated with each curve. Optional value is the empty array.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>a row vector or an n x m array: The frequency discretization in Hz.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>db</term> + <listitem> + <para>an n x m array: the magnitudes corresponding to + <literal>frq</literal>. This argument is not used, it only + appears to make <literal>phaseplot</literal> have the same + calling sequence as <literal>gainplot</literal> and + <literal>bode</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>phi</term> + <listitem> + <para>an n x m array: the phases in degree corresponding to + <literal>frq</literal>. The <literal>phaseplot</literal> + function plots the curves <literal>phi(i,:)</literal> versus + <literal>frq(i,:)</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>an n x m complex array. The + <literal>phaseplot</literal> function plots the curves + <literal>phase(repf(i,:))</literal> versus + <literal>frq(i,:)</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>This function draws the phase of the frequency response of a + system. The system can be given under different + representations: + </para> + <itemizedlist> + <listitem> + <para> + <literal>phaseplot(sl,...)</literal> case + </para> + <para> + <literal>sl</literal> can be a continuous-time or discrete-time SIMO + system (see <link linkend="syslin">syslin</link>). In case of multi-output the + outputs are plotted with different symbols. + </para> + <para>In this case the frequencies can be given by:</para> + <itemizedlist mark="point"> + <listitem> + <para>the lower and upper bounds in Hz + <literal>fmin</literal>, <literal>fmax</literal> and an + optional frequency step <literal>step</literal>. The + default values for <literal>fmin</literal> and + <literal>fmax</literal>are <literal>1.e-3</literal>, + <literal>1.e3</literal> if <literal>sl</literal> is + continuous-time or <literal>1.e-3</literal>, + <literal>0.5/sl.dt</literal> (nyquist frequency) if + <literal>sl</literal> is discrete-time. If the + <literal>step</literal> argument is omitted the function + use an adaptative frequency step (see <link linkend="calfrq">calfrq</link>). + </para> + </listitem> + <listitem> + <para> + a row vector or a 2D array <literal>frq</literal> which + gives the frequency values in Hz. 2D array can be used for + multi-output systems if one wants to have different frequency + discretization for each input/output couple. + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + <literal>phaseplot(frq,...)</literal> case + </para> + <para> + This case allows to draw frequency phase plots for previously + computed frequency responses. The frequency response can be + given either by it's complex representation + <literal>repf</literal> or by it's magnitude phase + representation <literal>db</literal>, + <literal>phi</literal>. + </para> + <para> + <literal>frq</literal> and <literal>repf</literal> must + be row vectors or n x m arrays (each row represent an + input/output couple). + </para> + </listitem> + </itemizedlist> + <para> + The <link linkend="datatips">datatips</link> tool may be used to display data along the phase curves. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();phaseplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Phaseplot') + + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();phaseplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Phaseplot') + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>Function phaseplot introduced.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/sgrid.xml b/modules/cacsd/help/en_US/plot_display/sgrid.xml new file mode 100755 index 000000000..73170bc79 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/sgrid.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sgrid"> + <refnamediv> + <refname>sgrid</refname> + <refpurpose>s-plane grid lines.</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + sgrid() + sgrid(zeta,wn [,colors]) + sgrid(['new',] zeta,wn [,colors]) + sgrid(zeta,wn [,'new'] [,colors]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>zeta</term> + <listitem> + <para> + array of damping factors. Only values in <literal>[0 + 1] + </literal> + are taken into account. The default value is + <literal>[0 0.16 0.34 0.5 0.64 0.76 0.86 0.94 0.985 + 1] + </literal> + . + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wn</term> + <listitem> + <para>array of natural frequencies in Hz. only positive values are + taken into account. If not given it is computed by the + program to fit with the boundaries of the plot. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>colors</term> + <listitem> + <para>a scalar or an 2 element array with integer values (color index).</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Plots selected curves of constant damping ratio (selection given + by <literal>zeta</literal>) and constant natural frequency + (selection given by <literal>wn</literal>). + </para> + <para> + The <literal>colors</literal> argument may be used to assign a + color for constant damping ratio curves + (<literal>colors(2)</literal>) and for constant natural + frequency curves (<literal>colors(1)</literal>). + </para> + <para> + The <literal>sgrid</literal> function is often used to draw a grid + for evens root locus of continuous time linear systems. In such a + case the <literal>sgrid</literal> function should be called after + the call to <link linkend="evans">evans</link>. For discrete time linear + systems one should use <link linkend="zgrid">zgrid</link> function instead. + </para> + <para> + The optional argument <literal>'new'</literal> can be used to + erase the graphic window before plotting the grid. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + //sgrid + clf();sgrid(0:0.2:1,[0.2 0.6 1 1.7 2]) + ]]></programlisting> + <para> + <scilab:image> + sgrid(0:0.2:1,[0.2 0.6 1 1.7 2]) + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + ]]></programlisting> + <para> + <scilab:image localized="true"> + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="zgrid">zgrid</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/show_margins.xml b/modules/cacsd/help/en_US/plot_display/show_margins.xml new file mode 100755 index 000000000..898bed506 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/show_margins.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="show_margins"> + <refnamediv> + <refname>show_margins</refname> + <refpurpose>display gain and phase margin and associated crossover frequencies</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + show_margins(h) + show_margins(h,'bode') + show_margins(h,'nyquist') + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + a SISO linear system (see :<link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>Given a SISO linear system in continuous or discrete time, + <literal>show_margins</literal> display gain and phase margin and + associated crossover frequencies on a bode (the defaut) or nyquist + representation of the frequency response of the system. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//continuous case +h=syslin('c',0.02909+0.11827*%s+0.12823*%s^2+0.35659*%s^3+0.256*%s^4+0.1*%s^5,.. + 0.0409+0.1827*%s+1.28225*%s^2+3.1909*%s^3+2.56*%s^4+%s^5); +show_margins(h) +show_margins(h,'nyquist') + ]]></programlisting> + <scilab:image localized="true"> + h=syslin('c',0.02909+0.11827*%s+0.12823*%s^2+0.35659*%s^3+0.256*%s^4+0.1*%s^5,.. + 0.0409+0.1827*%s+1.28225*%s^2+3.1909*%s^3+2.56*%s^4+%s^5); + show_margins(h) + show_margins(h,'nyquist') + </scilab:image> + <programlisting role="example"><![CDATA[ +//discrete case +h = syslin(0.1,0.01547+0.01599*%z ,%z^2-1.81*%z+0.9048) +show_margins(h) +show_margins(h,'nyquist') + ]]></programlisting> + <scilab:image localized="true"> + h = syslin(0.1,0.01547+0.01599*%z ,%z^2-1.81*%z+0.9048) + show_margins(h) + show_margins(h,'nyquist') + </scilab:image> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/svplot.xml b/modules/cacsd/help/en_US/plot_display/svplot.xml new file mode 100755 index 000000000..e7241ece1 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/svplot.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="svplot"> + <refnamediv> + <refname>svplot</refname> + <refpurpose>singular-value sigma-plot</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[SVM]=svplot(sl,[w])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list (continuous, discrete or sampled system) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>w</term> + <listitem> + <para>real vector (optional parameter)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + computes for the system <literal>sl=(A,B,C,D)</literal> + the singular values of its transfer function matrix: + </para> + <programlisting role="no-scilab-exec"><![CDATA[ + G(jw) = C(jw*I-A)B^-1+D +or + G(exp(jw)) = C(exp(jw)*I-A)B^-1+D +or + G(exp(jwT)) = C(exp(jw*T)*I-A)B^-1+D + ]]></programlisting> + <para> + evaluated over the frequency range specified by <literal>w</literal>. (T is the sampling + period, <literal>T=sl('dt')</literal> for sampled systems). + </para> + <para> + <literal>sl</literal> is a <literal>syslin</literal> list representing the system + <literal>[A,B,C,D]</literal> in state-space form. <literal>sl</literal> can be continuous or + discrete time or sampled system. + </para> + <para> + The <literal>i</literal>-th column of the output matrix <literal>SVM</literal> contains the singular + values of <literal>G</literal> for the <literal>i</literal>-th frequency value <literal>w(i)</literal>. + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +SVM = svplot(sl) + ]]></programlisting> + <para> + is equivalent to + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +SVM = svplot(sl,logspace(-3,3)) (continuous) + ]]></programlisting> + <programlisting role="no-scilab-exec"><![CDATA[ +SVM = svplot(sl,logspace(-3,%pi)) (discrete) + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +x=logspace(-3,3); +y=svplot(ssrand(2,2,4),x); +clf();plot2d1("oln",x',20*log(y')/log(10)); +xgrid(12) +xtitle("Singular values plot","(Rd/sec)", "Db"); + ]]></programlisting> + <scilab:image> + x=logspace(-3,3); + y=svplot(ssrand(2,2,4),x); + clf();plot2d1("oln",x',20*log(y')/log(10)); + xgrid(12) + xtitle("Singular values plot","(Rd/sec)", "Db"); + </scilab:image> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plot_display/zgrid.xml b/modules/cacsd/help/en_US/plot_display/zgrid.xml new file mode 100755 index 000000000..4001a3c23 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/zgrid.xml @@ -0,0 +1,134 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="zgrid"> + <refnamediv> + <refname>zgrid</refname> + <refpurpose>zgrid plot</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + zgrid() + zgrid(zeta,wn [,colors]) + zgrid(['new',] zeta,wn [,colors]) + zgrid(zeta,wn [,'new'] [,colors]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>zeta</term> + <listitem> + <para> + array of damping factors. Only values in <literal>[0 + 1] + </literal> + are taken into account. The default value is + <literal>0:0.1:1</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wn</term> + <listitem> + <para>array of normalized natural frequencies (factors of + π/dt). Only values in <literal>[0 1]</literal> are taken + into account. The default value is + <literal>0:0.1:1</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>colors</term> + <listitem> + <para>a scalar or an 2 element array with integer values (color index).</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + plots z-plane grid lines: lines of constant damping factor + (selection given by <literal>zeta</literal>) and natural frequency + (selection given by <literal>wn</literal>) are drawn in within the + unit Z-plane circle. + </para> + <para> + Iso-frequency curves are shown in on the interval + [0,%pi/dt]. + </para> + <para> + The <literal>colors</literal> argument may be used to assign a + color for constant damping ratio curves + (<literal>colors(2)</literal>) and for frequency curves + (<literal>colors(1)</literal>). + </para> + <para> + The <literal>zgrid</literal> function is often used to draw a grid + for evens root locus of continuous time linear systems. In such a + case the <literal>zgrid</literal> function should be called after + the call to <link linkend="evans">evans</link>. For continuous time linear + systems one should use <link linkend="sgrid">sgrid</link> function instead. + </para> + <para> + The optional argument <literal>'new'</literal> can be used to + erase the graphic window before plotting the grid. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + //zgrid + clf();zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + ]]></programlisting> + <para> + <scilab:image> + zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //zgrid with discrete time system root locus + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + + ]]></programlisting> + <para> + <scilab:image localized="true"> + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + </scilab:image> + </para> + + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="sgrid">sgrid</link> + </member> + <member> + <link linkend="freson">freson</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/plzr.xml b/modules/cacsd/help/en_US/plzr.xml new file mode 100755 index 000000000..417addd65 --- /dev/null +++ b/modules/cacsd/help/en_US/plzr.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="plzr"> + <refnamediv> + <refname>plzr</refname> + <refpurpose>pole-zero plot</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>plzr(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + list ( <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <code>plzr(sl)</code> produces a pole-zero plot of the linear system + <varname>sl</varname> (<literal>syslin</literal> list). + </para> + </refsection> + <!-- + <scilab:image localized="true"> + s=poly(0,'s'); + n=[1+s 2+3*s+4*s^2 5; 0 1-s s]; + d=[1+3*s 5-s^3 s+1;1+s 1+s+s^2 3*s-1]; + h=syslin('c',n./d); + plzr(h); + </scilab:image> +--> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +n=[1+s 2+3*s+4*s^2 5; 0 1-s s]; +d=[1+3*s 5-s^3 s+1;1+s 1+s+s^2 3*s-1]; +h=syslin('c',n./d); +plzr(h); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="trzeros">trzeros</link> + </member> + <member> + <link linkend="roots">roots</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/pol2des.xml b/modules/cacsd/help/en_US/pol2des.xml new file mode 100755 index 000000000..dad85cf9c --- /dev/null +++ b/modules/cacsd/help/en_US/pol2des.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="pol2des"> + <refnamediv> + <refname>pol2des</refname> + <refpurpose>polynomial matrix to descriptor form</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[N,B,C]=pol2des(Ds)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Ds</term> + <listitem> + <para>polynomial matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, B, C</term> + <listitem> + <para>three real matrices</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Given the polynomial matrix <literal>Ds=D_0 +D_1 s +D_2 s^2 +... +D_k s^k</literal>, + <literal>pol2des</literal> returns three matrices <literal>N, B, C</literal>, with <literal>N</literal> nilpotent + such that: + </para> + <para> + <literal>Ds = C (s*N-eye())^-1 B</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1,s;1+s^2,3*s^3];[N,B,C]=pol2des(G); +G1=clean(C*inv(s*N-eye())*B),G2=numer(G1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ppol.xml b/modules/cacsd/help/en_US/ppol.xml new file mode 100755 index 000000000..41b2b2178 --- /dev/null +++ b/modules/cacsd/help/en_US/ppol.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ppol"> + <refnamediv> + <refname>ppol</refname> + <refpurpose>pole placement</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[K]=ppol(A,B,poles)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B</term> + <listitem> + <para> + real matrices of dimensions <literal>nxn</literal> and <literal>nxm</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>poles</term> + <listitem> + <para> + real or complex vector of dimension <literal>n</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>real matrix (negative feedback gain)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>K=ppol(A,B,poles)</literal> returns a mxn gain matrix <literal>K</literal> such that + the eigenvalues of <literal>A-B*K</literal> are <literal>poles</literal>. + The pair <literal>(A,B)</literal> must be controllable. Complex number in <literal>poles</literal> must appear in conjugate pairs. + </para> + <para> + An output-injection gain <literal>F</literal> for <literal>(A,C)</literal> is obtained as follows: + </para> + <para> + <literal>Ft=ppol(A',C',poles); F=Ft'</literal> + </para> + <para> + The algorithm is by P.H. Petkov. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=rand(3,3);B=rand(3,2); +F=ppol(A,B,[-1,-2,-3]); +spec(A-B*F) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/prbs_a.xml b/modules/cacsd/help/en_US/prbs_a.xml new file mode 100755 index 000000000..dcbdb826b --- /dev/null +++ b/modules/cacsd/help/en_US/prbs_a.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="prbs_a"> + <refnamediv> + <refname>prbs_a</refname> + <refpurpose>pseudo random binary sequences generation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[u]=prbs_a(n,nc,[ids])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Description</title> + <para> + generation of pseudo random binary sequences + <literal>u=[u0,u1,...,u_(n-1)]</literal> + u takes values in {-1,1} and changes at most nc times its sign. + ids can be used to fix the date at which u must change its sign + ids is then an integer vector with values in <literal>[1:n]</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +u=prbs_a(50,10); +plot2d2("onn",(1:50)',u',1,"151",' ',[0,-1.5,50,1.5]); + ]]></programlisting> + <scilab:image> + u=prbs_a(50,10); + plot2d2("onn",(1:50)',u',1,"151",' ',[0,-1.5,50,1.5]); + </scilab:image> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/projsl.xml b/modules/cacsd/help/en_US/projsl.xml new file mode 100755 index 000000000..0a930f05b --- /dev/null +++ b/modules/cacsd/help/en_US/projsl.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="projsl"> + <refnamediv> + <refname>projsl</refname> + <refpurpose>linear system projection</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[slp]=projsl(sl,Q,M)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl,slp</term> + <listitem> + <para> + <literal>syslin</literal> lists + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q,M</term> + <listitem> + <para>matrices (projection factorization)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>slp</literal>= projected model of <literal>sl</literal> where <literal>Q*M</literal> is the full rank + factorization of the projection. + </para> + <para> + If <literal>(A,B,C,D)</literal> is the representation of <literal>sl</literal>, the projected model + is given by <literal>(M*A*Q,M*B,C*Q,D)</literal>. + </para> + <para> + Usually, the projection <literal>Q*M</literal> is obtained as the spectral projection + of an appropriate auxiliary matrix <literal>W</literal> e.g. <literal>W</literal> = product + of (weighted) gramians or product of Riccati equations. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +rand('seed',0);sl=ssrand(2,2,5);[A,B,C,D]=abcd(sl);poles=spec(A) +[Q,M]=pbig(A,0,'c'); //keeping unstable poles +slred=projsl(sl,Q,M);spec(slred('A')) +sl('D')=rand(2,2); //making proper system +trzeros(sl) //zeros of sl +wi=inv(sl); //wi=inverse in state-space +[q,m]=psmall(wi('A'),2,'d'); //keeping small zeros (poles of wi) i.e. abs(z)<2 +slred2=projsl(sl,q,m); +trzeros(slred2) //zeros of slred2 = small zeros of sl +// Example keeping second order modes +A=diag([-1,-2,-3]); +sl=syslin('c',A,rand(3,2),rand(2,3));[nk2,W]=hankelsv(sl) +[Q,M]=pbig(W,nk2(2)-%eps,'c'); //keeping 2 eigenvalues of W +slr=projsl(sl,Q,M); //reduced model +hankelsv(slr) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="pbig">pbig</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/repfreq.xml b/modules/cacsd/help/en_US/repfreq.xml new file mode 100755 index 000000000..56648edf5 --- /dev/null +++ b/modules/cacsd/help/en_US/repfreq.xml @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="repfreq"> + <refnamediv> + <refname>repfreq</refname> + <refpurpose>frequency response</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[ [frq,] repf]=repfreq(sys,fmin,fmax [,step]) + [ [frq,] repf]=repfreq(sys [,frq]) + [ frq,repf,splitf]=repfreq(sys,fmin,fmax [,step]) + [ frq,repf,splitf]=repfreq(sys [,frq]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para> + <literal>syslin</literal> list : SIMO linear system + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>two real numbers (lower and upper frequency bounds)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>real vector of frequencies (Hz)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>logarithmic discretization step</para> + </listitem> + </varlistentry> + <varlistentry> + <term>splitf</term> + <listitem> + <para>vector of indexes of critical frequencies.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>vector of the complex frequency response</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>repfreq</literal> returns the frequency response calculation of a linear + system. If <literal>sys(s)</literal> is the transfer function of <literal>Sys</literal>, <literal>repf(k)</literal> + equals <literal>sys(s)</literal> evaluated at <literal>s= %i*frq(k)*2*%pi</literal> for continuous time systems and + at <literal>exp(2*%i*%pi*dt*frq(k))</literal> for discrete time systems (<literal>dt</literal> is the sampling period). + </para> + <para> + <literal>db(k)</literal> is the magnitude of <literal>repf(k)</literal> expressed in dB i.e. + <literal>db(k)=20*log10(abs(repf(k)))</literal> and <literal>phi(k)</literal> is the phase + of <literal>repf(k)</literal> expressed in degrees. + </para> + <para> + If <literal>fmin,fmax,step</literal> are input parameters, the response is calculated + for the vector of frequencies <literal>frq</literal> given by: + <literal>frq=[10.^((log10(fmin)):step:(log10(fmax))) fmax];</literal> + </para> + <para> + If <literal>step</literal> is not given, the output parameter <literal>frq</literal> is calculated by <literal>frq=calfrq(sys,fmin,fmax)</literal>. + </para> + <para> + Vector <literal>frq</literal> is split into regular parts with the <literal>split</literal> vector. + <literal>frq(splitf(k):splitf(k+1)-1)</literal> has no critical frequency. + <literal>sys</literal> has a pole in the range <literal>[frq(splitf(k)),frq(splitf(k)+1)]</literal> and + no poles outside. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2]);B=[1;1];C=[1,1]; +Sys=syslin('c',A,B,C); +frq=0:0.02:5;w=frq*2*%pi; //frq=frequencies in Hz ;w=frequencies in rad/sec; +[frq1,rep] =repfreq(Sys,frq); +[db,phi]=dbphi(rep); +Systf=ss2tf(Sys) //Transfer function of Sys +x=horner(Systf,w(2)*sqrt(-1)) // x is Systf(s) evaluated at s = i w(2) +rep=20*log(abs(x))/log(10) //magnitude of x in dB +db(2) // same as rep +ang=atan(imag(x),real(x)); //in rad. +ang=ang*180/%pi //in degrees +phi(2) +repf=repfreq(Sys,frq); +repf(2)-x + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="horner">horner</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="dbphi">dbphi</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ric_desc.xml b/modules/cacsd/help/en_US/ric_desc.xml new file mode 100755 index 000000000..de778fd3c --- /dev/null +++ b/modules/cacsd/help/en_US/ric_desc.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ric_desc"> + <refnamediv> + <refname>ric_desc</refname> + <refpurpose>Riccati equation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>X=ric_desc(H [,E)) + [X1,X2,zero]=ric_desc(H [,E]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>H,E</term> + <listitem> + <para>real square matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>X1,X2</term> + <listitem> + <para>real square matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>zero</term> + <listitem> + <para>real number</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Riccati solver with hamiltonian matrices as inputs. + </para> + <para> + In the continuous time case calling sequence is <literal>ric_descr(H)</literal> (one input): + </para> + <para> + Riccati equation is: + </para> + <programlisting role=""><![CDATA[ +(Ec) A'*X + X*A + X*R*X -Q = 0. + ]]></programlisting> + <para> + Defining the hamiltonian matrix <literal>H</literal> by: + </para> + <programlisting role=""><![CDATA[ +H = [A R; + Q -A'] + ]]></programlisting> + <para> + with the calling sequence <literal>[X1,X2,zero]=ric_descr(H)</literal>, the + solution <literal>X</literal> is given by <literal>X=X1/X2</literal>. + </para> + <para> + <literal>zero</literal> = L1 norm of rhs of (<literal>Ec</literal>) + </para> + <para> + The solution <literal>X</literal> is also given by <literal>X=riccati(A,Q,R,'c'))</literal> + </para> + <para> + In the discrete-time case calling sequence is <literal>ric_descr(H,E)</literal> (two inputs): + </para> + <para> + The Riccati equation is: + </para> + <programlisting role=""><![CDATA[ +(Ed) A'*X*A-(A'*X*B*(R+B'*X*B)^-1)*(B'*X*A)+C-X = 0. + ]]></programlisting> + <para> + Defining <literal>G=B/R*B'</literal> and the hamiltonian pencil <literal>(E,H)</literal> by: + </para> + <programlisting role=""><![CDATA[ +E=[eye(n,n),G; H=[A, 0*ones(n,n); + 0*ones(n,n),A'] -C, eye(n,n)]; + ]]></programlisting> + <para> + with the calling sequence <literal>[X1,X2,err]=ric_descr(H,E)</literal>, the + solution <literal>X</literal> is given by <literal>X=X1/X2</literal>. + </para> + <para> + <literal>zero</literal>= L1 norm of rhs of (<literal>Ed</literal>) + </para> + <para> + The solution <literal>X</literal> is also given by <literal>X=riccati(A,G,C,'d')</literal> + with <literal>G=B/R*B'</literal> + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +h=[0.5,4; +0,-0.5] +x=ric_desc(h) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="riccati">riccati</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ricc.xml b/modules/cacsd/help/en_US/ricc.xml new file mode 100755 index 000000000..00d8f0f89 --- /dev/null +++ b/modules/cacsd/help/en_US/ricc.xml @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ricc"> + <refnamediv> + <refname>ricc</refname> + <refpurpose>Riccati equation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[X,RCOND,FERR]=ricc(A,B,C,"cont""method") + [X,RCOND,FERR]=ricc(F,G,H,"disc","method") + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B,C</term> + <listitem> + <para>real matrices of appropriate dimensions</para> + </listitem> + </varlistentry> + <varlistentry> + <term>F,G,H</term> + <listitem> + <para>real matrices of appropriate dimensions</para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"cont","disc"' </term> + <listitem> + <para>imposed string (flag for continuous or discrete)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>method</term> + <listitem> + <para>'schr' or 'sign' for continuous-time systems and 'schr' or 'invf' for discrete-tyme systems</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Riccati solver. + </para> + <para> + Continuous time: + </para> + <programlisting role=""><![CDATA[ +X=ricc(A,B,C,'cont') + ]]></programlisting> + <para> + gives a solution to the continuous time ARE + </para> + <programlisting role=""><![CDATA[ +A'*X+X*A-X*B*X+C=0 . + ]]></programlisting> + <para> + <literal>B</literal> and <literal>C</literal> are assumed to be nonnegative definite. + <literal>(A,G)</literal> is assumed to be stabilizable with <literal>G*G'</literal> a full rank + factorization of <literal>B</literal>. + </para> + <para> + <literal>(A,H)</literal> is assumed to be detectable with <literal>H*H'</literal> a full rank + factorization of <literal>C</literal>. + </para> + <para> + Discrete time: + </para> + <programlisting role=""><![CDATA[ +X=ricc(F,G,H,'disc') + ]]></programlisting> + <para> + gives a solution to the discrete time ARE + </para> + <programlisting role=""><![CDATA[ +X=F'*X*F-F'*X*G1*((G2+G1'*X*G1)^-1)*G1'*X*F+H + ]]></programlisting> + <para> + <literal>F</literal> is assumed invertible and <literal>G = G1*inv(G2)*G1'</literal>. + </para> + <para> + One assumes <literal>(F,G1)</literal> stabilizable and <literal>(C,F)</literal> detectable + with <literal>C'*C</literal> full rank factorization of <literal>H</literal>. Use preferably + <literal>ric_desc</literal>. + </para> + <para> + C, D are symmetric .It is assumed that the matrices A, C and D are such that the corresponding matrix pencil has N eigenvalues with moduli less than one. + </para> + <para> + Error bound on the solution and a condition estimate are also provided. + It is assumed that the matrices A, C and D are such that the + corresponding Hamiltonian matrix has N eigenvalues with negative real parts. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//Standard formulas to compute Riccati solutions +A=rand(3,3); +B=rand(3,2); +C=rand(3,3); +C=C*C'; +R=rand(2,2); +R=R*R'+eye(); +B=B*inv(R)*B'; +X=ricc(A,B,C,'cont'); +norm(A'*X+X*A-X*B*X+C,1) +H=[A -B;-C -A']; +[T,d]=schur(eye(H),H,'cont'); +T=T(:,1:d); +X1=T(4:6,:)/T(1:3,:); +norm(X1-X,1) +[T,d]=schur(H,'cont'); +T=T(:,1:d); +X2=T(4:6,:)/T(1:3,:); +norm(X2-X,1) +// Discrete time case +F=A; +B=rand(3,2); +G1=B; +G2=R; +G=G1/G2*G1'; +H=C; +X=ricc(F,G,H,'disc'); +norm(F'*X*F-(F'*X*G1/(G2+G1'*X*G1))*(G1'*X*F)+H-X) +H1=[eye(3,3) G;zeros(3,3) F']; +H2=[F zeros(3,3);-H eye(3,3)]; +[T,d]=schur(H2,H1,'disc'); +T=T(:,1:d); +X1=T(4:6,:)/T(1:3,:); +norm(X1-X,1) +Fi=inv(F); +Hami=[Fi Fi*G;H*Fi F'+H*Fi*G]; +[T,d]=schur(Hami,'d'); +T=T(:,1:d); +Fit=inv(F'); +Ham=[F+G*Fit*H -G*Fit;-Fit*H Fit]; +[T,d]=schur(Ham,'d'); +T=T(:,1:d); +X2=T(4:6,:)/T(1:3,:); +norm(X2-X,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="riccati">riccati</link> + </member> + <member> + <link linkend="ric_desc">ric_desc</link> + </member> + <member> + <link linkend="schur">schur</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Used Functions</title> + <para>See SCI/modules/cacsd/src/slicot/riccpack.f</para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/riccati.xml b/modules/cacsd/help/en_US/riccati.xml new file mode 100755 index 000000000..f002fe1ca --- /dev/null +++ b/modules/cacsd/help/en_US/riccati.xml @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="riccati"> + <refnamediv> + <refname>riccati</refname> + <refpurpose>Riccati equation</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>X=riccati(A,B,C,dom,[typ]) + [X1,X2]=riccati(A,B,C,dom,[typ]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A,B,C</term> + <listitem> + <para> + real matrices nxn, <literal>B</literal> and <literal>C</literal> symmetric. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + <literal>'c'</literal> or <literal>'d'</literal> for the time domain (continuous or discrete) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>typ</term> + <listitem> + <para> + string : <literal>'eigen'</literal> for block diagonalization or <literal>schur'</literal> for Schur method. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X1,X2,X</term> + <listitem> + <para>square real matrices (X2 invertible), X symmetric</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>X=riccati(A,B,C,dom,[typ])</literal> solves the Riccati equation: + </para> + <programlisting role=""><![CDATA[ +A'*X+X*A-X*B*X+C=0 + ]]></programlisting> + <para> + in continuous time case, or: + </para> + <programlisting role=""><![CDATA[ +A'*X*A-(A'*X*B1/(B2+B1'*X*B1))*(B1'*X*A)+C-X + ]]></programlisting> + <para> + with <literal>B=B1/B2*B1'</literal> in the discrete time case. + If called with two output arguments, <literal>riccati</literal> returns <literal>X1,X2</literal> + such that <literal>X=X1/X2</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +// Continuous +n = 10; +A = rand(n,n); +B = rand(n,n); +C = rand(n,n); +C = C*C'; +R = rand(n,n); +R = R*R'+eye(); +B = B*inv(R)*B'; + + +X = riccati(A,B,C,'c','eigen') + ]]></programlisting> + <programlisting role="example"><![CDATA[ +// Discrete + +n = 10; +F = rand(n,n); +G1 = rand(n,n); +G2 = rand(n,n); +G2 = G2*G2'+eye(); +G = G1/G2*G1'; +H = rand(n,n); +H = H*H'; + +[X1,X2]= riccati(F,G,H,'d','schur') + ]]></programlisting> + </refsection> + + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ricc">ricc</link> + </member> + <member> + <link linkend="ric_desc">ric_desc</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/routh_t.xml b/modules/cacsd/help/en_US/routh_t.xml new file mode 100755 index 000000000..b8ca26457 --- /dev/null +++ b/modules/cacsd/help/en_US/routh_t.xml @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="routh_t" xml:lang="en"> + <refnamediv> + <refname>routh_t</refname> + <refpurpose>Routh's table</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis> + [r [,num] ]=routh_t(p) + [r [,num] ]=routh_t(h ,kp) + r=routh_t(h ,k [,normalized]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>p</term> + <listitem> + <para>a real polynomial</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para>a real SISO transfer system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para>a real polynomial or a scalar</para> + </listitem> + </varlistentry> + <varlistentry> + <term>kp</term> + <listitem> + <para>a scalar: proportional controller constant</para> + </listitem> + </varlistentry> + <varlistentry> + <term>normalized</term> + <listitem> + <para>a boolean (%t (default value) or %f)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>a matrix or a list: Routh array elements</para> + </listitem> + </varlistentry> + <varlistentry> + <term>num</term> + <listitem> + <para>a scalar: the number of sign changes</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>r=routh_t(p)</literal> computes Routh's table of the + polynomial <literal>p</literal>. + </para> + <para> + <literal>r=routh_t(h,k)</literal> computes Routh's table of + denominator of the system described by transfer matrix SISO + <literal>h</literal> with the feedback by the gain + <literal>k</literal>. + </para> + <para> + If <literal>k=poly(0,'k')</literal> we will have a polynomial or + a rational matrix with dummy variable <literal>k</literal>, + formal expression of the Routh table. + </para> + <para> + If <literal>normalized=%f</literal> we will have a polynomial matrix + with non normalized elements. In the other case, we will have a rational + and normalized matrix. + </para> + <para> + The second output argument <literal>num</literal> returns the number of sign changes + in the first column of Routh's table. Note that, this argument value will only have sense + when the table is normalized. + </para> + <para> + <note> + Hint: If <literal>h=1/p</literal>, then <literal>routh_t(h, kp)</literal> is equivalent to + <literal>routh_t(p+kp)</literal> . + </note> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=%s; +P=5*s^3-10*s^2+7*s+20; +routh_t(P) + +// Transfer function with formal feedback, normalized case +routh_t((1+s)/P,poly(0,'k')) + +// Transfer function with formal feedback, non normalized case +routh_t((1+s)/P,poly(0,'k'),%f) + +// One of the coefficients in the polynomial equals zero +P1=2*s^3-24*s+32; +routh_t(P1) + +// A row full of zeros +P2=s^4-6*s^3+10*s^2-6*s+9; +routh_t(P2) + +// The number of roots in the rhp could be retrieved as the second output argument +P3=5*s^3-10*s^2+7*s; +[r,num]=routh_t(1/P3,20) +if num==0 + disp("System is stable") +else + mprintf("There is %g sign changes in entries of first column.\nTherefore, system is unstable.", num) +end + +// + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="roots">roots</link> + </member> + <member> + <link linkend="spec">spec</link> + </member> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="kpure">kpure</link> + </member> + <member> + <link linkend="krac2">krac2</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Bibliography</title> + <para> + <ulink url="http://controls.engin.umich.edu/wiki/index.php/RouthStability">http://controls.engin.umich.edu/wiki/index.php/RouthStability</ulink> + </para> + <para> + <ulink url="http://www.jdotec.net/s3i/TD_Info/Routh/Routh.pdf">http://www.jdotec.net/s3i/TD_Info/Routh/Routh.pdf</ulink> + </para> + <para>Comments on the Routh-Hurwitz criterion, Shamash, Y.,Automatic + Control, IEEE T.A.C Volume 25, Issue 1, Feb 1980 Page(s): 132 - 133 + </para> + </refsection> + <refsection> + <title>History</title> + <revhistory> + <revision> + <revnumber>5.5.0</revnumber> + <revremark>New output argument added: num (SEP #104).</revremark> + </revision> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>New input argument added: normalized (SEP #89).</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/rowinout.xml b/modules/cacsd/help/en_US/rowinout.xml new file mode 100755 index 000000000..0368b5257 --- /dev/null +++ b/modules/cacsd/help/en_US/rowinout.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="rowinout"> + <refnamediv> + <refname>rowinout</refname> + <refpurpose>inner-outer factorization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Inn,X,Gbar]=rowinout(G)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) <literal>[A,B,C,D]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Inn</term> + <listitem> + <para> + inner factor (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gbar</term> + <listitem> + <para> + outer factor (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para> + row-compressor of <literal>G</literal> (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Inner-outer factorization (and row compression) of (<literal>l</literal>x<literal>p</literal>) <literal>G =[A,B,C,D]</literal> with <literal>l>=p</literal>. + </para> + <para> + <literal>G</literal> is assumed to be tall (<literal>l>=p</literal>) without zero on the imaginary axis + and with a <literal>D</literal> matrix which is full column rank. + </para> + <para> + <literal>G</literal> must also be stable for having <literal>Gbar</literal> stable. + </para> + <para> + <literal>G</literal> admits the following inner-outer factorization: + </para> + <programlisting role=""><![CDATA[ + G = [ Inn ] | Gbar | + | 0 | + ]]></programlisting> + <para> + where <literal>Inn</literal> is square and inner (all pass and stable) and <literal>Gbar</literal> + square and outer i.e: + Gbar is square bi-proper and bi-stable (Gbar inverse is also proper + and stable); + </para> + <para> + Note that: + </para> + <programlisting role=""><![CDATA[ + [ Gbar ] +X*G = [ - ] + [ 0 ] + ]]></programlisting> + <para> + is a row compression of <literal>G</literal> where <literal>X</literal> = <literal>Inn</literal> inverse is all-pass i.e: + </para> + <programlisting role=""><![CDATA[ + T +X (-s) X(s) = Identity + ]]></programlisting> + <para> + (for the continuous time case). + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="colinout">colinout</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/rowregul.xml b/modules/cacsd/help/en_US/rowregul.xml new file mode 100755 index 000000000..2b5be160e --- /dev/null +++ b/modules/cacsd/help/en_US/rowregul.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="rowregul"> + <refnamediv> + <refname>rowregul</refname> + <refpurpose>removing poles and zeros at infinity</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Stmp,Ws]=rowregul(Sl,alfa,beta)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl,Stmp</term> + <listitem> + <para> + <literal>syslin</literal> lists + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa,beta</term> + <listitem> + <para>real numbers (new pole and zero positions)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + computes a postfilter <literal>Ws</literal> such that <literal>Stmp=Ws*Sl</literal> is proper and + with full rank <literal>D</literal> matrix. + </para> + <para> + Poles at infinity of <literal>Sl</literal> are moved to <literal>alfa</literal>; + </para> + <para> + Zeros at infinity of <literal>Sl</literal> are moved to <literal>beta</literal>; + </para> + <para> + <literal>Sl</literal> is assumed to be a right invertible linear system (<literal>syslin</literal> list) + in state-space representation with possibly a polynomial <literal>D</literal> matrix. + </para> + <para> + This function is the dual of colregul (see function code). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +s=%s; +w=[1/s,0;s/(s^3+2),2/s]; +Sl=tf2ss(w); +[Stmp,Ws]=rowregul(Sl,-1,-2); +Stmp('D') // D matrix of Stmp +clean(ss2tf(Stmp)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="invsyslin">invsyslin</link> + </member> + <member> + <link linkend="colregul">colregul</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/rtitr.xml b/modules/cacsd/help/en_US/rtitr.xml new file mode 100755 index 000000000..6034aed94 --- /dev/null +++ b/modules/cacsd/help/en_US/rtitr.xml @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="rtitr"> + <refnamediv> + <refname>rtitr</refname> + <refpurpose>discrete time response (transfer matrix) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[y]=rtitr(Num,Den,u [,up,yp])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Num,Den</term> + <listitem> + <para> + polynomial matrices (resp. dimensions : <literal>n</literal>x<literal>m</literal> and <literal>n</literal>x<literal>n</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para> + real matrix (dimension <literal>m</literal>x<literal>(t+1)</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>up,yp</term> + <listitem> + <para> + real matrices (<literal>up</literal> dimension <literal>m</literal>x<literal>(max(degree(Den)))</literal> (default values=<literal>0</literal>) , + <literal>yp</literal> dimension <literal>n</literal>x + <literal>(max(degree(Den)))</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>y=rtitr(Num,Den,u [,up,yp])</literal> returns the time response of + the discrete time linear system with transfer matrix <literal>Den^-1 Num</literal> + for the input <literal>u</literal>, i.e <literal>y</literal> and <literal>u</literal> are such that <literal>Den y = Num u</literal> at t=0,1,... + </para> + <para> + If <literal>d1=max(degree(Den))</literal>, and <literal>d2=max(degree(Num))</literal> the polynomial + matrices <literal>Den(z)</literal> and <literal>Num(z)</literal> may be written respectively as: + </para> + <programlisting role=""><![CDATA[ +D(z) = D_0 + D_1 z + ... + D_d1 z^d1 +N(z) = N_0 + N_1 z + ... + N_d2 z^d2 + ]]></programlisting> + <para> + and <literal>Den y = Num u</literal> is interpreted as the recursion: + </para> + <programlisting role=""><![CDATA[ +D(0)y(t)+D(1)y(t+1)+...+ D(d1)y(t+d1)= N(0) u(t) +....+ N(d2) u(t+d2) + ]]></programlisting> + <para> + It is assumed that <literal>D(d1)</literal> is non singular. + </para> + <para> + The columns of u are the inputs of the system at t=0,1,...,T: + </para> + <programlisting role=""><![CDATA[ +u=[u(0) , u(1),...,u(T)] + ]]></programlisting> + <para> + The outputs at <literal>t=0,1,...,T+d1-d2</literal> are the columns of the matrix <literal>y</literal>: + </para> + <programlisting role=""><![CDATA[ +y = [y(0), y(1), .... y(T+d1-d2)] + ]]></programlisting> + <para> + <literal>up</literal> and <literal>yp</literal> define the initial conditions for t < 0 i.e + </para> + <programlisting role=""><![CDATA[ +up = [u(-d1), ..., u(-1) ] +yp = [y(-d1), ... y(-1) ] + ]]></programlisting> + <para> + Depending on the relative values of <literal>d1</literal> and <literal>d2</literal>, some of the + leftmost components of <literal>up</literal>, <literal>yp</literal> are ignored. + The default values of <literal>up</literal> and <literal>yp</literal> are zero: + <literal>up = 0*ones(m,d1), yp=0*ones(n,d1)</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +z=poly(0,'z'); +Num=1+z; +Den=1+z; +u=[1,2,3,4,5]; +rtitr(Num,Den,u)-u + ]]></programlisting> + <programlisting role="example"><![CDATA[ +//Other examples +//siso +//causal +n1=1; +d1=poly([1 1],'z','coeff'); // y(j)=-y(j-1)+u(j-1) +r1=[0 1 0 1 0 1 0 1 0 1 0]; +r=rtitr(n1,d1,ones(1,10)); +norm(r1-r,1) +//hot restart +r=rtitr(n1,d1,ones(1,9),1,0); +norm(r1(2:11)-r) +//non causal +n2=poly([1 1 1],'z','coeff'); +d2=d1; // y(j)=-y(j-1)+u(j-1)+u(j)+u(j+1) +r2=[2 1 2 1 2 1 2 1 2]; +r=rtitr(n2,d2,ones(1,10)); +norm(r-r2,1) +//hot restart +r=rtitr(n2,d2,ones(1,9),1,2); +norm(r2(2:9)-r,1) +// +//MIMO example +//causal +d1=d1*diag([1 0.5]); +n1=[1 3 1;2 4 1]; +r1=[5;14]*r1; +r=rtitr(n1,d1,ones(3,10)); +norm(r1-r,1) +// +r=rtitr(n1,d1,ones(3,9),[1;1;1],[0;0]); +norm(r1(:,2:11)-r,1) +//polynomial n1 (same ex.) +n1(1,1)=poly(1,'z','c'); +r=rtitr(n1,d1,ones(3,10)); +norm(r1-r,1) +// +r=rtitr(n1,d1,ones(3,9),[1;1;1],[0;0]); +norm(r1(:,2:11)-r,1) +//non causal +d2=d1;n2=n2*n1; +r2=[5;14]*r2; +r=rtitr(n2,d2,ones(3,10)); +norm(r2-r) +// +r=rtitr(n2,d2,ones(3,9),[1;1;1],[10;28]); +norm(r2(:,2:9)-r,1) + ]]></programlisting> + <programlisting role="example"><![CDATA[ +// +// State-space or transfer +a = [0.21 , 0.63 , 0.56 , 0.23 , 0.31 + 0.76 , 0.85 , 0.66 , 0.23 , 0.93 + 0 , 0.69 , 0.73 , 0.22 , 0.21 + 0.33 , 0.88 , 0.2 , 0.88 , 0.31 + 0.67 , 0.07 , 0.54 , 0.65 , 0.36]; +b = [0.29 , 0.5 , 0.92 + 0.57 , 0.44 , 0.04 + 0.48 , 0.27 , 0.48 + 0.33 , 0.63 , 0.26 + 0.59 , 0.41 , 0.41]; +c = [0.28 , 0.78 , 0.11 , 0.15 , 0.84 + 0.13 , 0.21 , 0.69 , 0.7 , 0.41]; +d = [0.41 , 0.11 , 0.56 + 0.88 , 0.2 , 0.59]; +s=syslin('d',a,b,c,d); +h=ss2tf(s);num=h('num'); +den=h('den'); +den=den(1,1)*eye(2,2); +u=1;u(3,10)=0; +r3=flts(u,s); +r=rtitr(num,den,u); +norm(r3-r,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ltitr">ltitr</link> + </member> + <member> + <link linkend="exp">exp</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/sensi.xml b/modules/cacsd/help/en_US/sensi.xml new file mode 100755 index 000000000..b07af989e --- /dev/null +++ b/modules/cacsd/help/en_US/sensi.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sensi"> + <refnamediv> + <refname>sensi</refname> + <refpurpose>sensitivity functions</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Se,Re,Te]=sensi(G,K) + [Si,Ri,Ti]=sensi(G,K,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + standard plant (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + compensator (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + character string <literal>'o'</literal> (default value) or <literal>'i'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Se</term> + <listitem> + <para> + output sensitivity function <literal>(I+G*K)^-1</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Re</term> + <listitem> + <para> + <literal>K*Se</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Te</term> + <listitem> + <para> + <literal>G*K*Se</literal> (output complementary sensitivity function) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>sensi</literal> computes sensitivity functions. If <literal>G</literal> and <literal>K</literal> are + given in state-space form, the systems returned are generically minimal. + Calculation is made by <literal>lft</literal>, e.g., + <literal>Se</literal> can be given by the commands + <literal> P = augment(G,'S')</literal>, <literal>Se=lft(P,K)</literal>. + If <literal>flag</literal> = <literal>'i'</literal>, <literal>[Si,Ri,Ti]=sensi(G,K,'i')</literal> + returns the input sensitivity functions. + </para> + <programlisting role=""><![CDATA[ +[Se;Re;Te]= [inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)]; +[Si;Ri;Ti]= [inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+K*G)]; + ]]></programlisting> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +G=ssrand(1,1,3); +K=ssrand(1,1,3); +[Se,Re,Te]=sensi(G,K); +Se1=inv(eye()+G*K); //Other way to compute +ss2tf(Se) //Se seen in transfer form +ss2tf(Se1) +ss2tf(Te) +ss2tf(G*K*Se1) +[Si,Ri,Ti]=sensi(G,K,'i'); +w1=[ss2tf(Si);ss2tf(Ri);ss2tf(Ti)] +w2=[ss2tf(inv(eye()+K*G));ss2tf(G*inv(eye()+K*G));ss2tf(K*G*inv(eye()+K*G))]; +clean(w1-w2) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="h_cl">h_cl</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/sident.xml b/modules/cacsd/help/en_US/sident.xml new file mode 100755 index 000000000..6d492cd5a --- /dev/null +++ b/modules/cacsd/help/en_US/sident.xml @@ -0,0 +1,321 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sident"> + <refnamediv> + <refname>sident</refname> + <refpurpose>discrete-time state-space realization and Kalman gain</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[[A,C][,B[,D]][,K,Q,Ry,S][,rcnd]] = sident(meth,job,s,n,l,R[,tol,t,Ai,Ci,printw])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>meth</term> + <listitem> + <para>integer option to determine the method to use:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : MOESP method with past inputs and outputs;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : N4SID method;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : combined method: A and C via MOESP, B and D via N4SID.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>job</term> + <listitem> + <para>integer option to determine the calculation to be performed:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : compute all system matrices, A, B, C, D;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : compute the matrices A and C only;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : compute the matrix B only;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>4 : compute the matrices B and D only.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>s</term> + <listitem> + <para>the number of block rows in the processed input and output block Hankel matrices. s > 0.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>integer, the order of the system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>l</term> + <listitem> + <para>integer, the number of the system outputs</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>the 2*(m+l)*s-by-2*(m+l)*s part of R contains the processed upper triangular factor R from the QR factorization of the concatenated block-Hankel matrices, and further details needed for computing system matrices.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>(optional) tolerance used for estimating the rank of matrices. If tol > 0, then the given value of tol is used as a lower bound for the reciprocal condition number; an m-by-n matrix whose estimated condition number is less than 1/tol is considered to be of full rank. Default: m*n*epsilon_machine where epsilon_machine is the relative machine precision.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>t</term> + <listitem> + <para>(optional) the total number of samples used for calculating the covariance matrices. Either t = 0, or t >= 2*(m+l)*s. This parameter is not needed if the covariance matrices and/or the Kalman predictor gain matrix are not desired. If t = 0, then K, Q, Ry, and S are not computed. Default: t = 0.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ai</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ci</term> + <listitem> + <para> real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>printw</term> + <listitem> + <para>(optional) switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: printw = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>real matrix, kalman gain</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para>(optional) the n-by-n positive semidefinite state covariance matrix used as state weighting matrix when computing the Kalman gain.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RY</term> + <listitem> + <para>(optional) the l-by-l positive (semi)definite output covariance matrix used as output weighting matrix when computing the Kalman gain.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>(optional) the n-by-l state-output cross-covariance matrix used as cross-weighting matrix when computing the Kalman gain.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>(optional) vector of length lr, containing estimates of the reciprocal condition numbers of the matrices involved in rank decisions, least squares, or Riccati equation solutions, where lr = 4, if Kalman gain matrix K is not required, and lr = 12, if Kalman gain matrix K is required.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + SIDENT function for computing a discrete-time state-space realization + (A,B,C,D) and Kalman gain K using SLICOT routine IB01BD. + </para> + <programlisting role=""><![CDATA[ + [A,C,B,D] = sident(meth,1,s,n,l,R) +[A,C,B,D,K,Q,Ry,S,rcnd] = sident(meth,1,s,n,l,R,tol,t) + [A,C] = sident(meth,2,s,n,l,R) + B = sident(meth,3,s,n,l,R,tol,0,Ai,Ci) + [B,K,Q,Ry,S,rcnd] = sident(meth,3,s,n,l,R,tol,t,Ai,Ci) + [B,D] = sident(meth,4,s,n,l,R,tol,0,Ai,Ci) + [B,D,K,Q,Ry,S,rcnd] = sident(meth,4,s,n,l,R,tol,t,Ai,Ci) + ]]></programlisting> + <para> + SIDENT computes a state-space realization (A,B,C,D) and the Kalman + predictor gain K of a discrete-time system, given the system + order and the relevant part of the R factor of the concatenated + block-Hankel matrices, using subspace identification techniques + (MOESP, N4SID, or their combination). + </para> + <para> + The model structure is : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + where + x(k) is the n-dimensional state vector (at time k), + </para> + <para> + u(k) is the m-dimensional input vector, + </para> + <para> + y(k) is the l-dimensional output vector, + </para> + <para> + e(k) is the l-dimensional disturbance vector, + </para> + <para> + and A, B, C, D, and K are real matrices of appropriate dimensions. + </para> + </refsection> + <refsection> + <title>Comments</title> + <para> + 1. The n-by-n system state matrix A, and the p-by-n system output matrix C are computed for job <= 2. + </para> + <para> + 2. The n-by-m system input matrix B is computed for job <> 2. + </para> + <para> + 3. The l-by-m system matrix D is computed for job = 1 or 4. + </para> + <para> + 4. The n-by-l Kalman predictor gain matrix K and the covariance matrices Q, Ry, and S are computed for t > 0. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); + +S = 15; +N = 3; +METH=1; +[R,N1] = findR(S,Y',U',METH); +[A,C,B,D,K] = sident(METH,1,S,N,1,R); +SYS1=syslin(1,A,B,C,D); +SYS1.X0 = inistate(SYS1,Y',U'); + +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) + +METH = 2; +[R,N1,SVAL] = findR(S,Y',U',METH); +tol = 0; +t = size(U',1)-2*S+1; + +[A,C,B,D,K] = sident(METH,1,S,N,1,R,tol,t) +SYS1=syslin(1,A,B,C,D) +SYS1.X0 = inistate(SYS1,Y',U'); + +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/sorder.xml b/modules/cacsd/help/en_US/sorder.xml new file mode 100755 index 000000000..7ab1026b4 --- /dev/null +++ b/modules/cacsd/help/en_US/sorder.xml @@ -0,0 +1,334 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sorder"> + <refnamediv> + <refname>sorder</refname> + <refpurpose>computing the order of a discrete-time system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Ro[,n,sval,rcnd]] = sorder(meth,alg,jobd,batch,conct,s,Y[,U,tol,printw,ldwork,Ri])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>meth</term> + <listitem> + <para>integer option to determine the method to use:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : MOESP method with past inputs and outputs;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : N4SID method.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>alg</term> + <listitem> + <para>integer option to determine the algorithm for computing the triangular factor of the concatenated block-Hankel matrices built from the input-output data:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : Cholesky algorithm on the correlation matrix;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : fast QR algorithm;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : standard QR algorithm.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>jobd</term> + <listitem> + <para>integer option to specify if the matrices B and D should later be computed using the MOESP approach:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : the matrices B and D should later be computed using the MOESP approach;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : the matrices B and D should not be computed using the MOESP approach.</para> + <para> + This parameter is not relevant for meth = 2. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>batch</term> + <listitem> + <para>integer option to specify whether or not sequential data processing is to be used, and, for sequential processing, whether or not the current data block is the first block, an intermediate block, or the last block, as follows:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : the first block in sequential data processing;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : an intermediate block in sequential data processing;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : the last block in sequential data processing;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>4 : one block only (non-sequential data processing).</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>conct</term> + <listitem> + <para>integer option to specify whether or not the successive data blocks in sequential data processing belong to a single experiment, as follows:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : the current data block is a continuation of the previous data block and/or it will be continued by the next data block;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : there is no connection between the current data block and the previous and/or the next ones.</para> + <para> + This parameter is not used if batch = 4. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>s</term> + <listitem> + <para>the number of block rows in the input and output block Hankel matrices to be processed. s > 0</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>the t-by-l output-data sequence matrix. Column j of Y contains the t values of the j-th output component for consecutive time increments.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>(optional) the t-by-m input-data sequence matrix. Column j of U contains the t values of the j-th input component for consecutive time increments. Default: U = [].</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>(optional) vector of length 2 containing tolerances: tol(1) - tolerance used for estimating the rank of matrices. If tol(1) > 0, then the given value of tol(1) is used as a lower bound for the reciprocal condition number; an m-by-n matrix whose estimated condition number is less than 1/tol(1) is considered to be of full rank. If tol(1) <= 0, then a default value m*n*epsilon_machine is used, where epsilon_machine is the relative machine precision.</para> + <para> + tol(2) - tolerance used for determining an estimate of the system order. If tol(2) >= 0, the estimate is indicated by the index of the last singular value greater than or equal to tol(2). (Singular values less than tol(2) are considered as zero.) When tol(2) = 0, an internally computed default value, tol(2) = s*epsilon_machine*sval(1), is used, where sval(1) is the maximal singular value, and epsilon_machine the relative machine precision. When tol(2) < 0, the estimate is indicated by the index of the singular value that has the largest logarithmic gap to its successor. + </para> + <para> + Default: tol(1:2) = [0,-1]. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>printw</term> + <listitem> + <para>(optional) switch for printing the warning messages.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: print warning messages;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: do not print warning messages.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + Default: printw = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ldwork</term> + <listitem> + <para>(optional) the workspace size. Default : computed by the formulas</para> + <programlisting role=""><![CDATA[ +nr = 2*( m + l )*s +LDWORK = ( t - 2*s + 3 + 64 )*nr +if ( CSIZE > MAX( nr*nr + t*( m + l ) + 16, 2*nr ) ) then + LDWORK = MIN( LDWORK, CSIZE - nr*nr - t*( m + l ) - 16 ) +else + LDWORK = MIN( LDWORK, MAX( 2*nr, CSIZE/2 ) ) +end if + ]]></programlisting> + <para> + LDWORK = MAX( minimum workspace size needed, LDWORK ) where CSIZE is the cache size in double precision words. + </para> + <para> + If LDWORK is specified less than the minimum workspace size needed, that minimum value is used instead. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ri</term> + <listitem> + <para>(optional) if batch = 2 or 3, the 2*(m+l)*s-by-2*(m+l)*s (upper triangular, if alg <> 2) part of R must contain the (upper triangular) matrix R computed at the previous call of this mexfile in sequential data processing. If conct = 1, R has an additional column, also set at the previous call.</para> + <para> + If alg = 2, R has m+l+1 additional columns, set at the previous call. + </para> + <para> + This parameter is not used for batch = 1 or batch = 4. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ro</term> + <listitem> + <para>if batch = 3 or 4, the 2*(m+l)*s-by-2*(m+l)*s part of R contains the processed upper triangular factor R from the QR factorization of the concatenated block-Hankel matrices, and further details needed for computing system matrices. If batch = 1 or 2, then R contains intermediate results needed at the next call of this mexfile. If batch = 1 or 2 and conct = 1, R has an additional column, also set before return. If batch = 1 or 2 and alg = 2, R has m+l+1 additional columns, set before return.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>the order of the system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sval</term> + <listitem> + <para>(optional) the singular values used for estimating the order of the system.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>(optional) if meth = 2, vector of length 2 containing the reciprocal condition numbers of the matrices involved in rank decisions or least squares solutions.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + sorder - function for computing the order of a discrete-time + system using SLICOT routine IB01AD. + </para> + <para> + For one block (data sequences Y, U): + [R,n,sval,rcnd] = sorder(meth,alg,jobd,4,conct,s,Y,U); + </para> + <para> + For f blocks (data sequences Yj, Uj, j = 1 : f): + </para> + <programlisting role=""><![CDATA[ +R = sorder(meth,alg,jobd,1,conct,s,Y1,U1); +for j = 2 : f - 1 + R = sorder(meth,alg,jobd,2,conct,s,Yj,Uj,tol,printw,ldwork,R) +end +[R,n,sval,rcnd] = sorder(meth,alg,jobd,3,conct,s,Yf,Uf,tol); + ]]></programlisting> + <para> + sorder preprocesses the input-output data for estimating the matrices + of a linear time-invariant dynamical system, using Cholesky or (fast) + QR factorization and subspace identification techniques (MOESP and + N4SID), and then estimates the order of a discrete-time realization. + </para> + <para> + The model structure is : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + w(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + where + x(k) is the n-dimensional state vector (at time k), + </para> + <para> + u(k) is the m-dimensional input vector, + </para> + <para> + y(k) is the l-dimensional output vector, + </para> + <para> + w(k) is the n-dimensional state disturbance vector, + </para> + <para> + e(k) is the l-dimensional output disturbance vector, + </para> + <para> + and A, B, C, and D are real matrices of appropriate dimensions. + </para> + </refsection> + <refsection> + <title>Comments</title> + <para> + 1. The Cholesy or fast QR algorithms can be much faster (for large data blocks) than QR algorithm, but they cannot be used if the correlation matrix, H'*H, is not positive definite. In such a case, the code automatically switches to the QR algorithm, if sufficient workspace is provided and batch = 4. + </para> + <para> + 2. If ldwork is specified, but it is less than the minimum workspace size needed, that minimum value is used instead. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/specfact.xml b/modules/cacsd/help/en_US/specfact.xml new file mode 100755 index 000000000..7d5935a75 --- /dev/null +++ b/modules/cacsd/help/en_US/specfact.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="specfact"> + <refnamediv> + <refname>specfact</refname> + <refpurpose>spectral factor</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[W0,L]=specfact(A,B,C,D)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Description</title> + <para> + Given a spectral density matrix <literal>phi(s)</literal>: + </para> + <programlisting role=""><![CDATA[ + -1 -1 +R + C*(s*I-A) * B + B'*(-s*I-A') * C' with R=D+D' > 0 + ]]></programlisting> + <para> + <literal>specfact</literal> computes <literal>W0</literal> and <literal>L</literal> such + that <literal>W(s)=W0+L*(s*I-A)^-1*B</literal> is a + spectral factor of of <literal>PHI(s)</literal>, i.e. + </para> + <para> + <literal>phi(s)=W'(-s)*W(s)</literal> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2]);B=[1;1];C=[1,1];D=1;s=poly(0,'s'); +W1=syslin('c',A,B,C,D); +phi=gtild(W1,'c')+W1; +phis=clean(ss2tf(phi)) +clean(phis-horner(phis,-s)'); //check this is 0... +[A,B,C,D]=abcd(W1); +[W0,L]=specfact(A,B,C,D); +W=syslin('c',A,B,L,W0) +Ws=ss2tf(W); +horner(Ws,-s)*Ws + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="gtild">gtild</link> + </member> + <member> + <link linkend="sfact">sfact</link> + </member> + <member> + <link linkend="fspecg">fspecg</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ssprint.xml b/modules/cacsd/help/en_US/ssprint.xml new file mode 100755 index 000000000..99a9be7a6 --- /dev/null +++ b/modules/cacsd/help/en_US/ssprint.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="ssprint" xml:lang="en"> + <refnamediv> + <refname>ssprint</refname> + <refpurpose>pretty print for linear system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>ssprint(sl) + ssprint(sl, out) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + list (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>out</term> + <listitem> + <para> + output (default value <literal>out=%io(2)</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para>pretty print of a linear system in state-space form + <literal>sl=(A,B,C,D) syslin</literal> list. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[a = [1 1;0 1]; +b = [0 1;1 0]; +c = [1, 1]; +d = [3, 2]; +modelC = syslin('c', a, b, c, d) +modelD = syslin('d', a, b, c, d) +ssprint(modelC) +ssprint(modelD)]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="math_rendering_features_in_graphic">math_rendering_features_in_graphic</link> + </member> + <member> + <link linkend="prettyprint">prettyprint</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/st_ility.xml b/modules/cacsd/help/en_US/st_ility.xml new file mode 100755 index 000000000..229a32206 --- /dev/null +++ b/modules/cacsd/help/en_US/st_ility.xml @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="st_ility"> + <refnamediv> + <refname>st_ility</refname> + <refpurpose>stabilizability test</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[ns, [nc, [,U [,Slo] ]]]=st_ility(Sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> list (linear system) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ns</term> + <listitem> + <para> integer (dimension of stabilizable subspace)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nc</term> + <listitem> + <para> + integer (dimension of controllable subspace <literal>nc <= ns</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + basis such that its <literal>ns</literal> (resp. <literal>nc</literal>) first components span the stabilizable (resp. controllable) subspace + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Slo</term> + <listitem> + <para> + a linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>threshold for controllability detection (see contr)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal> Slo=( U'*A*U, U'*B, C*U, D, U'*x0 )</literal> (<literal>syslin</literal> list) + displays the stabilizable form of <literal>Sl</literal>. Stabilizability means + <literal>ns=nx</literal> (dim. of <literal>A</literal> matrix). + </para> + <programlisting role=""><![CDATA[ + [*,*,*] [*] +U'*A*U = [0,*,*] U'*B = [0] + [0,0,*] [0] + ]]></programlisting> + <para> + where <literal> (A11,B1) </literal> (dim(A11)= <literal>nc</literal>) is controllable and <literal>A22</literal> + (dim(A22)=<literal>ns-nc</literal>) is stable. + "Stable" means real part of eigenvalues negative for a continuous + linear system, and magnitude of eigenvalues lower than one for a + discrete-time system (as defined by <literal>syslin</literal>). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([0.9,-2,3]);B=[0;0;1];Sl=syslin('c',A,B,[]); +[ns,nc,U]=st_ility(Sl); +U'*A*U +U'*B +[ns,nc,U]=st_ility(syslin('d',A,B,[])); +U'*A*U +U'*B + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/stabil.xml b/modules/cacsd/help/en_US/stabil.xml new file mode 100755 index 000000000..4b183010e --- /dev/null +++ b/modules/cacsd/help/en_US/stabil.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="stabil"> + <refnamediv> + <refname>stabil</refname> + <refpurpose>stabilization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>F=stabil(A,B,alfa) + K=stabil(Sys,alfa,beta) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para> + square real matrix (<literal>nx x nx</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para> + real matrix (<literal>nx x nu</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa, beta</term> + <listitem> + <para> real or complex vector (in conjugate pairs) or real number.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para> + real matrix (<literal>nx x nu</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) (<literal>m</literal> inputs, <literal>p</literal> outputs). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + linear system (<literal>p</literal> inputs, <literal>m</literal> outputs) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>F=stabil(A,B,alfa)</literal> returns a gain matrix <literal>F</literal> such that + <literal>A+B*F</literal> is stable if pair <literal>(A,B)</literal> is stabilizable. + Assignable poles are set to <literal>alfa(1),alfa(2),...</literal>. + If <literal>(A,B)</literal> is not stabilizable a warning is given + and assignable poles are set to <literal>alfa(1),alfa(2),...</literal>. + If <literal>alfa</literal> is a number all eigenvalues are set to this + <literal>alfa</literal> (default value is <literal>alfa=-1</literal>). + </para> + <para> + <literal>K=stabil(Sys,alfa,beta)</literal> returns <literal>K</literal>, a compensator for <literal>Sys</literal> + such that <literal>(A,B)</literal>-controllable eigenvalues are set to + <literal>alfa</literal> and <literal>(C,A)</literal>-observable eigenvalues are set to <literal>beta</literal>. + </para> + <para> + All assignable closed loop poles (which are given by the + eigenvalues of <literal>Aclosed=h_cl(Sys,K)</literal> are set to <literal>alfa(i)</literal>'s + and <literal>beta(j)</literal>'s. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +// Gain: +Sys=ssrand(0,2,5,list('st',2,3,3)); +A=Sys('A');B=Sys('B');F=stabil(A,B); +spec(A) //2 controllable modes 2 unstable uncontrollable modes +//and one stable uncontrollable mode +spec(A+B*F) //the two controllable modes are set to -1. +// Compensator: +Sys=ssrand(3,2,5,list('st',2,3,3)); //3 outputs, 2 inputs, 5 states +//2 controllables modes, 3 controllable or stabilizable modes. +K=stabil(Sys,-2,-3); //Compensator for Sys. +spec(Sys('A')) +spec(h_cl(Sys,K)) //K Stabilizes what can be stabilized. + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="st_ility">st_ility</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="ppol">ppol</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/sysfact.xml b/modules/cacsd/help/en_US/sysfact.xml new file mode 100755 index 000000000..068865e14 --- /dev/null +++ b/modules/cacsd/help/en_US/sysfact.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sysfact"> + <refnamediv> + <refname>sysfact</refname> + <refpurpose>system factorization</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[S,Series]=sysfact(Sys,Gain,flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + <literal>syslin</literal> list containing the matrices <literal>[A,B,C,D]</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gain</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + string <literal>'post'</literal> or <literal>'pre'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Series</term> + <listitem> + <para> + <literal>syslin</literal> list + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + If <literal>flag</literal> equals <literal>'post'</literal>, <literal>sysfact</literal> returns in <literal>S</literal> the linear + system with ABCD matrices <literal>(A+B*Gain, B , Gain, I)</literal>, and <literal>Series</literal>, + a minimal realization of the series system <literal>Sys*S</literal>. + If <literal>flag</literal> equals <literal>'pre'</literal>, <literal>sysfact</literal> returns the linear system + <literal>(A+Gain*C, Gain , C, I)</literal> and <literal>Series</literal>, a minimal realization of the + series system <literal>S*Sys</literal>. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//Kalman filter +Sys=ssrand(3,2,4);Sys('D')=rand(3,2); +S=sysfact(Sys,lqr(Sys),'post'); +ww=minss(Sys*S); +ss2tf(gtild(ww)*ww),Sys('D')'*Sys('D') +//Kernel +Sys=ssrand(2,3,4); +[X,d,F,U,k,Z]=abinv(Sys); +ss2tf(Sys*Z) +ss2tf(Sys*sysfact(Sys,F,'post')*U) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/syslin.xml b/modules/cacsd/help/en_US/syslin.xml new file mode 100755 index 000000000..a1738c677 --- /dev/null +++ b/modules/cacsd/help/en_US/syslin.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="syslin" xml:lang="en"> + <refnamediv> + <refname>syslin</refname> + <refpurpose>linear system definition</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>dom</term> + <listitem> + <para> + character string (<literal>'c'</literal>, + <literal>'d'</literal>), or <literal>[]</literal> or a + scalar. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para>matrices of the state-space representation + (<literal>D</literal> optional with default value zero matrix). For + improper systems <literal>D</literal> is a polynomial matrix. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>vector (initial state; default value is + <literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, D</term> + <listitem> + <para>polynomial matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>rational matrix or linear state space representation</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + tlist ("<literal>syslin</literal>" list) representing the + linear system + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>syslin</literal> defines a linear system as a list and + checks consistency of data. + </para> + <para> + <literal>dom</literal> specifies the time domain of the system and + can have the following values: + </para> + <para> + <literal>dom='c'</literal> for a continuous time system, + <literal>dom='d'</literal> for a discrete time system, + <literal>n</literal> for a sampled system with sampling period + <literal>n</literal> (in seconds). + </para> + <para> + <literal>dom=[]</literal> if the time domain is undefined + </para> + <para>State-space representation:</para> + <programlisting><![CDATA[ +sl=syslin(dom,A,B,C [,D [,x0] ]) + ]]></programlisting> + <para>represents the system :</para> + <informalequation> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../mml/syslin_equation_1.mml"/> + </imageobject> + </mediaobject> + </informalequation> + <para> + The output of <literal>syslin</literal> is a list of the following + form: + <literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal> + Note that <literal>D</literal> is allowed to be a polynomial matrix + (improper systems). + </para> + <para>Transfer matrix representation:</para> + <programlisting><![CDATA[ +sl=syslin(dom,N,D) +sl=syslin(dom,H) + ]]></programlisting> + <para> + The output of <literal>syslin</literal> is a list of the following + form : <literal>sl = rlist(N,D,dom)</literal> or + <literal>sl=rlist(H(2),H(3),dom)</literal>. + </para> + <para> + Linear systems defined as <literal>syslin</literal> can be + manipulated as usual matrices (concatenation, extraction, transpose, + multiplication, etc) both in state-space or transfer + representation. + </para> + <para>Most of state-space control functions receive a + <literal>syslin</literal> list as input instead of the four matrices + defining the system. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=[0,1;0,0];B=[1;1];C=[1,1]; +S1=syslin('c',A,B,C) //Linear system definition +S1("A") //Display of A-matrix +S1("X0"), S1("dt") // Display of X0 and time domain +s=poly(0,'s'); +D=s; +S2=syslin('c',A,B,C,D) +H1=(1+2*s)/s^2, S1bis=syslin('c',H1) +H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2) +S1+S2 +[S1,S2] +ss2tf(S1)-S1bis +S1bis+S2bis +S1*S2bis +size(S1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="tlist">tlist</link> + </member> + <member> + <link linkend="lsslist">lsslist</link> + </member> + <member> + <link linkend="rlist">rlist</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="dscr">dscr</link> + </member> + <member> + <link linkend="abcd">abcd</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/syssize.xml b/modules/cacsd/help/en_US/syssize.xml new file mode 100755 index 000000000..83140c90d --- /dev/null +++ b/modules/cacsd/help/en_US/syssize.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="syssize"> + <refnamediv> + <refname>syssize</refname> + <refpurpose>size of state-space system</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[r,nx]=syssize(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) in state-space + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>1 x 2 real vector</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nx</term> + <listitem> + <para>integer</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + returns in <literal>r</literal> the vector [number of outputs, number of inputs] + of the linear system <literal>Sl</literal>. <literal>nx</literal> is the number of states of <literal>Sl</literal>. + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ + +a=[-2.2567e-02 -36.617 -18.897 -32.090 3.2509 -7.6257e-1; + 9.2572e-05 -1.8997 9.8312e-01 -7.2562e-04 -1.7080e-01 -4.9652e-03; + 1.2338e-02 11.720 -2.6316 8.7582e-04 -31.604 22.396; + 0 0 1 0 0 0 ; + 0 0 0 0 -30 0 ; + 0 0 0 0 0 -30 ]; + +b=0*ones(6,2); +b(5,1)=30; +b(6,2)=30; +c=0*ones(2,6); +c(1,2)=1; +c(2,4)=1; +G=syslin('c',a,b,c); +r=syssize(G) + ]]></programlisting> + + </refsection> + + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="size">size</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/time_id.xml b/modules/cacsd/help/en_US/time_id.xml new file mode 100755 index 000000000..3d13a830d --- /dev/null +++ b/modules/cacsd/help/en_US/time_id.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="time_id"> + <refnamediv> + <refname>time_id</refname> + <refpurpose>SISO least square identification</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[H [,err]]=time_id(n,u,y)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>n</term> + <listitem> + <para>order of transfer</para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>one of the following</para> + <variablelist> + <varlistentry> + <term>u1</term> + <listitem> + <para>a vector of inputs to the system</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"impuls" </term> + <listitem> + <para>if y is an impulse response</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"step" </term> + <listitem> + <para>if y is a step response.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para>vector of response.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>rational function with degree n denominator and degree n-1 numerator if y(1)==0 or rational function with degree n denominator and numerator if y(1)<>0.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para> + <literal>||y - impuls(H,npt)||^2</literal>, where <literal>impuls(H,npt)</literal> are the <literal>npt</literal> first coefficients of impulse response of <literal>H</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Identification of discrete time response. If <literal>y</literal> is strictly + proper (<literal>y(1)=0</literal>) then <literal>time_id</literal> computes the least square + solution of the linear equation: <literal>Den*y-Num*u=0</literal> with the + constraint <literal>coeff(Den,n):=1</literal>. if <literal>y(1)~=0</literal> then the algorithm + first computes the proper part solution and then add y(1) to the solution + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +z=poly(0,'z'); +h=(1-2*z)/(z^2-0.5*z+5) +rep=[0;ldiv(h('num'),h('den'),20)]; //impulse response +H=time_id(2,'impuls',rep) +// Same example with flts and u +u=zeros(1,20);u(1)=1; +rep=flts(u,tf2ss(h)); //impulse response +H=time_id(2,u,rep) +// step response +u=ones(1,20); +rep=flts(u,tf2ss(h)); //step response. +H=time_id(2,'step',rep) +H=time_id(3,u,rep) //with u as input and too high order required + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/trzeros.xml b/modules/cacsd/help/en_US/trzeros.xml new file mode 100755 index 000000000..b3cb4a41c --- /dev/null +++ b/modules/cacsd/help/en_US/trzeros.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="trzeros"> + <refnamediv> + <refname>trzeros</refname> + <refpurpose>transmission zeros and normal rank</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[tr]=trzeros(Sl) + [nt,dt,rk]=trzeros(Sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + linear system (<literal>syslin</literal> list) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>nt</term> + <listitem> + <para>complex vectors</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dt</term> + <listitem> + <para>real vector</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rk</term> + <listitem> + <para>integer (normal rank of Sl)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Called with one output argument, <literal>trzeros(Sl)</literal> returns the + transmission zeros of the linear system <literal>Sl</literal>. + </para> + <para> + <literal>Sl</literal> may have a polynomial (but square) <literal>D</literal> matrix. + </para> + <para> + Called with 2 output arguments, <literal>trzeros</literal> returns the + transmission zeros of the linear system <literal>Sl</literal> as <literal>tr=nt./dt</literal>; + </para> + <para> + (Note that some components of <literal>dt</literal> may be zeros) + </para> + <para> + Called with 3 output arguments, <literal>rk</literal> is the normal rank of <literal>Sl</literal> + </para> + <para> + Transfer matrices are converted to state-space. + </para> + <para> + If <literal>Sl</literal> is a (square) polynomial matrix <literal>trzeros</literal> returns the + roots of its determinant. + </para> + <para> + For usual state-space system <literal>trzeros</literal> uses the state-space + algorithm of Emami-Naeni and Van Dooren. + </para> + <para> + If <literal>D</literal> is invertible the transmission zeros are the eigenvalues + of the "<literal>A</literal> matrix" of the inverse system : <literal>A - B*inv(D)*C</literal>; + </para> + <para> + If <literal>C*B</literal> is invertible the transmission zeros are the eigenvalues + of <literal>N*A*M</literal> where <literal>M*N</literal> is a full rank factorization of + <literal>eye(A)-B*inv(C*B)*C</literal>; + </para> + <para> + For systems with a polynomial <literal>D</literal> matrix zeros are + calculated as the roots of the determinant of the system matrix. + </para> + <para> + <warning> + Caution: the computed zeros are not always reliable, in particular + in case of repeated zeros. + </warning> + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +W1=ssrand(2,2,5);trzeros(W1) //call trzeros +roots(det(systmat(W1))) //roots of det(system matrix) +s=poly(0,'s');W=[1/(s+1);1/(s-2)];W2=(s-3)*W*W';[nt,dt,rk]=trzeros(W2); +St=systmat(tf2ss(W2));[Q,Z,Qd,Zd,numbeps,numbeta]=kroneck(St); +St1=Q*St*Z;rowf=(Qd(1)+Qd(2)+1):(Qd(1)+Qd(2)+Qd(3)); +colf=(Zd(1)+Zd(2)+1):(Zd(1)+Zd(2)+Zd(3)); +roots(St1(rowf,colf)), nt./dt //By Kronecker form + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="gspec">gspec</link> + </member> + <member> + <link linkend="kroneck">kroneck</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/ui_observer.xml b/modules/cacsd/help/en_US/ui_observer.xml new file mode 100755 index 000000000..5152008d7 --- /dev/null +++ b/modules/cacsd/help/en_US/ui_observer.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="ui_observer"> + <refnamediv> + <refname>ui_observer</refname> + <refpurpose>unknown input observer</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[UIobs,J,N]=ui_observer(Sys,reject,C1,D1) + [UIobs,J,N]=ui_observer(Sys,reject,C1,D1,flag,alfa,beta) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + <literal>syslin</literal> list containing the matrices <literal>(A,B,C2,D2)</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>reject</term> + <listitem> + <para> + integer vector, indices of inputs of <literal>Sys</literal> which are unknown. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>C1</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D1</term> + <listitem> + <para> + real matrix. <literal>C1</literal> and <literal>D1</literal> have the same number of rows. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + string <literal>'ge'</literal> or <literal>'st'</literal> (default) or <literal>'pp'</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa</term> + <listitem> + <para>real or complex vector (loc. of closed loop poles)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>real or complex vector (loc. of closed loop poles)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Unknown input observer. + </para> + <para> + <literal>Sys: (w,u) --> y</literal> is a <literal>(A,B,C2,D2)</literal> syslin linear system with + two inputs w and u, w being the unknown input. + The matrices B and D2 of Sys are (implicitly) partitioned as: + <literal>B=[B1,B2]</literal> and <literal>D2=[D21,D22]</literal> with <literal>B1=B(:,reject)</literal> and + <literal>D21=D2(:,reject)</literal> where reject = indices of unknown inputs. + The matrices <literal>C1</literal> and <literal>D1</literal> define <literal>z = C1 x + D1 (w,u)</literal>, + the to-be-estimated output. + </para> + <para> + The matrix <literal>D1</literal> is (implicitly) partitioned as <literal>D1=[D11,D12]</literal> + with <literal>D11=D(:,reject)</literal> + </para> + <para> + The data (Sys, reject,C1, D1) define a 2-input 2-output system: + </para> + <programlisting role=""><![CDATA[ +xdot = A x + B1 w + B2 u + z = C1 x + D11 w + D12 u + y = C2 x + D21 w + D22 u + ]]></programlisting> + <para> + An observer <literal>(u,y) --> zhat</literal> is looked for the output z. + </para> + <para> + <literal>flag='ge'</literal> no stability constraints + <literal>flag='st'</literal> stable observer (default) + <literal>flag='pp'</literal> observer with pole placement + alfa,beta = desired location of closed loop poles (default -1, -2) + J=y-output to x-state injection. + N=y-output to z-estimated output injection. + </para> + <para> + UIobs = linear system (u,y) --> zhat such that: + The transfer function: (w,u) --> z equals the composed transfer function: + [0,I; UIobs + Sys] + (w,u) -----> (u,y) -----> zhat + i.e. transfer function of system {A,B,C1,D1} equals transfer function + <literal>UIobs*[0,I; Sys]</literal> + </para> + <para> + Stability (resp. pole placement) requires detectability + (resp. observability) of (A,C2). + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([3,-3,7,4,-4,8]); +B=[eye(3,3);zeros(3,3)]; +C=[0,0,1,2,3,4;0,0,0,0,0,1]; +D=[1,2,3;0,0,0]; +rand('seed',0);w=ss2ss(syslin('c',A,B,C,D),rand(6,6)); +[A,B,C,D]=abcd(w); +B=[B,matrix(1:18,6,3)];D=[D,matrix(-(1:6),2,3)]; +reject=1:3; +Sys=syslin('c',A,B,C,D); +N1=[-2,-3];C1=-N1*C;D1=-N1*D; +nw=length(reject);nu=size(Sys('B'),2)-nw; +ny=size(Sys('C'),1);nz=size(C1,1); +[UIobs,J,N]=ui_observer(Sys,reject,C1,D1); + +W=[zeros(nu,nw),eye(nu,nu);Sys];UIobsW=UIobs*W; +//(w,u) --> z=UIobs*[0,I;Sys](w,u) +clean(ss2tf(UIobsW)); +wu_to_z=syslin('c',A,B,C1,D1);clean(ss2tf(wu_to_z)); +clean(ss2tf(wu_to_z)-ss2tf(UIobsW),1.d-7) +/////2nd example////// +nx=2;ny=3;nwu=2;Sys=ssrand(ny,nwu,nx); +C1=rand(1,nx);D1=[0,1]; +UIobs=ui_observer(Sys,1,C1,D1); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="cainv">cainv</link> + </member> + <member> + <link linkend="ddp">ddp</link> + </member> + <member> + <link linkend="abinv">abinv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/unobs.xml b/modules/cacsd/help/en_US/unobs.xml new file mode 100755 index 000000000..d9f61085a --- /dev/null +++ b/modules/cacsd/help/en_US/unobs.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="unobs"> + <refnamediv> + <refname>unobs</refname> + <refpurpose>unobservable subspace</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[n,[U]]=unobs(A,C,[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>A, C</term> + <listitem> + <para>real matrices</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>tolerance used when evaluating ranks (QR factorizations).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>dimension of unobservable subspace.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + orthogonal change of basis which puts <literal>(A,B)</literal> in canonical form. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>[n,[U]]=unobs(A,C,[tol])</literal> gives the unobservable form of an <literal>(A,C)</literal> + pair. + The <literal>n</literal> first columns of <literal>U</literal> make a basis for the unobservable + subspace. + </para> + <para> + The <literal>(2,1)</literal> block (made of last <literal>nx-n</literal> rows and <literal>n</literal> first + columns) of <literal>U'*A*U</literal> is zero and the <literal>n</literal> first columns + of <literal>C*U</literal> are zero. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=diag([1,2,3]);C=[1,0,0]; +unobs(A,C) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="spantwo">spantwo</link> + </member> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/en_US/zeropen.xml b/modules/cacsd/help/en_US/zeropen.xml new file mode 100755 index 000000000..5302018f8 --- /dev/null +++ b/modules/cacsd/help/en_US/zeropen.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="zeropen"> + <refnamediv> + <refname>zeropen</refname> + <refpurpose>zero pencil</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[Z,U]=zeropen(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + a linear system (<literal>syslin</literal> list in state-space form <literal>[A,B,C,D]</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para> + matrix pencil <literal>Z=s*E-A</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>square orthogonal matrix</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>Z= sE - F</literal> is the zero pencil of the linear system <literal>Sl</literal> with + matrices <literal>[A,B,C,D]</literal>. Utility function. + </para> + <para> + With <literal>U</literal> row compression of <literal>[B;D]</literal> i.e, <literal>U*[B;D]=[0;*]</literal>; one has: + </para> + <programlisting role=""><![CDATA[ +U*[-sI+A |B; [ Z |0; + C |D] = [ * |*] + ]]></programlisting> + <para> + The zeros of <literal>Z</literal> are the zeros of <literal>Sl</literal>. + </para> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="systmat">systmat</link> + </member> + <member> + <link linkend="kroneck">kroneck</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/fr_FR/addchapter.sce b/modules/cacsd/help/fr_FR/addchapter.sce new file mode 100755 index 000000000..cafafb547 --- /dev/null +++ b/modules/cacsd/help/fr_FR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD (Computer Aided Control Systems Design)",SCI+"/modules/cacsd/help/fr_FR",%T); + diff --git a/modules/cacsd/help/fr_FR/formal_representation/CHAPTER b/modules/cacsd/help/fr_FR/formal_representation/CHAPTER new file mode 100755 index 000000000..e25da39ec --- /dev/null +++ b/modules/cacsd/help/fr_FR/formal_representation/CHAPTER @@ -0,0 +1,2 @@ +title = Représentations formelles et conversions + diff --git a/modules/cacsd/help/fr_FR/formal_representation/lsslist.xml b/modules/cacsd/help/fr_FR/formal_representation/lsslist.xml new file mode 100755 index 000000000..23f363213 --- /dev/null +++ b/modules/cacsd/help/fr_FR/formal_representation/lsslist.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="lsslist"> + <refnamediv> + <refname>lsslist</refname> + <refpurpose> Définition d'un système dynamique linéaire </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>lsslist() + lsslist(A, B, C, X0, dt) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Description</title> + <para> + <literal>lsslist(A, B, C, X0, dt)</literal> est équivalent à la commande + <literal>tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt)</literal> + </para> + <para> + Crée une <literal>tlist</literal> avec <literal>["lss", "A", "B", "C", "D", "X0", "dt"]</literal> pour le premier champ, et + <varname>A</varname>, <varname>B</varname>, <varname>C</varname>,<varname>X0</varname>,<varname>dt</varname> + pour les termes suivants, s'ils sont spécifiés. Aucune vérification de taille ou de type n'est faite sur + les paramètres d'entrée. + </para> + <para> + </para> + </refsection> + <refsection role="see also"> + <title>Voir aussi</title> + <simplelist type="inline"> + <member> + <link linkend="abcd">abcd</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="tlist">tlist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/fr_FR/noisegen.xml b/modules/cacsd/help/fr_FR/noisegen.xml new file mode 100755 index 000000000..a0e8dee76 --- /dev/null +++ b/modules/cacsd/help/fr_FR/noisegen.xml @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Scilab Enterprises - Paul Bignier + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="noisegen"> + <refnamediv> + <refname>noisegen</refname> + <refpurpose>génération de bruit</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>b = noisegen(pas, Tmax, sig)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Paramètres</title> + <variablelist> + <varlistentry> + <term>pas</term> + <listitem> + <para>scalaire réel, le pas de temps</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Tmax</term> + <listitem> + <para>scalaire réel, le temps final de l'intervalle de génération</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>scalaire réel, l'écart-type du bruit</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>noisegen()</literal> génère une fonction Scilab <literal>b = Noise(t)</literal> + où <literal>Noise(t)</literal> est une fonction constante par morceaux + (constante sur <literal>[k*pas, (k+1)*pas]</literal>). Les valeurs de chaque intervalle + constant sont aléatoires, i.i.d Gaussiennes à écart-type <literal>sig</literal>. + La fonction est constante pour <literal>t <= 0</literal> et + <literal>t >= Tmax</literal>. + </para> + <para> + <note> + Remarque: des fonctions de génération aléatoires telles que <link linkend="rand">rand</link> et + <link linkend="grand">grand</link> sont une alternative à la génération de bruit + contenant un large panel de lois de distribution (voir exemple 2 ci-dessous). + </note> + </para> + </refsection> + <refsection> + <title>Exemples</title> + <para> + Exemple #1: noisegen() + </para> + <programlisting role="example"><![CDATA[ +noisegen(0.5, 30, 1.0); +x = -5:0.01:35; +y = feval(x, Noise); +plot(x, y); + ]]></programlisting> + <scilab:image> + noisegen(0.5, 30, 1.0); + x = -5:0.01:35; + y = feval(x, Noise); + plot(x, y); + </scilab:image> + <para> + Exemple #2: rand() + </para> + <programlisting role="example"><![CDATA[ +// Tracer un bruit blanc gaussien de moyenne nulle à variance 1. +// Pour utiliser une variance différente, multiplier rand() par la racine carrée de la variance. +t = 0:.5:30; +sig = 1; // Ecart-type du bruit blanc gaussien. +noise = sig*rand(t, "normal"); +plot2d2(t, noise); + ]]></programlisting> + <scilab:image> + t = 0:.5:30; + sig = 1; + noise = sig*rand(t, "normal"); + plot2d2(t, noise) + </scilab:image> + </refsection> + <refsection role="see also"> + <title>Vori aussi</title> + <simplelist type="inline"> + <member> + <link linkend="rand">rand</link> + </member> + <member> + <link linkend="grand">grand</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/fr_FR/plot_display/CHAPTER b/modules/cacsd/help/fr_FR/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/fr_FR/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/fr_FR/plot_display/bode_asymp.xml b/modules/cacsd/help/fr_FR/plot_display/bode_asymp.xml new file mode 100755 index 000000000..9776d1f4e --- /dev/null +++ b/modules/cacsd/help/fr_FR/plot_display/bode_asymp.xml @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Scilab Enterprises - Paul Bignier + * Copyright (C) 09/2013 - A. Khorshidi + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="bode_asymp" xml:lang="fr"> + <refnamediv> + <refname>bode_asymp</refname> + <refpurpose>asymptote de diagramme de Bode</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis> + bode_asymp(sl, [wmin, wmax]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Paramètres</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> list (SISO ou SIMO système linéaire) + en temps continu ou discret (type state-space ou rational). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wmin, wmax</term> + <listitem> + <para>Réels scalaires: bornes de fréquence inférieure et supérieure (en rad/s).</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Trace l'asymptote du système <literal>sl</literal>. + </para> + <para> + Les arguments optionnels <literal>wmin</literal> et <literal>wmax</literal> (en rad/s) peuvent être utilisés pour tracer des asymptotes dans un périmètre précis. + </para> + <para> + <note> + A noter que les fonctions <code>bode()</code> ou <code>gainplot()</code> doivent être appelées avant <code>bode_asymp()</code>. + </note> + </para> + <para> + <warning> + Attention: cette fonction n'est pas applicable quand le premier argument est une matrice de réels. + </warning> + </para> + </refsection> + <refsection> + <title>Exemples</title> + <programlisting role="example"><![CDATA[ +s = poly(0, 's'); +h = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + +clf(); bode(h, 0.01, 100); bode_asymp(h); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, 's'); + h = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); bode_asymp(h); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = poly(0, 's'); +h1 = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + +clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, 's'); + h1 = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = %s; +G = (s+10)/(s*(s+100)); // Une matrice de rational +sys = syslin("c", G); // Un système linéaire en temps continu, représentation en matrice de transfert +f_min = .0001; f_max = 1600; // Fréquences in Hz + +clf(); bode(sys, f_min, f_max, "rad"); // L'argument "rad" convertit les Hz en rad/s +bode_asymp(sys, 10, 1000); // Trace les asymptotes dans le périmètre de fréquence donné (en rad/s) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = %s; + G = (s+10)/(s*(s+100)); + sys = syslin("c", G); + f_min = .0001; f_max = 1600; + clf(); bode(sys, f_min, f_max, "rad"); + bode_asymp(sys, 10, 1000); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = poly(0, "s"); +h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +h = tf2ss(h); + +clf(); +gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); // Fréquences in Hertz +bode_asymp(h) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0,"s"); + h = syslin("c",(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h = tf2ss(h); + clf(); + gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); + bode_asymp(h) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>Voir Aussi</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + <member> + <link linkend="show_margins">show_margins</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Historique</title> + <revhistory> + <revision> + <revnumber>5.5.0</revnumber> + <revremark>Fonction bode_asymp() introduite.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/fr_FR/pol2des.xml b/modules/cacsd/help/fr_FR/pol2des.xml new file mode 100755 index 000000000..06e703fc9 --- /dev/null +++ b/modules/cacsd/help/fr_FR/pol2des.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="pol2des"> + <refnamediv> + <refname>pol2des</refname> + <refpurpose>conversion matrice de polynômes vers forme descripteur </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>[N,B,C]=pol2des(Ds)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Paramètres</title> + <variablelist> + <varlistentry> + <term>Ds </term> + <listitem> + <para>matrice de polynômes + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, B, C </term> + <listitem> + <para>3 matrices réelles + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Etant donnée la matrice de polynômes <literal>Ds=D_0 +D_1 s +D_2 s^2 +... +D_k s^k</literal>, + <literal>pol2des</literal> renvoie 3 matrices <literal>N, B, C</literal>, avec <literal>N</literal> nilpotente + telles que : + </para> + <para> + <literal>Ds = C (s*N-eye())^-1 B </literal> + </para> + </refsection> + <refsection> + <title>Exemples</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1,s;1+s^2,3*s^3];[N,B,C]=pol2des(G); +G1=clean(C*inv(s*N-eye())*B),G2=numer(G1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Voir aussi</title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/fr_FR/syslin.xml b/modules/cacsd/help/fr_FR/syslin.xml new file mode 100755 index 000000000..f6226657e --- /dev/null +++ b/modules/cacsd/help/fr_FR/syslin.xml @@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="syslin" xml:lang="fr"> + <refnamediv> + <refname>syslin</refname> + <refpurpose>définition d'un système dynamique linéaire</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Paramètres</title> + <variablelist> + <varlistentry> + <term>dom</term> + <listitem> + <para> + chaîne de caractères (<literal>'c'</literal>, + <literal>'d'</literal>), ou <literal>[]</literal> ou un + scalaire. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para> + matrices de la représentation d'état (<literal>D</literal> est + optionnelle, matrice nulle par défaut). Pour les systèmes impropres + <literal>D</literal> est une matrice polynomiale. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>vecteur (état initial, vecteur nul par défaut)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, D</term> + <listitem> + <para>matrices polynomiales</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>matrice rationnelle</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + tlist (liste de type "<literal>syslin</literal>") représentant + le système dynamique + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + <literal>syslin</literal> définit un système dynamique linéaire en + tant que liste typée, et vérifie la consistance des données. + </para> + <para> + <literal>dom</literal> spécifie le domaine temporel : + </para> + <para> + <literal>dom='c'</literal> pour un système à temps continu, + <literal>dom='d'</literal> pour un système à temps discret, + <literal>n</literal> pour un système échantillonné à la période + <literal>n</literal> (en secondes). + </para> + <para> + <literal>dom=[]</literal> si le domaine temporel n'est pas + défini + </para> + <para>Représentation d'état :</para> + <programlisting role=""><![CDATA[ +sl=syslin(dom,A,B,C [,D [,x0] ]) + ]]></programlisting> + <para>représente le système :</para> + <informalequation> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../mml/syslin_equation_1.mml"/> + </imageobject> + </mediaobject> + </informalequation> + <para> + La sortie de <literal>syslin</literal> est une liste de la forme + suivante : <literal> + sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom) + </literal> + Notez que <literal>D</literal> peut être une matrice polynomiale (systèmes + impropres). + </para> + <para>Représentation sous forme de matrice de transfert :</para> + <programlisting role=""><![CDATA[ +sl=syslin(dom,N,D) +sl=syslin(dom,H) + ]]></programlisting> + <para> + La sortie de <literal>syslin</literal> est une liste de la forme : + <literal>sl=rlist(N,D,dom)</literal> ou + <literal>sl=rlist(H(2),H(3),dom)</literal>. + </para> + <para>Les systèmes linéaires obtenus en sortie de + <literal>syslin</literal> peuvent être manipulés comme des matrices + usuelles (concaténation, extraction, transposition, multiplication, etc.) + dans les deux types de représentation (représentation d'état ou matrice de + transfert). + </para> + <para>La plupart des fonctions de la bibliothèque de contrôle acceptent les + listes de type <literal>syslin</literal> en argument au lieu des quatre + matrices de la représentation d'état. + </para> + </refsection> + <refsection> + <title>Exemples</title> + <programlisting role="example"><![CDATA[ +A=[0,1;0,0];B=[1;1];C=[1,1]; +S1=syslin('c',A,B,C) // Définition du système +S1.A // La matrice A +S1.X0, S1.dt // affichage de X0 et du domaine temporel +s=poly(0,'s'); +D=s; +S2=syslin('c',A,B,C,D) +H1=(1+2*s)/s^2, S1bis=syslin('c',H1) +H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2) +S1+S2 +[S1,S2] +ss2tf(S1)-S1bis +S1bis+S2bis +S1*S2bis +size(S1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Voir aussi</title> + <simplelist type="inline"> + <member> + <link linkend="tlist">tlist</link> + </member> + <member> + <link linkend="lsslist">lsslist</link> + </member> + <member> + <link linkend="rlist">rlist</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="dscr">dscr</link> + </member> + <member> + <link linkend="abcd">abcd</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/abinv.xml b/modules/cacsd/help/ja_JP/abinv.xml new file mode 100755 index 000000000..596c502d8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/abinv.xml @@ -0,0 +1,320 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="abinv"> + <refnamediv> + <refname>abinv</refname> + <refpurpose>AB 不変部分空間</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[X,dims,F,U,k,Z]=abinv(Sys,alpha,beta,flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + 行列<literal>[A,B,C,D]</literal>を含む + <literal>syslin</literal> リスト. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alpha</term> + <listitem> + <para>(オプション) 実数の数値またはベクトル + (複素数の可能性もある閉ループ極の位置) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>(オプション) + 実数の数値またはベクトル + (複素数の可能性もある閉ループ極の位置) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para>(オプション) + 文字列 <literal>'ge'</literal> (デフォルト) または + <literal>'st'</literal> または <literal>'pp'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>大きさ nx (状態空間の次元) の直交行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dims</term> + <listitem> + <para> + <literal>dimR<=dimVg<=dimV<=noc<=nos</literal>となる + 整数行ベクトル <literal>dims=[dimR,dimVg,dimV,noc,nos]</literal>. + <literal>flag='st'</literal>の場合, + (resp. <literal>'pp'</literal>), <literal>dims</literal> は + 4 (resp. 3) 個の要素となる. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para>実数行列 (状態フィードバック)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para> + 整数 (<literal>Sys</literal>のノーマルランク) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para> + 特異でない線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>Sys</literal>の行列[A,B,C,D]を含む + <literal>Sys</literal> = syslinリストで定義された線形システム + に関する出力ゼロ部分空間 (不可観測となる最大部分空間). + ベクトル <literal>dims=[dimR,dimVg,dimV,noc,nos]</literal> は + 以下の区分に基づき + <literal>X</literal>の列で定義される部分空間の次元を出力します. + <literal>X</literal>の最初の<literal>dimV</literal>列,すなわち, + <literal>V=X(:,1:dimV)</literal>は + <literal>Sys</literal>のAB不変な部分空間 + すなわち, + <literal>(A+B*F,C+D*F)</literal>の不可観測な部分空間に + 広がっています. + (<literal>C^(-1)(D)=X</literal>の時に限り,<literal>dimV=nx</literal>). + </para> + <para> + <literal>X</literal>の最初の<literal>dimR</literal> 列, + すなわち <literal>R=X(:,1:dimR)</literal>は, + <literal>V</literal>, <literal>(dimR<=dimV)</literal>の中の + <literal>Sys</literal>の可制御部を含んでいます. + (左可逆システムの場合,<literal>dimR=0</literal>). + <literal>R</literal> は<literal>kernel(C)</literal>の中の + <literal>Sys</literal> の可制御な最大部分空間です. + </para> + <para> + <literal>X</literal> の最初の<literal>dimVg</literal>列は, + <literal>Sys</literal>の<literal>Vg</literal>=AB-最大可安定部分空間 + に広がっています. + </para> + <para> + <literal>F</literal>は非干渉化フィードバックです: + <literal>X=[V,X2] (X2=X(:,dimV+1:nx))</literal> について, + <literal>X2'*(A+B*F)*V=0 および (C+D*F)*V=0</literal>が満たされます. + </para> + <para> + <literal>Sys</literal> のゼロは以下のように取得できます : + <literal>X0=X(:,dimR+1:dimV); spec(X0'*(A+B*F)*X0)</literal> + すなわち, <literal>dimV-dimR</literal> 個の閉ループ固定モードがあります. + </para> + <para> + オプションのパラメータ <literal>alpha</literal> が入力として指定された場合, + <literal>dimR</literal>個の<literal>V</literal>に含まれる + <literal>(A+BF)</literal>の可制御モードが<literal>alpha</literal> + (または<literal>[alpha(1), alpha(2), ...]</literal>)に設定されます. + (<literal>alpha</literal> はベクトル (実数または複素数の組) または (実数の) + 数値とすることができます). + デフォルト値は <literal>alpha=-1</literal>です. + </para> + <para> + オプションの実数パラメータIr <literal>beta</literal> が入力に指定された場合, + <literal>noc-dimV</literal> 個の<literal>V</literal>"以外の"<literal>(A+BF)</literal>の + 可制御モードが<literal>beta</literal> + (または<literal>[beta(1),beta(2),...]</literal>)に設定されます. + デフォルト値は <literal>beta=-1</literal>です. + </para> + <para> + <literal>X,U</literal> に基づくと, 行列 + <literal>[X'*(A+B*F)*X,X'*B*U;(C+D*F)*X,D*U]</literal> + は以下のように表示されます: + </para> + <programlisting><![CDATA[ +[A11,*,*,*,*,*] [B11 * ] +[0,A22,*,*,*,*] [0 * ] +[0,0,A33,*,*,*] [0 * ] +[0,0,0,A44,*,*] [0 B42] +[0,0,0,0,A55,*] [0 0 ] +[0,0,0,0,0,A66] [0 0 ] +[0,0,0,*,*,*] [0 D2] + ]]></programlisting> + <para> + ただし,Xの分割は<literal>dims</literal>で定義され, + Uの分割は<literal>k</literal>で定義されます. + </para> + <para> + <literal>A11</literal> は <literal>(dimR x dimR)</literal> 次で, + <literal>alpha(i)'s</literal>の固有値を有しています. + <literal>(A11,B11)</literal> の組は可制御で, + <literal>B11</literal> は <literal>nu-k</literal> 列です. + <literal>A22</literal> は安定な + <literal>(dimVg-dimR x dimVg-dimR)</literal> 次の行列です. + <literal>A33</literal> は不安定な + <literal>(dimV-dimVg x dimV-dimVg)</literal> 行列です + (<literal>st_ility</literal>参照). + </para> + <para> + <literal>A44</literal> は + <literal>(noc-dimV x noc-dimV)</literal> 次であり, + その固有値は<literal>beta(i)</literal>となります. + <literal>(A44,B42)</literal> は可制御です. + <literal>A55</literal> は安定な <literal>(nos-noc x nos-noc)</literal> 次の行列となります. + <literal>A66</literal> は不安定な <literal>(nx-nos x nx-nos)</literal>次の行列 + (<literal>st_ility</literal>参照). + </para> + <para> + <literal>Z</literal> は<literal>Sys</literal> の列圧縮です. + <literal>k</literal> は<literal>Sys</literal>のランク, + すなわち, <literal>Sys*Z</literal>は列圧縮された線形システムとなります. + <literal>k</literal> は + <literal>B42,B52,B62</literal> と <literal>D2</literal>の列の次元です. + <literal>[B42;B52;B62;D2]</literal> は列フルランクでランク + <literal>k</literal>を有しています. + </para> + <para> + <literal>flag='st'</literal> が指定された場合, + 行列の5個のブロック区画が返され,<literal>dims</literal>は4個の要素を有します. + <literal>flag='pp'</literal> が指定された場合, + 5個のブロック区画が返されます. + <literal>flag='ge'</literal> の場合, + <literal>dims=[dimR,dimVg,dimV,dimV+nc2,dimV+ns2]</literal> となります. + ここで where <literal>nc2</literal> + (resp. <literal>ns2</literal>) は可制御 (resp. + stabilizable)対 <literal>(A44,B42)</literal> (resp. (<literal>[A44,*;0,A55],[B42;0])</literal>)の次元です. + <literal>flag='st'</literal>の場合, + <literal>dims=[dimR,dimVg,dimVg+nc,dimVg+ns]</literal>となり, + <literal>flag='pp'</literal>の場合, + <literal>dims=[dimR,dimR+nc,dimR+ns]</literal>となります. + <literal>nc</literal> (resp. <literal>ns</literal>) は + ブロック数3から6(resp. 2 to 6)の + 可制御(resp. stabilizable) 部分空間の次元です. + </para> + <para> + この関数は(正確な)外乱非干渉化問題に使用することができます. + </para> + <programlisting role=""><![CDATA[ +DDPS: + Find u=Fx+Rd=[F,R]*[x;d] which rejects Q*d and stabilizes the plant: + xdot = Ax+Bu+Qd + y = Cx+Du+Td +Im(Q)がVg + Im(B)に含まれる場合,DDPS は解を有し,可安定性の仮定は満たされます. +Let G=(X(:,dimVg+1:$))'= left annihilator of Vg i.e. G*Vg=0; +B2=G*B; Q2=G*Q; DDPS solvable iff [B2;D]*R + [Q2;T] =0 has a solution. +G=(X(:,dimVg+1:$))'= Vgの左零化イデアル, すなわち G*Vg=0 とおくと, +B2=G*B; Q2=G*Q; DDPS が可解であることは, +[B2;D]*R + [Q2;T] =0が解を有することと必要十分の関係にあります. +対 F,R (F=abinvの出力)は解です. +Im(B2)の中にあるIm(Q2)は,B2の列圧縮=>Q2の列圧縮を意味します. +これにより, C*[(sI-A-B*F)^(-1)+D]*(Q+B*R) =0 (<=>G*(Q+B*R)=0) + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +nu=3;ny=4;nx=7; +nrt=2;ngt=3;ng0=3;nvt=5;rk=2; +flag=list('on',nrt,ngt,ng0,nvt,rk); +Sys=ssrand(ny,nu,nx,flag);my_alpha=-1;my_beta=-2; +[X,dims,F,U,k,Z]=abinv(Sys,my_alpha,my_beta); +[A,B,C,D]=abcd(Sys);dimV=dims(3);dimR=dims(1); +V=X(:,1:dimV);X2=X(:,dimV+1:nx); +X2'*(A+B*F)*V +(C+D*F)*V +X0=X(:,dimR+1:dimV); spec(X0'*(A+B*F)*X0) +trzeros(Sys) +spec(A+B*F) //nr=2 evals at -1 and noc-dimV=2 evals at -2. +clean(ss2tf(Sys*Z)) + ]]></programlisting> + <programlisting role="example"><![CDATA[ +nx=6;ny=3;nu=2; +A=diag(1:6);A(2,2)=-7;A(5,5)=-9;B=[1,2;0,3;0,4;0,5;0,0;0,0]; +C=[zeros(ny,ny),eye(ny,ny)];D=[0,1;0,2;0,3]; +sl=syslin('c',A,B,C,D);//sl=ss2ss(sl,rand(6,6))*rand(2,2); +[A,B,C,D]=abcd(sl); //The matrices of sl. +my_alpha=-1;my_beta=-2; +[X,dims,F,U,k,Z]=abinv(sl,my_alpha,my_beta);dimVg=dims(2); +clean(X'*(A+B*F)*X) +clean(X'*B*U) +clean((C+D*F)*X) +clean(D*U) +G=(X(:,dimVg+1:$))'; +B2=G*B;nd=3; +R=rand(nu,nd);Q2T=-[B2;D]*R; +p=size(G,1);Q2=Q2T(1:p,:);T=Q2T(p+1:$,:); +Q=G\Q2; //a valid [Q;T] since +[G*B;D]*R + [G*Q;T] // is zero +closed=syslin('c',A+B*F,Q+B*R,C+D*F,T+D*R); // closed loop: d-->y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) //The plant is not stabilizable! +[ns,nc,W,sl1]=st_ility(sl); +[A,B,C,D]=abcd(sl1);A=A(1:ns,1:ns);B=B(1:ns,:);C=C(:,1:ns); +slnew=syslin('c',A,B,C,D); //Now stabilizable +//Fnew=stabil(slnew('A'),slnew('B'),-11); +//slnew('A')=slnew('A')+slnew('B')*Fnew; +//slnew('C')=slnew('C')+slnew('D')*Fnew; +[X,dims,F,U,k,Z]=abinv(slnew,my_alpha,my_beta);dimVg=dims(2); +[A,B,C,D]=abcd(slnew); +G=(X(:,dimVg+1:$))'; +B2=G*B;nd=3; +R=rand(nu,nd);Q2T=-[B2;D]*R; +p=size(G,1);Q2=Q2T(1:p,:);T=Q2T(p+1:$,:); +Q=G\Q2; //a valid [Q;T] since +[G*B;D]*R + [G*Q;T] // is zero +closed=syslin('c',A+B*F,Q+B*R,C+D*F,T+D*R); // closed loop: d-->y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) + ]]></programlisting> + </refsection> + <refsection> + <title>参考</title> + <simplelist type="inline"> + <member> + <link linkend="cainv">cainv</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + <member> + <link linkend="ss2ss">ss2ss</link> + </member> + <member> + <link linkend="ddp">ddp</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/addchapter.sce b/modules/cacsd/help/ja_JP/addchapter.sce new file mode 100755 index 000000000..3dda7ef26 --- /dev/null +++ b/modules/cacsd/help/ja_JP/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD",SCI+"/modules/cacsd/help/ja_JP",%T); + diff --git a/modules/cacsd/help/ja_JP/arhnk.xml b/modules/cacsd/help/ja_JP/arhnk.xml new file mode 100755 index 000000000..11bbcabcd --- /dev/null +++ b/modules/cacsd/help/ja_JP/arhnk.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="arhnk"> + <refnamediv> + <refname>arhnk</refname> + <refpurpose>ハンケルノルム近似</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[slm]=arhnk(sl,ord,[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ord</term> + <listitem> + <para>整数, 近似の次数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + <literal>equil1</literal>におけるランク近似の閾値 + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 行列<literal>[A,B,C,D]</literal>で定義される + 安定な連続時間線形システム<literal>sl</literal>の最適ハンケルノルム近似 + <literal>slm</literal>を計算します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3,-4,-5]);B=rand(5,1);C=rand(1,5); +sl=syslin('c',A,B,C); +slapprox=arhnk(sl,2); +[nk,W]=hankelsv(sl);nk +[nkred,Wred]=hankelsv(slapprox);nkred + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + <member> + <link linkend="hankelsv">hankelsv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/arl2.xml b/modules/cacsd/help/ja_JP/arl2.xml new file mode 100755 index 000000000..4e44f532a --- /dev/null +++ b/modules/cacsd/help/ja_JP/arl2.xml @@ -0,0 +1,171 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="arl2"> + <refnamediv> + <refname>arl2</refname> + <refpurpose>L2伝達関数近似による SISO モデル実現</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>h=arl2(y,den0,n [,imp]) + h=arl2(y,den0,n [,imp],'all') + [den,num,err]=arl2(y,den0,n [,imp]) + [den,num,err]=arl2(y,den0,n [,imp],'all') + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>y</term> + <listitem> + <para> + <literal>z^-1</literal>の実数ベクトルまたは多項式で, + 有理数システムの(インパルス応答の)フーリエ級数近似の係数を有します. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>den0</term> + <listitem> + <para> + 解の初期推定値を指定する多項式で, + <literal>poly(1,'z','c')</literal>とすることができます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>整数, 伝達関数近似の次数 (分母denの次数)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>imp</term> + <listitem> + <para> + 整数で値は <literal>(0,1,2)</literal>のどれか (冗長モード) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para> + 伝達関数 <literal>num/den</literal> または<literal>'all'</literal> + フラグが指定された場合は伝達行列 (列ベクトル) <literal>'all'</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>den</term> + <listitem> + <para>多項式または多項式ベクトル,解の分母</para> + </listitem> + </varlistentry> + <varlistentry> + <term>num</term> + <listitem> + <para>多項式または多項式ベクトル, 解の分子</para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para>実数の定数またはベクトル , 各解のL2誤差</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[den,num,err]=arl2(y,den0,n [,imp]) </literal> は, + 伝達関数<literal>num/den</literal>が安定で,そのインパルス応答が + 無数のゼロ点で完結すると仮定したベクトル <literal>y</literal> を + (最小L2ノルムで)近似する + 多項式対<literal>num</literal> および <literal>den</literal>を探します. + </para> + <para> + <literal>y(z) = y(1)(1/z)+y(2)(1/z^2)+ ...+ y(ny)(1/z^ny)</literal>の場合, + </para> + <para> + <literal>num/den - y(z)</literal>のL2ノルムは,<literal>err</literal>となります. + </para> + <para> + <literal>n</literal> は多項式 <literal>den</literal>の次数です. + </para> + <para> + 伝達関数<literal>num/den</literal>は,有理システムのフーリエ級数のL2近似です. + </para> + <para> + <literal>imp</literal>の設定により様々な中間結果が出力されるようになります. + </para> + <para> + <literal>[den,num,err]=arl2(y,den0,n [,imp],'all') </literal> は, + 多項式のベクトル<literal>num</literal> および <literal>den</literal>に + 問題のローカル最適解の集合を返します. + 解は誤差について昇順にソートされます. + この場合, <literal>den0</literal>はすでに + <literal>poly(1,'z','c')</literal>であると仮定されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +v=ones(1,20); +clf(); +plot2d1('enn',0,[v';zeros(80,1)],2,'051',' ',[1,-0.5,100,1.5]) +[d,n,e]=arl2(v,poly(1,'z','c'),1) +plot2d1('enn',0,ldiv(n,d,100),2,'000') +[d,n,e]=arl2(v,d,3) +plot2d1('enn',0,ldiv(n,d,100),3,'000') +[d,n,e]=arl2(v,d,8) +plot2d1('enn',0,ldiv(n,d,100),5,'000') +[d,n,e]=arl2(v,poly(1,'z','c'),4,'all') +plot2d1('enn',0,ldiv(n(1),d(1),100),10,'000') + ]]></programlisting> + <scilab:image> + v=ones(1,20); + plot2d1('enn',0,[v';zeros(80,1)],2,'051',' ',[1,-0.5,100,1.5]) + [d,n,e]=arl2(v,poly(1,'z','c'),1) + plot2d1('enn',0,ldiv(n,d,100),2,'000') + [d,n,e]=arl2(v,d,3) + plot2d1('enn',0,ldiv(n,d,100),3,'000') + [d,n,e]=arl2(v,d,8) + plot2d1('enn',0,ldiv(n,d,100),5,'000') + [d,n,e]=arl2(v,poly(1,'z','c'),4,'all') + plot2d1('enn',0,ldiv(n(1),d(1),100),10,'000') + </scilab:image> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ldiv">ldiv</link> + </member> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/arma.xml b/modules/cacsd/help/ja_JP/arma.xml new file mode 100755 index 000000000..1d0258232 --- /dev/null +++ b/modules/cacsd/help/ja_JP/arma.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="arma"> + <refnamediv> + <refname>arma</refname> + <refpurpose>Scilab armaライブラリ</refpurpose> + </refnamediv> + <refsection> + <title>説明</title> + <para> + Armax は,Scilab tlist型<literal>'ar'</literal>を有するデータを処理します. + <literal>armac</literal>が, + <literal>Armax</literal> Scilabオブジェクトを構築する際に使用されます. + <literal>'ar'</literal> tlist には,フィールド + <literal>['a','b','d','ny','nu','sig']</literal>が含まれます. + </para> + <variablelist> + <varlistentry> + <term>armac</term> + <listitem> + <para> + この間巣は,Armaxプロセス<literal> A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)</literal> + を符号化するScilab tlistを作成します. + </para> + <programlisting role=""><![CDATA[ +-->ar=armac([1,2],[3,4],1,1,1,sig); +-->ar('a') + ans = +! 1. 2. ! +-->ar('sig') + ans = + 1. + ]]></programlisting> + </listitem> + </varlistentry> + <varlistentry> + <term>armap(ar [,out])</term> + <listitem> + <para> + <literal>ar</literal>に関するarmax方程式を表示します. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>armap_p(ar [,out])</term> + <listitem> + <para> + <literal>ar</literal> + に関するarmax方程式を多項式行列表示で表示します. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>[A,B,D]=armap2p(ar)</term> + <listitem> + <para>ar表現から多項式行列を展開します.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>armax</term> + <listitem> + <para> + n次元ARXプロセス<literal>A(z^-1)y= B(z^-1)u + sig*e(t)</literal>の係数を + 同定するために使用されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>armax1</term> + <listitem> + <para> + armax1 は,1次元 ARX プロセス<literal>A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)</literal> + の係数を同定するために使用されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>arsimul</term> + <listitem> + <para>armax 軌道シミュレーション.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>narsimul</term> + <listitem> + <para>armax シミュレーション (rtitrを使用)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>odedi</term> + <listitem> + <para>ode および arsimulの簡単なテスト. ODEの 'discret' オプションを試します.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>prbs_a</term> + <listitem> + <para>擬似乱数バイナリ列を生成</para> + </listitem> + </varlistentry> + <varlistentry> + <term>reglin</term> + <listitem> + <para>線形回帰</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +// Example extracted from the demo arma3.dem.sce in the cacsd module +// Spectral power estimation +// ( form Sawaragi et all) +m = 18; +a = [1,-1.3136,1.4401,-1.0919,+0.83527]; +b = [0.0,0.13137,0.023543,0.10775,0.03516]; +u = rand(1,1000,'n'); +z = arsimul(a,b,[0],0,u); +//----Using macro mese +[sm,fr]=mese(z,m); +//----The theorical result +function gx=gxx(z,a,b) + w = exp(-%i*2*%pi*z*(0:4))' + gx = abs(b*w)^2/(abs(a*w)^2); +endfunction +res=[]; +for x=fr + res=[ res, gxx(x,a,b)]; +end +//----using armax estimation of order (4,4) +// it's a bit tricky because we are not supposed to know the order +[arc,la,lb,sig,resid]=armax(4,4,z,u); +res1=[]; +for x=fr + res1=[ res1, gxx(x,la(1),lb(1))]; +end +//-- visualization of the results +plot2d([fr;fr;fr]',[20*log10(sm/sm(1));20*log10(res/res(1));20*log10(res1/res1(1))]',[2,1,-1]) +legend(["Using macro mese";"Theoretical value";"Arma identification"]) +xtitle("Spectral power","frequency","spectral estimate") + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/arma2p.xml b/modules/cacsd/help/ja_JP/arma2p.xml new file mode 100755 index 000000000..19b5649aa --- /dev/null +++ b/modules/cacsd/help/ja_JP/arma2p.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="arma2p"> + <refnamediv> + <refname>arma2p</refname> + <refpurpose>ar形式から多項式行列を展開</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[A,B,D]=arma2p(ar)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,B,D</term> + <listitem> + <para>多項式行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ar</term> + <listitem> + <para> + arma保持王のScilab 'ar' tlist (<literal>armac</literal>参照). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数は,armax記述から多項式行列<literal>(A,B,D)</literal>を + 展開します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +a=[1,-2.851,2.717,-0.865].*.eye(2,2) +b=[0,1,1,1].*.[1;1]; +d=[1,0.7,0.2].*.eye(2,2); +sig=eye(2,2); +ar=armac(a,b,d,2,1,sig) +// extract polynomial matrices from ar representation +[A,B,D]=arma2p(ar); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="arma">arma</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="armax1">armax1</link> + </member> + <member> + <link linkend="arsimul">arsimul</link> + </member> + <member> + <link linkend="armac">armac</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/arma2ss.xml b/modules/cacsd/help/ja_JP/arma2ss.xml new file mode 100755 index 000000000..1375ce44a --- /dev/null +++ b/modules/cacsd/help/ja_JP/arma2ss.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +Copyright (C) 2012 - INRIA - Serge Steer +This file must be used under the terms of the CeCILL. +This source file is licensed as described in the file COPYING, which +you should have received as part of this distribution. The terms +are also available at +http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * Add some comments about XML file +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="arma2ss" xml:lang="ja"> + <refnamediv> + <refname>arma2ss</refname> + <refpurpose>armaxデータ構造体を状態空間表現に変換する.</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[S,Sn] = arma2ss(Ar) + S = arma2ss(Ar) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Ar</term> + <listitem> + <para> + armaxデータ構造体 (<link linkend="armac">armac</link>参照. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para> + 離散時間状態空間データ構造体 (<link linkend="syslin">syslin</link>参照. 通常入力から出力への伝達. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sn</term> + <listitem> + <para> + 離散時間状態空間データ構造体 ( <link linkend="syslin">syslin</link>参照. ノイズ入力から出力への伝達. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[S,Sn] = arma2ss(Ar) </literal> + armaxデータ構造体を状態空間表現に変換します. + 完全なarmax伝達 <literal>F</literal> は + <literal>F=[S,Sn]</literal>により得られます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example">A = [eye(2,2),[-1.5 0.1;-0.2 1.5],[0.7 -0.3;0.1 0.7]]; + B = [[0;0] [1;-1] [0.5;1.2]]; + Ar = armac(A, B, zeros(2, 2), 2, 1, 0) + [S, Sn] = arma2ss(Ar) + </programlisting> + </refsection> + <refsection> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="armac">armac</link> + </member> + <member> + <link linkend="arma">arma</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>作者</title> + <simplelist type="vert"> + <member>Serge Steer, INRIA</member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>arma2ss 追加.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/armac.xml b/modules/cacsd/help/ja_JP/armac.xml new file mode 100755 index 000000000..dd2291048 --- /dev/null +++ b/modules/cacsd/help/ja_JP/armac.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="armac"> + <refnamediv> + <refname>armac</refname> + <refpurpose>armax処理の Scilab 記述</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[ar]=armac(a,b,d,ny,nu,sig)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>a=[Id,a1,..,a_r] </term> + <listitem> + <para>is a matrix of size (ny,r*ny)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>b=[b0,.....,b_s] </term> + <listitem> + <para>大きさ (ny,(s+1)*nu)の行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>d=[Id,d1,..,d_p] </term> + <listitem> + <para>大きさ (ny,p*ny)の行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ny</term> + <listitem> + <para>出力yの次元</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nu</term> + <listitem> + <para>出力uの次元</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>大きさ (ny,ny)の行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数は,ARMAXプロセスのtlistとして記述を作成します. + </para> + <para> + <literal>ar</literal> は以下のように作成されます: + </para> + <programlisting role=""><![CDATA[ +ar=tlist(['ar','a','b','d','ny','nu','sig'],a,b,d,ny,nu,sig); + ]]></programlisting> + <para> + <literal>ar</literal> の係数は,例えば以下のように取得できます: + <literal> ar('a') </literal>. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +a=[1,-2.851,2.717,-0.865].*.eye(2,2) +b=[0,1,1,1].*.[1;1]; +d=[1,0.7,0.2].*.eye(2,2); +sig=eye(2,2); +ar=armac(a,b,d,2,1,sig) +// extract polynomial matrices from ar representation +[A,B,D]=arma2p(ar); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="arma">arma</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="armax1">armax1</link> + </member> + <member> + <link linkend="arsimul">arsimul</link> + </member> + <member> + <link linkend="arma2p">arma2p</link> + </member> + <member> + <link linkend="tlist">tlist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/armax.xml b/modules/cacsd/help/ja_JP/armax.xml new file mode 100755 index 000000000..d26a82222 --- /dev/null +++ b/modules/cacsd/help/ja_JP/armax.xml @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="armax"> + <refnamediv> + <refname>armax</refname> + <refpurpose>armax 同定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[arc,la,lb,sig,resid]=armax(r,s,y,u,[b0f,prf])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>y</term> + <listitem> + <para>出力プロセス y(ny,n); ( ny: yの次元 , n : サンプルの大きさ)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>入力プロセス u(nu,n); ( nu: uの次元 , n : サンプルの大きさ)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r and s</term> + <listitem> + <para>自己回帰,次数は r >=0 , s >=-1</para> + </listitem> + </varlistentry> + <varlistentry> + <term>b0f</term> + <listitem> + <para>オプションのパラメータ. + デフォルト値は0で,係数b0を同定する必要があることを意味します. + bof=1の場合,b0は0であると仮定され,同定されません. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>prf</term> + <listitem> + <para>表示を制御するオプションのパラメータ. prf =1 (デフォルト値)の場合, + Arma同定の過程が表示されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>arc</term> + <listitem> + <para>Scilab arma オブジェクト (armac参照)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>la</term> + <listitem> + <para>list(a,a+eta,a-eta) ( la は a の次元1) です; ただし, + eta は標準偏差の推定値です. + a=[Id,a1,a2,...,ar],ただし,各aiは大きさ(ny,ny)の行列です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>lb</term> + <listitem> + <para>list(b,b+etb,b-etb) (lb はbの次元1) です; ただし, + etb は標準偏差の推定値です. + b=[b0,.....,b_s] ただし,各biは大きさ(nu,nu)の行列です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>ノイズの標準偏差の推定値で, resid=[ sig*e(t0),....] です.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + armax はn次元ARXプロセスの係数を同定するために使用されます. + </para> + <programlisting role=""><![CDATA[ +A(z^-1)y= B(z^-1)u + sig*e(t) + ]]></programlisting> + <para> + ただし, e(t) は分散Iのn次元白色雑音です. + sig は nxn の行列で, A(z) および B(z)は以下のようになります: + </para> + <programlisting role=""><![CDATA[ +A(z) = 1+a1*z+...+a_r*z^r; ( r=0 => A(z)=1) +B(z) = b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) + ]]></programlisting> + <para> + この手法については,Eykhoffの96ページ, + "trends and progress in system identification"を参照ください. + <literal>z(t)=[y(t-1),..,y(t-r),u(t),...,u(t-s)]</literal> + および + <literal>coef= [-a1,..,-ar,b0,...,b_s] </literal>とおくと, + <literal>y(t)= coef* z(t) + sig*e(t) </literal>を記述することができ, + このアルゴリズムは, + <literal>sum_{t=1}^N ( [y(t)- coef'z(t)]^2)</literal> + を最小化 + (ただし,t0=maxi(maxi(r,s)+1,1))) )します. + </para> + </refsection> + <refsection> + <title>例s</title> + <programlisting role="example"><![CDATA[ +//-Ex1- Arma model : y(t) = 0.2*u(t-1)+0.01*e(t-1) +ny=1,nu=1,sig=0.01; +Arma=armac(1,[0,0.2],[0,1],ny,nu,sig) //defining the above arma model +u=rand(1,1000,'normal'); //a random input sequence u +y=arsimul(Arma,u); //simulation of a y output sequence associated with u. +Armaest=armax(0,1,y,u); //Identified model given u and y. +Acoeff=Armaest('a'); //Coefficients of the polynomial A(x) +Bcoeff=Armaest('b') //Coefficients of the polynomial B(x) +Dcoeff=Armaest('d'); //Coefficients of the polynomial D(x) +[Ax,Bx,Dx]=arma2p(Armaest) //Results in polynomial form. +//-Ex2- Arma1: y_t -0.8*y_{t-1} + 0.2*y_{t-2} = sig*e(t) +ny=1,nu=1;sig=0.001; +// First step: simulation the Arma1 model, for that we define +// Arma2: y_t -0.8*y_{t-1} + 0.2*y_{t-2} = sig*u(t) +// with normal deviates for u(t). +Arma2=armac([1,-0.8,0.2],sig,0,ny,nu,0); +//Definition of the Arma2 arma model (a model with B=sig and without noise!) +u=rand(1,10000,'normal'); // An input sequence for Arma2 +y=arsimul(Arma2,u); // y = output of Arma2 with input u +// can be seen as output of Arma1. +// Second step: identification. We look for an Arma model +// y(t) + a1*y(t-1) + a2 *y(t-2) = sig*e(t) +Arma1est=armax(2,-1,y,[]); +[A,B,D]=arma2p(Arma1est) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/armax1.xml b/modules/cacsd/help/ja_JP/armax1.xml new file mode 100755 index 000000000..56a4ab4c6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/armax1.xml @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="armax1"> + <refnamediv> + <refname>armax1</refname> + <refpurpose>armax 同定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[arc,resid]=armax1(r,s,q,y,u [,b0f])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>y</term> + <listitem> + <para>出力信号</para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>入力信号</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r,s,q</term> + <listitem> + <para>自己回帰の次数, ただし, r >=0, s >=-1.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>b0f</term> + <listitem> + <para>オプションのパラメータ. + デフォルト値は 0で,この場合, + 係数 b0 を同定する必要があります. + bof=1の場合, b0 は0であると仮定され,同定されません. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>arc</term> + <listitem> + <para> + "ar"型のtlistおよびフィールド a, b, d, ny, nu, sig + </para> + <variablelist> + <varlistentry> + <term>a</term> + <listitem> + <para> + ベクトル <literal>[1,a1,...,a_r]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>b</term> + <listitem> + <para> + ベクトル <literal>[b0,......,b_s]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>d</term> + <listitem> + <para> + ベクトル <literal>[1,d1,....,d_q]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para> resid=[ sig*echap(1),....,];</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + armax1 は1次元のARXプロセスの係数を同定するために使用されます: + </para> + <programlisting role=""><![CDATA[ +A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t) +e(t) is a 1-dimensional white noise with variance 1. +A(z)= 1+a1*z+...+a_r*z^r; ( r=0 => A(z)=1) +B(z)= b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) +D(z)= 1+d1*z+...+d_q*z^q ( q=0 => D(z)=1) + ]]></programlisting> + <para> + この手法については,Eykhoffの96ページ, + "trends and progress in system identification"を参照ください. + </para> + <programlisting role=""><![CDATA[ +z(t)=[y(t-1),..,y(t-r),u(t),..., + u(t-s),e(t-1),...,e(t-q)] + ]]></programlisting> + <para> + および + </para> + <programlisting role=""><![CDATA[ +coef= [-a1,..,-ar,b0,...,b_s,d1,...,d_q]' +y(t)= coef'* z(t) + sig*e(t). + ]]></programlisting> + <para> + とすると, + 逐次型のAR推定(RLLS)が使用されます. + この際, e(t-i)は推定値により置換されます. + q=0の場合,この手法は逐次型のarmaxに完全に一致します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +a = [1, -2.851, 2.717, -0.865]; +b = [0, 1, 1, 1]; +d = [1, 0.7, 0.2]; +ar = armac(a, b, d, 1, 1, 1); +disp(_("Simulation of an ARMAX process:")); +disp(ar); +n = 300; +u = -prbs_a(n, 1, int([2.5,5,10,17.5,20,22,27,35]*100/12)); +zd = narsimul(ar, u); +// armax1を使用: 有色ノイズ同定 +// 同じ例を以下のように試すことができます +[arc1, resid] = armax1(3,3,2,zd(1:n),u,1); +disp(arc1); + ]]></programlisting> + </refsection> + <refsection> + <title>重要な警告</title> + <para>バージョン4.1.2までのScilabは, + <literal>sig</literal>の2乗を戻り値 + <literal>arc.sig</literal>として返していました. + armaモデルの表示とarmax関数について + 確認し易くするために, Scilabバージョン5.0以降では, + 戻り値<literal>arc.sig</literal>は<literal>sig</literal>となっています. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/arsimul.xml b/modules/cacsd/help/ja_JP/arsimul.xml new file mode 100755 index 000000000..34f5baf38 --- /dev/null +++ b/modules/cacsd/help/ja_JP/arsimul.xml @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="arsimul"> + <refnamediv> + <refname>arsimul</refname> + <refpurpose>armaxシミュレーション</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[z]=arsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=arsimul(ar,u,[up,yp,ep]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>ar</term> + <listitem> + <para>armaxプロセス. armac参照.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>a</term> + <listitem> + <para> + (n,(r+1)*n)次の行列 <literal>[Id,a1,...,a_r]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>b</term> + <listitem> + <para> + (n,(s+1)*m)次の行列 <literal>[b0,......,b_s]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>d</term> + <listitem> + <para> + (n,(t+1)*n)次の行列<literal>[Id,d_1,......,d_t]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>行列(m,N), エントリu(:,j)=u_jを指定</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sig</term> + <listitem> + <para>(n,n)行列 e_{k} で分散Iのn次ガウス過程</para> + </listitem> + </varlistentry> + <varlistentry> + <term>up, yp</term> + <listitem> + <para> + 前の値を記述するオプションのパラメータ. <literal>up=[ u_0,u_{-1},...,u_{s-1}]</literal>; + <literal>yp=[ y_0,y_{-1},...,y_{r-1}];</literal> <literal>ep=[ e_0,e_{-1},...,e_{r-1}]</literal>; + 省略された場合, 前の値はゼロであると仮定されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>z</term> + <listitem> + <para> + <literal>z=[y(1),....,y(N)]</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 以下のn次元 armax プロセスのシミュレーションを行います, + <literal>A(z^-1) z(k)= B(z^-1)u(k) + D(z^-1)*sig*e(k)</literal> + </para> + <programlisting role=""><![CDATA[ +A(z)= Id+a1*z+...+a_r*z^r; ( r=0 => A(z)=Id) +B(z)= b0+b1*z+...+b_s z^s; ( s=-1 => B(z)=[]) +D(z)= Id+d1*z+...+d_t z^t; ( t=0 => D(z)=Id) + ]]></programlisting> + <para> + ただし, + z と e は <literal>R^n</literal>, u は <literal>R^m</literal>です. + </para> + </refsection> + <refsection> + <title>手法</title> + <para> + 状態空間表現が構築され, + odeにオプション "discrete"を指定することにより, + zを計算することができます. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/augment.xml b/modules/cacsd/help/ja_JP/augment.xml new file mode 100755 index 000000000..14813c9e8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/augment.xml @@ -0,0 +1,162 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="augment"> + <refnamediv> + <refname>augment</refname> + <refpurpose>拡張プラント</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[P,r]=augment(G) + [P,r]=augment(G,flag1) + [P,r]=augment(G,flag1,flag2) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト), ノミナルプラント + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag1</term> + <listitem> + <para> + 以下の文字(大文字)の一つ: <literal> 'S' </literal>, <literal> 'R' </literal>, <literal> 'T' </literal> <literal> 'SR' </literal>, <literal> 'ST' </literal>, <literal> 'RT' </literal> <literal> 'SRT' </literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag2</term> + <listitem> + <para> + 以下の文字の一つ: <literal> 'o' </literal> (出力'output'を意味する, これがデフォルト値) または <literal>'i'</literal> (入力'input'を意味する). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト), ``拡張''プラント + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル, <literal>P22 = G</literal>の次元 + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>flag1='SRT'</literal> (デフォルト値)の場合,以下の"完全な" 拡張プラントを返します: + </para> + <programlisting role=""><![CDATA[ + [ I | -G] -->'S' + [ 0 | I] -->'R' +P = [ 0 | G] -->'T' + [-------] + [ I | -G + ]]></programlisting> + <para> + <literal> 'S' </literal>, <literal> 'R' </literal>, <literal> 'T' </literal> + は,それぞれ,<literal>P</literal>の最初の3つの(ブロック)行を指します. + </para> + <para> + <literal>flag1</literal>の中にこれらの3文字のどれかが欠けた場合, + <literal>P</literal>の対応する行がなくなります. + </para> + <para> + <literal>G</literal> が状態空間形式で指定された場合, + 戻り値 <literal>P</literal>は最小実現になります. + <literal>P</literal> は以下のように計算されます: <literal>[I,0,0;0,I,0;-I,0,I;I,0,0]*[I,-G;0,I;I,0]</literal>. + </para> + <para> + 入力感度関数に関連した拡張プラント,つまり, + The augmented plant associated with input sensitivity functions, namely + </para> + <programlisting role=""><![CDATA[ + [ I | -I] -->'S' (input sensitivity) + [ G | -G] -->'R' (G*input sensitivity) +P = [ 0 | I] -->'T' (K*G*input sensitivity) + [-------] + [ G | -G] + ]]></programlisting> + <para> + は,コマンド<literal>[P,r]=augment(G,flag,'i')</literal>により得られます. + 状態空間を<literal>G</literal>とすると, + この <literal>P</literal>は以下のように計算されます: + <literal>[I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I]</literal>, + よって,一般に最小実現となります. + </para> + <para> + 重み関数は, + <literal> P = sysdiag(W1,W2,W3,eye(G))*P</literal>のように + <literal>P</literal>に適当な次元の対角システムを + 左から乗じることにより得られます. + </para> + <para> + 感度関数は<literal>lft</literal>により計算することができます. + </para> + <para> + 出力感度関数 [P,r]=augment(P,'SRT') の場合: + lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)]; + </para> + <para> + 入力感度関数の場合 [P,r]=augment(P,'SRT','i'): + lft(P,r,K)=[inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+G*K)]; + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +G=ssrand(2,3,2); //プラント +K=ssrand(3,2,2); //補償器 +[P,r]=augment(G,'T'); +T=lft(P,r,K); //相補感度関数 +Ktf=ss2tf(K);Gtf=ss2tf(G); +Ttf=ss2tf(T);T11=Ttf(1,1); +Oloop=Gtf*Ktf; +Tn=Oloop*inv(eye(Oloop)+Oloop); +clean(T11-Tn(1,1)); +// +[Pi,r]=augment(G,'T','i'); +T1=lft(Pi,r,K);T1tf=ss2tf(T1); //入力相補感度関数 +Oloop=Ktf*Gtf; +T1n=Oloop*inv(eye(Oloop)+Oloop); +clean(T1tf(1,1)-T1n(1,1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="sensi">sensi</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/balreal.xml b/modules/cacsd/help/ja_JP/balreal.xml new file mode 100755 index 000000000..ed17b6db5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/balreal.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="balreal"> + <refnamediv> + <refname>balreal</refname> + <refpurpose>平衡実現</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[slb [,U] ] = balreal(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl,slb</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システムの平衡実現 <literal>sl=[A,B,C,D]</literal>. <literal>sl</literal> + は連続時間または離散時間状態空間システムとすることができます. + sl は安定と仮定されます. + </para> + <programlisting role=""><![CDATA[ +slb=[inv(U)*A*U ,inv(U)*B , C*U , D] + ]]></programlisting> + <para> + は平衡実現です. + </para> + <para> + 戻り値<literal>slb</literal> は<literal>syslin</literal> リストです. + </para> + </refsection> + <refsection> + <title>例s</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3,-4,-5]);B=rand(5,2);C=rand(1,5); +sl=syslin('c',A,B,C); +[slb,U]=balreal(sl); +Wc=clean(ctr_gram(slb)) +W0=clean(obs_gram(slb)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + <member> + <link linkend="hankelsv">hankelsv</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/bilin.xml b/modules/cacsd/help/ja_JP/bilin.xml new file mode 100755 index 000000000..ddba50a6e --- /dev/null +++ b/modules/cacsd/help/ja_JP/bilin.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="bilin"> + <refnamediv> + <refname>bilin</refname> + <refpurpose>一般化双一次変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[sl1]=bilin(sl,v)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl,sl1</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>v</term> + <listitem> + <para> + 4つのエントリを有する実数ベクトル (<literal>v=[a,b,c,d]</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システムを状態空間形式<literal>sl=syslin(dom,A,B,C,D)</literal> + (<literal>syslin</literal> リスト) + で指定すると, + <literal>sl1=bilin(sl,v)</literal> は行列<literal>[A1,B1,C1,D1]</literal>を有する + 線形システム<literal>sl1</literal>を返します. + ここで,行列<literal>[A1,B1,C1,D1]</literal>は + その伝達関数<literal>H1(s)=C1*inv(s*eye()-A1)*B1+D1</literal>が + <literal>H(z)=C*inv(z*eye()-A)*B+D</literal>において + <literal>z</literal>を<literal>z=(a*s+b)/(c*s+d)</literal>で置換することにより + 得られたものです. + <literal>w=bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a])</literal>の関係があります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');z=poly(0,'z'); +w=ssrand(1,1,3); +wtf=ss2tf(w);v=[2,3,-1,4];a=v(1);b=v(2);c=v(3);d=v(4); +[horner(wtf,(a*z+b)/(c*z+d)),ss2tf(bilin(w,[a,b,c,d]))] +clean(ss2tf(bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a]))-wtf) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="horner">horner</link> + </member> + <member> + <link linkend="cls2dls">cls2dls</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/bstap.xml b/modules/cacsd/help/ja_JP/bstap.xml new file mode 100755 index 000000000..4000df47b --- /dev/null +++ b/modules/cacsd/help/ja_JP/bstap.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="bstap"> + <refnamediv> + <refname>bstap</refname> + <refpurpose>ハンケル近似</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Q]=bstap(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト)で, + 連続時間,非安定と仮定されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para> + <literal>Sl</literal>の最良の安定近似 (<literal>syslin</literal> リスト). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システム<literal>Sl</literal>の最良の近似<literal>Q</literal>を + 計算します. + </para> + <para> + ただし, + </para> + <para> + ||T|| + </para> + <para> + は,<literal>Sl</literal>に関連するハンケル演算子のH無限大ノルムです. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/cainv.xml b/modules/cacsd/help/ja_JP/cainv.xml new file mode 100755 index 000000000..2f4eef171 --- /dev/null +++ b/modules/cacsd/help/ja_JP/cainv.xml @@ -0,0 +1,189 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="cainv"> + <refnamediv> + <refname>cainv</refname> + <refpurpose>abinvの双対</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[X,dims,J,Y,k,Z]=cainv(Sl,alfa,beta,flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 行列 <literal>[A,B,C,D]</literal>を含む<literal>syslin</literal> リスト. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa</term> + <listitem> + <para>実数の数値またはベクトル (複素数となる場合もある,閉ループ極の位置)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>実数の数値またはベクトル (複素数となる場合もある,閉ループ極の位置)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + (オプションの) 文字列 <literal>'ge'</literal> (default)または <literal>'st'</literal> または <literal>'pp'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>大きさ nx (状態空間の次元)の直交行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dims</term> + <listitem> + <para> + 整数行ベクトル <literal>dims=[nd1,nu1,dimS,dimSg,dimN]</literal> (5エントリ + , 非降順). + <literal>flag='st'</literal> + (もしくは<literal>'pp'</literal>)の場合, <literal>dims</literal> は 4 + (もしくは3)個の要素を有します. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para>実数行列 (出力)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>大きさnyの直交行列 (出力空間の次元).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para> + 整数 (<literal>Sl</literal>のランク) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para> + 正則な線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>cainv</literal> は + (状態空間および出力状態応答の)基底 <literal>(X,Y)</literal>を見つけます. + 基底を (X,Y)とする行列 Slは以下のように表示されます: + </para> + <programlisting role=""><![CDATA[ + [A11,*,*,*,*,*] [*] + [0,A22,*,*,*,*] [*] +X'*(A+J*C)*X = [0,0,A33,*,*,*] X'*(B+J*D) = [*] + [0,0,0,A44,*,*] [0] + [0,0,0,0,A55,*] [0] + [0,0,0,0,0,A66] [0] + Y*C*X = [0,0,C13,*,*,*] Y*D = [*] + [0,0,0,0,0,C26] [0] + ]]></programlisting> + <para> + The partition of <literal>X</literal>の分割は + ベクトル<literal>dims=[nd1,nu1,dimS,dimSg,dimN]</literal>により定義され, + <literal>Y</literal>の分割は<literal>k</literal>により定義されます. + </para> + <para> + <literal>A11</literal><literal>(nd1 x nd1)</literal> の固有値は不安定です. + <literal>A22</literal> <literal>(nu1-nd1 x nu1-nd1)</literal>の固有値は安定です. + </para> + <para> + 対 <literal>(A33, C13)</literal> <literal>(dimS-nu1 x dimS-nu1, k x dimS-nu1)</literal>は + 可観測, <literal>A33</literal>の固有値は <literal>alfa</literal>に設定されます. + </para> + <para> + 行列 <literal>A44</literal> <literal>(dimSg-dimS x dimSg-dimS)</literal> は不安定です. + 行列 <literal>A55</literal> <literal>(dimN-dimSg,dimN-dimSg)</literal> は安定です. + </para> + <para> + 対 <literal>(A66,C26)</literal> <literal>(nx-dimN x nx-dimN)</literal> は可観測, + <literal>A66</literal>の固有値は<literal>beta</literal>に設定されます. + </para> + <para> + <literal>X</literal>の最初の<literal>dimS</literal>列は, + Im(B)を含む不変部分空間 S= smallest (C,A) に広がり, + <literal>X</literal>の最初の<literal>dimSg</literal>列は, + <literal>Sl</literal>の最大"相補可検出部分空間" Sg に広がります. + </para> + <para> + <literal>X</literal>の最初の<literal>dimN</literal>列は, + <literal>Sl</literal> の最大"相補可観測部分空間"に広がります. + (B(ker(D))=0の場合,<literal>dimS=0</literal>) + </para> + <para> + <literal>flag='st'</literal> が指定された場合, + 5個の分割ブロック行列が返され, + <literal>dims</literal>は4つの要素を有します. + <literal>flag='pp'</literal>が指定された場合, + 4個の分割ブロックが返されます(abinv参照). + </para> + <para> + この関数は次のように未知入力オブザーバを計算する際に使用することができます: + </para> + <programlisting role=""><![CDATA[ +// DDEP: dot(x)=A x + Bu + Gd +// y= Cx (observation) +// z= Hx (z=variable to be estimated, d=disturbance) +// Find: dot(w) = Fw + Ey + Ru such that +// zhat = Mw + Ny +// z-Hx goes to zero at infinity +// Solution exists iff Ker H contains Sg(A,C,G) inter KerC (assuming detectability) +//i.e. H is such that: +// For any W which makes a column compression of [Xp(1:dimSg,:);C] +// with Xp=X' and [X,dims,J,Y,k,Z]=cainv(syslin('c',A,G,C)); +// [Xp(1:dimSg,:);C]*W = [0 | *] one has +// H*W = [0 | *] (with at least as many aero columns as above). + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="abinv">abinv</link> + </member> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + <member> + <link linkend="ui_observer">ui_observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/calfrq.xml b/modules/cacsd/help/ja_JP/calfrq.xml new file mode 100755 index 000000000..3f4193c27 --- /dev/null +++ b/modules/cacsd/help/ja_JP/calfrq.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="calfrq" xml:lang="ja"> + <refnamediv> + <refname>calfrq</refname> + <refpurpose>離散的な周波数応答</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[frq,bnds,split]=calfrq(h,fmin,fmax)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para>状態空間または伝達関数表現の線形システム + ( + <literal> + <link linkend="syslin">syslin</link> + </literal> + 参照) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>実数スカラー (周波数範囲の下限/上限,単位:Hz)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>行ベクトル (周波数間隔の離散値)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>bnds</term> + <listitem> + <para> + ベクトル <literal>[Rmin Rmax Imin Imax]</literal>, + ただし, <literal>Rmin</literal> および<literal>Rmax</literal> は + 周波数応答の実部の下限と上限, + <literal>Imin</literal> および <literal>Imax</literal> は + 周波数応答の虚部の下限と上限です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>split</term> + <listitem> + <para>周波数分割点の添え字のベクトル</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 周波数応答を離散的に取得します; <literal>frq</literal> は + <literal>[fmin,fmax]</literal>の範囲で, + 周波数応答における極値がうまく表現されるように + 離散化したものです. + </para> + <para> + <literal>frq(split(k)-1)</literal>と<literal>frq(split(k))</literal> (<literal>k>1</literal>)の + 間には特異となる周波数があります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) +[f1,bnds,spl]=calfrq(h1,0.01,1000); +rf=repfreq(h1,f1); +plot2d(real(rf)',imag(rf)') + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="logspace">logspace</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/canon.xml b/modules/cacsd/help/ja_JP/canon.xml new file mode 100755 index 000000000..859509413 --- /dev/null +++ b/modules/cacsd/help/ja_JP/canon.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="canon"> + <refnamediv> + <refname>canon</refname> + <refpurpose>可制御正準形</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Ac,Bc,U,ind]=canon(A,B)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Ac,Bc</term> + <listitem> + <para>正準形</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>カレントの基底 (正方正則行列)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ind</term> + <listitem> + <para>整数ベクトル, 可制御性の添え字</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 対<literal>(A,B)</literal>の可制御正準形を出力します. + </para> + <para> + <literal>Ac=inv(U)*A*U, Bc=inv(U)*B</literal> + </para> + <para> + ベクトル <literal>ind</literal> は, + ペンシル<literal>[sI - A , B]</literal>の<literal>epsilon_i</literal>の + 添え字(降順)から作成されます. + 例えば,<literal>ind=[3,2]</literal>の場合, + <literal>Ac</literal> および <literal>Bc</literal> は以下のようになります: + </para> + <programlisting role=""><![CDATA[ + [*,*,*,*,*] [*] + [1,0,0,0,0] [0] +Ac= [0,1,0,0,0] Bc=[0] + [*,*,*,*,*] [*] + [0,0,0,1,0] [0] + ]]></programlisting> + <para> + <literal>(A,B)</literal> が可制御の場合,適当な<literal>F</literal>を + 選択することにより,<literal>Ac+Bc*F</literal> のエントリ + <literal>*</literal>を任意の値に設定(極配置)することができます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=[1,2,3,4,5; + 1,0,0,0,0; + 0,1,0,0,0; + 6,7,8,9,0; + 0,0,0,1,0]; +B=[1,2; + 0,0; + 0,0; + 2,1; + 0,0]; +X=rand(5,5);A=X*A*inv(X);B=X*B; //可制御対 +[Ac,Bc,U,ind]=canon(A,B); //2つの添え字 --> ind=[3.2]; +index=1;for k=1:size(ind,'*')-1,index=[index,1+sum(ind(1:k))];end +Acstar=Ac(index,:);Bcstar=Bc(index,:); +s=poly(0,'s'); +p1=s^3+2*s^2-5*s+3;p2=(s-5)*(s-3); +//p1 と p2 は3,2次の閉ループ多項式の目標値 +c1=coeff(p1);c1=c1($-1:-1:1);c2=coeff(p2);c2=c2($-1:-1:1); +Acstardesired=[-c1,0,0;0,0,0,-c2]; +//Acstardesired(index,:) は,pol=p1*p2のコンパニオン行列 +F=Bcstar\(Acstardesired-Acstar); //フィードバックゲイン +Ac+Bc*F // コンパニオン形式 +spec(A+B*F/U) // F/U は元の基底のゲイン行列. + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="obsv_mat">obsv_mat</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="ppol">ppol</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ccontrg.xml b/modules/cacsd/help/ja_JP/ccontrg.xml new file mode 100755 index 000000000..6fdb2be9a --- /dev/null +++ b/modules/cacsd/help/ja_JP/ccontrg.xml @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - P. Gahinet + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ccontrg"> + <refnamediv> + <refname>ccontrg</refname> + <refpurpose>H無限大コントローラの中央解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[K]=ccontrg(P,r,gamma);</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + <literal>syslin</literal> リスト (状態空間表現の線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル, <literal>P</literal>の2,2 区域の次元 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>gamma</term> + <listitem> + <para>実数</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間形式の一般標準問題の中央解であるコントローラの実現 <literal>K</literal> + を返します. + </para> + <para> + gamma > gopt (<literal>gamitg</literal>の出力)が必要なことに注意してください + </para> + <para> + P は,以下のようなプラント実現のパラメータ <literal>(A,B,C,D)</literal> + (<literal>syslin</literal> リスト)を有します. + </para> + <programlisting role=""><![CDATA[ +B = ( B1 , B2 ) , C= ( C1 ) , D = ( D11 D12) + ( C2 ) ( D21 D22) + ]]></programlisting> + <para> + <literal>r(1)</literal> および <literal>r(2)</literal> は, + <literal>D22</literal> の次元(行 x 列)です. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="gamitg">gamitg</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> は連続時間系の線形動的システムであることが確認されるようになりました. + この修正は, + <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">このcommit</ulink> + により行われました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/cls2dls.xml b/modules/cacsd/help/ja_JP/cls2dls.xml new file mode 100755 index 000000000..5bb18bf11 --- /dev/null +++ b/modules/cacsd/help/ja_JP/cls2dls.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="cls2dls"> + <refnamediv> + <refname>cls2dls</refname> + <refpurpose>双線形変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[sl1]=cls2dls(sl,T [,fp])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl,sl1</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>実数, サンプリング周期</para> + </listitem> + </varlistentry> + <varlistentry> + <term>fp</term> + <listitem> + <para>プリワープ周波数 (単位: Hz) </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>sl=[A,B,C,D]</literal> (<literal>syslin</literal> リスト), + 連続時間システム + <literal>cls2dls</literal> は双線形変換<literal>s=(2/T)*(z-1)/(z+1)</literal> + により得られたサンプル値システムを返します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');z=poly(0,'z'); +sl=syslin('c',(s+1)/(s^2-5*s+2)); //連続時間系伝達関数表現 +slss=tf2ss(sl); //状態空間表現に変換 +sl1=cls2dls(slss,0.2); //sl1= cls2dlsの出力 +sl1t=ss2tf(sl1) // 伝達関数表現に変換 +sl2=horner(sl,(2/0.2)*(z-1)/(z+1)) //sl2 と sl1を比較 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="horner">horner</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/colinout.xml b/modules/cacsd/help/ja_JP/colinout.xml new file mode 100755 index 000000000..926a15b86 --- /dev/null +++ b/modules/cacsd/help/ja_JP/colinout.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="colinout"> + <refnamediv> + <refname>colinout</refname> + <refpurpose>インナアウタ分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Inn,X,Gbar]=colinout(G)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) <literal>[A,B,C,D]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Inn</term> + <listitem> + <para> + インナファクタ (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gbar</term> + <listitem> + <para> + アウタファクタ (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para> + <literal>G</literal> の行圧縮(<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + l x p (l<=p)の<literal>G =[A,B,C,D]</literal>のインナアウタ分解(及び列圧縮). + </para> + <para> + <literal>G</literal> は虚軸上にゼロを有さない + 横長(<literal>l<=p</literal>)で, + <literal>D</literal> 行列が列フルランクであると仮定します. + </para> + <para> + <literal>Gbar</literal>が安定であるために, + <literal>G</literal> も安定である必要があります. + </para> + <para> + <literal>rowinout</literal>の双対です. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="rowinout">rowinout</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/colregul.xml b/modules/cacsd/help/ja_JP/colregul.xml new file mode 100755 index 000000000..335766722 --- /dev/null +++ b/modules/cacsd/help/ja_JP/colregul.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="colregul"> + <refnamediv> + <refname>colregul</refname> + <refpurpose>無限大にある極及びゼロを取り除く</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順e</title> + <synopsis>[Stmp,Ws]=colregul(Sl,alfa,beta)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl,Stmp</term> + <listitem> + <para> + <literal>syslin</literal>リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa,beta</term> + <listitem> + <para>実数 (新しい極およびゼロの位置)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>Stmp=Sl*Ws</literal>がプロパーで + <literal>D</literal>行列がフルランクとなるようなプリフィルタ<literal>Ws</literal> + を計算します. + </para> + <para> + <literal>Sl</literal>の無限大にある極は<literal>alfa</literal>に移動されます. + </para> + <para> + <literal>Sl</literal>の無限大にあるゼロは<literal>beta</literal>に移動されます. + </para> + <para> + <literal>Sl</literal> は, + 多項式<literal>D</literal>行列が付属する可能性がある状態空間表現の + 左可逆線形システム(<literal>syslin</literal> リスト)であると仮定されます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="invsyslin">invsyslin</link> + </member> + <member> + <link linkend="inv">inv</link> + </member> + <member> + <link linkend="rowregul">rowregul</link> + </member> + <member> + <link linkend="rowshuff">rowshuff</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/cont_mat.xml b/modules/cacsd/help/ja_JP/cont_mat.xml new file mode 100755 index 000000000..46c9dd1e6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/cont_mat.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="cont_mat"> + <refnamediv> + <refname>cont_mat</refname> + <refpurpose>可制御行列</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出しの手順</title> + <synopsis>Cc=cont_mat(A,B) + Cc=cont_mat(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>a,b</term> + <listitem> + <para>2個の適当な次元の実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>cont_mat</literal> は、行列の組 <literal>A,B</literal> + (システム<literal>sl=[A,B,C,D]</literal>の応答)に + 関する可制御行列を返す. + </para> + <programlisting role=""><![CDATA[ +Cc=[B, AB, A^2 B,..., A^(n-1) B] + ]]></programlisting> + </refsection> + <refsection> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/contr.xml b/modules/cacsd/help/ja_JP/contr.xml new file mode 100755 index 000000000..9c48aabb8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/contr.xml @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="contr"> + <refnamediv> + <refname>contr</refname> + <refpurpose>可制御性, 可制御部分空間, 階段化</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出しの手順</title> + <synopsis>n=contr(A,B [,tol]) + [n,U]=contr(A,B [,tol]) + [n,U,ind,V,Ac,Bc]=contr(A,B,[,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A, B</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>虚数パラメータ</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>可制御部分空間の次元.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + <literal>(A,B)</literal>を正準形に変換する直交変換基底. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para>制御空間の基底を変更する直交行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ac</term> + <listitem> + <para> + ブロックヘッセ行列 <literal>Ac=U'*A*U</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Bc</term> + <listitem> + <para> + is <literal>U'*B*V</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ind</term> + <listitem> + <para> + 可制御インデックス + (サブスペース <literal>B, B+A*B,...=ind(1),ind(1)+ind(2),...</literal>の次元) + を有するp整数ベクトル + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[n,[U]]=contr(A,B,[tol])</literal> は + <literal>(A,B)</literal> の可制御形式を与える. + (<literal>dx/dt = A x + B u</literal> または + <literal>x(n+1) = A x(n) +b u(n)</literal>). + <literal>U</literal> の最初の <literal>n</literal> 列は、 + 可制御サブスペースの基底を構成する. + </para> + <para> + <literal>V=U(:,1:n)</literal>の場合, + <literal>V'*A*V</literal> と <literal>V'*B</literal> は + <literal>(A,B)</literal> の可制御部を与える. + </para> + <para> + <literal>(Bc, Ac)</literal> は階段化可制御形式である. + </para> + <programlisting role=""><![CDATA[ + |B |sI-A * . . . * * | + | 1| 11 . . . | + | | A sI-A . . . | + | | 21 22 . . . | + | | . . * * | +[U'BV|sI - U'AU] = |0 | 0 . . | + | | A sI-A * | + | | p,p-1 pp | + | | | + |0 | 0 0 sI-A | + | | p+1,p+1| + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <para> + Slicot ライブラリ (SCI/modules/cacsd/src/slicotのab01od参照). + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +W=ssrand(2,3,5,list('co',3)); //cont. subspace has dim 3. +A=W("A");B=W("B"); +[n,U]=contr(A,B);n +A1=U'*A*U; +spec(A1(n+1:$,n+1:$)) //uncontrollable modes +spec(A+B*rand(3,5)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="unobs">unobs</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/contrss.xml b/modules/cacsd/help/ja_JP/contrss.xml new file mode 100755 index 000000000..96b999825 --- /dev/null +++ b/modules/cacsd/help/ja_JP/contrss.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="contrss"> + <refnamediv> + <refname>contrss</refname> + <refpurpose>可制御部分</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[slc]=contrss(sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 可制御の閾値 (<literal>contr</literal>参照). デフォルト値は <literal>sqrt(%eps)</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間形式の + 線形システム<literal>sl = (A,B,C,D)</literal>の + 可制御部分を返します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=[1,1;0,2];B=[1;0];C=[1,1];sl=syslin('c',A,B,C); //非最小実現 +slc=contrss(sl); +sl1=ss2tf(sl);sl2=ss2tf(slc); //sl1 と sl2を比較 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="cont_frm">cont_frm</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/copfac.xml b/modules/cacsd/help/ja_JP/copfac.xml new file mode 100755 index 000000000..d39852987 --- /dev/null +++ b/modules/cacsd/help/ja_JP/copfac.xml @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="copfac"> + <refnamediv> + <refname>copfac</refname> + <refpurpose>連続時間動的システムの右既約分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[N,M,XT,YT]=copfac(G [,polf,polc,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 連続時間線形動的システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>polf, polc</term> + <listitem> + <para> + それぞれ,<literal>XT</literal>と<literal>YT</literal>の極と, + <literal>N</literal> と <literal>M</literal>の極 (デフォルト値=-1). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 安定な極を検出ための実数閾値 (デフォルト値 <literal>100*%eps</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N,M,XT,YT</term> + <listitem> + <para> + <literal>syslin</literal>連続時間線形動的システム + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[N,M,XT,YT]=copfac(G,[polf,polc,[tol]])</literal> は, + <literal>G</literal>の右既約分解を返します. + </para> + <para> + <literal>G= N*M^-1</literal>, ただし, + <literal>N</literal> と <literal>M</literal>は安定で,プロパーで,右既約です. + (すなわち, <literal>[N M]</literal> は安定な左可逆) + </para> + <para> + <literal>XT</literal> と <literal>YT</literal> は以下を満たします: + </para> + <para> + <literal>[XT -YT].[M N]' = eye</literal> (ベズー恒等式) + </para> + <para> + <literal>G</literal> は可安定で可検出であると仮定します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="lcf">lcf</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> は連続時間線形動的システムについて + 確認されるようになりました. + この変換は + <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/csim.xml b/modules/cacsd/help/ja_JP/csim.xml new file mode 100755 index 000000000..486d89edc --- /dev/null +++ b/modules/cacsd/help/ja_JP/csim.xml @@ -0,0 +1,224 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="csim"> + <refnamediv> + <refname>csim</refname> + <refpurpose>線形システムのシミュレーション (時間応答)</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[y [,x]]=csim(u,t,sl,[x0 [,tol]])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>u</term> + <listitem> + <para>関数, リストまたは文字列 (制御入力)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>t</term> + <listitem> + <para> + 時間を指定するための実数ベクトルで、<literal>t(1)</literal> は + 初期時間 (<literal>x0=x(t(1))</literal>)を表す. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 連続時間系の<literal>syslin</literal>リスト (SIMO線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para> + <literal>y=[y(t(i)]</literal>, i=1,..,n となる行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para> + <literal>x=[x(t(i)]</literal>, i=1,..,n となる行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>2つの要素 [atol rtol] からなるベクトルであり、それぞれ + ODEソルバ(ode参照)の絶対許容誤差および相対許容誤差を定義する + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形制御系 <literal>sl</literal>のシミュレーションを行います. + ただし,<literal>sl</literal>は, + <literal>syslin</literal>リストで表された連続時間システムとします. + </para> + <para> + <literal>u</literal> は制御入力,<literal>x0</literal> は状態量初期値です. + </para> + <para> + <literal>y</literal> は出力,<literal>x</literal> は状態量です. + </para> + <para> + 制御入力は以下のいずれかとすることができます: + </para> + <para> + 1. 関数 : <literal>[inputs]=u(t)</literal> + </para> + <para> + 2. リスト : <literal>list(ut,parameter1,....,parametern)</literal>. + ただし、<literal>inputs=ut(t,parameter1,....,parametern)</literal> (<literal>ut</literal> は関数) + </para> + <para> + 3. インパルス応答の計算を表す文字列 <literal>"impuls"</literal> + (ここで,<literal>sl</literal>の入力は単一で<literal>x0=0</literal>が必要). + 直達項を有する系の場合, t=0における無限インパルスは無視されます. + </para> + <para> + 4. ステップ応答の計算を表す文字列 <literal>"step"</literal> + (ここで、<literal>sl</literal>の入力は単一で,<literal>x0=0</literal>が必要) + </para> + <para> + 5. t の各値に対応する u の値を指定するベクトル. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +//impulse(w) = step (s * w) +plot2d([t',t'],[(csim('step',t,tf2ss(s)*w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,tf2ss(s)*w))',0*t']) + </scilab:image> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +plot2d([t',t'],[(csim('impulse',t,w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,w))',0*t']) + </scilab:image> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +//step(w) = impulse (s^-1 * w) +plot2d([t',t'],[(csim('step',t,w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,w))',0*t']) + </scilab:image> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +plot2d([t',t'],[(csim('impulse',t,tf2ss(1/s)*w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,tf2ss(1/s)*w))',0*t']) + </scilab:image> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +rand('seed',0); +w=ssrand(1,1,3); +w('A')=w('A')-2*eye(); +t=0:0.05:5; +//時間関数で定義された入力 +deff('u=timefun(t)','u=abs(sin(t))') +clf();plot2d([t',t'],[(csim(timefun,t,w))',0*t']) +]]></programlisting> + <scilab:image> + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + deff('u=timefun(t)','u=abs(sin(t))') + clf();plot2d([t',t'],[(csim(timefun,t,w))',0*t']) + </scilab:image> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="dsimul">dsimul</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + <member> + <link linkend="ltitr">ltitr</link> + </member> + <member> + <link linkend="rtitr">rtitr</link> + </member> + <member> + <link linkend="ode">ode</link> + </member> + <member> + <link linkend="impl">impl</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ctr_gram.xml b/modules/cacsd/help/ja_JP/ctr_gram.xml new file mode 100755 index 000000000..ef554057d --- /dev/null +++ b/modules/cacsd/help/ja_JP/ctr_gram.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ctr_gram"> + <refnamediv> + <refname>ctr_gram</refname> + <refpurpose>可制御グラミアン</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Gc]=ctr_gram(A,B [,dom]) + [Gc]=ctr_gram(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,B</term> + <listitem> + <para>適当な次元の実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + 文字 (<literal>'c'</literal> (デフォルト値) または <literal>'d'</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム, <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>(A,B)</literal> または <literal>sl</literal>の + 可制御グラミアン (<literal>syslin</literal> 線形システム). + </para> + <para> + <literal>dom</literal> 文字は時間領域を次のように指定します : 離散時間システムの場合 <literal>"d"</literal>,連続時間システムの場合 <literal>"c"</literal> (デフォルト). + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3]);B=rand(3,2); +Wc=ctr_gram(A,B) +U=rand(3,3);A1=U*A/U;B1=U*B; +Wc1=ctr_gram(A1,B1) //Not invariant! + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="equil1">equil1</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="cont_frm">cont_frm</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/damp.xml b/modules/cacsd/help/ja_JP/damp.xml new file mode 100755 index 000000000..57e44989a --- /dev/null +++ b/modules/cacsd/help/ja_JP/damp.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Add some comments about XML file +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="damp"> + <refnamediv> + <refname>damp</refname> + <refpurpose>固有周波数およびダンピング乗数. </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + [wn,z] = damp(sys) + [wn,z] = damp(P [,dt]) + [wn,z] = damp(R [,dt]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para> + 線形ダイナミクスシステム + (<link linkend="syslin">syslin</link>参照). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + 多項式配列. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + 実数または複素数の浮動小数点数の配列. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dt</term> + <listitem> + <para> + 非負のスカラー, デフォルト値は 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wn</term> + <listitem> + <para> + 昇順の浮動小数点数のベクトル:固有周波数 [rad/s]. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>z</term> + <listitem> + <para> + 浮動小数点数のベクトル: ダンピング乗数. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 複素極を有する分母の二次連続時間伝達関数は + <literal>s^2+2*z*wn*s+wn^2</literal>のように記述できます。 + ただし,<literal>z</literal> はダンピング乗数, <literal>wn </literal> + は固有周波数です. + </para> + <para> + <literal>sys</literal> が連続時間系の場合, + <literal>[wn,z] = damp(sys)</literal> は + 線形ダイナミクスシステム<literal>sys</literal>の極の + 固有周波数 <latex>\omega_n</latex>(rad/s)を<literal>wn</literal> に + ダンピング係数 <latex>\xi</latex>を<literal>z</literal>に + 返します.配列 <literal>wn</literal> と + <literal>z</literal>は周波数に関して昇順となります. + </para> + <para> + <literal>sys</literal> が離散時間系の場合, + <literal>[wn,z] = damp(sys)</literal> は + <literal>sys</literal>の連続時間系で等価な極の + 固有周波数 <latex>\omega_n</latex>(rad/s)を<literal>wn</literal> に + ダンピング乗数 <latex>\xi</latex>を<literal>z</literal>に + 返します.配列 <literal>wn</literal> と + <literal>z</literal>は周波数に関して昇順となります. + </para> + <para> + <literal>[wn,z] = damp(P)</literal> は, + 配列 <literal>P</literal>に保存された多項式の根の集合の + 固有周波数 <latex>\omega_n</latex>(rad/s) を<literal>wn</literal>, + ダンピング乗数 <latex>\xi</latex>を<literal>z</literal>に返します. + <literal>dt</literal> が指定され, 0でない場合, + その根はまず連続時間系の等価な根に変換されます. + 配列 <literal>wn</literal> および<literal>z</literal> は + 周波数に関して昇順となります. + </para> + <para> + <literal>[wn,z] = damp(R)</literal> は, + 配列<literal>R</literal>に保存された根の集合の + 固有周波数 <latex>\omega_n</latex>(rad/s)を<literal>wn</literal> に + ダンピング乗数 <latex>\xi</latex>を<literal>z</literal>に + 返します. + <literal>dt</literal> が指定され, 0でない場合, + その根はまず連続時間系の等価な根に変換されます. + 配列 <literal>wn(i)</literal> および<literal>z(i)</literal> は + それぞれ<literal>R(i)</literal>の固有周波数およびダンピング乗数と + なります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + s=%s; + num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 + h=syslin('c',num/den); + [wn,z] = damp(h) + ]]></programlisting> + <para> + 以下の例は二次系の周波数応答に関するダンピング乗数の感度を + 示すものです. + </para> + <programlisting role="example"><![CDATA[ + s=%s; + wn=1; + clf(); + Z=[0.95 0.7 0.5 0.3 0.13 0.0001]; + for k=1:size(Z,'*') + z=Z(k) + H=syslin('c',1+5*s+10*s^2,s^2+2*z*wn*s+wn^2); + gainplot(H,0.01,1) + p=gce();p=p.children; + p.foreground=k; + end + title("$\frac{1+5 s+10 s^2}{\omega_n^2+2\omega_n\xi s+s^2}, \quad \omega_n=1$") + legend('$\xi='+string(Z)+'$') + plot(wn/(2*%pi)*[1 1],[0 70],'r') // 固有周波数 + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=%s; + wn=1; + clf(); + Z=[0.95 0.7 0.5 0.3 0.13 0.0001]; + for k=1:size(Z,'*') + z=Z(k) + H=syslin('c',1+5*s+10*s^2,s^2+2*z*wn*s+wn^2); + gainplot(H,0.01,1) + p=gce();p=p.children; + p.foreground=k; + end + title("$\frac{1+5 s+10 s^2}{\omega_n^2+2\omega_n\xi s+s^2}, \quad \omega_n=1$") + legend('$\xi='+string(Z)+'$') + plot(wn/(2*%pi)*[1 1],[0 70],'r') + </scilab:image> + </para> + <para> + 根の集合の固有周波数とダンピング比を計算します: + </para> + <programlisting role="example"><![CDATA[ + [wn,z] = damp((1:5)+%i) + ]]></programlisting> + </refsection> + <refsection> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="spec">spec</link> + </member> + <member> + <link linkend="roots">roots</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/dcf.xml b/modules/cacsd/help/ja_JP/dcf.xml new file mode 100755 index 000000000..39d78e37c --- /dev/null +++ b/modules/cacsd/help/ja_JP/dcf.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dcf"> + <refnamediv> + <refname>dcf</refname> + <refpurpose>2重既約分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[N,M,X,Y,NT,MT,XT,YT]=dcf(G,[polf,polc,[tol]])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + <literal>syslin</literal> リスト (連続時間線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>polf, polc</term> + <listitem> + <para> + それぞれ,<literal>XT</literal>と<literal>YT</literal>の極と, + <literal>N</literal> と <literal>M</literal>の極 (デフォルト値=-1). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 安定な極を検出するための閾値(実数) (デフォルト値 <literal>100*%eps</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N,M,XT,YT,NT,MT,X,Y</term> + <listitem> + <para> + <literal>syslin</literal> リストで表された線形システム + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + は2重既約分解により,8個の安定なシステム<literal>(N,M,X,Y,NT,MT,XT,YT) </literal> + を返します. + </para> + <para> + <literal>G</literal> は可安定で可検出である必要があります. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="copfac">copfac</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ddp.xml b/modules/cacsd/help/ja_JP/ddp.xml new file mode 100755 index 000000000..6a319ddcc --- /dev/null +++ b/modules/cacsd/help/ja_JP/ddp.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ddp"> + <refnamediv> + <refname>ddp</refname> + <refpurpose>外乱デカップリング</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Closed,F,G]=ddp(Sys,zeroed,B1,D1) + [Closed,F,G]=ddp(Sys,zeroed,B1,D1,flag,alfa,beta) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + 行列 <literal>(A,B2,C,D2)</literal>を含む<literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>zeroed</term> + <listitem> + <para> + 整数ベクトル, ゼロ化する<literal>Sys</literal>の出力の添え字. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>B1</term> + <listitem> + <para>real matrix</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D1</term> + <listitem> + <para> + 実数行列. <literal>B1</literal> および <literal>D1</literal> は同数の列を有します. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列 <literal>'ge'</literal> または <literal>'st'</literal> (デフォルト) または <literal>'pp'</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alpha</term> + <listitem> + <para>実数または複素数のベクトル (閉ループ極の位置)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>r実数または複素数のベクトル (閉ループ極の位置)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 完全な外乱デカップリング(出力ゼロ化アルゴリズム). + 線形システムとゼロ化する出力の部分集合 z を指定すると, + wからzへの伝達関数がゼロとなるようなSysの入力wを + 明らかにします. + <literal>Sys</literal> は, + 1入力,2出力の線形システム {A,B2,C,D2} ( すなわち Sys: u-->(z,y) ), + <literal>Sys</literal> + および<literal>B1,D1</literal>で定義される以下のシステムの一部です: + </para> + <programlisting role=""><![CDATA[ +xdot = A x + B1 w + B2 u + z = C1 x + D11 w + D12 u + y = C2 x + D21 w + D22 u + ]]></programlisting> + <para> + Sysの出力は(z,y)に分割され,zはゼロ化されます. + すなわち, 行列 CとD2は次のようになります: + </para> + <programlisting role=""><![CDATA[ +C=[C1;C2] D2=[D12;D22] +C1=C(zeroed,:) D12=D2(zeroed,:) + ]]></programlisting> + <para> + 行列 <literal>D1</literal> は同様に + <literal>D11=D1(zeroed,:)</literal>として + <literal>D1=[D11;D21]</literal>のように分割されます. + 制御則は u=Fx+Gw で, + 閉ループシステム w-->z は以下のように定義されます. + </para> + <programlisting role=""><![CDATA[ +xdot= (A+B2*F) x + (B1 + B2*G) w + z = (C1+D12F) x + (D11+D12*G) w + ]]></programlisting> + <para> + この式は,ゼロ伝達関数を有します. + </para> + <para> + <literal>flag='ge'</literal>は安定性拘束条件を有しません. + <literal>flag='st'</literal> : 安定な閉ループシステムを探します (A+B2*F 安定). + <literal>flag='pp'</literal> : A+B2*Fの固有値を <literal>alfa</literal> および + <literal>beta</literal>に割付ます. + </para> + <para> + 閉ループは閉ループしすてむ<literal>w-->y</literal>の実現です. + </para> + <programlisting role=""><![CDATA[ +xdot= (A+B2*F) x + (B1 + B2*G) w + y = (C2+D22*F) x + (D21+D22*G) w + ]]></programlisting> + <para> + 安定性 (resp. 極配置) は(A,B2)が可安定(もしくは可制御性)であることを必要とします. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +rand('seed',0);nx=6;nz=3;nu=2;ny=1; +A=diag(1:6);A(2,2)=-7;A(5,5)=-9;B2=[1,2;0,3;0,4;0,5;0,0;0,0]; +C1=[zeros(nz,nz),eye(nz,nz)];D12=[0,1;0,2;0,3]; +Sys12=syslin('c',A,B2,C1,D12); +C=[C1;rand(ny,nx)];D2=[D12;rand(ny,size(D12,2))]; +Sys=syslin('c',A,B2,C,D2); +[A,B2,C1,D12]=abcd(Sys12); //Sys12の行列. +my_alpha=-1;my_beta=-2;flag='ge'; +[X,dims,F,U,k,Z]=abinv(Sys12,my_alpha,my_beta,flag); +clean(X'*(A+B2*F)*X) +clean(X'*B2*U) +clean((C1+D12*F)*X) +clean(D12*U); +//アドホックに B1,D1を計算 +G1=rand(size(B2,2),3); +B1=-B2*G1; +D11=-D12*G1; +D1=[D11;rand(ny,size(B1,2))]; +[Closed,F,G]=ddp(Sys,1:nz,B1,D1,'st',my_alpha,my_beta); +closed=syslin('c',A+B2*F,B1+B2*G,C1+D12*F,D11+D12*G); +ss2tf(closed) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="abinv">abinv</link> + </member> + <member> + <link linkend="ui_observer">ui_observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/dhinf.xml b/modules/cacsd/help/ja_JP/dhinf.xml new file mode 100755 index 000000000..59c769665 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dhinf.xml @@ -0,0 +1,235 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dhinf"> + <refnamediv> + <refname>dhinf</refname> + <refpurpose>離散時間システムのH無限大設計</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[AK,BK,CK,DK,(RCOND)] = dishin(A,B,C,D,ncon,nmeas,gamma)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para>n x n システム状態行列 A.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>n x m システム入力行列 B.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>p x n システム出力行列 C.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>p x m システム行列 D.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ncon</term> + <listitem> + <para>制御入力の数. m >= ncon >= 0, p-nmeas >= ncon.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nmeas</term> + <listitem> + <para>観測量の数. p >= nmeas >= 0, m-ncon >= nmeas.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gamma</term> + <listitem> + <para> + <literal>H無限大</literal> 設計で使用されるパラメータ gamma. + gammaはコントローラが存在できるよう十分に大きいことが仮定されます. + gamma >= 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>AK</term> + <listitem> + <para>n x n コントローラ状態行列 AK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>BK</term> + <listitem> + <para>n x nmeas コントローラ入力行列 BK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>CK</term> + <listitem> + <para>ncon x n コントローラ出力行列 CK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>DK</term> + <listitem> + <para>ncon x nmeas コントローラ行列 DK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para> + 行列の条件数の逆数の推定値を含むベクトル. + この値は, + コントローラを計算する際に解くリカッチ方程式の条件数の逆数として推定 + されるものです. + ([1]のアルゴリズムに関する記述を参照.) + </para> + <variablelist> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(1) は行列 R3の条件数の逆数を含む,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(2) は行列 R1 - R2'*inv(R3)*R2の条件数の逆数を含む</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(3) は行列 V21の条件数の逆数を含む,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(4) は行列St3の条件数の逆数を含む,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(5) は行列 V12の条件数の逆数を含む,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(6) は行列 Im2 + DKHAT*D22の条件数の逆数を含む,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(7) はXリカッチ方程式の条件数の逆数を含む,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(8) はZリカッチ方程式の条件数の逆数を含む.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[AK,BK,CK,DK,(RCOND)] = dhinf(A,B,C,D,ncon,nmeas, gamma)</literal> + H無限大 (準)最適 n状態コントローラ行列 + </para> + <programlisting role=""><![CDATA[ + | AK | BK | +K = |----|----|, + | CK | DK | + ]]></programlisting> + <para> + を以下の離散時間システム用に計算する場合, + </para> + <programlisting role=""><![CDATA[ + | A | B1 B2 | | A | B | +P = |----|---------| = |---|---|, + | C1 | D11 D12 | | C | D | + | C2 | D21 D22 | + ]]></programlisting> + <para> + gamma の値を指定すると, コントローラの計算に使用されます. + ただし, B2 の列数は制御入力の数(ncon)と同じ, + C2の行数は観測量の数(nmeas)と同じとなります. + </para> + </refsection> + <refsection> + <title>参考文献</title> + <para> + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of linear discrete-time control systems. Report99-8, Department of Engineering, Leicester University, April 1999. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//example from Niconet report SLWN1999-12 +//Hinf +A=[-0.7 0 0.3 0 -0.5 -0.1 + -0.6 0.2 -0.4 -0.3 0 0 + -0.5 0.7 -0.1 0 0 -0.8 + -0.7 0 0 -0.5 -1 0 + 0 0.3 0.6 -0.9 0.1 -0.4 + 0.5 -0.8 0 0 0.2 -0.9]; +B=[-1 -2 -2 1 0 + 1 0 1 -2 1 + -3 -4 0 2 -2 + 1 -2 1 0 -1 + 0 1 -2 0 3 + 1 0 3 -1 -2]; +C=[ 1 -1 2 -2 0 -3 + -3 0 1 -1 1 0 + 0 2 0 -4 0 -2 + 1 -3 0 0 3 1 + 0 1 -2 1 0 -2]; +D=[1 -1 -2 0 0 + 0 1 0 1 0 + 2 -1 -3 0 1 + 0 1 0 1 -1 + 0 0 1 2 1]; +ncon=2 +nmeas=2 +gam=111.30; +[AK,BK,CK,DK] = dhinf(A,B,C,D,ncon,nmeas,gam) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="hinf">hinf</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/dhnorm.xml b/modules/cacsd/help/ja_JP/dhnorm.xml new file mode 100755 index 000000000..30c13792c --- /dev/null +++ b/modules/cacsd/help/ja_JP/dhnorm.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dhnorm"> + <refnamediv> + <refname>dhnorm</refname> + <refpurpose>離散 H無限大ノルム</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>hinfnorm=dhnorm(sl,[tol],[normax])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 状態空間システム (<literal>syslin</literal> リスト) (離散時間) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 二分探索法の許容誤差, デフォルト値は <literal>0.01</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>normax</term> + <listitem> + <para> + ノルムの上界, デフォルト値は <literal>1000</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>hinfnorm</term> + <listitem> + <para> + <literal>Sl</literal>の離散無限大ノルム + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間システムの離散時間無限大ノルムを出力します + (最大特異値が単位円上にある周波数の最大値). + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="h_norm">h_norm</link> + </member> + <member> + <link linkend="linfn">linfn</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/dscr.xml b/modules/cacsd/help/ja_JP/dscr.xml new file mode 100755 index 000000000..83cfd55fc --- /dev/null +++ b/modules/cacsd/help/ja_JP/dscr.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dscr"> + <refnamediv> + <refname>dscr</refname> + <refpurpose>線形システムの離散化</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[sld [,r]]=dscr(sl,dt [,m])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>[A,B,C,D]</literal>を含む<literal>syslin</literal> リスト. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dt</term> + <listitem> + <para>実数, サンプル周期</para> + </listitem> + </varlistentry> + <varlistentry> + <term>m</term> + <listitem> + <para>入力ノイズの共分散 (連続時間)(デフォルト値=0)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + <literal>m</literal>が入力として指定された場合の出力ノイズの共分散 (離散時間) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sld</term> + <listitem> + <para> + サンプル値 (離散時間) 線形システム, <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システムの離散化. + <literal>sl</literal> は次のような連続時間システムです: + </para> + <para> + <literal>dx/dt=A*x+B*u (+ noise)</literal>. + </para> + <para> + <literal>sld</literal> は<literal>sl</literal>を + サンプルすることにより得られる離散時間システムです. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +Sys=syslin('c',[1,1/(s+1);2*s/(s^2+2),1/s]) +ss2tf(dscr(tf2ss(Sys),0.1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + <member> + <link linkend="dsimul">dsimul</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/dsimul.xml b/modules/cacsd/help/ja_JP/dsimul.xml new file mode 100755 index 000000000..dda748b55 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dsimul.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dsimul"> + <refnamediv> + <refname>dsimul</refname> + <refpurpose>離散時間状態空間シミュレーション</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>y=dsimul(sl,u)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 離散時間線形システムを含む<literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>適当な次元の実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para> + <literal>sl</literal>の出力 + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ユーティリティ関数. + <literal>[A,B,C,D]=abcd(sl)</literal> および <literal>x0=sl('X0')</literal>の時, + <literal>dsimul</literal> は <literal>y=C*ltitr(A,B,u,x0)+D*u</literal>, + すなわち,入力<literal>u</literal>に対する <literal>sl</literal>の時間応答 + を返します. + <literal>sl</literal> は状態空間形式 (<literal>syslin</literal> リスト)であると + 仮定されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +z=poly(0,'z'); +h=(1-2*z)/(z^2-0.2*z+1); +sl=tf2ss(h); +u=zeros(1,20);u(1)=1; +x1=dsimul(sl,u) //インパルス応答 +u=ones(1,20); +x2=dsimul(sl,u); //ステップ応答 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + <member> + <link linkend="ltitr">ltitr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/dt_ility.xml b/modules/cacsd/help/ja_JP/dt_ility.xml new file mode 100755 index 000000000..3e21e2a67 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dt_ility.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dt_ility"> + <refnamediv> + <refname>dt_ility</refname> + <refpurpose>可検出性テスト</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[k, [n [,U [,Sld ] ] ]]=dt_ility(Sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>不可観測な部分空間の次元</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para> + 不安定かつ不可観測な部分空間の次元 (<literal> k<=n</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>直交行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sld</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>可制御性テストの閾値.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間表現の線形システム + <literal>sl</literal>の可検出性テスト. + <literal>U</literal> は基数で, + その最初の<literal>k</literal>列に<literal>Sl</literal>の + 不安定かつ不可検出な部分空間 + (<literal>(A,C)</literal>の不可観測な部分空間と + <literal>A</literal>の不安定な部分空間の共通集合) + が広がります. + 可検出性は,<literal>k=0</literal>を意味します. + </para> + <para> + <literal>Sld = (U'*A*U,U'*B,C*U,D)</literal> は, + <literal>Sl=(A,B,C,D)</literal>の"可検出な部分" を + 以下のように表示します. + </para> + <programlisting role=""><![CDATA[ + [*,*,*] +U'*A*U = [0,*,*] + [0,0,*] +C*U = [0,0,*] + ]]></programlisting> + <para> + <literal>(A33,C3)</literal>は可観測 (<literal>nx-n</literal>次), + <literal>A22</literal> は可安定, + ( <literal>n-k</literal>次) , + <literal>A11</literal> は不可安定 ( <literal>k</literal>次)です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=[2,1,1;0,-2,1;0,0,3]; +C=[0,0,1]; +X=rand(3,3);A=inv(X)*A*X;C=C*X; +W=syslin('c',A,[],C); +[k,n,U,W1]=dt_ility(W); +W1("A") +W1("C") + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="st_ility">st_ility</link> + </member> + <member> + <link linkend="unobs">unobs</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/dtsi.xml b/modules/cacsd/help/ja_JP/dtsi.xml new file mode 100755 index 000000000..abe515d62 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dtsi.xml @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dtsi"> + <refnamediv> + <refname>dtsi</refname> + <refpurpose> + 連続時間動的システムの安定な非安定分解 + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Ga,Gs,Gi]=dtsi(G,[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 連続時間線形システム. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ga</term> + <listitem> + <para> + 連続時間線形システム,非安定で厳密にプロパー + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gs</term> + <listitem> + <para> + 連続時間線形システム,安定で厳密にプロパー + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gi</term> + <listitem> + <para>実数行列 (またはプロパーでないシステムの多項式行列)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>安定な極を検出するためのオプションのパラメータ. + デフォルト値: <literal>100*%eps</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 次のような<literal>G</literal>の安定な非安定分解を返します: + </para> + <para> + <literal>G= Ga + Gs + Gi</literal>, <literal>(Gi = G(oo))</literal> + </para> + <para> + <literal>G</literal> は状態空間形式または伝達関数形式とすることができます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="pbig">pbig</link> + </member> + <member> + <link linkend="psmall">psmall</link> + </member> + <member> + <link linkend="pfss">pfss</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +a=0.5; +b=1; +c=2; +sl=syslin('c',a,b,c); +dtsi(sl) + ]]></programlisting> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>は,連続時間線形システムとして確認されます. + この修正は, <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink> により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/equil.xml b/modules/cacsd/help/ja_JP/equil.xml new file mode 100755 index 000000000..d7a3149eb --- /dev/null +++ b/modules/cacsd/help/ja_JP/equil.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="equil"> + <refnamediv> + <refname>equil</refname> + <refpurpose>対称行列の対の平衡</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>T=equil(P,Q)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P, Q</term> + <listitem> + <para>正定対称行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>正則行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>equil</literal> は次のような <literal>t</literal> を返します: + </para> + <para> + <literal>T*P*T'</literal> および + <literal>inv(T)'*Q*inv(T)</literal> は + 共に対角行列で正定行列です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +P=rand(4,4);P=P*P'; +Q=rand(4,4);Q=Q*Q'; +T=equil(P,Q) +clean(T*P*T') +clean(inv(T)'*Q*inv(T)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="equil1">equil1</link> + </member> + <member> + <link linkend="balanc">balanc</link> + </member> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/equil1.xml b/modules/cacsd/help/ja_JP/equil1.xml new file mode 100755 index 000000000..de2e4487a --- /dev/null +++ b/modules/cacsd/help/ja_JP/equil1.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="equil1"> + <refnamediv> + <refname>equil1</refname> + <refpurpose>行列の平衡 (非負定) の組</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[T [,siz]]=equil1(P,Q [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P, Q</term> + <listitem> + <para>非負定の対称行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>正則行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>siz</term> + <listitem> + <para>3要素の整数ベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>閾値</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>equil1</literal> は次のような <literal>t</literal> を計算します: + </para> + <para> + <literal>P1=T*P*T'</literal> および <literal>Q1=inv(T)'*Q*inv(T)</literal> + は以下のようになります: + </para> + <para> + <literal>P1 = diag(S1,S2,0,0)</literal> および <literal>Q1 = diag(S1,0,S3,0)</literal> + ただし, + <literal>S1,S2,S3</literal> は各次元が<literal>siz=[n1,n2,n3]</literal>の正定対角行列です. + </para> + <para> + <literal>tol</literal> はSVDのランク定義の閾値です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +S1=rand(2,2);S1=S1*S1'; +S2=rand(2,2);S2=S2*S2'; +S3=rand(2,2);S3=S3*S3'; +P=sysdiag(S1,S2,zeros(4,4)); +Q=sysdiag(S1,zeros(2,2),S3,zeros(2,2)); +X=rand(8,8); +P=X*P*X';Q=inv(X)'*Q*inv(X); +[T,siz]=equil1(P,Q); +P1=clean(T*P*T') +Q1=clean(inv(T)'*Q*inv(T)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="balreal">balreal</link> + </member> + <member> + <link linkend="minreal">minreal</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="hankelsv">hankelsv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/feedback.xml b/modules/cacsd/help/ja_JP/feedback.xml new file mode 100755 index 000000000..98f4075c6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/feedback.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="feedback"> + <refnamediv> + <refname>feedback</refname> + <refpurpose>フィードバック操作</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>Sl=Sl1/.Sl2</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl1,Sl2</term> + <listitem> + <para> + 状態空間または伝達形式または通常の + ゲイン行列の線形システム (<literal>syslin</literal> リスト). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 状態空間または伝達形式の + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + フィードバック演算は, <literal> /. </literal> (スラッシュドット) + と記述されます. + このコマンドは,<literal>Sl1</literal> および <literal>Sl2</literal>の + <literal>Sl=Sl1*(I+Sl2*Sl1)^-1</literal>, すなわち, (負の) + フィードバックを返します. + <literal>Sl</literal> は, + <literal> y = Sl1 u</literal>, <literal>u = v - Sl2 y</literal>の時の + 伝達関数<literal> v -> y</literal>です. + </para> + <para> + 結果は,<literal>Sl=LFT([0,I;I,-Sl2],Sl1)</literal>と同じです. + </para> + <para> + 注意: 小数点を使用しないでください (例. <literal>1/.1</literal> は曖昧です!) + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +S1=ssrand(2,2,3);S2=ssrand(2,2,2); +W=S1/.S2; +ss2tf(S1/.S2) +//Same operation by LFT: +ss2tf(lft([zeros(2,2),eye(2,2);eye(2,2),-S2],S1)) +//Other approach: with constant feedback +BigS=sysdiag(S1,S2); F=[zeros(2,2),eye(2,2);-eye(2,2),zeros(2,2)]; +Bigclosed=BigS/.F; +W1=Bigclosed(1:2,1:2); //W1=W (in state-space). +ss2tf(W1) +//Inverting +ss2tf(S1*inv(eye()+S2*S1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="sysdiag">sysdiag</link> + </member> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="obscont">obscont</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/findABCD.xml b/modules/cacsd/help/ja_JP/findABCD.xml new file mode 100755 index 000000000..66e482a65 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findABCD.xml @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="findABCD"> + <refnamediv> + <refname>findABCD</refname> + <refpurpose>離散時間システムの部分空間の同定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + SYS = findABCD(S,N,L,R,METH) + [SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + [SYS,RCND] = findABCD(S,N,L,R,METH) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>整数,ブロックハンケル行列のブロック行の数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>整数, システム次数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L</term> + <listitem> + <para>整数, 出力の数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>行列, + findrをコールすることにより計算される結合されたブロックハンケル行列 + のR因子に関連. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>整数, 使用方法に関するオプション</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> 過去の入出力を用いるMOESP法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> N4SID 法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 3</term> + <listitem> + <para> 複合法: A と C は MOESP, B と D は N4SIDによる.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: METH = 3. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>NSMPL</term> + <listitem> + <para>整数, + 共分散およびカルマン予測ゲインを計算するために使用されるサンプルの総数. + 共分散およびカルマン予測ゲインを必要としない場合,このパラメータは不要です. + NSMPL = 0の場合, K, Q, Ry, および S は計算されません. デフォルト: NSMPL = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para> + 行列のランクを推定するために使用される許容誤差. + TOL > 0 の場合, 指定した値 TOLが 条件数の逆数の下界として使用されます. + デフォルト: prod(size(matrix))*epsilon_machine + ただし, epsilon_machine は相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>整数, 警告メッセージを印字するためのスイッチ.</para> + <variablelist> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 1: 警告メッセージを出力;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 0: 警告メッセージを出力しない.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>SYS</term> + <listitem> + <para>状態空間実現 SYS = (A,B,C,D) (syslin オブジェクト)を計算します</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>カルマン推定器ゲイン K (NSMPL > 0の場合)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para> 状態共分散</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ry</term> + <listitem> + <para>出力共分散</para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>状態出力相互共分散</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para>ランク決定, 最小二乗またはリカッチ方程式の解に関わる行列の条件数の + 逆数のベクトル + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + システム行列および離散時間システムのカルマンゲインを見つけます. + この際,システム次元および + 部分空間同定技術(MOESPまたはN4SID)を用いて + 結合されたブロックハンケル行列のR因子の要部を指定します. + </para> + <itemizedlist> + <listitem> + <para>[SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + は,状態空間実現 SYS = (A,B,C,D) (ssオブジェクト) + およびカルマン予測子ゲイン K (NSMPL > 0の場合) + を計算します. + モデルの構造は次のようになります: + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + ただし,x(k) および y(k)はそれぞれ長さNおよびLのベクトルです. + </para> + </listitem> + <listitem> + <para>[SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + は, 状態量, 出力および(カルマンゲイン計算に使用される)状態出力 (相互)共分散行列 Q, Ry, S + を + ランク決定,最小二乗またはリカッチ方程式の解に使用される行列の条件数の逆数を含む + 長さ lr のベクトル RCND と共に返します. + ただし, + </para> + </listitem> + </itemizedlist> + <programlisting role=""><![CDATA[ +lr = 4 (カルマンゲイン行列 K が必要ない場合), +lr = 12 (カルマンゲイン行列 K が必要な場合). + ]]></programlisting> + <para> + 行列RはfindRにより計算され,適当な + 引数 METH および JOBDにより定義されます. + findABCD で METH = 1 を指定した場合, + findR で METH = 1 かつ JOBD = 1, + findABCD で METH = 3 を指定した場合, + findR で METH = 1 を使用する必要があります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +// 指定した線形システムからデータを生成 +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); +// Rを計算 +S=15; +[R,N1,SVAL] = findR(S,Y',U'); +N=3; +SYS1 = findABCD(S,N,1,R) ;SYS1.dt=0.1; +SYS1.X0 = inistate(SYS1,Y',U'); +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findBDK">findBDK</link> + </member> + <member> + <link linkend="findR">findR</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/findAC.xml b/modules/cacsd/help/ja_JP/findAC.xml new file mode 100755 index 000000000..7477e07aa --- /dev/null +++ b/modules/cacsd/help/ja_JP/findAC.xml @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="findAC"> + <refnamediv> + <refname>findAC</refname> + <refpurpose>離散時間システム部分空間の同定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) + [A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>整数, ブロックハンケル行列のブロック行の数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>整数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L</term> + <listitem> + <para>整数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>行列, + findrをコールすることにより計算される結合されたブロックハンケル行列 + のR因子に関連. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>整数, 使用する手法に関するオプション</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> 過去の入力/出力に基づく MOESP 法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> N4SID 法;</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: METH = 3. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para> + 行列ランクの推定に使用される許容誤差. + TOL > 0の場合, TOL に指定した値が + 条件数の逆数の下界として使用されます. + デフォルト: prod(size(matrix))*epsilon_machine ただし, epsilon_machine + は相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>整数, 警告メッセージの出力に関するスイッチ.</para> + <variablelist> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 1: 警告メッセージを出力;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 0</term> + <listitem> + <para>警告メッセージを出力しない.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>行列, 状態システム行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>行列, 出力システム行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para>長さ4のベクトル, ランク決定に使用される行列の条件数</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 部分空間同定法(MOESP または N4SID)を使用して, + 離散時間システムのシステム行列 A および C を見つけます. + この際, + システム次元および結合されたブロックハンケル行列のR因子の関連する部分を + 指定します. + </para> + <itemizedlist> + <listitem> + <para>[A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) は, + システム行列 A および C を計算します. + モデル構造は次のようになります: + x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, + y(k) = Cx(k) + Du(k) + e(k) + ただし, x(k) および y(k) はそれぞれ長さ N および L のベクトルです. + </para> + </listitem> + <listitem> + <para>[A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) は長さ4のベクトルRCNDも返します. + この中には,ランク決定に使用される行列の条件数が含まれます. + </para> + </listitem> + </itemizedlist> + <para> + 行列 R は, findR により計算され, 適当な引数 METH および JOBD で定義 + する必要があります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//指定した線形システムからデータを生成 +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); +// Rを計算 +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findBDK">findBDK</link> + </member> + <member> + <link linkend="findR">findR</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/findBD.xml b/modules/cacsd/help/ja_JP/findBD.xml new file mode 100755 index 000000000..a75580577 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findBD.xml @@ -0,0 +1,354 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="findBD"> + <refnamediv> + <refname>findBD</refname> + <refpurpose>状態量初期値および離散時間システムのシステム行列BとD</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[[x0] [,B [,D]] [,V] [,rcnd]] = findBD(jobx0,comuse [,job],A [,B],C [,D],Y [,U,tol,printw,ldwork])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>jobx0</term> + <listitem> + <para>状態量初期値を計算するかどうかを指定する整数オプション:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 状態量初期値 x0を計算;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : 状態量初期値を計算しない (x0 はゼロとする).</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>comuse</term> + <listitem> + <para>システム行列BおよびDを計算または使用するかどうかを指定する整数オプション:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : jobによる指定に基づき行列BおよびDを計算;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : jobによる指定に基づき行列BおよびDを使用;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : 行列BおよびDを計算も使用もしない.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>job</term> + <listitem> + <para> + システム行列のどちらを計算または使用するかを指定する整数オプション: + </para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : システム行列Bのみを計算/使用 (D はゼロであるとする);</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : 行列BおよびDを計算/使用.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + jobx0 = 2 かつ comuse = 2, または comuse = 3 の場合, + job を指定できません. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>指定したシステムの状態行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>オプション, 指定したシステムの入力行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>指定したシステムの出力行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>オプション, 指定したシステムの直達項</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>t行l列の出力データ行列です. + Yのj列目には,連続した時間増加のj番目の出力要素である t 個の値が含まれます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + t行m列の入力データ系列行列 (jobx0 = 1 かつ comuse = 2, または comuse = 1 の時に入力). + Uのj列目には,連続する時間増分のj番目の入力要素の値が含まれます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + オプションで,行列のランクを推定する際に使用される許容誤差. + tol > 0 の場合, tol に指定した値が, 条件数の逆数の下界として + 使用されます. + 推定される条件数が 1/tol より小さいm行n列の行列は + フルランクであると判定されます. + デフォルト: m*n*epsilon_machine ただし, + epsilon_machine は相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>printw</term> + <listitem> + <para>オプション, 警告メッセージの出力に関するスイッチ</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: 警告メッセージを出力;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: 警告メッセージを出力しない.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: printw = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ldwork</term> + <listitem> + <para>(オプション) ワークスペースの大きさ. デフォルト: + 計算式 LDWORK = MAX( + 必要なワークスペースの大きさの最小値, 2*CSIZE/3, + CSIZE - ( m + l )*t - 2*n*( n + m + l ) - l*m ) + ただし CSIZE はキャッシュの大きさ(単位:倍精度ワード)です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>状態ベクトル初期値</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Br</term> + <listitem> + <para>システム入力行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Dr</term> + <listitem> + <para>システム直達行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para>Aを実数Schur形式に縮小させるn行n列直交行列 + (jobx0 = 1 または comuse = 1 の時に出力). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>(オプション) ランク決定に関連する行列の条件数の逆数.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + findBD 関数は, + SLICOTルーチン IB01CD により, + 状態量初期値および離散時間システムにおけるシステム行列 B と D を推定します. + </para> + <programlisting role=""><![CDATA[ + [x0,Br,V,rcnd] = findBD(1,1,1,A,C,Y,U) +[x0,Br,Dr,V,rcnd] = findBD(1,1,2,A,C,Y,U) + [Br,V,rcnd] = findBD(2,1,1,A,C,Y,U) + [B,Dr,V,rcnd] = findBD(2,1,2,A,C,Y,U) + [x0,V,rcnd] = findBD(1,2,1,A,B,C,Y,U) + [x0,V,rcnd] = findBD(1,2,2,A,B,C,D,Y,U) + [x0,rcnd] = findBD(2,2) // (Set x0 = 0, rcnd = 1) + [x0,V,rcnd] = findBD(1,3,A,C,Y) + ]]></programlisting> + <para> + 注意: 上の例の各行では, 最後に + パラメータ tol, printw, ldwork を含めることもできます. + </para> + <para> + FINDBD は状態量初期値および離散時間システムn + システム行列 Br と Dr を推定します. + この際,システム行列 A, C そして場合によっては B, D および + システムにおける入力および出力の軌道を指定します. + </para> + <para> + モデルの構造は以下のようになります : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k), k >= 1, +y(k) = Cx(k) + Du(k), + ]]></programlisting> + <para> + where + x(k) は,(時刻 kにおける) n 次元状態ベクトルで, + </para> + <para> + u(k) はn次元入力ベクトル, + </para> + <para> + y(k) は l 次元出力ベクトル, + </para> + <para> + そして A, B, C, および D は適当な次元の実数行列です. + </para> + </refsection> + <refsection> + <title>コメント</title> + <variablelist> + <varlistentry> + <term>1.</term> + <listitem> + <para> n行m列のシステム入力行列は, jobx0 = 1 かつ comuse = 2 の時に + 入力パラメータ, comuse = 1 の時に出力パラメータとなります. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>2.</term> + <listitem> + <para>The l行m列のシステム行列 Dは, jobx0 = 1, comuse = 2 かつ job = 2 の時に + 入力パラメータ, comuse = 1 かつ job = 2 の時に出力パラメータとなります. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>3.</term> + <listitem> + <para> + n次ベクトルである状態量初期値の推定値 x(0) は, + jobx0 = 1 の時, および jobx0 = 2 かつ comuse <= 2 の時 + に出力パラメータとなり, この場合, 0 に設定されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>4.</term> + <listitem> + <para> + ldwork が指定されたが, 必要なワークスペースの大きさの最小値よりも + 小さい場合, かわりに最小値が使用されます. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +// 指定した線形システムからデータを生成 +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); +// Rを計算 +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); +[X0,B,D] = findBD(1,1,2,A,C,Y',U') +SYS1=syslin(1,A,B,C,D,X0); +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="inistate">inistate</link> + </member> + <member> + <link linkend="findx0BD">findx0BD</link> + </member> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/findBDK.xml b/modules/cacsd/help/ja_JP/findBDK.xml new file mode 100755 index 000000000..1cd09dfa8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findBDK.xml @@ -0,0 +1,305 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="findBDK"> + <refnamediv> + <refname>findBDK</refname> + <refpurpose>カルマンゲインおよび離散時間システムの B, D システム行列</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + [B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) + [B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータs</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>整数, ブロックハンケル行列のブロック行の数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>整数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L</term> + <listitem> + <para>整数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>行列, findR をコールすることにより計算される結合されたブロックハンケル行列の + R因子に関係する部分 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>正方行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>整数, 使用する方法に関するオプション</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> 過去の入力と出力を指定するMOESP法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> N4SID 法;</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: METH = 2. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>JOB</term> + <listitem> + <para>計算するシステム行列の種類を指定するオプション:</para> + <variablelist> + <varlistentry> + <term>= 1</term> + <listitem> + <para> B行列を計算;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2</term> + <listitem> + <para> BおよびD行列を計算.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: JOB = 2. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>NSMPL</term> + <listitem> + <para>整数, + 共分散行列およびカルマン予測ゲインを計算する際に使用される + サンプルの総数. + このパラメータは,共分散行列とカルマン予測ゲインが必要ない + 場合には,不要です.NSMPL = 0の場合, K, Q, Ry, および S は計算されません. + デフォルト: NSMPL = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para> + 行列のランクを推定する際に使用される許容誤差. + TOL > 0 の場合, TOL に指定した値が, 条件数の逆数の下界として + 使用されます. + デフォルト: prod(size(matrix))*epsilon_machine ただし, + epsilon_machine は相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>整数, 警告メッセージの出力に関するスイッチ</para> + <variablelist> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 1: 警告メッセージを出力;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>= 0: 警告メッセージを出力しない.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>SYS</term> + <listitem> + <para>状態空間実現 SYS = (A,B,C,D) (syslin オブジェクト)を計算</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>カルマン予測ゲイン K (NSMPL > 0の場合)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para>状態量共分散</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ry</term> + <listitem> + <para>出力共分散</para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>状態出力相互共分散</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para> + 長さ12のベクトルで, + ランク決定, 最小二乗またはリカッチ方程式の解に関わる行列の条件数の逆数が含まれます. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + システムの次数,行列AおよびCおよび関連する + 結合ブロックハンケル行列のR因子を指定すると, + 部分空間同定法 (MOESP または N4SID) により, + 離散時間システムのシステム行列BおよびDとカルマンゲインを返します. + </para> + <itemizedlist> + <listitem> + <para>[B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) は, + システム行列 B (JOB = 1の場合), + システム行列 BおよびD (JOB = 2の場合), + カルマン予測ゲイン K (NSMPL > 0の場合) を計算します. + モデルの構造は次のようになります: + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + ただし, x(k) および y(k) はそれぞれ長さ N および Lのベクトルです. + </para> + </listitem> + <listitem> + <para>[B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) は, + 長さ 4 のベクトル RCND も返します. + このベクトルには,ランク決定に関連する条件数の逆数が含まれます. + </para> + </listitem> + <listitem> + <para>[B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) は, + 長さ 12 の RCNDベクトルと共に, + 状態量, 出力, 出力状態 (相互)共分散行列 Q, Ry, および S + (カルマンゲイン計算で使用される)も返します. + RCNDベクトルには,ランク決定, 最小二乗またはリカッチ方程式の解に関連する + 行列の条件数の逆数が含まれます. + </para> + </listitem> + </itemizedlist> + <para> + findR により計算される行列 Rは, + 適当な引数 METH および JOBDで定義されます. + findR ではMETH = 1かつJOBD = 1,findBDKではMETH = 1を使用しますす. + FINDR では METH = 1, findBDK では METH = 2 を使用することができます. + </para> + <para> + 出力引数の数は変換しますが,次のように入力引数に対応します, + </para> + <programlisting role=""><![CDATA[ + B = findBDK(S,N,L,R,A,C,METH,1) または + [B,D] = findBDK(S,N,L,R,A,C,METH,2) または +[B,D,RCND] = findBDK(S,N,L,R,A,C,METH,2) + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//指定した線形システムからデータを生成 +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); +// Rを計算 +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); +[B,D,K] = findBDK(S,N,L,R,A,C); +SYS1=syslin(1,A,B,C,D); +SYS1.X0 = inistate(SYS1,Y',U'); +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findR">findR</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/findR.xml b/modules/cacsd/help/ja_JP/findR.xml new file mode 100755 index 000000000..27e8d1f17 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findR.xml @@ -0,0 +1,294 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="findR"> + <refnamediv> + <refname>findR</refname> + <refpurpose> + 線形時不変システムの行列を指定する際のプリプロセッサ + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[R,N [,SVAL,RCND]] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) + [R,N] = findR(S,Y) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>S</term> + <listitem> + <para>ブロックハンケル行列のブロック行の数.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>METH</term> + <listitem> + <para>使用する手法に関するオプション:</para> + <variablelist> + <varlistentry> + <term>1</term> + <listitem> + <para> 過去の入力/出力に基づく MOESP 法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>2</term> + <listitem> + <para> N4SI15 0 1 1 1000D 法.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: METH = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ALG</term> + <listitem> + <para> + 入出力データから構築される + 結合ブロックハンケル行列の三角分解を計算するアルゴリズムに関するオプション: + </para> + <variablelist> + <varlistentry> + <term>1</term> + <listitem> + <para> 相関行列のコレスキーアルゴリズム;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>2</term> + <listitem> + <para> 高速 QR アルゴリズム;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>3</term> + <listitem> + <para> 標準 QR アルゴリズム.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: ALG = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>JOBD</term> + <listitem> + <para> + 行列BおよびDをMOESP法により計算するかどうかを指定するオプション: + </para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 行列BおよびDをMOESP法により計算します;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : 行列BおよびDをMOESP法により計算しません.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: JOBD = 2. このパラメータは METH = 2に関連してはいません. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>許容誤差を含む長さ2のベクトル:</para> + <variablelist> + <varlistentry> + <term>TOL</term> + <listitem> + <para> + (1) は行列のランクを推定する際の許容誤差です. + TOL(1) > 0 の場合,TOL(1)に指定した値が + 条件数の逆数の下界として使用されます. + </para> + <para> + デフォルト: TOL(1) = prod(size(matrix))*epsilon_machine + ただし, epsilon_machine は相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>(2) はシステム次数を推定する際の許容誤差です. TOL(2) >= 0の場合, + 推定値の添え字はTOL(2)以上となる最後の特異値を指します. + (TOL(2)より小さい特異値はゼロとみなされます.) + </para> + <para> + TOL(2) = 0の場合, TOL(2)の替わりにS*epsilon_machine*sval(1)が使用されます. + ただし,sval(1)は最小特異値です. + TOL(2) < 0の場合, 推定値の添え字は,次の要素への指数的な間隔が + 最大となる特異値の添え字を指します. + デフォルト: TOL(2) = -1. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>警告メッセージの出力に関するスイッチ.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: 警告メッセージを出力;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: 警告メッセージを出力しない.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>離散時間実現の次数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>SVAL</term> + <listitem> + <para>特異値 SVAL, 次数の推定に使用されます.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCND</term> + <listitem> + <para> + ランク決定または最小二乗解に関連する行列の条件数の逆数を含む + 長さ2のベクトル. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + findR は,コレスキーまたは(高速)QR分解および + 部分空間同定法(MOESP または N4SID) + 線形時不変システムの行列を推定する際の + 入出力データの前処理を行い,システム次数を指定します. + </para> + <para> + [R,N] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) は, + 入出力データおよび離散時間実現の次数Nから構築された + 結合ブロックハンケル行列の + 上三角分解 R を返します. + モデルの構造は次のようになります: + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + w(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k). + ]]></programlisting> + <para> + ベクトル y(k) および u(k) はそれぞれ Y および U のk行目の転置です. + </para> + <para> + [R,N,SVAL,RCND] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) は, + 次数の推定に使用される + 特異値 SVAL も返します. + meth = 2 の時に長さ2のベクトルRCNDも返します. + このベクトルRCNDには, + ランク決定または最小二乗解に関連する条件数の逆数を含みます. + </para> + <para> + [R,N] = findR(S,Y) は U = [] , + 残りの入力引数にはデフォルト値を仮定します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//指定した線形システムからデータを生成 +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +U=(ones(1,1000)+rand(1,1000,'normal')); +Y=(flts(U,SYS)+0.5*rand(1,1000,'normal')); +// Rを計算 +[R,N,SVAL] = findR(15,Y',U'); +SVAL +N + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findABCD">findABCD</link> + </member> + <member> + <link linkend="findAC">findAC</link> + </member> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findBDK">findBDK</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/findx0BD.xml b/modules/cacsd/help/ja_JP/findx0BD.xml new file mode 100755 index 000000000..ad3b72ea6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findx0BD.xml @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="findx0BD"> + <refnamediv> + <refname>findx0BD</refname> + <refpurpose>状態量,離散時間システムのBおよびD行列を推定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para>システムの状態行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>システムのC行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>システム出力</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>システム入力</para> + </listitem> + </varlistentry> + <varlistentry> + <term>WITHX0</term> + <listitem> + <para>状態量の初期値 x0 の推定に関するスイッチ.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: x0を推定します;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: x0を推定しません.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: WITHX0 = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>WITHD</term> + <listitem> + <para>行列 Dの推定に関するスイッチ.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: 行列Dを推定します;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: 行列Dを推定しません.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: WITHD = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para> + 行列のランクを推定する際の許容誤差.TOL > 0 の場合,TOLに指定した値が + 条件数の逆数の下界として使用されます. + デフォルト: prod(size(matrix))*epsilon_machine + ただし, epsilon_machine は相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>警告メッセージの出力に関するスイッチ.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: 警告メッセージを出力;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: 警告メッセージを出力しない.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X0</term> + <listitem> + <para>推定された線形システムの状態量の初期値.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>推定された線形システムのB行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>推定された線形システムのD行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para> + 状態行列Aを実数Schur形式に縮減する直交行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para> + ランク決定に関連する行列の条件数の逆数を推定します. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + findx0BD は, + (推定された)システム行列 A, C および入出力データを指定し, + 状態量の初期値と離散時間システムのBおよびD行列を推定します. + </para> + <para> + [X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) は, + システム行列 A, C 出力データ Yおよび入力データ U を用いて, + 状態量初期値 X0 および離散時間システムの行列 B および D を推定します. + モデルの構造は以下のようになります : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k), k >= 1, +y(k) = Cx(k) + Du(k), + ]]></programlisting> + <para> + ベクトル y(k) および u(k) それぞれ Y および U のk行目の転置です. + </para> + <para> + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) は,システム状態行列 A を実数 Schur 形式に縮減する + 直交行列 V も返します. + 同時にランク決定に関連する行列の条件数の逆数の推定値も返します. + </para> + <programlisting role=""><![CDATA[ + B = findx0BD(A,C,Y,U,0,0) は B のみを返し, +[B,D] = findx0BD(A,C,Y,U,0) は B および D のみを返します. + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//指定した線形システムからデータを生成 +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); +// Rを計算 +S=15;L=1; +[R,N,SVAL] = findR(S,Y',U'); +N=3; +METH=3;TOL=-1; +[A,C] = findAC(S,N,L,R,METH,TOL); +[X0,B,D,V,rcnd] = findx0BD(A,C,Y',U'); +SYS1=syslin(1,A,B,C,D,X0); +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="inistate">inistate</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/flts.xml b/modules/cacsd/help/ja_JP/flts.xml new file mode 100755 index 000000000..530e4f58f --- /dev/null +++ b/modules/cacsd/help/ja_JP/flts.xml @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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"> + <refnamediv> + <refname>flts</refname> + <refpurpose>時間応答 (離散時間, 離散化システム)</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[y [,x]]=flts(u,sl [,x0]) + [y]=flts(u,sl [,past]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>u</term> + <listitem> + <para>行列 (入力ベクトル)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + リスト (線形システム <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>ベクトル (状態量初期値 ; デフォルト値 + =<literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>past</term> + <listitem> + <para> + (過去の)行列 (デフォルト値=<literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x,y</term> + <listitem> + <para>行列 (状態量と出力)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <itemizedlist> + <listitem> + <para>状態空間形式:</para> + </listitem> + </itemizedlist> + <para> + <literal>sl</literal> は,その状態空間表現で指定される離散線形システム + です(<link linkend="syslin">syslin</link> 参照): + </para> + <para> + <literal>sl=syslin('d',A,B,C,D)</literal> : + </para> + <programlisting role=""><![CDATA[ +x[t+1] = A x[t] + B u[t] +y[t] = C x[t] + D u[t] + ]]></programlisting> + <para> + もしくは,より一般的に,<literal>D</literal> が多項式行列 + の場合 + (<literal>p = degree(D(z))</literal>) : + </para> + <programlisting role=""><![CDATA[ +D(z) = D_0 + z D_1 + z^2 D_2 +..+ z^p D_p +y[t] = C x[t] + D_0 u[t] + D_1 u[t+1] +..+ D_[p] u[t+p] + ]]></programlisting> + <itemizedlist> + <listitem> + <para>伝達関数表現:</para> + </listitem> + </itemizedlist> + <para> + <literal> y=flts(u,sl[,past])</literal>. ここで, <literal>sl</literal> + は伝達行列形式の線形システムです, すなわち, + </para> + <para> + <literal>sl=syslin('d',transfer_matrix)</literal> ( + <literal> + <link linkend="syslin">syslin</link> + </literal> + 参照). + </para> + <programlisting role=""><![CDATA[ +past = [u ,..., u ] + [ -nd -1] + [y ,..., y ] + [ -nd -1] + ]]></programlisting> + <para>は, u と y の過去の値の行列です.</para> + <para> + <literal>nd</literal> は, + <literal>sl</literal> の分母行列の各行の最小公倍数の + 最大自由度です. + </para> + <programlisting role=""><![CDATA[ +u=[u0 u1 ... un] (input) +y=[y0 y1 ... yn] (output) + ]]></programlisting> + <para>p は分子の最大次数と分母の最大次数の差です.</para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +sl=syslin('d',1,1,1);u=1:10; +y=flts(u,sl); +plot2d(y) +[y1,x1]=flts(u(1:5),sl);y2=flts(u(6:10),sl,x1); +y-[y1,y2] +//多項式Dがある場合: +z=poly(0,'z'); +D=1+z+z^2; p =degree(D); +sl=syslin('d',1,1,1,D); +y=flts(u,sl);[y1,x1]=flts(u(1:5),sl); +y2=flts(u(5-p+1:10),sl,x1); // (update) +y-[y1,y2] +//遅延 (伝達関数形式): flts(u,1/z) +// 典型的な応答 +z=poly(0,'z'); +h=syslin(0.1,(1-2*z)/(z^2+0.3*z+1)) +imprep=flts(eye(1,20),tf2ss(h)); //インパルス応答 +clf(); +plot(imprep,'b') +u=ones(1,20); +stprep=flts(ones(1,20),tf2ss(h)); //ステップ応答 +plot(stprep,'g') +// その他の例 +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); +H=ss2tf(Sys); u=[1;-1]*(1:10); +// +yh=flts(u,H); ys=flts(u,Sys); +norm(yh-ys,1) +//ホット リスタート +[ys1,x]=flts(u(:,1:4),Sys);ys2=flts(u(:,5:10),Sys,x); +norm([ys1,ys2]-ys,1) +// +yh1=flts(u(:,1:4),H);yh2=flts(u(:,5:10),H,[u(:,2:4);yh(:,2:4)]); +norm([yh1,yh2]-yh,1) +//D<>0 を指定 +D=[-3 8;4 -0.5;2.2 0.9]; +Sys=syslin('d',A,B,C,D); +H=ss2tf(Sys); u=[1;-1]*(1:10); +rh=flts(u,H); rs=flts(u,Sys); +norm(rh-rs,1) +//ホット リスタート +[ys1,x]=flts(u(:,1:4),Sys);ys2=flts(u(:,5:10),Sys,x); +norm([ys1,ys2]-rs,1) +//With H: +yh1=flts(u(:,1:4),H);yh2=flts(u(:,5:10),H,[u(:,2:4); yh1(:,2:4)]); +norm([yh1,yh2]-rh) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ltitr">ltitr</link> + </member> + <member> + <link linkend="dsimul">dsimul</link> + </member> + <member> + <link linkend="rtitr">rtitr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/CHAPTER b/modules/cacsd/help/ja_JP/formal_representation/CHAPTER new file mode 100755 index 000000000..f59bdcc83 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/CHAPTER @@ -0,0 +1,2 @@ +title = Formal representations and conversions + diff --git a/modules/cacsd/help/ja_JP/formal_representation/abcd.xml b/modules/cacsd/help/ja_JP/formal_representation/abcd.xml new file mode 100755 index 000000000..6ced1e1f7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/abcd.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="abcd"> + <refnamediv> + <refname>abcd</refname> + <refpurpose>状態空間行列</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出しの手順</title> + <synopsis>[A,B,C,D]=abcd(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para>状態空間表現または伝達関数表現の + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para>適当な次元の実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システム<literal>Sl</literal>の<literal>A,B,C,D</literal> 行列を返す. + </para> + <para> + ユーティリティ関数.伝達関数行列<literal>Sl</literal>の場合、 + <literal>tf2ss</literal>により状態空間表現に変換される. + </para> + <para> + 行列 <literal>A,B,C,D</literal> は<literal>syslin</literal>リスト + <literal>Sl</literal>の <literal>2</literal> から <literal>5</literal> + までの要素、すなわち、<literal>[A,B,C,D] = Sl(2:5)</literal>、である. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([1,2,3]);B=[1;1;1];C=[2,2,2]; +sys=syslin('c',A,B,C); +sys("A") +sys("C") +[A1,B1,C1,D1]=abcd(sys); +A1 +systf=ss2tf(sys); +[a,b,c,d]=abcd(systf) +spec(a) +c*b-C*B +c*a*b-C*A*B + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/cont_frm.xml b/modules/cacsd/help/ja_JP/formal_representation/cont_frm.xml new file mode 100755 index 000000000..7bba55da8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/cont_frm.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="cont_frm"> + <refnamediv> + <refname>cont_frm</refname> + <refpurpose>可制御状態空間への変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[sl]=cont_frm(NUM,den)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>NUM</term> + <listitem> + <para>多項式行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>den</term> + <listitem> + <para>多項式</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト, <literal>sl=[A,B,C,D]</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 伝達関数 <literal>NUM/den</literal>の可制御状態空間形式. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');NUM=[1+s,s];den=s^2-5*s+1; +sl=cont_frm(NUM,den); +slss=ss2tf(sl); //NUM/denと比較 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/dbphi.xml b/modules/cacsd/help/ja_JP/formal_representation/dbphi.xml new file mode 100755 index 000000000..ef13d93f5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/dbphi.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dbphi"> + <refnamediv> + <refname>dbphi</refname> + <refpurpose>位相および振幅表現の周波数応答</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[db,phi] =dbphi(repf)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>ゲイン (db) および位相 (度)のベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>複素周波数応答のベクトル</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>db(k)</literal> は <literal>repf(k)</literal> の振幅(単位: dB), + すなわち <literal>db(k)=20*log(abs(repf(k)))/log(10)</literal> です. + <literal>phi(k)</literal> は<literal>repf(k)</literal>の位相 (単位:度)です. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/des2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/des2ss.xml new file mode 100755 index 000000000..fac513bb7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/des2ss.xml @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="des2ss"> + <refnamediv> + <refname>des2ss</refname> + <refpurpose>記述子から状態空間へ</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Sl]=des2ss(A,B,C,D,E [,tol]) + [Sl]=des2ss(Des) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,B,C,D,E</term> + <listitem> + <para>適当な次元の実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Des</term> + <listitem> + <para>リスト</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 実数パラメータ (閾値) (デフォルト値 <literal>100*%eps</literal>). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間変換の記述子. + </para> + <para> + <literal>Sl=des2ss(A,B,C,D,E)</literal> は, + 記述子システム <literal>(E,A,B,C,D)</literal>と等価な + 線形システム <literal>Sl</literal> を返します. + </para> + <para> + 添え字1個の<literal>(E,A)</literal>ペンシルの場合, + 明示式が使用され, + より高次の添え字のペンシルの場合には<literal>rowshuff</literal> + が使用されます. + </para> + <para> + <literal>Sl=des2ss(Des)</literal> (ただし + <literal>Des=list('des',A,B,C,D,E)</literal>) は, + 状態空間表現(多項式 <literal>D</literal> 行列が付く場合もある)の + 線形システム <literal>Sl</literal> を返します. + </para> + <para> + 一般化Leverrierアルゴリズムが使用されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s');G=[1/(s-1),s;1,2/s^3]; +S1=tf2des(G);S2=tf2des(G,"withD"); +W1=des2ss(S1);W2=des2ss(S2); +clean(ss2tf(W1)) +clean(ss2tf(W2)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="des2tf">des2tf</link> + </member> + <member> + <link linkend="glever">glever</link> + </member> + <member> + <link linkend="rowshuff">rowshuff</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/des2tf.xml b/modules/cacsd/help/ja_JP/formal_representation/des2tf.xml new file mode 100755 index 000000000..e31bfe1ae --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/des2tf.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="des2tf"> + <refnamediv> + <refname>des2tf</refname> + <refpurpose>記述子から伝達関数への変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[S]=des2tf(sl) + [Bfs,Bis,chis]=des2tf(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para>リスト (記述子形式の線形システム)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Bfs, Bis</term> + <listitem> + <para>多項式行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>chis</term> + <listitem> + <para>多項式</para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>有理行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 記述子形式の線形システム<literal>Sl=list('des',A,B,C,D,E)</literal>を指定すると, + <literal>des2tf</literal> は <literal>sl</literal> を + その伝達関数表現に変換します: + </para> + <programlisting role=""><![CDATA[ +S=C*(s*E-A)^(-1)*B+D + ]]></programlisting> + <para> + 引数3個でコールされた場合, <literal>des2tf</literal> は, + 2つの多項式行列 + <literal>Bfs</literal> および <literal>Bis</literal> と + 次のような多項式<literal>chis</literal>を返します: + </para> + <programlisting role=""><![CDATA[ +S=Bfs/chis - Bis + ]]></programlisting> + <para> + <literal>chis</literal> は <literal>(s*E-A)</literal> の行列式 + (xcative定数に一致)です; + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1/(s+1),s;1+s^2,3*s^3]; +Descrip=tf2des(G);Tf1=des2tf(Descrip) +Descrip2=tf2des(G,"withD");Tf2=des2tf(Descrip2) +[A,B,C,D,E]=Descrip2(2:6);Tf3=C*inv(s*E-A)*B+D + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="glever">glever</link> + </member> + <member> + <link linkend="pol2des">pol2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="des2ss">des2ss</link> + </member> + <member> + <link linkend="rowshuff">rowshuff</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/frep2tf.xml b/modules/cacsd/help/ja_JP/formal_representation/frep2tf.xml new file mode 100755 index 000000000..8f3499b22 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/frep2tf.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="frep2tf"> + <refnamediv> + <refname>frep2tf</refname> + <refpurpose> + 周波数応答から伝達関数実現を得る + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[h [,err]]=frep2tf(frq,repf,dg [,dom,tols,weight])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>frq</term> + <listitem> + <para>周波数ベクトル (単位: Hz).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>周波数応答ベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dg</term> + <listitem> + <para>線形システムの次数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + 時間領域 (<literal>'c'</literal> または <literal>'d'</literal> または <literal>dt</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tols</term> + <listitem> + <para> + 長さ3のベクトルで, + 相対および絶対許容誤差, + 最大反復回数を指定します(デフォルト値: <literal>rtol=1.e-2; atol=1.e-4, N=10</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>weight</term> + <listitem> + <para>周波数の重みベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para>SISO 伝達関数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para> + 誤差 (例えば <literal>dom='c'</literal>の場合, <literal>sum(abs(h(2i*pi*frq) - rep)^2)/size(frq,*)</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 周波数応答を伝達関数に変換します. + <literal>h</literal>の次数は,必須の引数 + <literal>dg</literal>で事前に指定されます. + 以下の線形システムが最小二乗解として解かれます. + </para> + <programlisting role=""><![CDATA[ + weight(k)*(n( phi_k) - d(phi_k)*rep_k)=0, k=1,..,n + ]]></programlisting> + <para> + ただし,<literal>dom='c'</literal>の場合は + <literal>phi_k= 2*%i*%pi*frq</literal>, + そうでない場合は <literal>phi_k=exp(2*%i*%pi*dom*frq</literal>. + <literal>weight</literal> ベクトルが指定されない場合, + デフォルトの重み付けが使用されます(<literal>dom='c'</literal>の場合). + </para> + <para> + 安定で最小位相のシステムが<literal>factors</literal>関数により + 得られます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +h=syslin('c',(s-1)/(s^3+5*s+20)) +frq=0:0.05:3;repf=repfreq(h,frq); +clean(frep2tf(frq,repf,3)) +Sys=ssrand(1,1,10); +frq=logspace(-3,2,200); +[frq,rep]=repfreq(Sys,frq); //Sysの周波数応答 +[Sys2,err]=frep2tf(frq,rep,10);Sys2=clean(Sys2)//Sysの周波数応答からSys2を得る +[frq,rep2]=repfreq(Sys2,frq); //Sys2の周波数応答 +clf();bode(frq,[rep;rep2]) //Sys と Sys2の応答 +[gsort(spec(Sys('A'))),gsort(roots(Sys2('den')))] //極 +dom=1/1000; // サンプリング時間 +z=poly(0,'z'); +h=syslin(dom,(z^2+0.5)/(z^3+0.1*z^2-0.5*z+0.08)) +frq=(0:0.01:0.5)/dom;repf=repfreq(h,frq); +[Sys2,err]=frep2tf(frq,repf,3,dom); +[frq,rep2]=repfreq(Sys2,frq); //Sys2の周波数応答 +clf();plot2d1("onn",frq',abs([repf;rep2])'); +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frfit">frfit</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/lsslist.xml b/modules/cacsd/help/ja_JP/formal_representation/lsslist.xml new file mode 100755 index 000000000..009b79fc3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/lsslist.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lsslist"> + <refnamediv> + <refname>lsslist</refname> + <refpurpose> Scilab 線形状態空間関数を定義</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>lsslist() + lsslist(A, B, C, X0, dt) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>説明</title> + <para> + <literal>lsslist(A, B, C, X0, dt)</literal> は + <literal>tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt)</literal> + へのショートカットです. + </para> + <para> + <literal>["lss", "A", "B", "C", "D", "X0", "dt"]</literal> を最初のエントリ, + <varname>A</varname>, <varname>B</varname>, <varname>C</varname>,<varname>X0</varname>,<varname>dt</varname> + は次のエントリなどとなる<literal>tlist</literal> + を作成します. + <varname>A</varname>, <varname>B</varname>, <varname>C</varname>,<varname>X0</varname>,<varname>dt</varname> + に関して型や大きさの確認は行われません. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="abcd">abcd</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="tlist">tlist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/markp2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/markp2ss.xml new file mode 100755 index 000000000..dec3a5c78 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/markp2ss.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="markp2ss"> + <refnamediv> + <refname>markp2ss</refname> + <refpurpose>マルコフパラメータを状態空間に変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[sl]=markp2ss(markpar,n,nout,nin)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>markpar</term> + <listitem> + <para>行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n,nout,nin</term> + <listitem> + <para>整数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 大きさ<literal>nout</literal>X<literal>(n*nin)</literal> + の(行)-行列<literal>markpar</literal>にスタックされた + マルコフパラメータ<literal>n</literal>の集合を指定すると, + markp2ss は,<literal>[A,B,C,D]=abcd(sl)</literal>となる + 状態空間線形システム <literal>sl</literal> + (<literal>syslin</literal> リスト) を返します: + </para> + <programlisting role=""><![CDATA[ +C*B = markpar(1:nout,1:nin), +C*A*B =markpar(1:nout,nin+1:2*nin),.... + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +W=ssrand(2,3,4); //2出力3入力を有するランダムなシステム +[a,b,c,d]=abcd(W); +markpar=[c*b,c*a*b,c*a^2*b,c*a^3*b,c*a^4*b]; +S=markp2ss(markpar,5,2,3); +[A,B,C,D]=abcd(S); +Markpar=[C*B,C*A*B,C*A^2*B,C*A^3*B,C*A^4*B]; +norm(markpar-Markpar,1) +//注意... c*a^5*b は C*A^5*B ではありません! + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/sm2des.xml b/modules/cacsd/help/ja_JP/formal_representation/sm2des.xml new file mode 100755 index 000000000..eec9bbb16 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/sm2des.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sm2des"> + <refnamediv> + <refname>sm2des</refname> + <refpurpose>システム行列を記述子に変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[Des]=sm2des(Sm);</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sm</term> + <listitem> + <para>多項式行列 (ペンシルシステム行列)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Des</term> + <listitem> + <para> + 記述子システム (<literal>list('des',A,B,C,D,E)</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ユーティリティ関数: システム行列 + </para> + <programlisting role=""><![CDATA[ +Sm = [-sE + A B; + [ C D] + ]]></programlisting> + <para> + を記述子システム <literal>Des=list('des',A,B,C,D,E)</literal>)に変換します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="sm2ss">sm2ss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/sm2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/sm2ss.xml new file mode 100755 index 000000000..62702a8dd --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/sm2ss.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sm2ss"> + <refnamediv> + <refname>sm2ss</refname> + <refpurpose>システム行列を状態空間に変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[Sl]=sm2ss(Sm);</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sm</term> + <listitem> + <para>多項式行列 (ペンシルシステム行列)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ユーティリティ関数: システム行列: + </para> + <programlisting role=""><![CDATA[ +Sm = [-sI + A B; + [ C D] + ]]></programlisting> + <para> + を状態空間表現の線形システム (<literal>syslin</literal>) リストに変換します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/ss2des.xml b/modules/cacsd/help/ja_JP/formal_representation/ss2des.xml new file mode 100755 index 000000000..f90970794 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/ss2des.xml @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ss2des"> + <refnamediv> + <refname>ss2des</refname> + <refpurpose>(多項式) 状態空間をディスクリプタ形式に変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>S=ss2des(Sl) + S=ss2des(Sl,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト: プロパーまたはプロパーでない線形システム. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列 <literal>"withD"</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>リスト</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間表現の線形システム + <literal>Sl</literal> (<literal>syslin</literal> リスト), + 多項式または(ゼロでない)定数のどちらかである<literal>D</literal>行列と共に + 指定すると, + <literal>ss2des</literal> は<literal>list('des',A,B,C,0,E)</literal>として + 以下のような + ディスクリプタシステムを返します: + </para> + <programlisting role=""><![CDATA[ +Sl=C*(s*E-A)^(-1)*B + ]]></programlisting> + <para> + フラグ <literal>"withD"</literal> が指定された場合, + 最大ランクの<literal>D</literal>行列を含む + <literal> S=list('des',A,B,C,D,E) </literal>となります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1/(s+1),s;1+s^2,3*s^3];Sl=tf2ss(G); +S=ss2des(Sl) +S1=ss2des(Sl,"withD") +Des=des2ss(S);Des(5)=clean(Des(5)) +Des1=des2ss(S1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="pol2des">pol2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + <member> + <link linkend="des2ss">des2ss</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/ss2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/ss2ss.xml new file mode 100755 index 000000000..dbed26c0b --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/ss2ss.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="ss2ss" xml:lang="ja"> + <refnamediv> + <refname>ss2ss</refname> + <refpurpose>状態空間から状態空間への変換, フィードバック, 注入</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[Sl1,right,left]=ss2ss(Sl,T, [F, [G , [flag]]])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 状態空間形式の線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para>正方 (正則) 行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sl1, 右, 左</term> + <listitem> + <para>状態空間形式の線形システム (syslin リスト) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para>実数行列 (状態フィードバックゲイン)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>G</term> + <listitem> + <para>実数行列 (出力注入ゲイン)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システム <literal>Sl1=[A1,B1,C1,D1]</literal> を返します. + ただし, <literal>A1=inv(T)*A*T, B1=inv(T)*B, C1=C*T, D1=D</literal>. + </para> + <para> + オプションのパラメータ <literal>F</literal> および <literal>G</literal> + は,それぞれ状態フィードバックおよび出力注入です. + </para> + <para> + 例えば, <literal>Sl1=ss2ss(Sl,T,F)</literal> は,以下のような + <literal>Sl1</literal> を返します: + </para> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../../mml/ss2ss_equation1.mml"/> + </imageobject> + </mediaobject> + <para> + <literal>right</literal> は,<literal>Sl1=Sl*right</literal>となる + 正則な線形システムです. + </para> + <para> + <literal>Sl1*inv(right)</literal> は + <literal>Sl</literal>の分解です. + </para> + <para> + <literal>Sl1=ss2ss(Sl,T,0*F,G)</literal> は以下のような + <literal>Sl1</literal> を返します: + </para> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../../mml/ss2ss_equation2.mml"/> + </imageobject> + </mediaobject> + <para> + <literal>left</literal> は, + <literal>Sl1=left*Sl</literal> (<literal>right=Id</literal>となる + 正則な線形システムです. + (<literal>F=0</literal>の場合に<literal>right=Id</literal>) + </para> + <para> + <literal>F</literal> および <literal>G</literal> の両方と指定した場合, + <literal>Sl1=left*Sl*right</literal>となります. + </para> + <itemizedlist> + <listitem> + <para> + <literal>flag</literal> を使用し,<literal>flag=1</literal>の場合, + 以下のような出力注入が使用されます. + </para> + <mediaobject> + <imageobject> + <imagedata fileref="../../mml/ss2ss_equation3.mml"/> + </imageobject> + </mediaobject> + <para> + この後,フィードバックが行われ,<literal>F</literal>の + 大きさは<literal>(m+p,n)</literal>となります. + </para> + <mediaobject> + <imageobject> + <imagedata align="left" fileref="../../mml/ss2ss_equation4.mml"/> + </imageobject> + </mediaobject> + <para> + <literal>right</literal> および <literal>left</literal> は + 以下の特徴を有します: + </para> + <programlisting role=""><![CDATA[ +Sl1 = left*sysdiag(sys,eye(p,p))*right + ]]></programlisting> + </listitem> + <listitem> + <para> + <literal>flag</literal> を使用し, <literal>flag=2</literal> とした場合, + フィードバック + (<literal>F</literal> の大きさは + <literal>(m,n)</literal>である必要があります)が行われ,その後, + 上記の出力注入が適用されます. + <literal>right</literal> および + <literal>left</literal>は以下の特徴を有します: + </para> + <programlisting role=""><![CDATA[ + Sl1 = left*sysdiag(sys*right,eye(p,p))) + ]]></programlisting> + </listitem> + </itemizedlist> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +Sl=ssrand(2,2,5); trzeros(Sl) // zeros are invariant: +Sl1=ss2ss(Sl,rand(5,5),rand(2,5),rand(5,2)); +trzeros(Sl1), trzeros(rand(2,2)*Sl1*rand(2,2)) +// output injection [ A + GC, (B+GD,-G)] +// [ C , (D , 0)] +p=1,m=2,n=2; sys=ssrand(p,m,n); +// feedback (m,n) first and then output injection. +F1=rand(m,n); +G=rand(n,p); +[sys1,right,left]=ss2ss(sys,rand(n,n),F1,G,2); +// Sl1 equiv left*sysdiag(sys*right,eye(p,p))) +res=clean(ss2tf(sys1) - ss2tf(left*sysdiag(sys*right,eye(p,p)))) +// output injection then feedback (m+p,n) +F2=rand(p,n); F=[F1;F2]; +[sys2,right,left]=ss2ss(sys,rand(n,n),F,G,1); +// Sl1 equiv left*sysdiag(sys,eye(p,p))*right +res=clean(ss2tf(sys2)-ss2tf(left*sysdiag(sys,eye(p,p))*right)) +// when F2= 0; sys1 and sys2 are the same +F2=0*rand(p,n);F=[F1;F2]; +[sys2,right,left]=ss2ss(sys,rand(n,n),F,G,1); +res=clean(ss2tf(sys2)-ss2tf(sys1)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="projsl">projsl</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/ss2tf.xml b/modules/cacsd/help/ja_JP/formal_representation/ss2tf.xml new file mode 100755 index 000000000..47ce53387 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/ss2tf.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ss2tf"> + <refnamediv> + <refname>ss2tf</refname> + <refpurpose>状態空間から伝達関数への変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[h]=ss2tf(sl) + [Ds,NUM,chi]=ss2tf(sl) + [h]=ss2tf(sl,"b") + [Ds,NUM,chi]=ss2tf(sl,"b") + [h]=ss2tf(sl,rmax) + [Ds,NUM,chi]=ss2tf(sl,rmax) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para>伝達関数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 出力を3個としてコール <literal>[Ds,NUM,chi]=ss2tf(sl)</literal> すると、 + 分子多項式行列 <literal>NUM</literal>, + 特性方程式 <literal>chi</literal>および + 多項式部分 <literal>Ds</literal> が別々に得られる. + すなわち: + </para> + <programlisting role=""><![CDATA[ +h = NUM/chi + Ds + ]]></programlisting> + <para> + 手法: + </para> + <para> + 特性多項式と + <literal>det(A+Eij)=det(A)+C(i,j)</literal> が使用される. + ただし,<literal>C</literal> は <literal>A</literal>の随伴行列である. + </para> + <para> + <literal>rmax</literal> または引数 <literal>"b"</literal> を指定した場合, + sl.A のブロック対角化を行い,このブロックに + "Leverrier" アルゴリズムを適用する. + 指定した場合, <literal>rmax</literal> は条件数を制御する (bdiag参照). + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +h=[1,1/s;1/(s^2+1),s/(s^2-2)] +sl=tf2ss(h); +h=clean(ss2tf(sl)) +[Ds,NUM,chi]=ss2tf(sl) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="nlev">nlev</link> + </member> + <member> + <link linkend="glever">glever</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/tf2des.xml b/modules/cacsd/help/ja_JP/formal_representation/tf2des.xml new file mode 100755 index 000000000..97cf67bba --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/tf2des.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="tf2des"> + <refnamediv> + <refname>tf2des</refname> + <refpurpose>伝達関数をディスクリプタ形式に変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>S=tf2des(G) + S=tf2des(G,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト), 多項式行列 <literal>D</literal> が指定される場合もある + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列 <literal>"withD"</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>リスト</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 伝達関数をディスクリプタ形式: <literal>S=list('d',A,B,C,D,E)</literal>に変換します. + </para> + <programlisting role=""><![CDATA[ +E*xdot = A*x+B*u +y = C*x + D*u + ]]></programlisting> + <para> + オプションのパラメータ flag=<literal>"withD"</literal> が指定されない場合, + <literal>D=0</literal> となることに注意してください. + 指定された場合, 最大ランク行列 <literal>D</literal> がリスト <literal>S</literal> + の5番目のエントリとして返されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1/(s-1),s;1,2/s^3]; +S1=tf2des(G);des2tf(S1) +S2=tf2des(G,"withD");des2tf(S2) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="pol2des">pol2des</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="des2tf">des2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/formal_representation/tf2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/tf2ss.xml new file mode 100755 index 000000000..73aff1aed --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/tf2ss.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="tf2ss"> + <refnamediv> + <refname>tf2ss</refname> + <refpurpose>伝達関数から状態空間表現への変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>sl=tf2ss(h [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para>有理行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 定数 rtol または要素数2のベクトル <literal>[rtol atol]</literal>となります. + </para> + <variablelist> + <varlistentry> + <term>rtol</term> + <listitem> + <para>可観測性を評価する際に使用される相対許容誤差.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>atol</term> + <listitem> + <para>可観測性を評価する際に使用される絶対許容誤差.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト <literal>sl=[A,B,C,D(s)]</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 伝達関数から状態空間表現への変換: + </para> + <para> + <literal>h=C*(s*eye()-A)^-1*B+D(s)</literal> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +H=[2/s,(s+1)/(s^2-5)]; +Sys=tf2ss(H) +clean(ss2tf(Sys)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + <member> + <link linkend="des2tf">des2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/fourplan.xml b/modules/cacsd/help/ja_JP/fourplan.xml new file mode 100755 index 000000000..2b94c75b3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/fourplan.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="fourplan"> + <refnamediv> + <refname>fourplan</refname> + <refpurpose>拡張プラントを4つのプラントに変換する</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[P11,P12,P21,P22]=fourplan(P,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + <literal>syslin</literal> リスト (線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル, <literal>P22</literal>の次元 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P11,P12,P21,P22</term> + <listitem> + <para> + <literal>syslin</literal> リスト. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ユーティリティ関数. + </para> + <para> + <literal>P</literal> は以下のように分割されます: + </para> + <programlisting role=""><![CDATA[ +P=[ P11 P12; + P21 P22] + ]]></programlisting> + <para> + <literal>size(P22)=r</literal>を指定すると, + この関数は4つの線形システム + <literal>P11,P12,P21,P22</literal>を返します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqg2stan">lqg2stan</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/freq.xml b/modules/cacsd/help/ja_JP/freq.xml new file mode 100755 index 000000000..07ce69ad4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/freq.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="freq"> + <refnamediv> + <refname>freq</refname> + <refpurpose>周波数応答</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[x]=freq(A,B,C [,D],f) + [x]=freq(NUM,DEN,f) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A, B, C, D</term> + <listitem> + <para> + 適当な次元<literal>nxn, nxp, mxn, mxp</literal>の実数行列 . + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>NUM,DEN</term> + <listitem> + <para> + 次元 <literal>mxp</literal>の多項式行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para>実数または複素数の行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>x=freq(A,B,C [,D],f)</literal> は次の関係を満たす実数または複素数の + <literal>mxp*t</literal> 行列を返します.: + </para> + <para> + <literal>x(:,k*p:(k+1)*p)= C*inv(f(k)*eye()-A)*B + D</literal>. + </para> + <para> + ここで, <literal>f</literal> が虚軸上または単位円上に + 値を有する場合, + <literal>x</literal>は連続系または離散系における + <literal>(A,B,C,D)</literal>の周波数応答となります. + </para> + <para> + <literal>x=freq(NUM,DEN,f)</literal> は, + <literal>x</literal> の <literal>k*(p-1)+1</literal>列から + <literal>k*p</literal>列が行列<literal>NUM(f(k))./DEN(f(k))</literal>を + 含むような + 実数または複素数の + 行列<literal>x</literal>を返します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +sys=(s+1)/(s^3-5*s+4) +rep=freq(sys("num"),sys("den"),[0,0.9,1.1,2,3,10,20]) +[horner(sys,0),horner(sys,20)] +// +Sys=tf2ss(sys); +[A,B,C,D]=abcd(Sys); +freq(A,B,C,[0,0.9,1.1,2,3,10,20]) + ]]></programlisting> + </refsection> + <refsection> + <title>説明</title> + <simplelist type="inline"> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="horner">horner</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/freson.xml b/modules/cacsd/help/ja_JP/freson.xml new file mode 100755 index 000000000..ca108328f --- /dev/null +++ b/modules/cacsd/help/ja_JP/freson.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="freson"> + <refnamediv> + <refname>freson</refname> + <refpurpose>ピーク周波数</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>fr=freson(h)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fr</term> + <listitem> + <para>ピーク周波数のベクトル (単位: Hz)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + SISOプラント <literal>h</literal> に関して, + ピーク周波数のベクトル(単位: Hz)を返します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +h=syslin('c',-1+%s,(3+2*%s+%s^2)*(50+0.1*%s+%s^2)) +fr=freson(h) +bode(h) +g=20*log(abs(repfreq(h,fr)))/log(10) + ]]></programlisting> + <scilab:image> + h=syslin('c',-1+%s,(3+2*%s+%s^2)*(50+0.1*%s+%s^2)) + fr=freson(h) + bode(h) + g=20*log(abs(repfreq(h,fr)))/log(10) + </scilab:image> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + <member> + <link linkend="zgrid">zgrid</link> + </member> + <member> + <link linkend="h_norm">h_norm</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/fspec.xml b/modules/cacsd/help/ja_JP/fspec.xml new file mode 100755 index 000000000..78dda15e7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/fspec.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) Scilab Enterprises - 2013 - Charlotte HECQUET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="fspec"> + <refnamediv> + <refname>fspec</refname> + <refpurpose>連続時間動的システムのスペクトル分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>gm=fspec(g)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>g</term> + <listitem> + <para>連続時間動的システム.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gm</term> + <listitem> + <para> 連続時間動的システム.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>gm</literal> および <literal>gm^-1</literal> + 安定で,以下の関係を有するような<literal>gm</literal>を返します: + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +g = gtild(gm)*gm + ]]></programlisting> + <para> + gtild(gm) は gm(-s)'の状態空間表現を返します. + </para> + <para> + <literal>g</literal> は可逆です. + </para> + <para> + 虚軸に極を有することはできません. + </para> + <para> + gtild(g)=g (gの極・ゼロは虚軸に対して対称です). + </para> + <para> + g(inf) は正定です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +a=-1000; +b=5; +c=5; +d=5; +sl=syslin('c',a,b,c,d); +fspec(sl) + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/fspecg.xml b/modules/cacsd/help/ja_JP/fspecg.xml new file mode 100755 index 000000000..745a71b6e --- /dev/null +++ b/modules/cacsd/help/ja_JP/fspecg.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="fspecg"> + <refnamediv> + <refname>fspecg</refname> + <refpurpose>安定な因数分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[gm]=fspecg(g).</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>g</term> + <listitem> + <para> 連続時間線形動的システム.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gm</term> + <listitem> + <para> 連続時間線形動的システム.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>gm</literal> および <literal>gm^-1</literal>が安定となる + 次のような + <literal>gm</literal> を返します: + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +gtild(g)*g = gtild(gm)*gm + ]]></programlisting> + <para> + <literal>g</literal> および <literal>gm</literal> は, + 状態空間形式の連続時間線形システムです. + </para> + <para> + 虚軸の極がある場合は使用できません. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +a=0.5; +b=1; +c=2; +sl=syslin('c',a,b,c); +fspecg(sl) + ]]></programlisting> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> は連続時間線形動的システムを確認します. + この修正はこの <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/fstabst.xml b/modules/cacsd/help/ja_JP/fstabst.xml new file mode 100755 index 000000000..0c48fa651 --- /dev/null +++ b/modules/cacsd/help/ja_JP/fstabst.xml @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="fstabst"> + <refnamediv> + <refname>fstabst</refname> + <refpurpose>線形動的システムのユーラ(Youla)・パラメトリゼーション</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>J = fstabst(P,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + 連続時間線形動的システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル, <literal>P22</literal>の次元 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para> + 連続時間線形動的システム + (<literal>P</literal>と同じ表現) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 安定化フィードバックのパラメトリゼーション. + </para> + <para> + <literal>P</literal> は以下のように分割されます: + </para> + <programlisting role=""><![CDATA[ +P=[ P11 P12; + P21 P22] + ]]></programlisting> + <para> + (状態空間形式または伝達関数形式: 計算時に状態空間形式の + 自動変換が行われます) + </para> + <para> + <literal>r</literal> = <literal>P22</literal> サブシステムの大きさ, + <literal>P</literal>の(2,2)ブロック + </para> + <programlisting role=""><![CDATA[ +J =[J11 J12; + J21 J22] + ]]></programlisting> + <para> + <literal>K</literal> は, + 安定な<literal>Q</literal>により + <literal>K=lft(J,r,Q)</literal>である時に限り, + <literal>P</literal>(すなわち<literal>P22</literal>)の + 安定化コントローラです. + </para> + <para> + <literal>J</literal>の中心部である , <literal>J11</literal> は + <literal>P</literal>のlqgレギュレータです. + </para> + <para> + この <literal>J</literal> は, + <literal>P</literal> および <literal>J</literal> の + 2ポート <literal>lft</literal> として以下のように <literal>T</literal> + を定義するものです: <literal>[T,rt]=lft(P,r,J,r)</literal> + この時, <literal>T12</literal> はインナ(inner), + <literal>T21</literal>はコ・インナ(co-inner)となります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +ny=2;nu=3;nx=4; +P22=ssrand(ny,nu,nx); +bigQ=rand(nx+nu,nx+nu);bigQ=bigQ*bigQ'; +bigR=rand(nx+ny,nx+ny);bigR=bigR*bigR'; +[P,r]=lqg2stan(P22,bigQ,bigR); +J=fstabst(P,r); +Q=ssrand(nu,ny,1);Q('A')=-1; //安定なQ +K=lft(J,r,Q); +A=h_cl(P,r,K); spec(A) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="obscont">obscont</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqg2stan">lqg2stan</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> は連続時間線形動的システムについて + 確認されます. + この修正はこの + <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/g_margin.xml b/modules/cacsd/help/ja_JP/g_margin.xml new file mode 100755 index 000000000..9754150c5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/g_margin.xml @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="g_margin" xml:lang="ja"> + <refnamediv> + <refname>g_margin</refname> + <refpurpose>ゲイン余裕およびゲイン交差周波数</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + gm=g_margin(h) + [gm,fr]=g_margin(h) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + SISO線形システム (参照 :<link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>gm</term> + <listitem> + <para> + ゲイン余裕(単位:dB)、存在しない場合は <literal>Inf</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fr</term> + <listitem> + <para>ゲイン交差周波数(単位:Hz). + ゲイン余裕が存在しない場合は空の行列. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para>連続または離散時間SISO線形システムを + 指定すると,<literal>g_margin</literal>は<literal>h</literal>の + ゲイン余裕 <literal>gm</literal> (単位:dB)および + ゲイン交差周波数 <literal>fr</literal> (単位:Hz)を返します. + </para> + <para>ゲイン余裕が存在する場合,この値は + ナイキスト線図が実軸の負の部分を通過する点における + システムゲインの最小値を表します. + 言い換えると,ゲイン余裕は,<literal>h</literal>の開ループゲインを + <literal>g</literal>とする時, + <literal>h</literal>の周波数応答の位相が -180度となった + 時点での<literal>20*log10(1/g)</literal>となります. + </para> + <para>このアルゴリズムは,多項式の求解ルーチンを使用して + 以下の方程式を解いています: + </para> + <variablelist> + <varlistentry> + <term>h(s)=h(-s)</term> + <listitem> + <para> :連続時間システムの場合.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h(z)=h(1/z)</term> + <listitem> + <para> :離散時間システムの場合.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +h=syslin('c',-1+%s,3+2*%s+%s^2) //連続時間系の場合 +[g,fr]=g_margin(h) +[g,fr]=g_margin(h-10) +nyquist(h-10) +h = syslin(0.1,0.04798*%z+0.0464,%z^2-1.81*%z+0.9048);//離散時間系の場合 +[g ,fr]=g_margin(h); +show_margins(h) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="show_margins">show_margins</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/gamitg.xml b/modules/cacsd/help/ja_JP/gamitg.xml new file mode 100755 index 000000000..8d4fd02bd --- /dev/null +++ b/modules/cacsd/help/ja_JP/gamitg.xml @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="gamitg"> + <refnamediv> + <refname>gamitg</refname> + <refpurpose>連続時間システムのH無限大ガンマ・イタレーション</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[gopt]=gamitg(G,r,prec [,options]);</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 連続時間動的システム (プラント実現 ) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル ( <literal>G22</literal>の次元) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>prec</term> + <listitem> + <para>ノルムの相対精度を指定</para> + </listitem> + </varlistentry> + <varlistentry> + <term>option</term> + <listitem> + <para> + 文字列 <literal>'t'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>gopt</term> + <listitem> + <para>実数スカラー, 最適 H無限大ゲイン </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>gopt=gamitg(G,r,prec [,options])</literal> + は,H無限大最適ゲイン<literal>gopt</literal>を返します. + </para> + <para> + <literal>G</literal> は + プラント<literal>[A,B,C,D]</literal>を以下のように + 分割した状態空間行列を含みます: + </para> + <programlisting role=""><![CDATA[ +B = ( B1 , B2 ) , C = ( C1 ) , D = ( D11 D12) + ( C2 ) ( D21 D22) + ]]></programlisting> + <para> + これらの分割は,<literal>r</literal>により暗黙のうちに + 指定されます: + <literal>r(1)</literal> および <literal>r(2)</literal> は + <literal>D22</literal> の次元(行 x 列)です. + </para> + <para> + <literal>option='t'</literal>を指定すると, + <literal>gamitg</literal> は,各二分探索ステップのトレースを行います. + すなわち, カレントの下界と上界と試行点を表示します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ccontrg">ccontrg</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>著者</title> + <para>P. Gahinet</para> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> は連続時間線形動的システム + について確認されるようになりました. + この修正はこの + <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/gcare.xml b/modules/cacsd/help/ja_JP/gcare.xml new file mode 100755 index 000000000..d9826af19 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gcare.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="gcare"> + <refnamediv> + <refname>gcare</refname> + <refpurpose>制御リカッチ方程式</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[X,F]=gcare(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 状態空間表現の連続時間線形動的システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>対称行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 一般化制御代数リカッチ方程式(GCARE). + <literal>X</literal> = 解 , <literal>F</literal> = ゲイン. + </para> + <para> + <literal>Sl=[A,B,C,D]</literal> に関するGCAREは次のようになります: + </para> + <programlisting role=""><![CDATA[ +(A-B*Si*D'*C)'*X+X*(A-B*Si*D'*C)-X*B*Si*B'*X+C'*Ri*C=0 + ]]></programlisting> + <para> + ただし, <literal>S=(eye()+D'*D)</literal>, <literal>Si=inv(S)</literal>, <literal>R=(eye()+D*D')</literal>, <literal>Ri=inv(R)</literal> + そして, <literal>F=-Si*(D'*C+B'*X)</literal> は<literal>A+B*F</literal> + が安定となるように設定されます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="gfare">gfare</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal> は連続時間線形動的システム + について確認されるようになりました. + この修正はこの + <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/gfare.xml b/modules/cacsd/help/ja_JP/gfare.xml new file mode 100755 index 000000000..cdbe64ce9 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gfare.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="gfare"> + <refnamediv> + <refname>gfare</refname> + <refpurpose>フィルタリカッチ方程式</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Z,H]=gfare(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para>対称行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 一般化フィルタ代数リカッチ方程式 (GFARE). + <literal>Z</literal> = 解, <literal>H</literal> = ゲイン. + </para> + <para> + <literal>Sl=[A,B,C,D]</literal> の GFARE は次のようになります: + </para> + <programlisting role=""><![CDATA[ +(A-B*D'*Ri*C)*Z+Z*(A-B*D'*Ri*C)'-Z*C'*Ri*C*Z+B*Si*B'=0 + ]]></programlisting> + <para> + ただし, <literal>S=(eye()+D'*D)</literal>, <literal>Si=inv(S)</literal>, <literal>R=(eye()+D*D')</literal>, <literal>Ri=inv(R)</literal> + そして, <literal>H=-(B*D'+Z*C')*Ri</literal> は + <literal>A+H*C</literal> が安定となるよう設定されます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="gcare">gcare</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/gfrancis.xml b/modules/cacsd/help/ja_JP/gfrancis.xml new file mode 100755 index 000000000..9bc271946 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gfrancis.xml @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="gfrancis"> + <refnamediv> + <refname>gfrancis</refname> + <refpurpose>追尾用のフランシス方程式</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[L,M,T]=gfrancis(Plant,Model)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>Plant</term> + <listitem> + <para>状態空間表現の連続時間動的システム.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Model</term> + <listitem> + <para>状態空間表現の連続時間動的システム.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>L,M,T</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形プラント: + </para> + <programlisting role=""><![CDATA[ +x'= F*x + G*u +y = H*x + J*u + ]]></programlisting> + <para> + および線形モデルを指定 + </para> + <programlisting role=""><![CDATA[ +xm'= A*xm + B*um +ym = C*xm + D*um + ]]></programlisting> + <para> + プラントの状態量 x(t) の安定性を維持しつつ, + プラントがモデルを追尾する,すなわち, + <literal>e = y - ym ---> 0</literal> + ことが目標です. + <literal>u</literal> はフィードフォワードおよびフィードバックにより + 指定されます + </para> + <programlisting role=""><![CDATA[ +u = L*xm + M*um + K*(x-T*xm) = [K , L-K*T] *(x,xm) + M*um + ]]></programlisting> + <para> + 行列 T,L,M は一般化フランシス方程式を満たします + </para> + <programlisting role=""><![CDATA[ +F*T + G*L = T*A +H*T + J*L = C + G*M = T*B + J*M = D + ]]></programlisting> + <para> + 行列 <literal>K</literal> は,対 <literal>(F,G)</literal> を安定化するように + 選択する必要があります. + ディレクトリ <literal>demos/tracking</literal> の使用例を参照ください. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +Plant=ssrand(1,3,5); +[F,G,H,J]=abcd(Plant); +nw=4;nuu=2;A=rand(nw,nw); +st=maxi(real(spec(A)));A=A-st*eye(A); +B=rand(nw,nuu);C=2*rand(1,nw);D=0*rand(C*B); +Model=syslin('c',A,B,C,D); +[L,M,T]=gfrancis(Plant,Model); +norm(F*T+G*L-T*A,1) +norm(H*T+J*L-C,1) +norm(G*M-T*B,1) +norm(J*M-D,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="ppol">ppol</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>が + 連続時間線形システムであることを確認するようになりました. + この修正は,この <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/gtild.xml b/modules/cacsd/help/ja_JP/gtild.xml new file mode 100755 index 000000000..078883813 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gtild.xml @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="gtild"> + <refnamediv> + <refname>gtild</refname> + <refpurpose>チルダ処理</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>Gt=gtild(G) + Gt=gtild(G,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para>多項式または線形システムのどちらか + (<literal>syslin</literal> リスト) または有理行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gt</term> + <listitem> + <para>Gと同じ</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列: <literal>'c'</literal> または + <literal>'d'</literal> のどちらか (オプションのパラメータ). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>G</literal> は多項式行列 (または多項式), <literal>Gt=gtild(G,'c')</literal> + は多項式行列 <literal>Gt(s)=G(-s)'</literal>を返します. + </para> + <para> + <literal>G</literal> が多項式行列 (または多項式)の場合, + <literal>Gt=gtild(G,'d')</literal> は多項式行列 + <literal>Gt=G(1/z)*z^n</literal> を返します. + ただし, n は <literal>G</literal> の最大次数です. + </para> + <para> + <literal>syslin</literal>リストにより状態空間で表される + 連続時間システムの場合, + <literal>Gt = gtild(G,'c')</literal> は<literal>G(-s)'</literal>の + 状態空間表現を返します. + すなわち, <literal>Gt</literal> の <literal>ABCD</literal> 行列は, + <literal>A',-C', B', D'</literal> となります. + <literal>G</literal> がプロパーでない場合 + (<literal> D= D(s)</literal>) , + <literal>Gt</literal> の <literal>D</literal> 行列は + <literal>D(-s)'</literal> となります. + </para> + <para> + <literal>syslin</literal>リストにより状態空間で表される + 離散時間システムの場合, + <literal>Gt = gtild(G,'d')</literal> は<literal>G(-1/z)'</literal> + の状態空間表現, + すなわち, (プロパーでない場合もある) + <literal>-z*C*inv(z*A-B)*C + D(1/z) </literal>の状態空間表現, + を返します. + </para> + <para> + 有理行列の場合, <literal>Gt = gtild(G,'c')</literal> は + 誘致行列 <literal>Gt(s)=G(-s)</literal> を返し, + <literal>Gt = gtild(G,'d')</literal> は有理行列 + <literal>Gt(z)= G(1/z)'</literal> を返します. + </para> + <para> + パラメータ <literal>flag</literal> は, + 多項式引数を指定して<literal>gtild</literal>がコール + される場合に必要です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +// 連続時間 +s=poly(0,'s');G=[s,s^3;2+s^3,s^2-5] +Gt=gtild(G,'c') +Gt-horner(G,-s)' //連続時間解釈 +Gt=gtild(G,'d'); +Gt-horner(G,1/s)'*s^3 //離散時間解釈 +G=ssrand(2,2,3);Gt=gtild(G); //状態空間 (G はデフォルトで連続時間系) +clean((horner(ss2tf(G),-s))'-ss2tf(Gt)) //確認 +// 離散時間 +z=poly(0,'z'); +Gss=ssrand(2,2,3);Gss('dt')='d'; //離散時間 +Gss(5)=[1,2;0,1]; //定数D行列を指定 +G=ss2tf(Gss);Gt1=horner(G,1/z)'; +Gt=gtild(Gss); +Gt2=clean(ss2tf(Gt)); clean(Gt1-Gt2) //確認 +// プロパーでないシステム +z=poly(0,'z'); +Gss=ssrand(2,2,3);Gss(7)='d'; //離散時間 +Gss(5)=[z,z^2;1+z,3]; //D(z) は多項式 +G=ss2tf(Gss);Gt1=horner(G,1/z)'; //伝達形式で計算 +Gt=gtild(Gss); //状態空間形式で計算 +Gt2=clean(ss2tf(Gt));clean(Gt1-Gt2) //確認 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="horner">horner</link> + </member> + <member> + <link linkend="factors">factors</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/h2norm.xml b/modules/cacsd/help/ja_JP/h2norm.xml new file mode 100755 index 000000000..ad9f934ea --- /dev/null +++ b/modules/cacsd/help/ja_JP/h2norm.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="h2norm"> + <refnamediv> + <refname>h2norm</refname> + <refpurpose>連続時間プロパー動的システムのH2ノルム</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[n]=h2norm(Sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 連続時間プロパー線形動的システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>実数スカラー</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形連続時間システム<literal>Sl</literal>のH2ノルムを + 出力します. + </para> + <para> + (<literal>Sl</literal>が状態空間形式の場合, + <literal>h2norm</literal> は可観測性グラミアンを使用し, + <literal>Sl</literal>が伝達形式の場合, + <literal>h2norm</literal> は残渣法を使用します) + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + h=syslin('c',(2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2norm(h) + ]]></programlisting> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>が + 連続時間線形システムであることを確認するようになりました. + この修正は,この <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/h_cl.xml b/modules/cacsd/help/ja_JP/h_cl.xml new file mode 100755 index 000000000..1929997cc --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_cl.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="h_cl"> + <refnamediv> + <refname>h_cl</refname> + <refpurpose>閉ループ行列</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Acl]=h_cl(P,r,K) + [Acl]=h_cl(P22,K) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P, P22</term> + <listitem> + <para> + 連続時間動的システム: + それぞれ拡張プラントまたはノミナルプラント + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル, <literal>P</literal> の + 2,2 部分の次元 (<literal>r=[rows,cols]=size(P22)</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + 連続時間線形動的システム: コントローラ + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Acl</term> + <listitem> + <para>実数正方行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 標準プラント <literal>P</literal> を + (<literal>r=size(P22)</literal> とコントローラ <literal>K</literal> と共に) + 指定すると,この関数は閉ループ行列 <literal>Acl</literal> を返します. + </para> + <para> + 閉ループ系の内部安定性を確保するために,<literal>Acl</literal> の極は, + 安定である必要があります. + </para> + <para> + <literal>Acl</literal> は線形システム<literal>[I -P22;-K I]^-1</literal> + の<literal>A</literal>行列,すなわち, + <literal>lft(P,r,K)</literal>の<literal>A</literal>行列です + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lft">lft</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <para>F. D. </para> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>が + 連続時間線形システムであることを確認するようになりました. + この修正は,この <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/h_inf.xml b/modules/cacsd/help/ja_JP/h_inf.xml new file mode 100755 index 000000000..a3c5ccf87 --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_inf.xml @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="h_inf"> + <refnamediv> + <refname>h_inf</refname> + <refpurpose>連続時間H無限大 (中心) コントローラ</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Sk,ro]=h_inf(P,r,romin,romax,nmax) + [Sk,rk,ro]=h_inf(P,r,romin,romax,nmax) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + 連続時間線形動的システム + (状態空間形式または伝達形式で指定した``拡張'' プラント) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + <literal>P22</literal>プラントの大きさ + すなわち,長さ2のベクトル<literal>[#outputs,#inputs]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>romin,romax</term> + <listitem> + <para> + <literal>ro=1/gama^2</literal>に関するアプリオリ境界; (通常は<literal>romin=0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>nmax</term> + <listitem> + <para>整数, ガンマ反復の最大回数.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>h_inf</literal> は連続時間プラント<literal>P</literal> + のH無限大最適コントローラを計算します. + </para> + <para> + <literal>P</literal>の4個のサブプラントへの分割は, + <literal>P</literal>の<literal>22</literal>部分の大きさである + 2要素のベクトル <literal>r</literal> により指定されます. + </para> + <para> + <literal>P</literal> は状態空間表現, + 例えば,<literal>A,B,C,D</literal> = 定数行列を用いて, + <literal>P=syslin('c',A,B,C,D)</literal>, + または,伝達関数<literal>H</literal>を用いて<literal>P=syslin('c',H)</literal> + により指定します. + </para> + <para> + <literal>[Sk,ro]=H_inf(P,r,romin,romax,nmax)</literal> は, + <literal>[romin,romax]</literal> の + <literal>ro</literal>と, + <literal>P</literal>と同じ形式の中心コントローラ <literal>Sk</literal> + を返します. + </para> + <para> + (全ての計算は状態空間で行われます, + すなわち,状態空間への変換は必要に応じて関数により自動的に + 行われます). + </para> + <para> + 左辺パラメータを3個指定してコールされた場合, + </para> + <para> + <literal>[Sk,rk,ro]=H_inf(P,r,romin,romax,nmax)</literal> は, + <literal>ro</literal>と安定化コントローラのパラメトリゼーション + を返します: + </para> + <para> + 安定化コントローラ <literal>K</literal> は + <literal>K=lft(Sk,r,PHI)</literal> により得られます. + ただし, <literal>PHI</literal>は次元<literal>r'</literal> + の線形システムで,次の関係を満たします: + </para> + <para> + <literal>H_norm(PHI) < gamma</literal>. + <literal>rk (=r)</literal> は, + <literal>nmax</literal>回反復後の + <literal>Sk22</literal> ブロックの大きさです. + </para> + <para> + アルゴリズムは, Safonov-Limebeer に基づきます. + <literal>P</literal> は連続時間プラントであることを前提と + することに注意してください. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="gamitg">gamitg</link> + </member> + <member> + <link linkend="ccontrg">ccontrg</link> + </member> + <member> + <link linkend="leqr">leqr</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>著者</title> + <para>F.Delebecque INRIA (1990) </para> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>が + 連続時間線形システムであることを確認するようになりました. + この修正は,この <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/h_inf_st.xml b/modules/cacsd/help/ja_JP/h_inf_st.xml new file mode 100755 index 000000000..7ed515080 --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_inf_st.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="h_inf_st"> + <refnamediv> + <refname>h_inf_st</refname> + <refpurpose>静的なH_infinity問題</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Kopt,gamaopt]=h_inf_stat(D,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>D</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>1x2 ベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Kopt</term> + <listitem> + <para>行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>lft(D,r,K)=D11+D12* K*inv(I-D22*K)* D21</literal>の + 最大特異値が最小となるような行列 <literal>Kopt</literal> + を計算します. + (静的 <literal>H_infinity</literal> 4ブロック問題) + </para> + <para> + D は <literal>D=[D11 D12; D21 D22]</literal>のように + 分割されます. + ただし, + <literal>size(D22)=r=[r1 r2]</literal> + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/h_norm.xml b/modules/cacsd/help/ja_JP/h_norm.xml new file mode 100755 index 000000000..7e838cf3c --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_norm.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="h_norm"> + <refnamediv> + <refname>h_norm</refname> + <refpurpose>H無限大ノルム</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[hinfnorm [,frequency]]=h_norm(sl [,rerr])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 状態空間システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rerr</term> + <listitem> + <para> + 最大相対誤差, デフォルト値 <literal>1e-8</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>hinfnorm</term> + <listitem> + <para> + <literal>Sl</literal>のH無限大ノルム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>frequency</term> + <listitem> + <para>最大値となる周波数</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間システムのH無限大ノルム + (最大特異値の全周波数における最大値) + を出力します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="linfn">linfn</link> + </member> + <member> + <link linkend="linf">linf</link> + </member> + <member> + <link linkend="svplot">svplot</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/hankelsv.xml b/modules/cacsd/help/ja_JP/hankelsv.xml new file mode 100755 index 000000000..c68cfe909 --- /dev/null +++ b/modules/cacsd/help/ja_JP/hankelsv.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="hankelsv"> + <refnamediv> + <refname>hankelsv</refname> + <refpurpose>ハンケル特異値</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[nk2,W]=hankelsv(sl [,tol]) + [nk2]=hankelsv(sl [,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 線形システム(状態空間)を表す + <literal>syslin</literal> リスト. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 虚軸モードを検出するための許容誤差パラメータ + (デフォルト値: <literal>1000*%eps</literal>). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>sl</literal>の + ハンケル特異値の二乗 <literal>nk2</literal>と, + <literal>W = P*Q</literal> = 可制御性グラミアンと + 可観測性グラミアンの積を返します. + </para> + <para> + <literal>nk2</literal> は<literal>W</literal>の + 固有値のベクトルです. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2,-3]); +sl=syslin('c',A,rand(3,2),rand(2,3));[nk2,W]=hankelsv(sl) +[Q,M]=pbig(W,nk2(2)-%eps,'c'); +slr=projsl(sl,Q,M);hankelsv(slr) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="balreal">balreal</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/hinf.xml b/modules/cacsd/help/ja_JP/hinf.xml new file mode 100755 index 000000000..3ba817b71 --- /dev/null +++ b/modules/cacsd/help/ja_JP/hinf.xml @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="hinf"> + <refnamediv> + <refname>hinf</refname> + <refpurpose>連続時間システムのH無限大設計</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para>n行n列システム状態行列 A.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>n行m列システム入力行列 B.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>p行n列システム出力行列 C.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>p行m列システム行列 D.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ncon</term> + <listitem> + <para>制御入力の数. m >= ncon >= 0, p-nmeas >= ncon.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nmeas</term> + <listitem> + <para>観測量の数. p >= nmeas >= 0, m-ncon >= nmeas.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>gamma</term> + <listitem> + <para> + <literal>H_infinity</literal> 設計で使用されるパラメータ gamma. + コントローラが存在できるように + gamma は十分に大きい(gamma >= 0)と仮定されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>AK</term> + <listitem> + <para>n行n列コントローラ状態行列 AK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>BK</term> + <listitem> + <para>n行nmeas列コントローラ入力行列 BK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>CK</term> + <listitem> + <para>ncon行n列コントローラ出力行列 CK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>DK</term> + <listitem> + <para>ncon行nmeas列コントローラ行列 DK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para> + 行列の条件数の逆数の推定値を含むベクトル. + この値は, + コントローラを計算する際に解くリカッチ方程式の条件数の逆数を推定します + ([1]のアルゴリズムの説明を参照ください). + </para> + <variablelist> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(1) は制御伝達行列 TU の条件数の逆数の推定値を含みます,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(2) は観測伝達行列 TY の条件数の逆数の推定値を含みます,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(3) はXリカッチ方程式の条件数の逆数の推定値を含みます,</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RCOND</term> + <listitem> + <para>(4) はYリカッチ方程式の条件数の逆数の推定値を含みます.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma)</literal> + H無限大 (準)最適n状態コントローラの行列を計算します + </para> + <programlisting role=""><![CDATA[ + | AK | BK | +K = |----|----|, + | CK | DK | + ]]></programlisting> + <para> + (連続時間系の場合) + </para> + <programlisting role=""><![CDATA[ + | A | B1 B2 | | A | B | +P = |----|---------| = |---|---|, + | C1 | D11 D12 | | C | D | + | C2 | D21 D22 | + ]]></programlisting> + <para> + gamma の値を指定すると, + B2 が制御入力の数 (ncon) と同じ列の数を有し, + C2 が観測量の数 (nmeas) と同じ行の数を有するという条件の元で + コントローラが出力されます. + </para> + </refsection> + <refsection> + <title>参考文献</title> + <para> + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of continuous-time linear control systems. Report98-14, Department of Engineering, Leicester University, August 1998. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//Niconet report SLWN1999-12からの例 +//Hinf +A=[-1 0 4 5 -3 -2 + -2 4 -7 -2 0 3 + -6 9 -5 0 2 -1 + -8 4 7 -1 -3 0 + 2 5 8 -9 1 -4 + 3 -5 8 0 2 -6]; +B=[-3 -4 -2 1 0 + 2 0 1 -5 2 + -5 -7 0 7 -2 + 4 -6 1 1 -2 + -3 9 -8 0 5 + 1 -2 3 -6 -2]; +C=[ 1 -1 2 -4 0 -3 + -3 0 5 -1 1 1 + -7 5 0 -8 2 -2 + 9 -3 4 0 3 7 + 0 1 -2 1 -6 -2]; +D=[ 1 -2 -3 0 0 + 0 4 0 1 0 + 5 -3 -4 0 1 + 0 1 0 1 -3 + 0 0 1 7 1]; +Gamma=10.18425636157899; +[AK,BK,CK,DK] = hinf(A,B,C,D,2,2,Gamma) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="dhinf">dhinf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/imrep2ss.xml b/modules/cacsd/help/ja_JP/imrep2ss.xml new file mode 100755 index 000000000..6a0ae1549 --- /dev/null +++ b/modules/cacsd/help/ja_JP/imrep2ss.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="imrep2ss"> + <refnamediv> + <refname>imrep2ss</refname> + <refpurpose>インパルス応答の状態空間実現</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[sl]=imrep2ss(v [,deg])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>v</term> + <listitem> + <para> + インパルス応答のベクトル係数, <literal>v(:,k)</literal> はk番目のサンプル + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>deg</term> + <listitem> + <para>整数 (必要な次数)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + インパルス応答の線形システムへの変換 (1入力). + <literal>v</literal> の列数は偶数である必要があります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +H=[1/(s+0.5);2/(s-0.4)] //厳密にプロパー +np=20;w=ldiv(H('num'),H('den'),np); +rep=[w(1:np)';w(np+1:2*np)']; //インパルス応答 +H1=ss2tf(imrep2ss(rep)) +z=poly(0,'z'); +H=(2*z^2-3.4*z+1.5)/(z^2-1.6*z+0.8) //プロパーな伝達関数 +u=zeros(1,20);u(1)=1; +rep=rtitr(H('num'),H('den'),u); //インパルス応答 +// <=> rep=ldiv(H('num'),H('den'),20) +w=z*imrep2ss(rep) //シフトされたインパルス応答を有する実現 +// すなわち厳密にプロパーからプロパーへ +H2=ss2tf(w); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="time_id">time_id</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="markp2ss">markp2ss</link> + </member> + <member> + <link linkend="ldiv">ldiv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/inistate.xml b/modules/cacsd/help/ja_JP/inistate.xml new file mode 100755 index 000000000..abb399036 --- /dev/null +++ b/modules/cacsd/help/ja_JP/inistate.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="inistate"> + <refnamediv> + <refname>inistate</refname> + <refpurpose>離散時間システムの状態量初期値を推定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>X0 = inistate(SYS,Y,U,TOL,PRINTW) + X0 = inistate(A,B,C,Y,U); + X0 = inistate(A,C,Y); + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>SYS</term> + <listitem> + <para>指定するシステム, syslin(dt,A,B,C,D)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>システムの出力</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>システムの入力</para> + </listitem> + </varlistentry> + <varlistentry> + <term>TOL</term> + <listitem> + <para>TOL は行列のランクを推定する際に使用される許容誤差です. + TOL > 0 の場合,TOLで指定した値が + 条件数の逆数の下界として使用されます. + </para> + <para> + デフォルト: prod(size(matrix))*epsilon_machine ただし epsilon_machine は相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PRINTW</term> + <listitem> + <para>PRINTW は警告メッセージの出力に関するスイッチです.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: 警告メッセージを出力;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: 警告メッセージを出力しない.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: PRINTW = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X0</term> + <listitem> + <para>状態量の初期値の推定値</para> + </listitem> + </varlistentry> + <varlistentry> + <term>V</term> + <listitem> + <para> + システム状態行列Aを実数Schur形式に縮減する直交行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para> + 解く最小二乗問題の係数行列の条件数の逆数の推定値. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + inistate は, + (推定された)システム行列, + 一連の入力/出力データを指定すると, + 離散時間システムの状態量の初期値を推定します. + </para> + <para> + X0 = inistate(SYS,Y,U,TOL,PRINTW) は, + 出力データ Y および 入力データ U を用いて, + 離散時間システム SYS = (A,B,C,D) の状態量の初期値 X0 を + 推定します. + モデルの構造は以下のようになります : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k), k >= 1, +y(k) = Cx(k) + Du(k), + ]]></programlisting> + <para> + ベクトル y(k) および u(k) はそれぞれ Y および U のk行目の + 転置です. + </para> + <para> + 最初の入力パラメータ SYS (syslinオブジェクト)の替わりに, + 等価な情報を, + X0 = inistate(A,B,C,Y,U); または X0 = inistate(A,C,Y);のように + 行列パラメータを用いて指定することが可能です. + </para> + <para> + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) は, x0 以外に, + システム状態行列 A を実数 Schur 形式に縮減する + 直交行列 V, + 解く最小二乗問題の係数行列の条件数の逆数の推定値 + も返します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="findx0BD">findx0BD</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/invsyslin.xml b/modules/cacsd/help/ja_JP/invsyslin.xml new file mode 100755 index 000000000..de72ff9b0 --- /dev/null +++ b/modules/cacsd/help/ja_JP/invsyslin.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="invsyslin"> + <refnamediv> + <refname>invsyslin</refname> + <refpurpose>逆システム</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[sl2]=invsyslin(sl1)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl1,sl2</term> + <listitem> + <para> + <literal>syslin</literal> リスト (状態空間表現の線形システム) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ユーティリティ関数. + (状態形式で指定した)線形システム <literal>sl1</literal> の + 逆 <literal>sl2</literal>の状態形式を計算します. + </para> + <para> + <literal>D</literal>行列はフルランクと仮定されます. + <literal>S</literal>が<literal>syslin</literal>リストの場合, + <literal>inv(S)</literal>による古い処理が使用されます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="rowregul">rowregul</link> + </member> + <member> + <link linkend="inv">inv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/kpure.xml b/modules/cacsd/help/ja_JP/kpure.xml new file mode 100755 index 000000000..6f89bd017 --- /dev/null +++ b/modules/cacsd/help/ja_JP/kpure.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="kpure"> + <refnamediv> + <refname>kpure</refname> + <refpurpose>連続SISOシステムの限界フィードバックゲイン</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + K=kpure(sys [,tol]) + [K,R]=kpure(sys [,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para>SISO線形システム (syslin)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>正のスカラー値. 根が虚軸上にあるかどかを判定する + 際に使用される許容誤差. デフォルト値は + <literal>1e-6</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>実数ベクトル, + 少なくとも一つの閉ループ極が虚数となるゲインベクトル. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>複素数ベクトル, + <literal>K</literal>の値に関連する + 虚数の閉ループ極. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>K=kpure(sys)</literal> は, + <literal>K(i)</literal>によるフィードバックを有するシステム <literal>sys</literal> + (<literal>sys/.K(i)</literal>) + が虚軸に極を有するようなゲイン <literal>K</literal>を計算します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +num=real(poly([-1+%i, -1-%i, -1+8*%i -1-8*%i],'s')); +den=real(poly([0.5 0.5 -6+7*%i -6-7*%i -3 -7 -11],'s')); +h=num/den; +[K,Y]=kpure(h) +clf();evans(h) +plot(real(Y),imag(Y),'+r') + ]]></programlisting> + <scilab:image> + num=real(poly([-1+%i, -1-%i, -1+8*%i -1-8*%i],'s')); + den=real(poly([0.5 0.5 -6+7*%i -6-7*%i -3 -7 -11],'s')); + h=num/den; + [K,Y]=kpure(h) + clf();evans(h) + plot(real(Y),imag(Y),'+r') + </scilab:image> + <programlisting role="example"><![CDATA[ +num=real(poly([-1+%i*1, -1-%i*1, 2+%i*8 2-%i*8 -2.5+%i*13 -2.5-%i*13],'s')); +den=real(poly([1 1 3+%i*3 3-%i*3 -15+%i*7 -15-%i*7 -3 -7 -11],'s')); +h=num/den; +[K,Y]=kpure(h) +clf();evans(h,100000) +plot(real(Y),imag(Y),'+r') + ]]></programlisting> + <scilab:image> + num=real(poly([-1+%i*1, -1-%i*1, 2+%i*8 2-%i*8 -2.5+%i*13 -2.5-%i*13],'s')); + den=real(poly([1 1 3+%i*3 3-%i*3 -15+%i*7 -15-%i*7 -3 -7 -11],'s')); + h=num/den; + [K,Y]=kpure(h) + clf();evans(h,100000) + plot(real(Y),imag(Y),'+r') + </scilab:image> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="krac2">krac2</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/krac2.xml b/modules/cacsd/help/ja_JP/krac2.xml new file mode 100755 index 000000000..ce949847a --- /dev/null +++ b/modules/cacsd/help/ja_JP/krac2.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="krac2"> + <refnamediv> + <refname>krac2</refname> + <refpurpose>連続SISOシステムのフィードバックゲインの限界値</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>g=krac2(sys)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para>SISO線形システム (syslin)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>g</term> + <listitem> + <para>定数</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>krac2(sys)</literal> は + フィードバック g を有するシステム<literal>sys</literal> + (<literal>sys/.g</literal>)が2つの等しい実数の極を有するような + ゲイン<literal>g</literal>を計算します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +h=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); +clf();evans(h,100) +g=krac2(h) +hf1=h/.g(1);roots(denom(hf1)) +hf2=h/.g(2);roots(denom(hf2)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="kpure">kpure</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lcf.xml b/modules/cacsd/help/ja_JP/lcf.xml new file mode 100755 index 000000000..2f2219f65 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lcf.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lcf"> + <refnamediv> + <refname>lcf</refname> + <refpurpose>連続時間動的システムの正規化された既約分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[N,M]=lcf(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 連続時間線形動的システム. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N</term> + <listitem> + <para>連続時間動的システム.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>M</term> + <listitem> + <para>連続時間動的システム.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形動的システム<literal>sl</literal>の + 正規化された既約分解を計算します. + </para> + <para> + <literal>sl = M^-1 N</literal> + </para> + <para> + <literal>M</literal> および <literal>N</literal> は + <literal>sl</literal>と同じ表現(伝達関数または状態空間) + で返されます. + </para> + </refsection> + <refsection> + <title>著者</title> + <para>F. D.; ; </para> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>が + 連続時間線形システムであることを確認するようになりました. + この修正は,この <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/leqr.xml b/modules/cacsd/help/ja_JP/leqr.xml new file mode 100755 index 000000000..cc66a4aae --- /dev/null +++ b/modules/cacsd/help/ja_JP/leqr.xml @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="leqr"> + <refnamediv> + <refname>leqr</refname> + <refpurpose>H無限大 LQ ゲイン (全状態) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[K,X,err]=leqr(P12,Vx)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P12</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Vx</term> + <listitem> + <para>対称非負定行列 (十分に小さい必要があります)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K,X</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para>実数 (リカッチ方程式の左辺のl1ノルム)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>leqr</literal> は, + 連続または離散時間系のプラント <literal>P12=[A,B2,C1,D12]</literal>に関して + 線形準最適H無限大LQ全状態ゲインを計算します. + </para> + <para> + <literal>P12</literal> は <literal>syslin</literal> リストです (例: <literal>P12=syslin('c',A,B2,C1,D12)</literal>). + </para> + <programlisting role=""><![CDATA[ +[C1' ] [Q S] +[ ] * [C1 D12] = [ ] +[D12'] [S' R] + ]]></programlisting> + <para> + <literal>Vx</literal> は, + <literal>x</literal>の外乱の + ノイズ <literal>w</literal> の共分散行列に関連します + (通常, <literal>Vx=gama^-2*B1*B1'</literal>). + </para> + <para> + ゲイン <literal>K</literal> は, <literal>A + B2*K</literal> が安定となるように設定されます. + </para> + <para> + <literal>X</literal> はリカッチ方程式の安定解です. + </para> + <para> + 連続プラントの場合: + </para> + <programlisting role=""><![CDATA[ +(A-B2*inv(R)*S')'*X+X*(A-B2*inv(R)*S')-X*(B2*inv(R)*B2'-Vx)*X+Q-S*inv(R)*S'=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-inv(R)*(B2'*X+S) + ]]></programlisting> + <para> + 離散時間プラントの場合: + </para> + <programlisting role=""><![CDATA[ +X-(Abar'*inv((inv(X)+B2*inv(R)*B2'-Vx))*Abar+Qbar=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-inv(R)*(B2'*inv(inv(X)+B2*inv(R)*B2'-Vx)*Abar+S') + ]]></programlisting> + <para> + ただし, <literal>Abar=A-B2*inv(R)*S'</literal> および <literal>Qbar=Q-S*inv(R)*S'</literal> + </para> + <para> + これらのリカッチ方程式に関連する3ブロック行列ペンシルは次のように + なります: + </para> + <programlisting role=""><![CDATA[ + 離散系 連続系 + |I -Vx 0| | A 0 B2| |I 0 0| | A Vx B2| +z|0 A' 0| - |-Q I -S| s|0 I 0| - |-Q -A' -S | + |0 B2' 0| | S' 0 R| |0 0 0| | S' -B2' R| + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqr">lqr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lft.xml b/modules/cacsd/help/ja_JP/lft.xml new file mode 100755 index 000000000..5fa796525 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lft.xml @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lft"> + <refnamediv> + <refname>lft</refname> + <refpurpose>線形分数変換</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[P1]=lft(P,K) + [P1]=lft(P,r,K) + [P1,r1]=lft(P,r,Ps,rs) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト), ``拡張'' プラント, + 暗黙のうちに4つの区画(2つの入力ポートと2つの出力ポート)に分割されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト), コントローラ + (通常のゲインの場合もあります). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル, <literal>P22</literal>の次元 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ps </term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト), + 暗黙のうちに4つの区画(2つの入力ポートと2つの出力ポート)に分割されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rs </term> + <listitem> + <para> + 1x2 行ベクトル, <literal>Ps22</literal>の次元 + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間形式または伝達関数(<literal>syslin</literal> リスト)の + 二つの標準プラント<literal>P</literal> および <literal>Ps</literal>の + 間で線形分数変換を行います. + </para> + <para> + <literal>r= size(P22) rs=size(P22s)</literal> + </para> + <para> + <literal>lft(P,r, K)</literal> は, + <literal>P</literal>とコントローラ<literal>K</literal>の間の + 線形分数変換です. + (<literal>K</literal>は状態空間表現または伝達関数形式の + ゲインまたはコントローラです); + </para> + <para> + <literal>lft(P,K)</literal> は, + <literal>r</literal>=<literal>K</literal>の転置の大きさ, + を指定した + <literal>lft(P,r,K)</literal> です; + </para> + <para> + <literal>P1= P11+P12*K* (I-P22*K)^-1 *P21</literal> + </para> + <para> + <literal>[P1,r1]=lft(P,r,Ps,rs)</literal> は + <literal>P</literal> および <literal>Ps</literal>の + 一般化LFT(2ポート)を返します. + </para> + <para> + <literal>P1</literal> は2ポートの相互結合されたプラントで, + <literal>P1</literal>は + <literal>r1</literal>で指定された4ブロックに分割されています. + ただし,<literal>r1</literal>は,<literal>P1</literal>の + <literal>22</literal>ブロックの次元です. + </para> + <para> + <literal>P</literal> と <literal>R</literal> は PSSDs, + すなわち多項式行列 <literal>D</literal>,とすることができます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +P=[1/s, 1/(s+1); 1/(s+2),2/s]; K= 1/(s-1); +lft(P,K) +lft(P,[1,1],K) +P(1,1)+P(1,2)*K*inv(1-P(2,2)*K)*P(2,1) //Numerically dangerous! +ss2tf(lft(tf2ss(P),tf2ss(K))) +lft(P,-1) +f=[0,0;0,1];w=P/.f; w(1,1) +//Improper plant (PID control) +W=[1,1;1,1/(s^2+0.1*s)];K=1+1/s+s +lft(W,[1,1],K); ss2tf(lft(tf2ss(W),[1,1],tf2ss(K))) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="sensi">sensi</link> + </member> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + <member> + <link linkend="sysdiag">sysdiag</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lin.xml b/modules/cacsd/help/ja_JP/lin.xml new file mode 100755 index 000000000..f11eb4e2d --- /dev/null +++ b/modules/cacsd/help/ja_JP/lin.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lin"> + <refnamediv> + <refname>lin</refname> + <refpurpose>線形化</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[A,B,C,D]=lin(sim,x0,u0) + [sl]=lin(sim,x0,u0) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sim</term> + <listitem> + <para>関数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0, u0</term> + <listitem> + <para>互換性がある次元のベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 非線形システム <literal>[y,xdot]=sim(x,u)</literal>の + <literal>x0,u0</literal>近傍での線形化. + </para> + <para> + <literal>sim</literal> は <literal>y</literal> および + <literal>xdot</literal>を計算する関数です. + </para> + <para> + 出力は線形システム (<literal>syslin</literal> リスト) <literal>sl</literal> または + 4つの行列 <literal>(A,B,C,D)</literal>です. + </para> + <para> + 例えば, <literal>ftz</literal> が ODE に指定された関数で, + 例えば以下の場合: + </para> + <programlisting role=""><![CDATA[ +[zd]=ftz(t,z,u) + ]]></programlisting> + <para> + そして, <literal>y=x</literal>と仮定すると, + </para> + <para> + <literal>[z]=ode(x0,t0,tf,list(ftz,u)</literal> は + <literal>x(tf)</literal>を計算します. + </para> + <para> + <literal>simula</literal> が以下の関数の場合: + </para> + <programlisting role=""><![CDATA[ +deff('[y,xd]=simula(x,u)','xd=ftz(tf,x,u); y=x;'); + ]]></programlisting> + <para> + 接する線形システム <literal>sl</literal> は以下のように得られます: + </para> + <programlisting role=""><![CDATA[ +[A,B,C,D]=lin(simula,z,u) +sl = syslin('c',A,B,C,D,x0) + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +deff('[y,xdot]=sim(x,u)','xdot=[u*sin(x);-u*x^2];y=xdot(1)+xdot(2)') +sl=lin(sim,1,2); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="external">external</link> + </member> + <member> + <link linkend="derivat">derivat</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/linf.xml b/modules/cacsd/help/ja_JP/linf.xml new file mode 100755 index 000000000..dab614851 --- /dev/null +++ b/modules/cacsd/help/ja_JP/linf.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="linf"> + <refnamediv> + <refname>linf</refname> + <refpurpose>無限大ノルム</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>linf(g [,eps],[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>g</term> + <listitem> + <para> + <literal>syslin</literal> 線形システム. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>eps</term> + <listitem> + <para>n の許容誤差.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>虚軸極の閾値.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>g</literal>の L_infinity ノルムを返します. + </para> + <programlisting role=""><![CDATA[ +n=sup [sigmax(g(jw)] + w + ]]></programlisting> + <para> + (sigmax 最大固有値). + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="h_norm">h_norm</link> + </member> + <member> + <link linkend="linfn">linfn</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/linfn.xml b/modules/cacsd/help/ja_JP/linfn.xml new file mode 100755 index 000000000..2de26302d --- /dev/null +++ b/modules/cacsd/help/ja_JP/linfn.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - P. Gahinet + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="linfn"> + <refnamediv> + <refname>linfn</refname> + <refpurpose>無限大ノルム</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[x,freq]=linfn(G,PREC,RELTOL,options);</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>PREC</term> + <listitem> + <para>ノルムの相対精度の目標値</para> + </listitem> + </varlistentry> + <varlistentry> + <term>RELTOL</term> + <listitem> + <para>固有値が虚軸上にあるかどうかを判定する時の相対閾値.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>options</term> + <listitem> + <para> + 利用可能なオプションは <literal>'trace'</literal> または <literal>'cond'</literal>です + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para>ノルムの計算値.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>freq</term> + <listitem> + <para>ベクトル</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>G</literal>のLinf (または Hinf)ノルムを計算します. + このノルムは, 実現<literal>G=(A,B,C,D)</literal>が + 可制御かつ可検出な虚数の固有値を持たない限り,定義することができます. + </para> + <para> + <literal>freq</literal> は, + <literal>||G||</literal>,すなわち, <literal>||G (j om)|| = ||G||</literal> + が到達した周波数のリストです. + </para> + <para> + -1がリストの中にある場合, このノルムは無限大に達しています. + </para> + <para> + -2がリストの中にある場合, <literal>G</literal> は + 何らかの方向に対して全通過,つまり,全ての周波数 omega について + <literal>||G (j omega)|| = ||G||</literal> です. + </para> + <para> + アルゴリズムは G. Robel による論文 + (AC-34 pp. 882-884, 1989)に基づいています. + <literal>D=0</literal> の場合を別に扱うということはしていません. + これは,<literal>(A,B,C)</literal>がほぼ非最小の時, + 一般的な手法の精度が優れているためです. + </para> + <para> + <literal>'trace'</literal> オプションは + 各二分探索ステップでトレース表示を行います. + すなわち, 上界と下界およびカレントの試行点を表示します. + </para> + <para> + <literal>'cond'</literal> オプションは, + 計算出力値の信頼度指標を推定し,計算が + 悪条件の場合に警告を出力します. + </para> + <para> + 一般的な場合 (<literal>A</literal> が安定でも非安定でもない場合), + 上界は事前に指定されません. + </para> + <para> + 逆に <literal>A</literal> が安定または非安定の場合, + 下界および上界は対応するリアプノフ解により計算されます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="h_norm">h_norm</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/linmeq.xml b/modules/cacsd/help/ja_JP/linmeq.xml new file mode 100755 index 000000000..7912bfe7f --- /dev/null +++ b/modules/cacsd/help/ja_JP/linmeq.xml @@ -0,0 +1,380 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="linmeq"> + <refnamediv> + <refname>linmeq</refname> + <refpurpose>シルベスタおよびリアプノフ方程式ソルバー</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[X(,sep)] = linmeq(task,A,(B,)C,flag,trans(,schur))</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>task</term> + <listitem> + <para>方程式の型を定義する整数オプション:</para> + <variablelist> + <varlistentry> + <term>=1</term> + <listitem> + <para> シルベスタ方程式(1a) または (1b)を解きます ;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>=2</term> + <listitem> + <para> リアプノフ方程式(2a) または (2b)を解きます;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>=3</term> + <listitem> + <para>コレスキー分解 op(X) リアプノフ方程式 (3a) または (3b)を解きます.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para>(オプション) オプションを含む長さ3または2の整数ベクトル.</para> + <variablelist> + <varlistentry> + <term>task</term> + <listitem> + <para>= 1 : flag の長さは3です</para> + <variablelist> + <varlistentry> + <term>flag(1)</term> + <listitem> + <para>= 0 : 連続時間方程式 (1a)を解きます; そうでない場合, + 離散時間方程式 (1b)を解きます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 1 : A は (準) 上三角行列です;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 2 : A は上ヘッセンベルグ行列です;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>それ以外</term> + <listitem> + <para>A は一般形式です.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(3) </term> + <listitem> + <para>= 1 : B は準上三角行列です;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(3) </term> + <listitem> + <para>= 2 : B は上ヘッセンベルグ行列です;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>それ以外, </term> + <listitem> + <para>B は一般形式です.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>task</term> + <listitem> + <para>= 2 : flag の長さは2です</para> + <variablelist> + <varlistentry> + <term>flag(1)</term> + <listitem> + <para> + 0の場合, 連続時間方程式 (2a)を解きます; そうでない場合, + 離散時間方程式 (2b)を解きます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 1 : A は (準) 上三角行列, それ以外の場合, + A は一般形式です. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>task</term> + <listitem> + <para>= 3 : flag hの長さは2です</para> + <variablelist> + <varlistentry> + <term>flag(1) </term> + <listitem> + <para>= 0 : + 連続時間方程式 (3a)を解きます; そうでない場合, + 離散時間方程式 (3b)を解きます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag(2) </term> + <listitem> + <para>= 1 : + A は (準) 上三角行列, それ以外の場合, + A は一般形式です. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: flag(1) = 0, flag(2) = 0 (, flag(3) = 0). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>trans</term> + <listitem> + <para>(オプション) 転置オプションを指定する整数.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>0 : op(M) = Mとして方程式 (1) - (3) を解きます.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : op(M) = M' として方程式 (1) - (3) を解きます.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : op(A) = A'; op(B) = B; として方程式 (1) を解きます.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : op(A) = A; op(B) = B'; として方程式 (1) を解きます.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: trans = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>schur</term> + <listitem> + <para>(オプション) + Hessenberg-Schur法またはSchur法のどちらを + 使用するかを指定する整数. + task = 1 で使用可能. + </para> + <variablelist> + <varlistentry> + <term>= 1 : Hessenberg-Schur 法 </term> + <listitem> + <para>(1個の行列がSchur形式に縮減されます).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= 2 : Schur 法</term> + <listitem> + <para>(2個の行列がSchur形式に縮減されます).</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: schur = 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para/> + </listitem> + </varlistentry> + <varlistentry> + <term>sep</term> + <listitem> + <para>(オプション) + (2.a)の場合 Sep(op(A),-op(A)'), + (2.b)の場合 Sepd(A,A') の推定器. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + linmeq 関数は, + SLICOT ルーチンSB04MD, SB04ND, SB04PD, SB04QD, + SB04RD, SB03MD, および SB03ODを用いて + シルベスターおよびリアプノフ方程式を解きます. + </para> + <programlisting role=""><![CDATA[ + [X] = linmeq(1,A,B,C,flag,trans,schur) +[X,sep] = linmeq(2,A,C,flag,trans) + [X] = linmeq(2,A,C,flag,trans) + [X] = linmeq(3,A,C,flag,trans) + ]]></programlisting> + <para> + linmeq は種々のシルベスタおよびリアプノフ行列方程式を解きます: + </para> + <programlisting role=""><![CDATA[ +op(A)*X + X*op(B) = C, (1a) +op(A)*X*op(B) + X = C, (1b) +op(A)'*X + X*op(A) = C, (2a) +op(A)'*X*op(A) - X = C, (2b) +op(A)'*(op(X)'*op(X)) + (op(X)'*op(X))*op(A) = + - op(C)'*op(C), (3a) +op(A)'*(op(X)'*op(X))*op(A) - op(X)'*op(X) = + - op(C)'*op(C), (3b) + ]]></programlisting> + <para> + ただし op(M) = M, または M'です. + </para> + </refsection> + <refsection> + <title>コメント</title> + <variablelist> + <varlistentry> + <term>1.</term> + <listitem> + <para> (1a) または (1b)の場合でschur = 1の時, + Hessenberg-Schur法が使用され,1個の行列は + ヘッセンベルク形式, + その他の1個の行列は実数Schur形式に縮減されます. + その他の場合, + 行列は両方共実数Schur形式に縮減されます. + 1個または両方の行列がすでにSchur/Hessenberg形式に縮減されている場合, + flag(2) およびflag(3)でこのことを指定することができます. + 一般的な行列の場合,Hessenberg-Schur法は + Schur法よりもはるかに効率的です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>2.</term> + <listitem> + <para>方程式 (2a) または (2b)において, 行列 C は対称と仮定されます.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>3.</term> + <listitem> + <para>方程式 (3a) または (3b)において, 行列 A はそれぞれ安定または + 収束性を有する必要があります. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>4.</term> + <listitem> + <para>方程式 (3a) または (3b)の場合, 計算される行列 X は + 解のコレスキー分解です, すなわち, 実際の解は op(X)'*op(X), + ただし X は上三角行列です. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>履歴</title> + <para> + V. Sima, Katholieke Univ. Leuven, Belgium, May 1999, May, Sep. 2000. V. Sima, University of Bucharest, Romania, May 2000. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//(1a) +n=40;m=30; +A=rand(n,n);C=rand(n,m);B=rand(m,m); +X = linmeq(1,A,B,C); +norm(A*X+X*B-C,1) +//(1b) +flag=[1,0,0] +X = linmeq(1,A,B,C,flag); +norm(A*X*B+X-C,1) +//(2a) +A=rand(n,n);C=rand(A);C=C+C'; +X = linmeq(2,A,C); +norm(A'*X + X*A -C,1) +//(2b) +X = linmeq(2,A,C,[1 0]); +norm(A'*X*A -X-C,1) +//(3a) +A=rand(n,n); +A=A-(max(real(spec(A)))+1)*eye(); //shift eigenvalues +C=rand(A); +X=linmeq(3,A,C); +norm(A'*X'*X+X'*X*A +C'*C,1) +//(3b) +A = [-0.02, 0.02,-0.10, 0.02,-0.03, 0.12; + 0.02, 0.14, 0.12,-0.10,-0.02,-0.14; + -0.10, 0.12, 0.05, 0.03,-0.04,-0.04; + 0.02,-0.10, 0.03,-0.06, 0.08, 0.11; + -0.03,-0.02,-0.04, 0.08, 0.14,-0.07; + 0.12,-0.14,-0.04, 0.11,-0.07, 0.04] +C=rand(A); +X=linmeq(3,A,C,[1 0]); +norm(A'*X'*X*A - X'*X +C'*C,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="sylv">sylv</link> + </member> + <member> + <link linkend="lyap">lyap</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lqe.xml b/modules/cacsd/help/ja_JP/lqe.xml new file mode 100755 index 000000000..379c2b43b --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqe.xml @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lqe"> + <refnamediv> + <refname>lqe</refname> + <refpurpose>線形二次推定器 (カルマンフィルタ) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[K,X]=lqe(P21)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P21</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K, X</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>lqe</literal> は, + 連続または離散時間系のフィルタ問題に関する + カルマンゲインを返します. + </para> + <para> + <literal>P21</literal> は + システム <literal>P21=[A,B1,C2,D21] P21=syslin('c',A,B1,C2,D21) または + P21=syslin('d',A,B1,C2,D21) + </literal> + を表す + <literal>syslin</literal>リストです. + </para> + <para> + <literal>P21</literal> への入力は, 白色ノイズで分散は以下となります: + </para> + <programlisting role=""><![CDATA[ + [B1 ] [Q S] +BigV=[ ] [ B1' D21'] = [ ] + [D21] [S' R] + ]]></programlisting> + <para> + <literal>X</literal> は安定化リカッチ方程式の解, + <literal>A+K*C2</literal> は安定となります. + </para> + <para> + 連続時間系において: + </para> + <programlisting role=""><![CDATA[ +(A-S*inv(R)*C2)*X+X*(A-S*inv(R)*C2)'-X*C2'*inv(R)*C2*X+Q-S*inv(R)*S'=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-(X*C2'+S)*inv(R) + ]]></programlisting> + <para> + 離散時間系において: + </para> + <programlisting role=""><![CDATA[ +X=A*X*A'-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')*(C2*X*A'+D21*B1')+B1*B1' + ]]></programlisting> + <para> + <literal>K=-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')</literal> + </para> + <para> + <literal>xhat(t+1)= E(x(t+1)| y(0),...,y(t))</literal> (1ステップ予測した <literal>x</literal>) + は以下の再帰的関係を満たします: + </para> + <programlisting role=""><![CDATA[ +xhat(t+1)=(A+K*C2)*xhat(t) - K*y(t). + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//Assume the equations +//. +//x = Ax + Ge +//y = Cx + v +//with +//E ee' = Q_e, Evv' = R, Eev' = N +// +//This is equivalent to +//. +//x = Ax + B1 w +//y = C2x + D21 w +//with E { [Ge ] [Ge v]' } = E { [B1w ] [B1w D21w]' } = bigR = +// [ v ] [D21w] +// +//[B1*B1' B1*D21'; +// D21*B1' D21*D21'] +//= +//[G*Q_e*G' G*N; +// N*G' R] +//To find (B1,D21) given (G,Q_e,R,N) form bigR =[G*Q_e*G' G*N;N'*G' R]. +//Then [W,Wt]=fullrf(bigR); B1=W(1:size(G,1),:); +//D21=W(($+1-size(C2,1)):$,:) +// +//P21=syslin('c',A,B1,C2,D21); +//[K,X]=lqe(P21); +//Example: +nx=5;ne=2;ny=3; +A=-diag(1:nx);G=ones(nx,ne); +C=ones(ny,nx); Q_e(ne,ne)=1; R=diag(1:ny); N=zeros(ne,ny); +bigR =[G*Q_e*G' G*N;N'*G' R]; +[W,Wt]=fullrf(bigR);B1=W(1:size(G,1),:); +D21=W(($+1-size(C,1)):$,:); +C2=C; +P21=syslin('c',A,B1,C2,D21); +[K,X]=lqe(P21); +//Riccati check: +S=G*N;Q=B1*B1'; +(A-S*inv(R)*C2)*X+X*(A-S*inv(R)*C2)'-X*C2'*inv(R)*C2*X+Q-S*inv(R)*S' +//Stability check: +spec(A+K*C) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="observer">observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lqg.xml b/modules/cacsd/help/ja_JP/lqg.xml new file mode 100755 index 000000000..99b8b5d10 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqg.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lqg"> + <refnamediv> + <refname>lqg</refname> + <refpurpose>LQG 補償器</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[K]=lqg(P,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + 状態空間表現の<literal>syslin</literal> リスト (拡張プラント) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 行ベクトル = (観測量の数,入力の数) (<literal>P</literal>の2,2の部分の次元) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + <literal>syslin</literal> リスト (コントローラ) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>lqg</literal> は,"拡張"プラント + <literal>P=syslin('c',A,B,C,D)</literal> (連続時間)または + <literal>P=syslin('d',A,B,C,D)</literal> (離散時間)に関して, + 線形最適 LQG (H2) コントローラを計算します. + </para> + <para> + 関数 <literal>lqg2stan</literal> は, + ノミナルプラント,重み項,ノイズの分散を指定すると, + <literal>P</literal> および + <literal>r</literal> を返します. + </para> + <para> + <literal>K</literal> は以下のABCD行列により計算されます: + <literal>[A+B*Kc+Kf*C+Kf*D*Kc,-Kf,Kc,0]</literal> ただし, + <literal>Kc=lqr(P12)</literal> + はコントローラゲインで <literal>Kf=lqe(P21)</literal> はフィルタゲインです. + <literal>lqg2stan</literal>の例を参照ください. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqg2stan">lqg2stan</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + <member> + <link linkend="obscont">obscont</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lqg2stan.xml b/modules/cacsd/help/ja_JP/lqg2stan.xml new file mode 100755 index 000000000..7b79e73c4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqg2stan.xml @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lqg2stan"> + <refnamediv> + <refname>lqg2stan</refname> + <refpurpose>LQG を標準問題に変換する</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[P,r]=lqg2stan(P22,bigQ,bigR)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P22</term> + <listitem> + <para> + 状態空間表現の<literal>syslin</literal> リスト (ノミナルプラント) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bigQ</term> + <listitem> + <para> + <literal>[Q,S;S',N]</literal> (対称) 重み行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bigR</term> + <listitem> + <para> + <literal>[R,T;T',V]</literal> (対称) 共分散行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + <literal>1</literal>x<literal>2</literal> 行ベクトル = (観測量の数, 入力の数) (<literal>P</literal>の2,2区画の次元) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + <literal>syslin</literal> リスト(拡張プラント) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>lqg2stan</literal> は, + 線形LQG(H2)コントローラ設計の拡張プラントを返します. + </para> + <para> + <literal>P22=syslin(dom,A,B2,C2)</literal> はノミナルプラントで, + 連続時間系 (<literal>dom='c'</literal>)または離散時間系 (<literal>dom='d'</literal>) + のどちらかとすることができます. + </para> + <programlisting role=""><![CDATA[ +. +x = Ax + w1 + B2u +y = C2x + w2 + ]]></programlisting> + <para> + (連続時間プラントの場合). + </para> + <programlisting role=""><![CDATA[ +x[n+1]= Ax[n] + w1 + B2u + y = C2x + w2 + ]]></programlisting> + <para> + (離散時間プラントの場合). + </para> + <para> + (ある時間における) 評価関数は <literal>[x' u'] bigQ [x;u]</literal>です. + </para> + <para> + <literal>[w1;w2]</literal> の共分散は <literal>E[w1;w2] [w1',w2'] = bigR</literal>です. + </para> + <para> + <literal>[B1;D21]</literal> が<literal>bigQ</literal>の因数, + <literal>[C1,D12]</literal>が<literal>bigR</literal>の因数, + <literal>[A,B2,C2,D22]</literal>がP22の実現の場合, + <literal>P</literal>は + <literal>[A,[B1,B2],[C1,-C2],[0,D12;D21,D22]</literal>の実現です. + <literal>lqg</literal>により計算された(負の)フィードバック + は<literal>P22</literal>を安定化します.すなわち, + <literal>cl=P22/.K</literal>の極は安定となります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +ny=2;nu=3;nx=4; +P22=ssrand(ny,nu,nx); +bigQ=rand(nx+nu,nx+nu);bigQ=bigQ*bigQ'; +bigR=rand(nx+ny,nx+ny);bigR=bigR*bigR'; +[P,r]=lqg2stan(P22,bigQ,bigR);K=lqg(P,r); //K=LQG-controller +spec(h_cl(P,r,K)) //Closed loop should be stable +//Same as Cl=P22/.K; spec(Cl('A')) +s=poly(0,'s') +lqg2stan(1/(s+2),eye(2,2),eye(2,2)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="obscont">obscont</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="fstabst">fstabst</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lqg_ltr.xml b/modules/cacsd/help/ja_JP/lqg_ltr.xml new file mode 100755 index 000000000..7bea29d4f --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqg_ltr.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lqg_ltr"> + <refnamediv> + <refname>lqg_ltr</refname> + <refpurpose>LQG/LTR (loop transform recovery)設計 </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[kf,kc]=lqg_ltr(sl,mu,ro)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 状態空間表現の線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>mu,ro</term> + <listitem> + <para> ``十分に小さく''選択した正の実数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>kf,kc</term> + <listitem> + <para>コントローラおよびオブザーバのカルマンゲイン.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 以下のシステムのカルマンゲインを返します: + </para> + <programlisting role=""><![CDATA[ + x = a*x + b*u + l*w1 +(sl) + y = c*x + mu*I*w2 + z = h*x + ]]></programlisting> + <para> + 評価関数: + </para> + <programlisting role=""><![CDATA[ + /+oo + | +J = E(| [z(t)'*z(t) + ro^2*u(t)'*u(t)]dt) + lqg | + / 0 + ]]></programlisting> + <para> + lqg/ltr 手法は, 以下のように設定した<literal>L,mu,H,ro</literal> に似ています: + J(lqg) = J(freq) ただし, + </para> + <programlisting role=""><![CDATA[ + /+oo * * * +J = | tr[S W W S ] + tr[T T]dw + freq | + /0 + ]]></programlisting> + <para> + そして + </para> + <programlisting role=""><![CDATA[ + S = (I + G*K)^(-1) + T = G*K*(I+G*K)^(-1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/lqr.xml b/modules/cacsd/help/ja_JP/lqr.xml new file mode 100755 index 000000000..7db7f908f --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqr.xml @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="lqr"> + <refnamediv> + <refname>lqr</refname> + <refpurpose>LQ補償器 (全状態) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[K,X]=lqr(P12)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P12</term> + <listitem> + <para> + <literal>syslin</literal> リスト (状態空間線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K,X</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>lqr</literal> は,連続系または離散時間系のプラント + <literal>P12=[A,B2,C1,D12]</literal>の + 線形最適LQ全状態ゲインを計算します. + </para> + <para> + <literal>P12</literal> は <literal>syslin</literal> リスト + (例:<literal>P12=syslin('c',A,B2,C1,D12)</literal>)です. + </para> + <para> + 評価関数は<literal>z=C1 x + D12 u</literal>の時の<literal>z'*z</literal>の + L2ノルム,すなわち, <literal>[x,u]' * BigQ * [x;u]</literal> + です.ただし, + </para> + <programlisting role=""><![CDATA[ + [C1' ] [Q S] +BigQ= [ ] * [C1 D12] = [ ] + [D12'] [S' R] + ]]></programlisting> + <para> + ゲイン <literal>K</literal> は <literal>A + B2*K</literal> が安定になるように + 選ばれます. + </para> + <para> + <literal>X</literal>はリカッチ方程式の安定化解です. + </para> + <para> + 連続系プラントの場合: + </para> + <programlisting role=""><![CDATA[ +(A-B2*inv(R)*S')'*X+X*(A-B2*inv(R)*S')-X*B2*inv(R)*B2'*X+Q-S*inv(R)*S'=0 + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-inv(R)*(B2'*X+S) + ]]></programlisting> + <para> + 離散時間系プラントの場合: + </para> + <programlisting role=""><![CDATA[ +X=A'*X*A-(A'*X*B2+C1'*D12)*pinv(B2'*X*B2+D12'*D12)*(B2'*X*A+D12'*C1)+C1'*C1; + ]]></programlisting> + <programlisting role=""><![CDATA[ +K=-pinv(B2'*X*B2+D12'*D12)*(B2'*X*A+D12'*C1) + ]]></programlisting> + <para> + <literal>X</literal> と等価な形式は, + </para> + <programlisting role=""><![CDATA[ +X=Abar'*inv(inv(X)+B2*inv(r)*B2')*Abar+Qbar + ]]></programlisting> + <para> + ただし, <literal>Abar=A-B2*inv(R)*S'</literal> および + <literal>Qbar=Q-S*inv(R)*S'</literal>となります. + </para> + <para> + リカッチ方程式に関連する3ブロック行列ペンシルは次のようになります: + </para> + <programlisting role=""><![CDATA[ + discrete continuous + |I 0 0| | A 0 B2| |I 0 0| | A 0 B2| +z|0 A' 0| - |-Q I -S| s|0 I 0| - |-Q -A' -S| + |0 B2' 0| | S' 0 R| |0 0 0| | S' -B2' R| + ]]></programlisting> + <para> + 注意: 行列Rは非特異であるとします. 特に, + プラントは縦長 (出力の数 >= 入力の数)である + 必要があります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=rand(2,2);B=rand(2,1); //two states, one input +Q=diag([2,5]);R=2; //Usual notations x'Qx + u'Ru +Big=sysdiag(Q,R); //Now we calculate C1 and D12 +[w,wp]=fullrf(Big);C1=wp(:,1:2);D12=wp(:,3:$); //[C1,D12]'*[C1,D12]=Big +P=syslin('c',A,B,C1,D12); //The plant (continuous-time) +[K,X]=lqr(P) +spec(A+B*K) //check stability +norm(A'*X+X*A-X*B*inv(R)*B'*X+Q,1) //Riccati check +P=syslin('d',A,B,C1,D12); // Discrete time plant +[K,X]=lqr(P) +spec(A+B*K) //check stability +norm(A'*X*A-(A'*X*B)*pinv(B'*X*B+R)*(B'*X*A)+Q-X,1) //Riccati check + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="gcare">gcare</link> + </member> + <member> + <link linkend="leqr">leqr</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ltitr.xml b/modules/cacsd/help/ja_JP/ltitr.xml new file mode 100755 index 000000000..8bd032dd7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ltitr.xml @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ltitr"> + <refnamediv> + <refname>ltitr</refname> + <refpurpose>離散時間応答 (状態空間) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[X]=ltitr(A,B,U,[x0]) + [xf,X]=ltitr(A,B,U,[x0]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,B</term> + <listitem> + <para>適当な次元の実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U,X</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0,xf</term> + <listitem> + <para> + 実数ベクトル (<literal>x0</literal>のデフォルト=0) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 離散時間システムの時間応答を計算します + </para> + <programlisting role=""><![CDATA[ +x[t+1] = Ax[t] + Bu[t]. + ]]></programlisting> + <para> + 入力 <literal>ui</literal>は<literal>U</literal>行列の + 列です. + </para> + <programlisting role=""><![CDATA[ +U=[u0,u1,...,un]; + ]]></programlisting> + <para> + <literal>x0</literal> は状態量の初期値のベクトルです (デフォルト値 : 0) ; + </para> + <para> + <literal>X</literal> は出力行列です(<literal>U</literal>と同じ列の数). + </para> + <programlisting role=""><![CDATA[ +X=[x0,x1,x2,...,xn] + ]]></programlisting> + <para> + <literal>xf</literal> は状態量の終端値 <literal>xf=X[n+1]</literal>です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=eye(2,2);B=[1;1]; +x0=[-1;-2]; +u=[1,2,3,4,5]; +x=ltitr(A,B,u,x0) +x1=A*x0+B*u(1) +x2=A*x1+B*u(2) +x3=A*x2+B*u(3) //.... + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="rtitr">rtitr</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/macglov.xml b/modules/cacsd/help/ja_JP/macglov.xml new file mode 100755 index 000000000..f15992055 --- /dev/null +++ b/modules/cacsd/help/ja_JP/macglov.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="macglov"> + <refnamediv> + <refname>macglov</refname> + <refpurpose>連続時間動的システムのMac Farlane Glover 問題</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[P,r]=macglov(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 連続時間線形動的システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>P</term> + <listitem> + <para> + 連続時間線形動的システム, "拡張" プラント + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1x2 ベクトル, <literal>P22</literal>の次元 + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[P,r]=macglov(Sl)</literal> は, + Glover-McFarlane問題の + 標準プラント<literal>P</literal>を返します. + </para> + <para> + この問題の場合, + ro_optimal = 1-ハンケルノルム(<literal>[N,M]</literal>) + ただし, <literal>[N,M]=lcf(sl)</literal> (正規化既約分解) すなわち, + </para> + <para> + gama_optimal = <literal>1/sqrt(ro_optimal)</literal> + </para> + <para> + <literal>P</literal> は,<literal>Sl</literal>と + 同じ表現(伝達関数または状態空間)を返します. + </para> + </refsection> + <refsection> + <title>Examples</title> + MAC-FARLANE PROBLEM for G=1/s^3; + <programlisting role="example"><![CDATA[ + G=syslin("c",1/%s^3); + [P,r]=macglov(G); + //K Optimal controller , ro = gamaopt^-2; + [K,ro]=h_inf(P,r,0,1,30); + ]]></programlisting> + </refsection> + <refsection> + <title>著者</title> + <para>F. Delebecque INRIA</para> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>が + 連続時間線形システムであることを確認するようになりました. + この修正は,この <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/minreal.xml b/modules/cacsd/help/ja_JP/minreal.xml new file mode 100755 index 000000000..051f2ade3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/minreal.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="minreal"> + <refnamediv> + <refname>minreal</refname> + <refpurpose>最小平衡実現</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>slb=minreal(sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl,slb</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>実数 (閾値)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[ae,be,ce]=minreal(a,b,c,domain [,tol]) </literal> + は線形システム<literal>sl</literal> (<literal>syslin</literal> リスト) + の平衡実現を返します. + </para> + <para> + <literal>sl</literal> は安定であると仮定されます. + </para> + <para> + <literal>tol</literal> 閾値は <literal>equil1</literal>で使用されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=[-eye(2,2),rand(2,2);zeros(2,2),-2*eye(2,2)]; +B=[rand(2,2);zeros(2,2)];C=rand(2,4); +sl=syslin('c',A,B,C); +slb=minreal(sl); +ss2tf(sl) +ss2tf(slb) +ctr_gram(sl) +clean(ctr_gram(slb)) +clean(obs_gram(slb)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="minss">minss</link> + </member> + <member> + <link linkend="balreal">balreal</link> + </member> + <member> + <link linkend="arhnk">arhnk</link> + </member> + <member> + <link linkend="equil">equil</link> + </member> + <member> + <link linkend="equil1">equil1</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/minss.xml b/modules/cacsd/help/ja_JP/minss.xml new file mode 100755 index 000000000..c7127cca5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/minss.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="minss"> + <refnamediv> + <refname>minss</refname> + <refpurpose>最小実現</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[slc]=minss( sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl,slc</term> + <listitem> + <para> + <literal>syslin</literal> リスト (状態空間形式の線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 実数 (ランク定義の閾値 (<literal>contr</literal>参照) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>minss</literal> は,<literal>sl</literal>の + 最小実現を<literal>slc</literal>に返します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +sl=syslin('c',[1 0;0 2],[1;0],[2 1]); +ssprint(sl); +ssprint(minss(sl)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="minreal">minreal</link> + </member> + <member> + <link linkend="arhnk">arhnk</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="obsvss">obsvss</link> + </member> + <member> + <link linkend="balreal">balreal</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/mucomp.xml b/modules/cacsd/help/ja_JP/mucomp.xml new file mode 100755 index 000000000..83e71d272 --- /dev/null +++ b/modules/cacsd/help/ja_JP/mucomp.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="mucomp"> + <refnamediv> + <refname>mucomp</refname> + <refpurpose>mu (構造化特異値) 計算</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[BOUND, D, G] = mucomp(Z, K, T)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Z</term> + <listitem> + <para> + 構造化特異値を計算するn行n列の複素行列 + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + 誤差に関するブロック構造を含む長さmのベクトル. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>T</term> + <listitem> + <para> + 各ブロックの型を指す長さmのベクトル. + 対応するブロックが実数の場合は T(I) = 1, + 対応するブロックが複素数の場合は T(I) = 2. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>BOUND</term> + <listitem> + <para>構造化特異値の上界.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D, G</term> + <listitem> + <para> + それぞれ対角行列DおよびGの対角要素を含む長さnのベクトル. + この際,行列<literal> Z'*D^2*Z + sqrt(-1)*(G*Z-Z'*G) - bound^2*D^2 </literal> + は負の半正定行列となります. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 正方複素行列および + 誤差のブロック構造を指定して,構造化特異値の上界を計算します. + </para> + </refsection> + <refsection> + <title>参考文献</title> + <para> + Slicot ルーチン AB13MD. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/narsimul.xml b/modules/cacsd/help/ja_JP/narsimul.xml new file mode 100755 index 000000000..108e0996b --- /dev/null +++ b/modules/cacsd/help/ja_JP/narsimul.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) ENPC - JPC + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="narsimul"> + <refnamediv> + <refname>narsimul</refname> + <refpurpose>armax シミュレーション ( rtitrを使用) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[z]=narsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=narsimul(ar,u,[up,yp,ep]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <para> + ARMAX シミュレーション. + arsimul と同じだが, rtitr で作成されるシミュレーションとは + 手法が異なります. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/nehari.xml b/modules/cacsd/help/ja_JP/nehari.xml new file mode 100755 index 000000000..44f7e4ec5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/nehari.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="nehari"> + <refnamediv> + <refname>nehari</refname> + <refpurpose>連続時間動的システムのネハリ近似</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[x]=nehari(R [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>R</term> + <listitem> + <para> + 状態空間表現の連続時間線形動的システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x</term> + <listitem> + <para> + 状態空間表現の連続時間線形動的システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>オプションの閾値, デフォルト値は 1e-6.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[x]=nehari(R [,tol])</literal> + は<literal>R</literal>のネハリ近似を返します. + </para> + <para> + <literal>R</literal> = 状態空間表現の線形システム + (<literal>syslin</literal>リスト). + </para> + <para> + <literal>R</literal> は厳密にプロパーで <literal>- R~</literal> は安定です + (すなわち <literal>R</literal> は反安定です). + </para> + <programlisting role=""><![CDATA[ +|| R - X ||oo = min || R - Y ||oo + Y in Hoo + ]]></programlisting> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark> + <literal>Sl</literal>が + 連続時間線形システムであることを確認するようになりました. + この修正は,この <ulink url="http://gitweb.scilab.org/?p=scilab.git;a=commit;h=3d7083daae3339813ba747c8adcda1f9599bb80d">コミット</ulink>により導入されました. + </revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/noisegen.xml b/modules/cacsd/help/ja_JP/noisegen.xml new file mode 100755 index 000000000..39342382d --- /dev/null +++ b/modules/cacsd/help/ja_JP/noisegen.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="noisegen"> + <refnamediv> + <refname>noisegen</refname> + <refpurpose>ノイズ生成</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>b=noisegen(pas,Tmax,sig)</synopsis> + </refsynopsisdiv> + <refsection> + <title>説明</title> + <para> + Scilab 関数 <literal>[b]=Noise(t)</literal>を生成します. + ただし, <literal>Noise(t)</literal>は区分定数関数です + (<literal>[k*pas,(k+1)*pas]</literal>の区間は定数). + 各一定区間の値は, + 互いに独立で同一の分布に従う標準偏差 sig のガウス分布 + によるランダムな値です. + 関数は,<literal>t<=0</literal>および + <literal>t>=Tmax</literal>では一定です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +noisegen(0.5,30,1.0); +x=-5:0.01:35; +y=feval(x,Noise); +plot(x,y); + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/nyquistfrequencybounds.xml b/modules/cacsd/help/ja_JP/nyquistfrequencybounds.xml new file mode 100755 index 000000000..c582147e2 --- /dev/null +++ b/modules/cacsd/help/ja_JP/nyquistfrequencybounds.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Add some comments about XML file +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="nyquistfrequencybounds"> + <refnamediv> + <refname>nyquistfrequencybounds</refname> + <refpurpose>ナイキスト軌跡が指定した矩形に入る周波数および出る周波数を計算する. + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[fmin,fmax] = nyquistfrequencybounds(H,bounds)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>H</term> + <listitem> + <para> + SISO線形動的システム. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bounds</term> + <listitem> + <para> + 2行2列配列:複素平面の矩形を定義する配列 [Rmin Imin;Rmax Imax] . + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin</term> + <listitem> + <para> + 実数: ナイキスト軌跡が指定した矩形に入る最小の周波数 (Hz) + または 0 (矩形に 0 Hzの点が含まれる場合)または + [] (軌跡が完全に矩形の外側). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmax</term> + <listitem> + <para> + 実数: ナイキスト軌跡が指定した矩形から出る最大の周波数 (Hz) + または %inf (周波数に %inf (Hz)となる点が含まれる場合, + または軌跡が完全に矩形の外側にある場合). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title><para> + 複素平面の矩形を指定すると, + <literal>nyquistfrequencybounds</literal> は, + ナイキスト軌跡が矩形に入る最小の周波数と, + ナイキスト軌跡が矩形から離れる最大の周波数を計算します. + </para> + この関数はナイキスト軌跡の高解像度の拡大図を作成する用途では有用です. + <para> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + s=%s + num=2+9*s-9*s^2-11*s^3+0.01*s^4; + den=43*s^2+65*s^3+34*s^4+8*s^5+s^6+0.1*s^7 + H=syslin('c',num,den)-1 + clf;set(gcf(),'axes_size',[805,549]) + subplot(221) + nyquist(H) + subplot(222) + bounds=[-2 -2;2 2] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + subplot(223) + bounds=[-1.3 -0.3;0 0.3] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + subplot(224) + bounds=[-1.1 -0.1;-0.8 0.1] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,1d8) + title("bounds:"+sci2exp(bounds,0)); + ]]></programlisting> + <para> + <scilab:image> + s=%s + num=2+9*s-9*s^2-11*s^3+0.01*s^4; + den=43*s^2+65*s^3+34*s^4+8*s^5+s^6+0.1*s^7 + H=syslin('c',num,den)-1 + clf;set(gcf(),'axes_size',[805,549]) + subplot(221) + nyquist(H) + subplot(222) + bounds=[-2 -2;2 2] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + subplot(223) + bounds=[-1.3 -0.3;0 0.3] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + subplot(224) + bounds=[-1.1 -0.1;-0.8 0.1] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,1d8) + title("bounds:"+sci2exp(bounds,0)); + </scilab:image> + </para> + </refsection> + <refsection> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/obs_gram.xml b/modules/cacsd/help/ja_JP/obs_gram.xml new file mode 100755 index 000000000..c1c917f4a --- /dev/null +++ b/modules/cacsd/help/ja_JP/obs_gram.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="obs_gram"> + <refnamediv> + <refname>obs_gram</refname> + <refpurpose>可観測性グラミアン</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>Go=obs_gram(A,C [,dom]) + Go=obs_gram(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,C</term> + <listitem> + <para>(適当な次元の)実数行列 </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + 文字列 (<literal>"d'</literal> または <literal>"c"</literal> (デフォルト値)) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 対<literal>(A,C)</literal>または + 線形システム<literal>sl</literal> (<literal>syslin</literal> リスト)の + 可観測性グラミアン. + <literal>dom</literal> は領域で,以下の値とすることができます + </para> + <variablelist> + <varlistentry> + <term>"c"</term> + <listitem> + <para> 連続システム (デフォルト)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"d"</term> + <listitem> + <para> 離散システム</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=-diag(1:3);C=rand(2,3); +Go=obs_gram(A,C,'c'); // <=> w=syslin('c',A,[],C); Go=obs_gram(w); +norm(Go*A+A'*Go+C'*C,1) +norm(lyap(A,-C'*C,'c')-Go,1) +A=A/4; Go=obs_gram(A,C,'d'); //離散時間の場合 +norm(lyap(A,-C'*C,'d')-Go,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ctr_gram">ctr_gram</link> + </member> + <member> + <link linkend="obsvss">obsvss</link> + </member> + <member> + <link linkend="obsv_mat">obsv_mat</link> + </member> + <member> + <link linkend="lyap">lyap</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/obscont.xml b/modules/cacsd/help/ja_JP/obscont.xml new file mode 100755 index 000000000..cdb78ab49 --- /dev/null +++ b/modules/cacsd/help/ja_JP/obscont.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="obscont"> + <refnamediv> + <refname>obscont</refname> + <refpurpose>オブザーバベース コントローラ</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出しの手順</title> + <synopsis>[K]=obscont(P,Kc,Kf) + [J,r]=obscont(P,Kc,Kf) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>P</term> + <listitem> + <para> + 状態空間形式,連続または離散時間の + <literal>syslin</literal> リスト (ノミナルプラント) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Kc</term> + <listitem> + <para>実数行列, (全状態) 制御器ゲイン</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Kf</term> + <listitem> + <para>実数行列, フィルタゲイン</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + <literal>syslin</literal> リスト (制御器) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para> + <literal>syslin</literal> リスト (拡張制御器) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>1x2 行ベクトル</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>obscont</literal> は + 行列<literal>[A,B,C,D]</literal> (<literal>syslin</literal> リスト) + を有するノミナルプラント <literal>P</literal> に関連する + オブザーバベース コントローラを返す. + </para> + <para> + 全状態制御ゲインは <literal>Kc</literal> であり, + フィルタゲインは <literal>Kf</literal> である. + これらのゲインは,例えば,極配置法により計算できる. + </para> + <para> + <literal>A+B*Kc</literal> と <literal>A+Kf*C</literal> は + (通常) 安定と仮定される. + </para> + <para> + <literal>K</literal> は補償器 + <literal> K: y->u</literal>の状態空間表現であり, + 以下を含んでいる + </para> + <para> + <literal> xdot = A x + B u, y=C x + D u, zdot= (A + Kf C)z -Kf y +B u, u=Kc z</literal> + </para> + <para> + <literal>K</literal> は線形システム (<literal>syslin</literal> リスト) + であり, その行列は以下のように与えられる: + <literal>K=[A+B*Kc+Kf*C+Kf*D*Kc,Kf,-Kc]</literal>. + </para> + <para> + (負の)フィードバック <literal>K</literal> を有する + 閉ループフィードバックシステム <literal> Cl: v ->y</literal> + (すなわち, <literal>y = P u, u = v - K y</literal>, または + </para> + <programlisting role=""><![CDATA[ +xdot = A x + B u, + y = C x + D u, +zdot = (A + Kf C) z - Kf y + B u, + u = v -F z + ]]></programlisting> + <para> + ) は <literal>Cl = P/.(-K)</literal>で指定される. + </para> + <para> + <literal>Cl</literal> (<literal> spec(cl('A')) </literal>) の極は + <literal>A+B*Kc</literal> + および <literal>A+Kf*C</literal>の固有値に配置される. + </para> + <para> + 引数が2つの場合、<literal>obscont</literal>は + LFTにより全ての安定化フィードバックをパラメータ表現する + (正方)線形システム<literal>K</literal>を返す. + </para> + <para> + <literal>Q</literal> を <literal>r(2)</literal>x<literal>r(1)</literal>次, + すなわち, 入力の数 x <literal>P</literal>の出力の数, + の任意の安定な線形システム. + 次に,<literal>P</literal>の安定化制御器 <literal>K</literal> + は <literal>K=lft(J,r,Q)</literal>で表すことができる. + <literal>Q=0</literal>に対応する制御器は + <literal>K=J(1:nu,1:ny)</literal> + (この <literal>K</literal> は<literal>K=obscont(P,Kc,Kf)</literal>の + 戻り値)である. + <literal>r</literal> は <literal>size(P)</literal>,すなわち, + ベクトル [出力の数, 入力の数]; + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +ny=2;nu=3;nx=4;P=ssrand(ny,nu,nx);[A,B,C,D]=abcd(P); +Kc=-ppol(A,B,[-1,-1,-1,-1]); //コントローラゲイン +Kf=-ppol(A',C',[-2,-2,-2,-2]);Kf=Kf'; //オブザーバゲイン +cl=P/.(-obscont(P,Kc,Kf));spec(cl('A')) //閉ループ系 +[J,r]=obscont(P,Kc,Kf); +Q=ssrand(nu,ny,3);Q('A')=Q('A')-(max(real(spec(Q('A'))))+0.5)*eye(Q('A')) +//Q is a stable parameter +K=lft(J,r,Q); +spec(h_cl(P,K)) // 閉ループ A 行列 (要安定); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ppol">ppol</link> + </member> + <member> + <link linkend="lqg">lqg</link> + </member> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + <member> + <link linkend="h_inf">h_inf</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="feedback">feedback</link> + </member> + <member> + <link linkend="observer">observer</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/observer.xml b/modules/cacsd/help/ja_JP/observer.xml new file mode 100755 index 000000000..f8d593809 --- /dev/null +++ b/modules/cacsd/help/ja_JP/observer.xml @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="observer"> + <refnamediv> + <refname>observer</refname> + <refpurpose>オブザーバの設計</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>Obs=observer(Sys,J) + [Obs,U,m]=observer(Sys [,flag,alfa]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + <literal>syslin</literal> リスト (線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>J</term> + <listitem> + <para>nx x ny 定数行列 (出力注入行列)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列 (<literal>'pp'</literal> または <literal>'st'</literal> (デフォルト)) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa</term> + <listitem> + <para>閉ループ極の位置 (オプションのパラメータ, デフォルト=-1)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Obs</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト), オブザーバ + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + 直交行列 ( <literal>dt_ility</literal>参照) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>m</term> + <listitem> + <para> + 整数 (不安定/不可観測(<literal>st</literal>)または + 不可観測(<literal>pp</literal>)部分空間の次元) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>Obs=observer(Sys,J)</literal> は, + <literal>J</literal>出力注入により<literal>Sys</literal>から得られた + オブザーバ + <literal>Obs=syslin(td,A+J*C,[B+J*D,-J],eye(A))</literal> を返します + (td は<literal>Sys</literal>の時間領域). + より一般的に,<literal>observer</literal>は, + 線形システム<literal>Sys</literal>,つまり, + <literal>syslin</literal>リストにより表された + <literal>dotx=A x + Bu, y=Cx + Du</literal>, + の可観測な部分に関するオブザーバ + <literal>Obs</literal> を返します. + <literal>Sys</literal> は <literal>nx</literal> 個の状態変数, + <literal>nu</literal> 個の入力および <literal>ny</literal> 個の出力を有します. + <literal>Obs</literal> は, + 行列 <literal>[Ao,Bo,Identity]</literal>を有する線形システムです. + ただし, + <literal>Ao</literal> は <literal>no x no</literal>, <literal>Bo</literal> は + <literal>no x (nu+ny)</literal>, <literal> Co</literal> は + <literal>no x no</literal> および <literal>no=nx-m</literal>です. + </para> + <para> + <literal>Obs</literal>への入力は + <literal>[u,y]</literal> そして <literal>Obs</literal> の出力は以下のようになります: + </para> + <para> + xhat=不可観測な部分空間の x modulo の推定値 (<literal>flag='pp'</literal>の場合) + </para> + <para> + または, + xhat=不安定で不可観測な部分空間のx modulo の推定値 (<literal>flag='st'</literal>の場合) + </para> + <para> + <literal>flag='st'</literal>の場合: + <literal>H*U(:,1:m)=0</literal>の場合に限り + z=H*x は安定なオブザーバにより推定することができ, + オブザーバで配置可能な極は<literal>alfa(1),alfa(2),...</literal>に + 設定されます. + </para> + <para> + <literal>flag='pp'</literal>の場合: + <literal>H*U(:,1:m)=0</literal>の場合に限り + z=H*x は指定した誤差スペクトルで推定することができ, + 全てのオブザーバの極は配置され,<literal>alfa(1),alfa(2),...</literal>に + 設定されます. + </para> + <para> + H が以下の拘束条件を満たす場合: <literal>H*U(:,1:m)=0</literal> (ker(H) は + Sysの不可観測な部分空間を含みます) + H*U=[0,H2]となり, z=H*x のオブザーバはH2*Obs (ただし,H2=H*U(:,m+1:nx)) となります. + すなわち, + H*x のオブザーバの C行列である Co は Co=H2となります. + </para> + <para> + <literal>Sys</literal>の対<literal>(A,C)</literal>が可観測となる + 場合,<literal>m=0</literal>となり, + 線形システム <literal>U*Obs</literal> (または<literal>H*U*Obs</literal>) + は<literal>x</literal>(または <literal>Hx</literal>)のオブザーバとなります. + 誤差スペクトルは, + <literal>alpha(1),alpha(2),...,alpha(nx)</literal>です. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +nx=5;nu=1;ny=1;un=3;us=2;Sys=ssrand(ny,nu,nx,list('dt',us,us,un)); +//nx=5 states, nu=1 input, ny=1 output, +//un=3 unobservable states, us=2 of them unstable. +[Obs,U,m]=observer(Sys); //Stable observer (default) +W=U';H=W(m+1:nx,:);[A,B,C,D]=abcd(Sys); //H*U=[0,eye(no,no)]; +Sys2=ss2tf(syslin('c',A,B,H)) //Transfer u-->z +Idu=eye(nu,nu);Sys3=ss2tf(H*U(:,m+1:$)*Obs*[Idu;Sys]) +//Transfer u-->[u;y=Sys*u]-->Obs-->xhat-->HUxhat=zhat i.e. u-->output of Obs +//this transfer must equal Sys2, the u-->z transfer (H2=eye). +//Assume a Kalman model +//dotx = A x + B u + G w +// y = C x + D u + H w + v +//with Eww' = QN, Evv' = RN, Ewv' = NN +//To build a Kalman observer: +//1-Form BigR = [G*QN*G' G*QN*H'+G*NN; +// H*QN*G'+NN*G' H*QN*H'+RN]; +//the covariance matrix of the noise vector [Gw;Hw+v] +//2-Build the plant P21 : dotx = A x + B1 e ; y = C2 x + D21 e +//with e a unit white noise. +// [W,Wt]=fullrf(BigR); +//B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +//C2=C; +//P21=syslin('c',A,B1,C2,D21); +//3-Compute the Kalman gain +//L = lqe(P21); +//4- Build an observer for the plant [A,B,C,D]; +//Plant = syslin('c',A,B,C,D); +//Obs = observer(Plant,L); +//Test example: +A=-diag(1:4); +B=ones(4,1); +C=B'; D= 0; G=2*B; H=-3; QN=2; +RN=5; NN=0; +BigR = [G*QN*G' G*QN*H'+G*NN; + H*QN*G'+NN*G' H*QN*H'+RN]; +[W,Wt]=fullrf(BigR); +B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +C2=C; +P21=syslin('c',A,B1,C2,D21); +L = lqe(P21); +Plant = syslin('c',A,B,C,D); +Obs = observer(Plant,L); +spec(Obs.A) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + <member> + <link linkend="unobs">unobs</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/obsv_mat.xml b/modules/cacsd/help/ja_JP/obsv_mat.xml new file mode 100755 index 000000000..47900f0a4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/obsv_mat.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="obsv_mat"> + <refnamediv> + <refname>obsv_mat</refname> + <refpurpose>可観測行列</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[O]=obsv_mat(A,C) + [O]=obsv_mat(sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,C,O</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>obsv_mat</literal> は次の可観測行列を返します: + </para> + <programlisting role=""><![CDATA[ +O=[C; CA; CA^2;...; CA^(n-1) ] + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="obsvss">obsvss</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/obsvss.xml b/modules/cacsd/help/ja_JP/obsvss.xml new file mode 100755 index 000000000..0bef086f5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/obsvss.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="obsvss"> + <refnamediv> + <refname>obsvss</refname> + <refpurpose>可観測な部分</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Ao,Bo,Co]=obsvss(A,B,C [,tol]) + [slo]=obsvss(sl [,tol]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,B,C,Ao,Bo,Co</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl,slo</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para> + 実数 (閾値) (デフォルト <literal>100*%eps</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>slo=(Ao,Bo,Co)</literal> は線形システム + <literal>sl=(A,B,C)</literal> (<literal>syslin</literal> リスト)の + 可観測な部分です. + </para> + <para> + <literal>tol</literal> は可制御性を調べる際の閾値です + (<literal>contr</literal>参照); + デフォルト値 = <literal>100*%eps</literal> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="obsv_mat">obsv_mat</link> + </member> + <member> + <link linkend="obs_gram">obs_gram</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/p_margin.xml b/modules/cacsd/help/ja_JP/p_margin.xml new file mode 100755 index 000000000..41b3bcda3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/p_margin.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="p_margin"> + <refnamediv> + <refname>p_margin</refname> + <refpurpose>位相余裕および位相交差周波数</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + [phm,fr] = p_margin(h) + phm=p_margin(h) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + SISO線形システム (参照 :<link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>phm</term> + <listitem> + <para>位相余裕 (存在する場合)または空の行列.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>fr</term> + <listitem> + <para>位相交差周波数 (単位:Hz)または空の行列.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 連続または離散時間SISO線形システムを + 指定すると,<literal>p_margin</literal>は<literal>h</literal>の + 位相余裕 <literal>phm</literal> (単位:度)および + 位相交差周波数 <literal>fr</literal> (単位:Hz)を返します. + </para> + <para> + 位相余裕は, <literal>h</literal>のナイキスト線図において + 単位円を通過する周波数における位相を表します. + 言い換えると, + 位相余裕は,<literal>h</literal> のゲインが1となった時, + <literal>h</literal>の周波数応答の位相と-180度の + 差を表します. + </para> + <para>このアルゴリズムは、多項式の求解ルーチンを使用して + 以下の方程式を解いています: + </para> + <variablelist> + <varlistentry> + <term>h(s)*h(-s)=1</term> + <listitem> + <para> 連続時間システムの場合.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h(z)*h(1/z)=1</term> + <listitem> + <para> 離散時間システムの場合.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//連続時間系の場合 +h=syslin('c',-1+%s,3+2*%s+%s^2) +[p,fr]=p_margin(h) +[p,fr]=p_margin(h+0.7) +show_margins(h+0.7,'nyquist') +//離散時間系の場合 +h = syslin(0.1,0.04798*%z+0.0464,%z^2-1.81*%z+0.9048);//ok +[p ,f]=p_margin(h) +show_margins(h,'nyquist') + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="show_margins">show_margins</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/parrot.xml b/modules/cacsd/help/ja_JP/parrot.xml new file mode 100755 index 000000000..0e313eeb3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/parrot.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="parrot"> + <refnamediv> + <refname>parrot</refname> + <refpurpose>Parrotの問題</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>K=parrot(D,r)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>D,K</term> + <listitem> + <para>行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para> + 1X2 ベクトル (<literal>D</literal>の2,2部分の次元) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[D11 D12; D21 D22]</literal> + のように分割された行列<literal>D</literal> + (ただし,<literal>size(D22)=r=[r1,r2]</literal>) を指定すると, + <literal>[D11 D12; D21 D22+K]</literal> の最大特異値が + 最小となるような + 行列 <literal>K</literal> を計算します + (Parrotの問題). + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="h_inf_st">h_inf_st</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/pfss.xml b/modules/cacsd/help/ja_JP/pfss.xml new file mode 100755 index 000000000..7aaebd734 --- /dev/null +++ b/modules/cacsd/help/ja_JP/pfss.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="pfss"> + <refnamediv> + <refname>pfss</refname> + <refpurpose>部分分数分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>elts=pfss(Sl) + elts=pfss(Sl,rmax) + elts=pfss(Sl,'cord') + elts=pfss(Sl,rmax,'cord') + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト (状態空間または伝達行列システム) + rmax : ブロック対角化座標の条件付けを制御する実数 : 文字列 <literal>'c'</literal> + または <literal>'d'</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システム<literal>Sl</literal>(状態空間形式,伝達行列は + <literal>tf2ss</literal>により自動的に状態空間形式に変換されます)の部分分数分解: + </para> + <para> + <literal>elts</literal> は, + 加算すると<literal>Sl</literal>となる + 線形システムのリストです. + すなわち <literal>elts=list(S1,S2,S3,...,Sn)</literal> : + </para> + <para> + ただし,<literal>Sl = S1 + S2 +... +Sn</literal>. + </para> + <para> + 各 <literal>Si</literal> は + <literal>S</literal>の<literal>A</literal>行列のブロック対角に基づく + <literal/> + Sのいくつかの極を含みます. + </para> + <para> + プロパーでないシステムの場合,<literal>Sl</literal>の多項式部分が + <literal>elts</literal>の最後のエントリに置かれます. + </para> + <para> + <literal>Sl</literal>が伝達形式で指定された場合, まず状態空間に変換され, + その後,各サブシステム<literal>Si</literal>が伝達形式に変換されます. + </para> + <para> + A 行列の状態空間形式は, + 関数<literal>bdiag</literal>によりブロック対角形式に変換されます. + オプションのパラメータ + <literal>rmax</literal> は<literal>bdiag</literal>に送られます. + <literal>rmax</literal> はブロック対角化を成立させるために + 大きな数に設定する必要があります. + </para> + <para> + オプションフラグ <literal>cord='c'</literal> が指定された場合, + <literal>elts</literal>の要素はA行列の固有値の実部 + (<literal>cord='d'</literal>の場合は大きさ)でソートされます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +W=ssrand(1,1,6); +elts=pfss(W); +W1=0;for k=1:size(elts), W1=W1+ss2tf(elts(k));end +clean(ss2tf(W)-W1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="pbig">pbig</link> + </member> + <member> + <link linkend="bdiag">bdiag</link> + </member> + <member> + <link linkend="coffg">coffg</link> + </member> + <member> + <link linkend="dtsi">dtsi</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/phasemag.xml b/modules/cacsd/help/ja_JP/phasemag.xml new file mode 100755 index 000000000..07556ec72 --- /dev/null +++ b/modules/cacsd/help/ja_JP/phasemag.xml @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="phasemag"> + <refnamediv> + <refname>phasemag</refname> + <refpurpose>位相と振幅の計算</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[phi,db]=phasemag(z [,mod])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>z</term> + <listitem> + <para>行列または複素数の行ベクトル.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>mod</term> + <listitem> + <para>文字列</para> + <variablelist> + <varlistentry> + <term>mod='c'</term> + <listitem> + <para>"連続" 表現 -無限大 and +360度の間 (デフォルト)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>mod='m'</term> + <listitem> + <para>-360 と 0 度の間の表現</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>phi</term> + <listitem> + <para> + <literal>z</literal>の位相 (単位:度) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db</term> + <listitem> + <para>振幅 (単位: dB)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>phasemag</literal> は,複素数行列のエントリの + 位相と振幅を計算します. + <literal>mod='c'</literal>の場合,<literal>phasemag</literal>は + <literal>phi(:,i)</literal>との距離を最小化するように + <literal>phi(:,i+1)</literal>を計算します. + すなわち, 位相の"連続表現"を得ようとします. + </para> + <para> + -%piと%piの間で位相を得るために, + <literal>phi=atan(imag(z),real(z))</literal>を使用してください. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +h=syslin('c',1/((s+5)*(s+10)*(100+6*s+s*s)*(s+.3))); +[frq,rf]=repfreq(h,0.1,20,0.005); +scf(); +plot2d(frq',phasemag(rf,'c')'); +scf(); +plot2d(frq',phasemag(rf,'m')'); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="atan">atan</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/CHAPTER b/modules/cacsd/help/ja_JP/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/ja_JP/plot_display/black.xml b/modules/cacsd/help/ja_JP/plot_display/black.xml new file mode 100755 index 000000000..a297de5a7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/black.xml @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="black" xml:lang="ja"> + <refnamediv> + <refname>black</refname> + <refpurpose>Black図 (ニコルス線図)</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>black( sl,[fmin,fmax] [,step] [,comments] ) + black( sl,frq [,comments] ) + black(frq,db,phi [,comments]) + black(frq,repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + リスト ( 線形システム <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>実数スカラー (周波数範囲)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>行ベクトルまたは行列 (周波数)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>行ベクトルまたは行列 (絶対値, 位相)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>行ベクトルまたは行列 (複素周波数応答)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>実数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>文字列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システム<literal>sl</literal>のブラック図 (ニコルス線図). + <literal>sl</literal> は連続時間または離散時間 SIMOシステム + とすることができます(<literal>syslin</literal>参照). + 多出力系の場合, 各出力は異なる記号でプロットされます. + </para> + <para>The frequencies are given by the bounds + 範囲<literal>fmin</literal>,<literal>fmax</literal> (単位: Hz) + または行ベクトル<literal>frq</literal> + (多出力系の場合は行列) + で指定された周波数. + </para> + <para> + <literal>step</literal> は ( 対数 ) 離散時間刻みです. + (デフォルト値の選択については <literal>calfrq</literal> 参照). + </para> + <para> + <literal>comments</literal>は文字列(キャプション)のベクトル + です. + </para> + <para> + <literal>db,phi</literal> は絶対値 (単位: dB)および + 位相 (単位:度)の行列です. + </para> + <para> + <literal>repf</literal> は複素行列です. + 各行は各応答に対応します. + </para> + <para> + <literal>y/(1+y)</literal>の + 等ゲイン,等位相のグリッドをプロットするには, + <link linkend="nicholschart">nicholschart()</link>を使用してください. + </para> + <para> + <literal>fmin</literal> および<literal>fmax</literal> のデフォルト値は, + <literal>sl</literal> が連続時間系の場合に + <literal>1.d-3</literal>,<literal>1.d+3</literal>, + <literal>sl</literal> が離散時間系の場合に<literal>1.d-3</literal>, + <literal>0.5</literal>/sl.dt (ナイキスト周波数) + となります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="exemple"><![CDATA[ + //Black diagram + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + clf();black(sl,0.01,10); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + clf();black(sl,0.01,10); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //Black diagram with Nichols chart as a grid + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/bode.xml b/modules/cacsd/help/ja_JP/plot_display/bode.xml new file mode 100755 index 000000000..9b6af5370 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/bode.xml @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="bode" xml:lang="ja"> + <refnamediv> + <refname>bode</refname> + <refpurpose>ボード線図</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>bode(sl,[fmin,fmax] [,step] [,comments] ) + bode(sl,frq [,comments] ) + bode(frq,db,phi [,comments]) + bode(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> 連続時間系または離散時間系の + <literal>syslin</literal> リスト (SISO または SIMO 線形システム). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>real (周波数範囲 (単位: Hz))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (対数単位の増分ステップ.)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>文字列のベクトル (キャプション).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>行ベクトルまたは行列 (周波数 (単位:Hz) ) + (各行が各SISOサブシステムに対応). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db</term> + <listitem> + <para>行ベクトルまたは行列 ( ゲイン (単位:dB)). + (各行が各SISOサブシステムに対応). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>phi</term> + <listitem> + <para>行ベクトルまたは行列 ( 位相 (単位:度)) + (各行が各SISOサブシステムに対応). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para> + 複素数(複素数を含む周波数応答)の行ベクトルまたは行列. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ボード線図,すなわち,<literal>sl</literal>の周波数応答の + ゲインと位相. + </para> + <para> + <literal>sl</literal> は,連続時間系または離散時間系の SIMOシステム + (<literal>syslin</literal>参照)とすることができます. + 多出力系の場合,各出力は異なる記号でプロットされます. + </para> + <para> + 周波数は範囲の境界値 <literal>fmin,fmax</literal> (単位: Hz) + または行ベクトル (多出力系の場合は行列) <literal>frq</literal>で + 指定します. + </para> + <para> + <literal>step</literal> は(指数単位の)離散化増分です. + (デフォルト値の選定方法については,<literal>calfrq</literal> を参照). + </para> + <para> + <literal>comments</literal> は文字列ベクトル(キャプション)です. + </para> + <para> + <literal>db,phi</literal> はゲイン(単位:dB)及び + 位相(単位:度)の行列です(各行が各応答に対応します). + </para> + <para> + <literal>repf</literal>は複素数の行列です. + 各行が各応答に対応します. + </para> + <para> + <literal>fmin</literal> および<literal>fmax</literal> のデフォルト値は, + <literal>sl</literal> が連続時間系の場合に + <literal>1.d-3</literal>,<literal>1.d+3</literal>, + <literal>sl</literal> が離散時間系の場合に<literal>1.d-3</literal>, + <literal>0.5</literal>/sl.dt (ナイキスト周波数) + となります. + 周波数の自動離散化は<literal>calfrq</literal>により + 行われます. + </para> + <para> + 位相/ゲイン曲線に沿ったデータを表示するために + <member> + <link linkend="datatips">データティップ</link> + </member> + ツールを使用することができます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +clf();bode(h,0.01,100); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + clf();bode(h,0.01,100); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; +den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 +h2=syslin('c',num/den); +clf();bode([h1;h2],0.01,100,['h1';'h2']) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 + h2=syslin('c',num/den); + clf();bode([h1;h2],0.01,100,['h1';'h2']) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/bode_asymp.xml b/modules/cacsd/help/ja_JP/plot_display/bode_asymp.xml new file mode 100755 index 000000000..987afdf36 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/bode_asymp.xml @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Scilab Enterprises - Paul Bignier + * Copyright (C) 09/2013 - A. Khorshidi + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="bode_asymp" xml:lang="ja"> + <refnamediv> + <refname>bode_asymp</refname> + <refpurpose>ボード線図の漸近線</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + bode_asymp(sl, [wmin, wmax]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト (連続時間系のSISOまたはSIMO線形システム) + (状態空間または有理型). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wmin, wmax</term> + <listitem> + <para>実スカラー: 周波数領域の下限および上限 (単位: rad/s).</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + システム<literal>sl</literal>の漸近線をプロットします. + </para> + <para> + オプション引数 <literal>wmin</literal> および <literal>wmax</literal> (単位:rad/s) + により漸近線をプロットする際に周波数範囲を指定することができます. + </para> + <para> + <note> + 関数<code>bode()</code> または <code>gainplot()</code>は, + <code>bode_asymp()</code>の前にコールする必要があることに注意してください. + </note> + </para> + <para> + <warning> + 警告: 最初の入力引数が実数行列の場合,この関数は適用できません. + </warning> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s = poly(0, "s"); +h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +clf(); bode(h, 0.01, 100); bode_asymp(h); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, "s"); + h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); bode_asymp(h); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = poly(0, "s"); +h1 = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); +clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0, "s"); + h1 = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = %s; +G = (s+10)/(s*(s+100)); // 有理行列 +sys = syslin("c", G); // 伝達関数表現の連続時間線形系 +f_min = .0001; f_max = 1600; // 単位: Hz +clf(); bode(sys, f_min, f_max, "rad"); // オプション引数 "rad" は Hzをrad/sに変換します +bode_asymp(sys, 10, 1000); // 指定した範囲(単位:rad/s)で漸近線をプロット + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = %s; + G = (s+10)/(s*(s+100)); + sys = syslin("c", G); + f_min = .0001; f_max = 1600; + clf(); bode(sys, f_min, f_max, "rad"); + bode_asymp(sys, 10, 1000); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s = poly(0, "s"); +h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +h = tf2ss(h); +clf(); +gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); // 単位: ヘルツ +bode_asymp(h) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s = poly(0,"s"); + h = syslin("c",(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h = tf2ss(h); + clf(); + gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); + bode_asymp(h) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + <member> + <link linkend="show_margins">show_margins</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.5.0</revnumber> + <revremark>bode_asymp() 関数が導入されました.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/evans.xml b/modules/cacsd/help/ja_JP/plot_display/evans.xml new file mode 100755 index 000000000..af90987e4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/evans.xml @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="evans"> + <refnamediv> + <refname>evans</refname> + <refpurpose>エバンス根軌跡</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>evans(H [,kmax])</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>H</term> + <listitem> + <para> + 伝達関数または状態空間表現で指定した + SISO線形システム (参照: <link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>kmax</term> + <listitem> + <para>実数 (プロットに用いるゲインの最大値)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 状態空間または伝達形式 H(s)のSISO線形システム + (<link linkend="syslin">syslin</link>)のエバンス根軌跡を出力します. + これは,複素平面における + <literal>1+k*H(s)=1+k*N(s)/D(s)</literal>の根軌跡です. + 選択された点のゲイン<literal>k <= kmax</literal>に関して, + <literal>D(s)+k*N(s)</literal>の根の虚部が実部に対してプロットされます. + </para> + <para> + 根軌跡の指定した点におけるゲインを得るには, + <link linkend="datatips">データティップ</link>マネージャを + アクティブにし,根軌跡の任意の点をクリックします. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) // Gains that give pure imaginary closed loop poles + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + [Kr,s]=krac2(H) + ]]></programlisting> + <para> + <scilab:image localized="true"> + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + [Kr,s]=krac2(H) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="sgrid">sgrid</link> + </member> + <member> + <link linkend="zgrid">zgrid</link> + </member> + <member> + <link linkend="kpure">kpure</link> + </member> + <member> + <link linkend="krac2">krac2</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/gainplot.xml b/modules/cacsd/help/ja_JP/plot_display/gainplot.xml new file mode 100755 index 000000000..36c1323cc --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/gainplot.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) INRIA +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="gainplot"> + <refnamediv> + <refname>gainplot</refname> + <refpurpose>ゲインプロット</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>gainplot(sl,fmin,fmax [,step] [,comments] ) + gainplot(frq,db,phi [,comments]) + gainplot(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + リスト (<literal>syslin</literal> SIMO 線形システム). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>実数スカラー (周波数範囲).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>実数 (離散化刻み (対数領域))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>文字列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>行列 (行方向に周波数を並べたもの)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para> + 行列 (<literal>frq</literal>に対応するゲインと位相) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>複素数行列. 各行が各周波数応答に対応.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <link linkend="bode">bode</link> と同じだがゲインのみプロットします. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();gainplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Gainplot') + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();gainplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Gainplot') + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/hallchart.xml b/modules/cacsd/help/ja_JP/plot_display/hallchart.xml new file mode 100755 index 000000000..4ea95f9d5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/hallchart.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="hallchart"> + <refnamediv> + <refname>hallchart</refname> + <refpurpose>ホール図を描画</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>hallchart([ modules [,args [,colors]]])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>modules</term> + <listitem> + <para>実数ベクトル (モジュール (単位: dB))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>args</term> + <listitem> + <para>実数ベクトル (位相 (単位:度))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>colors</term> + <listitem> + <para>スカラーまたはベクトル, 等ゲインおよび等位相曲線の色インデックス</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ホール図をプロット: <literal>real(y)</literal>, <literal>imag(y)</literal> 平面における + <literal>y/(1+y)</literal> の等モジュールおよび等引数等高線 + </para> + <para> + <literal>hallchart</literal> は + <link linkend="nyquist">nyquist</link>と組み合わせて使用することができます. + </para> + <para> + <literal>modules</literal>および<literal>args</literal>のデフォルト値は + それぞれ次のようになります : + </para> + <para> + <literal>[-20 -10 -6 -4 -2 2 4 6 10 20]</literal> + </para> + <para> + <literal>[-90 -60 -45 -30 -15 15 30 45 60 90]</literal> + </para> + <para> + この関数は<link linkend="m_circle">m_circle</link> 関数の後継です + </para> + </refsection> + <refsection> + <title>グラフィックエンティティの構成</title> + <para> + <literal>hallchart</literal>関数は通常カレントの軸の最後の子である + Compoundオブジェクトを1つ作成します. + このCompoundオブジェクトには各グリッド曲線に一つずつの + compoundオブジェクトの集合が含まれます. + 最初のオブジェクトは,等モジュール曲線,最後のオブジェクトは + 等引数等高線となります. + これらのcompoundオブジェクトの各々には, + ポリラインオブジェクト(曲線)とテキストオブジェクト(ラベル)が含まれます. + 以下のコードをi番目の等モジュール曲線の色を変更する際に使用することができます: + </para> + <programlisting role="customizing"><![CDATA[ + clf();hallchart() + ax=gca();//カレントの軸のハンドル + c=ax.children($).children;// chartグリッド曲線のハンドル + i=4; //-4dB曲線のインデックス + ci=c(i); //-4dB曲線のハンドル + ci.children(1).foreground=color('red'); //赤で描く + j=3; // the index of the -45°曲線のインデックス + cj=c(10+j); // -45° 曲線のハンドル + cj.children(1).thickness=3;//線幅を太くする + ]]></programlisting> + <scilab:image localized="true"> + clf();hallchart() + ax=gca(); + c=ax.children($).children; + i=4; + ci=c(i); + ci.children(1).foreground=color('red'); + j=3; + cj=c(10+j); + cj.children(1).thickness=3; + </scilab:image> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + //ホール図 + clf();hallchart() + ]]></programlisting> + <para> + <scilab:image localized="true"> + hallchart() + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //ナイキストのグリッドとしてホール図を作成 + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //二自由度PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + //右下隅のキャプションを移動 + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/m_circle.xml b/modules/cacsd/help/ja_JP/plot_display/m_circle.xml new file mode 100755 index 000000000..050a357d7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/m_circle.xml @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge Steer + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="m_circle"> + <refnamediv> + <refname>m_circle</refname> + <refpurpose>y/(1+y) の等ゲイン等高線を複素平面にプロットする (廃止) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>m_circle() + m_circle(gain) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>gain</term> + <listitem> + <para>ゲインベクトル (単位:DB). デフォルト値は</para> + <variablelist> + <varlistentry> + <term>gain</term> + <listitem> + <para>=[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12]</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>m_circle</literal> は,複素平面(Re,Im)に + <literal>gain</literal>引数で指定した + 等ゲイン等高線を描画します. + </para> + <para> + <literal>gain</literal>のデフォルト値は: + </para> + <para> + <literal>[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12]</literal> + </para> + <para> + <literal>m_circle</literal> は <literal>nyquist</literal>と共に使用されます. + </para> + <para> + この関数は,<link linkend="hallchart">hallchart</link> 関数で代替されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') +m_circle(); +]]></programlisting> + <scilab:image localized="true"> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') + m_circle(); + </scilab:image> + <programlisting role="example"><![CDATA[ +clf(); +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) +nyquist([h1;h],0.01,100,['h1';'h']) +m_circle([-8 -6 -4]); +]]></programlisting> + <scilab:image localized="true"> + clf(); + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist([h1;h],0.01,100,['h1';'h']) + m_circle([-8 -6 -4]); + </scilab:image> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="black">black</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/nicholschart.xml b/modules/cacsd/help/ja_JP/plot_display/nicholschart.xml new file mode 100755 index 000000000..f0ca73128 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/nicholschart.xml @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="nicholschart"> + <refnamediv> + <refname>nicholschart</refname> + <refpurpose>ニコルス線図</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>nicholschart([modules] [,args] [,colors])</synopsis> + <synopsis/> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>modules</term> + <listitem> + <para>実数ベクトル (モジュール (単位: dB))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>args</term> + <listitem> + <para>r実数ベクトル (位相 (単位: 度))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>colorss</term> + <listitem> + <para>スカラーまたはベクトル, 等ゲインまたは等位相曲線の色インデックス</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ニコルス線図をプロット: <literal>y</literal>の位相/ゲイン平面への + <literal>y/(1+y)</literal>の等モジュールおよび等引数等高線をプロット + </para> + <para> + <literal>nicholschart</literal> は,<link linkend="black">black</link> + と組み合わせて使用することができます. + </para> + <para> + <literal>modules</literal>および<literal>args</literal>の + デフォルト値はそれぞれ次のようになります : + </para> + <para> + <literal>[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12]</literal> + </para> + <para> + <literal>[-(1:10) , -(20:10:160)]</literal> + </para> + </refsection> + <refsection> + <title>注意</title> + <para> + 従来からの<code>nicholschart</code>のニコルス線図の呼び出し手順は以下の形式でした: + nicholschart(modules=gains, args=phases, colors=colors), + しかし,以下の呼び出し手順も利用可能です: nicholschart(gains, phases, colors). + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + //ニコルス線図 + clf() + nicholschart(modules=[-6 -3 -1 1 3 6], args=[-1 -20 20 40 80 160 180]); + ]]></programlisting> + <para> + <scilab:image localized="true"> + nicholschart(modules=[-6 -3 -1 1 3 6], args=[-1 -20 20 40 80 160 180]); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //ニコルス線図のグリッドを付けたブラック図 + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + // 2自由度PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + // 右下隅にキャプションを移動 + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="hallchart">hallchart</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.5.0</revnumber> + <revremark> 使用可能な呼び出し手順: nicholschart(gains, phases, colors).</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/nyquist.xml b/modules/cacsd/help/ja_JP/plot_display/nyquist.xml new file mode 100755 index 000000000..ebbf13343 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/nyquist.xml @@ -0,0 +1,262 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) INRIA +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="nyquist" xml:lang="ja"> + <refnamediv> + <refname>nyquist</refname> + <refpurpose>ナイキスト線図</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出しの手順</title> + <synopsis> + nyquist( sl,[fmin,fmax] [,step] [,comments] [,symmetry]) + nyquist( sl, frq [,comments] [,symmetry]) + nyquist(frq,db,phi [,comments] [,symmetry]) + nyquist(frq, repf [,comments] [,symmetry]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 連続または離散時間 SIMO 線形システム + ( 参照: <link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>スカラー (周波数範囲の境界(単位:Hz))</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (対数単位の離散化増分), + 指定されない場合,適応型離散化が行われます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>commments</term> + <listitem> + <para>文字列ベクトル (キャプション).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>symmetry</term> + <listitem> + <para>論理値, デフォルト値は %t.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>周波数のベクトルまたは行列 (単位: Hz) + (各行が<literal>sl</literal>の各出力に対応). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>ゲイン(単位:dB)および位相(単位:度)の行列 + (各行が<literal>sl</literal>の各出力に対応). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para> + 周波数応答を表す複素行列. + (各行が<literal>sl</literal>の各出力に対応). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ナイキスト線図は, + <literal>sl</literal>の周波数応答の虚部と実部の関係をプロットします. + <literal>symmetry</literal>引数がtrueまたは省略された場合, + ナイキスト線図は対称グラフを表示します(正および負の周波数). + </para> + <para> + 連続時間システムの場合, <literal>sl(2*%i*%pi*w)</literal> が + プロットされます. + 離散時間システムまたは離散化されたシステムの場合, + <literal>sl(exp(2*%i*%pi*w*fd)</literal>が使用されます. + (離散時間システムの場合は <literal>fd=1</literal>, + 離散化されたシステムの場合は <literal>fd=sl('dt')</literal>) + </para> + <para> + <literal>sl</literal> は + 連続時間または離散時間 SIMOシステム (<literal>syslin</literal>参照)と + することができます. + 多出力系の場合,各出力は異なる記号でプロットされます. + </para> + <para> + 周波数は範囲の境界 <literal>fmin,fmax</literal> (単位: Hz) + または行ベクトル (多出力系の場合は行列) <literal>frq</literal> + で指定すします + </para> + <para> + <literal>step</literal> は (対数表現の) 離散刻みです. + (デフォルト値の選択については <literal>calfrq</literal> を参照). + </para> + <para> + <literal>comments</literal> は(キャプション)文字列のベクトルです. + </para> + <para> + <literal>db,phi</literal> はゲイン(単位:dB)および位相(単位:度)の + 行列です (各行が各応答に対応します). + </para> + <para> + <literal>repf</literal> は複素行列です. + 各行が各応答に対応します. + </para> + <para> + <literal>fmin</literal> および<literal>fmax</literal> のデフォルト値は, + <literal>sl</literal> が連続時間系の場合に + <literal>1.d-3</literal>,<literal>1.d+3</literal>, + <literal>sl</literal> が離散時間系の場合に<literal>1.d-3</literal>, + <literal>0.5</literal>/sl.dt (ナイキスト周波数) + となります. + </para> + <para> + 周波数の自動離散化は<link linkend="calfrq">calfrq</link> + により行われます. + </para> + <para> + 選択された点における周波数の値を得るには, + <link linkend="datatips">データティップ</link>マネージャを + 有効にし,ナイキスト線図の任意の点をクリックします. + </para> + </refsection> + <refsection> + <title>グラフィックエンティティの構築</title> + <para> + <literal>nyquist</literal> 関数は各SISOシステムの複合オブジェクトを + 作成します. + 以下のコードにより,i番目のシステムの複合オブジェクトのハンドルを取得 + することができます: + </para> + <programlisting role="getcompound"><![CDATA[ + ax=gca();//カレントの軸のハンドル + hi=ax.children($+i-1)// i番目のシステムの複合オブジェクトのハンドル + ]]></programlisting> + <para> + この複合オブジェクトは2つの子を有します: + 小さな矢印(小さな線分群の集合)と曲線ラベル(テキストの複合要素) + を定義する複合オブジェクトおよび曲線自体の線分群. + 以下のコードは,特定のナイキスト線図の表示をカスタマイズする方法を + 示します. + </para> + <programlisting role="customize"><![CDATA[ + hi.children(1).visible='off'; //矢印とラベルを隠す + hi.children(2).thickness=2; //曲線を太くする + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + //ナイキスト線図 + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf(); nyquist(h1) + // データティップを追加 + ax=gca(); + h_h=ax.children($).children(2);//hのナイキスト線図のハンドル + tip=datatipCreate(h_h,[1.331,0.684]); + datatipSetOrientation(tip,"upper left"); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf(); nyquist(h1) + ax=gca(); + h_h=ax.children($).children(2);//hのナイキスト線図のハンドル + tip=datatipCreate(h_h,[1.331,0.684]); + datatipSetOrientation(tip,"upper left"); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //ナイキスト線図のグリッドによるホール図 + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //2自由度PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + //右下隅に凡例を移動 + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_upper_left"; + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_upper_left"; + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquistfrequencybounds">nyquistfrequencybounds</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/phaseplot.xml b/modules/cacsd/help/ja_JP/plot_display/phaseplot.xml new file mode 100755 index 000000000..72aa0a927 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/phaseplot.xml @@ -0,0 +1,224 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2011 - INRIA - Serge Steer <serge.steer@inria.fr> +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +--> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="phaseplot"> + <refnamediv> + <refname>phaseplot</refname> + <refpurpose>周波数位相プロット</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + phaseplot(sl) + phaseplot(sl,fmin,fmax [,step] [,comments] ) + phaseplot(frq,db,phi [,comments]) + phaseplot(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + 一入力多出力 (SIMO) 線形動的システム (<link linkend="syslin">syslin</link>参照). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin</term> + <listitem> + <para>実スカラー: 表示する最小周波数 (単位:Hz) .</para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmax</term> + <listitem> + <para>実スカラー: 表示する最大周波数 (単位:Hz).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>実スカラー: 周波数離散化刻み (指数スケール)). + 指定しない場合、このアルゴリズムは、 + 適用型周波数刻みを使用します. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>文字列ベクトル: 各曲線に付随する凡例ラベル. + オプションの値は空の配列です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>行ベクトルまたは n x m 配列: 周波数離散化(Hz).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>db</term> + <listitem> + <para>n x m 配列: + <literal>frq</literal>に対応する大きさ. この引数が使用されない場合、 + <literal>phaseplot</literal>は<literal>gainplot</literal>および + <literal>bode</literal>と同じ呼び出し手順となります. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>phi</term> + <listitem> + <para> + n x m 配列: <literal>frq</literal>に対応する位相[deg]. + <literal>phaseplot</literal>関数は曲線 + <literal>phi(i,:)</literal> 対 <literal>frq(i,:)</literal> + をプロットします. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>n x m 複素数配列. + <literal>phaseplot</literal> 関数は,曲線 + <literal>phase(repf(i,:))</literal> 対 + <literal>frq(i,:)</literal> をプロットします. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数はシステムの周波数応答の位相を描画します. + このシステムは異なる表現で指定することができます: + </para> + <itemizedlist> + <listitem> + <para> + <literal>phaseplot(sl,...)</literal> の場合, + </para> + <para> + <literal>sl</literal> + は連続系または離散系SIMOとすることができます. + 多出力の場合,出力は異なる記号でプロットされます. + </para> + <para>この場合,周波数は以下のように指定できます:</para> + <itemizedlist mark="point"> + <listitem> + <para> + 上限および下限周波数[Hz] + <literal>fmin</literal>, <literal>fmax</literal>および + 周波数刻み(オプション) <literal>step</literal>. + <literal>fmin</literal> および + <literal>fmax</literal>のデフォルト値は, + <literal>sl</literal>が連続系の場合 + <literal>1.e-3</literal>および + <literal>1.e3</literal>, + 離散系の場合 <literal>1.e-3</literal>, + <literal>0.5/sl.dt</literal> (ナイキスト周波数) です. + 引数<literal>step</literal> が省略された場合, + この関数は適用型周波数刻み + (<link linkend="calfrq">calfrq</link>参照)を使用します. + </para> + </listitem> + <listitem> + <para> + 行ベクトルまたは二次元配列 <literal>frq</literal>は + 周波数をHzで指定します. + 2次元配列は多出力系において各入出力の組について + 異なる周波数刻みを適用する場合に使用されます. + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + <literal>phaseplot(frq,...)</literal> の場合 + </para> + <para> + この場合,事前に計算された周波数応答により周波数位相プロットを + 描画することができます. + 周波数応答は複素数表現<literal>repf</literal>または + ゲイン/位相表現<literal>db</literal>, + <literal>phi</literal>で指定できます. + </para> + <para> + <literal>frq</literal> および <literal>repf</literal> は, + 行ベクトルまたは(各行が入出力の組みを表わす) n x m 配列です. + </para> + </listitem> + </itemizedlist> + <para> + The <link linkend="datatips">データティップ</link>ツールは位相曲線に沿ってデータを表示する際に使用できます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();phaseplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Phaseplot') + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();phaseplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Phaseplot') + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>関数phaseplotが導入されました.</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/sgrid.xml b/modules/cacsd/help/ja_JP/plot_display/sgrid.xml new file mode 100755 index 000000000..2d1877d23 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/sgrid.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sgrid"> + <refnamediv> + <refname>sgrid</refname> + <refpurpose>s平面のグリッド線. </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + sgrid() + sgrid(zeta,wn [,colors]) + sgrid(['new',] zeta,wn [,colors]) + sgrid(zeta,wn [,'new'] [,colors]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>zeta</term> + <listitem> + <para> + ダンピング係数の配列. <literal>[0 + 1] + </literal> + の範囲の値が有効です. + デフォルト値は + <literal>[0 0.16 0.34 0.5 0.64 0.76 0.86 0.94 0.985 + 1] + </literal> + です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wn</term> + <listitem> + <para>固有周波数の配列(単位:Hz). 正の値のみが有効です. + 省略された場合,プロットの境界に適合するように + プログラムにより計算されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>colors</term> + <listitem> + <para>整数値(色添字)を有するスカラーまたは2要素の配列. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + evansと組み合わせて使用され, + ダンピング比(<literal>zeta</literal>), + 固有周波数 (<literal>wn</literal>)が一定値となる + 線をプロットします. + </para> + <para> + 引数<literal>colors</literal> は, + ダンピング係数が一定の曲線(<literal>colors(2)</literal>) および + 固有周波数が一定の曲線(<literal>colors(1)</literal>)の色を指定します. + </para> + <para> + <literal>sgrid</literal>関数は,連続時間線形システムの根軌跡の + グリッドを描画する際によく使用されます. + この場合,<literal>sgrid</literal>関数は + <link linkend="evans">evans</link>をコールした後に + コールする必要があります. + 離散時間線形システムの場合,<link linkend="zgrid">zgrid</link> + 関数を使用する必要があります. + </para> + <para> + オプション引数 <literal>'new'</literal> は, + グリッドをプロットする前にグラフィックウィンドウを消去する + ために使用できます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + //sgrid + clf();sgrid(0:0.2:1,[0.2 0.6 1 1.7 2]) + ]]></programlisting> + <para> + <scilab:image> + sgrid(0:0.2:1,[0.2 0.6 1 1.7 2]) + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + ]]></programlisting> + <para> + <scilab:image localized="true"> + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="zgrid">zgrid</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/show_margins.xml b/modules/cacsd/help/ja_JP/plot_display/show_margins.xml new file mode 100755 index 000000000..b330a9733 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/show_margins.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="show_margins"> + <refnamediv> + <refname>show_margins</refname> + <refpurpose>ゲイン余裕/位相余裕とそれぞれの交差周波数を表示する</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis> + show_margins(h) + show_margins(h,'bode') + show_margins(h,'nyquist') + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para> + SISO 線形システム (参照 :<link linkend="syslin">syslin</link>). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para>連続または離散時間系の SISO 線形システムを指定すると + <literal>show_margins</literal> はゲイン余裕、位相余裕および + それぞれの交差周波数をボード線図(デフォルト)もしくは + システムの周波数応答をナイキスト線図に表示します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//continuous case +h=syslin('c',0.02909+0.11827*%s+0.12823*%s^2+0.35659*%s^3+0.256*%s^4+0.1*%s^5,.. + 0.0409+0.1827*%s+1.28225*%s^2+3.1909*%s^3+2.56*%s^4+%s^5); +show_margins(h) +show_margins(h,'nyquist') + ]]></programlisting> + <scilab:image localized="true"> + h=syslin('c',0.02909+0.11827*%s+0.12823*%s^2+0.35659*%s^3+0.256*%s^4+0.1*%s^5,.. + 0.0409+0.1827*%s+1.28225*%s^2+3.1909*%s^3+2.56*%s^4+%s^5); + show_margins(h) + show_margins(h,'nyquist') + </scilab:image> + <programlisting role="example"><![CDATA[ +//discrete case +h = syslin(0.1,0.01547+0.01599*%z ,%z^2-1.81*%z+0.9048) +show_margins(h) +show_margins(h,'nyquist') + ]]></programlisting> + <scilab:image localized="true"> + h = syslin(0.1,0.01547+0.01599*%z ,%z^2-1.81*%z+0.9048) + show_margins(h) + show_margins(h,'nyquist') + </scilab:image> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/svplot.xml b/modules/cacsd/help/ja_JP/plot_display/svplot.xml new file mode 100755 index 000000000..b85efceb8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/svplot.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F.D + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="svplot"> + <refnamediv> + <refname>svplot</refname> + <refpurpose>特異値シグマプロット</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[SVM]=svplot(sl,[w])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト (連続, 離散またはサンプル値システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>w</term> + <listitem> + <para>実数ベクトル (オプションのパラメータ)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + システム <literal>sl=(A,B,C,D)</literal>の伝達関数行列の特異値を計算します: + </para> + <programlisting role="no-scilab-exec"><![CDATA[ + G(jw) = C(jw*I-A)B^-1+D +or + G(exp(jw)) = C(exp(jw)*I-A)B^-1+D +or + G(exp(jwT)) = C(exp(jw*T)*I-A)B^-1+D + ]]></programlisting> + <para> + は,<literal>w</literal>で指定された周波数範囲で評価されます. + (Tはサンプリング周期, <literal>T=sl('dt')</literal> はサンプル値システムです) + </para> + <para> + <literal>sl</literal> は, + 状態空間形式のシステム <literal>[A,B,C,D]</literal>を表す + <literal>syslin</literal> リストです. + <literal>sl</literal>は連続または離散時間またはサンプル値システムとすることができます. + </para> + <para> + 出力行列 <literal>SVM</literal> の <literal>i</literal>番目の列には, + <literal>i</literal>番目の周波数<literal>w(i)</literal>に関する + <literal>G</literal> の特異値が含まれます. + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +SVM = svplot(sl) + ]]></programlisting> + <para> + は以下と等価です + </para> + <programlisting role="no-scilab-exec"><![CDATA[ +SVM = svplot(sl,logspace(-3,3)) (連続系) + ]]></programlisting> + <programlisting role="no-scilab-exec"><![CDATA[ +SVM = svplot(sl,logspace(-3,%pi)) (離散系) + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +x=logspace(-3,3); +y=svplot(ssrand(2,2,4),x); +clf();plot2d1("oln",x',20*log(y')/log(10)); +xgrid(12) +xtitle("Singular values plot","(Rd/sec)", "Db"); + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plot_display/zgrid.xml b/modules/cacsd/help/ja_JP/plot_display/zgrid.xml new file mode 100755 index 000000000..742a80643 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/zgrid.xml @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="zgrid"> + <refnamediv> + <refname>zgrid</refname> + <refpurpose>zgrid プロット</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + zgrid() + zgrid(zeta,wn [,colors]) + zgrid(['new',] zeta,wn [,colors]) + zgrid(zeta,wn [,'new'] [,colors]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>zeta</term> + <listitem> + <para> + ダンピング係数の配列. <literal>[0 + 1] + </literal> + の範囲の値のみ有効です. デフォルト値は + <literal>0:0.1:1</literal>です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>wn</term> + <listitem> + <para>固有周波数の配列 (pi/dtの倍数). + <literal>[0 1]</literal>範囲の値のみ有効です. + デフォルト値は<literal>0:0.1:1</literal>です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>colors</term> + <listitem> + <para>整数値(色添字)を有するスカラーまたは2要素の配列.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + z平面グリッド線をプロットします: + ダンピング係数(<literal>zeta</literal>)と固有周波数(<literal>wn</literal>)が + 一定の線がZ平面単位円の内部に描かれます. + </para> + <para> + 等周波数曲線が[0,%pi/dt]の範囲に描画されます. + </para> + <para> + 引数<literal>colors</literal> は, + ダンピング係数が一定の曲線(<literal>colors(2)</literal>) および + 固有周波数が一定の曲線(<literal>colors(1)</literal>)の色を指定します. + </para> + <para> + <literal>zgrid</literal>関数は,離散時間線形システムの根軌跡の + グリッドを描画する際によく使用されます. + この場合,<literal>zgrid</literal>関数は + <link linkend="evans">evans</link>をコールした後に + コールする必要があります. + 連続時間線形システムの場合,<link linkend="sgrid">sgrid</link> + 関数を使用する必要があります. + </para> + <para> + オプション引数 <literal>'new'</literal> は, + グリッドをプロットする前にグラフィックウィンドウを消去する + ために使用できます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ + //zgrid + clf();zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + ]]></programlisting> + <para> + <scilab:image> + zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //zgrid with discrete time system root locus + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + ]]></programlisting> + <para> + <scilab:image localized="true"> + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + </scilab:image> + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="sgrid">sgrid</link> + </member> + <member> + <link linkend="freson">freson</link> + </member> + <member> + <link linkend="datatips">datatips</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/plzr.xml b/modules/cacsd/help/ja_JP/plzr.xml new file mode 100755 index 000000000..b82075caa --- /dev/null +++ b/modules/cacsd/help/ja_JP/plzr.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="plzr"> + <refnamediv> + <refname>plzr</refname> + <refpurpose>極/ゼロ プロット</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出しの手順</title> + <synopsis>plzr(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + list ( <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システム + <literal>sl</literal> (<literal>syslin</literal> リスト)の極/ゼロプロットを出力する. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +n=[1+s 2+3*s+4*s^2 5; 0 1-s s]; +d=[1+3*s 5-s^3 s+1;1+s 1+s+s^2 3*s-1]; +h=syslin('c',n./d); +plzr(h); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="trzeros">trzeros</link> + </member> + <member> + <link linkend="roots">roots</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/pol2des.xml b/modules/cacsd/help/ja_JP/pol2des.xml new file mode 100755 index 000000000..d3cf58e54 --- /dev/null +++ b/modules/cacsd/help/ja_JP/pol2des.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="pol2des"> + <refnamediv> + <refname>pol2des</refname> + <refpurpose>記述形式の多項式行列</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[N,B,C]=pol2des(Ds)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Ds</term> + <listitem> + <para>多項式</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, B, C</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 多項式 <literal>Ds=D_0 +D_1 s +D_2 s^2 +... +D_k s^k</literal>を指定すると, + <literal>pol2des</literal> は,<literal>N</literal> 冪ゼロとして + 3つの行列 <literal>N, B, C</literal>を返します: + </para> + <para> + <literal>Ds = C (s*N-eye())^-1 B</literal> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1,s;1+s^2,3*s^3];[N,B,C]=pol2des(G); +G1=clean(C*inv(s*N-eye())*B),G2=numer(G1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ppol.xml b/modules/cacsd/help/ja_JP/ppol.xml new file mode 100755 index 000000000..72c934d85 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ppol.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ppol"> + <refnamediv> + <refname>ppol</refname> + <refpurpose>極配置</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[K]=ppol(A,B,poles)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>A,B</term> + <listitem> + <para> + 次元 <literal>nxn</literal> および <literal>nxm</literal>の実数行列. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>poles</term> + <listitem> + <para> + <literal>n</literal>次の実数または虚数ベクトル. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>実数行列 (負方向のフィードバックゲイン)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>K=ppol(A,B,poles)</literal> は, + <literal>A-B*K</literal>の固有値が<literal>poles</literal>となるような + mxn 次のゲイン行列 <literal>K</literal> を返します. + <literal>(A,B)</literal> は可制御である必要があります. + <literal>poles</literal>が複素数の場合,共役の組で指定する必要があります. + </para> + <para> + <literal>(A,C)</literal>の出力注入ゲイン <literal>F</literal> は + 以下のように得られます: + </para> + <para> + <literal>Ft=ppol(A',C',poles); F=Ft'</literal> + </para> + <para> + 本アルゴリズムは P.H. Petkovによるものです. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=rand(3,3);B=rand(3,2); +F=ppol(A,B,[-1,-2,-3]); +spec(A-B*F) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/prbs_a.xml b/modules/cacsd/help/ja_JP/prbs_a.xml new file mode 100755 index 000000000..2140c6aec --- /dev/null +++ b/modules/cacsd/help/ja_JP/prbs_a.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="prbs_a"> + <refnamediv> + <refname>prbs_a</refname> + <refpurpose>擬似バイナリ乱数列の生成</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[u]=prbs_a(n,nc,[ids])</synopsis> + </refsynopsisdiv> + <refsection> + <title>説明</title> + <para> + 擬似バイナリ乱数列 + <literal>u=[u0,u1,...,u_(n-1)]</literal>を生成します. + u は {-1,1} の範囲の値となり, + 最大で nc 回その符号を変えます. + ids は u が符号を変える日付を修正するために使用されます. + ids は<literal>[1:n]</literal>の範囲の値をとる整数ベクトルです. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +u=prbs_a(50,10); +plot2d2("onn",(1:50)',u',1,"151",' ',[0,-1.5,50,1.5]); + ]]></programlisting> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/projsl.xml b/modules/cacsd/help/ja_JP/projsl.xml new file mode 100755 index 000000000..0dc3aa88c --- /dev/null +++ b/modules/cacsd/help/ja_JP/projsl.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="projsl"> + <refnamediv> + <refname>projsl</refname> + <refpurpose>線形システム射影</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[slp]=projsl(sl,Q,M)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl,slp</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q,M</term> + <listitem> + <para>行列 (射影分解)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>slp</literal>= <literal>sl</literal>の射影モデル, + ただし,<literal>Q*M</literal>は射影のフルランク分解です. + </para> + <para> + <literal>(A,B,C,D)</literal> が<literal>sl</literal>の実現の場合, + 射影モデルは<literal>(M*A*Q,M*B,C*Q,D)</literal>により与えられます. + </para> + <para> + 通常,射影 <literal>Q*M</literal> は適当な相補行列<literal>W</literal> + のスペクトル射影により得られます. + 例えば, + <literal>W</literal> = (重みつき)グラミアンの積またはリカッチ方程式の積. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +rand('seed',0);sl=ssrand(2,2,5);[A,B,C,D]=abcd(sl);poles=spec(A) +[Q,M]=pbig(A,0,'c'); //keeping unstable poles +slred=projsl(sl,Q,M);spec(slred('A')) +sl('D')=rand(2,2); //making proper system +trzeros(sl) //zeros of sl +wi=inv(sl); //wi=inverse in state-space +[q,m]=psmall(wi('A'),2,'d'); //keeping small zeros (poles of wi) i.e. abs(z)<2 +slred2=projsl(sl,q,m); +trzeros(slred2) //zeros of slred2 = small zeros of sl +// Example keeping second order modes +A=diag([-1,-2,-3]); +sl=syslin('c',A,rand(3,2),rand(2,3));[nk2,W]=hankelsv(sl) +[Q,M]=pbig(W,nk2(2)-%eps,'c'); //keeping 2 eigenvalues of W +slr=projsl(sl,Q,M); //reduced model +hankelsv(slr) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="pbig">pbig</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/repfreq.xml b/modules/cacsd/help/ja_JP/repfreq.xml new file mode 100755 index 000000000..a1ab20434 --- /dev/null +++ b/modules/cacsd/help/ja_JP/repfreq.xml @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="repfreq"> + <refnamediv> + <refname>repfreq</refname> + <refpurpose>周波数応答</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[ [frq,] repf]=repfreq(sys,fmin,fmax [,step]) + [ [frq,] repf]=repfreq(sys [,frq]) + [ frq,repf,splitf]=repfreq(sys,fmin,fmax [,step]) + [ frq,repf,splitf]=repfreq(sys [,frq]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sys</term> + <listitem> + <para> + <literal>syslin</literal> リスト: SIMO 線形システム + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>実数(周波数範囲の下限と上限)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>周波数の実数ベクトル (Hz)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>対数離散刻み増分</para> + </listitem> + </varlistentry> + <varlistentry> + <term>splitf</term> + <listitem> + <para>臨界周波数の添え字ベクトル.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>複素周波数応用のベクトルv</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>sys(s)</literal> が <literal>Sys</literal>の伝達関数の場合, + <literal>repf(k)</literal> は, + 連続時間システムの場合に<literal>s= %i*frq(k)*2*%pi</literal>, + 離散時間システム(サンプリング時間:<literal>dt</literal>)の場合に<literal>exp(2*%i*%pi*dt*frq(k))</literal> + で評価された <literal>sys(s)</literal> に等しくなります. + </para> + <para> + <literal>db(k)</literal> は<literal>repf(k)</literal>の振幅(単位: dB),すなわち, + <literal>db(k)=20*log10(abs(repf(k)))</literal>です. + また, <literal>phi(k)</literal> は<literal>repf(k)</literal>の位相(単位:度)です. + </para> + <para> + <literal>fmin,fmax,step</literal> が入力パラメータの場合, + <literal>frq=[10.^((log10(fmin)):step:(log10(fmax))) fmax];</literal>で指定された + 周波数ベクトル<literal>frq</literal>に関して応答が計算されます. + </para> + <para> + <literal>step</literal> が指定されない場合, 出力パラメータ <literal>frq</literal> が <literal>frq=calfrq(sys,fmin,fmax)</literal>により計算されます. + </para> + <para> + ベクトル <literal>frq</literal> は,<literal>splitf</literal> ベクトルにより + 複数の通常の周波数範囲に分割されます. + <literal>frq(splitf(k):splitf(k+1)-1)</literal> は臨界周波数を有しません. + <literal>sys</literal> は, <literal>[frq(splitf(k)),frq(splitf(k)+1)]</literal> の + 範囲に極を一つ有し, その外側には極がありません. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2]);B=[1;1];C=[1,1]; +Sys=syslin('c',A,B,C); +frq=0:0.02:5;w=frq*2*%pi; //frq=frequencies in Hz ;w=frequencies in rad/sec; +[frq1,rep] =repfreq(Sys,frq); +[db,phi]=dbphi(rep); +Systf=ss2tf(Sys) //Transfer function of Sys +x=horner(Systf,w(2)*sqrt(-1)) // x is Systf(s) evaluated at s = i w(2) +rep=20*log(abs(x))/log(10) //magnitude of x in dB +db(2) // same as rep +ang=atan(imag(x),real(x)); //in rad. +ang=ang*180/%pi //in degrees +phi(2) +repf=repfreq(Sys,frq); +repf(2)-x + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="horner">horner</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="dbphi">dbphi</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ric_desc.xml b/modules/cacsd/help/ja_JP/ric_desc.xml new file mode 100755 index 000000000..b555e10df --- /dev/null +++ b/modules/cacsd/help/ja_JP/ric_desc.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ric_desc"> + <refnamediv> + <refname>ric_desc</refname> + <refpurpose>リカッチ方程式</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>X=ric_desc(H [,E)) + [X1,X2,zero]=ric_desc(H [,E]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>H,E</term> + <listitem> + <para>実数正方行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>X1,X2</term> + <listitem> + <para>実数正方行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>zero</term> + <listitem> + <para>実数</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + ハミルトン行列を入力とするリカッチソルバ. + </para> + <para> + 連続系の場合, 呼び出し手順は <literal>ric_descr(H)</literal> (1入力)となります: + </para> + <para> + リカッチ方程式は次のようになります: + </para> + <programlisting role=""><![CDATA[ +(Ec) A'*X + X*A + X*R*X -Q = 0. + ]]></programlisting> + <para> + ハミルトン行列 <literal>H</literal> は次のように定義できます: + </para> + <programlisting role=""><![CDATA[ +H = [A R; + Q -A'] + ]]></programlisting> + <para> + 呼び出し手順 <literal>[X1,X2,zero]=ric_descr(H)</literal>の場合, + 解は<literal>X=X1/X2</literal>で得られます. + </para> + <para> + <literal>zero</literal> = (<literal>Ec</literal>)の右辺のL1ノルム + </para> + <para> + 解<literal>X</literal> は, <literal>X=riccati(A,Q,R,'c'))</literal> + によっても得られます. + </para> + <para> + 離散時間の場合, 呼び出し手順は <literal>ric_descr(H,E)</literal> (2入力)となります: + </para> + <para> + リカッチ解は以下のようになります: + </para> + <programlisting role=""><![CDATA[ +(Ed) A'*X*A-(A'*X*B*(R+B'*X*B)^-1)*(B'*X*A)+C-X = 0. + ]]></programlisting> + <para> + <literal>G=B/R*B'</literal>と定義すると, + ハミルトン行列のペンシル<literal>(E,H)</literal>は + 以下のようになります: + </para> + <programlisting role=""><![CDATA[ +E=[eye(n,n),G; H=[A, 0*ones(n,n); + 0*ones(n,n),A'] -C, eye(n,n)]; + ]]></programlisting> + <para> + 呼び出し手順 <literal>[X1,X2,err]=ric_descr(H,E)</literal>の場合, + <literal>X</literal>の解は<literal>X=X1/X2</literal>で得られます. + </para> + <para> + <literal>zero</literal>= (<literal>Ed</literal>)の右辺のL1ノルム + </para> + <para> + 解 <literal>X</literal> <literal>X=riccati(A,G,C,'d')</literal> + 'ただし,<literal>G=B/R*B'</literal>) によっても得られます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="riccati">riccati</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ricc.xml b/modules/cacsd/help/ja_JP/ricc.xml new file mode 100755 index 000000000..e8e5bcea3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ricc.xml @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ricc"> + <refnamediv> + <refname>ricc</refname> + <refpurpose>リカッチ方程式</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[X,RCOND,FERR]=ricc(A,B,C,"cont""method") + [X,RCOND,FERR]=ricc(F,G,H,"disc","method") + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,B,C</term> + <listitem> + <para>適当な次元の実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>F,G,H</term> + <listitem> + <para>適当な次元の実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"cont","disc"' </term> + <listitem> + <para>規定の文字列 (連続または離散を表すフラグ)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>method</term> + <listitem> + <para>連続時間システムの場合は'schr' または 'sign', + 離散時間システムの場合は'schr' または'invf' + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + リカッチソルバ. + </para> + <para> + 連続時間: + </para> + <programlisting role=""><![CDATA[ +X=ricc(A,B,C,'cont') + ]]></programlisting> + <para> + により連続時間 ARE の解が得られる + </para> + <programlisting role=""><![CDATA[ +A'*X+X*A-X*B*X+C=0 . + ]]></programlisting> + <para> + <literal>B</literal> および<literal>C</literal> は + 非負定とする. + <literal>(A,G)</literal> は + <literal>B</literal>のフルランク分解<literal>G*G'</literal>により + 可安定とする. + </para> + <para> + <literal>(A,H)</literal> は<literal>C</literal>の + フルランク分解<literal>H*H'</literal>により可検出とする. + </para> + <para> + 離散時間: + </para> + <programlisting role=""><![CDATA[ +X=ricc(F,G,H,'disc') + ]]></programlisting> + <para> + により離散時間AREの解が得られる + </para> + <programlisting role=""><![CDATA[ +X=F'*X*F-F'*X*G1*((G2+G1'*X*G1)^-1)*G1'*X*F+H + ]]></programlisting> + <para> + <literal>F</literal> は可逆であり、 + <literal>G = G1*inv(G2)*G1'</literal>とする. + </para> + <para> + <literal>(F,G1)</literal>は可安定, <literal>(C,F)</literal> は + <literal>H</literal>のフルランク分解 <literal>C'*C</literal>を + 用いて可検出であることとする. + より適する場合, <literal>ric_desc</literal> を使用すること. + </para> + <para> + C, D は対象行列である. + 行列 A, C および Dに対応する行列ペンシルが,絶対値が 1より小さい + N個の固有値を有するものとする. + </para> + <para> + 解のエラー境界と推定条件も出力される. + 行列 A, C および D において, + 対応するハミルトン行列が 実部が負となるN個の固有値を有するものとする. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//Standard formulas to compute Riccati solutions +A=rand(3,3);B=rand(3,2);C=rand(3,3);C=C*C';R=rand(2,2);R=R*R'+eye(); +B=B*inv(R)*B'; +X=ricc(A,B,C,'cont'); +norm(A'*X+X*A-X*B*X+C,1) +H=[A -B;-C -A']; +[T,d]=schur(eye(H),H,'cont');T=T(:,1:d); +X1=T(4:6,:)/T(1:3,:); +norm(X1-X,1) +[T,d]=schur(H,'cont');T=T(:,1:d); +X2=T(4:6,:)/T(1:3,:); +norm(X2-X,1) +// Discrete time case +F=A;B=rand(3,2);G1=B;G2=R;G=G1/G2*G1';H=C; +X=ricc(F,G,H,'disc'); +norm(F'*X*F-(F'*X*G1/(G2+G1'*X*G1))*(G1'*X*F)+H-X) +H1=[eye(3,3) G;zeros(3,3) F']; +H2=[F zeros(3,3);-H eye(3,3)]; +[T,d]=schur(H2,H1,'disc');T=T(:,1:d);X1=T(4:6,:)/T(1:3,:); +norm(X1-X,1) +Fi=inv(F); +Hami=[Fi Fi*G;H*Fi F'+H*Fi*G]; +[T,d]=schur(Hami,'d');T=T(:,1:d); +Fit=inv(F'); +Ham=[F+G*Fit*H -G*Fit;-Fit*H Fit]; +[T,d]=schur(Ham,'d');T=T(:,1:d);X2=T(4:6,:)/T(1:3,:); +norm(X2-X,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="riccati">riccati</link> + </member> + <member> + <link linkend="ric_desc">ric_desc</link> + </member> + <member> + <link linkend="schur">schur</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>使用する関数</title> + <para>参照: SCI/modules/cacsd/src/slicot/riccpack.f</para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/riccati.xml b/modules/cacsd/help/ja_JP/riccati.xml new file mode 100755 index 000000000..acb544eb1 --- /dev/null +++ b/modules/cacsd/help/ja_JP/riccati.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="riccati"> + <refnamediv> + <refname>riccati</refname> + <refpurpose>リカッチ方程式</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>X=riccati(A,B,C,dom,[typ]) + [X1,X2]=riccati(A,B,C,dom,[typ]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A,B,C</term> + <listitem> + <para> + 実数行列 nxn, <literal>B</literal> および対称行列 <literal>C</literal> . + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dom</term> + <listitem> + <para> + 時間領域(連続または離散)に関する <literal>'c'</literal> または <literal>'d'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>typ</term> + <listitem> + <para> + 文字列 : ブロック対角化の場合は<literal>'eigen'</literal>, + または Schur 法の場合は<literal>schur'</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X1,X2,X</term> + <listitem> + <para>正方実数行列 (X2 は可逆), 対称行列 X </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>X=riccati(A,B,C,dom,[typ])</literal> は次のリカッチ方程式を解きます: + </para> + <programlisting role=""><![CDATA[ +A'*X+X*A-X*B*X+C=0 + ]]></programlisting> + <para> + (連続系の場合),または + </para> + <programlisting role=""><![CDATA[ +A'*X*A-(A'*X*B1/(B2+B1'*X*B1))*(B1'*X*A)+C-X + ]]></programlisting> + <para> + (離散時間系の場合), ただし <literal>B=B1/B2*B1'</literal>. + 出力引数2個でコールされた場合, + <literal>riccati</literal> は + <literal>X=X1/X2</literal>となるような<literal>X1,X2</literal>を返します. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ricc">ricc</link> + </member> + <member> + <link linkend="ric_desc">ric_desc</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/routh_t.xml b/modules/cacsd/help/ja_JP/routh_t.xml new file mode 100755 index 000000000..1f4703dbb --- /dev/null +++ b/modules/cacsd/help/ja_JP/routh_t.xml @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="routh_t" xml:lang="ja"> + <refnamediv> + <refname>routh_t</refname> + <refpurpose>ラウス表</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis> + [r [,num] ]=routh_t(p) + [r [,num] ]=routh_t(h ,kp) + r=routh_t(h ,k [,normalized]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>p</term> + <listitem> + <para>実数多項式</para> + </listitem> + </varlistentry> + <varlistentry> + <term>h</term> + <listitem> + <para>実数 SISO 伝達システム</para> + </listitem> + </varlistentry> + <varlistentry> + <term>k</term> + <listitem> + <para>実数多項式またはスカラー</para> + </listitem> + </varlistentry> + <varlistentry> + <term>kp</term> + <listitem> + <para>スカラー: 比例制御定数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>normalized</term> + <listitem> + <para>論理値 (%t (デフォルト値) または %f)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>行列またはリスト: ラウス配列要素</para> + </listitem> + </varlistentry> + <varlistentry> + <term>num</term> + <listitem> + <para>スカラー: 符号変更の数</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>r=routh_t(p)</literal> は, + 多項式<literal>p</literal>のラウス表を計算します. + </para> + <para> + <literal>r=routh_t(h,k)</literal> は, + ゲイン<literal>k</literal>によるフィードバックを有する + SISO伝達行列 <literal>h</literal>で記述されたシステムの + 分母のラウス表を計算します. + </para> + <para> + <literal>k=poly(0,'k')</literal> の場合,ダミー変数<literal>k</literal> + で表した多項式行列でラウス表が記述されます. + </para> + <para> + <literal>normalized=%f</literal> の場合, + 正規化されていない要素を有する多項式行列を有します. + 他の場合, 有理数または正規化された行列を有します. + </para> + <para> + 2番目の引数 <literal>num</literal> はラウス表の最初の列の + 符号変化の数を返します. + この引数の値は,表が正規化された場合のみ意味を有します. + </para> + <para> + <note> + ヒント: <literal>h=1/p</literal>の場合, + <literal>routh_t(h, kp)</literal> は + <literal>routh_t(p+kp)</literal> に等価です. + </note> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=%s; +P=5*s^3-10*s^2+7*s+20; +routh_t(P) +// フィードバックを有する伝達関数, 正規化された場合 +routh_t((1+s)/P,poly(0,'k')) +// フィードバックを有する伝達関数, 正規化されていない場合 +routh_t((1+s)/P,poly(0,'k'),%f) +// 多項式の係数の一つが0 +P1=2*s^3-24*s+32; +routh_t(P1) +// ある行が全てゼロ +P2=s^4-6*s^3+10*s^2-6*s+9; +routh_t(P2) +// 右辺の根の数を2番目の出力引数として取得可能 +P3=5*s^3-10*s^2+7*s; +[r,num]=routh_t(1/P3,20) +if num==0 + disp("System is stable") +else + mprintf("There is %g sign changes in entries of first column.\nTherefore, system is unstable.", num) +end +// + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="roots">roots</link> + </member> + <member> + <link linkend="spec">spec</link> + </member> + <member> + <link linkend="evans">evans</link> + </member> + <member> + <link linkend="kpure">kpure</link> + </member> + <member> + <link linkend="krac2">krac2</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>参考文献</title> + <para> + <ulink url="http://controls.engin.umich.edu/wiki/index.php/RouthStability">http://controls.engin.umich.edu/wiki/index.php/RouthStability</ulink> + </para> + <para> + <ulink url="http://www.jdotec.net/s3i/TD_Info/Routh/Routh.pdf">http://www.jdotec.net/s3i/TD_Info/Routh/Routh.pdf</ulink> + </para> + <para>Comments on the Routh-Hurwitz criterion, Shamash, Y.,Automatic + Control, IEEE T.A.C Volume 25, Issue 1, Feb 1980 Page(s): 132 - 133 + </para> + </refsection> + <refsection> + <title>履歴</title> + <revhistory> + <revision> + <revnumber>5.5.0</revnumber> + <revremark>新規出力引数が追加されました: num (SEP #104).</revremark> + </revision> + <revision> + <revnumber>5.4.0</revnumber> + <revremark>新規入力引数が追加されました: normalized (SEP #89).</revremark> + </revision> + </revhistory> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/rowinout.xml b/modules/cacsd/help/ja_JP/rowinout.xml new file mode 100755 index 000000000..dc2eeed51 --- /dev/null +++ b/modules/cacsd/help/ja_JP/rowinout.xml @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="rowinout"> + <refnamediv> + <refname>rowinout</refname> + <refpurpose>インナ-アウタ分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Inn,X,Gbar]=rowinout(G)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) <literal>[A,B,C,D]</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Inn</term> + <listitem> + <para> + インナ因子 (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gbar</term> + <listitem> + <para> + アウタ因子 (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>X</term> + <listitem> + <para> + <literal>G</literal> (<literal>syslin</literal> リスト)の行圧縮 + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>G=[A,B,C,D]</literal>(<literal>l</literal>x<literal>p</literal>) + のインナ-アウタ分解(おとび行圧縮) (ただし,<literal>l>=p</literal>). + </para> + <para> + <literal>G</literal> は虚軸上にゼロを持たない縦長(<literal>l>=p</literal>) で + ,<literal>D</literal>は列フルランクであると仮定します. + </para> + <para> + <literal>G</literal> は<literal>Gbar</literal>が安定な場合には + 安定となります. + </para> + <para> + <literal>G</literal> は以下のアウタ-インナ分解を許容します: + </para> + <programlisting role=""><![CDATA[ + G = [ Inn ] | Gbar | + | 0 | + ]]></programlisting> + <para> + ただし <literal>Inn</literal> は正方行列の + インナ (全通過で安定), + <literal>Gbar</literal>は + 正方行列のアウタ,すなわち, + Gbar は正方で双方向プロパーかつ双方向安定 + (Gbarの逆行列もプロパーで安定)です. + </para> + <para> + 注意: + </para> + <programlisting role=""><![CDATA[ + [ Gbar ] +X*G = [ - ] + [ 0 ] + ]]></programlisting> + <para> + は <literal>G</literal> の行圧縮です. + ただし, <literal>X</literal> = <literal>Inn</literal> + の逆行列は全通過特性を有します.すなわち: + </para> + <programlisting role=""><![CDATA[ + T +X (-s) X(s) = Identity + ]]></programlisting> + <para> + (連続時間系の場合). + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="colinout">colinout</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/rowregul.xml b/modules/cacsd/help/ja_JP/rowregul.xml new file mode 100755 index 000000000..200f7b420 --- /dev/null +++ b/modules/cacsd/help/ja_JP/rowregul.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="rowregul"> + <refnamediv> + <refname>rowregul</refname> + <refpurpose>無限大にある極およびゼロを削除</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Stmp,Ws]=rowregul(Sl,alfa,beta)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl,Stmp</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa,beta</term> + <listitem> + <para>実数 (新しい極とゼロの位置)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>Stmp=Ws*Sl</literal>がプロパーで + <literal>D</literal>行列がフルランクの時, + ポストフィルタ <literal>Ws</literal>を計算します. + </para> + <para> + <literal>Sl</literal> の無限大にある極は <literal>alfa</literal>に移動されます; + </para> + <para> + <literal>Sl</literal>の無限大にあるゼロは are moved to <literal>beta</literal> + に移動されます; + </para> + <para> + <literal>Sl</literal> は, + 状態空間表現(多項式 <literal>D</literal>行列も加わる可能性有)の + 右可逆線形システム(<literal>syslin</literal> リスト) + であると仮定されます. + </para> + <para> + この関数は coleregul の双対です + (以下の関数コード参照). + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +s=%s; +w=[1/s,0;s/(s^3+2),2/s]; +Sl=tf2ss(w); +[Stmp,Ws]=rowregul(Sl,-1,-2); +Stmp('D') // StmpのD行列 +clean(ss2tf(Stmp)) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="invsyslin">invsyslin</link> + </member> + <member> + <link linkend="colregul">colregul</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/rtitr.xml b/modules/cacsd/help/ja_JP/rtitr.xml new file mode 100755 index 000000000..7d65d28fd --- /dev/null +++ b/modules/cacsd/help/ja_JP/rtitr.xml @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="rtitr"> + <refnamediv> + <refname>rtitr</refname> + <refpurpose>離散時間応答 (伝達行列) </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[y]=rtitr(Num,Den,u [,up,yp])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Num,Den</term> + <listitem> + <para> + 多項式行列 (それぞれの次元 : <literal>n</literal>x<literal>m</literal> および <literal>n</literal>x<literal>n</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para> + 実数行列 (次元 <literal>m</literal>x<literal>(t+1)</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>up,yp</term> + <listitem> + <para> + 実数行列 (<literal>up</literal> 次元 <literal>m</literal>x<literal>(maxi(degree(Den)))</literal> (デフォルト値=<literal>0</literal>) , + <literal>yp</literal> 次元 <literal>n</literal>x + <literal>(maxi(degree(Den)))</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>y=rtitr(Num,Den,u [,up,yp])</literal> は, + 入力 <literal>u</literal> の + 伝達行列が <literal>Den^-1 Num</literal> となる + 離散時間線形システムの時間応答を返します. + ただし,<literal>y</literal> および <literal>u</literal> には + t=0,1,...において<literal>Den y = Num u</literal> + となる関係があります. + </para> + <para> + <literal>d1=maxi(degree(Den))</literal>,および + <literal>d2=maxi(degree(Num))</literal> の場合, + 多項式行列 <literal>Den(z)</literal> および + <literal>Num(z)</literal> はそれぞれ以下のように + 記述されます: + </para> + <programlisting role=""><![CDATA[ +D(z) = D_0 + D_1 z + ... + D_d1 z^d1 +N(z) = N_0 + N_1 z + ... + N_d2 z^d2 + ]]></programlisting> + <para> + そして <literal>Den y = Num u</literal> は + 次の再帰式として解釈されます: + </para> + <programlisting role=""><![CDATA[ +D(0)y(t)+D(1)y(t+1)+...+ D(d1)y(t+d1)= N(0) u(t) +....+ N(d2) u(t+d2) + ]]></programlisting> + <para> + <literal>D(d1)</literal> は正則と仮定されます. + </para> + <para> + uの列はt=0,1,...,Tにおけるシステムの入力です: + </para> + <programlisting role=""><![CDATA[ +u=[u(0) , u(1),...,u(T)] + ]]></programlisting> + <para> + <literal>t=0,1,...,T+d1-d2</literal>における出力が, + 行列<literal>y</literal>の列になります: + </para> + <programlisting role=""><![CDATA[ +y = [y(0), y(1), .... y(T+d1-d2)] + ]]></programlisting> + <para> + <literal>up</literal> および <literal>yp</literal> は + t < 0 における初期条件を定義します, すなわち + </para> + <programlisting role=""><![CDATA[ +up = [u(-d1), ..., u(-1) ] +yp = [y(-d1), ... y(-1) ] + ]]></programlisting> + <para> + <literal>d1</literal> および <literal>d2</literal>の相対値に + 依存して, <literal>up</literal>, <literal>yp</literal> + の最も左の要素のいくつかが無視されます. + <literal>up</literal> および + <literal>yp</literal> のデフォルト値はゼロです: + <literal>up = 0*ones(m,d1), yp=0*ones(n,d1)</literal> + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +z=poly(0,'z'); +Num=1+z;Den=1+z;u=[1,2,3,4,5]; +rtitr(Num,Den,u)-u +//Other examples +//siso +//causal +n1=1;d1=poly([1 1],'z','coeff'); // y(j)=-y(j-1)+u(j-1) +r1=[0 1 0 1 0 1 0 1 0 1 0]; +r=rtitr(n1,d1,ones(1,10));norm(r1-r,1) +//hot restart +r=rtitr(n1,d1,ones(1,9),1,0);norm(r1(2:11)-r) +//non causal +n2=poly([1 1 1],'z','coeff');d2=d1; // y(j)=-y(j-1)+u(j-1)+u(j)+u(j+1) +r2=[2 1 2 1 2 1 2 1 2]; +r=rtitr(n2,d2,ones(1,10));norm(r-r2,1) +//hot restart +r=rtitr(n2,d2,ones(1,9),1,2);norm(r2(2:9)-r,1) +// +//MIMO example +//causal +d1=d1*diag([1 0.5]);n1=[1 3 1;2 4 1];r1=[5;14]*r1; +r=rtitr(n1,d1,ones(3,10));norm(r1-r,1) +// +r=rtitr(n1,d1,ones(3,9),[1;1;1],[0;0]); +norm(r1(:,2:11)-r,1) +//polynomial n1 (same ex.) +n1(1,1)=poly(1,'z','c');r=rtitr(n1,d1,ones(3,10));norm(r1-r,1) +// +r=rtitr(n1,d1,ones(3,9),[1;1;1],[0;0]); +norm(r1(:,2:11)-r,1) +//non causal +d2=d1;n2=n2*n1;r2=[5;14]*r2; +r=rtitr(n2,d2,ones(3,10));norm(r2-r) +// +r=rtitr(n2,d2,ones(3,9),[1;1;1],[10;28]); +norm(r2(:,2:9)-r,1) +// +// State-space or transfer +a = [0.21 , 0.63 , 0.56 , 0.23 , 0.31 + 0.76 , 0.85 , 0.66 , 0.23 , 0.93 + 0 , 0.69 , 0.73 , 0.22 , 0.21 + 0.33 , 0.88 , 0.2 , 0.88 , 0.31 + 0.67 , 0.07 , 0.54 , 0.65 , 0.36]; +b = [0.29 , 0.5 , 0.92 + 0.57 , 0.44 , 0.04 + 0.48 , 0.27 , 0.48 + 0.33 , 0.63 , 0.26 + 0.59 , 0.41 , 0.41]; +c = [0.28 , 0.78 , 0.11 , 0.15 , 0.84 + 0.13 , 0.21 , 0.69 , 0.7 , 0.41]; +d = [0.41 , 0.11 , 0.56 + 0.88 , 0.2 , 0.59]; +s=syslin('d',a,b,c,d); +h=ss2tf(s);num=h('num');den=h('den');den=den(1,1)*eye(2,2); +u=1;u(3,10)=0;r3=flts(u,s); +r=rtitr(num,den,u);norm(r3-r,1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="ltitr">ltitr</link> + </member> + <member> + <link linkend="exp">exp</link> + </member> + <member> + <link linkend="flts">flts</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/sensi.xml b/modules/cacsd/help/ja_JP/sensi.xml new file mode 100755 index 000000000..74e6ab49a --- /dev/null +++ b/modules/cacsd/help/ja_JP/sensi.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sensi"> + <refnamediv> + <refname>sensi</refname> + <refpurpose>感度関数</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[Se,Re,Te]=sensi(G,K) + [Si,Ri,Ti]=sensi(G,K,flag) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>G</term> + <listitem> + <para> + 標準プラント (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + 補償器 (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列 <literal>'o'</literal> (デフォルト値) または <literal>'i'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Se</term> + <listitem> + <para> + 出力感度関数 <literal>(I+G*K)^-1</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Re</term> + <listitem> + <para> + <literal>K*Se</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Te</term> + <listitem> + <para> + <literal>G*K*Se</literal> (出力相補感度関数) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>sensi</literal> は感度関数を計算します. + <literal>G</literal> および <literal>K</literal> が + 状態空間形式で指定される場合, + システムは一般的に最小実現を返します. + 計算は <literal>lft</literal> により行われます. + 例えば, <literal>Se</literal> は + コマンド + <literal> P = augment(G,'S')</literal>, <literal>Se=lft(P,K)</literal> + により指定することができます. + <literal>flag</literal> = <literal>'i'</literal>の場合, + <literal>[Si,Ri,Ti]=sensi(G,K,'i')</literal>は + 入力感度関数を返します. + </para> + <programlisting role=""><![CDATA[ +[Se;Re;Te]= [inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)]; +[Si;Ri;Ti]= [inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+K*G)]; + ]]></programlisting> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +G=ssrand(1,1,3);K=ssrand(1,1,3); +[Se,Re,Te]=sensi(G,K); +Se1=inv(eye()+G*K); //Other way to compute +ss2tf(Se) //Se seen in transfer form +ss2tf(Se1) +ss2tf(Te) +ss2tf(G*K*Se1) +[Si,Ri,Ti]=sensi(G,K,'i'); +w1=[ss2tf(Si);ss2tf(Ri);ss2tf(Ti)] +w2=[ss2tf(inv(eye()+K*G));ss2tf(G*inv(eye()+K*G));ss2tf(K*G*inv(eye()+K*G))]; +clean(w1-w2) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="augment">augment</link> + </member> + <member> + <link linkend="lft">lft</link> + </member> + <member> + <link linkend="h_cl">h_cl</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/sident.xml b/modules/cacsd/help/ja_JP/sident.xml new file mode 100755 index 000000000..058bf0612 --- /dev/null +++ b/modules/cacsd/help/ja_JP/sident.xml @@ -0,0 +1,357 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sident"> + <refnamediv> + <refname>sident</refname> + <refpurpose>離散時間状態空間実現およびカルマンゲイン</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[[A,C][,B[,D]][,K,Q,Ry,S][,rcnd]] = sident(meth,job,s,n,l,R[,tol,t,Ai,Ci,printw])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>meth</term> + <listitem> + <para>使用する手法を定義する整数オプション:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 過去の入力及び出力によるMOESP法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : N4SID 法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : 組み合わせ法: A および C はMOESP, + B および D はN4SIDによる. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>job</term> + <listitem> + <para>実行する計算を定義する整数オプション:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 全てのシステム行列, A, B, C, Dを計算;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : 行列 A および C のみを計算;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : 行列 B のみを計算;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>4 : 行列 B および D のみを計算.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>s</term> + <listitem> + <para> + 処理された入力及び出力ブロックハンケル行列の + ブロック行の数. s > 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>整数, システムの次数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>l</term> + <listitem> + <para>整数, システム出力の次数</para> + </listitem> + </varlistentry> + <varlistentry> + <term>R</term> + <listitem> + <para>Rの2*(m+l)*s行2*(m+l)*s列の部分には, + 結合されたブロックハンケル行列のQR分解による + 上三角因子 R が含まれます. + システム行列を計算する際にはより詳細な情報が + 必要です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>(オプション) + 行列のランクを推定する際に使用される許容誤差. + tol > 0の場合, tol に指定した値が + 条件数の逆数の下界として使用されます. + 推定された条件数が1/tol以下となるm行n列の行列は + フルランクとみなされます. + デフォルト: m*n*epsilon_machine ただし epsilon_machine は + 相対機械精度です. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>t</term> + <listitem> + <para>(オプション) + 共分散を計算する際に使用されるサンプルの総数です. + t = 0, または t >= 2*(m+l)*s のどちらかです. + 共分散行列またはカルマン予測ゲイン行列が不要である場合には, + このパラメータは不要です. + t = 0の場合,K, Q, Ry, および S は計算されません. + デフォルト: t = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ai</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ci</term> + <listitem> + <para> 実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>printw</term> + <listitem> + <para>(オプション) 警告メッセージの出力に関するスイッチ.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: 警告メッセージを出力します;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: 警告メッセージを出力しません.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: printw = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>C</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para>実数行列, カルマンゲイン</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Q</term> + <listitem> + <para>(オプション) n行n列の半正定値の状態共分散行列で, + カルマンゲインを計算する際に状態量の重み行列として使用されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>RY</term> + <listitem> + <para>(オプション) l行l列の(半)正定値の出力共分散行列で, + カルマンゲインを計算する際に出力の重み行列として使用されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>(オプション) n行l列の状態-出力相互共分散行列で, + カルマンゲインを計算する際にクロス重み行列として使用されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>(オプション) 長さlrのベクトル, + ランク決定,最小二乗,またはリカッチ方程式の解に使用される + 行列の条件数の逆数の推定値を含みます. + ただし, カルマンゲイン行列が不要n場合, lr = 4 , + カルマンゲインが必要な場合には lr = 12 とします. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + SIDENT 関数は, SLICOT ルーチン IB01BD を用いて, + 離散時間状態空間実現 (A,B,C,D) および + カルマンゲイン K を計算します. + </para> + <programlisting role=""><![CDATA[ + [A,C,B,D] = sident(meth,1,s,n,l,R) +[A,C,B,D,K,Q,Ry,S,rcnd] = sident(meth,1,s,n,l,R,tol,t) + [A,C] = sident(meth,2,s,n,l,R) + B = sident(meth,3,s,n,l,R,tol,0,Ai,Ci) + [B,K,Q,Ry,S,rcnd] = sident(meth,3,s,n,l,R,tol,t,Ai,Ci) + [B,D] = sident(meth,4,s,n,l,R,tol,0,Ai,Ci) + [B,D,K,Q,Ry,S,rcnd] = sident(meth,4,s,n,l,R,tol,t,Ai,Ci) + ]]></programlisting> + <para> + SIDENT は, + システム次数および結合されたブロックハンケル行列の + R因子に関連する部分を指定すると, + 部分空間同定法(MOESP, N4SID, またはその組み合わせ)により, + 状態空間実現 (A,B,C,D)および離散時間システムの + カルマン予測ゲイン K を計算します. + </para> + <para> + モデル構造は以下のようになります : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + ただし, + x(k) は(時刻kにおける) n次元状態ベクトル, + </para> + <para> + u(k)はm次元入力ベクトル, + </para> + <para> + y(k) はl次元出力ベクトル, + </para> + <para> + e(k) はl次元外乱ベクトル, + </para> + <para> + として A, B, C, D, および K は適当な次元の実数行列です. + </para> + </refsection> + <refsection> + <title>コメント</title> + <para> + 1. job <= 2の時, n行n列のシステム状態行列 A, およびp行n列 + のシステム出力行列 C が計算されます. + </para> + <para> + 2. job <> 2 の時, n行m列のシステム入力行列B + が計算されます. + </para> + <para> + 3. job = 1 または 4の時,l行m列のシステム行列Dが計算されます. + </para> + <para> + 4. t > 0 の時, n行l列のカルマン予測ゲイン行列 K および + 共分散行列 Q, Ry および S が計算されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//generate data from a given linear system +A = [ 0.5, 0.1,-0.1, 0.2; + 0.1, 0, -0.1,-0.1; + -0.4,-0.6,-0.7,-0.1; + 0.8, 0, -0.6,-0.6]; +B = [0.8;0.1;1;-1]; +C = [1 2 -1 0]; +SYS=syslin(0.1,A,B,C); +nsmp=100; +U=prbs_a(nsmp,nsmp/5); +Y=(flts(U,SYS)+0.3*rand(1,nsmp,'normal')); +S = 15; +N = 3; +METH=1; +[R,N1] = findR(S,Y',U',METH); +[A,C,B,D,K] = sident(METH,1,S,N,1,R); +SYS1=syslin(1,A,B,C,D); +SYS1.X0 = inistate(SYS1,Y',U'); +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +METH = 2; +[R,N1,SVAL] = findR(S,Y',U',METH); +tol = 0; +t = size(U',1)-2*S+1; +[A,C,B,D,K] = sident(METH,1,S,N,1,R,tol,t) +SYS1=syslin(1,A,B,C,D) +SYS1.X0 = inistate(SYS1,Y',U'); +Y1=flts(U,SYS1); +clf();plot2d((1:nsmp)',[Y',Y1']) +]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="sorder">sorder</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/sorder.xml b/modules/cacsd/help/ja_JP/sorder.xml new file mode 100755 index 000000000..6a11d5832 --- /dev/null +++ b/modules/cacsd/help/ja_JP/sorder.xml @@ -0,0 +1,390 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sorder"> + <refnamediv> + <refname>sorder</refname> + <refpurpose>離散時間システムの次数を計算</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[Ro[,n,sval,rcnd]] = sorder(meth,alg,jobd,batch,conct,s,Y[,U,tol,printw,ldwork,Ri])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>meth</term> + <listitem> + <para>使用する手法を定義するための整数オプション:</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 過去の入力および出力を用いるMOESP法;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : N4SID 法.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>alg</term> + <listitem> + <para> + 入出力データから構築される + 結合されたブロックハンケル行列の三角分解を計算するアルゴリズムを + 定義するための整数オプション: + </para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 相関行列のコレスキーアルゴリズム;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : 高速 QR アルゴリズム;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : 標準 QR アルゴリズム.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>jobd</term> + <listitem> + <para> + 行列BおよびDを後でMOESP法により計算するかどうかを指定する + 整数オプション: + </para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 行列 B および D を後でMOESP法により計算します;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : 行列 B および D はMOESP法により計算されません.</para> + <para> + このパラメータは mesh = 2 には関連しません. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>batch</term> + <listitem> + <para> + 連続的なデータ処理を行うかどうか, + また,連続処理の際に,カレントのデータブロックを先頭ブロック, + 中間ブロック,または最終ブロックとするかどうかを以下のように + 指定する整数オプション: + </para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : 連続データ処理で先頭ブロック;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : 連続データ処理で中間ブロック;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>3 : 連続データ処理で最終ブロック;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>4 : 1ブロックのみ (連続データ処理をしない).</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>conct</term> + <listitem> + <para> + 連続データ処理における連続するデータブロックを1回の試行に配置する + かどうかを以下のように指定する整数オプション: + </para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1 : カレントのデータブロックの処理は, 前のデータブロックと連続し,また, + 次のブロックも継続処理されます.; + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>2 : カレントのデータブロックと前後のデータブロックの間は接続されません.</para> + <para> + このパラメータは, batch = 4 には使用されません. + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>s</term> + <listitem> + <para>処理されるブロックハンケル行列の入力/出力のブロック行数. s > 0</para> + </listitem> + </varlistentry> + <varlistentry> + <term>Y</term> + <listitem> + <para>the t行l列の出力データ系列行列. Yのj列には, + j番目の出力要素のtの時系列の値が含まれます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>(オプション) t行m列の入力データ系列行列. Column j of Uのj列には, + j番目の入力要素のtの時系列の値が含まれます.デフォルト: U = []. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>(オプション) + 許容誤差を含む長さ2のベクトル: + tol(1) - 行列のランクを推定する際に使用される許容誤差. + tol(1) > 0の場合, 条件数の逆数の下界として,指定したtol(1)の値が使用されます; + m行n列の行列で,推定された条件数が 1/tol(1) より小さい場合,フルランクとみなされます. + tol(1) <= 0 の場合, デフォルト値 m*n*epsilon_machineが使用されます. + ただし,epsilon_machine は相対機械精度です. + </para> + <para> + tol(2) - システム次数の推定値を定義する際に使用される許容誤差. + tol(2) >= 0 の場合, tol(2)以上の最後の特異値の添字が推定値となります. + (tol(2)よち小さな特異値はゼロとみなされます.) + tol(2) = 0の場合,デフォルト値, tol(2) = s*epsilon_machine*sval(1), が内部的に計算され,使用されます. + ただし,sval(1)は最大特異値,epsilon_machineは相対機械精度です. + tol(2) < 0 の場合, 推定値は次の要素への指数的な差異が最大となる特異値の添字となります. + </para> + <para> + デフォルト: tol(1:2) = [0,-1]. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>printw</term> + <listitem> + <para>(オプション) 警告メッセージの出力に関するスイッチ.</para> + <variablelist> + <varlistentry> + <term>= </term> + <listitem> + <para>1: 警告メッセージを出力します;</para> + </listitem> + </varlistentry> + <varlistentry> + <term>= </term> + <listitem> + <para>0: 警告メッセージを出力しません.</para> + </listitem> + </varlistentry> + </variablelist> + <para> + デフォルト: printw = 0. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ldwork</term> + <listitem> + <para>(オプション) ワークスペースの大きさ. デフォルト : 以下の式で計算</para> + <programlisting role=""><![CDATA[ +nr = 2*( m + l )*s +LDWORK = ( t - 2*s + 3 + 64 )*nr +if ( CSIZE > MAX( nr*nr + t*( m + l ) + 16, 2*nr ) ) then + LDWORK = MIN( LDWORK, CSIZE - nr*nr - t*( m + l ) - 16 ) +else + LDWORK = MIN( LDWORK, MAX( 2*nr, CSIZE/2 ) ) +end if + ]]></programlisting> + <para> + LDWORK = MAX( minimum workspace size needed, LDWORK ) ただし,CSIZE は倍精度ワード単位のキャッシュの大きさです. + </para> + <para> + 最小ワークスペースの大きさよりも小さなLDWORK が指定された場合, + 替わりに最小値が使用されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ri</term> + <listitem> + <para>(オプション) batch = 2 または 3の場合, Rの + 2*(m+l)*s行2*(m+l)*s列の部分 (alg <> 2の場合は,上三角) に + 連続データ処理におけるこの mexfile の前のコールで計算された + (上三角)行列 R を含む必要があります. + conct = 1の場合, Rには同じく前のコールで設定された列が1列追加されます. + </para> + <para> + alg = 2の場合, R は m+l+1 個の前のコールで設定された追加の列を有します. + </para> + <para> + このパラメータは, batch = 1 または batch = 4の場合は使用されません. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ro</term> + <listitem> + <para>batch = 3 または 4の場合, Rの2*(m+l)*s行2*(m+l)*s列 の部分には, + 結合されたブロックハンケル行列のQR分解に基づく + 上三角分解 Rが含まれ, + システム行列を計算する際により詳細な情報が必要となります. + batch = 1 または 2の場合, R にはこのmexfileの次のコールで必要とされる + 中間結果が含まれます. + batch = 1 または 2, かつ conct = 1の場合, R には列が追加され, + リターンの前に値が設定されます. + batch = 1 または 2 で alg = 2の場合,R には m+l+1個の列が追加され, + 同じくリターンの前に値が設定されます. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>システムの次数.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sval</term> + <listitem> + <para>(オプション) システムの次数を推定する際に使用される特異値.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rcnd</term> + <listitem> + <para>(オプション) meth = 2の場合, 長さ2のベクトルで, + ランク決定や最小二乗解で使用される + 行列の条件数の逆数を含みます. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + sorder - SLICOT の IB01ADルーチンにより離散時間システムの次数を計算する関数. + </para> + <para> + ブロックが1個の場合 (データ系列 Y, U): + [R,n,sval,rcnd] = sorder(meth,alg,jobd,4,conct,s,Y,U); + </para> + <para> + ブロックがf個の場合 (データ系列 Yj, Uj, j = 1 : f): + </para> + <programlisting role=""><![CDATA[ +R = sorder(meth,alg,jobd,1,conct,s,Y1,U1); +for j = 2 : f - 1 + R = sorder(meth,alg,jobd,2,conct,s,Yj,Uj,tol,printw,ldwork,R) +end +[R,n,sval,rcnd] = sorder(meth,alg,jobd,3,conct,s,Yf,Uf,tol); + ]]></programlisting> + <para> + sorder は,線形時不変システムの行列を推定するために + コレスキーまたは(高速)QR分解および + 部分空間同定法 (MOESP およびN4SID)による + 入出力データの前処理を行い, + 離散時間実現の次数を推定します. + </para> + <para> + モデルの構造は以下のようになります : + </para> + <programlisting role=""><![CDATA[ +x(k+1) = Ax(k) + Bu(k) + w(k), k >= 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]></programlisting> + <para> + ただし, + x(k) は(時刻kにおける) n次元状態ベクトル, + </para> + <para> + u(k) はm次元入力ベクトル, + </para> + <para> + y(k) はl次元出力ベクトル, + </para> + <para> + w(k) はn次元状態外乱ベクトル, + </para> + <para> + e(k) はl次元出力外乱ベクトル, + </para> + <para> + として A, B, C, および D は適当な次元の実数行列です. + </para> + </refsection> + <refsection> + <title>コメント</title> + <para> + 1. コレスキーまたは高速QRアルゴリズムは,(大きなデータブロックの場合) QRアルゴリズムよりも + はるかに高速ですが, 修正行列 H'*H が正定でない場合には使用できません. + このような場合, 十分なワークスペースが確保され, batch = 4 の時に + コードは自動的に QR アルゴリズムに切り替えます. + </para> + <para> + 2. ldwork が指定されたが, ワークスペースの大きさの最小値よりも小さい場合, + 替わりに最小値が使用されます. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="findBD">findBD</link> + </member> + <member> + <link linkend="sident">sident</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/specfact.xml b/modules/cacsd/help/ja_JP/specfact.xml new file mode 100755 index 000000000..ebc0e62e4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/specfact.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="specfact"> + <refnamediv> + <refname>specfact</refname> + <refpurpose>スペクトル分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[W0,L]=specfact(A,B,C,D)</synopsis> + </refsynopsisdiv> + <refsection> + <title>説明</title><para> + スペクトル密度行列 <literal>phi(s)</literal>を指定すると: + </para> + <programlisting role=""><![CDATA[ + -1 -1 +R + C*(s*I-A) * B + B'*(-s*I-A') * C' with R=D+D' > 0 + ]]></programlisting> + <para> + <literal>specfact</literal> は, + <literal>W(s)=W0+L*(s*I-A)^-1*B</literal> が + <literal>PHI(s)</literal> のスペクトル分解,すなわち, + </para> + <para> + <literal>phi(s)=W'(-s)*W(s)</literal> + </para> + <para> + となるような + <literal>W0</literal> および <literal>L</literal> + を計算します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([-1,-2]);B=[1;1];C=[1,1];D=1;s=poly(0,'s'); +W1=syslin('c',A,B,C,D); +phi=gtild(W1,'c')+W1; +phis=clean(ss2tf(phi)) +clean(phis-horner(phis,-s)'); //check this is 0... +[A,B,C,D]=abcd(W1); +[W0,L]=specfact(A,B,C,D); +W=syslin('c',A,B,L,W0) +Ws=ss2tf(W); +horner(Ws,-s)*Ws + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="gtild">gtild</link> + </member> + <member> + <link linkend="sfact">sfact</link> + </member> + <member> + <link linkend="fspecg">fspecg</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ssprint.xml b/modules/cacsd/help/ja_JP/ssprint.xml new file mode 100755 index 000000000..d62d4a4fb --- /dev/null +++ b/modules/cacsd/help/ja_JP/ssprint.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="ssprint" xml:lang="ja"> + <refnamediv> + <refname>ssprint</refname> + <refpurpose>線形システム用の整形出力</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>ssprint(sl) + ssprint(sl, out) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + リスト (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>out</term> + <listitem> + <para> + 出力 (デフォルト値 <literal>out=%io(2)</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para>状態空間形 + <literal>sl=(A,B,C,D) syslin</literal> リストの線形システムを整形して出力します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[a = [1 1;0 1]; +b = [0 1;1 0]; +c = [1, 1]; +d = [3, 2]; +modelC = syslin('c', a, b, c, d) +modelD = syslin('d', a, b, c, d) +ssprint(modelC) +ssprint(modelD)]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="math_rendering_features_in_graphic">math_rendering_features_in_graphic</link> + </member> + <member> + <link linkend="prettyprint">prettyprint</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/st_ility.xml b/modules/cacsd/help/ja_JP/st_ility.xml new file mode 100755 index 000000000..b9d06ead7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/st_ility.xml @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="st_ility"> + <refnamediv> + <refname>st_ility</refname> + <refpurpose>安定性テスト</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[ns, [nc, [,U [,Slo] ]]]=st_ility(Sl [,tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + <literal>syslin</literal> リスト (線形システム) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>ns</term> + <listitem> + <para> 整数 (可安定な部分空間の次元)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nc</term> + <listitem> + <para> + 整数 (可制御な部分空間の次元 <literal>nc <= ns</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + 最初の<literal>ns</literal>個(または <literal>nc</literal>個)の要素に + 可安定(または可制御)な部分空間が広がる基底. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Slo</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>可制御性検出の閾値 (contr参照)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal> Slo=( U'*A*U, U'*B, C*U, D, U'*x0 )</literal> (<literal>syslin</literal> リスト) + は<literal>Sl</literal>の可安定形式を表示します. + 可安定とは<literal>ns=nx</literal> ( <literal>A</literal> 行列の次元)を意味します. + </para> + <programlisting role=""><![CDATA[ + [*,*,*] [*] +U'*A*U = [0,*,*] U'*B = [0] + [0,0,*] [0] + ]]></programlisting> + <para> + ただし, <literal> (A11,B1) </literal> (dim(A11)= <literal>nc</literal>) は可制御で + <literal>A22</literal> + (dim(A22)=<literal>ns-nc</literal>) は安定です. + "安定" は, + (<literal>syslin</literal>の定義と同様,) + 連続線形システムの場合は固有値の実部が負, + 離散時間システムの場合は固有値の大きさが1未満であることを意味します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([0.9,-2,3]);B=[0;0;1];Sl=syslin('c',A,B,[]); +[ns,nc,U]=st_ility(Sl); +U'*A*U +U'*B +[ns,nc,U]=st_ility(syslin('d',A,B,[])); +U'*A*U +U'*B + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="stabil">stabil</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/stabil.xml b/modules/cacsd/help/ja_JP/stabil.xml new file mode 100755 index 000000000..8327dfd60 --- /dev/null +++ b/modules/cacsd/help/ja_JP/stabil.xml @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="stabil"> + <refnamediv> + <refname>stabil</refname> + <refpurpose>安定化</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>F=stabil(A,B,alfa) + K=stabil(Sys,alfa,beta) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A</term> + <listitem> + <para> + 正方実数行列 (<literal>nx x nx</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>B</term> + <listitem> + <para> + 実数行列 (<literal>nx x nu</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa, beta</term> + <listitem> + <para> 実数または(共役対の)複素ベクトルまたは実数.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>F</term> + <listitem> + <para> + 実数行列 (<literal>nx x nu</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) (<literal>m</literal> 入力, <literal>p</literal> 出力). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>K</term> + <listitem> + <para> + 線形システム (<literal>p</literal> 入力, <literal>m</literal> 出力) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>F=stabil(A,B,alfa)</literal> は, + 対<literal>(A,B)</literal>が可安定の場合, <literal>A+B*F</literal> が安定となるような + ゲイン行列 <literal>F</literal> を返します. + 配置可能な極は,<literal>alfa(1),alfa(2),...</literal>に設定されます. + <literal>(A,B)</literal> が可安定でない場合, 警告が出力され, + 配置可能な極が <literal>alfa(1),alfa(2),...</literal> に設定されます. + <literal>alfa</literal> は, + 全ての固有値がこの<literal>alfa</literal>に設定される数値です + (デフォルト値は <literal>alfa=-1</literal>). + </para> + <para> + <literal>K=stabil(Sys,alfa,beta)</literal> は, + <literal>(A,B)</literal> の可制御な固有値を<literal>alfa</literal>に設定し, + <literal>(C,A)</literal>の可観測な固有値を<literal>beta</literal>に設定する + <literal>Sys</literal>の補償器<literal>K</literal>を返します. + </para> + <para> + 全ての配置可能な閉ループ極 ( + これは,<literal>Aclosed=h_cl(Sys,K)</literal>の固有値として指定されます) + は, <literal>alfa(i)</literal>および<literal>beta(j)</literal>に設定されます. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +// Gain: +Sys=ssrand(0,2,5,list('st',2,3,3)); +A=Sys('A');B=Sys('B');F=stabil(A,B); +spec(A) //2 controllable modes 2 unstable uncontrollable modes +//and one stable uncontrollable mode +spec(A+B*F) //the two controllable modes are set to -1. +// Compensator: +Sys=ssrand(3,2,5,list('st',2,3,3)); //3 outputs, 2 inputs, 5 states +//2 controllables modes, 3 controllable or stabilizable modes. +K=stabil(Sys,-2,-3); //Compensator for Sys. +spec(Sys('A')) +spec(h_cl(Sys,K)) //K Stabilizes what can be stabilized. + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="st_ility">st_ility</link> + </member> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="ppol">ppol</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/sysfact.xml b/modules/cacsd/help/ja_JP/sysfact.xml new file mode 100755 index 000000000..940b07152 --- /dev/null +++ b/modules/cacsd/help/ja_JP/sysfact.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sysfact"> + <refnamediv> + <refname>sysfact</refname> + <refpurpose>システム分解</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[S,Series]=sysfact(Sys,Gain,flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + 行列 <literal>[A,B,C,D]</literal>を含む<literal>syslin</literal> リスト. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Gain</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列 <literal>'post'</literal> または<literal>'pre'</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Series</term> + <listitem> + <para> + <literal>syslin</literal> リスト + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>flag</literal> が <literal>'post'</literal>に等しい場合, + <literal>sysfact</literal> は,<literal>S</literal>に + ABCD行列形式の線形システム <literal>(A+B*Gain, B , Gain, I)</literal> + および直列システム <literal>Sys*S</literal> の最小実現である <literal>Series</literal> + を返します. + <literal>flag</literal> が <literal>'pre'</literal>に等しい場合, + <literal>sysfact</literal> は線形システム + <literal>(A+Gain*C, Gain , C, I)</literal> および + 直列システム <literal>S*Sys</literal> の最小実現である <literal>Series</literal>を返します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//カルマンフィルタ +Sys=ssrand(3,2,4);Sys('D')=rand(3,2); +S=sysfact(Sys,lqr(Sys),'post'); +ww=minss(Sys*S); +ss2tf(gtild(ww)*ww),Sys('D')'*Sys('D') +//カーネル +Sys=ssrand(2,3,4); +[X,d,F,U,k,Z]=abinv(Sys); +ss2tf(Sys*Z) +ss2tf(Sys*sysfact(Sys,F,'post')*U) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="lqr">lqr</link> + </member> + <member> + <link linkend="lqe">lqe</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/syslin.xml b/modules/cacsd/help/ja_JP/syslin.xml new file mode 100755 index 000000000..ab8fc76f2 --- /dev/null +++ b/modules/cacsd/help/ja_JP/syslin.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="syslin" xml:lang="ja"> + <refnamediv> + <refname>syslin</refname> + <refpurpose>線形システムを定義する</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>dom</term> + <listitem> + <para> + 文字列 (<literal>'c'</literal>, + <literal>'d'</literal>), または <literal>[]</literal> または + スカラー. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para>状態空間表現の行列 + (<literal>D</literal> はオプションで,デフォルトでは + ゼロ行列となります). + プロパーでないシステムでは,<literal>D</literal> + は多項式行列となります. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>ベクトル (初期状態量; デフォルト値は + <literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, D</term> + <listitem> + <para>多項式行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>有理関数または線形状態空間表現</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + tlist ("<literal>syslin</literal>" リスト) は + 線形システムを表します + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>syslin</literal> はリストとして線形システムを定義し, + データの整合性を確認します. + </para> + <para> + <literal>dom</literal> はシステムの時間領域を指定するもので, + 以下の値を指定することができます: + </para> + <para> + 連続時間システムの場合<literal>dom='c'</literal>, + 離散時間システムの場合 + <literal>dom='d'</literal> , + サンプル時間 <literal>n</literal> (単位:秒)のサンプル値システム + の場合 <literal>n</literal>. + </para> + <para> + 時間領域が未定義の場合 <literal>dom=[]</literal> + </para> + <para>状態空間表現:</para> + <programlisting role=""><![CDATA[ +sl=syslin(dom,A,B,C [,D [,x0] ]) + ]]></programlisting> + <para>は次のシステムを定義します :</para> + <informalequation> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../mml/syslin_equation_1.mml"/> + </imageobject> + </mediaobject> + </informalequation> + <para> + <literal>syslin</literal> の出力は以下の形式のリストとなります: + <literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal> + <literal>D</literal> は多項式行列(プロパーでないシステム)とすることが + できることに注意してください. + </para> + <para>伝達行列表現:</para> + <programlisting role=""><![CDATA[ +sl=syslin(dom,N,D) +sl=syslin(dom,H) + ]]></programlisting> + <para> + <literal>syslin</literal> の出力は以下の形式のリストとなります : + <literal>sl=rlist(N,D,dom)</literal> または + <literal>sl=rlist(H(2),H(3),dom)</literal>. + </para> + <para> + <literal>syslin</literal> で定義された線形システムは + 状態空間または伝達関数表現のどちらでも + 通常の行列と同様に操作(結合, 展開, 転置, 乗算,など)することができます. + </para> + <para>状態空間制御関数の多くは, + 4つの行列でシステムを定義する代わりに + <literal>syslin</literal>リストを入力とします. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=[0,1;0,0];B=[1;1];C=[1,1]; +S1=syslin('c',A,B,C) //線形システムを定義 +S1("A") //A行列を表示 +S1("X0"), S1("dt") // X0と時間領域を表示 +s=poly(0,'s'); +D=s; +S2=syslin('c',A,B,C,D) +H1=(1+2*s)/s^2, S1bis=syslin('c',H1) +H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2) +S1+S2 +[S1,S2] +ss2tf(S1)-S1bis +S1bis+S2bis +S1*S2bis +size(S1) + ]]></programlisting> + </refsection> + <refsection> + <title>参考</title> + <simplelist type="inline"> + <member> + <link linkend="tlist">tlist</link> + </member> + <member> + <link linkend="lsslist">lsslist</link> + </member> + <member> + <link linkend="rlist">rlist</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="dscr">dscr</link> + </member> + <member> + <link linkend="abcd">abcd</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/syssize.xml b/modules/cacsd/help/ja_JP/syssize.xml new file mode 100755 index 000000000..1dd44afa6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/syssize.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="syssize"> + <refnamediv> + <refname>syssize</refname> + <refpurpose>状態空間システムの大きさ</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[r,nx]=syssize(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 状態空間形式の線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>r</term> + <listitem> + <para>1 x 2 実数ベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>nx</term> + <listitem> + <para>integer</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 線形システム<literal>Sl</literal>の[出力の数, 入力の数]を + <literal>r</literal> ベクトルとして返します. + <literal>nx</literal> は<literal>Sl</literal>の状態量の数です. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/time_id.xml b/modules/cacsd/help/ja_JP/time_id.xml new file mode 100755 index 000000000..36f5ab383 --- /dev/null +++ b/modules/cacsd/help/ja_JP/time_id.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge STEER + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="time_id"> + <refnamediv> + <refname>time_id</refname> + <refpurpose>SISO 最小二乗同定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[H [,err]]=time_id(n,u,y)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>n</term> + <listitem> + <para>伝達関数の次元</para> + </listitem> + </varlistentry> + <varlistentry> + <term>u</term> + <listitem> + <para>以下のどれか</para> + <variablelist> + <varlistentry> + <term>u1</term> + <listitem> + <para>システムへの入力ベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"impuls" </term> + <listitem> + <para>y はインパルス応答</para> + </listitem> + </varlistentry> + <varlistentry> + <term>"step" </term> + <listitem> + <para>yはステップ応答.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + <varlistentry> + <term>y</term> + <listitem> + <para>応答ベクトル.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para> + y(1)==0 の場合は分母がn次,分子がn-1次の有理関数, + y(1)<>0 の場合, 分母と分子が n次の有理関数. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>err</term> + <listitem> + <para> + <literal>||y - impuls(H,npt)||^2</literal>, ただし, + <literal>impuls(H,npt)</literal> は + <literal>H</literal>のインパルス応答の最初の + <literal>npt</literal>個の係数です. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 離散時間応答の同定. + <literal>y</literal>が厳密にプロパーの場合(<literal>y(1)=0</literal>) , + <literal>time_id</literal>は線形方程式に関する以下の最小二乗解 + を計算します: <literal>coeff(Den,n):=1</literal> を拘束条件とする + <literal>Den*y-Num*u=0</literal>. + <literal>y(1)~=0</literal>の場合, + アルゴリズムはまず解のプロパーな部分を計算した後,y(1)を + 解に追加します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +z=poly(0,'z'); +h=(1-2*z)/(z^2-0.5*z+5) +rep=[0;ldiv(h('num'),h('den'),20)]; //インパルス応答 +H=time_id(2,'impuls',rep) +// flts および uを用いる同じ例 +u=zeros(1,20);u(1)=1; +rep=flts(u,tf2ss(h)); //インパルス応答 +H=time_id(2,u,rep) +// step response +u=ones(1,20); +rep=flts(u,tf2ss(h)); //ステップ応答. +H=time_id(2,'step',rep) +H=time_id(3,u,rep) // uを入力として指定, 高次過ぎる系を指定 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="imrep2ss">imrep2ss</link> + </member> + <member> + <link linkend="arl2">arl2</link> + </member> + <member> + <link linkend="armax">armax</link> + </member> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/trzeros.xml b/modules/cacsd/help/ja_JP/trzeros.xml new file mode 100755 index 000000000..1ae96f1e6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/trzeros.xml @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="trzeros"> + <refnamediv> + <refname>trzeros</refname> + <refpurpose>伝送ゼロおよび通常ランク</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[tr]=trzeros(Sl) + [nt,dt,rk]=trzeros(Sl) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 線形システム (<literal>syslin</literal> リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>nt</term> + <listitem> + <para>複素数ベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dt</term> + <listitem> + <para>実数ベクトル</para> + </listitem> + </varlistentry> + <varlistentry> + <term>rk</term> + <listitem> + <para>整数 (Slの通常ランク)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 出力引数の数を1としてコールされた場合,<literal>trzeros(Sl)</literal> は + 線形システム<literal>Sl</literal>の伝送ゼロを返します. + </para> + <para> + <literal>Sl</literal> は多項式(しかし正方の)行列<literal>D</literal> + を有することがあります. + </para> + <para> + 出力引数の数を2としてコールされた場合,<literal>trzeros</literal> は + <literal>tr=nt./dt</literal>の時の + 線形システム<literal>Sl</literal>の伝送ゼロを返します; + </para> + <para> + (<literal>dt</literal> のいくつかの要素がゼロとなる可能性があることに注意してください) + </para> + <para> + 出力引数の数を3としてコールされた場合, <literal>rk</literal> は + <literal>Sl</literal>の通常ランクとなります. + </para> + <para> + 伝達関数行列は状態空間表現に変換されます. + </para> + <para> + <literal>Sl</literal> が (正方) 多項式行列の場合, <literal>trzeros</literal> + はその行列式の根を返します. + </para> + <para> + 通常の状態空間システムの場合, <literal>trzeros</literal> は + Emami-Naeni および Van Doorenの状態空間アルゴリズムを使用します. + </para> + <para> + <literal>D</literal> が可逆の場合, + 伝送ゼロは逆システム<literal>A - B*inv(D)*C</literal>の + "<literal>A</literal> 行列"の固有値となります; + </para> + <para> + <literal>C*B</literal> が可逆の場合,伝送ゼロは + <literal>N*A*M</literal>の固有値となります. + ただし,<literal>M*N</literal> は + <literal>eye(A)-B*inv(C*B)*C</literal>のフルランク分解です; + </para> + <para> + 多項式行列<literal>D</literal>を有するシステムの場合, + ゼロはシステム行列の行列式の根として計算されます. + </para> + <para> + 注意: 計算されるゼロが常に信頼できるとは限りません. + 特にゼロが重根の場合は注意を要します. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +W1=ssrand(2,2,5);trzeros(W1) //call trzeros +roots(det(systmat(W1))) //roots of det(system matrix) +s=poly(0,'s');W=[1/(s+1);1/(s-2)];W2=(s-3)*W*W';[nt,dt,rk]=trzeros(W2); +St=systmat(tf2ss(W2));[Q,Z,Qd,Zd,numbeps,numbeta]=kroneck(St); +St1=Q*St*Z;rowf=(Qd(1)+Qd(2)+1):(Qd(1)+Qd(2)+Qd(3)); +colf=(Zd(1)+Zd(2)+1):(Zd(1)+Zd(2)+Zd(3)); +roots(St1(rowf,colf)), nt./dt //By Kronecker form + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="gspec">gspec</link> + </member> + <member> + <link linkend="kroneck">kroneck</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/ui_observer.xml b/modules/cacsd/help/ja_JP/ui_observer.xml new file mode 100755 index 000000000..dbf15b3d5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ui_observer.xml @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - F. Delebecque + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="ui_observer"> + <refnamediv> + <refname>ui_observer</refname> + <refpurpose>未知入力オブザーバ </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[UIobs,J,N]=ui_observer(Sys,reject,C1,D1) + [UIobs,J,N]=ui_observer(Sys,reject,C1,D1,flag,alfa,beta) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sys</term> + <listitem> + <para> + 行列 <literal>(A,B,C2,D2)</literal>を含む<literal>syslin</literal>リスト. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>reject</term> + <listitem> + <para>整数ベクトル, + <literal>Sys</literal> の未知入力の添え字. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>C1</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>D1</term> + <listitem> + <para> + 実数行列. <literal>C1</literal> および <literal>D1</literal> は同じ数の行を有します. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列 <literal>'ge'</literal> または <literal>'st'</literal> (default) または <literal>'pp'</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>alfa</term> + <listitem> + <para>実数または複素数のベクトル (閉ループ極の位置)</para> + </listitem> + </varlistentry> + <varlistentry> + <term>beta</term> + <listitem> + <para>r実数または複素数のベクトル (閉ループ極の位置)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + 未知入力オブザーバ. + </para> + <para> + <literal>Sys: (w,u) --> y</literal> は, + 2つの入力 w および u を有する + <literal>(A,B,C2,D2)</literal> syslin 線形システムです. + ただし, w は未知入力です. + Sys の行列 B および D2 は (暗黙のうちに) 次のように分割されます: + <literal>B=[B1,B2]</literal> および <literal>D2=[D21,D22]</literal> + ただし,<literal>B1=B(:,reject)</literal> および + <literal>D21=D2(:,reject)</literal> で, + reject = 未知入力の添え字. + 行列 <literal>C1</literal> および<literal>D1</literal> は, + 推定対象の出力 <literal>z = C1 x + D1 (w,u)</literal> + を定義します. + </para> + <para> + 行列 <literal>D1</literal> は (暗黙のうちに) + <literal>D11=D(:,reject)</literal> として + <literal>D1=[D11,D12]</literal> + のように分割されます + </para> + <para> + データ (Sys, reject,C1, D1) は次の2入力2出力システムを定義します: + </para> + <programlisting role=""><![CDATA[ +xdot = A x + B1 w + B2 u + z = C1 x + D11 w + D12 u + y = C2 x + D21 w + D22 u + ]]></programlisting> + <para> + オブザーバ <literal>(u,y) --> zhat</literal> は + 出力 z を推定します. + </para> + <para> + <literal>flag='ge'</literal> 安定性拘束なし + <literal>flag='st'</literal> 安定なオブザーバ (デフォルト) + <literal>flag='pp'</literal> 極配置を指定するオブザーバ + alfa,beta = 閉ループ極の指定位置 (デフォルト -1, -2) + J=出力yから状態xへの注入. + N=出力yから推定値出力zへの注入. + </para> + <para> + UIobs = 線形システム (u,y) --> zhat ただし: + 伝達関数: (w,u) --> + z は以下の複合伝達関数と等しくなります: + [0,I; UIobs + Sys] + (w,u) -----> (u,y) -----> zhat + すなわち, システム {A,B,C1,D1} の伝達関数は + <literal>UIobs*[0,I; Sys]</literal>と等価になります + </para> + <para> + 安定性 (または極配置) は(A,C2)の可検出性 + (または可観測性) を要求します . + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([3,-3,7,4,-4,8]); +B=[eye(3,3);zeros(3,3)]; +C=[0,0,1,2,3,4;0,0,0,0,0,1]; +D=[1,2,3;0,0,0]; +rand('seed',0);w=ss2ss(syslin('c',A,B,C,D),rand(6,6)); +[A,B,C,D]=abcd(w); +B=[B,matrix(1:18,6,3)];D=[D,matrix(-(1:6),2,3)]; +reject=1:3; +Sys=syslin('c',A,B,C,D); +N1=[-2,-3];C1=-N1*C;D1=-N1*D; +nw=length(reject);nu=size(Sys('B'),2)-nw; +ny=size(Sys('C'),1);nz=size(C1,1); +[UIobs,J,N]=ui_observer(Sys,reject,C1,D1); +W=[zeros(nu,nw),eye(nu,nu);Sys];UIobsW=UIobs*W; +//(w,u) --> z=UIobs*[0,I;Sys](w,u) +clean(ss2tf(UIobsW)); +wu_to_z=syslin('c',A,B,C1,D1);clean(ss2tf(wu_to_z)); +clean(ss2tf(wu_to_z)-ss2tf(UIobsW),1.d-7) +/////2nd example////// +nx=2;ny=3;nwu=2;Sys=ssrand(ny,nwu,nx); +C1=rand(1,nx);D1=[0,1]; +UIobs=ui_observer(Sys,1,C1,D1); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="cainv">cainv</link> + </member> + <member> + <link linkend="ddp">ddp</link> + </member> + <member> + <link linkend="abinv">abinv</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/unobs.xml b/modules/cacsd/help/ja_JP/unobs.xml new file mode 100755 index 000000000..785e45e90 --- /dev/null +++ b/modules/cacsd/help/ja_JP/unobs.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="unobs"> + <refnamediv> + <refname>unobs</refname> + <refpurpose>不可観測な部分空間</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[n,[U]]=unobs(A,C,[tol])</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>A, C</term> + <listitem> + <para>実数行列</para> + </listitem> + </varlistentry> + <varlistentry> + <term>tol</term> + <listitem> + <para>ランクを評価する際に使用される許容誤差 (QR 分解).</para> + </listitem> + </varlistentry> + <varlistentry> + <term>n</term> + <listitem> + <para>不可観測な部分空間の次元.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para> + <literal>(A,B)</literal>を正準形にする直交変換です. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>[n,[U]]=unobs(A,C,[tol])</literal> は, + 対<literal>(A,C)</literal>の不可観測形式を出力します. + <literal>U</literal>の最初の<literal>n</literal>列は, + 不可観測部分空間の基底となります. + </para> + <para> + <literal>U'*A*U</literal>の + <literal>(2,1)</literal> ブロック (最後 <literal>nx-n</literal> 行および最初の <literal>n</literal> 列から作成) はゼロであり, <literal>C*U</literal>の最初の + <literal>n</literal> はゼロとなります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=diag([1,2,3]);C=[1,0,0]; +unobs(A,C) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="contr">contr</link> + </member> + <member> + <link linkend="contrss">contrss</link> + </member> + <member> + <link linkend="canon">canon</link> + </member> + <member> + <link linkend="cont_mat">cont_mat</link> + </member> + <member> + <link linkend="spantwo">spantwo</link> + </member> + <member> + <link linkend="dt_ility">dt_ility</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ja_JP/zeropen.xml b/modules/cacsd/help/ja_JP/zeropen.xml new file mode 100755 index 000000000..54107b70a --- /dev/null +++ b/modules/cacsd/help/ja_JP/zeropen.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="zeropen"> + <refnamediv> + <refname>zeropen</refname> + <refpurpose>ゼロペンシル</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼出し手順</title> + <synopsis>[Z,U]=zeropen(Sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>パラメータ</title> + <variablelist> + <varlistentry> + <term>Sl</term> + <listitem> + <para> + 線形システム (状態空間形式<literal>[A,B,C,D]</literal>の<literal>syslin</literal>リスト) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Z</term> + <listitem> + <para> + 行列ペンシル <literal>Z=s*E-A</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>U</term> + <listitem> + <para>正方直交行列</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + <literal>Z= sE - F</literal> は,行列 + <literal>[A,B,C,D]</literal>からなる + 線形システム <literal>Sl</literal> のゼロペンシルです. + ユーティリティ関数. + </para> + <para> + <literal>U</literal>により, + <literal>[B;D]</literal>の行圧縮,すなわち, + <literal>U*[B;D]=[0;*]</literal>; が得られます: + </para> + <programlisting role=""><![CDATA[ +U*[-sI+A |B; [ Z |0; + C |D] = [ * |*] + ]]></programlisting> + <para> + <literal>Z</literal> のゼロは <literal>Sl</literal>のゼロです. + </para> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="systmat">systmat</link> + </member> + <member> + <link linkend="kroneck">kroneck</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/mml/ss2ss_equation1.mml b/modules/cacsd/help/mml/ss2ss_equation1.mml new file mode 100755 index 000000000..26401757d --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation1.mml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd"> +<math:math xmlns:math="http://www.w3.org/1998/Math/MathML"> + <math:semantics> + <math:mrow> + <math:mi math:fontstyle="italic">sl1</math:mi> + <math:mo math:stretchy="false">=</math:mo> + <math:mfenced math:open="[" math:close="]"> + <math:mtable> + <math:mtr> + <math:mtd> + <math:mrow> + <math:mrow> + <math:msup> + <math:mi>T</math:mi> + <math:mrow> + <math:mo math:stretchy="false">−</math:mo> + <math:mn>1</math:mn> + </math:mrow> + </math:msup> + <math:mo math:stretchy="false">∗</math:mo> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mrow> + <math:mi>A</math:mi> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>B</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>F</math:mi> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>T</math:mi> + </math:mrow> + </math:mtd> + <math:mtd> + <math:mrow> + <math:msup> + <math:mi>T</math:mi> + <math:mrow> + <math:mo math:stretchy="false">−</math:mo> + <math:mn>1</math:mn> + </math:mrow> + </math:msup> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>B</math:mi> + </math:mrow> + </math:mtd> + </math:mtr> + <math:mtr> + <math:mtd> + <math:mrow> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mrow> + <math:mi>C</math:mi> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>D</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>F</math:mi> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>T</math:mi> + </math:mrow> + </math:mtd> + <math:mtd> + <math:mi>D</math:mi> + </math:mtd> + </math:mtr> + </math:mtable> + </math:mfenced> + </math:mrow> + <math:annotation math:encoding="StarMath 5.0">sl1 = left [ matrix { +T^-1*(A+B*F)*T # T^-1*B ## +(C+D*F)*T # D +} right ]</math:annotation> + </math:semantics> +</math:math>
\ No newline at end of file diff --git a/modules/cacsd/help/mml/ss2ss_equation2.mml b/modules/cacsd/help/mml/ss2ss_equation2.mml new file mode 100755 index 000000000..34b5d4d4f --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation2.mml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd"> +<math:math xmlns:math="http://www.w3.org/1998/Math/MathML"> + <math:semantics> + <math:mrow> + <math:mi math:fontstyle="italic">sl1</math:mi> + <math:mo math:stretchy="false">=</math:mo> + <math:mfenced math:open="[" math:close="]"> + <math:mtable> + <math:mtr> + <math:mtd> + <math:mrow> + <math:mrow> + <math:msup> + <math:mi>T</math:mi> + <math:mrow> + <math:mo math:stretchy="false">−</math:mo> + <math:mn>1</math:mn> + </math:mrow> + </math:msup> + <math:mo math:stretchy="false">∗</math:mo> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mrow> + <math:mi>A</math:mi> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>G</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>C</math:mi> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>T</math:mi> + </math:mrow> + </math:mtd> + <math:mtd> + <math:mrow> + <math:msup> + <math:mi>T</math:mi> + <math:mrow> + <math:mo math:stretchy="false">−</math:mo> + <math:mn>1</math:mn> + </math:mrow> + </math:msup> + <math:mo math:stretchy="false">∗</math:mo> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mrow> + <math:mi>B</math:mi> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>G</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>D</math:mi> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + </math:mrow> + </math:mtd> + </math:mtr> + <math:mtr> + <math:mtd> + <math:mrow> + <math:mi>C</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>T</math:mi> + </math:mrow> + </math:mtd> + <math:mtd> + <math:mi>D</math:mi> + </math:mtd> + </math:mtr> + </math:mtable> + </math:mfenced> + </math:mrow> + <math:annotation math:encoding="StarMath 5.0">sl1 = left [ matrix { +T^-1*(A+G*C)*T # T^-1*(B+G*D) ## +C*T # D +} right ]</math:annotation> + </math:semantics> +</math:math>
\ No newline at end of file diff --git a/modules/cacsd/help/mml/ss2ss_equation3.mml b/modules/cacsd/help/mml/ss2ss_equation3.mml new file mode 100755 index 000000000..63e17489c --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation3.mml @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd"> +<math:math xmlns:math="http://www.w3.org/1998/Math/MathML"> + <math:semantics> + <math:mfenced math:open="[" math:close="]"> + <math:mtable> + <math:mtr> + <math:mtd> + <math:mrow> + <math:mrow> + <math:msup> + <math:mi>T</math:mi> + <math:mrow> + <math:mo math:stretchy="false">−</math:mo> + <math:mn>1</math:mn> + </math:mrow> + </math:msup> + <math:mo math:stretchy="false">∗</math:mo> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mrow> + <math:mi>A</math:mi> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>G</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>C</math:mi> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>T</math:mi> + </math:mrow> + </math:mtd> + <math:mtd> + <math:mrow> + <math:msup> + <math:mi>T</math:mi> + <math:mrow> + <math:mo math:stretchy="false">−</math:mo> + <math:mn>1</math:mn> + </math:mrow> + </math:msup> + <math:mo math:stretchy="false">∗</math:mo> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mrow> + <math:mrow> + <math:mi>B</math:mi> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>G</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>D</math:mi> + </math:mrow> + </math:mrow> + <math:mrow> + <math:mi>,</math:mi> + <math:mo math:stretchy="false">−</math:mo> + <math:mi>G</math:mi> + </math:mrow> + </math:mrow> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + </math:mrow> + </math:mtd> + </math:mtr> + <math:mtr> + <math:mtd> + <math:mrow> + <math:mi>C</math:mi> + <math:mo math:stretchy="false">∗</math:mo> + <math:mi>T</math:mi> + </math:mrow> + </math:mtd> + <math:mtd> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mrow> + <math:mi>D</math:mi> + <math:mn>,0</math:mn> + </math:mrow> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + </math:mtd> + </math:mtr> + </math:mtable> + </math:mfenced> + <math:annotation math:encoding="StarMath 5.0">left [ matrix { +T^-1*(A+G*C)*T # T^-1*(B+G*D,-G) ## +C*T # (D,0) +} right ]</math:annotation> + </math:semantics> +</math:math>
\ No newline at end of file diff --git a/modules/cacsd/help/mml/ss2ss_equation4.mml b/modules/cacsd/help/mml/ss2ss_equation4.mml new file mode 100755 index 000000000..4d6ea6a8a --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation4.mml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd"> +<math:math xmlns:math="http://www.w3.org/1998/Math/MathML"> + <math:semantics> + <math:mrow> + <math:mrow> + <math:mi>x</math:mi> + <math:mo math:stretchy="false">∈</math:mo> + <math:msup> + <math:mo math:stretchy="false">ℝ</math:mo> + <math:mi>n</math:mi> + </math:msup> + </math:mrow> + <math:mi>,</math:mi> + <math:mrow> + <math:mi>y</math:mi> + <math:mo math:stretchy="false">∈</math:mo> + <math:msup> + <math:mo math:stretchy="false">ℝ</math:mo> + <math:mi>p</math:mi> + </math:msup> + </math:mrow> + <math:mi>,</math:mi> + <math:mrow> + <math:mi>u</math:mi> + <math:mo math:stretchy="false">∈</math:mo> + <math:msup> + <math:mo math:stretchy="false">ℝ</math:mo> + <math:mi>m</math:mi> + </math:msup> + </math:mrow> + </math:mrow> + <math:annotation math:encoding="StarMath 5.0">x in setR^n, y in setR^p, u in setR^m</math:annotation> + </math:semantics> +</math:math>
\ No newline at end of file diff --git a/modules/cacsd/help/mml/syslin_equation_1.mml b/modules/cacsd/help/mml/syslin_equation_1.mml new file mode 100755 index 000000000..140e6ba84 --- /dev/null +++ b/modules/cacsd/help/mml/syslin_equation_1.mml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE math:math PUBLIC "-//OpenOffice.org//DTD Modified W3C MathML 1.01//EN" "math.dtd"> +<math:math xmlns:math="http://www.w3.org/1998/Math/MathML"> + <math:semantics> + <math:mtable> + <math:mtr> + <math:mrow> + <math:mrow> + <math:mi>s</math:mi> + <math:mo math:stretchy="false">⋅</math:mo> + <math:mi>x</math:mi> + </math:mrow> + <math:mo math:stretchy="false">=</math:mo> + <math:mrow> + <math:mrow> + <math:mi>A</math:mi> + <math:mo math:stretchy="false">⋅</math:mo> + <math:mi>x</math:mi> + </math:mrow> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>B</math:mi> + <math:mo math:stretchy="false">⋅</math:mo> + <math:mi>u</math:mi> + </math:mrow> + </math:mrow> + </math:mrow> + </math:mtr> + <math:mtr> + <math:mrow> + <math:mi>y</math:mi> + <math:mo math:stretchy="false">=</math:mo> + <math:mrow> + <math:mrow> + <math:mi>C</math:mi> + <math:mo math:stretchy="false">⋅</math:mo> + <math:mi>x</math:mi> + </math:mrow> + <math:mo math:stretchy="false">+</math:mo> + <math:mrow> + <math:mi>D</math:mi> + <math:mo math:stretchy="false">⋅</math:mo> + <math:mi>u</math:mi> + </math:mrow> + </math:mrow> + </math:mrow> + </math:mtr> + <math:mtr> + <math:mrow> + <math:mi>x</math:mi> + <math:mrow> + <math:mrow> + <math:mo math:stretchy="false">(</math:mo> + <math:mn>0</math:mn> + <math:mo math:stretchy="false">)</math:mo> + </math:mrow> + <math:mo math:stretchy="false">=</math:mo> + <math:mi math:fontstyle="italic">x0</math:mi> + </math:mrow> + </math:mrow> + </math:mtr> + </math:mtable> + <math:annotation math:encoding="StarMath 5.0">stack { +s cdot x = A cdot x + B cdot u # +y = C cdot x + D cdot u # +x(0) = x0 +}</math:annotation> + </math:semantics> +</math:math>
\ No newline at end of file diff --git a/modules/cacsd/help/pt_BR/addchapter.sce b/modules/cacsd/help/pt_BR/addchapter.sce new file mode 100755 index 000000000..0b9fd8278 --- /dev/null +++ b/modules/cacsd/help/pt_BR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD",SCI+"/modules/cacsd/help/pt_BR",%T); + diff --git a/modules/cacsd/help/pt_BR/formal_representation/lsslist.xml b/modules/cacsd/help/pt_BR/formal_representation/lsslist.xml new file mode 100755 index 000000000..784720f0e --- /dev/null +++ b/modules/cacsd/help/pt_BR/formal_representation/lsslist.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="lsslist" xml:lang="en"> + <refnamediv> + <refname>lsslist</refname> + <refpurpose>definio de funo linear de espao de estados do + Scilab + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>lsslist() + lsslist(A, B, C, X0, dt) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Descrio</title> + <para> + <literal>lsslist(A, B, C, X0, dt)</literal> um atalho para + <literal>tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt)</literal> + </para> + <para> + Cria um <literal>tlist</literal> com + <literal>["lss", "A", "B", "C", "D", "X0", "dt"]</literal> como primeiras entradas e + os A, B, C, X0, dt + como prximas entradas, se tiver algum. No + feita verificao de tipo ou tamanho nos <varname>A</varname>, <varname>B</varname>, <varname>C</varname>,<varname>X0</varname>,<varname>dt</varname>. + </para> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="abcd">abcd</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="tlist">tlist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/CHAPTER b/modules/cacsd/help/pt_BR/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/pt_BR/plot_display/black.xml b/modules/cacsd/help/pt_BR/plot_display/black.xml new file mode 100755 index 000000000..936292f5f --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/black.xml @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="black" xml:lang="en"> + <refnamediv> + <refname>black</refname> + <refpurpose>diagrama de Black (carta de Nichols)</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqüência de Chamamento</title> + <synopsis>black( sl,[fmin,fmax] [,step] [,comments] ) + black( sl,frq [,comments] ) + black(frq,db,phi [,comments]) + black(frq,repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parâmetros</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + lista ( sistema linear <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>reais (limites de freqüência) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>vetor linha ou matriz (freqüências) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>vetores linhas ou matrizes (módulo, fase) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>vetores linhas ou matrizes (resposta de freqüência complexa) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real</para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>string</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrição</title> + <para>Diagrama de Black (carta de Nichols) para um sistema linear + <literal>sl</literal>. <literal>sl</literal> pode ser um sistema SIMO de + tempo contínuo ou discreto (ver <literal>syslin</literal>). No caso de + múltiplas saídas, elas são esboçadas com símbolos diferentes. + </para> + <para>As freqüências são dadas pelos limites + <literal>fmin</literal>,<literal>fmax</literal> (em Hz) ou por um vetor + linha (ou uma matriz para múltiplas saídas) <literal>frq</literal>. + </para> + <para> + <literal>step</literal> é o passo de discretização ( logarítmica). + (ver <literal>calfrq</literal> para escolha do valor padrão). + </para> + <para> + <literal>comments</literal> é um vetor de strings (legendas). + </para> + <para> + <literal>db,phi</literal> são matrizes de módulos (em Db) e fases + (em graus). (Uma linha para cada resposta). + </para> + <para> + <literal>repf</literal> matriz de números complexos. Uma linha para + cada resposta. + </para> + <para>Para esboçar o grid de iso-ganho e iso-fase de + <literal>y/(1+y)</literal> use <link linkend="nicholschart">nicholschart()</link>. + </para> + <para> + Valores padrões para <literal>fmin</literal> e + <literal>fmax</literal> são <literal>1.d-3</literal>, + <literal>1.d+3</literal> se <literal>sl</literal> for de tempo contínuo ou + <literal>1.d-3</literal>, <literal>0.5</literal>/sl.dt (freqüência de + Nyquist) se <literal>sl</literal> for de tempo discreto. + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="exemple"><![CDATA[ + //Black diagram + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + clf();black(sl,0.01,10); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + black(sl,0.01,10); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //Black diagram with Nichols chart as a grid + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + </scilab:image> + </para> + </refsection> + <refsection> + <title>Ver Também</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/bode.xml b/modules/cacsd/help/pt_BR/plot_display/bode.xml new file mode 100755 index 000000000..b82de7c89 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/bode.xml @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="bode" xml:lang="en"> + <refnamediv> + <refname>bode</refname> + <refpurpose>diagrama de Bode</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqüência de Chamamento</title> + <synopsis>bode(sl,[fmin,fmax] [,step] [,comments] ) + bode(sl,frq [,comments] ) + bode(frq,db,phi [,comments]) + bode(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parâmetros</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> lista (sistema linear SISO ou + SIMO) em tempo contínuo ou discreto + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>real (limites de freqüência (em Hz)) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (passo logarítmico.) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>vetor de strings (legendas). </para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>vetor linha ou matriz (freqüências (em Hz) ) (uma linha para + cada subsistema SISO). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db</term> + <listitem> + <para>vetor linha ou matriz ( magnitudes (em Db)). (um para cada + subsistema SISO). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>phi</term> + <listitem> + <para>vetor linha ou matriz ( fases (em graus)) (um para cada + subsistema SISO ). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>vetor linha ou matriz de números complexos (freqüência de + resposta complexa). + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrição</title> + <para>Diagrama de bode , i.e magnitude e fase da freqüência de resposta de + <literal>sl</literal>. + </para> + <para> + <literal>sl</literal> pode ser um sistema SIMO de tempo contínuo ou + discreto (ver <literal>syslin</literal>). No caso de múltiplas saídas, + elas são esboçadas com símbolos diferentes. + </para> + <para> + As freqüências são dadas pelos limites <literal>fmin,fmax</literal> + (em Hz) ou por um vetor linha (ou uma matriz para múltiplas saídas) + <literal>frq</literal>. + </para> + <para> + <literal>step</literal> é o passo de discretização ( logarítmica). + (ver <literal>calfrq</literal> para escolha do valor padrão). + </para> + <para> + <literal>comments</literal> é um vetor de strings (legendas). + </para> + <para> + <literal>db,phi</literal> são matrizes de módulos (em Db) e fases + (em graus). (Uma linha para cada resposta). + </para> + <para> + <literal>repf</literal> matriz de números complexos. Uma linha para + cada resposta. + </para> + <para> + Valores padrões para <literal>fmin</literal> e + <literal>fmax</literal> são <literal>1.d-3</literal>, + <literal>1.d+3</literal> se <literal>sl</literal> for de tempo contínuo ou + <literal>1.d-3</literal>, <literal>0.5</literal>/sl.dt (freqüência de + Nyquist) se <literal>sl</literal> for de tempo discreto. Discretização + automática das freqüências é feita por <literal>calfrq</literal>. + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +clf();bode(h,0.01,100); + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + clf();bode(h,0.01,100); + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; +den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 +h2=syslin('c',num/den); + +clf();bode([h1;h2],0.01,100,['h1';'h2']) + ]]></programlisting> + <para> + <scilab:image localized="true"> + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 + h2=syslin('c',num/den); + + clf();bode([h1;h2],0.01,100,['h1';'h2']) + </scilab:image> + </para> + </refsection> + <refsection> + <title>Ver Também</title> + <simplelist type="inline"> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="gainplot">gainplot</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="p_margin">p_margin</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/evans.xml b/modules/cacsd/help/pt_BR/plot_display/evans.xml new file mode 100755 index 000000000..031e35ad3 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/evans.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="evans" xml:lang="en"> + <refnamediv> + <refname>evans</refname> + <refpurpose>lugar geomtrico das razes Evans</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>evans(H [,kmax])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>H</term> + <listitem> + <para> + lista (sistema linear <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>kmax</term> + <listitem> + <para>real (ganho mximo desejado para o esboo)</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para>Fornece o lugar geomtrico das razes Evans para um sistema linear + em estado-espao ou forma de transferncia H(s) (lista + <literal>syslin</literal>). Este o lugar geomtrico das razes de + <literal>1+k*H(s)=1+k*N(s)/D(s)</literal>, no plano dos complexos. Para + uma amostra seleta de ganhos <literal>k <= kmax</literal>, a parte + imaginria das razes de <literal>D(s)+k*N(s)</literal> esboada versus + a parte real. + </para> + <para>Para obter o ganho num dado ponto do lugar geomtrico, voc pode + simplesmente executar a seguinte instruo: + <literal>k=-1/real(horner(h,[1,%i]*locate(1)))</literal> e clicar no ponto + desejado sobre lugar geomtrico das razes. Se as coordenadas dos pontos + selecionados esto no vetor de reais 2 x 1 <literal>P=locate(1)</literal> + este <literal>k</literal> resolve a equao <literal>k*N(w) + D(w) + =0 + </literal> + com <literal>w=P(1)+%i*P(2)=[1,%i]*P</literal>. + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) // Gains that give pure imaginary closed loop poles + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + + [Kr,s]=krac2(H) + ]]></programlisting> + <para> + <scilab:image localized="true"> + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + + [Kr,s]=krac2(H) + </scilab:image> + </para> + </refsection> + <refsection> + <title>Ver Tambm </title> + <simplelist type="inline"> + <member> + <link linkend="kpure">kpure</link> + </member> + <member> + <link linkend="krac2">krac2</link> + </member> + <member> + <link linkend="locate">locate</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/gainplot.xml b/modules/cacsd/help/pt_BR/plot_display/gainplot.xml new file mode 100755 index 000000000..72c2b674d --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/gainplot.xml @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="gainplot" xml:lang="en"> + <refnamediv> + <refname>gainplot</refname> + <refpurpose>esboo de magnitude</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>gainplot(sl,fmin,fmax [,step] [,comments] ) + gainplot(frq,db,phi [,comments]) + gainplot(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + lista (sistema linear <literal>syslin</literal> SIMO). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>escalares reais (intervalo de freqncia). </para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (passo de discretizao (escala logartmica)) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>string</para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>matriz (freqncias linha por linha) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>matrizes (magnitudes e fases correspondentes a + <literal>frq</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>matriz de complexos. Uma linha para cada resposta de + freqncia. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para> o mesmo que Bode, mas esboa apenas a magnitude.</para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +gainplot(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') +clf() +h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) +gainplot([h1;h],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) +title('Gainplot') + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="g_margin">g_margin</link> + </member> + <member> + <link linkend="p_margin">p_margin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/m_circle.xml b/modules/cacsd/help/pt_BR/plot_display/m_circle.xml new file mode 100755 index 000000000..130b9dc82 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/m_circle.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA - Serge Steer + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="m_circle" xml:lang="en"> + <refnamediv> + <refname>m_circle</refname> + <refpurpose>esboa os contornos de iso-ganho y/(1+y) plano + complexo + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>m_circle() + m_circle(gain) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>gain</term> + <listitem> + <para>vetor de ganhos (em DB, decibel). O valor padro </para> + <variablelist> + <varlistentry> + <term>gain</term> + <listitem> + <para>=[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 + 2.3 3 4 5 6 8 12] + </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para> + <literal>m_circle</literal> desenha os contornos de iso-ganho + fornecidos pelo argumento <literal>gain</literal> no plano complexo + (Re,Im). + </para> + <para> + O valor padro para <literal>gain</literal> : + </para> + <para> + <literal>[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 + 3 4 5 6 8 12] + </literal> + </para> + <para> + <literal>m_circle</literal> utilizado com + <literal>nyquist</literal>. + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ + +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') +m_circle(); +]]></programlisting> + <scilab:image localized="true"> + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') + m_circle(); + </scilab:image> + + <programlisting role="example"><![CDATA[ +clf(); +s=poly(0,'s') +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) +h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) +nyquist([h1;h],0.01,100,['h1';'h']) +m_circle([-8 -6 -4]); +]]></programlisting> + <scilab:image localized="true"> + clf(); + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist([h1;h],0.01,100,['h1';'h']) + m_circle([-8 -6 -4]); + </scilab:image> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="nyquist">nyquist</link> + </member> + <member> + <link linkend="nicholschart">nicholschart</link> + </member> + <member> + <link linkend="black">black</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/nyquist.xml b/modules/cacsd/help/pt_BR/plot_display/nyquist.xml new file mode 100755 index 000000000..27d0561e2 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/nyquist.xml @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="nyquist" xml:lang="en"> + <refnamediv> + <refname>nyquist</refname> + <refpurpose>diagrama de Nyquist</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqüência de Chamamento</title> + <synopsis>nyquist( sl,[fmin,fmax] [,step] [,comments] ) + nyquist( sl, frq [,comments] ) + nyquist(frq,db,phi [,comments]) + nyquist(frq, repf [,comments]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parâmetros</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + <literal>syslin</literal> (sistema linear SIMO em tempo + contínuo ou discreto) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>fmin,fmax</term> + <listitem> + <para>reais (limites de freqüência (em Hz)) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>step</term> + <listitem> + <para>real (passo de discretização logarítmica) </para> + </listitem> + </varlistentry> + <varlistentry> + <term>comments</term> + <listitem> + <para>vetor de strings (legendas). </para> + </listitem> + </varlistentry> + <varlistentry> + <term>frq</term> + <listitem> + <para>vetor linha ou matriz (freqüências (em Hz) ) (um linha para + cada saída de <literal>sl</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>db,phi</term> + <listitem> + <para>vetores linhas ou matrizes de módulo (em Db) e fases. (uma + linha para cada saída de <literal>sl</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>repf</term> + <listitem> + <para>vetor linha ou matriz de números complexos (freqüência de + resposta complexa, uma para cada saída de + <literal>sl</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrição</title> + <para>Diagrama de Nyquist i.e parte imaginária versus parte real da + freqüência de resposta de <literal>sl</literal>. + </para> + <para> + Para sistmeas de tempo contínuo <literal>sl(2*%i*%pi*w)</literal> é + esboçado. Para sistemas de tempo discreto ou sistemas discretizados + <literal>sl(exp(2*%i*%pi*w*fd)</literal> é utilizado ( + <literal>fd=1</literal> para sistemas de tempo discreto e + <literal>fd=sl('dt')</literal> para sistemas discretizados) + </para> + <para> + <literal>sl</literal> para sistemas discretizados + <literal>syslin</literal>). No caso de múltiplas saídas, elas são + esboçadas com símbolos diferentes. + </para> + <para> + As freqüências são dadas pelos limites <literal>fmin,fmax</literal> + (em Hz) ou por um vetor linha (ou uma matriz para múltiplas saídas) + <literal>frq</literal>. + </para> + <para> + <literal>step</literal> é o passo de discretização ( logarítmica). + (ver <literal>calfrq</literal> para escolha do valor padrão). + </para> + <para> + <literal>comments</literal> é um vetor de strings (legendas). + </para> + <para> + <literal>db,phi</literal> são matrizes de módulos (em Db) e fases + (em graus). (Uma linha para cada resposta). + </para> + <para> + <literal>repf</literal> é uma matriz de números complexos. Uma linha + para cada resposta. + </para> + <para> + Valores padrões para <literal>fmin</literal> e + <literal>fmax</literal> são <literal>1.d-3</literal>, + <literal>1.d+3</literal> se <literal>sl</literal> for de tempo contínuo + <literal>1.d-3</literal>, <literal>0.5</literal>/sl.dt (freqüência de + Nyquist) se <literal>sl</literal> for de tempo discreto. + </para> + <para>Discretização automática das freqüências é feita por + <literal>calfrq</literal>. + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +clf(); +s=poly(0,'s'); +h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); +comm='(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)'; +nyquist(h,0.01,100,comm); +h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) +clf(); +nyquist([h1;h],0.01,100,['h1';'h']) +clf();nyquist([h1;h]) + ]]></programlisting> + </refsection> + <refsection> + <title>Ver Também</title> + <simplelist type="inline"> + <member> + <link linkend="bode">bode</link> + </member> + <member> + <link linkend="black">black</link> + </member> + <member> + <link linkend="calfrq">calfrq</link> + </member> + <member> + <link linkend="freq">freq</link> + </member> + <member> + <link linkend="repfreq">repfreq</link> + </member> + <member> + <link linkend="phasemag">phasemag</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/sgrid.xml b/modules/cacsd/help/pt_BR/plot_display/sgrid.xml new file mode 100755 index 000000000..08acee133 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/sgrid.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="sgrid" xml:lang="en"> + <refnamediv> + <refname>sgrid</refname> + <refpurpose>esboa linhas de grid de um s-plano </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>sgrid() + sgrid('new') + sgrid(zeta,wn [,color]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Descrio</title> + <para>Usado em conjunto com evans, esboa linhas de taxa de amortecimento + constante (<literal>zeta</literal>) e freqncia natural + (<literal>wn</literal>). + </para> + <variablelist> + <varlistentry> + <term>sgrid()</term> + <listitem> + <para>adiciona um grid sobre uma raiz do s-plano contnuo existente + com valores padres para <literal>zeta</literal> e + <literal>wn</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sgrid('new')</term> + <listitem> + <para>limpa a tela de grficos e ento esboa um grid de s-plano + padro + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sgrid(zeta,wn [,color])</term> + <listitem> + <para> + o mesmo que <literal>sgrid()</literal> mas utiliza a taxa de + amortecimento e a freqncia natural fornecidas. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); +evans(H,100) +sgrid() +sgrid(0.6,2,7) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="evans">evans</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plot_display/zgrid.xml b/modules/cacsd/help/pt_BR/plot_display/zgrid.xml new file mode 100755 index 000000000..f45ce95aa --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/zgrid.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="zgrid" xml:lang="en"> + <refnamediv> + <refname>zgrid</refname> + <refpurpose>esboode um z-grid</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>zgrid()</synopsis> + </refsynopsisdiv> + <refsection> + <title>Descrio</title> + <para>Esboa as linhas de grid de um Z-plano: linhas de fator constante de + amortecimento (zeta) e freqncia natural (Wn) so esboadas dentro do + crculo unitrio do Z-plano. + </para> + <para>Curvas de iso-freqncia so exibidas em freqncia*passo no + intervalo [0,0.5]. O limite superior corresponde freqncia de Shannon + <literal>( 1/dt > 2*f )</literal>. + </para> + </refsection> + <refsection> + <title>Examplos</title> + <programlisting role="example"><![CDATA[ + //zgrid + clf();zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + ]]></programlisting> + <para> + <scilab:image> + zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + </scilab:image> + </para> + <programlisting role="example"><![CDATA[ + //zgrid with discrete time system root locus + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + + ]]></programlisting> + <para> + <scilab:image localized="true"> + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + </scilab:image> + </para> + + </refsection> + + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="frep2tf">frep2tf</link> + </member> + <member> + <link linkend="freson">freson</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/plzr.xml b/modules/cacsd/help/pt_BR/plzr.xml new file mode 100755 index 000000000..875b8a64f --- /dev/null +++ b/modules/cacsd/help/pt_BR/plzr.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="plzr" xml:lang="en"> + <refnamediv> + <refname>plzr</refname> + <refpurpose>Esboo de plo-zero</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>plzr(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + lista ( <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para>Produz um esboo de plo-zero do sistema linear + <literal>sl</literal> (lista <literal>syslin</literal>) + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +n=[1+s 2+3*s+4*s^2 5; 0 1-s s]; +d=[1+3*s 5-s^3 s+1;1+s 1+s+s^2 3*s-1]; +h=syslin('c',n./d); +plzr(h); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="trzeros">trzeros</link> + </member> + <member> + <link linkend="roots">roots</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/pol2des.xml b/modules/cacsd/help/pt_BR/pol2des.xml new file mode 100755 index 000000000..1270a87f0 --- /dev/null +++ b/modules/cacsd/help/pt_BR/pol2des.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Francois DELBECQUE + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="pol2des" xml:lang="en"> + <refnamediv> + <refname>pol2des</refname> + <refpurpose>converso de matrizes de polinmios para formas + descritoras + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title> Seqncia de Chamamento </title> + <synopsis>[N,B,C]=pol2des(Ds)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>Ds</term> + <listitem> + <para>matriz de polinmios</para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, B, C</term> + <listitem> + <para>trs matrizes de reais</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para> + Dada a matriz de polinmios <literal>Ds=D_0 +D_1 s +D_2 s^2 +... + +D_k s^k + </literal> + ,<literal>pol2des</literal> retorna trs matrizes + <literal>N, B, C</literal>, com sendo <literal>N</literal> nilpotente tais + que: + </para> + <para> + <literal>Ds = C (s*N-eye())^-1 B</literal> + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +G=[1,s;1+s^2,3*s^3];[N,B,C]=pol2des(G); +G1=clean(C*inv(s*N-eye())*B),G2=numer(G1) + ]]></programlisting> + </refsection> + <refsection> + <title> Ver Tambm </title> + <simplelist type="inline"> + <member> + <link linkend="ss2des">ss2des</link> + </member> + <member> + <link linkend="tf2des">tf2des</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/routh_t.xml b/modules/cacsd/help/pt_BR/routh_t.xml new file mode 100755 index 000000000..514bc1e63 --- /dev/null +++ b/modules/cacsd/help/pt_BR/routh_t.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<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="routh_t" xml:lang="en"> + <refnamediv> + <refname>routh_t</refname> + <refpurpose>tabela de Routh</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>r=routh_t(h [,k]).</synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>h</term> + <listitem> + <para>matriz quadrada de razes de polinmios</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para> + <literal>r=routh_t(h,k)</literal> computa a tabela de Routh do + denominador do sistema descrito pela matriz de transferncia SISO + <literal>h</literal> com a resposta pelo ganho + <literal>k</literal>. + </para> + <para> + se <literal>k=poly(0,'k')</literal> teremos uma matriz de polinmios + com varivel livre <literal>k</literal>, expresso formal da tabela de + Routh. + </para> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/ssprint.xml b/modules/cacsd/help/pt_BR/ssprint.xml new file mode 100755 index 000000000..52825a601 --- /dev/null +++ b/modules/cacsd/help/pt_BR/ssprint.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="ssprint" xml:lang="en"> + <refnamediv> + <refname>ssprint</refname> + <refpurpose>embelezador de sistemas lineares</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>ssprint(sl) + ssprint(sl, out] + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + lista (lista <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>out</term> + <listitem> + <para> + sada (valor padro <literal>out=%io(2)</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para>Representao embelezada de uma sistema linear em lista syslin de + forma de espao de estados <literal>sl=(A,B,C,D)</literal>. + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[a = [1 1;0 1]; +b = [0 1;1 0]; +c = [1, 1]; +d = [3, 2]; +modelC = syslin('c', a, b, c, d) +modelD = syslin('d', a, b, c, d) +ssprint(modelC) +ssprint(modelD)]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="math_rendering_features_in_graphic">math_rendering_features_in_graphic</link> + </member> + <member> + <link linkend="prettyprint">prettyprint</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/pt_BR/syslin.xml b/modules/cacsd/help/pt_BR/syslin.xml new file mode 100755 index 000000000..76c9e35e3 --- /dev/null +++ b/modules/cacsd/help/pt_BR/syslin.xml @@ -0,0 +1,185 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="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="syslin" xml:lang="en"> + <refnamediv> + <refname>syslin</refname> + <refpurpose>definio de sistemas lineares</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Seqncia de Chamamento</title> + <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Parmetros</title> + <variablelist> + <varlistentry> + <term>dom</term> + <listitem> + <para> + string (<literal>'c'</literal>, <literal>'d'</literal>), ou + <literal>[]</literal> ou um escalar. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para>matrizes em representao de espao de estados + (<literal>D</literal> opcional com valor padro matriz nula). para + sistemas imprprios, <literal>D</literal> uma matriz de + polinmios. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para>vetor (estado inicial; valor padro + <literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, D</term> + <listitem> + <para>matrizes de polinmios</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>matriz de razes de polinmios ou representao de espao de + estados linear + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + tlist (lista "<literal>syslin</literal>") representando o + sistema linear + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Descrio</title> + <para> + <literal>syslin</literal> define um sistema linear como uma lista e + verifica a consistncia dos dados. + </para> + <para> + <literal>dom</literal> especifica o domnio de tempo do sistema e + pode ter um dos seguintes valores: + </para> + <para> + <literal>dom='c'</literal> para um sistema de tempo contnuo, + <literal>dom='d'</literal> para um sistema de tempo discreto, + <literal>n</literal> para um sistema amostrado com perodo de amostragem + <literal>n</literal> (em segundos). + </para> + <para> + <literal>dom=[]</literal> se o domnio de tempo indefinido. + </para> + <para>Representao em espao de estados:</para> + <programlisting><![CDATA[ +sl=syslin(dom,A,B,C [,D [,x0] ]) + ]]></programlisting> + <para>Representa o sistema :</para> + <programlisting><![CDATA[ + s x = A*x + B*u + y = C*x + D*u + x(0) = x0 + ]]></programlisting> + <para> + A sada de <literal>syslin</literal> uma lista da seguinte forma: + <literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal> + . Note que <literal>D</literal> pode ser uma matriz de polinmios + (sistemas imprprios). + </para> + <para>Representao de matriz de transferncia:</para> + <programlisting><![CDATA[ +sl=syslin(dom,N,D) +sl=syslin(dom,H) + ]]></programlisting> + <para> + A sada de <literal>syslin</literal> uma lista da seguinte forma: + <literal>sl=rlist(N,D,dom)</literal> ou + <literal>sl=rlist(H(2),H(3),dom)</literal>. + </para> + <para> + Sistemas lineares definidos como <literal>syslin</literal> podem ser + manipulados como matrizes usuais (concatenao, extrao, transposio, + multiplicao, etc.) ambos em estado-espao ou representao de + transferncia. + </para> + <para>A maior parte das funes de controle de estado-espao recebem uma + lista <literal>syslin</literal> como entrada, ao invs de quatro matrizes + definindo o sistema. + </para> + </refsection> + <refsection> + <title>Exemplos</title> + <programlisting role="example"><![CDATA[ +A=[0,1;0,0];B=[1;1];C=[1,1]; +S1=syslin('c',A,B,C) //Definio de sistema linear +S1("A") //Exibio da matriz A +S1("X0"), S1("dt") // Exibio de X0 e domnio de tempo +s=poly(0,'s'); +D=s; +S2=syslin('c',A,B,C,D) +H1=(1+2*s)/s^2, S1bis=syslin('c',H1) +H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2) +S1+S2 +[S1,S2] +ss2tf(S1)-S1bis +S1bis+S2bis +S1*S2bis +size(S1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Ver Tambm</title> + <simplelist type="inline"> + <member> + <link linkend="tlist">tlist</link> + </member> + <member> + <link linkend="lsslist">lsslist</link> + </member> + <member> + <link linkend="rlist">rlist</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="dscr">dscr</link> + </member> + <member> + <link linkend="abcd">abcd</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ru_RU/addchapter.sce b/modules/cacsd/help/ru_RU/addchapter.sce new file mode 100755 index 000000000..8e4127bd3 --- /dev/null +++ b/modules/cacsd/help/ru_RU/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD",SCI+"/modules/cacsd/help/ru_RU",%T); + diff --git a/modules/cacsd/help/ru_RU/formal_representation/lsslist.xml b/modules/cacsd/help/ru_RU/formal_representation/lsslist.xml new file mode 100755 index 000000000..dc60407d3 --- /dev/null +++ b/modules/cacsd/help/ru_RU/formal_representation/lsslist.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="lsslist"> + <refnamediv> + <refname>lsslist</refname> + <refpurpose> + функция определения линейного пространства состояний + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>lsslist() + lsslist(A, B, C, X0, dt) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Описание</title> + <para> + <literal>lsslist(A, B, C, X0, dt)</literal> является сокращением для + <literal>tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt)</literal>. + </para> + <para> + Создаёт <literal>tlist</literal> с <literal>["lss", "A", "B", "C", "D", "X0", "dt"]</literal> на месте первого элемента и + <varname>A</varname>, <varname>B</varname>, <varname>C</varname>,<varname>X0</varname>,<varname>dt</varname> -тыми на месте последующих элементов, если они есть. Ни проверки типа, ни проверки размера <varname>ai</varname>-тых не делается. + </para> + </refsection> + <refsection role="see also"> + <title>Смотрите также</title> + <simplelist type="inline"> + <member> + <link linkend="abcd">abcd</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + <member> + <link linkend="tlist">tlist</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ru_RU/plzr.xml b/modules/cacsd/help/ru_RU/plzr.xml new file mode 100755 index 000000000..dfba27b7c --- /dev/null +++ b/modules/cacsd/help/ru_RU/plzr.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="plzr"> + <refnamediv> + <refname>plzr</refname> + <refpurpose>график нулей и полюсов</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>plzr(sl)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Аргументы</title> + <variablelist> + <varlistentry> + <term>sl</term> + <listitem> + <para> + list ( <literal>syslin</literal>) + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Описание</title> + <para> + <code>plzr(sl)</code> формирует схему размещения нулей и полюсов линейной системы <varname>sl</varname> (список <literal>syslin</literal>). + </para> + </refsection> + <!-- + <scilab:image localized="true"> + s=poly(0,'s'); + n=[1+s 2+3*s+4*s^2 5; 0 1-s s]; + d=[1+3*s 5-s^3 s+1;1+s 1+s+s^2 3*s-1]; + h=syslin('c',n./d); + plzr(h); + </scilab:image> +--> + <refsection> + <title>Примеры</title> + <programlisting role="example"><![CDATA[ +s=poly(0,'s'); +n=[1+s 2+3*s+4*s^2 5; 0 1-s s]; +d=[1+3*s 5-s^3 s+1;1+s 1+s+s^2 3*s-1]; +h=syslin('c',n./d); +plzr(h); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Смотрите также</title> + <simplelist type="inline"> + <member> + <link linkend="trzeros">trzeros</link> + </member> + <member> + <link linkend="roots">roots</link> + </member> + <member> + <link linkend="syslin">syslin</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/cacsd/help/ru_RU/syslin.xml b/modules/cacsd/help/ru_RU/syslin.xml new file mode 100755 index 000000000..f2afd2dd6 --- /dev/null +++ b/modules/cacsd/help/ru_RU/syslin.xml @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="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="syslin" xml:lang="ru"> + <refnamediv> + <refname>syslin</refname> + <refpurpose>определение линейной системы</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Аргументы</title> + <variablelist> + <varlistentry> + <term>dom</term> + <listitem> + <para> + символьная строка (<literal>'c'</literal>, <literal>'d'</literal>) или <literal>[]</literal> для скаляра. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>A,B,C,D</term> + <listitem> + <para> + матрицы в виде пространства состояний (<literal>D</literal> не обязательная матрица, по умолчанию - нулевая). Для сингулярных систем <literal>D</literal> является + матрицей многочленов. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>x0</term> + <listitem> + <para> + вектор (исходное состояние; значение по умолчанию <literal>0</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>N, D</term> + <listitem> + <para>матрицы многочленов</para> + </listitem> + </varlistentry> + <varlistentry> + <term>H</term> + <listitem> + <para>матрица рациональных дробей или в виде линейного пространства состояний</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sl</term> + <listitem> + <para> + типизированный список (tlist) ("<literal>syslin</literal>" список), представляющий линейную систему + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Описание</title> + <para> + <literal>syslin</literal> определяет линейную систему в виде списка и проверяет правильность данных. + </para> + <para> + <literal>dom</literal> определяет временную область системы и может иметь следующие значения: + </para> + <para> + <literal>dom='c'</literal> для систем с непрерывным временем, + <literal>dom='d'</literal> для систем с дискретным временем, + <literal>n</literal> для дискретных систем с периодом дискретизации <literal>n</literal> + (в секундах). + </para> + <para> + <literal>dom=[]</literal>, если временная область не определена. + </para> + <para>Представление в виде пространства состояний:</para> + <programlisting><![CDATA[ +sl=syslin(dom,A,B,C [,D [,x0] ]) + ]]></programlisting> + <para>представляет систему :</para> + <informalequation> + <mediaobject> + <imageobject> + <imagedata align="center" fileref="../mml/syslin_equation_1.mml"/> + </imageobject> + </mediaobject> + </informalequation> + <para> + Выход <literal>syslin</literal> является списком следующей формы: + <literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal> + Заметим, что <literal>D</literal> может быть матрицей многочленов (сингулярные системы). + </para> + <para>Представление в виде передаточной матрицы:</para> + <programlisting><![CDATA[ +sl=syslin(dom,N,D) +sl=syslin(dom,H) + ]]></programlisting> + <para> + Выход <literal>syslin</literal> является списком следующей формы: <literal>sl=rlist(,N,D,dom)</literal> или + <literal>sl=rlist(H(2),H(3),dom)</literal>. + </para> + <para> + Линейные системы, определённые как <literal>syslin</literal>, могут управляться как обычные матрицы (конкатенация, извлечение, перестановка, умножение и т. д.) как в виде пространства состояний, так и в передаточном виде. + </para> + <para> + Большинство функций управления в пространстве состояний получают на входе список <literal>syslin</literal> вместо четырёх матриц, определяющих систему. + </para> + </refsection> + <refsection> + <title>Примеры</title> + <programlisting role="example"><![CDATA[ +A=[0,1;0,0];B=[1;1];C=[1,1]; +S1=syslin('c',A,B,C) //Определение линейной системы +S1("A") //распечатка матрицы A +S1("X0"), S1("dt") // распечатка X0 и временной области +s=poly(0,'s'); +D=s; +S2=syslin('c',A,B,C,D) +H1=(1+2*s)/s^2, S1bis=syslin('c',H1) +H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2) +S1+S2 +[S1,S2] +ss2tf(S1)-S1bis +S1bis+S2bis +S1*S2bis +size(S1) + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Смотрите также</title> + <simplelist type="inline"> + <member> + <link linkend="tlist">tlist</link> + </member> + <member> + <link linkend="lsslist">lsslist</link> + </member> + <member> + <link linkend="rlist">rlist</link> + </member> + <member> + <link linkend="ssrand">ssrand</link> + </member> + <member> + <link linkend="ss2tf">ss2tf</link> + </member> + <member> + <link linkend="tf2ss">tf2ss</link> + </member> + <member> + <link linkend="dscr">dscr</link> + </member> + <member> + <link linkend="abcd">abcd</link> + </member> + </simplelist> + </refsection> +</refentry> |