Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
rational
rational fractions
Description
A rational r is the quotient of two polynomials r=num/den.
An array R of rationals can be directly defined as the elementwise
quotient of two polynomials arrays Num and Den :
R = Num./Den.
The internal representation of a rational is a list of type "r":
R = tlist(['r','num','den','dt'], Num, Den,[]), or
R = rlist(Num, Den, []).
All usual operators can be used with arrays of rationals:
' .' + - * .* / ./ .^ .*. [,] [;],
As for polynomials, the horner() function allows to compute
the value of rationals for some value of their variable.
Many other Scilab functions can be used with rationals input : permute,
cat, real, imag,
conj, isreal, etc.
![]() | Addressing some components of an array R of rationals with their
linearized indices can be done using the syntax R(k,0) where
k is the vector of linearized indices, and 0 is used instead of
j or higher order indices. |
Examples
s=poly(0,'s'); W=[1/s,1/(s+1)] W'*W Num=[s,s+2;1,s];Den=[s*s,s;s,s*s]; rlist(Num,Den,[]) H=Num./Den syslin('c',Num,Den) syslin('c',H) [Num1,Den1]=simp(Num,Den)
--> R = (1-%s).^[1 0 2] ./ %s.^[1 2 0]
R =
2
1 - s 1 1 - 2s + s
------ -- -----------
2
s s 1
--> horner(R,[-1 0 2 -2]')
ans =
-2. 1. 4.
Inf Inf 1.
-0.5 0.25 1.
-1.5 0.25 9.
--> R = (1-%s)/(1+%s)
R =
1 - s
------
1 + s
--> horner(R, 1-%z^2)
ans =
2
z
------
2
2 - z
See also
History
| Version | Description |
| 6.0.2 | The syntax R(k,0) is now available to address components
with their linearized indices k. |
| Report an issue | ||
| << matrices | types | strings >> |
