'if l*c <>1 then f=p1*invr(p2),return,end;';
'[l,c]=size(p1);';
'[p1 p2]=simp(p1,p2*ones(l,c));';
- 'f=tlist([''r'',''num'',''den'',''dt''],p1,p2,[]);'],'n')
+ 'f=rlist(p1,p2,[]);'],'n')
horn=horner;
h=1/s;
-if cplist(h,tlist(['r','num','den','dt'],1,s,[]))==0 then bugmes();quit;end
+if cplist(h,rlist(1,s,[]))==0 then bugmes();quit;end
h1=(z-1)/(z+1);
hrn=horner(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then bugmes();quit;end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then bugmes();quit;end
//
hrn=horner(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then bugmes();quit;end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then bugmes();quit;end
//
h=1/s;
-if cplist(h,tlist(['r','num','den','dt'],1,s,[]))==0 then bugmes();quit;end
+if cplist(h,rlist(1,s,[]))==0 then bugmes();quit;end
h1=(z-1)/(z+1);
hrn=horn(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then bugmes();quit;end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then bugmes();quit;end
//
hrn=horn(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then bugmes();quit;end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then bugmes();quit;end
//
//
//
'if l*c <>1 then f=p1*invr(p2),return,end;';
'[l,c]=size(p1);';
'[p1 p2]=simp(p1,p2*ones(l,c));';
- 'f=tlist([''r'',''num'',''den'',''dt''],p1,p2,[]);'],'n')
+ 'f=rlist(p1,p2,[]);'],'n')
horn=horner;
h=1/s;
-if cplist(h,tlist(['r','num','den','dt'],1,s,[]))==0 then pause,end
+if cplist(h,rlist(1,s,[]))==0 then pause,end
h1=(z-1)/(z+1);
hrn=horner(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then pause,end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then pause,end
//
hrn=horner(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then pause,end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then pause,end
//
h=1/s;
-if cplist(h,tlist(['r','num','den','dt'],1,s,[]))==0 then pause,end
+if cplist(h,rlist(1,s,[]))==0 then pause,end
h1=(z-1)/(z+1);
hrn=horn(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then pause,end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then pause,end
//
hrn=horn(h,h1);
-if cplist(hrn , tlist(['r','num','den','dt'],z+1,z-1,[]))==0 then pause,end
+if cplist(hrn , rlist(z+1,z-1,[]))==0 then pause,end
//
//
//
</para>
<para>
A rational matrix <literal>H</literal> is represented by the <literal>typed-list</literal>
- <literal>H=tlist(['r';'num';'den';'dt'],Num,Den,[])</literal> where <literal>Num</literal> and <literal>Den</literal> are two
+ <literal>H=rlist(Num,Den,[])</literal> where <literal>Num</literal> and <literal>Den</literal> are two
polynomial matrices and a (e.g. continuous time) linear system with
transfer matrix <literal>H</literal> maybe created by <literal>syslin('c',H)</literal>.
</para>
</para>
<para>
Une matrice rationnelle <literal>H</literal> est représentée par la tlist
- <literal>H=tlist(['r';'num';'den';'dt'],Num,Den,[])</literal> où <literal>Num</literal> et <literal>Den</literal> sont deux
+ <literal>H=rlist(Num,Den,[])</literal> où <literal>Num</literal> et <literal>Den</literal> sont deux
matrices polynomiales et un système dynamique linéaire (en temps continu) peut être créé sous la forme d'une
matrice de transfert <literal>H</literal> par <literal>syslin('c',H)</literal>.
</para>
</para>
<para>
有理行列 <literal>H</literal> は<literal>型付リスト</literal>
- <literal>H=tlist(['r';'num';'den';'dt'],Num,Den,[])</literal>
+ <literal>H=rlist(Num,Den,[])</literal>
により表されます.
ただし,<literal>Num</literal> および <literal>Den</literal>
は多項式行列です.
<para>
Uma matriz de razões de polinômios <literal>H</literal> é
representada por um <literal>typed-list</literal>
- <literal>H=tlist(['r';'num';'den';'dt'],Num,Den,[])</literal> onde
+ <literal>H=rlist(Num,Den,[])</literal> onde
<literal>Num</literal> e <literal>Den</literal> são duas matrizes de
polinômios e um sistema linear (ex.: de tempo contínuo) com matriz de
transferência <literal>H</literal> possivelmente criada por
sl=syslin(dom,H)
]]></programlisting>
<para>The output of <literal>syslin</literal> is a list of the following
- form : <literal>sl=tlist(['r','num','den','dt'],N,D,dom)</literal> or
- <literal>sl=tlist(['r','num','den','dt'],H(2),H(3),dom)</literal>.</para>
+ 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
]]></programlisting>
<para>
La sortie de <literal>syslin</literal> est une liste de la forme :
- <literal>sl=tlist(['r','num','den','dt'],N,D,dom)</literal> ou
- <literal>sl=tlist(['r','num','den','dt'],H(2),H(3),dom)</literal>.
+ <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
]]></programlisting>
<para>
<literal>syslin</literal> の出力は以下の形式のリストとなります :
- <literal>sl=tlist(['r','num','den','dt'],N,D,dom)</literal> または
- <literal>sl=tlist(['r','num','den','dt'],H(2),H(3),dom)</literal>.
+ <literal>sl=rlist(N,D,dom)</literal> または
+ <literal>sl=rlist(H(2),H(3),dom)</literal>.
</para>
<para>
<literal>syslin</literal> で定義された線形システムは
sl=syslin(dom,H)
]]></programlisting>
<para>A saída de <literal>syslin</literal> é uma lista da seguinte forma:
- <literal>sl=tlist(['r','num','den','dt'],N,D,dom)</literal> ou
- <literal>sl=tlist(['r','num','den','dt'],H(2),H(3),dom)</literal>.</para>
+ <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 (concatenação, extração, transposição,
multiplicação, etc.) ambos em estado-espaço ou representação de
sl=syslin(dom,H)
]]></programlisting>
<para>
- Выход <literal>syslin</literal> является списком следующей формы: <literal>sl=tlist(['r','num','den','dt'],N,D,dom)</literal> или
- <literal>sl=tlist(['r','num','den','dt'],H(2),H(3),dom)</literal>.
+ Выход <literal>syslin</literal> является списком следующей формы: <literal>sl=rlist(,N,D,dom)</literal> или
+ <literal>sl=rlist(H(2),H(3),dom)</literal>.
</para>
<para>
Линейные системы, определённые как <literal>syslin</literal>, могут управляться как обычные матрицы (конкатенация, извлечение, перестановка, умножение и т. д.) как в виде пространства состояний, так и в передаточном виде.
p2=p2*ones(p1)
end
[p1,p2]=simp(p1,p2);
-f=tlist(['r','num','den','dt'],p1,p2,[])
+f=rlist(p1,p2,[])
endfunction
if or(abs(coeff(p(:)))*ones(max(degree(p))+1,1)==0) then
error(27)
end
- f=tlist(['r','num','den','dt'],ones(p),p.^(-s),[])
+ f=rlist(ones(p),p.^(-s),[])
else // this case is in fact hard coded
f=p.^s
end
p=1/p
num(kn)=p(2).^(-s(kn))
den(kn)=p(3).^(-s(kn))
- f=tlist(['r','num','den','dt'],num,den,[])
+ f=rlist(num,den,[])
elseif ms==m&ns==n then // Element wise exponentiation
p=p(:);s=s(:);
kp=find(s>=0)
end
num(kn)=ones(p(kn))
den(kn)=p(kn).^(-s(kn))
- f=tlist(['r','num','den','dt'],matrix(num,n,m),matrix(den,n,m),[])
+ f = rlist(matrix(num,n,m),matrix(den,n,m),[])
else
error(30)
end
if l*c <>1 then f=invr(p2)*p1,return,end
[l,c]=size(p1)
[p1,p2]=simp(p1,p2*ones(l,c))
-f=tlist(['r','num','den','dt'],p1,p2,[])
+f = rlist(p1,p2,[])
endfunction
[l,c]=size(m)
if m<>[] then m=m+poly(0,varn(p),'c'),end
if mp==-1&l*c==1|l==-1 then
- f=tlist(['r','num','den','dt'],m,p*eye(),[])
+ f = rlist(m,p*eye(),[])
else
- f=tlist(['r','num','den','dt'],m,p*ones(l,c),[])
+ f = rlist(m,p*ones(l,c),[])
end
end
endfunction
if or(abs(coeff(p(:)))*ones(max(degree(p))+1,1)==0) then
error(27)
end
- f=tlist(['r','num','den','dt'],ones(p),p.^(-s),[])
+ f = rlist(ones(p),p.^(-s),[])
else // this case is in fact hard coded
f=p.^s
end
error(27)
end
den(kn)=p.^(-s(kn))
- f=tlist(['r','num','den','dt'],num,den,[])
+ f = rlist(num,den,[])
else
error(43)
end
p2=p2*ones(p1)
end
[p1,p2]=simp(p1,p2)
-f=tlist(['r','num','den','dt'],p2,p1,[])
+f = rlist(p2,p1,[])
endfunction
elseif size(p2,'*')==1 then
p2=p2*ones(p1)
end
-f=tlist(['r','num','den','dt'],p2,p1,[])
+f = rlist(p2,p1,[])
endfunction
if l*c <>1 then f=p1*invr(p2),return,end
[l,c]=size(p1)
[p1 p2]=simp(p1,p2*ones(l,c))
-f=tlist(['r','num','den','dt'],p1,p2,[])
+f=rlist(p1,p2,[])
endfunction
e.g. <literal>[r11,r12;r21,r22]</literal> is a 2x2 matrix where <literal>rij</literal> are
1x1 rationals.
A rational matrix can also be defined as above as a list
- <literal>tlist(['r','num','den','dt'],num,den,[])</literal> with <literal>num</literal> and <literal>den</literal> polynomial matrices.
+ <literal>rlist(num,den,[])</literal> with <literal>num</literal> and <literal>den</literal> polynomial matrices.
</para>
</refsection>
<refsection>
W=[1/s,1/(s+1)]
W'*W
Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
-tlist(['r','num','den','dt'],Num,Den,[])
+rlist(Num,Den,[])
H=Num./Den
syslin('c',Num,Den)
syslin('c',H)
<para>
Une fraction rationnelle <literal>r</literal> est le quotient de deux polynômes <literal>r=num/den</literal>.
La représentation interne d'une fraction rationnelle est une liste :
- <literal>r=tlist('['r','num','den','dt'],num,den,[])</literal> est identique à <literal>r=num/den</literal>.
+ <literal>r=rlist(num,den,[])</literal> est identique à <literal>r=num/den</literal>.
Une matrice de fractions rationnelles peut être définie en utilisant la syntaxe habituelle :
<literal>[r11,r12;r21,r22]</literal> est une matrice 2x2 ou les <literal>rij</literal> sont des fractions rationnelles.
Une matrice de fractions rationnelles peut aussi être définie comme précédemment : <literal>tlist(['r','num','den','dt'],num,den,[])</literal> avec <literal>num</literal> et <literal>den</literal> deux matrices polynomiales.
W=[1/s,1/(s+1)]
W'*W
Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
-tlist(['r','num','den','dt'],Num,Den,[])
+rlist(Num,Den,[])
H=Num./Den
syslin('c',Num,Den)
syslin('c',H)
ただし, <literal>rij</literal> は 1x1 有理数です.
有理行列は,
<literal>num</literal> および <literal>den</literal>を多項式行列として
- リスト<literal>tlist(['r','num','den','dt'],num,den,[])</literal>により
+ リスト<literal>rlist(num,den,[])</literal>により
定義することも可能です.
</para>
</refsection>
W=[1/s,1/(s+1)]
W'*W
Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
-tlist(['r','num','den','dt'],Num,Den,[])
+rlist(Num,Den,[])
H=Num./Den
syslin('c',Num,Den)
syslin('c',H)
Um razão de polinômios <literal>r</literal> é um quociente entre
dois polinômios <literal>r=num/den</literal>. A representação interna de
uma razão de polinômios é uma lista.
- <literal>r=tlist('['r','num','den','dt'],num,den,[])</literal> é o mesmo
+ <literal>r = rlist(num,den,[])</literal> é o mesmo
que <literal>r=num/den</literal>. Uma matriz de razões de polinômios pode
ser definida pela sintaxe usual, por exemplo:
<literal>[r11,r12;r21,r22]</literal> ié uma matriz 2x2 onde
W=[1/s,1/(s+1)]
W'*W
Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
-tlist(['r','num','den','dt'],Num,Den,[])
+rlist(Num,Den,[])
H=Num./Den
syslin('c',Num,Den)
syslin('c',H)
<para>
Рациональное число <literal>r</literal> является частным двух полиномов <literal>r=num/den</literal>.
Внутреннее представление рационального число является списком.
- <literal>r=tlist('['r','num','den','dt'],num,den,[])</literal> -- это то же самое, что и <literal>r=num/den</literal>.
+ <literal>r=rlist(num,den,[])</literal> -- это то же самое, что и <literal>r=num/den</literal>.
Матрица рациональных чисел может быть определена обычным синтаксисом,
например, <literal>[r11,r12;r21,r22]</literal> является матрицей размером 2x2, где <literal>rij</literal> -- рациональные
числа размером 1x1.
W=[1/s,1/(s+1)]
W'*W
Num=[s,s+2;1,s];Den=[s*s,s;s,s*s];
-tlist(['r','num','den','dt'],Num,Den,[])
+rlist(Num,Den,[])
H=Num./Den
syslin('c',Num,Den)
syslin('c',H)