Python符号系统线性化



因此,我正试图将我的简单符号系统线性化,它有一个非线性输出方程和一个线性状态方程。

我正试图弄清楚如何改变我的输入u的标称值。阿卡,我想设置u0。我已经找到了如何设置状态向量的标称值,我想,如下。

c_e = Variable('c_e')
c_2 = Variable('c_2')
u   = Variable('u')
x = [c_e, c_2]
sys = SymbolicVectorSystem(state = x, input = [u], dynamics = f(x, u), output = g(x))
context = sys.CreateDefaultContext()
context.get_continuous_state_vector().SetAtIndex(0, 10**-6)
linear_sys = Linearize(sys, context)

我目前收到的错误是我的输入端口没有连接,但我不确定这意味着什么。我应该怎么做来修复这个错误,并设置我的标称点?

RuntimeError: InputPort::Eval(): required InputPort[0] (u0) of System ::_ (SymbolicVectorSystem<double>) is not connected

错误消息为您指明了正确的方向。要使具有状态和输入的系统线性化,不仅需要指定标称状态(x0(,还需要指定标称输入(u0(。您需要在上下文中设置两者。

你已经设置了标称状态,但需要一条类似的线

context.FixInputPort(0, [0])

以指定标称输入。

(特定的错误消息是由于调用系统动态的线性化方法,该方法需要评估输入端口……并且失败(

相关内容

  • 没有找到相关文章

最新更新