【问题标题】:How to customize simulation in MATLAB/simulink for analysis purpose?如何在 MATLAB/simulink 中自定义仿真以进行分析?
【发布时间】:2015-02-11 05:20:52
【问题描述】:

我创建了一个 FIG gui,它具有启动或打开新项目、打开自定义库、模拟、绘制图形等选项。单击启动新项目选项时,将打开一个新的 simulink 窗口。我已经自定义包含我自己创建的块或元素的库,每个都有相关的参数,如下所示:

然后用户可以根据需要将这些块拖放到simulink窗口中,并通过互连这些块来制作单线图。然后用户可以单击每个块并输入参数值。现在,当用户单击 FIG gui 中的“模拟”选项时,必须根据我拥有的方程式进行模拟。当我编写 matlab 函数时,如何访问用户输入的 simulink 模块参数以及如何编写方程(M 代码?matlab 函数?)如何指定输入参数,因为它们是用户的值会在simulink窗口中提供??我尝试了很多搜索,但没有得到一个明确的想法。结果要么完全集中在 GUI 创建上,要么我会说留下了非常模糊的想法,到底要做什么。如果有人可以列出初学者视角的步骤,那将是非常有帮助的。提前致谢

【问题讨论】:

  • 如果您有 Simulink 模型,您应该使用 sim 模拟该模型,而不是尝试在 MATLAB 代码中重新创建 Simulink 模型的方程。
  • 我只是将simulink环境作为一个平台,我可以在上面绘制我的系统的单线图并进行仿真。这些库是完全定制的,其中块参数由我定义。因此,如果我使用这些块并将它们互连,则模拟应该基于我支持参数的方程。
  • 例如。假设块 1 具有参数 a、b、c,块 2 具有参数 x、y、z,并且我几乎没有与所有这些参数相关的方程,例如 w = a/x;等,我将这两个块拖放到我的 simulink 工作区并将它们互连,当我单击 RunSimulation 选项(我在第一个问题中提到的 GUI 中提供)时,编译器必须识别包含这些方程的文件和在 GUI 中绘制图形。因此,我的疑问是如何在 Mfile 的函数定义中指定块参数(a,b,c,x,y,z)
  • 对不起,我不明白。你连接块,参数化它们并运行模型,这就是它的全部,方程块,不需要写任何东西。也许您可以发布一个指向 GUI 和模型屏幕截图的链接,其中包含一些块和参数。
  • tinypic.com/view.php?pic=2csjkar&s=8#.VNuI4PmUe2Y 这显示了我在其中创建了一些元素的库。我现在在使用 matlab 时遇到了一些问题,因此无法获得模型的屏幕截图。但随后这些块中的任何一个都将被拖放到工作控制台,然后我创建了一个 gui,它具有打开/新建/OpenLibrary 和模拟的选项。因此,当我单击模拟必须链接块的方程时,必须调用。我可以在 mfile 中实现方程...但是如何访问用户在建模过程中提供的 simulink 块参数

标签: function simulink matlab-guide matlab


【解决方案1】:

您的问题仍然不清楚,但听起来您正在尝试根据用户在 GUI 中输入的内容访问/更改模型的块参数(如果我错了,请纠正我)。执行此操作的函数是get_param(读取块参数)和set_param(更改它们)。

我再说一遍:您不需要在 MATLAB 文件中实现方程,这正是 Simulink 模型正在做的事情。在将模块参数设置为正确的值并正确连接它们之后,您需要做的是使用sim 运行构建的模型。

【讨论】:

  • 感谢您的回复。但问题是库中显示的块(如屏幕截图所示)是我创建的。它们不是在 MATLAB 库中预定义的。因此,输入到块中的参数对于 MATLAB 编译器也是未知的。只有我知道与块中的参数相关的方程式。因此,当我使用 sim 运行模型时,编译器将查找包含参数/相关参数的文件。那一定是我自己创造的吧?
  • 是的,我可以看到这些积木是定制的,但在面具下肯定有一个由标准积木组合而成的数学表示,它不只是一个空壳吗? Simulink 的重点是不必编写方程。它是一个建模和仿真工具,而不是简单的绘图工具。当您将模块连接在一起时,您将创建模型的数学方程,一旦您拥有正确的参数,您就可以准备好数学模型。当您使用sim 模拟模型时,它会计算出模型的所有方程并尝试求解它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多