Matlab simulink建模与仿真 第八章(数学运算库)【下】

Simulink新手必看:3种方法快速合并信号为行向量(含Mux+Reshape配置详解) 本文详细介绍了Simulink中3种快速合并信号为行向量的方法,重点解析了Mux+Reshape组合的配置技巧与调试要点。针对不同应用场景,提供了MATLAB Function模块实现方案和第三方模块替代方案,帮助新手有效解决信号维度转换问题,提升建模效率。 阅读详情
AI摘要

本文围绕Simulink展开,介绍了多个模块功能。包括圆整函数及最值函数模块,如圆整函数的四种取整方式;三角函数及代数约束模块,像正弦波函数模块的两种形式;还有分配、变形、拼接模块以及复数相关模块,详细说明了各模块的输入输出及配置等情况。

参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili

六、圆整函数及最值函数模块

1、Rounding Function圆整函数模块

圆整函数模块的功能是将小数转换为整数,它提供了四种取整方式:

①floor:向下取整,输出距离输入小数在负无穷方向上最近的整数。

②ceil:向上取整,输出距离输入小数在正无穷方向上最近的整数。

③round:四舍五入,输出距离输入小数在无穷方向上最近的整数,输入为负数则选择负无穷方向,输入为正数则选择正无穷方向。

④fix:输出距离输入小数在朝零方向上最近的整数。

2、MinMax最值函数模块

(1)使用该模块前需要选择使用最大值函数还是最小值函数,其功能也显而易见,如果选择最大值函数,该模块会从若干输入值中选择最大的数值并将其输出,如果选择最小值函数,该模块会从若干输入值中选择最小的数值并将其输出。

(2)该模块可以配置输入端口数。

①只有一个输入端口时,该模块的输入一般是向量(最多是一维矩阵,否则会报错)或者是在同一根信号线上的若干个信号,模块会根据选择的函数从其中提取一个最值并输出之。

②当有多个输入端口时,各输入需要有相同的维度和尺寸,模块会根据选择的函数输出一个与输入有相同维度和长度的数据。

3、MinMax Running Resettable最值运行中复位模块

(1)使用该模块前需要选择使用最大值函数还是最小值函数。

(2)该模块有输入端口u和输入端口R,当R为逻辑真时,该模块的输出复位至初始条件Initial condition,否则输出为u从最后一次复位(启动仿真也算一次复位)到当前时刻为止的最大/小值。

七、三角函数及代数约束模块

1、Trigonometric Function三角函数模块

        同数学函数模块一样,三角函数模块也提供了若干种函数(其中atan2有两个参数,这里不对其进行详细介绍),该模块会根据输入参数和所选函数计算输出值。

2、Sine Wave Function正弦波函数模块

(1)正弦波可认为是一个输出随时间变化的函数图像,该模块有一个输入端口,这个端口用于输入时钟信号(这里的“时钟信号”并不是脉冲信号,在第十五章中将会进行介绍),这个时钟信号用来作为正弦波的“计时器”。

(2)正弦波的形式有两种:

①基于时间(Time based):正弦波根据随时间进行连续的变化,不过当发生数值运算导致运行时间较长的情况时,可能会有误差。

②基于采样(Sample based):每个采样时刻正弦波会进行一次离散的变化,可以设置正弦波在每个周期中的采样点个数(Samples per period),这是在间接设置正弦波的周期大小。

(3)可对正弦波的参数进行设置,如幅值(Amplitude)、偏移(Bias)等。

3、Algebraic Constraint代数约束模块

(1)代数约束模块的输入是一个包含z的多项式,该模块根据约束条件Constraint(f(z)=0或f(z)=z)会求解出未知数z并将其输出,这也意味着输入中会包含输出,所以该模块通常会处在一个闭环中。

(2)举例:求解方程

八、分配模块和变形模块

1、Assignment分配模块

