В некоторых ответах на предыдущую работу я не смог перейти по некоторым ссылкам на документацию по пересечениям между кривой сплайна и несколькими линиями, созданными из def. Я хочу взять точки, в которых пересекаются кривая спроса на систему и кривая насоса. Я попробовал несколько подходов;однако, массивы numpy являются пустыми списками. У меня есть 8 списков правильно, просто ничего в них
Есть документация по пересечениям между сплайнами и кривыми, в которых значения x должны увеличиваться (что они в моем случае), но я не мог прочитатьдокументы.
для моего кода ... это то, что я пробовал
Я создал сплайн-кривую и хотел бы найти точки пересечения кривых, которые я создал. Я попытался использовать np.intersect1d в цикле for и создал свой массив 8, который я бы рассчитывал на 1;тем не менее, они являются пустыми массивами ... помощь будет принята
plt.figure()
xnew = np.linspace(Flow_Rate.min(),Flow_Rate.max(),300)
power_smooth = spline(Flow_Rate,Pump_Head,xnew)
plt.plot(xnew,power_smooth)
plt.show()
Changing_diameter = [0.06985, .0762, .08255, .0889, .09525, .1016, .10795, .1143]
def H_l(x):
reyn = ((density*(x*(1.6667*10**-5))/Area)*d_diameter)/(v_vis)
return Length/d_diameter*(x/Area)**2/(2*g)*64./reyn
Head = H_l(Q_si)
Changing_head = []
for i in range(len(Changing_diameter)):
d_diameter = Changing_diameter[i]
Head = H_l(Q_si)
Changing_head = []
plt.xlim(-5,100)
plt.ylim(-5,50)
plt.plot(Q_imp,Head,label=d_diameter)
np.array(Q_imp)
np.array(Head)
print(np.intersect1d(Q_imp, Head, assume_unique = False))
plt.legend()
plt.show()
Мой ожидаемый результат - список длиной в один элемент с пересечением сплайна и созданных кривых