我在验证javascript中已计算的账单时遇到一些问题。 我给出了一些公式和2个向量-但无论如何计算,都无法得到正确的结果。
如果有人发现我的粗心大意的错误并帮助我,我会很高兴,因为目前我真的很无助。
在这里您可以找到计算结果(我没有得到相同的结果):
这是我的JavaScript代码:
let u = [1, -0.2]
let v = [0.5, 0.8]
let mg_u = Math.sqrt(u[0] ** 2 + u[1] ** 2)
let mg_v = Math.sqrt(v[0] ** 2 + v[1] ** 2)
let sc_uv = u[0] * v[0] + u[1] * v[1]
let a = Math.sqrt((mg_v ** 2 - mg_u ** 2 + Math.sqrt((mg_v ** 2 - mg_u ** 2) ** 2 + 4 * (sc_uv ** 2))) / 2)
let b = (-sc_uv) / a
console.log(`alpha: ${a} (valid)`)
console.log(`beta: ${b} (valid)`)
let u_r = [-u[1], u[0]]
let v_r = [-v[1], v[0]]
let scale = Math.sqrt(mg_u ** 2 + a ** 2) /
Math.sqrt(Math.sqrt((v_r[0] - b * u_r[0]) ** 2 + (v_r[1] - b * u_r[1]) ** 2) ** 2 + mg_u ** 2 + mg_v ** 2)
console.log(`scale: ${scale} (probably not valid)`)
let direction = [
v_r[0] - b * u_r[0],
v_r[1] - b * u_r[1],
]
console.log(`direction: ${direction} (not valid)`)