我是靠谱客的博主 娇气外套,最近开发中收集的这篇文章主要介绍用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的使用—【子系统的创建与封装】所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部