(1)分配模块的功能是对输入矩阵中某些指定位置的元素进行替换,Y0端口输入的是原始矩阵,U端口输入的是替换元素。

(2)输出数据的维度需要手动配置。

(3)选择输出数据的维度以后,需要配置被替换元素在原始矩阵中的位置,其索引方式有基于0(Zero-based)和基于1(One-based)两种,也就是第一个元素的下标为0或1,如下图所示,下图的索引方式为基于1,被替换元素在矩阵中的位置为第一行第二列。

(4)分配模块不仅可以只替换原始矩阵的一个元素,还可以同时替换原始矩阵中的多个元素,具体有以下几种办法:

①默认的下标选项为下标向量(Index vector),在此选择方式下,可以用向量的方式选中多个位置,向量的元素为用于索引的下标。

②下标选项可以更改为“Assign all”,这样就可以直接选中整个维度上的元素。

③下标选项可以更改为“Starting index”,这样,同一个维度中从配置的下标开始往后的元素将全部被选中(这里被选中不代表一定会被替换),输入U需要是一个各维度上元素数均不大于被选中子矩阵的矩阵,分配模块会从被选中子矩阵的第一行第一列开始,将输入U的矩阵替换进原始矩阵中。

(5)用于索引元素的下标,不仅可以通过双击模块进行配置,还可以从外部输入,只要将下标选项更改为端口模式即可。

2、Reshape变形模块

(1)变形模块的作用是将输入的矩阵进行维度上的变换,可以认为是将其中的元素按列的顺序全部排成一维向量,然后根据配置的输出维度和输出尺寸进行重新排列,输出维度可选择自定义方式(Customize),此种方式包含前三种方式,在Output dimensions中写明输出尺寸即可。

(2)除了在模块中配置输出尺寸外,还可以让外部输入Ref决定输出尺寸,输出维度选择“Derive from reference input port”,变形模块会直接参照Ref的尺寸对输入U进行处理,至于Ref的内容,变形模块并不关心。

九、拼接模块

1、Matrix Concatenate矩阵拼接模块

(1)矩阵拼接模块的作用已在其名称中体现,该模块有向量模式(Vector)和多维数组模式(Multidimensional array)两种模式,在向量模式中,输入端口输入的数据只能是一维数据,输出的数据要么是单行要么是单列,而多维数组模式输出的数据不局限于单行/单列,而且可以指定输入矩阵的拼接方式,以二维矩阵为例,Concatenate dimension = 1时输入的矩阵在竖直方向上进行拼接,Concatenate dimension = 2时输入的矩阵在水平方向上进行拼接。

(2)多维数组模式下,两个矩阵能拼接的前提是尺寸匹配,比如一个两行三列和一个三行三列的矩阵,它们是不能在水平方向进行拼接的。

2、Vector Concatenate向量拼接模块

(1)向量拼接模块的作用已在其名称中体现,该模块有向量模式(Vector)和多维数组模式(Multidimensional array)两种模式,在向量模式中,输入端口输入的数据只能是一维数据,输出的数据要么是单行要么是单列,而多维数组模式输出的数据不局限于单行/单列,而且可以指定输入矩阵的拼接方式,以二维矩阵为例,Concatenate dimension = 1时输入的矩阵在竖直方向上进行拼接,Concatenate dimension = 2时输入的矩阵在水平方向上进行拼接。

(2)向量模式下,列向量只能与列向量合并,行向量只能与行向量合并,列向量与行向量在没有转置的前提下不能够相互合并。

十、复数相关模块

1、Complex to Magnitude-Angle标准复数转换幅值-相角模块

        该模块输入是一个复数,它会将该复数的幅值和相角(弧度制)分别进行输出。(可以选择仅输出幅值或者相角)

2、Magnitude-Angle to Complex幅值-相角转换标准复数模块

        该模块的作用与Complex to Magnitude-Angle模块正好相反,它会根据输入的幅值和相角(弧度制)得出标准形式的复数并输出之。(可以选择幅值从外部输入,相角在模块中配置,也可以选择相角从外部输入,幅值在模块中配置)

