主要内容gydF4y2Ba

编程建模基础gydF4y2Ba

您可以执行大多数仿真软件金宝appgydF4y2Ba®gydF4y2BaMATLAB建模基础编程gydF4y2Ba®gydF4y2Ba命令窗口,比如创建模型,添加块模型和设置参数。这些例子显示其中一些命令和如何使用它们。gydF4y2Ba

负荷模型gydF4y2Ba

模型将它加载到内存中但不打开它在模型编辑器中进行编辑。金宝app在加载模型之后,您可以通过编程方式使用它。您可以使用仿真软件编辑器来编辑模金宝app型只有在你打开模型。gydF4y2Ba

加载系统中,使用gydF4y2Baload_systemgydF4y2Ba命令。例如,加载gydF4y2BavdpgydF4y2Ba模型,在MATLAB命令提示符,输入:gydF4y2Ba

load_system (vdp)gydF4y2Ba

创建一个模型和指定参数设置gydF4y2Ba

您可以编写一个函数,创建一个模型并使用你喜欢的设置。例如,这个函数创建一个模型,有一个绿色的背景和使用ode3解算器:gydF4y2Ba

函数new_model (modelname) % new_model创建一个新的、空的仿真软件模型% new_model 金宝app(modelname)创建一个新的模型与%“modelname”这个名字。没有“MODELNAME”%的论点,名为“my_untitled”的新模型。如果输入参数个数= = 0 modelname =“my_untitled”;结束%创建和打开模型open_system (new_system (modelname));%设置默认屏幕颜色set_param (modelname“ScreenColor”、“绿色”);%设置默认解决set_param (modelname‘解决’,‘ode3’);%保存模型save_system (modelname);gydF4y2Ba

当打开一个模型编程加载变量gydF4y2Ba

如果你分配一个变量作为一个整体参数值,您必须定义在模型中变量的值。看到gydF4y2Ba创建一个模型gydF4y2Ba。您可以定义变量编程方式使用gydF4y2BaPreloadFcngydF4y2Ba回调的gydF4y2Baset_paramgydF4y2Ba函数。使用这种形式的函数:gydF4y2Ba

set_param (“mymodel”、“PreloadFcn”、“表达”)gydF4y2Ba

表达式gydF4y2Ba是一个MATLAB命令或MATLAB脚本MATLAB搜索路径。这个命令集模型gydF4y2BaPreloadFcngydF4y2Ba回调到您指定的值。保存模型保存设置。gydF4y2Ba

例如,当你在MATLAB脚本中定义的变量gydF4y2Baloadvar.mgydF4y2Ba为模型gydF4y2Bamodelname.slxgydF4y2Ba使用此命令:gydF4y2Ba

set_param (“modelname”、“PreloadFcn”、“loadvar”)gydF4y2Ba
分配的变量gydF4y2BaKgydF4y2Ba的值gydF4y2Ba15gydF4y2Ba使用此命令:gydF4y2Ba

set_param (' modelname ', ' PreloadFcn ', ' K = 15 ')gydF4y2Ba

在您保存模型之后,gydF4y2BaPreloadFcngydF4y2Ba回调执行当你的下一个开放模型。gydF4y2Ba

以编程方式添加和连接块gydF4y2Ba

这个例子展示了如何使用函数以编程方式添加块和连接块。一旦你有块添加到模型中,您使用三种不同的方法来连接:路由线路、端口处理和端口id。路由线路允许您指定的(x, y)坐标所有连接的线段的端点。港口处理和端口id允许连接线路阻塞端口,而无需知道港口位置坐标。gydF4y2Ba

创建和打开一个空白模型名为“gydF4y2BamymodelgydF4y2Ba”。gydF4y2Ba

添加模块,包括一个子系统。使用gydF4y2Ba位置gydF4y2Ba数组的gydF4y2Baset_paramgydF4y2Ba功能块的大小和位置。设置左上角和右下角块角落使用(x, y)坐标。gydF4y2Ba

add_block(模金宝app型/资源/正弦波,mymodel / Sine1);set_param (“mymodel / Sine1”、“位置”,(140、80180120));add_block(模金宝app型/资源/脉冲发生器,mymodel / Pulse1);set_param (“mymodel / Pulse1”、“位置”,[140200180240]);add_block(模金宝app型/港口和子系统/子系统,mymodel / Subsystem1);set_param (“mymodel / Subsystem1”、“位置”,[315120395200]);add_block(模金宝app型/水槽/范围,“mymodel / Scope1”);set_param (“mymodel / Scope1”、“位置”,[535140575180]);gydF4y2Ba

