您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 状态空间 >

matlab simulink 中的 状态空间的 initial conditions 能用变量

发布时间:2019-07-16 09:08 来源:未知 编辑:admin

  matlab simulink 中的 状态空间的 initial conditions 能用变量么

  matlab simulink 中的 状态空间的 initial conditions 能用变量么

  简述就是一个系统有两个阶段使用不同的状态方程当第一阶段运行到满足一定条件时切换到第二阶段并且用第一阶段结束时刻的某个输出值作为第二阶段状态方程的初始条件。这是个两个阶段的...

  简述就是 一个系统有两个阶段 使用不同的状态方程 当第一阶段运行到满足一定条件时 切换到第二阶段 并且用第一阶段结束时刻的某个输出值作为第二阶段状态方程的初始条件。

  这是个两个阶段的系统 先第一阶段执行 满足一个判断条件后输出数字1 给detect change

  同时启动第二阶段的状态方程 即使用 switch14 将第二阶段的状态方程的输入由0 变为 总线上的输入。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  模型参数中使用的变量,是在初始化阶段(也就是按下了运行按钮,但还没有真正开始运行的阶段)从工作区中获取具体的值,然后在整个仿真过程中都是使用初始化阶段获取的值,即使变量的值在此期间有变化,也不会影响到模型中对应的数据。

  另一方面,我没看明白题主是打算怎样把第一阶段的结果传递到工作区变量的,如果采用常规手段(例如To Workspace),数据要等到模型停止运行才会传递给工作区变量,这样也是达不到在运行过程中更新变量的目的的。

  以上两个过程,即第一阶段的数据传递给工作区变量,再把变量的值传递给第二阶段作为初值使用,基本上都是存在问题的(其中第一阶段的结果传递到工作区在可以采取一些手段解决),所以这种思路原则上是行不通的。

  1、模型分两次运行,到第一阶段结束时停止,把相关数据传递到工作区(包括时间、初值以及其它在第二阶段需要使用的信息),然后,再把这些数据作为第二阶段的初值,重新运行模型。

  2、直接在模型中进行数据传递。可能存在的一个问题是,状态空间模块不能接受外部输入信号作为初值,解决的手段可以考虑直接使用积分模块搭建系统,其初值选择以外部输入的形式提供。另外,在两个阶段切换时,应该同时对积分器进行复位,以确保第一阶段传递过来的初值信息能够被积分器使用。追问我才开始使用matlab 能不能具体说一下第二种方法 给个用积分模块建立方程的例子 还有积分器复位是怎么用的 谢谢追答

  用积分器实现状态方程的原理图如下,应该知道怎么搭建了吧(除积分器之外,还用到求和与增益模块,需要注意增益应该是Matrix Gain):

  积分器复位可以在积分器的参数设置对话框里面找到External reset,选择除none之外的选项后就会在积分器上另外多出一个端口,即复位端口。

http://emmaclarkson.com/zhuangtaikongjian/286.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有