[分享]MATLAB m语言中调用simulink的程序

与前一篇出自同一朋友的博客

MATLAB m语言中调用simulink的程序

1.打开simulink模型的几种方式

% 打开文件对话框

[FileName, PathName, FilterIndex] = uigetfile({'*.mdl','Model-files (*.mdl)'}, '打开');

if FileName ~= 0

% 加载模型

load_system([PathName, FileName]);

end

% 新建一个模型

new_system('untitled', 'Model');

% 打开一个仿真模型

open_system([PathName, FileName]);

2.获取当前simulink的文件信息并显示

% 获取当前模型名称

set(handles.ModelNameEdit, 'String', get_param(gcs, 'Name'));

% 获取当前模型文件名称即文件路径

set(handles.SourceFileEdit, 'String', get_param(gcs, 'FileName'));

% 获取当前模型创建的时间

set(handles.CreatedOnEdit, 'String', get_param(gcs, 'Created'));

% 获取当前模型最近一次修改的时间

set(handles.LastSaveOnEdit, 'String', get_param(gcs, 'LastModifiedDate'));

% 获取当前simulink的版本

set(handles.VersionEdit, 'String', get_param(gcs, 'Version'));

%获取当前模型的版本

set(handles.ModelVersionEdit, 'String', get_param(gcs, 'ModelVersion'));

3.查找当前模型的所有block及对应的所有对话框参数

% 查找当前模型中的所有模块,为了方便,首先显示顶层模块,再显示其他层

BlocksTop = find_system(get(handles.ModelNameEdit, 'String'), 'SearchDepth', 1, 'Type', 'block');

BlocksAll = find_system(get(handles.ModelNameEdit, 'String'), 'Type', 'block');

AllBlocks = [BlocksTop; setdiff(BlocksAll, BlocksTop)];

% 显示所有参数,参数名称以struct的数据结构显示

ParameterStruct = get_param(Block,'DialogParameters');

% 参数struct结构体的域,得到参数的名称,以cell的数据结构显示

Parameters = fieldnames(ParameterStruct);

% 获取第一个参数的值

ParameterValue = get_param(Block, Parameters{1});

% 获取参数值类型

ValueStruct = ParameterStruct.(Parameters{1}) ;

ParameterType = ValueStruct.Type;

% 参数值的提示信息

ParameterPrompt = ValueStruct.Prompt;

ParameterEnum = ValueStruct.Enum;

ParameterAttributes = ValueStruct.Attributes;

4.修改某个参数的值

% 获取编辑框中的修改值

ChangedValue = get(handles.ParameterValueEdit, 'String');

try

% 尝试保存修改

set_param(Block, Parameter, ChangedValue);

catch

% 修改失败,弹出提示信息

errordlg([{['无法将', Block, ' 的 ', Parameter, '参数值修改为 ', ChangedValue]}; {'输入的参数值有误,请重新输入!'}], '错误', 'on');

% 恢复原来的值

set(handles.ParameterValueEdit, 'String', get_param(Block, Parameter));

end

5.查询模型中某些特点类型的block

% 查找当前模块中的subsystem

SubSystems = find_system(gcs, 'Type', 'block');

% 查找所有的Scope

AllScope = find_system(gcs, 'BlockType', 'Scope');

% 查找所有的ToFile

AllToFile = find_system(gcs, 'BlockType', 'ToFile');

% 查找所有的ToWorkSpace

AllToWorkSpace = find_system(gcs, 'BlockType', 'ToWorkspace');

