2015-02-11 64 views
-2

我已经创建了一个图gui,它可以选择启动或打开一个新项目,打开一个自定义库,模拟,绘图等。单击开始新建项目选项,将打开一个新的simulink窗口。我制作了一个自定义库其嵌段或我已在我自己创建的元素,每一个都具有相关联的参数,如下所示:如何在MATLAB/simulink中自定义仿真以进行分析?

enter image description here

然后,用户可以通过拖动并根据需要对Simulink的窗口拖放这些块和使一个单一的线通过互连这些块来实现。然后用户可以点击每个块并输入参数值。现在当用户点击图gui中的'模拟'选项时,必须根据我有的方程进行模拟。我如何访问用户输入的simulink块参数以及如何编写方程(M代码?,matlab函数?)当我编写matlab函数时,如何指定输入参数,因为它们是用户的值将在simulink窗口中提供?我尝试了很多搜索,但没有得到一个清晰的想法。结果完全集中在GUI创建上,或者我会留下非常模糊的想法,看看究竟需要做什么。如果有人能够列出初学者视角的步骤,这将会非常有帮助。在此先感谢

+1

如果你有一个Simulink模型,你应该使用['sim'](http://uk.mathworks.com/help/simulink/slref/sim.html)模拟该模型,而不是尝试重新创建MATLAB代码中的Simulink模型方程。 – am304 2015-02-11 08:37:50

+0

我只是使用simulink环境作为平台,我可以在该平台上绘制我的系统的单线图并执行模拟。这些库是完全自定义的,其中块参数由我定义。因此,如果我使用这些模块并将它们互连,模拟应基于我支持这些参数的方程式。 – 2015-02-11 09:29:14

+0

例如。假设块1具有参数a,b,c,块2具有参数x,y,z,并且我有几个关于所有这些参数的等式,如w = a/x;等等,我拖放这两个块到我的simulink工作区并将它们互连起来,当我点击RunSimulation选项(我在GUI中提供的第一个问题中提到的int)时,编译器必须识别包含这些方程的文件并在GUI中绘制曲线图。因此,我的疑问是如何在Mfile中的函数定义中指定块参数(a,b,c,x,y,z) – 2015-02-11 09:29:30

回答

1

您的问题仍然不清楚,但它听起来像你试图访问/更改基于用户在GUI中输入(如果我错了,纠正我)的模型的块参数。执行此操作的功能是get_param(读取块参数)和set_param(更改它们)。

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

+0

我很欣赏响应。但问题是库中显示的块(如屏幕截图所示)是由我创建的。它们不是在MATLAB库中预定义的。因此输入到块中的参数对于MATLAB编译器也是未知的。只有我知道与块中的参数相关的方程。因此,当我使用SIM运行模型时,编译器将查找包含参数/相关参数的文件。那必须由我创造,不是吗? – 2015-02-13 02:23:02

+0

是的,我可以看到这些块是定制的,但是在面罩下面肯定有标准块组合在一起的数学表示,它不仅仅是一个空壳? Simulink的重点不在于写出方程式。它是一个建模和仿真工具,而不是一个简单的绘图工具。将块连接在一起时,可以创建模型的数学方程,并且一旦拥有正确的参数,就可以准备好数学模型。当你用'sim'模拟模型时,它将计算模型的所有方程并尝试解决它们。 – am304 2015-02-13 07:44:28

相关问题