内部gydF4y2BaSubsystem1gydF4y2Ba、删除默认的之间的联系gydF4y2Ba三机一体gydF4y2Ba和gydF4y2Ba着干活gydF4y2Ba。此外,添加第二个输入端口通过复制和重命名gydF4y2Ba三机一体gydF4y2Ba从一块库。gydF4y2Ba

delete_line (‘mymodel / Subsystem1’、‘In1/1’,‘Out1/1’);add_block(模金宝app型/资源/ In1, mymodel / Subsystem1 In2);gydF4y2Ba

重新定位内部输入和输出端口块内gydF4y2BaSubsystem1gydF4y2Ba。gydF4y2Ba

set_param (“mymodel / Subsystem1 In1”,“位置”,[50 50、90、70]);set_param (“mymodel / Subsystem1 In2”,“位置”,(50130、90150));set_param (“mymodel / Subsystem1 /着干活”、“位置”,(500、80540100));gydF4y2Ba

插入和位置一个gydF4y2Ba添加gydF4y2Ba块内gydF4y2BaSubsystem1gydF4y2Ba。gydF4y2Ba

add_block(“金宝app数学仿真软件/操作/添加”,“mymodel / Subsystem1 / Add1”);set_param (“mymodel / Subsystem1 Add1”,“位置”,(250、80290120));gydF4y2Ba

接下来,添加线连接所有的块模型。首先连接gydF4y2BaSine1gydF4y2Ba和gydF4y2BaPulse1gydF4y2Ba块使用路由线路。gydF4y2Ba

找到的(x, y)坐标gydF4y2BaSine1gydF4y2Ba输出端口。gydF4y2Ba

Sine1_Port = get_param (“mymodel / Sine1”、“PortConnectivity”)gydF4y2Ba

Sine1_Port =结构体字段:类型:' 1 '位置:100年[185]SrcBlock: [] SrcPort: [] DstBlock:[1×0双]DstPort:[1×0双]gydF4y2Ba

get_paramgydF4y2Ba显示端口位置(185 100)。gydF4y2Ba

找到的(x, y)坐标gydF4y2BaPulse1gydF4y2Ba输出端口。gydF4y2Ba

Pulse1_Port = get_param (“mymodel / Pulse1”、“PortConnectivity”)gydF4y2Ba

Pulse1_Port =结构体字段:类型:' 1 '位置:220年[185]SrcBlock: [] SrcPort: [] DstBlock:[1×0双]DstPort:[1×0双]gydF4y2Ba

get_paramgydF4y2Ba显示端口位置(185 220)。gydF4y2Ba

连接的输出gydF4y2BaSine1gydF4y2Ba第一个输入gydF4y2BaSubsystem1gydF4y2Ba使用三个部分的路由线路。gydF4y2Ba

add_line (“mymodel”, [185 100;275 100]);add_line (“mymodel”, [275 100;275 140]);add_line (“mymodel”, [275 140;310 140]);gydF4y2Ba

连接的输出gydF4y2BaPulse1gydF4y2Ba第二个输入gydF4y2BaSubsystem1gydF4y2Ba使用三个部分的路由线路。gydF4y2Ba

add_line (“mymodel”, [185 220;275 220]);add_line (“mymodel”, [275 220;275 180]);add_line (“mymodel”, [275 180;310 180]);gydF4y2Ba

使用gydF4y2Baget_paramgydF4y2Ba把端口处理模块的连接。然后使用块连接的输出端口句柄gydF4y2BaSubsystem1gydF4y2Ba的输入gydF4y2BaScope1gydF4y2Ba。gydF4y2Ba

SubsysPortHandles = get_param (mymodel / Subsystem1 ', ' PortHandles ');ScopePortHandles = get_param (mymodel / Scope1 ', ' PortHandles ');add_line (mymodel, SubsysPortHandles.Outport (1)……ScopePortHandles.Inport (1));gydF4y2Ba

使用端口名称和id连接gydF4y2BaAdd1gydF4y2Ba块内gydF4y2BaSubsystem1gydF4y2Ba子系统的输入和输出。金宝app仿真软件使用最直接的路径连接端口。gydF4y2Ba

add_line (‘mymodel / Subsystem1’、‘In1/1’,‘Add1/1’);add_line (‘mymodel / Subsystem1’、‘In2/1’,‘Add1/2’);add_line (‘mymodel / Subsystem1’、‘Add1/1’,‘Out1/1’);gydF4y2Ba

以编程方式通过块注释或者评论gydF4y2Ba

查看或更改评论的一块编程,使用gydF4y2Baget_paramgydF4y2Ba和gydF4y2Baset_paramgydF4y2Ba命令。gydF4y2Ba

  • 查看评论的一块:gydF4y2Ba

    get_param (gcb,“评论”);gydF4y2Ba

  • 注释掉一块:gydF4y2Ba

    set_param (gcb,“评论”,“上”);gydF4y2Ba

  • 通过一块评论:gydF4y2Ba

    set_param (gcb,“评论”,“通过”);gydF4y2Ba

  • 取消注释块:gydF4y2Ba

    set_param (gcb,“评论”,“关闭”);gydF4y2Ba