3、Complex to Real-Imag标准复数转换实部-虚部模块

        该模块输入是一个复数,它会将该复数的实部和虚部分别进行输出。(可以选择仅输实部或者虚部)

4、Real-Imag to Complex实部-虚部转换标准复数模块

        该模块的作用与Complex to Real-Imag模块正好相反,它会根据输入的实部和虚部得出标准形式的复数并输出之。(可以选择实部从外部输入,虚部在模块中配置,也可以选择虚部从外部输入,实部在模块中配置)

Simulink数学模块不止加减乘除:Assignment、Reshape、Squeeze在信号处理中的高阶玩法 本文深入探讨了Simulink中Assignment、Reshape和Squeeze数学模块在信号处理中的高阶应用技巧。通过汽车电子、航空航天等领域的实战案例,展示了这些模块在MBD开发中的强大功能,包括精准数据路由、维度转换和冗余维度消除,帮助工程师优化复杂系统建模。 阅读详情

相关推荐

simulink模块提取路径_CORDIC模块的使用技巧

CORDIC模块在计算机视觉中有着重要作用。比如在oriented FAST特征提取中重心的方向计算,HOG特征提取中的梯度幅度(gradient Magnitude)和梯度方向(gradient Orientation)。但是并不是说我们将Re和Im方向的幅度放入CORDIC模块就大功告成了了,想得到更高的精度或者得到符合我们期待的结果,我们需要对它有着更加深入的了解。今天我们会通过一...

weixin_33918358的博客 1432

深入研究simulink建模与仿真之小数转换为整数的舍入模式(圆整模式、取整模式)

导言 simulink中有些模块可以配置整数的舍入模式,比如增益模块: 默认为Floor模式。     Floor 地板模式。 将正值和负值朝负无穷大方向舍入。等同于 MATLAB floor 函数。 举例: Floor模式 1 1 1.4 1 2.5 2 3.6 3 0 0 -1 -1 -1.4 -2 ...

booksyhay的专栏 1万+

解放双手:用KUKA示教器白键一键触发复杂工艺,自定义你的快捷指令

本文详细介绍了如何利用KUKA示教器的工艺白键功能,通过自定义快捷指令一键触发复杂工艺,显著提升自动化产线效率。文章涵盖UserTech技术栈解析、KRL脚本封装、人机交互视觉工程及工业实战策略,帮助工程师实现机械臂操作的高阶优化。

weixin_30379531的博客 430

Simulink方法总结和避坑指南(一)——Simulink入门与基本调试方法

关于simulink的搭建方法总结和坑点提醒,自认为写的比较详细

weixin_45813401的博客 2万+

【Codex Sandbox 与审批机制:小白也能看懂的实用教程】

这篇教程介绍了Codex工具中的沙盒(Sandbox)和审批(Approvals)机制,帮助用户安全高效地使用Codex协作。沙盒限制Codex访问范围,审批机制则控制敏感操作权限。文章详细讲解了五种常见模式:最安全的安全只读浏览、只读非交互、仓库内编辑、Auto预设和不推荐的YOLO模式。还提供了新手使用路径建议、配置示例和实战场景范式,包括如何测试沙盒行为、不同系统下的实现方式以及常见问题解答。最后附上速查清单,帮助用户快速选择合适的权限组合。

zsr154278963的博客 6701

具身智能数据采集的工程化指南:从时间同步到质量校验

具身智能的模型训练离不开高质量的多模态轨迹数据,而数据采集并非简单的传感器记录。真实场景中,相机图像、机械臂关节状态与力觉信息必须在时间轴上精确对齐,标定的漂移和格式混乱会让看似正常的数据无法用于训练。时间同步与标定一致性,是决定数据质量的核心技术环节。在机器人抓取、操作等工程应用中,一套包含多传感器同步、轻量记录脚本、自动化质量校验与版本管理的数据采集流程,能大幅降低数据生产的失败率。本文从工程视角拆解具身数据采集中的典型问题,并给出可落地的流程设计与校验方法,帮助团队构建可持续迭代的高质量数据集。

