File: pol2des.sci

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (11 lines) | stat: -rw-r--r-- 373 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
function [N,B,C]=pol2des(Ds)
// Given the polynomial matrix Ds= D_0 +D_1 s +D_2 s^2 + ... +D_k s^k,
// pol2des returns three  matrices N,B,C  (with N nilpotent) such that
// Ds = C (sN-Eye)^-1 B 
//!
// Copyright INRIA
if type(Ds)==1 then Ds=Ds+0*poly(0,'s')*Ds;end
dg=maxi(degree(Ds))+1;
[nout,nin]=size(Ds);
[Sl]=markp2ss(coeff(Ds),dg,nout,nin);
N=Sl(2);B=-Sl(3);C=Sl(4)