我试图弄清楚如何使用 Mathematica 来求解其中一些变量和系数是向量的方程组。一个简单的例子是
我知道A、V和P的大小,我必须求解t和 P 的方向。(基本上,给定两条射线 A 和 B,我知道关于 A 的一切,但只知道 B 的原点和大小,找出 B 的方向必须与 A 相交。)
现在,我知道如何手动解决这类问题,但这很慢而且容易出错,所以我希望我可以使用 Mathematica 来加快速度并检查错误。但是,我看不出如何让 Mathematica 以符号方式求解涉及此类向量的方程。
我查看了 VectorAnalysis 包,但没有找到任何相关的内容;同时,线性代数包似乎只有线性系统的求解器(这不是,因为我不知道t或P,只是|P|)。
我尝试做简单的事情:将向量扩展为它们的组件(假装它们是 3D)并解决它们,就好像我试图将两个参数函数等同起来一样,
Solve[
{ Function[t, {Bx + Vx*t, By + Vy*t, Bz + Vz*t}][t] ==
Function[t, {Px*t, Py*t, Pz*t}][t],
Px^2 + Py^2 + Pz^2 == Q^2 } ,
{ t, Px, Py, Pz }
]
但是吐出的“解决方案”是系数和拥塞的巨大混乱。它还迫使我扩展我提供给它的每个维度。
我想要的是一个很好的点积、叉积和规范方面的符号解决方案:
但我看不出如何判断Solve
某些系数是向量而不是标量。
这可能吗?Mathematica 可以给我关于向量的符号解吗?还是我应该坚持使用 No.2 Pencil 技术?
(为了清楚起见,我对顶部特定方程的解决方案不感兴趣——我在问我是否可以使用 Mathematica 来解决这样的计算几何问题,一般来说,我不必将所有内容都表示为{Ax, Ay, Az}
, ETC。)