Simulin金宝appk上的家伙

金宝app基于Simulink和模型的设计

使用MATLAB代码构建模型

偶尔,我会使用Matlab命令构建,修改和添加块的疑问。金宝app在这篇文章中,我将提供一个基本概述的共同点模型建设命令

内容

从一个新系统开始

因为在从M代码执行模型构造时需要引用系统,所以我立即在调用的变量中保存关闭SYS.。这new_system.命令在内存中创建了空模型,您必须致电Open_System.在屏幕上显示它。

sys ='testmodel';new_system(sys)%创建模型Open_System(SYS)%打开模型

添加块和线路

当我向画布添加块时,我指定了提供适当布局的位置。位置参数提供块的左上角(x,y)和右下右(x + w,y + h)角。x和y值相对于画布左上角的原点(0,0);x向右增加,Y增加。要保持我的布局组织,我使用标准块大小30乘30,以及60的偏移量。

x = 30;y = 30;w = 30;H = 30;offset = 60;

我喜欢带有略微不同比例的港口,因此我将它们定义为其他块的高度。add_block.指定定义块名称的源块和目标路径。块名称对于给定系统必须是唯一的add_block.提供A.makenameunique选项。(这里没有使用)

pos = [x y + h / 4 x + w y + h * .75];add_block('内置/ inport',[sys.'/ in1'],'位置',pos);

我将添加一个集成器块,偏移到Inport的右侧。

pos = [(x +偏移)y(x +偏移)+ w y + h];add_block('内置/ Integrator',[sys.'/ int1'],'位置',pos)

要连接块,调用add_line并提供系统名称,源端口和目标端口。港口由此指定'blockname / portnum'格式。默认行路由是从源到目的地的直接线路连接。我更喜欢使用autorouting.选项。

add_line(sys,'In1 / 1''int1 / 1''autorouting''在'

添加多个块和行时,我将它们分组add_block / add_line.对保持自己组织。

pos = [(x +偏移* 2)y(x +偏移* 2)+ w y + h];add_block('内置/ Integrator',[sys.'/ int2'],'位置',pos)add_line(sys,'int1 / 1''int2 / 1''autorouting''在')POS = [(x +偏移* 2)y +偏移(x +偏移* 2)+ w(y +偏移)+ h];add_block('内置/范围',[sys.'/ scope1'],'位置',pos)add_line(sys,'int1 / 1''范围1/1''autorouting''在'

删除块和线条

删除块时,我打电话delete_line.delete_block.。这与我之前所做的事情相反。命令被分组delete_line / delete_block.对。对于此示例,我将删除积分器INT2.,并添加一个出口。

delete_line(sys,'int1 / 1''int2 / 1')delete_block([sys'/ int2'])pos = [(x +偏移* 2)y + h / 4(x +偏移* 2)+ w y + h * .75];add_block('内置/出口',[sys.'/ out1'],'位置',pos)add_line(sys,'int1 / 1''out1 / 1'

更换块

有时你真的不想删除一个块,你只是替换它。replace_block.为您提供替换匹配特定标准的所有块的功能。我仔细阅读了阅读文档以更好地了解这个功能。

replace_block(sys,'姓名''in1''内置/罪''noprompt');set_param([sys'/ in1'],'位置',[x y x + w y + h],'姓名''正弦波');

[t,x,y] = sim(sys);绘图(t,y),ylim([ - 。5 2.5]),网格

现在轮到你了

你使用模型建设命令吗?为什么余弦不在零下交叉?给一个在这里评论随着你的想法。




发布MATLAB®7.9

|

注释

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。