2015-04-05 84 views
0

我有這樣一個多項式:coeffs返回係數在一個非常奇怪的順序

p := -1.604609130*10^(-11)*z^9+.1111140258*z^8+3.210741142*10^(-11)*z^7-.3955586214*z^6-2.108471910*10^(-11)*z^5+.6692726719*z^4+5.024523477*10^(-12)*z^3-.8174429322*z^2-3.142106870*10^(-13)*z+.9089252367 

你看,只是一個普通的多項式係數的數值。然後,我呼籲它coeffs並獲得這樣的:

> coeffs(p, z, 't'); t 
              -11     
0.9089252367, -0.3955586214, -2.108471910 10 , 0.6692726719, 

       -12        -11 
    5.024523477 10 , -0.8174429322, -1.604609130 10 , 

           -11     -13 
    0.1111140258, 3.210741142 10 , -3.142106870 10 
        6 5 4 3 2 9 8 7 
       1, z , z , z , z , z , z , z , z , z 

爲什麼地球上它返回係數在這樣的秩序?我希望它可以是從更高的權力到更低的權力(比如在MATLAB中),也可以是從更低的權力到更高的權力(比如在Mathematica中),但是Maple做了一些非常奇怪的事情。我的程序取決於coeffs提取的係數順序,所以我不能使用它。

Maple中有一種方法可以在一些正常的順序中提取係數嗎?

回答

1

您應該使用CoefficientListCoefficientVectorcommands爲此。

請注意關於使用coeffs的效率的相關評論,在該幫助頁面中。

這些命令還可以選擇以相反順序返回係數。

restart: 

p := -1.604609130*10^(-11)*z^9 + .1111140258*z^8 + 3.210741142*10^(-11)*z^7 
    -.3955586214*z^6 - 2.108471910*10^(-11)*z^5 + .6692726719*z^4 
    + 5.024523477*10^(-12)*z^3 - .8174429322*z^2 - 3.142106870*10^(-13)*z 
    + .9089252367: 


V := PolynomialTools:-CoefficientVector(p, z); 

          [  0.9089252367] 
          [     ] 
          [    -13] 
          [-3.142106870 10 ] 
          [     ] 
          [  -0.8174429322] 
          [     ] 
          [    -12] 
          [ 5.024523477 10 ] 
          [     ] 
          [  0.6692726719] 
          [     ] 
         V := [    -11] 
          [-2.108471910 10 ] 
          [     ] 
          [  -0.3955586214] 
          [     ] 
          [    -11] 
          [ 3.210741142 10 ] 
          [     ] 
          [  0.1111140258] 
          [     ] 
          [    -11] 
          [-1.604609130 10 ] 


L := PolynomialTools:-CoefficientList(p, z); 

     [        -13        -12 
L := [0.9089252367, -3.142106870 10 , -0.8174429322, 5.024523477 10 , 

           -11        -11 
    0.6692726719, -2.108471910 10 , -0.3955586214, 3.210741142 10 , 

           -11] 
    0.1111140258, -1.604609130 10 ] 
+0

不錯,謝謝!這正是我需要的。然而,它仍然很有趣,爲什麼'coeffs'(作爲默認的全局可用函數)具有這樣一種奇怪的行爲。 – 2015-04-06 09:42:18