def loss(r_0, a, alpha, x_focus, x, y_focus, y, overlap):
loss = np.zeros(np.size(x))
loss_squared = np.zeros(np.size(x))
dx = np.zeros(len(x))
dy = np.zeros(len(y))
for i in range(0, np.size(x)):
dx = x_focus-x[i]
dy = abs(y_focus-y[i])
R = r_0[i]+dx*alpha
if dx > 0:
loss[i] = overlap[i]*2.*a*(r_0[i]/(r_0[i]+alpha*(dx)))**2*0.5*(np.cos(-dy*pi/(R+4*r_0[i])))
loss_squared[i] = loss[i]**2
else:
loss[i] = 0
loss_squared[i] = 0
total_loss = sp.sqrt(np.sum(loss_squared))
return total_loss
评论列表
文章目录