名字一个信号以编程方式gydF4y2Ba

  1. 选择的源信号的屏蔽线。gydF4y2Ba

  2. 使用gydF4y2Baget_paramgydF4y2Ba分配的端口处理变量的当前选择的块gydF4y2BapgydF4y2Ba。使用gydF4y2Baget_paramgydF4y2Ba分配的处理线连接到该端口的变量gydF4y2BalgydF4y2Ba。然后设置信号线路的名称gydF4y2Ba“s9”gydF4y2Ba。gydF4y2Ba

p = get_param (gcb PortHandles) l = get_param (p.Outport,“线”)set_param (l '名称',' s9 ')gydF4y2Ba

安排模型自动布局gydF4y2Ba

您可以使用gydF4y2Ba金宝appSimulink.BlockDiagram.arrangeSystemgydF4y2Ba命令你的模型。这个命令将输入块在左边,右边输出模块和模型元素之间的输入和输出列。命令只影响一次一层。gydF4y2Ba

您可以使用gydF4y2Ba金宝appSimulink.BlockDiagram.routeLinegydF4y2Ba命令路由现有的模型。路由现有铁路提高线路的质量和避免重叠线与其他线路模型和障碍。gydF4y2Ba

虽然您可以使用这些命令与任何开放的模式,他们与模型构建以编程方式尤其有用。例如,看到的gydF4y2Ba安排以编程方式填充模型gydF4y2Ba。gydF4y2Ba

在多个窗口打开相同的模型gydF4y2Ba

当您打开一个模型,该模型在模型编辑器窗口。金宝app例如,如果你有一个模型打开然后你打开第二个模型,第二个模型出现在第二个窗口。gydF4y2Ba

开在两模型编辑器窗口相同的模型,在MATLAB命令提示符,输金宝app入gydF4y2Baopen_systemgydF4y2Ba命令,并使用gydF4y2Ba窗口gydF4y2Ba论点。例如,如果你有gydF4y2BavdpgydF4y2Ba模型打开,打开另一个实例gydF4y2BavdpgydF4y2Ba模型中,输入:gydF4y2Ba

open_system (vdp,“窗口”)gydF4y2Ba

定位图元素使用高亮显示gydF4y2Ba

突出一块,行、港口或注释在一个开放的模式,使用gydF4y2Bahilite_systemgydF4y2Ba。gydF4y2Ba

以编程方式指定颜色gydF4y2Ba

您可以使用gydF4y2Baset_paramgydF4y2Ba命令在MATLAB命令行或MATLAB程序设置参数,确定一个图的背景色和背景色和前景色图元素。下表总结了参数,控制方块图颜色。gydF4y2Ba

参数gydF4y2Ba 决定了gydF4y2Ba

ScreenColorgydF4y2Ba

框图背景gydF4y2Ba

写成BackgroundColorgydF4y2Ba

块和注释的背景gydF4y2Ba

ForegroundColorgydF4y2Ba

块和注释的前景gydF4y2Ba

颜色参数命名颜色或一个RGB值。gydF4y2Ba

  • 命名的颜色:gydF4y2Ba“自动”gydF4y2Ba,gydF4y2Ba“黑”gydF4y2Ba,gydF4y2Ba“白色”gydF4y2Ba,gydF4y2Ba“红色”gydF4y2Ba,gydF4y2Ba“绿色”gydF4y2Ba,gydF4y2Ba“蓝”gydF4y2Ba,gydF4y2Ba“青色”gydF4y2Ba,gydF4y2Ba“红色”gydF4y2Ba,gydF4y2Ba“黄色”gydF4y2Ba,gydF4y2Ba“灰色”gydF4y2Ba,gydF4y2Ba“lightBlue”gydF4y2Ba,gydF4y2Ba“橙”gydF4y2Ba,gydF4y2Ba暗绿色的gydF4y2Ba

  • RGB值:gydF4y2Ba“(r, g, b)”gydF4y2Ba

    在哪里gydF4y2BargydF4y2Ba,gydF4y2BaggydF4y2Ba,gydF4y2BabgydF4y2Ba是红色、绿色和蓝色的组件的颜色标准化范围gydF4y2Ba0.0gydF4y2Ba来gydF4y2Ba1.0gydF4y2Ba。gydF4y2Ba

例如,下面的命令集当前选择的系统或子系统的背景颜色淡绿的颜色:gydF4y2Ba

set_param (gcs、“ScreenColor”,“(0.3, 0.9, 0.5)”)gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba

相关的话题gydF4y2Ba