0
n = 1
for n in range(3):         
    p = Poly(a[n+1][0:3])
    print p 
    n=n+1

これは私のコーディングです。基本的に、私は 3 × 3 行列を持っています。各行を多項式関数に割り当ててから、各多項式関数を新しい配列に割り当てたいと考えています。ただし、poly関数から実行されるたびにpの値を必要な配列に割り当てる方法がわかりません。

誰かが私を助けてください。

実行された p の出力は次のようになります

  • (749.55*x**2) + (6.95*x**1) + (9.68*(10^-4)*x**0)
  • (1285*x**2) + (7.051*x**1) + (7.375*(10^-4)*x**0)
  • (1531*x**2) + (6.531*x**1) + (1.04*(10^-3)*x**0)

基本的に、実行された p 出力から 3*1 配列を構築するだけで十分です。

参考までに、 a の私の行列は次のようになります

[['A', 'B', 'C', 'PMIN', 'PMAX'], ['749.55', '6.95', '9.68*(10^-4)', '320', '800'], ['1285', '7.051', '7.375*(10^-4)', '300', '1200'], ['1531', '6.531', '1.04*(10^-3)', '275', '1100']]
[['A' 'B' 'C' 'PMIN' 'PMAX']
4

3 に答える 3

1

リスト内包表記はこれを非常に簡単に説明します:

def Poly(a):
  return "{}x^2 + {}x + {}".format(a[0],a[1],a[2])
a = [['A', 'B', 'C', 'PMIN', 'PMAX'],[1,2,3,99,99],[4,5,6,42,42],[7,8,9,3.14,2.72]]
result = [Poly(a[n]) for n in range(1,4)]
print result

出力は次のとおりです。

['1x^2 + 2x + 3', '4x^2 + 5x + 6', '7x^2 + 8x + 9']
于 2013-03-10T05:19:46.327 に答える
0

ただし、poly関数から実行されるたびにpの値を必要な配列に割り当てる方法がわかりません。

results = []
for x in range(3):
   p = Poly(something)
   results.append(p) # adding it to the list `results`

ちなみに、Pythonには配列はなく、ハッシュのようなリスト(0インデックスコレクション)と辞書だけがあります。

于 2013-03-10T04:46:07.683 に答える
0

これを試して:

p = []
for n in range(3):
    p.append(Poly(a[n+1][0:3]))
print p

Poly私はあなたの関数やa配列にアクセスできませんが、次のようにテストできます:

p = []
for n in range(3):
    p.append([n,n+1,n+2])
print p
#output:
#[[0, 1, 2],
# [1, 2, 3],
# [2, 3, 4]]

n+1また、 andn=n+1を使用して行を削除n in range(3)しました。

for n in range(3):
    print n
#output:
# 0
# 1
# 2

0( で始まり、で終わることに注意してください2。これは、正確に実行されるようにするためです3)

于 2013-03-10T04:37:44.633 に答える