#python #numpy #matplotlib
#python #numpy #matplotlib
Вопрос:
Я работаю над функциями и практикую это с помощью некоторых кодов (есть смещение, потому что я работаю над нейронными сетями), и когда я выполнял функцию квадратного корня, я получил ошибку:
TypeError: only size-1 arrays can be converted to Python scalars
Вот код, который вызвал это.
import matplotlib.pyplot as plt
import numpy as np
import math
def somefunc(m,bias):
y = round(math.sqrt(m)) bias
return y
y = np.linspace(1, 100, 100)
z = somefunc(y,0)
plt.plot(y, z)
plt.xlabel("y")
plt.ylabel("func(y)")
plt.show()
Ответ №1:
Вы должны использовать методы numpy для работы с несколькими массивами :
np.sqrt вместо math.sqrt
np.round вместо round
import matplotlib.pyplot as plt
import numpy as np
import math
def somefunc(m,bias):
y = np.round(np.sqrt(m)) bias
return y
y = np.linspace(1, 100, 100)
z = somefunc(y,0)
plt.plot(y, z)
plt.xlabel("y")
plt.ylabel("func(y)")
plt.show()
Комментарии:
1. Ну, это работает, но должен ли я использовать round, без round это кажется намного более актуальным для этого здесь analyzemath.com/function/graph-of-square-root-function.gif но, спасибо, это работает: D