我正在尝试在 MATLAB 的符号工具箱中进行小角度近似。这被用于航天器控制模拟中的运动方程(是的,我需要线性化,我不能让它们保持更精确的形式)。对于那些不熟悉的人,少量近似可以做一些我需要的主要事情。对于少量的 delta 和 gamma,
- delta 乘以 gamma 大约为 0
- delta^2 大约为 0(与更高的幂相同)
- sin(delta) 大约是 delta
- cos(delta) 约为 1
我尝试过使用 MATLAB 的taylor
函数(链接在这里),但它似乎并没有做我想要的,除非在一个非常特定的场景中(我相信这无论如何都是巧合)。下面给出一个测试用例:
syms psiX psiY psiZ rGMag mu Ixx Iyy Izz
QLB = [1,psiZ,-psiY;-psiZ,1,psiX;psiY,-psiX,1]; %linearized version of the rotation matrix from the L frame to the B frame
rG_LVLH = [0;0;rGMag]; %magnitude of the rG vector expressed in the L frame
rG = QLB*rG_LVLH
G = 3*mu/rGMag^5 .* [rG(2)*rG(3)*(Izz-Iyy);rG(1)*rG(3)*(Ixx-Izz);rG(1)*rG(2)*(Iyy-Ixx)]; %gravity-gradient torque
上述所需的输出应该具有G
在第三个分量中为 0 的向量和在其他两个分量中保留的符号变量。这个特定示例不包括三角函数示例,但如有必要,我可以提供。谢谢。