MBD_入门篇_19_Simulink数学运算模块

19.Simulink数学运算模块

19.1 概述

数学运算模块,包含了一些数学运算,比如最常用的加减乘除等。

19.2  Add加法模块

设置加法模块的形状,默认是方形的,推荐使用方形的。

运算符设置。

设置符号为++-,可以理解为本来是0,0+In1+In2-In3.

注意一下输出数据类型,防止溢出。最好根据数据源的实际范围来为输出设置相应的数据类型。

两个uint8相加,超出255,发生溢出。

19.3 Subtract减法模块

减法模块跟加法模块参数设置都一样。用加法模块来表示减法,效果跟直接减法模块一样。

19.4 Product乘法模块

注意一下乘法的方式,一般的数学运算是用默认的点乘的方式即可。如果是两个矩阵做乘法运算,才会去选择用矩阵的乘法。

注意一下输出数据类型,防止溢出。最好根据数据源的实际范围来为输出设置相应的数据类型。如下图的uint8类型的40*9,输出也是uint8的话就会溢出。

19.5 Divide除法模块

除法模块是可以设置运算符的。可以理解为乘法模块初始值等于1,1*第一个输入,结果就等于第一个输入,再除以第二个输入。

可以理解为1/40*400=10

数据类型在多个乘除法的时候,要注意结果的范围。有时候也需要有限数据精度,那应该视情况扩大数据的计算类型,先做乘法,再做除法。

19.5 Sum求和模块

Sum模块和Add加法模块一样,只是形状不一样,多用在传递函数的模型里。

19.6 DotProduct点乘模块

相当于Product的子集。

19.7 绝对值模块

对输入进行绝对值运算。

对于固定点类型,带偏移量的数据类型,要注意,会报错。

19.8 Bias偏移模块

对输入信号进行偏移计算。当然可以使用Add或者Subtract代替。

19.9 Assignment模块

根据Index的值去拿U的值放到输出Y里,Y0是默认值。

Index为1,U是1,赋完值的结果是[1 0 0 0 0]

选择Index的起始是0还是1,从0开始的话元素的Index就是0,1,2,3,4,从1开始的话就是1,2,3,4,5

选择Index为port方式,从输入端去选择Index。

通过Index去赋值其中某几个值。

Size是选择使用Y0的还是选择手动在参数设置里进行输入。

19.10 MinMax模块

可以设置求min或者求max的值,以及设置输入的个数。

我们从一个数组中分别求出最大值和最小值。

输入使用数组,输入Num为1.

Number of input ports设置为3.

求数组的最大最小,对每个Index做比较,求出来最大最小的值。

输入的维度不一致,导致报错。

19.11 FindNonzeroElements模块

查找非零元素,可以自己搭建模块组合去做这个功能生成代码,不使用模型自带的模块。

19.12 MathFunction模块

数学函数模块,包含了一些常用的数学函数,比如exp,log,10^u,ln,square,pow,rem,mod等。

19.13 MatrixConcatenate模块

用来组合向量和矩阵。

单个信号组合成向量。

2个单信号组合成多维数组,维度是1X2.

2个数组组合成一个向量。

组合出2行3列的数组。

组合成2行3列的矩阵,用Reshape模块去转置。

19.14 MinMaxRunningResettable模块

输出所有之前输入的值的最小值(选择min),但是可以被Reset使用Initial Condition的值。max相反。

设置使用min还是max。以及初始的值。

记录所有时刻的最大最小值

19.15 ProductofElements累乘模块

针对输入的每个元素的乘法运算。a方式,是对Number of inputs进行设置,如图,设置完就会显示多个port对应每个运算,跟普通的Product用法一致。

运算结果

b方式,我们设置Number of inputs为*,然后对输入进行搭建,连接。仿真完后看到结果和上面的运算一样。

19.16 ReciprocalSqrt模块