weixin_30603633的博客 509

Matlab simulink建模与仿真 第八章(数学运算库)【上】

(3)以Subtract模块为例,双击Subtract模块,属性“List of signs”表示输入端口的符号排列,比如下图的Subtract模块有两个输入端口,那么就有两个符号,其中每个符号各自代表其对应输入端口的量是作为加数还是减数,“+”对应加法,“-”对应减法,至于“|”符号,它起到一个占位的作用(可认为把它也当成一个输入端口,不过这个输入端口是被堵死的)。②如果其中有部分输入是标量,其它输入是向量或者矩阵(需要有相同的维度),那么这个标量将会自动进行拓展,与其它输入的向量或者矩阵进行匹配。

Zevalin的博客 7900

用STM32手搓一个体温计

市面上大多额温计、测温计精度。

m0_61687959的博客 2374

matlab第八章_Simulink简介

Simulink是实现动态系统建模,仿真和分析的软件包,被广泛应用于线性系统,非线性系统,数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样频率。(1)连续模块库(2)离散模块库(3)表格模块库(4)数学运算模块库(5)不连续模块库(6)信号模块库(7)信号输出模块库(Sinks)(8)源模块库Stateflow是有限状态机的图形实现工具,状态流。

weixin_52546971的博客 4703

【人工智能】在 cc-switch 中配置 AnyRouter 接入 Claude Code 完整指南

本文介绍了在cc-switch工具中配置AnyRouter中转服务以接入Claude Code的详细步骤。主要内容包括:1) 准备API令牌和端点地址;2) 填写基础信息和模型参数;3) 保存配置并重启终端生效;4) 常见问题排查方法。重点强调了API地址格式、模型ID准确性以及配置写入的必要性,帮助用户顺利完成中转服务配置,实现Claude 4.5版本的正常使用。

奶爸的编程之路,也就一周冷个三天 3102

【Mini KITTI】KITTI数据集简介 — Mini KITTI

为了快速进行算法调试、训练、评估和验证,以及快速下载,制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:。 关于KITTI各个部分的介绍请分别参考以下内容: ...

叶子的博客 7532

用MATLAB/Simulink从零搭建FOC电机控制模型:告别PID盲目调参

永磁同步电机控制中,多变量强耦合特性常导致PID参数整定陷入“按下葫芦浮起瓢”的困境。矢量控制(FOC)通过坐标变换和电压解耦,将交流耦合对象重构为两个近似直流的独立回路,为PI控制器提供理想的受控环境。借助Simulink搭建完整FOC仿真模型,可清晰展示Clark/Park变换、双闭环结构、SVPWM生成及PI参数计算原理,帮助工程师在投入硬件前验证算法并规避过调制、积分饱和等工程陷阱。仿真不仅加速参数寻优,还可通过Embedded Coder移植到嵌入式平台,覆盖电驱开发与测试全流程。本文提供可直接运

weixin_34080951的博客 396

大数据领域数据产品的团队激励与绩效管理

在大数据领域,数据产品的成功离不开高效协作的团队。团队激励与绩效管理的目的在于激发团队成员的工作热情和创造力,提高工作效率和质量,确保数据产品能够按时、高质量地交付。本文章的范围涵盖了大数据领域数据产品团队激励与绩效管理的各个方面,包括激励机制的设计、绩效评估的方法、团队沟通与协作等。本文将按照以下结构进行阐述:首先介绍核心概念与联系,明确相关概念的定义和相互关系;接着讲解核心算法原理和具体操作步骤,为团队激励与绩效管理提供理论支持和实践指导;然后分析数学模型和公式,帮助读者深入理解绩效评估的原理;

Java大师兄的博客 1017

