You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB符号工具箱中实现小量近似以线性化航天器运动方程?

MATLAB符号工具箱小角度近似实现方案

实现逻辑

针对航天器动力学线性化的小量近似规则,显式指定小量变量,分两步执行替换即可实现需求,避免taylor函数默认配置的适配问题。

针对测试用例的完整可运行代码

% 1. 定义符号变量,显式标记小量集合
syms psiX psiY psiZ rGMag mu Ixx Iyy Izz
small_vars = [psiX, psiY, psiZ];

% 2. 运行原有动力学计算逻辑
QLB = [1,psiZ,-psiY;-psiZ,1,psiX;psiY,-psiX,1]; % L到B坐标系线性化旋转矩阵
rG_LVLH = [0;0;rGMag]; % L坐标系下重力梯度位置向量
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)];

% 3. 执行小量近似替换
% 若有三角函数场景,先取消注释以下两行执行三角函数小角度近似
% trig_rules = [sin(small_vars) == small_vars, cos(small_vars) == 1];
% G = subs(G, trig_rules);

% 替换所有两个及以上小量相乘的项为0
pair_products = combvec(small_vars, small_vars);
replace_rules = prod(pair_products,1) == 0;
G_approx = simplify(subs(G, replace_rules));

输出验证

运行后得到的G_approx完全符合预期:

  • 第一个分量:(3*mu*psiX*(Izz - Iyy))/rGMag^2
  • 第二个分量:-(3*mu*psiY*(Ixx - Izz))/rGMag^2
  • 第三个分量:0

内容的提问来源于stack exchange,提问作者Publius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:15:03