目录
new_system的功能是在内存中创建 Simulink 模型或库。
语法
h = new_system
h = new_system(name)
h = new_system(name,'FromTemplate',template)
h = new_system(name,'FromFile',file)
h = new_system(___,'ErrorIfShadowed')
h = new_system(name,'Model')
h = new_system(name,'Model',subsys)
h = new_system(name,'Subsystem')
h = new_system(name,'Library')
h = new_system(___,'ErrorIfShadowed')
说明
h = new_system 根据您的默认模型模板创建名为 untitled(随后为 untitled1、untitled2,依此类推)的模型,并返回新模型的数值句柄。在 Simulink® 起始页上或使用 Simulink.defaultModelTemplate 函数选择您的默认模型模板。
new_system 函数不会打开新模型。此函数在内存中创建模型。要保存模型,请使用 save_system,或使用 open_system 打开模型,然后使用 Simulink 编辑器保存模型。
h = new_system(name) 根据您的默认模型模板创建模型,并为新模型赋予指定的名称。此函数返回新模型的数值句柄。在 Simulink 起始页上或使用 Simulink.defaultModelTemplate 函数选择您的默认模型模板。
如果 name 为空,此函数将创建名为 untitled、untitled1、untitled2 等的模型。
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 为空,此函数将创建名为 untitled、untitled1、untitled2 等的模型或库。
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')
open_system(h)
open_system('untitled')
open_system(get_param(h,'Name'))
ans =
untitled
使用名称、句柄或 get_param 命令作为 open_system 的输入。可以使用以下任一命令:
根据已命名模板创建模型
在使用此语法之前,请先创建模板。在 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。根据 Controller 子系统创建模型。
load_system('f14');
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'
输入参数
name
— 新模型或库的名称
新模型或库的名称,指定为满足以下条件的字符向量:
-
具有 63 个或更少字符
-
不是 MATLAB 关键字
-
不是 'simulink'
-
在 MATLAB 路径和工作区中的模型名称、变量和 MATLAB 文件中是唯一的
示例:'mymodel', 'mylibrary'
subsys
— 新模型依据的子系统
新模型依据的子系统,指定为当前打开的模型中的子系统模块路径名称。
示例:'f14/Controller'
template
— 新模型依据的模板的名称
新模型依据的模板的名称,指定为 MATLAB 路径中模板的名称的字符向量。在 Simulink 编辑器中创建模板。在仿真选项卡中,选择保存 > 模板。
示例: 'mytemplate', 'mytemplate.sltx'
file
— 新模型所依据的模型或模板的路径名称
新模型所依据的模型或模板的路径名称,指定为字符向量。您可以使用 .mdl、.slx 或 .sltx 文件。包含扩展名并使用完整路径或相对路径。
示例:'Models/mymodel.slx', 'mytemplate.sltx', 'model.mdl'