Simulink建模基础: Data Type Conversion模块及其代码

本文研究Data Type Conversion模块的用法和该模块生成的代码。 文章目录1 Simulink中的Data Type Conversion模块2 Data Type Conversion模块建模3 取整方式配置4 整型转换溢出处理5 总结 1 Simulink中的Data Type Conversion模块 Data Type Conversion模块可以转换Simulink信号线的数据类型。在建模的过程中,这是一个简单而常用的模块。 在使用该模块的时候,也有一些地方需要注意。 2 Data

u013288925的博客 2万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Simulink三维查表使用心得

Simulink三维查表

qaq1996的博客 2950

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Simulink仿真教程4---模块库介绍

Simulink拥有非常多的模块,利用这些模块进行组合可以完成很复杂的各种功能的模型。众多的模块也是Simulink强大功能的基础。现在我们来简单认识一下他们,在以后设计模型时,也好有个印象。(这些库里面的模块,不用特意去记,下面的内容看看就行了,以后要用哪些模块,再去学习就行了。把鼠标放在模块上,会显示提示信息,可以简单了解模块功能) 打开模块库,可以看到下面的...

qlexcel的专栏 4万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

研发日记,Matlab/Simulink避坑指南(三)——向上取整Bug

在一个嵌入式软件项目中,需要对一个可变数组进行数据处理。要求是原始数据相邻四个合并在一起,在这个算法中需要对原始可变数组的lengh除4后向上取整。出现向上取整Bug,对其排查和优化。

Mr.Cssust的博客 1766

MBD_入门篇_19_Simulink数学运算模块

atan2函数跟atan的区别是,atan2输入是两个值,atan输入是一个值,atan2可以输入象限的信息,但是atan是没有办法的。针对输入的每个元素的乘法运算。signedSqrt的输入值的符号对输出结果是有影响的,输入是什么符号,输出就是什么符号,根号是对输出的绝对值进行运算。数学函数模块,包含了一些常用的数学函数,比如exp,log,10^u,ln,square,pow,rem,mod等。波形显示如下,选择数量跟最终的波形有关系,数量越大,越接近原始的值,数量越小,精度损失会比较大。

ALongAuto的博客 3万+

MATLAB+simulink仿真学习

matlab个人学习笔记

cherish1211的博客 5947

Simulink取最大(小)值方法总结

一些遇到的小技巧,对输入数据求取最大值,方便日后回顾

weixin_42665184的博客 2万+

Simulink常用模块库(Vector Concatenate/Saturation)

汽车热管理系统工程师备技能之一——matlab/Simulink部分09——Simulink常用模块库(Vector Concatenate/Saturation)

m0_64651092的博客 6164

多个矩阵拼接_Simulink(矩阵拼接模块)+Matlabgui(右键菜单属性)+Stateflow连接节点...

1 SimulinkSimulink-矩阵拼接模块a.矩阵拼接模块 使用矩阵拼接模块可以实现多个矩阵的拼接组合; 矩阵拼接模块有矩阵拼接和向量拼接两种模式;矩阵的拼接对两个矩阵模块做组合即实现;同样还有向量拼接模块,其为矩阵拼接模块的子集,只能为单列或单行输入的向量,用法与拼接模块一致;2Matlab-gui(右键菜单属性) 1)可以使用Guid...

weixin_39532466的博客 7050

simulink模块库的一些介绍

simulink模块库很多基本介绍一些模块

qq_33940539的博客 2万+

Simulink常用模块库(Data Type Conversion)

汽车热管理系统工程师必备技能之一——matlab/Simulink学习08——Simulink常用模块库(Data Type Conversion)

m0_64651092的博客 7918
上一篇: Matlab simulink建模与仿真 第八章(数学运算库)【上】
下一篇: Matlab simulink建模与仿真 第九章(模型校验库)
Zevalin爱灰灰
Zevalin爱灰灰 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄3年 7137粉丝 550原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值