Matlab simulink建模与仿真 第七章(表查询库)

news/2024/9/17 7:39:04/ 标签: matlab, 开发语言

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

一、表查询库中的模块概览

二、表查询模块

        使用Lookup Table表查询模块,需要在配置窗口中建立x-y(自变量-因变量)离散数据对,x与y的维数应相同,x集(自变量列表)需要单调递增。

        如果输入表查询模块的信号值恰好在x集中存在,那么表查询模块会在离散数据对中查找该值对应的因变量,然后输出之;如果输入表查询模块的信号值不在x集中,那么表查询模块会根据插值规则(插值规则可选)推导出该值对应的因变量,然后输出之。

        可选的插值规则有如下几种:

        ①Interpolation-Extrapolation:输入值在x集范围内但x集没有的,使用线性内插法推导出因变量;输入值在x集范围外的,使用线性外插法推导出因变量。

        ②Interpolation-Use End Values:输入值在x集范围内但x集没有的,使用线性内插法推导出因变量;输入值在x集范围外的,直接以x集中距离输入值最近的自变量取值对应的因变量作为输出,简单地说,模块中的一维表在x集范围以外,因变量既不递增也不递减。

        ③Use Input Nearest:输入值在x集中没有的,直接以x集中距离输入值最近的自变量取值对应的因变量作为输出。

        ④Use Input Below:输入值在x集中没有的,直接以x集中距离输入值最近的且小于输入值的自变量取值对应的因变量作为输出。

        ⑤Use Input Above:输入值在x集中没有的,直接以x集中距离输入值最近的且大于输入值的自变量取值对应的因变量作为输出。

三、n维表查询模块

1、Lookup Table(2-D)二维表查询模块

(1)二维表查询模块是(一维)表查询模块在维度上的延伸,它有两个自变量输入和一个因变量输出,其自变量列表依然需要单调递增,x、y两个自变量列表分别有m、n个元素,因变量列表为m×n的二维矩阵z=f(x,y),每个x-y自变量组合各自对应矩阵z中的一个因变量。

(2)二维表查询模块的查表规则和(一维)表查询模块相似,仅仅是多了一个维度,这里不再赘述。

2、Lookup Table(n-D)n维表查询模块

(1)n维表查询模块是二维表查询模块在维度上的延伸,它有n个自变量输入和一个因变量输出,其自变量列表依然需要单调递增,因变量为n维矩阵,每个自变量组合各自对应n维矩阵中的一个因变量。

(2)创建n维表查询模块时,默认的维度是二维,可对其进行修改。

(3)如果仅用方括号和分号,是不能够表示高维矩阵的,对此可用如下方式定义高维矩阵,具体规则和二维矩阵元素的引用类似。

        <高维矩阵名>(<第一维序号列表>,<第二维序号列表>,<第三维序号列表>,...) = ……

(4)n维表查询模块的查表规则相比于二维表查询模块略有差别,这里不进行详细介绍。

四、预查询表模块

1、Interpolation Using Prelookup使用插值预查询表模块

(1)预查询表模块同样可以设置维数以及查表算法等,它的表格数据(只需填写因变量列表即可)可以选择从外部输入(Input port),也可以选择在窗口中直接写好(Dialog),如果选择外部输入表格数据,那么该模块会提供T端口供表格数据从外部输入。

(2)以一维查表为例,预查询表模块f1输入的取值范围为[0,1),k1输入需要是一个整数,该模块会以k1的值作为下标(第一个元素的下标为0)找到因变量列表中相应的元素,f1的值可以理解为“下标偏差”(非专业名词),因变量列表相邻元素的下标相差为1,f1=0代表需要求解的因变量正好为k1值索引到的因变量,f1>0时该模块会根据插值算法求解出因变量。

2、Prelookup预查找模块

(1)预查找模块可以设置查表算法等,它的表格数据(只需填写自变量列表即可)可以选择从外部输入(Input port),也可以选择在窗口中直接写好(Dialog),如果选择外部输入表格数据,那么该模块会提供bp端口供表格数据从外部输入。

(2)预查找模块的作用和使用插值预查询表模块相似(不过预查找模块只有一维),它的作用是根据输入的自变量求解k值和f值。

3、实际应用举例

(1)目标:系统的输入信号有两个,输出信号为两个输入值的乘积的算数平方根,不使用数学运算相关模块,给出下图所示的二维表以供查找。

(2)针对两个输入系统的自变量,分别使用Prelookup模块求出相应的k值和f值,Prelookup模块中的表格数据为自变量列表[1 3 5 7 9]。

(3)针对输出系统的因变量,根据Prelookup模块求出的k值和f值用Interpolation Using Prelookup模块进行查表,其中表格数据是一个二维矩阵,内容如上表所示。

