跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > 【Simulink系列】——Simulink与Matlab接口&使用命令行进行仿真

【Simulink系列】——Simulink与Matlab接口&使用命令行进行仿真

时间:2024-03-26 08:46:13 来源:网络cs 作者:纳雷武 栏目:卖家故事 阅读:

标签: 命令  行进  使用  系列 
阅读本书更多章节>>>>

声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习!

一、Simulink与Matlab接口

1、Matlab工作区变量设置模块参数

Matlab工作区的变量可以作为模块的设置参数

2、Matlab工作区变量作为输入信号

使用From Workspace模块将工作区变量作为系统的输入信号:

编辑器输入信号变量格式:(不是直接输入,只是一个格式)

命令行窗口输入如下代码:

仿真得到如下结果:

3、信号输出到Matlab工作区

有两种方式:

①利用scope模块的设置,将数据记录到工作区,可设置变量名称和保存格式。

②利用To workspace模块,可设置相关输出参数。

4、Matlab Function模块

可进行函数编辑实现特定功能:(一般涉及代码有啥需求都交给GPT写,自己再进行调试、修改、完善)


二、使用命令行进行仿真

使用命令行可编写运行系统仿真的脚本文件,可实现在同一系统中采用不同仿真参数进行仿真,不必一次又一次更改模块参数点击“Run”进行仿真。

1、sim命令进行动态系统仿真

两种语法格式:

simOut =sim('model','ParameterName1',Value1,'ParameterName2',Value2...)simOut =sim('model',ParameterStruct)

第一个参数即模型名,后面依次是参数名,参数值,或者直接以参数结构体代替。若仿真参数设置为空,则使用默认值。

参数分仿真参数和模块参数!

①仿真参数有StartTime、StopTime(仿真时间也可用切片形式描述)、Solver求解器以及MaxStep最大仿真步长、SaveState是否保存状态变量、SaveOutput是否保存输出变量等。也可在命令行使用simget得到系统仿真参数的结构体变量:(各个变量的意义可自行查阅)

simget的语法格式如下:

parameterStruct=simget('model')  %获得模型所有仿真参数的结构体变量value = simget('model',parameter) %获得模型特定仿真参数取值value = simget(parameterStruct,parameter) %获得仿真参数结构体变量种某个变量的取值

simset可获得所有仿真参数的可能选项取值:

这些取值选项,可用simset的如下3种语法进行设置:(simset返回的是一个结构体变量)

parameterStruct = simset('parameter1',value1,'parameter2',value2,...) %设置仿真参数值parameterStruct = simset(OldparameterStruct,'parameter1',value1,'parameter2',value2,...) %修改已存在结构体中的变量parameterStruct = simset(OldparameterStruct1,parameterStruct2) %新旧结构体变量合并,相同项用新结构体的值覆盖simset

②模块参数可在命令行窗口输入下面命令,输出结果configSetNames可得到所有参数名称:

%注:命令行使用configSet = getActiveConfigSet('model')configSetNames = get_param(configSet, 'ObjectParameters')

simOut为仿真输出结果,是一个类,可用下面命令进一步查看结果:

simOut.find('VarName')找出仿真结果中VarName这一项simOut.get('VarName')获得仿真结果中VarName这一项simOut.who返回所有仿真变量(包括工作区里的)

2、simplot命令

我们常使用Scope模块,最大的优点是可通过对Scope的操作,对系统输出方便观测,plot等绘图命令都远远不及。

simplot可输出与scope相似的图形,语法格式如下:

simplot(data); %一般由Output模块、To workspace模块等输出,可为矩阵、向量、结构体等simplot(time, data); %time为仿真结果的输出时间向量,若data类型中本身包含时间,则此项可忽略

示例如下:

t=0:0.1:10;simInput=[t',sin(0:0.1:10)'];[t,x,y]=sim('systemTest',10,[],simInput);simplot(t,y)

 往期精彩

STM32专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/E2F88

OpenCV-Python专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zK1jV

AI底层逻辑专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zic0f

机器学习专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/SjIqU电机控制专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FNWM7 

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-03-26/148730.html,文章来源:网络cs,作者:纳雷武,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论