串到numpy

2024-09-30 01:21:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图打印此F(Rr),但如果在代码中使用:^15.10f,则会出现错误

TypeError: unsupported format string passed to numpy.ndarray.__format__

我怎么打印这个

from numpy import exp

Ri = 15
Rr = 31/2
Rs = 16
i = 0
Er = 0
Rra = 0

def F(n):
    return 745 * 1 - exp(-x / 10) - 49 * x

# Funcion para calcular el error relativo
def error (Rra, Rrn):
    Erel = abs((Rrn - Rra) / Rrn) * 100
    return Erel

print ('{:^15}{:^15}{:^15}{:^15}{:^15}{:^15}'.format('# iter', 'Ri', 'Rs', 'Rr', 'F(Ri)', 'Erel(%)'))

while (i < 10):
    Er = error(Rra,Rr)
    Rra = Rr #Rra sera el Rr anterior para determinar el error relativo
    if F(Ri).all() * F(Rr).all() < 0:
        Rs = Rr
    elif F(Ri).all() * F(Rr).all() > 0:
        Ri = Rr
    elif F(Rr) == 0:
        print('La raiz es' ,Rr)

    Rr = (Ri + Rs) / 2
    i = i + 1

    # Condicional para el primer error relativo
    if i == 1:
             print ('{:^15}{:^15.6f}{:^15.6f}{:^15.6f}{}'.format(i - 1, Ri, Rs, Rr, F(Rr)))
    elif i > 1:
             print ('{:^15}{:^15.6f}{:^15.6f}{:^15.6f}{}{:^15.10f}'.format(i - 1, Ri, Rs, Rr, F(Rr), Er))

Tags: formatrrerrorallelprinterrs
1条回答
网友
1楼 · 发布于 2024-09-30 01:21:37
  1. 将“def F(n):”更改为“def F(x):”或者可以在中使用n而不是x进行计算
  2. 将print()函数移到末尾
  3. 用变量名替换.format()中的字符串

修订守则:

from numpy import exp

Ri = 15
Rr = 31 / 2
Rs = 16
i = 0
Er = 0
Rra = 0


def F(n):
    return 745 * 1 - exp(-n / 10) - 49 * n

# Funcion para calcular el error relativo
def error(Rra, Rrn):
    Erel = abs((Rrn - Rra) / Rrn) * 100
    return Erel


while (i < 10):
    Er = error(Rra, Rr)
    Rra = Rr

    # Rra sera el Rr anterior para determinar el error relativo`
    if F(Ri).all() * F(Rr).all() < 0:
        Rs = Rr
    elif F(Ri).all() * F(Rr).all() > 0:
        Ri = Rr
    elif F(Rr) == 0:
        print('La raiz es', Rr)

    Rr = (Ri + Rs) / 2
    i = i + 1

print('{:^15}{:^15}{:^15}{:^15}{:^15}{:^15}'.format(i, Ri, Rs, Rr, F(Ri), Er))

相关问题 更多 >

    热门问题