matlab m 调用mdl,[分享]MATLAB m语言中调用simulink的程序相关推荐

  1. Matlab函数打包为.jar后在java中调用出现错误:Exception:com.mathworks.toolbox.javabuilder.MWException: An error occur

    Matlab函数打包为.jar后在java中调用出现错误:Exception:com.mathworks.toolbox.javabuilder.MWException: An error occur ...

  2. MSScriptControl详解(可实现在C#等语言中调用JAVASCRIPT代码)

    ScriptControl接口 属性名称 类型 备注 AllowUI BOOL 检测是否允许运行用户的接口元素.如果为False,则诸如消息框之类的界面元素不可见. CodeObject Object ...

  3. f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码

    f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码 分类: Python Numpy_Scipy fortran MinGW_GCC_Boost f2py 2012 ...

  4. powershell执行c语言文件,c语言中调用shell脚本

    [转]c语言中调用shell脚本 关于在c语言中调用shell脚本,先是在百度上百度了一下 下面的这个应该是说的比较详细的 dreamerkxz.blog.163.com/blog/static/82 ...

  5. 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程(Transact-SQL)方法总结...

    作者:liigo 日期:2010/8/25 Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接 ...

  6. gnuplot用C语言程序画图,c语言中调用gnuplot

    this.p={ m:2, b:2, loftPermalink:'', id:'fks_080064087085082068082081082095083086088068085081080068' ...

  7. C语言中打开一个应用程序可以调用或运行命令

    C语言中打开一个应用程序可以调用或运行命令system(),也可以调用操作系统的API函数,比如Windows系统可以调用CreateProcess().ShellExecuteEx()等函数来打开一 ...

  8. c语言代码存放的区域 堆栈,C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)...

    BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存分配. 数据段 :数据 ...

  9. c语言常见错误分析和程序调试,C语言中常见错误分析及程序调试

    总结分析了C语言中常见错误及程序调试的相关技巧,以提高初学者的编程能力. 2 8 2月 0年l 0 电脑学习 第6 期 C语言中常见错误分析及程序调试 陈伟' 陈东淼 摘要:总结分析了 C语言中常见错 ...

  10. r语言 c语言调用函数返回值,r语言中怎样查看函数源代码

    在R中,代码可以分为如下几个级别: ​首先,是你输入了函数对象名称,你可以直接看到代码的,如要获得函数对象fivenum的代码,就只需要在Console中键入函数对象名称fivenum就可以得到结果, ...

最新文章

  1. 计算机为什么找不到c盘d盘,电脑不显示是什么盘?是C盘还是D盘?怎么才能显示出来呢?...
  2. crontab执行不了php的解决方法
  3. 数据蒋堂 | 怎样看待存储过程的移植困难
  4. java date不要秒_java – 比较日期忽略Joda中DateTime的秒和毫秒时刻
  5. ------------ 异常笔记
  6. redux异步action_react-redux--异步Action
  7. 集成UG和ANSYS之二----upupdate之x_t
  8. live555 windows下编译以及修订
  9. 支付宝AI大幅提升细粒度图像分类识别精度,一眼看穿万物细微差异
  10. Angular学习笔记(五) - 自定义表单控件
  11. MyBatis3:SQL映射
  12. 25.212---复用和信道编码
  13. 练习:去除df某列里面字符串里面的空格, .str.strip(); series.str.replace(); df.replace()
  14. java 聊天室 私聊_Java聊天室——实现多人聊天、私聊、群聊
  15. 使用echarts-gl 绘制3D地球配置详解
  16. 微信恋爱话术表白漫画脸头像制作生成小程序源码
  17. 【Cocos Creator 实战】01 - 如何做一款简单的拼图游戏
  18. 计算机电子科学技术产品,关于电子信息科学技术发展现状的思考
  19. 二维Poisson方程五点差分格式及简单求解方法Python实现
  20. 验证身份证是否真实有效

热门文章

  1. java第一个helloworld_Java第一个程序--HelloWorld
  2. Drools规则引擎简介
  3. 粒子群优化算法及其应用
  4. Linux系统 / Ubuntu16.04系统下安装QQ/TIM软件
  5. python语言程序设计课后答案王恺_超星学习通Python程序设计基础(山东联盟)答案汇总...
  6. sqlyog证书秘钥(注册码)
  7. Qt开发 之 Windows资源管理器模仿 并 小超越
  8. 【Linux系统编程】| 【01】系统编程基本概念
  9. windows如何更改字体
  10. python 实时取色器3.0(升级版)【内附源码】