您应该在外循环的每个步骤初始化/重置列表:
for total_steel_area in np.arange(0.01,0.06,0.01):
phi_N_bh = []
phi_M_bh2 = []
for phi_x__h in np.arange(0.1,2,0.1):
phi_N__bh, phi_M__bh2 = calculate_phi_N__bh_and_phi_M__bh2(phi_x__h, lamb, alpha_cc, eta, f_ck, E_s, varepsilon_cu2, phi_d__h, phi_d2__h, f_yk, total_steel_area/2, total_steel_area/2)
phi_N_bh.append(phi_N__bh)
phi_M_bh2.append(phi_M__bh2)
ax.plot(phi_M_bh2, phi_N_bh, c='b')
ax.scatter(phi_M_bh2, phi_N_bh, c='b', s=10)
可能有一种矢量方法来计算你的值,但如果没有可重复的函数示例,这很难猜测。
输出: