От this post Насколько я понимаю, log10() оценивает перед оценкой where. Проще говоря, я не понимаю ответа, предоставленного в этом вопросе. Также почему сначала нужно оценить log10(), что, несомненно, приведет к ненужным вычислениям?Numpy Runtime Предупреждение: деление на ноль встречается в log10
merge_y = np.where (п < = 1, 1, п * np.log10 (п))
import matplotlib.pyplot as plt
import numpy as np
n = np.arange(0, 10, 0.0001)
merge_y = np.where(n <= 1, 1, n * np.log10(n))
insertion_y = n*n
plt.plot(n, merge_y,'g')
plt.plot(n,insertion_y,'r')
plt.grid(True)
plt.xlabel('n')
plt.ylabel('T(n)')
plt.title('Time complexities of merge and insertion sort w/ input size n')
plt.show()
Вы понимаете, что вы пытаетесь вычислить 'log10 (0)', верно? – cel
i can not see where, for where (condition, a, b) isnt b возвращается, если условие ложно, и если оно истинно ... – trunks1ace