0

このコードから b と c を印刷しようとしていますが、うまくいきません。私が正しければ、このコードは 0.05 のステップ サイズでいくつかのポイントを出力するはずですが、表示されません。このコードから 2 つの値を出力する方法を知っている人はいますか?

import math

def rK3(a, b, c, fa, fb, fc, hs):
    a1 = fa(a, b, c)*hs
    b1 = fb(a, b, c)*hs
    c1 = fc(a, b, c)*hs
    ak = a + a1*0.5
    bk = b + b1*0.5
    ck = c + c1*0.5
    a2 = fa(ak, bk, ck)*hs
    b2 = fb(ak, bk, ck)*hs
    c2 = fc(ak, bk, ck)*hs
    ak = a + a2*0.5
    bk = b + b2*0.5
    ck = c + c2*0.5
    a3 = fa(ak, bk, ck)*hs
    b3 = fb(ak, bk, ck)*hs
    c3 = fc(ak, bk, ck)*hs
    ak = a + a3
    bk = b + b3
    ck = c + c3
    a4 = fa(ak, bk, ck)*hs
    b4 = fb(ak, bk, ck)*hs
    c4 = fc(ak, bk, ck)*hs
    a = a + (a1 + 2*(a2 + a3) + a4)/6
    b = b + (b1 + 2*(b2 + b3) + b4)/6
    c = c + (c1 + 2*(c2 + c3) + c4)/6
    return a, b, c

def fa2(a, b, c):
    return 0.9*(1 - b*b)*a - b + math.sin(c)

def fb2(a, b, c):
    return a

def fc2(a, b, c):
    return 0.5

def VDP2():
    a, b, c, hs = 1, 1, 0, 0.05
    while (c<6):
        a, b, c = rK3(a, b, c, fa2, fb2, fc2, hs)
4

1 に答える 1

0

コードには print ステートメントがないため、印刷されません。次のようなものを挿入してみてください:

print 'b = {0}, c = {1}'.format(b,c)

印刷したい場所。Python 3 の場合は、括弧を追加するだけです (print は関数になりました)。

print('b = {0}, c = {1}'.format(b,c))
于 2016-04-25T00:21:14.540 に答える