我是靠谱客的博主 娇气外套,最近开发中收集的这篇文章主要介绍用Matlab的.m文件运行 Simulink 搭建的子系统,对子函数进行输入赋值,运行,输出读取Matlab·Simulink的使用—【子系统的创建与封装】,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Simulink上搭建一个子函数,
可以参照以下教程
Matlab·Simulink的使用—【子系统的创建与封装】
上述教程搭建的是固定输入,输出通过Scope 查看,对于大的系统工程来说不便于模块化使用。
在该步骤基础上,subsystem的输入改成from work space,重命名成inport。
输出改成 to work space。同样重命名输出。就可以获得如图一所示simulink图。
对子函数里的变量,可以用常数给定。为了便于从.m文件更改,在此我们称这两个值为m、n。
Matlab的.m文件运行 Simulink 搭建的子系统
创建.m文件,假如子系统的名字为A.slx ,.m文件一般命名为 test_A.m。放在同一个文件夹。
首先对子函数里的变量赋值
m=1;
n=15;
输入赋值
% load the input data into simulink
import.time = 0:0.01:1;
import.signals.values = 10*sin(5*import.time)'; %
import.signals.dimension = 1;
注意在绘制子函数输入 ,不需要对输入进行设置。这些设置均通过上述代码实现。
输入通过一个结构体,设定输入信号的时间x和信号随时间的函数y=f(x)的转置。(转置的符号是单引号 ’ )。dimension保持默认1。
函数运行,输出读取
% run simulink in discreted time mode
stop_time = '1'; %
model = sim('gain_add','StartTime','0','StopTime',stop_time,'SimulationMode','normal');
gain_out1 = model.get('out1');
gain_out2 = model.get('out2');
绘制输出进行查看
% plot the cic output
figure;
plot(gain_out1, 'r+');
hold on;
plot(gain_out2, 'b');
title('the gain output');
最后
以上就是娇气外套为你收集整理的用Matlab的.m文件运行 Simulink 搭建的子系统,对子函数进行输入赋值,运行,输出读取Matlab·Simulink的使用—【子系统的创建与封装】的全部内容,希望文章能够帮你解决用Matlab的.m文件运行 Simulink 搭建的子系统,对子函数进行输入赋值,运行,输出读取Matlab·Simulink的使用—【子系统的创建与封装】所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复