Main Content

new_system

在内存中创建 Simulink 模型或库

说明

示例

h = new_system 根据您的默认模型模板创建名为 untitled(随后为 untitled1untitled2,依此类推)的模型,并返回新模型的数值句柄。在 Simulink® 起始页上或使用 Simulink.defaultModelTemplate 函数选择您的默认模型模板。

new_system 函数不会打开新模型。此函数在内存中创建模型。要保存模型,请使用 save_system,或使用 open_system 打开模型,然后使用 Simulink 编辑器保存模型。

h = new_system(name) 根据您的默认模型模板创建模型,并为新模型赋予指定的名称。此函数返回新模型的数值句柄。在 Simulink 起始页上或使用 Simulink.defaultModelTemplate 函数选择您的默认模型模板。

为了避免遮蔽,如果 name 为空,则 new_system 函数将检查在路径上加载的模型和文件,并使用下一个可用名称 untitleduntitled1untitled2 等创建一个模型。

new_system 函数不会打开新模型。此函数在内存中创建模型。要保存模型,请使用 save_system,或使用 open_system 打开模型,然后使用 Simulink 编辑器保存模型。

示例

h = new_system(name,'FromTemplate',template) 根据指定的模板创建模型。

示例

h = new_system(name,'FromFile',file) 根据指定的模型或模板创建模型。

示例

h = new_system(___,'ErrorIfShadowed') 创建模型;如果 MATLAB® 路径或工作区中存在同名的其他模型、MATLAB 文件或变量,则返回一个错误。它可使用上述语法中的任何输入参量。

示例

h = new_system(name,'Model') 根据 Simulink 默认模型创建空模型并返回新模型的数值句柄。Simulink 默认模型也称为根模块图,具有数值句柄 0。如果 name 为空,此函数将创建名为 untitleduntitled1untitled2 等的模型或库。

new_system 函数不会打开新模型。此函数在内存中创建模型。要保存模型,请使用 save_system,或使用 open_system 打开模型,然后使用 Simulink 编辑器保存模型。

示例

h = new_system(name,'Model',subsys) 根据当前加载的模型中的子系统 subsys 创建模型。

示例

h = new_system(name,'Subsystem') 创建具有指定名称的空子系统文件。

示例

h = new_system(name,'Library') 创建具有指定名称的空库,并返回一个数值句柄。

示例

如果 MATLAB 路径或工作区中存在同名的其他模型、MATLAB 文件或变量,h = new_system(___,'ErrorIfShadowed') 将返回一个错误。此语法可使用上述语法中的任何输入参量。

示例

全部折叠

在内存中创建名为 untitled 的模型。

h = new_system;

您可以使用 get_param 函数来获取名称。

get_param(h,'Name')
ans =

    'untitled'

使用名称、句柄或 get_param 函数作为 open_system 函数的输入。

open_system('untitled')
open_system(h)
open_system(get_param(h,'Name'))

在 Simulink 编辑器中,创建要用作模板的模型。然后,在仿真选项卡中,选择保存 > 模板。对于本示例,将模板命名为 mytemplate

默认情况下,该模板位于 MATLAB 路径中,因此如果您更改模板位置,请将文件夹添加到 MATLAB 路径中。

根据模板 mytemplate 创建名为 templateModel 的模型。

h = new_system('templateModel','FromTemplate','mytemplate');
Invoking template \\myuserdir\Documents\MATLAB\mytemplate.sltx

基于当前文件夹中名为 myoldmodel 的现有模型,创建一个名为 mynewmodel 的模型。

h = new_system('mynewmodel','FromFile','myoldmodel.slx');

您可以创建一个包含您指定的子系统的新模型。

打开示例。然后,加载 f14 模型。

load_system('f14');

创建一个包含 Controller 子系统的新模型。

new_system('mycontroller','Model','f14/Controller');

打开一个新的模型。

open_system('mycontroller');

在内存中创建一个库,然后将其打开。

new_system('mylib','Library')
open_system('mylib')

在内存中创建一个子系统文件,然后打开该子系统文件。

new_system('mysubsystem','Subsystem')
open_system('mysubsystem')

创建一个名为 myvar 的变量。

myvar = 17;

尝试创建一个与该变量同名的模型。当使用 'ErrorIfShadowed' 选项时,new_system 函数将返回一个错误。

new_system('myvar','Model','ErrorIfShadowed')
The model 'myvar' cannot be created because this name is shadowing another name on the MATLAB
path or in the workspace. Choose another name, or do not use the option 'ErrorIfShadowed'

输入参数

全部折叠

新模型或库的名称,指定为满足以下条件的字符向量:

  • 具有 63 个或更少字符

  • 不是 MATLAB 关键字

  • 不是 'simulink'

  • 在 MATLAB 路径和工作区中的模型名称、变量和 MATLAB 文件中是唯一的

示例: 'mymodel', 'mylibrary'

新模型依据的子系统,指定为当前打开的模型中的子系统模块路径名称。

示例: 'f14/Controller'

新模型依据的模板的名称,指定为 MATLAB 路径中模板的名称的字符向量。在 Simulink 编辑器中创建模板。在仿真选项卡中,选择保存 > 模板

示例: 'mytemplate', 'mytemplate.sltx'

新模型所依据的模型或模板的路径名称,指定为字符向量。您可以使用 .mdl.slx.sltx 文件。包含扩展名并使用完整路径或相对路径。

示例: 'Models/mymodel.slx', 'mytemplate.sltx', 'model.mdl'

版本历史记录

在 R2006a 之前推出