可以选择三种计算,是求根号sqrt,将带符号值进行绝对值运算再求根号signedSqrt,求根号再求倒数rSqrt。

最简单的求根号sqrt,对4进行运算,得出结果2.

对-4进行开根号运算,得出无效值。

signedSqrt的输入值的符号对输出结果是有影响的,输入是什么符号,输出就是什么符号,根号是对输出的绝对值进行运算。

rSqrt先开根号,再求倒数。

19.17 SignedSqrt模块

与ReciprocalSqrt模块倒数平方根模块一样,只是默认选项选择的是带符号的平方根运算。

19.18 Sqrt模块

与ReciprocalSqrt模块倒数平方根模块一样,只是默认选项选择的是带符号的平方根运算。

19.19 Reshape模块

改变矩阵或者向量输入的维度,按照重新设定的方式输出。比如说输入是一个数组,我们可以把输出设置为1维数组,列向量,行向量,M*N矩阵

可以看到数据类型后面的括号()里显示的是5,表示输入和输出一样,是普通类型的数组。

修改为列向量输出后,模块图标发生变化,仿真输出的维度也发生了变化,变成了5X1.

同样地,修改为行向量以后,如下图

设置为Customize,将输出的维度设置为[2,3],仿真后,输出变成了2X3的矩阵。

输入是2X3矩阵的时候,各种设置的输出情况。

19.20 RoundingFunction模块

舍入函数

舍入输入信号的每个元素

“floor”

朝负无穷方向舍入到最接近的整数值

“ceil”

朝正无穷方向舍入到最接近的整数

“round”

舍入到最接近的整数

“fix”

朝零方向舍入到最接近的整数

选择floor,进行向下取整,对pi进行取整,取完以后变成了3.

设置为ceil是向上取整,直接进1,结果是4

设置为round,取接近的整数的值

fix在负数取整的时候与floor不同,与ceil相同。

19.21 取符号Sign模块

Sign模块的输入为正,则输出1,输入为负,则输出-1,输入为0,则输出0

使用Switch和CompareToConstant模块搭建Sign模块的逻辑

搭建完仿真结果如下

19.22 SineWaveFunction模块

生成代码不使用,仿真可以用来产生输入波形。

产生的波形

19.23 SliderGain滑动增益模块

生成代码不使用,仿真可以用来拖动变换增益效果。可以设置最大和最小的限值,然后在限值中间可以进行滑动设置。

19.24 Squeeze挤压模块

生成代码没有使用过(我个人,如果有使用场景可以在评论区留言告诉我或者是微信联系我)。比如说像2X1X3这样的矩阵改变成2X3的矩阵。

将3X1X2的数据挤压成3X2。

3X3X2的数据不变,直接输出。

19.25 SumOfElements累加模块

对每一个元素进行求和,输出结果。

对一维数组进行累加,得出结果15

对二位数组进行累加,得出结果30

19.26 三角函数模块

对输入进行sin或者其他的函数运算,输出相应的值

在Function里选择运算的函数,比如生活sin,cos,tan等。atan2函数跟atan的区别是,atan2输入是两个值,atan输入是一个值,atan2可以输入象限的信息,但是atan是没有办法的。

近似值逼近方法可以选择CORDIC和Lookup。

查找方法角度的单位,弧度或者是旋转。

波形显示如下,选择数量跟最终的波形有关系,数量越大,越接近原始的值,数量越小,精度损失会比较大。

数量分别选择4后的波形

19.27 取反模块

对输入进行取反后输出。

int8的数据范围是-128~+127,如果我们对-128取反,在int8的数据类型下,我们是没办法得到正确的输出,因为int8的范围取不到+128。-128不勾选Saturate on integer overflow的输出时候,输出还是-128,如果勾选的话,输出是+127

数据类型不够用的时候,考虑对数据类型做扩充。

Simulink里对无符号整形不能进行取反操作,直接报错。

19.28 向量连接模块

