我是使用 Simulink 的新手,并且一直在创建一些具有大约五个输入和五个输出的模型/库。据我所知,我可以从工作区读取一个变量并将其写入库中的工作区,或者我可以使用 inports 和 outports 来完成同样的事情。
一种方法通常比另一种更好吗?我认为每个都有其优点和缺点,但我还没有发现它们。
这类似于在进行 m 文件编程时决定使用函数还是脚本。以 inport/outports 作为其接口的模型就像一个函数,它定义了输入和输出。
我倾向于以类似于我的 m 文件程序的方式构建 simulink 模型。大多数模型都类似于函数。他们的所有 I/O 都有输入端口和输出端口。这种方法的好处是这些模型可以在其他环境中重复使用。您还可以稍后决定拥有这些模型的多个副本,如果所有 I/O 都使用相同的工作区变量,这将变得更加困难。
有时子模型需要一些在整个模型中通用的数据,对于这些值,我确实使用了工作区变量。我尝试将此保留为全局常量。
我创建了一个顶级模型,它使用可以直接从工作区或磁盘上的文件读取的数据来调用子模型。关键是,一旦子模型被定义为函数,您就可以自由地以各种方式构建顶层,这些方式可以随着开发的进展而演变。