MATLAB的Simulink常用模块(一)(matlab-simulink)
moboyou 2025-04-28 22:27 42 浏览
在MATLAB的Simulink中有些常用的模块,今天主要介绍常数模块、示波器模块、以及模块属性的操作函数。
1.模块的构成元素
输入/输出端口:作为模块之间传递数据的纽带,连接输入信号和输出信号。
模块外观:通常为矩形或圆形,上面带有说明文字或图像并显示有输出
/输出端口名。
模块对话框:双击模块外观后弹出的参数GUI,可以在参数控件上进行参数设置。
2.Matlab/Simulink快捷键
2.1 模型调整
Alt + Enter:为选定模块设置主要参数
Ctrl + Shift + I:打开或隐藏 Property Inspector
Shift + 拖动句柄:调整模块大小,保持相同的高宽比
Ctrl + 拖动句柄:从中心调整模块大小
Ctrl + R:顺时针旋转模块 顺时针旋转90°
Ctrl + Shift + R:逆时针旋转模块
Ctrl + I:翻转模块
Ctrl + F:查找模块
Ctrl + M:封装模块
Ctrl + U:在模块封装下查找
Ctrl + Shift + Y:注释模块
Ctrl + Shift + X:注释掉或取消注释模块
Ctrl + K:刷新Mode模块
Ctrl + L:对于链接模块,转到父模块的库
Ctrl + H:打开 Model Explorer
2.2 仿真键盘快捷键
Ctrl + E:打开 Configuration Parameters对话框
Ctrl + D:更新图
Ctrl + T:开始仿真
Ctrl + Shift + T:停止仿真
Ctrl + B:构建模型(用于代码生成)
2.3 调试和断点键盘快捷方式
F10:步骤
F11:步入
Shift + F11:步出
F5:运行
F12:设置/清除断点
Ctrl + J:查看simple time
视图放大:r
视图缩小:v
3.模块的常用属性和参数
clc;
clear all;
close all;
% 获取模块的属性
% gcb:获取当前被选中的模块
% gcbh:获取当前被选中的模块的句柄
% get(handle):获取模块的属性信息
% inspect(handle):通过属性观察器方式罗列模块的属性信息
% get_param(block,prop_string):获取block模块的prop_string属性值
% set_param(block,prop_string,prop_value):将block模块的prop_string属性的值设为
% prop_value。prop_string,prop_value可以多对出现
open_system('test1')
information = gcb
get(gcbh)
set_param(gcbh,'BackgroundColor','c')
set_param(gcbh,'ForegroundColor','blue')
%set_param/get_param的第二个参数使用的不是提示标签,而是参数的变量名。
information =
'test1/Scope'
Path: 'test1'
Name: 'Scope'
Tag: ''
Description: ''
Type: 'block'
Parent: 'test1'
Handle: 4.0430e+03
HiliteAncestors: 'none'
RequirementInfo: ''
FontName: 'auto'
FontSize: -1
FontWeight: 'auto'
FontAngle: 'auto'
Selected: 'on'
MaskType: ''
MaskDescription: ''
MaskHelp: ''
MaskPromptString: ''
MaskStyleString: ''
MaskVariables: ''
MaskTunableValueString: ''
MaskCallbackString: ''
MaskEnableString: ''
MaskVisibilityString: ''
MaskToolTipString: ''
MaskVarAliasString: ''
MaskInitialization: ''
MaskSelfModifiable: 'off'
MaskDisplay: ''
MaskBlockDVGIcon: ''
MaskIconFrame: 'on'
MaskIconOpaque: 'opaque'
MaskIconRotate: 'none'
MaskPortRotate: 'default'
MaskIconUnits: 'autoscale'
MaskValueString: ''
MaskRunInitForIconRedraw: 'analyze'
MaskTabNameString: ''
Mask: 'off'
MaskCallbacks: {0×1 cell}
MaskEnables: {0×1 cell}
MaskNames: {0×1 cell}
MaskPropertyNameString: ''
MaskPrompts: {0×1 cell}
MaskStyles: {0×1 cell}
MaskTunableValues: {0×1 cell}
MaskValues: {0×1 cell}
MaskToolTipsDisplay: {0×1 cell}
MaskVisibilities: {0×1 cell}
MaskVarAliases: {0×1 cell}
MaskWSVariables: []
MaskTabNames: {0×1 cell}
MaskObject: []
Ports: [1 0 0 0 0 0 0 0 0]
Position: [345 129 375 161]
Orientation: 'right'
PortRotationType: 'default'
ForegroundColor: 'black'
BackgroundColor: 'cyan'
DropShadow: 'off'
IOType: 'none'
NamePlacement: 'normal'
ShowName: 'on'
HideAutomaticName: 'on'
Priority: ''
Commented: 'off'
CodeProfilingOverride: 'inherit'
AttributesFormatString: ''
InstantiateOnLoad: 'off'
PolySpaceEndComment: ''
PolySpaceStartComment: ''
AncestorBlock: ''
ReferenceBlock: ''
SourceLibraryInfo: ''
LibraryVersion: ''
UserDataPersistent: 'off'
UserData: []
CompiledIsActive: 'on'
RTWdata: []
HDLData: []
Diagnostics: ''
DialogParameters: [1×1 struct]
IntrinsicDialogParameters: [1×1 struct]
AlgorithmParameters: [1×1 struct]
SecondaryAlgorithmParameters: [1×1 struct]
CompiledSampleTime: [-1 0]
InputSignalNames: {''}
OutputSignalNames: {1×0 cell}
ModelParamTableInfo: []
StatePerturbationForJacobian: '1.0e-05'
SCDEnableBlockLinearizationSpecification: 'off'
SCDBlockLinearizationSpecification: []
CopyFcn: ''
DeleteFcn: ''
UndoDeleteFcn: ''
LoadFcn: ''
ModelCloseFcn: ''
PreSaveFcn: ''
PostSaveFcn: ''
InitFcn: ''
StartFcn: ''
PauseFcn: ''
ContinueFcn: ''
StopFcn: ''
NameChangeFcn: ''
ClipboardFcn: ''
DestroyFcn: ''
PreCopyFcn: ''
OpenFcn: ''
CloseFcn: ''
PreDeleteFcn: ''
ParentCloseFcn: ''
MoveFcn: ''
BlockType: 'Scope'
BlockDescription: 'Displays input signals with respect to simulation time'
BlockKeywords: ""
LinkStatus: 'none'
StaticLinkStatus: 'none'
PortConnectivity: [1×1 struct]
PortHandles: [1×1 struct]
LineHandles: [1×1 struct]
CompiledPortWidths: [0×0 struct]
CompiledPortDimensions: [0×0 struct]
CompiledPortDataTypes: [0×0 struct]
CompiledPortUnits: [0×0 struct]
CompiledPortComplexSignals: [0×0 struct]
CompiledPortFrameData: [0×0 struct]
DataTypeOverride_Compiled: 'UseLocalSettings'
MinMaxOverflowLogging_Compiled: 'UseLocalSettings'
Capabilities: [1×1 Capabilities]
IOSignalStrings: []
RuntimeObject: [0×1 double]
ExtModeUploadOption: 'none'
ExtModeLoggingSupported: 'on'
ExtModeLoggingTrig: 'off'
TargetArchitectureMapping: {}
OpenAtSimulationStart: 'off'
DisplayFullPath: 'off'
NumInputPorts: '1'
LayoutDimensionsString: '[1 1]'
SampleTime: '-1'
FrameBasedProcessingString: 'Elements as channels (sample based)'
MaximizeAxes: 'Off'
AxesScaling: 'Manual'
AxesScalingNumUpdates: '10'
TimeSpan: 'Auto'
TimeSpanOverrunAction: 'Wrap'
TimeUnits: 'None'
TimeDisplayOffset: '0'
TimeAxisLabels: 'Bottom displays only'
ShowTimeAxisLabel: 'off'
ActiveDisplayString: '1'
Title: '%<SignalLabel>'
ShowLegend: 'off'
ShowGrid: 'on'
PlotAsMagnitudePhase: 'off'
ActiveDisplayYMinimum: '-10'
ActiveDisplayYMaximum: '10'
YLabel: ''
DataLoggingLimitDataPoints: 'off'
DataLoggingMaxPoints: '5000'
DataLoggingDecimateData: 'off'
DataLoggingDecimation: '2'
DataLogging: 'off'
DataLoggingVariableName: 'ScopeData'
DataLoggingSaveFormat: 'Dataset'
>>
模块的常用属性
属性名 作用说明
Path 模块在模型中的路径
Name 模块的名字
ShowName 模块的名字是否显示出来
BlockType 模块的类型名
Handle 模块的句柄,double数据表示
Position 模块的边框在当前模型中的位置
ForegroundColor 模块的前景色
BackgroundColor 模块的背景色
Sample Time 模块的采样时间
FontAngle 字体斜度
FontName 字体名
FontSize 字体大小
FontWeight 字体粗度
4.常量模块
常数模块在仿真过程中通常输出恒定的数值。常数模块不仅支持scalar数据作为参数输入,也支持向量、矩阵等多维数据。
提示标签 参数的变量名
Constant value 价值
Interpret vector parameters as 1-D 将向量参数解释为1-D
Sampling mode 采样模型
Sample time 采样时间
常数模块、加减乘除四则运算和增益模块及输入输出端口都拥有
Signal Attributes属性配置界面。
Output minimum和Output maximum中默认为空,不对数据输出进行任何检测。
一旦设置了数值,模块就会对输出值进行检查,当数值小于Output minimum
或者大于Output maximum时就会报错来提醒用户。
Output data type对输出数据的类型提供了一些选项。
5.示波器模块
Scope模块是示波器模块,能够显示实数信号线。
(1) 修改Scope的输入端口个数
双击示波器模块,点击File->-Number of input ports,修改输入端口的个数为3。
(2)修改示波器的显示布局的个数
点击View->Configureation Properties->Number of input ports,将1修改成3。
(3)将示波器的数据输出
点击View->点击Configureation Properties->点击Logging->勾选Log data to workspace。
可以设置变量名(Variable name),选择存储到workspace中的存储格式。
1.Structure With Time将Scope获取到的采样信号存储在结构体中,
这个结构体包括:
(1)存储时间序列的time
(2)存储对应采样时间点的采样数据以及相关信息的结构体signals
(3)存储模块全路径及名字的变量blockName
signals本身也是一个结构体,访问采样数据的方式
是ScopeData.signals.values,采样数据按列排布。
ScopeData.time 存储时间序列的time
ScopeData.signals.values 存储对应采样时间点的采样数据。
2.Structure存储类型少了time这个时间序列的存储,其他成员相同。
3.Array为列向量方式存储。
4.dataset 为数据集数组用于将异构数据和元数据(包括变量和观察名称)
收集到单个容器变量中。数据集数组适合存储面向列的数据或表格数据,
这些数据通常以列的形式存储在文本文件或电子表格中,并且可以容纳
不同类型、大小、单位等的变量。
(4)示波器的动态参数和光标
Bilevel Measurements:用于测量输入信号的过渡时间、超调、负调及周期。
Cursor Measurements:用于光标测量。
Signal Statistics:信号的统计数据。
Peak Finder:峰值查找器
(5)修改示波器坐标轴粗细、颜色、名称、图例、图形颜色、标记点类型。
点击view->点击style或者Legend设置图例
(6)将示波器图像转化为Figure,保存为其他格式图像文件。
点击File-> print to Figure
(7)给示波器添加编辑选项,编程方式设置
Scope波形显示模块实际上也是一个Figure窗口,隐藏了菜单栏的属性,可以通过程序设置菜单栏,执行以下程序。
set(0,'ShowHiddenHandles','On')
set(gcf,'menubar','figure')
或者运行以下程序
shh = get(0,'ShowHiddenHandles');
set(0,'ShowHiddenHandles','On')
set(gcf,'menubar','figure')
set(gcf,'CloseRequestFcn','closereq')
set(gcf,'DefaultLineClipping','Off')
set(0,'ShowHiddenHandles',shh)
参考内容
[1] 博客园作者叮叮当当sunny的文章《Simulink仿真入门到精通(二) Simulink模块 》,文章链接如下:
https://www.cnblogs.com/dingdangsunny/p/12235689.html#_label0
[2] CSDN博主「小曾&同学」的文章《Matlab/Simulink快捷键》,文章链接如下:
https://blog.csdn.net/acknole/article/details/112344263
[3] CSDN博主 gameboy12615的文章《Matlab 示波器显示设置》,文章链接为:
https://blog.csdn.net/gameboy12615/article/details/6056390?locationNum=14
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙
相关推荐
- 黄道十二宫杀手密码51年后被破解,来自两位程序员和数学家合作
-
杨净边策发自凹非寺量子位报道|公众号QbitAI黄道十二宫杀手(ZodiacKiller)可能是世界上最知名的高智商连环杀手,52年来从未被抓获。他的事迹已被改编成了多部好莱坞电影。△...
- 深入剖析MediaCodec解码器的基本原理及使用「建议新手收藏」
-
一,MediaCodec工作原理MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMu...
- Retrofit WebService 实践
-
前言作为Android开发,平时和后端聊得最多的除了喝酒就是接口。常用语:Restful和WebService,前者现在聊得多,后者以前聊得多。默认含义分别为:Restful:HTTP协议...
- 建议收藏!175部4K UHD版本经典高分电影洗版参考目录(2015之前)
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:1L789近两年很多经典高分老电影陆续开始重制成4KUHD版本,虽然我早已将这些电影的BD蓝光版收入,但纠结一番后还是花了不少时间将其全部...
- 2 个月的面试亲身经历告诉大家,如何进入 BAT 等大厂?
-
这篇文章主要是从项目来讲的,所以,从以下几个方面展开。怎么介绍项目?怎么介绍项目难点与亮点?你负责的模块?怎么让面试官满意?怎么介绍项目?我在刚刚开始面试的时候,也遇到了这个问题,也是我第一个思考的问...
- 详解Android官推Kotlin-First的图片加载库
-
前言Coil是一个非常年轻的图片加载库,在2020年10月22日才发布了1.0.0版本,但却受到了Android官方的推广,在AndroidDevelopersBackst...
- webview 渲染机制:硬件加速方式渲染的Android Web
-
webview渲染是什么?webview渲染是用于展现web页面的控件;webview可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于webview模式进行二次开发的w...
- 因为我对Handler的了解,居然直接给我加了5K
-
1Handler是什么?android提供的线程切换工具类。主要的作用是通过handler实现从子线程切换回主线程进行ui刷新操作。1.1为什么Handler能实现线程切换?在创建Handler的...
- 「经典总结」一个View,从无到有会走的三个流程,你知道吗?
-
前言一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子V...
- 这些垃圾代码是谁写的?哦,原来小丑竟是我自己
-
程序员是最喜欢自嘲、自黑的群体之一,比如他们常常称自己是“码农”、“程序猿”,再比如他们的工作明明是写代码、修Bug,也有人调侃说:“明明我们是修代码、写Bug!”本文整理了一些程序员“修代码、写...
- 手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇
-
/1前言/平时我们要下载图片,要要一个一个点击下载是不是觉得很麻烦?那有没有更加简便的方法呢?答案是肯定的,这里我们以天堂网为例,批量下载天堂网的图片。/2项目准备工作/首先我们第一步我们要安装...
- 音视频开发需要你懂得 ffmpeg 开源库的编码原理
-
引言音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,startcode以及基本的工作原理,...
- 「8年老 Android 开发」最全最新 Android 面试题系列全家桶(带答案)
-
下面跟大家分享的这些面试题都是互联网大厂真实流出的面试内容,每个问题都附带完整详细的答案,不像网上的那些资料三教九流有的甚至还没答案,这些面试题我也是经过日积月累才整理出来的精品资料。这些面试题主要是...
- 手把手教你爬取天堂网1920*1080大图片(批量下载)——实战篇
-
/1前言/上篇文章手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇我们谈及了天堂网站图片抓取的理论,这篇文章将针对上篇文章的未尽事宜进行完善,完成图片的批量抓取。/2图片网址解...
- PHP 8.1.9 更新发布
-
CLI:修复了内置服务器通过PHP_CLI_server_WORKERS环境变量的潜在溢出。修正了GH-8952(不再可能有意关闭std句柄)。Core:修复了GH-8923的错误(Windows上的...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)