(4)系统的输入信号值经过Prelookup模块可以分别得出在自变量列表[1 3 5 7 9]中对应的k值和f值,使用该值进行二维查表即可。

五、直接查询表及动态查询表模块

1、Direct Lookup Table(n-D)直接查询表模块

(1)直接查询表模块也可以设置维数,在配置窗口中的“Table Data”直接输入矩阵形式的表格数据,直接查询表模块会根据以输入信号作为下标直接在矩阵中进行元素索引,然后输出之。

(2)值得注意的是,该模块不只是可以输出单个元素(Element),还可以输出某一列数据(Column,表格数据至少是一维的)甚至是一个二维矩阵(2-D Matrix,表格数据至少是二维的),输出的维数越高,输入端口就越少(输入端口数等于表格数据维度减去输出数据维度),具体原因也显而易见,这里不再赘述。(下图示例中的t是一个三维矩阵)

2、Lookup Table Dynamic动态查询表模块

        该模块和直接查询表模块的功能类似,不过该模块支持在仿真过程中实时地修改表格数据,该模块的表格数据是通过输入端口x data和y data从外部输入的,x是自变量,y是因变量,如果输入x不在x data的自变量列表中,那么会使用插值算法求出因变量(这也意味着x data自变量列表需要单调递增)。

六、周期性质表查询模块

        该模块在模块库中有Sine和Cosine两种形式,其实它们经过配置后可实现相同的功能,二者的差别仅仅是默认的输出方程形式不同,下面以Sine模块为例进行介绍。

        该模块有一个信号输入端u,根据输入信号的值和输出方程(Output formula)可以计算出相应的输出值,输出方程的形式有正弦形式、余弦形式、复指数形式和正余弦结合形式四种,下面以正弦形式输出方程为例继续介绍。

        该模块的底层原理和普通的(一维)表查询模块类似,不过不同的是它因变量随自变量的变化具有周期性(这个变化具体如何由输出方程决定),可以利用四分之一波对称性的查表方法计算出输入信号对应的输出,这是(一维)表查询模块难以实现的。

        数据点的个数最好为2^{n}+1,这样在查表时效率会达到最高。当数据点过多时,应该相应地增加输出字长(小数部分长度等于输出字长减2)。


http://www.ppmy.cn/news/1521132.html

相关文章

从预警到预防:智慧哨兵如何提前化解交通安全隐患

智慧哨兵在提前化解交通安全隐患方面发挥着重要作用&#xff0c;主要通过预警到预防的全方位、立体式手段&#xff0c;有效减少交通事故的发生。以下是从预警到预防&#xff0c;智慧哨兵如何提前化解交通安全隐患的详细阐述&#xff1a; 一、预警机制 实时监测与数据分析&…

sqlite3 db.configure方法详解:设置项与默认值

在Node.js环境中&#xff0c;sqlite3库为开发者提供了一个与SQLite数据库进行交互的简洁API。除了基本的数据库操作外&#xff0c;sqlite3还允许开发者通过db.configure方法来配置数据库的一些底层参数和行为。本文将深入解析db.configure方法&#xff0c;包括其API函数定义、所…

webpack基本使用(基础)

文章目录 概要理解 一、使用示例1.引入库2.创建config/webpack.dev.js 测试环境3.创建config/webpack.prod.js 正式环境3.创建eslintrc.js4.创建babel.config.js5.package.json 总结 概要理解 vue或者react 通常用webpack作为打包工具&#xff0c;打包成浏览器识别的html、css…

@JsonFormat失败问题处理

JsonFormat失败问题处理 在开发中经常使用到时间格式&#xff0c;如果数据库的时间是timestamp格式的&#xff0c;则返回的格式通过带有毫秒 例如2024-08-30 14:53:58.236 这样子的格式&#xff0c;通常不是我们想要的&#xff1b; 但是我们又不想再后端写更多的代码&#xff…

视觉语言模型(VLMs)知多少?

最近这几年&#xff0c;自然语言处理和计算机视觉这两大领域真是突飞猛进&#xff0c;让机器不仅能看懂文字&#xff0c;还能理解图片。这两个领域的结合&#xff0c;催生了视觉语言模型&#xff0c;也就是Vision language models (VLMs) &#xff0c;它们能同时处理视觉信息和…

React应用中的状态管理:Redux vs Context API

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介React应用中的状态管理&#xff1a;Redux vs Context API1. 引言2. Redux2.1 Redux简介2.2 Redux的核心概念2.2.1 单一状态树&#xff08;Single Source of Truth&#xff09;2.2.2 Actions2.2.3 Reducers2.2.4 Store 2.3 Redux的优…

opencv图像形态学(边缘检测算法实例)