Vector Concatenate向量连接模块,参数设置输入个数不讲了,模式有Vector向量,和Multidimensional array多维数组。

选择Vector。把两个单变量,组合成一个数组。

两个1X3的行向量,组合完是一个1X6的行向量。

两个3X1的列向量,组合完是一个6X1的列向量。

当我们选择多维数组模式的时候,模块的外观发生了变化,变成了矩阵连接模块的样子。我们设置为1维,仿真结果如下

设置为2维,我们看到输出结果变成了3X2的数组。

不同数据的组合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/562193.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS 设置空格原样显示 white-space:pre-wrap;

CSS 设置空格原样显示 问题描述 html 渲染内容时,对于 空格、回车、Tab 键的 默认处理方式是 : 无论存在多少个连续的空格,都只会保留一个。 结论 由于以上的特性,导致了我们无法直接渲染出原格式的文本。pre 标签 了解一下 &…

今日刷三题(day4):简写单词+dd爱框框+除2!

题目一:简写单词 题目描述: 比如 “College English Test”可以简写成“CET”,“Computer Science”可以简写为“CS”,“I am Bob”简写为“IAB” 输入输出描述: 输入:一个复合单词 输出:输…

20240330-1-词嵌入模型w2v+tf-idf

Word2Vector 1.什么是词嵌入模型? 把词映射为实数域向量的技术也叫词嵌⼊ 2.介绍一下Word2Vec 谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构,分别是连续词袋&#xff…

C++ stl容器stack,queue,priority_queue的底层模拟实现

目录 前言: 文档借鉴:Reference - C Reference 1.deque a.deque的结构特点: b.deque的迭代器结构: c.面试题: 2.stack 3.queue 4.仿函数 5.priority_queue 总结: 前言: 本篇一共简单…

Hive 中常用的函数以及数据类型

数据类型 1.基本数据类型: 数据类型大小范围示例TINYINT1byte-128 ~ 127100YSMALLINT2byte-32768 ~ 32767100SINT4byte-2^32~ 2^32-1100BIGINT8byte-2^64~ 2^64-1100LFLOAT4byte单精度浮点数5.21DOUBLE8byte双精度浮点数5.21DECIMAL-高精度浮点数DECIMAL(9,8)BOOLEAN-布尔型tr…

VF02 XBLNR增强将不可编辑状态改为可编辑状态

VF02 XBLNR增强将不可编辑状态改为可编辑状态 一、业务界面展示 二、在程序SAPMV60A的INCLUDE程序MV60AF0F_FELDAUSWAHL_SONDERREG增强 *$*$-Start: ZEN_POINT_TEST1---------------------------------------------------------------------$*$* ENHANCEMENT 1 ZFI_TEST01.…

C语言 | 自定义类型:联合和枚举

目录: ----前言 1. 联合体 1.1 联合体类型的声明 1.2 联合体的特点 1.3 相同成员的结构体和联合体对比 1.4 联合体大小的计算 1.5 联合的使用 1.6联合体的练习 2. 枚举 2.1 枚举类型的声明 2.2 枚举类型的优点 2.3 枚举类型的使用 --前言: c语言中内…

代码随想录刷题随记24-回溯

代码随想录刷题随记24-回溯 491. 非递减子序列 leetcode链接 与之前的集合问题不同&#xff0c;而本题求自增子序列&#xff0c;是不能对原数组进行排序的&#xff0c;排完序的数组都是自增子序列了。所以不能通过排序的问题去重 class Solution {List<List<Integer…

超越GPT-4V,苹果多模态大模型上新,神经形态计算加速MLLM(二)

上文介绍基于MINOnets神经网络架构加速多模态大模型的策略&#xff0c;本文将以Spinnaker2多核神经网络芯片EGRU架构为起点&#xff0c;覆盖存内计算架构&#xff0c;介绍新型计算架构在加速大模型推理的作用。SpiNNaker 2是一个设计用于大规模异步处理的多核神经形态芯片&…

