MATLAB中new_system用法

目录

语法

说明

示例

根据默认模板创建模型

根据已命名模板创建模型

基于另一个模型创建模型

从子系统创建模型

创建库

创建子系统文件

确保模型名称是唯一的


        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');

如图所示:

mycontroller model created from the Controller subsystem of the f14 model

创建库

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

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'

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB,bus是一种数据类型,它允许您将多个数据元素组合到一起,并将其作为单个实体进行处理。您可以使用MATLAB的Simulink工具箱来创建和管理bus对象。以下是一些使用bus对象的示例: 1. 创建一个bus对象 您可以使用Simulink.Bus对象来创建bus对象。例如,以下代码创建一个名为myBus的bus对象: ``` myBus = Simulink.Bus; ``` 2. 定义bus对象的元素 您可以使用addHeader和addElement方法来定义bus对象的元素。以下代码示例定义了一个包含三个元素的bus对象: ``` myBus = Simulink.Bus; myBus.Elements(1).Name = 'Var1'; myBus.Elements(1).DataType = 'double'; myBus.Elements(2).Name = 'Var2'; myBus.Elements(2).DataType = 'int32'; myBus.Elements(3).Name = 'Var3'; myBus.Elements(3).DataType = 'boolean'; ``` 3. 使用bus对象 您可以使用bus对象来传输数据。例如,以下代码示例定义了一个名为myData的结构体,并将其赋值给myBus对象: ``` myData.Var1 = 1.23; myData.Var2 = int32(42); myData.Var3 = true; myBusData = myBus; myBusData.Var1 = myData.Var1; myBusData.Var2 = myData.Var2; myBusData.Var3 = myData.Var3; ``` 4. 在Simulink模型使用bus对象 您可以在Simulink模型使用bus对象作为输入或输出信号。例如,以下代码示例演示了如何在Simulink模型使用myBus对象: ``` % Create a new Simulink model sys = new_system('myModel'); % Add a bus creator block to the model add_block('Simulink/Sources/Bus Creator', [sys '/Bus Creator']); % Set the output data type of the bus creator block to myBus set_param([sys '/Bus Creator'], 'OutDataTypeStr', 'myBus'); % Connect the output of the bus creator block to a display block add_block('Simulink/Sinks/Display', [sys '/Display']); add_line(sys, 'Bus Creator/1', 'Display/1'); % Set the value of the bus creator block set_param([sys '/Bus Creator'], 'OutputSignals', 'myData'); ``` 上述示例代码创建了一个新的Simulink模型,并在该模型添加了一个bus creator块和一个display块。然后,它将myBus对象作为输出数据类型设置到bus creator块,并将myData结构体作为输出信号设置到bus creator块。最后,它将bus creator块的输出连接到display块,以便在模型运行时显示输出数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值