next up previous
Next: Some numerical primitive 1 Up: Introduction to SCILAB Previous: Linear dynamical systems

Operations

-->v=1:5;W=v'*v                 //constant matrix multiplication
 W  =
!   1.    2.     3.     4.     5.  !
!   2.    4.     6.     8.     10. !
!   3.    6.     9.     12.    15. !
!   4.    8.     12.    16.    20. !
!   5.    10.    15.    20.    25. !
-->W(1,:)                       //extracting first row
 ans  =
!   1.    2.    3.    4.    5. !
-->W(:,$)                       //using $ for extracting last column
 ans  =
!   5.  !
!   10. !
!   15. !
!   20. !
!   25. !
-->Mp'*Mp+eye                   //polynomial matrix
 ans  =
         column 1
!               2     3        4 !
!   3 + 6z + 18z + 27z + 20.25z  !
!                                !
!                2               !
!   1 + 3z + 4.5z                !
         column 2
!                2                         !
!   1 + 3z + 4.5z                          !
!                                          !
!              2    3     4     5        6 !
!   2 - 2z + 2z + 6z + 18z + 27z + 20.25z  !
-->Mp1=Mp(1,1)+4.5*%i           //complex
 Mp1  =
real part
                 2
    1 + 3z + 4.5z
imaginary part
    4.5
-->Fi=C*(z*eye-A)^(-1)*B;       //transfer function evaluation
-->F(:,1)*Fi                    //operations with rationals
 ans  =
!                    2                          2      !
!       1 + 3z + 4.5z            - 1 - 3z - 4.5z       !
!   ---------------------      ---------------------   !
!                2    3   4                 2    3   4 !
!   4 - 10z + 10z - 5z + z     6 - 14z + 13z - 6z + z  !
!                                                      !
!             1                        - 1             !
!   ---------------------      ---------------------   !
!                2    3   4                 2    3   4 !
!   4 - 10z + 10z - 5z + z     6 - 14z + 13z - 6z + z  !
-->M=[Mp -Mp; Mp' Mp+eye]       //concatenation of polynomial matrices
 M  =
         column 1 to 3
!                2                                   2 !
!   1 + 3z + 4.5z     1 - z           - 1 - 3z - 4.5z  !
!                                                      !
!                           2      3                   !
!   1                 z + 3z + 4.5z   - 1              !
!                                                      !
!                2                                   2 !
!   1 + 3z + 4.5z     1                 2 + 3z + 4.5z  !
!                                                      !
!                           2      3                   !
!   1 - z             z + 3z + 4.5z     1              !
         column 4
! - 1 + z              !
!                      !
!         2      3     !
! - z - 3z - 4.5z      !
!                      !
!   1 - z              !
!                      !
!             2      3 !
!   1 + z + 3z + 4.5z  !
-->[Fi, Fi(:,1)]                // ... or rationals
 ans  =
!     1       - 1         1    !
!   -----     -----     -----  !
! - 2 + z   - 3 + z   - 2 + z  !
-->F=syslin('c',F) // Rational to transfer function

 F  =
!                 2                      !
!    1 + 3z + 4.5z        - 1            !
!   ---------------     ---------        !
!              2   3              2      !
! - 2 + 4z - 3z + z     2 - 2z + z       !
!                                        !
!                              2      3  !
!          1             z + 3z + 4.5z   !
!   ---------------     ---------------  !
!              2   3               2   3 !
! - 2 + 4z - 3z + z   - 2 + 4z - 3z + z  !

-->Num=F('num'),Den=F('den'),
 Num  =
!                2                   !
!   1 + 3z + 4.5z   - 1              !
!                                    !
!                           2      3 !
!   1                 z + 3z + 4.5z  !
 Den  =
!              2   3              2      !
! - 2 + 4z - 3z + z     2 - 2z + z       !
!                                        !
!              2   3               2   3 !
! - 2 + 4z - 3z + z   - 2 + 4z - 3z + z  !


Scilab group