建议收藏 | 2023年中国SCI期刊影响因子最新预测

公众号&#xff1a;生信漫谈&#xff0c;获取最新科研信息&#xff01; 2023年中国SCI期刊影响因子最新预测 经过Web of Science 官网对引用前50和IF排名前50的中国&#xff08;包括香港、澳门和台湾&#xff09;期刊以及中国主办或中国人主编的高影响力期刊进行了2023年影响…

数据结构_时间复杂度

✨✨所属专栏&#xff1a;数据结构✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 什么是时间复杂度&#xff1f; 时间复杂度的定义&#xff1a;在计算机科学中&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定量描述了该算法的运行时间。一个算法执行所耗费的时间&#xff0…

YOLO世界:实时开放词汇对象检测

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读&#xff1a;YOLO世界&#xff1a;实时开放词汇对象检测1、研究背景2、提出方法3、相关技术3.1、Re-parameterizable Vision-Language Path Ag…

MySQL中InnoDB存储引擎详细介绍

介绍 InnoDB是一种兼顾高可靠性高和高性能的通用存储引擎&#xff0c;在MySQL5.5之后&#xff0c;InnoDB是默认的MySQL存储引擎。 特点 DML(增删改)操作遵循ACID(事务四大特性)模型&#xff0c;支持事务&#xff1b;行级锁&#xff0c;提高并发访问性能支持外链FORELGN KEY约…

Jenkins服务器IP更换,Jenkins URL地址更换

服务器的网络地址发生变动&#xff0c;修改jenkins服务器IP地址后&#xff0c;jenkins网页能够打开&#xff0c;但是job中的配置钩子没有自动改变&#xff0c;如图所示&#xff1a; 经过查询资料了解&#xff0c;需要修改jenkins本地化配置地址才可以显示正确&#xff1a; 1、…

2024最好用的11个AI搜索引擎工具盘点!

0. 未来百科 未来百科&#xff0c;最大的 中文AI 产品导航网站 —— 为发现全球优质 AI 工具而生 。目前已 聚集全球 10000优质 AI 工具产品 &#xff0c;旨在帮助用户发现全球最好的 AI 工具&#xff0c;同时为研发 AI 垂直应用的创业公司提供展示窗口&#xff0c;迎接未来的…

如何在群晖NAS部署office系统办公服务并实现无公网IP远程编辑文件

文章目录 本教程解决的问题是&#xff1a;1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是&#xff1a; 1.Word&#xff0c;PPT&#xff0c;Excel等重要文件存在本地环境&#xff0c;如何在编…

【001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂】

001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂 文章目录 001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂创作背景通信模型ISO/OSI七层模型 和 TCP/IP四层模型网络通信数据包格式&#xff08;Ethernet II&…

Linux SDIO-WiFi 协议栈

Linux SDIO-WiFi 协议栈 1. 简介2. BCMDHD2.1 WiFi模组 1. 简介 2. BCMDHD BCMDHD&#xff1a;Broadcom Dongle Host DriverSIP&#xff1a;System In Package 2.1 WiFi模组

互连芯片浪潮席卷AI服务器:突破瓶颈,再创辉煌

改变AI服务器&#xff1a;互连芯片技术创新和突破 AI服务器崛起&#xff0c;引领未来创新根据TrendForce数据&#xff0c;AI服务器出货量达130,000台&#xff0c;占服务器总出货量的1%。主要制造商推出生成式AI产品&#xff0c;推动订单激增。ChatGPT等应用的需求持续增长&…

html2Canvas截图包含滚动条解决思路

概况描述 在项目中使用html2Canvas进行截图时发现无法截取滚动条部分,前端是使用vue2的版本,网上找了很多方式都没效果,冷静思考后,给出解决办法。 解决思路 当我们截取的div容器的宽和高与内部的子容器div的宽和高不一样时,内部div就会出现滚动条,因为我们截取的div与…