我目前正在研制一个带执行器的航天器机体,并给出以下等式:
J·w_dot = -w^x·J·w + u (1)
其中w^x
实际上是3x3矩阵的符号
[ 0 -w3 w2
w3 0 -w1
-w2 w1 0]
通过重新排列(1),我得到w_dot = (-w^x·J·w + u)/J
。在这里我面临问题,我需要不断为w_dot
更新价值,但我不知道如何。我已经尝试了 Memory 块,但它只每0.2秒更新一次,这对系统来说是不合适的。
这是我目前的设定:
我认为 integrator 块可能是每个周期都要更新的块,因为可以设置初始条件。
答案 0 :(得分:1)
是的,你的解决方案似乎是正确的;积分器块将使系统成为连续时间,而不是离散时间。这将像Simulink一样准确地输出结果。
您可以通过双击积分器块设置积分器的初始值,将“Initial condition source
”设置为“external
”,然后连接其他输入或常量块,输出或其他任何你想提供初始值的东西。
顺便说一下,J
是inertia tensor吗?在这种情况下,你不能简单地“划分”它;你应该乘以它的倒数(在 Divide 块的选项中将“Matrix
”设置为“Multiplication
”选项)