我想编写一个包含simulink块的matlab函数 . 该函数应将数据加载到simulink模型中,运行它,然后从函数返回数据 .

我能想到的唯一方法就是在simulink中使用'To Workspace'和'From Workspace'块 . 问题是'From Workspace'块不从功能范围中获取变量,只从工作空间范围中获取变量 .

下面是我能想到的唯一解决方案,它基本上将传入的向量转换为字符串,然后创建一个在模型启动时被调用的函数(实际上这与eval一样糟糕) .

这是代码:

function [ dataOut ] = run_simulink( dataIn )

% Convert data to a string (this is the part I would like to avoid)

variableInitString = sprintf('simin = %s;', mat2str(dataIn));

% we need both the name and the filename

modelName = 'programatic_simulink';

modelFileName = strcat(modelName,'.slx');

% load model (without displaying window)

load_system(modelFileName);

% Set the InitFcn to the god awful string

% this is how the dataIn actually gets into the model

set_param(modelName, 'InitFcn', variableInitString);

% run it

sim(modelName);

% explicity close without saving (0) because changing InitFcn

% counts as changing the model. Note that set_param also

% creates a .autosave file (which is deleted after close_system)

close_system(modelName, 0);

% return data from simOut that is created by simulink

dataOut = simout;

end

你运行它是这样的: run_simulink([0 0.25 0.5 0.75; 1 2 3 4]') 矩阵的第一部分是时间向量 .

最后,这是底层的simulink文件,其工作区块属性打开以保证完整性 .

(如果图像模糊,点击放大)

如果没有 mat2str() 和 sprintf() ,有没有更简洁的方法呢? sprint 行需要永远运行,即使是大小为50k的向量也是如此 .

matlab from有什么用,Matlab函数使用'fromworkspace'将向量传递给simulink相关推荐

  1. matlab实战中一些重要的函数总结

    这段时间看了一些大型的matlabproject文件(如:faster r-cnn),对于project中常常要用到的一些函数进行一个总结. 1.路径问题. 这主要涵括文件路径的包括和组合. curd ...

  2. 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )

    文章目录 一.Matlab 卷积和多项式乘法 conv 函数 二.使用 matlab 代码求卷积并绘图 一.Matlab 卷积和多项式乘法 conv 函数 Matlab 文档地址 : https:// ...

  3. MATLAB实现最优低通滤波器的函数

    MATLAB实现最优低通滤波器的函数 % Fs     --Data rate % Fpass  --pass band % Fstop  --Cutoff frequencies % Apass  ...

  4. MATLAB实用知识,如何对函数的输入进行检查和解析?

    为什么要对函数的输入进行检查 在工程计算中,如果一个函数的输入有错误,我们总是希望能够尽早的通过对输入的检查,捕捉到这些错误,并及时终止程序.这样做的原因是,如果等到程序运行时出错或者运行结束后计算结 ...

  5. 2021-02-23 Matlab数据导入--importdata和load函数

    Matlab数据导入--importdata和load函数 importdata和load函数 1.引言 在使用matlab将数据导入到工作空间的时候,经常会使用到两个函数,一个是importdata ...

  6. Matlab内置的矩阵反转函数

    发现了两个Matlab内置的矩阵翻转函数: flipud 上下反转 up - down fliplr 左右反转 left - right 来张图像试一下: girl = imread('girl-bo ...

  7. matlab语言中的assert断言函数

    1.MATLAB语言没有系统的断言函数,但有错误报告函数 error 和 warning.由于要求对参数的保护,需要对输入参数或处理过程中的一些状态进行判断,判断程序能否/是否需要继续执行.在matl ...

  8. matlab 求n 的和,MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的...

    点击查看MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的具体信息 答:myfactorial = @(n) factorial(n) myfactorial = @(n) pro ...

  9. matlab在命令行和脚本,MATLAB学习笔记—函数与脚本

    函数-Function MATLAB自带了丰富的函数,当然我们也可以自定义函数来实现自己想要的功能. 比如:rand(3,4) 就能生成3×4的数表,每个数在0~1之间. 输入edit编辑新文件 fu ...

最新文章

  1. 对Oracle中索引叶块分裂而引起延迟情况的测试和分析
  2. pku 2954 Triangle pku 1265 Area Pick定理的应用 + 叉积求多边形面积
  3. Android Studio对于Java8特性的支持
  4. ios did receive memory warning
  5. oracle集群数据库事务配置,在 .NET中使用Oracle数据库事务-安装配置-Oracle频道-中国IT实验室...
  6. [摘录]第10章 培养胜过对手的力量
  7. 刷爆了!国企33岁程序员年入40w,直言:想降薪进阿里钻研技术
  8. 中关村程序员的 996 强制加班与工作效率成正比吗?
  9. 将谷歌浏览器设置为黑色主题背景 超酷炫黑
  10. lis中hl7接口 java_hl7接口开发商中文使用手册
  11. 阿里云OSS配制域名及SSL证书教程
  12. 人脸识别-驾驶疲劳检测(1) 眨眼检测
  13. Python身体质量指数BMI
  14. while(true) Thread.Sleep(XX)我通常是用这种写法,有没有更好的写法或者改进
  15. 高并发其实挺容易的,当你明白了一万并发的原理,然后扩展到百万、千万、亿万级很easy
  16. 10G PON 进入到全面部署阶段
  17. 最新Mybatis插入数据返回自增主键详细配置
  18. DGIOT智慧园区/智慧场馆数字驾驶舱
  19. 纯小白操作淘宝C店的第一天
  20. Hexo博客框架的搭建与使用

热门文章

  1. 数学差、物理差、英语又烂的放牛娃,后来竟成了清华校长,还做出了诺奖级的研究成果!...
  2. 导师什么时候会放弃学生?
  3. 4位院士的4个正确决定,成功扭转疫情!建议人人都该知道
  4. 如何应对视觉深度学习存在的问题
  5. 高铁上的排泄物都哪里去了,真的是“一泻千里”吗?
  6. 盘点那些有“数学味”的建筑
  7. kafka中topic默认属性_分享:Kafka 的 Lag 计算误区及正确实现
  8. 多任务学习模型之ESMM介绍与实现
  9. RebatesMe:返利网站DDOS防护
  10. AI技术的“践行者” — 云测试成为企业降本增效利器