我是Matlab / Simulink的新手,但需要从一个软件中与Simulink模型进行交互。
目前我已经创建了一个简单的Simulink函数'Inc',它有一个输入到一个带有常数1和输出的加法块。我使用了To / From Workspace块,可以使用时间/值向量输入在固定时间运行模拟,例如simin = [0,0; 5,0; 5,1; 10,1]。
我想做的是连续运行我的模型?实时读取工作空间值而不是基于预定义时间的矢量?
我看不出怎么设置它? Matlab / Simulink可以这样做吗?
总结一下,我希望simin和simout是单个值,即simin = 1,然后在下一个固定步骤连续(无限)运行模型simout将更新为simout = 2. simin将在工作区间隔不一。
答案 0 :(得分:3)
简短的回答是你不能(轻松地)做到这一点,而不是Simulink的工作方式。在模拟开始时读取/访问MATLAB工作空间并将其传递给Simulink引擎,即使模拟完成之前工作空间中的值发生更改,Simulink模型运行也不会考虑这一点。
有很多方法可以解决这个问题,但如果你是MATLAB& amp; Simulink,请注意这些是相当先进的技术,我建议先熟悉Simulink。
请查看这些类似的问题,了解如何做您想做的事情:
显然,您需要将模拟结束时间更改为Inf
或更大的数字。