찾다

 >  Q&A  >  본문

python - numpy使用中的一个错误

import numpy as np
import matplotlib.pyplot as plt
from math import pow
from math import e

def main(x):
    dishu = e
    zhishu = 1/e
    result = zhishu
    cishu = x
    while cishu > 1:
        result = pow(zhishu, result)
        cishu -= 1
    main_result = pow(dishu, result)
    return main_result
    

x = np.linspace(2, 100, 90)
y = main(x)

这段代码在运行时抛出的一段错误是:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我在stackoverflow上面也搜过同样的错误信息,但我不明白是这里为什么有多种返回的可能性,这个问题究竟该如何解决?

我试着用for去一个个的得到结果,但这回到了matplotlib报错:

ValueError: x and y must have same first dimension

请问该怎样写才能将main这个函数的图像在matplotlib里面呈现?

阿神阿神2889일 전608

모든 응답(2)나는 대답할 것이다

  • 阿神

    阿神2017-04-17 17:35:52

    x는 목록입니다. cishu=x, cishu > 1은 무엇을 의미하나요? 1보다 큰 목록?

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:35:52

    치슈 > 1:
    여기에는 2단계가 있습니다

    으아악

    cishu > 1 여기서 계산된 결과는 부울로 계산할 수 없는 numpy.ndarray입니다.

    회신하다
    0
  • 취소회신하다