引言 图像形态学是一种基于数学形态学的图像处理技术&#xff0c;它主要用于分析和修改图像的形状和结构。在OpenCV中&#xff0c;图像形态学操作通过一系列的数学运算来实现&#xff0c;如腐蚀、膨胀、开运算、闭运算等。这些操作在图像处理、计算机视觉和模式识别等领域有着…

iOS巨魔商店免越狱作弊解决方案

众所周知&#xff0c;在iOS独特的闭源生态下&#xff0c;官方唯一的应用下载渠道是App Store&#xff0c;应用下载会经过层层审核与测试来保障其安全性与稳定性&#xff0c;未经审核的应用将无法下载到手机。 这一举措限制了用户获取非官方或破解版应用的可能性&#xff0c;与…

C语言实现经典排序算法

1.排序的概念及其运用 1.1排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记…

如何建立有效的沟通和协作机制来开展DFMEA工作?

在当今复杂多变的工业环境中&#xff0c;DFMEA&#xff08;设计失效模式与影响分析&#xff0c;Design Failure Mode and Effects Analysis&#xff09;作为质量管理体系中的一项关键工具&#xff0c;对于预防产品设计和开发过程中潜在的失效模式具有不可估量的价值。有效的DFM…

mysql等相关面试题

4、查询会出现回表&#xff0c;怎么解释&#xff0c;怎么减少回表次数 回表的解释&#xff1a; 在MySQL中&#xff0c;当使用非聚簇索引&#xff08;如普通索引&#xff09;进行查询时&#xff0c;如果查询需要获取非索引列的数据&#xff0c;MySQL会通过非聚簇索引找到对应的…

彻底改变计算机视觉的 Vision Transformer (ViT) 综合指南(视觉转换器终极指南)

欢迎来到雲闪世界。大家好&#xff01;对于那些还不认识我的人&#xff0c;我叫 Francois&#xff0c;我是 Meta 的研究科学家。我热衷于解释先进的 AI 概念并使其更容易理解。 今天&#xff0c;让我们深入探讨计算机视觉领域最重要的贡献之一&#xff1a;Vision Transformer&…

CargosettlementController

目录 1、 CargosettlementController 1.1、 货商结算 1.1.1、 //登录用户 1.2、 结算单号 1.2.1、 //查询供应商账单 1.2.2、 //单号 1.2.3、 //单据日期 1.2.4、 //付款状态 CargosettlementController using QXQPS.Models; using QXQPS.Vo; using System…

Elasticsearch 中的相关性和得分

在Elasticsearch中&#xff0c;相关性&#xff08;Relevance&#xff09;和得分&#xff08;Score&#xff09;是搜索引擎技术中非常重要的概念&#xff0c;它们直接影响搜索结果的排序。 相关性&#xff08;Relevance&#xff09; 相关性是指搜索结果与用户查询的相关程度。…

数据权限的设计与实现系列6——前端筛选器组件Everright-filter使用探索

linear 功能探索 最终我们是需要使用 API 的方式&#xff0c;调用后端服务拉取数据填充筛选器组件&#xff0c;不过在探索阶段&#xff0c;直接用 API 方式&#xff0c;就需要构造 mock 数据&#xff0c;比较麻烦&#xff0c;因此先使用 Function 方式来进行功能验证。 组件初…

OLED预警系统与按键菜单交互代码实操

引言 OLED顾名思义就是一个屏幕, 我们让一个屏幕在特定的时间, 显示特定的画面, 就是我们所需要的, 因为这里是涉及到环境预警,所以需要加入一个应急接管页面的选项, 所以我们要把按键直接操作画面, 变成按键操作完, 我们根据优先级判断之后, 才能确定要显示的是哪个画面. 比如…

【机器学习】感知机

1. 感知机 感知机是一个二分类的线性模型&#xff0c;它通过构造一个超平面&#xff0c;将特征空间中的样本分为两类。感知机的核心思想是找到一个超平面&#xff0c;使得不同类别的样本可以通过该超平面分开&#xff0c;适用于线性可分的数据集。 优点&#xff1a; 实现简单…

SparkSQL四种排序详解

前言 和Hive一样,SparkSQL也有同样的四种排序:Sort By、Order By、Distribute By和Cluster By。本篇博客用最详细的案例对这四种排序进行详解,希望能够让读者在SparkSQL中使用排序的时候可以游刃有余。 ORDER BY 全局排序 语法ORDER BY { expression [ sort_direction | n…

tcp的粘包和拆包及解决方案

TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。在使用TCP进行数据传输时&#xff0c;可能会遇到粘包&#xff08;Sticky Packet&#xff09;和拆包&#xff08;Packet Fragmentation&#xff09;的问题。 粘包和拆包的原因 …

【PyTorch常用库函数】torch.add():张量的加法操作

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言一 、torch.add()函数的基本用法二、示例演示示例1&#xff1a;两个相同形状的一维张量相加示例2&#xff1a;两个…