如何在Scilab上获得简化分数?

时间:2019-02-06 16:44:31

标签: scilab

我正在使用函数 F(s)= 1 / s 5 + 5 * s 4 + 9 * s 3 + 7 * s 2 + 2 * s ,我想获取各个分数以应用Laplace。

s= %s
n2=1
d2=s^5+5*s^4+9*s^3+7*s^2+2*s
sist2=syslin('c',n2/d2)
sist2desc=pfss(sist2)


sist2desc  =

   sist2desc(1)

0.5   
---   
 s    

   sist2desc(2)

 0.5    
-----   
2 + s   

   sist2desc(3)

            2     
- 2 - 2s - s      
--------------    
           2   3  
1 + 3s + 3s + s   

这是我通过该代码获得的输出,但是我想获得0.5 / s + 0.5 /(s + 2)-1 / s + 1 -1 /(s + 1)

1 个答案:

答案 0 :(得分:1)

对于Scilab来说,您的分数是一个难题,在处理多项式和分数时,Scilab使用浮点算法,因为多个根降低了经典根查找方法(伴随矩阵的特征值)的精度。在这里,分母的-1为三重根,三重多重性已经太多了,如

所示
--> roots((s+1)^3*(s+2)*s)
 ans  =

  -2.  
  -1.0000109  
  -0.9999945 + 0.0000095i
  -0.9999945 - 0.0000095i
   0.  

请参阅@ http://bugzilla.scilab.org/show_bug.cgi?id=15349上的讨论,以了解替代的根查找方法。这种现象表明,将Scilab用于此类学术研究不是一个好主意。线性代数可以,但符号演算则不能。