1 模块的操作
模块分为2种,非虚拟模块和虚拟模块;
非虚拟模块在仿真过程中起作用,虚拟模块在仿真过程中不起作用,只是帮助以图形方式管理模型。
拖动到目标模型窗口中的模块可以利用鼠标或键盘上的上下左右方向键移动到新的位置;
在拷贝模块时,新模块会继承源模块的所有参数值;
如果要把模块从一个窗口移动到另一个窗口,则在选择模块的同时要按下Shift键;
能够用鼠标从模块的输出端口到另一模块的输入端口绘制连线;
也能够由simulink自动连接,先用鼠标选择模块,然后按下Ctrl键,再用鼠标单击目的模块;
假如要把一组源模块与一种目的模块连接,先选择这组源模块,然后按下Ctrl键,再用鼠标单击目的模块;
========
2 MATLAB simulink基本模块操作代码
在MATLAB的Simulink中,基本模块包括数学运算模块、逻辑运算模块、lookup表模块等。以下是一些基本模块的实例代码:
加法模块(Gain):
% 创建一个以时间为输入的简单加法模块
clc;
clear;
close_system('default');
% 创建一个新的模拟模型
open_system('new_system');
% 创建一个以时间为输入的源模块
create('block', 'Time', 'In1');
% 创建一个加法模块,设置其系数为5
create('block', 'Gain', 'In1', 'Out1', '5');
% 创建一个加法模块,直接连接到Out1,设置其系数为10
create('block', 'Gain', 'In1', 'Out1', '10');
% 创建一个sink模块来可视化输出
create('block', 'Scope', 'In1');
% 连接模块
connect('Time/Out1', 'Gain/In1');
connect('Gain/Out1', 'Scope/In1');
% 创建一个以时间为输入的源模块
create('block', 'Time', 'In1');
% 创建一个加法模块,设置其系数为5
create('block', 'Gain', 'In1', 'Out1', '5');
% 创建一个加法模块,直接连接到Out1,设置其系数为10
create('block', 'Gain', 'In1', 'Out1', '10');
% 创建一个sink模块来可视化输出
create('block', 'Scope', 'In1');
% 连接模块
connect('Time/Out1', 'Gain/In1');
connect('Gain/Out1', 'Scope/In1');
乘法模块(Product):
% 创建一个简单的乘法模块
clc;
clear;
close_system('default');
% 创建一个新的模拟模型
open_system('new_system');
% 创建一个以时间为输入的源模块
create('block', 'Time', 'In1');
% 创建一个乘法模块,设置其系数为5
create('block', 'Product', 'In1', 'Out1', '5');
% 创建一个sink模块来可视化输出
create('block', 'Scope', 'In1');
% 连接模块
connect('Time/Out1', 'Product/In1');
connect('Product/Out1', 'Scope/In1');
查表模块(Lookup Table):
% 创建一个查表模块
clc;
clear;
close_system('default');
% 创建一个新的模拟模型
open_system('new_system');
% 创建一个以时间为输入的源模块
create('block', 'Time', 'In1');
% 创建一个查表模块,并加载数据
create('block', 'Lookup Table', 'In1', 'Out1');
load('LookupTableData.mat'); % 假设数据已经存储在LookupTableData.mat中
set_param('Lookup Table', 'Table', [0 1 2; 0 0.5 1]);
% 创建一个sink模块来可视化输出
create('block', 'Scope', 'In1');
% 连接模块
connect('Time/Out1', 'Lookup Table/In1');
connect('Lookup Table/Out1', 'Scope/In1');
这些代码片段展示了如何在Simulink中创建和连接基本的模块。开发者可以通过调整代码中的参数来修改
========
3 如何对matlab/simulink中的模块进行批量名称与赋值修改
代码:
Constant=find_system('system_1','BlockType','Constant','Value','Q(1)');
for j=1:length(Constant)
set_param(Constant{j},'Value',['Q(',erase(Constant{j},'system_1/Q'),')']);
end
Goto=find_system('system_1','BlockType','Goto','Gototag','W1');
for j=1:length(Goto)
set_param(Goto{j},'Gototag',erase(Goto{j},'system_1/'));
end
2110

被折叠的 条评论
为什么被折叠?



