Simulink库浏览器中有大量的模型组件工具箱介绍
Simulink库浏览器中有大量的模型组件工具箱,包括Simulink工具箱、Autosar工具箱、电机控制工具箱等,其中Simulink工具箱包含了几十个的子模块,这里介绍下这些子模块的功能,帮助读者全面的了解这些功能模块,在今后的模型开发中,可以运用这些模块快速上手搭建功能模型。
ommonly Used Blocks:常用模块,包含经常使用的基础模块。
Continuous:连续模块,用于搭建连续系统模型,如积分器、微分器等。
Dashboard:仪表板模块,可用于创建可视化界面元素来监控和操作模型。
Discontinuities:不连续模块,模拟系统中的不连续特性,如继电器、死区等。
Discrete:离散模块,用于构建离散时间系统模型,像离散积分器等。
Logic and Bit Operations:逻辑与位运算模块,执行逻辑运算(如与、或、非等)和位操作。
Lookup Tables:查找表模块,用于实现基于表格的插值运算。
Math Operations:数学运算模块,进行各类数学计算,如加、减、乘、除等。
Matrix Operations:矩阵运算模块,处理矩阵相关操作,如矩阵乘法、转置等。
Messages & Events:消息与事件模块,处理模型中的消息和事件触发。
Model Verification:模型验证模块,用于检查模型的正确性和一致性。
Model - Wide Utilities:模型范围实用工具模块,提供与整个模型相关的工具。
Ports & Subsystems:端口与子系统模块,用于创建子系统和定义输入输出端口。
Signal Attributes:信号属性模块,用于设置和修改信号属性。
Signal Routing:信号路由模块,控制信号在模型中的流向,如多路复用器、解复用器等。
Sinks:接收器模块,用于接收和显示信号,如示波器、显示模块等。
Sources:信号源模块,产生各种信号,如常数、阶跃信号等。
String:字符串模块,处理字符串相关操作。
User - Defined Functions:用户自定义函数模块,允许用户编写自定义函数。
Additional Math & Discrete:附加数学与离散模块,提供更多相关功能模块。
下面详细介绍下各个常用的子模块,以及子模块中各模型组件的功能。
BusCreator 模块
在 Simulink 建模过程中,当存在多个相关信号需要一起处理时,为了避免大量信号线的混乱连接,可使用 BusCreator 模块将这些信号组合成一条总线Bus,总线是一种逻辑上的信号集合,它将多个信号捆绑在一起,作为一个整体进行传输和处理。
Commonly Used Blocks:常用模块,包含经常使用的基础模块。
Continuous:连续模块,用于搭建连续系统模型,如积分器、微分器等。
Dashboard:仪表板模块,可用于创建可视化界面元素来监控和操作模型。
Discontinuities:不连续模块,模拟系统中的不连续特性,如继电器、死区等。
Discrete:离散模块,用于构建离散时间系统模型,像离散积分器等。
Logic and Bit Operations:逻辑与位运算模块,执行逻辑运算(如与、或、非等)和位操作。
Lookup Tables:查找表模块,用于实现基于表格的插值运算。
Math Operations:数学运算模块,进行各类数学计算,如加、减、乘、除等。
Matrix Operations:矩阵运算模块,处理矩阵相关操作,如矩阵乘法、转置等。
Messages & Events:消息与事件模块,处理模型中的消息和事件触发。
Model Verification:模型验证模块,用于检查模型的正确性和一致性。
Model - Wide Utilities:模型范围实用工具模块,提供与整个模型相关的工具。
Ports & Subsystems:端口与子系统模块,用于创建子系统和定义输入输出端口。
Signal Attributes:信号属性模块,用于设置和修改信号属性。
Signal Routing:信号路由模块,控制信号在模型中的流向,如多路复用器、解复用器等。
Sinks:接收器模块,用于接收和显示信号,如示波器、显示模块等。
Sources:信号源模块,产生各种信号,如常数、阶跃信号等。
String:字符串模块,处理字符串相关操作。
User - Defined Functions:用户自定义函数模块,允许用户编写自定义函数。
Additional Math & Discrete:附加数学与离散模块,提供更多相关功能模块。
下面详细介绍下各个常用的子模块,以及子模块中各模型组件的功能。
BusCreator 模块
在 Simulink 建模过程中,当存在多个相关信号需要一起处理时,为了避免大量信号线的混乱连接,可使用 BusCreator 模块将这些信号组合成一条总线Bus,总线是一种逻辑上的信号集合,它将多个信号捆绑在一起,作为一个整体进行传输和处理。
DataType Conversion 模块
在 Simulink 建模过程中,不同的模块可能对输入信号的数据类型有不同的要求。例如,某些模块可能只接受整数类型的输入,而另一些模块可能输出的是浮点数类型。当信号在不同模块之间传递时,如果数据类型不匹配,就可能导致仿真错误或结果不准确
Data Type Conversion 模块的作用就是解决这个问题,它将输入信号的数据类型转换为指定的数据类型,确保信号能够在不同模块之间正确传递和处理。该模块接收一个输入信号,根据用户设置的目标数据类型,对输入信号进行相应的转换操作。转换过程可能涉及到数据的截断、舍入、扩展等操作,以确保转换后的数据符合目标数据类型的要求。
例如,将一个浮点数转换为整数时,可能需要进行截断或舍入操作;将一个低精度的整数转换为高精度的整数时,需要进行扩展操作。
Delay模块
一个非常实用的模块,用于对输入信号进行延迟处理。在许多动态系统中,信号的传输和处理往往存在一定的延迟。例如,在通信系统中,信号从发送端到接收端需要经过一定的传输时间;在机械系统中,执行器对控制信号的响应也可能存在延迟。
Delay 模块的作用就是模拟这种延迟现象,它可以将输入信号延迟指定的时间步长或采样周期后再输出,从而更准确地模拟实际系统的动态特性。Delay 模块接收一个输入信号,当仿真开始后,它会将输入信号存储在内部的缓冲区中。根据用户设置的延迟参数,模块会在经过指定的时间步长或采样周期后,从缓冲区中取出之前存储的信号并将其作为输出。
双击 Delay 模块,弹出的参数设置对话框中有几个关键参数:
Delay length(延迟长度):这是最核心的参数,用于指定信号延迟的时间步长或采样周期数。它可以是一个固定的整数,例如设置为 “5”,表示输入信号将被延迟 5 个采样周期后再输出;也可以是一个变量,通过外部输入信号来动态调整延迟长度。
Initial conditions(初始条件):用于设置延迟模块在仿真开始时的初始输出值。可以选择使用默认值(通常为零),也可以手动指定一个具体的值。例如,在某些情况下,需要让延迟模块在开始时输出一个特定的初始信号,就可以通过设置初始条件来实现。
Inport 模块
在复杂的 Simulink 模型中,为了提高模型的可读性、可维护性和可复用性,常常会将模型划分为多个子系统。Inport 模块就是子系统与外部环境进行信号交互的输入通道,它允许外部信号流入子系统,使得子系统能够接收外界提供的信息并进行相应的处理。Inport 模块作为子系统的输入边界,当仿真运行时,它会接收来自外部模型的信号,并将这些信号传递给子系统内部的其他模块进行进一步处理。其工作过程类似于一个 “信号入口”,确保外部信号能够准确无误地进入子系统,为子系统的正常运行提供必要的数据支持。
Logical Operator逻辑运算模块
对布尔值TRUE 或 FALSE进行操作,以得出逻辑判断的结果。Logical Operator 模块可以接收一个或多个输入信号,根据用户选择的逻辑运算符对这些输入信号进行运算,最终输出一个布尔值的结果。
该模块依据所选的逻辑运算符对输入信号进行相应的逻辑操作。例如,对于常见的逻辑运算符 “AND”(与),只有当所有输入信号都为 TRUE(1)时,输出才为 TRUE(1);只要有一个输入为 FALSE(0),输出就为 FALSE(0)。
Outport 模块
Outport 模块就是子系统的输出接口,它允许子系统内部经过处理的信号传递到子系统外部。Outport 模块作为子系统的输出边界,在仿真运行过程中,它会接收子系统内部模块输出的信号,并将这些信号传递给子系统外部与之相连的模块。其工作过程类似于一个 “信号出口”,确保子系统内部的处理结果能够准确无误地输出到外部,为外部系统提供必要的数据支持。
Switch 模块
本质上是一个信号选择器,它接收三个输入信号:两个数据输入信号(通常标记为输入 1 和输入 2)和一个控制输入信号。根据控制输入信号与预设阈值的比较结果,Switch 模块会选择将其中一个数据输入信号作为输出信号,从而实现信号的切换功能。
Switch 模块依据控制输入信号的值与设定的阈值进行比较,以此来决定输出哪个数据输入信号:
当控制输入信号大于或等于阈值时,模块输出输入 1 信号。
当控制输入信号小于阈值时,模块输出输入 2 信号。
Dashboard模型库
Dashboard 提供了一系列可视化组件,可将 Simulink 模型中的信号以直观的方式展示出来,同时还能通过界面元素对模型进行交互操作。它就像是一个虚拟的仪表盘,能实时呈现系统的运行状态,帮助用户更好地理解和控制模型,包括:
指示灯类:如汽车指示灯模块组中的各种指示灯(自适应巡航控制指示灯、发动机故障指示灯等),可根据输入信号的状态(通常为布尔值或特定范围的数值)改变颜色或亮灭状态,用于快速指示系统特定状态或故障。
仪表类:例如速度表、转速表等,以指针或刻度盘的形式显示信号的数值大小,适用于展示连续变化的物理量,如车辆速度、电机转速等。
滑块和旋钮类:用户可通过拖动滑块或旋转旋钮来改变输入信号的值,实现对模型参数的实时调整。比如在控制系统仿真中,可通过滑块调整控制器的增益参数。
按钮类:用于触发特定的事件或操作,如启动、停止仿真,切换控制模式等。
文本显示类:可显示信号的具体数值、状态信息等文本内容,方便用户获取精确的数据。
过零检测模块
Hit Crossing 模块能够监测输入信号是否穿过零值,并在检测到过零事件时产生相应输出。它可以帮助用户捕捉信号变化中的关键节点,以便进一步分析或触发其他操作。
该模块持续监控输入信号的数值。当输入信号从正值变为负值或者从负值变为正值时,即发生过零事件,模块会输出一个脉冲信号,表明检测到了过零。
当一个模块本身启用了过零检测功能后,其输出更加精细。
死区检测模块
有一个输入端口和一个输出端口。当输入信号的值处于预先设定的死区范围内时,模块输出为零;只有当输入信号超出这个死区范围,输出才会随着输入信号的变化而变化。
假设设定的死区范围为 [-a, a](a 为正数),当输入信号 u (t) 满足 -a ≤ u (t) ≤ a 时,输出 y (t) = 0;当 u (t) > a 时,y (t) = u (t) - a;当 u (t) < -a 时,y (t) = u (t) + a 。即输入在死区范围内时无输出,超出后输出为输入与死区边界值的差值。
Logic and Bit Operations逻辑和位操作模块库中包含如下模型组件:
Bit Clear(位清除模块):将输入二进制数指定位置的位清零。
Bit Set(位置位模块):把输入二进制数指定位置的位置1。
Bit to Integer Converter(位转整数模块):将表示二进制数的位向量转换为整数。
Bitwise Operator(按位运算符模块):对输入的二进制数进行按位逻辑运算,如与、或、非等。
Combinatorial Logic(组合逻辑模块):实现多种逻辑运算组合,根据输入逻辑值输出相应结果。
Compare To Constant(与常数比较模块):将输入信号与指定常数比较,输出比较结果。
Compare To Zero(与零比较模块):把输入信号和0比较,输出比较结果。
Detect Negative Fall(检测负跳变模块):检测输入信号从非负到负的跳变。
Detect Fall(检测下降沿模块):检测输入信号的下降沿。
Detect Negative Nonnegative(检测负 - 非负变化模块):检测输入信号正负状态变化。
Detect Rise(检测上升沿模块):检测输入信号的上升沿。
Detect Positive Rise(检测正上升沿模块):检测输入信号从非正到正的上升沿。
Detect Change(检测变化模块):检测输入信号是否发生变化。
Detect Decrease(检测减小模块):检测输入信号是否减小。
Detect Increase(检测增大模块):检测输入信号是否增大。
Extract Bits(提取位模块):从输入二进制数中提取指定位置的位。
Float Extract Bits(浮点数提取位模块):从输入浮点数的二进制表示中提取位。
Integer to Bit Converter(整数转位模块):将整数转换为表示二进制数的位向量。
Interval Test(区间测试模块):判断输入信号是否在指定区间内。
Interval Test Dynamic(动态区间测试模块):动态判断输入信号是否在指定区间内。
Logical Operator(逻辑运算符模块):执行基本逻辑运算,如与、或、非、异或等。
Relational Operator(关系运算符模块):进行关系比较运算,如大于、小于、等于等。
Arithmetic Shift(算术移位模块):对输入二进制数进行算术移位操作。
Lookup Tables查找表模块库中包含如下模块,以下是各模块介绍:
1 - D Lookup Table(一维查找表模块):根据一维输入信号,在预先定义的表格中查找对应输出值,常用于输入与输出为一维映射关系的场景,如根据温度查对应压力值。
2 - D Lookup Table(二维查找表模块):依据二维输入信号,在二维表格中查找输出值,适用于输入输出为二维映射关系的情况,像根据风速和风向查风力等级。
Cosine(余弦查找表模块):通过查找表方式计算输入角度的余弦值,可避免复杂的实时三角函数计算,提高仿真效率。
Direct Lookup Table (n - D)(直接n维查找表模块):支持n维输入信号的查找表操作,能处理多维输入输出映射关系,应用于复杂多维系统。
Interpolation Using Prelookup(使用预查找的插值模块):先进行预查找处理,再对查找结果进行插值计算,可提高查找精度和灵活性。
Lookup Table Dynamic(动态查找表模块):查找表的参数可动态变化,适用于系统参数随时间或其他条件改变的情况。
n - D Lookup Table(n维查找表模块):用于处理n维输入输出关系的查找表,满足多维数据映射需求。
Prelookup(预查找模块):对输入信号进行预处理,辅助后续查找表操作,优化查找流程。
Sine(正弦查找表模块):通过查找表计算输入角度的正弦值,和余弦查找表模块类似,可简化三角函数计算。 这些模块主要用于实现基于查找和插值的信号处理,在复杂系统建模等方面发挥作用。
查找表中的断点就是特定的横坐标,如下图所示,表是由给定的坐标点组成的,每个点可表示特定的一组关系,如(温度,压力),当给定一个温度输入,如3.5,该温度在3和4之间,而温度3和4对应的压力是已知的,将采用某种插值算法计算温度3.5时的压力,如线性插值方法。
Lookup Tables查找表模块库中包含如下模块,以下是各模块介绍:
1 - D Lookup Table(一维查找表模块):根据一维输入信号,在预先定义的表格中查找对应输出值,常用于输入与输出为一维映射关系的场景,如根据温度查对应压力值。
2 - D Lookup Table(二维查找表模块):依据二维输入信号,在二维表格中查找输出值,适用于输入输出为二维映射关系的情况,像根据风速和风向查风力等级。
Cosine(余弦查找表模块):通过查找表方式计算输入角度的余弦值,可避免复杂的实时三角函数计算,提高仿真效率。
Direct Lookup Table (n - D)(直接n维查找表模块):支持n维输入信号的查找表操作,能处理多维输入输出映射关系,应用于复杂多维系统。
Interpolation Using Prelookup(使用预查找的插值模块):先进行预查找处理,再对查找结果进行插值计算,可提高查找精度和灵活性。
Lookup Table Dynamic(动态查找表模块):查找表的参数可动态变化,适用于系统参数随时间或其他条件改变的情况。
n - D Lookup Table(n维查找表模块):用于处理n维输入输出关系的查找表,满足多维数据映射需求。
Prelookup(预查找模块):对输入信号进行预处理,辅助后续查找表操作,优化查找流程。
Sine(正弦查找表模块):通过查找表计算输入角度的正弦值,和余弦查找表模块类似,可简化三角函数计算。 这些模块主要用于实现基于查找和插值的信号处理,在复杂系统建模等方面发挥作用。
查找表中的断点就是特定的横坐标,如下图所示,表是由给定的坐标点组成的,每个点可表示特定的一组关系,如(温度,压力),当给定一个温度输入,如3.5,该温度在3和4之间,而温度3和4对应的压力是已知的,将采用某种插值算法计算温度3.5时的压力,如线性插值方法。
Lookup Tables查找表模块库中包含如下模块,以下是各模块介绍:
1 - D Lookup Table(一维查找表模块):根据一维输入信号,在预先定义的表格中查找对应输出值,常用于输入与输出为一维映射关系的场景,如根据温度查对应压力值。
2 - D Lookup Table(二维查找表模块):依据二维输入信号,在二维表格中查找输出值,适用于输入输出为二维映射关系的情况,像根据风速和风向查风力等级。
Cosine(余弦查找表模块):通过查找表方式计算输入角度的余弦值,可避免复杂的实时三角函数计算,提高仿真效率。
Direct Lookup Table (n - D)(直接n维查找表模块):支持n维输入信号的查找表操作,能处理多维输入输出映射关系,应用于复杂多维系统。
Interpolation Using Prelookup(使用预查找的插值模块):先进行预查找处理,再对查找结果进行插值计算,可提高查找精度和灵活性。
Lookup Table Dynamic(动态查找表模块):查找表的参数可动态变化,适用于系统参数随时间或其他条件改变的情况。
n - D Lookup Table(n维查找表模块):用于处理n维输入输出关系的查找表,满足多维数据映射需求。
Prelookup(预查找模块):对输入信号进行预处理,辅助后续查找表操作,优化查找流程。
Sine(正弦查找表模块):通过查找表计算输入角度的正弦值,和余弦查找表模块类似,可简化三角函数计算。 这些模块主要用于实现基于查找和插值的信号处理,在复杂系统建模等方面发挥作用。
查找表中的断点就是特定的横坐标,如下图所示,表是由给定的坐标点组成的,每个点可表示特定的一组关系,如(温度,压力),当给定一个温度输入,如3.5,该温度在3和4之间,而温度3和4对应的压力是已知的,将采用某种插值算法计算温度3.5时的压力,如线性插值方法。
如下图是使能子系统的使用demo,只有当条件口为真时,该模块才会启用并执行。
如下图是函数调用子系统的使用demo,只有当Function - Call Generator模型存在时,该模块才会启用并执行,可以用C语言中函数调用类比,就是当CPU执行到某个地方时,调用某个函数,这里就是Simulink软件执行仿真运行时,触发函数调用。
Sources信号源模块库中包含如下模块,以下是各模块介绍:
Band - Limited White Noise(带限白噪声模块):生成具有特定频率范围的白噪声信号,常用于模拟噪声环境对系统的影响。
Chirp Signal(啁啾信号模块):产生频率随时间变化的信号,其频率通常呈线性或非线性变化,在雷达、通信等领域的仿真中有应用。
Clock(时钟模块):输出仿真时间,可用于获取当前的仿真时刻,为模型提供时间相关的信号。
Constant(常数模块):输出一个固定的常数值,可用于为模型提供恒定的输入信号。
Counter Free - Running(自由运行计数器模块):输出一个不断递增的计数值,常用于需要计数功能的场景,如循环次数计数等。
Digital Clock(数字时钟模块):输出离散的时间信号,以数字形式表示时间,适用于离散系统的仿真。
Enumerated Constant(枚举常数模块):提供枚举类型的常数值,常用于定义具有特定取值集合的信号。
From File(从文件读取模块):从指定文件中读取数据作为输入信号,文件格式可以是MATLAB支持的多种格式,如.mat文件等。
From Spreadsheet(从电子表格读取模块):从电子表格(如.xlsx文件)中读取数据作为输入信号,方便利用外部表格数据进行仿真。
From Workspace(从工作区读取模块):从MATLAB工作区中读取数据作为输入信号,可灵活地将工作区中已有的数据引入模型。
In Bus Element(输入总线元素模块):作为总线信号的输入元素,用于构建总线信号,将单个信号组合到总线中。
In1(输入端口模块):作为模型或子系统的输入端口,用于接收外部输入信号,是信号进入模型的接口。
Playback(回放模块):回放预先录制的信号数据,可用于重现之前采集或生成的信号。
Pulse Generator(脉冲发生器模块):生成脉冲信号,可设置脉冲的周期、占空比、幅值等参数,常用于模拟脉冲相关的系统激励。
Ramp(斜坡信号模块):产生一个随时间线性变化的斜坡信号,可用于测试系统对渐变输入的响应。
Repeating Sequence(重复序列模块):输出一个重复的固定序列信号,可自定义序列内容和重复周期。
Repeating Sequence Interpolated(插值重复序列模块):与重复序列模块类似,但会对序列进行插值处理,使信号更加平滑。
Repeating Sequence Stair(阶梯重复序列模块):输出阶梯状的重复序列信号。
Signal Editor(信号编辑器模块):允许用户通过图形界面编辑和定义信号的波形、参数等,可创建复杂的自定义信号。
Signal Generator(信号发生器模块):可生成多种类型的标准信号,如正弦波、方波、锯齿波等,方便设置信号的频率、幅值、相位等参数。
Step(阶跃信号模块):产生一个阶跃信号,可设置阶跃的时间、幅值等参数,常用于测试系统的瞬态响应。
Uniform Random Number(均匀随机数模块):生成在指定范围内均匀分布的随机数信号,可用于模拟具有随机性的系统输入。
Waveform Generator(波形发生器模块):用于生成自定义的波形信号,可通过设置多个参数来定义波形的形状和特性。
字符串模块库中包含如下模块,以下是各模块介绍:
ASCII to String(ASCII转字符串模块):将ASCII码值转换为对应的字符串。比如输入一系列ASCII码数值,模块会输出相应字符组成的字符串。
Compose String(字符串组合模块):依据指定格式将输入的多个元素组合成一个字符串。例如可将数字、字符等按照特定格式要求拼成一个字符串。
Scan String(字符串扫描模块):按照给定格式扫描字符串,提取其中符合格式的内容。比如从一段包含数字和字符的字符串中,按指定格式提取出数字等信息。
String Compare(字符串比较模块):比较两个字符串是否相等,或者根据设定规则比较它们的大小关系,输出比较结果(如逻辑值)。
String Concatenate(字符串连接模块):把多个输入字符串连接成一个字符串。例如将“Hello”和“World”连接成“HelloWorld”。
String Constant(字符串常量模块):输出一个预先设定好的字符串常量,为模型提供固定的字符串输入。
String Contains(字符串包含模块):判断一个字符串是否包含另一个指定的子字符串,输出逻辑值表示判断结果。
String Count(字符串计数模块):统计指定子字符串在输入字符串中出现的次数。
String Ends With(字符串以……结尾模块):判断输入字符串是否以指定的子字符串结尾,输出逻辑值。
String Find(字符串查找模块):在输入字符串中查找指定子字符串的位置,返回其起始索引等信息。
String Length(字符串长度模块):计算输入字符串的长度,即字符的个数。
String Starts With(字符串以……开始模块):判断输入字符串是否以指定的子字符串开头,输出逻辑值。
String to ASCII(字符串转ASCII模块):将输入字符串转换为对应的ASCII码值。
String to Double(字符串转双精度浮点数模块):把表示数字的字符串转换为双精度浮点数。例如将字符串“3.14”转换为数值3.14。
String to Enum(字符串转枚举模块):将字符串转换为对应的枚举类型值,前提是字符串与枚举定义匹配。
String to Single(字符串转单精度浮点数模块):把表示数字的字符串转换为单精度浮点数。
Substring(子字符串模块):从输入字符串中提取指定位置和长度的子字符串。
To String(转字符串模块):将输入的非字符串数据(如数字等)转换为字符串类型。
相关文章:

Simulink库浏览器中有大量的模型组件工具箱介绍
Simulink库浏览器中有大量的模型组件工具箱,包括Simulink工具箱、Autosar工具箱、电机控制工具箱等,其中Simulink工具箱包含了几十个的子模块,这里介绍下这些子模块的功能,帮助读者全面的了解这些功能模块,在今后的模型…...

从0到1:固件分析
固件分析 0x01 固件提取 1、从厂商官网下载 例如D-link的固件: https://support.dlink.com/resource/products/ 2、代理或镜像设备更新时的流量 发起中间人攻击MITM #启用IP转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward#配置iptables,将目…...

模电知识点总结(6)
1.选取频率高于1000Hz的信号时,可选用高通滤波器;抑制50Hz的交流干扰时,可选用带阻滤波器如果希望抑制500Hz以下的信号,可选用高通滤波器。 2.有用信号频率高于1000Hz,可选用高通滤波器;希望抑制50Hz的交流…...
【Java学习】多态
目录 一、方法相同 二、方法重写 1.概念 2.条件 三、向上转型 1.概念 2.方式 四、方法绑定 五、多态 一、方法相同 方法相同要求方法名相同、参数列表相同、返回值类型相同(与两方法修饰的访问限定符相不相同、静态非静态状态相不相同无关),而且在子类与父…...

Oracle 深入理解Lock和Latch ,解析访问数据块全流程
Oracle 锁机制介绍 根据保护对象的不同,单实例Oracle数据库锁可以分为以下几大类: DML lock(data locks,数据锁):用于保护数据的完整性; DDL lock(dictionary locks,字典…...

什么是事务?并发事务引发的问题?什么是MVCC?
文章目录 什么是事务?并发事务引发的问题?什么是MVCC?1.事务的四大特性2.并发事务下产生的问题:脏读、不可重复读、幻读3.如何应对并发事务引发的问题?4.什么是MVCC?5.可见性规则?参考资料 什么…...

【JavaEE进阶】MyBatis通过注解实现增删改查
目录 🍃前言 🍀打印日志 🌴传递参数 🎋增(Insert) 🚩返回主键 🎄删(Delete) 🌲改(Update) 🌳查(Select) 🚩起别名 🚩结果映射 🚩开启驼…...
Uptime Kuma实现业务接口自定义逻辑监控
背景 在现代分布式架构中,业务系统通常由多个微服务组成,微服务之间通过接口进行数据交互。为了确保业务的正常运行,我们需要对这些接口进行监控,及时发现并处理异常情况。然而,由于业务数据接口的复杂性,通用的监控方式往往难以满足需求,需要自定义逻辑来判断接口数据是否异常…...

基于 JavaWeb 的 Spring Boot 调查问卷管理系统设计和实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

新手小白学习棒球规则·棒球1号位
新手小白学习棒球规则,可以从以下几个方面入手: 一、球场与球员 • 球场布局:棒球场呈菱形,由四个垒位(一垒、二垒、三垒和本垒)和一个投手板组成,外围是外场区域。内场为正方形,四…...
单元测试的策略有哪些,主要包括什么?
单元测试的策略及主要内容 单元测试(Unit Testing)是指对软件系统中的最小可测试单元(通常是一个函数、方法或类)进行验证,以确保其行为符合预期。常见的单元测试策略可以分为基于代码的策略和基于数据的策略…...

深度学习之图像回归(一)
前言 图像回归任务主要是理解一个最简单的深度学习相关项目的结构,整体的思路,数据集的处理,模型的训练过程和优化处理。 因为深度学习的项目思路是差不多的,主要的区别是对于数据集的处理阶段,之后模型训练有一些小…...
Docker 替换到 Containerd (nerdctl相关指令)
因为docker不给用了,所以使用Containerd来代替 前置准备 安装 Containerd # 安装 containerd yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y containerd.io # 生成默认配置文件 mkdir -p…...
Ollama API 参考文档
文档来源:API 参考文档 -- Ollama 中文文档|Ollama官方文档 端点 生成完成生成聊天完成创建模型列出本地模型显示模型信息复制模型删除模型拉取模型推送模型生成嵌入列出正在运行的模型版本...

PHP房屋出租出售高效预约系统小程序源码
🏠 房屋出租出售高效预约系统 —— 您的智能找房新选择 💡 这是一款集智慧与匠心于一体的房屋出租出售预约系统,它巧妙地融合了ThinkPHP与Uniapp两大先进框架,精心打造而成。无论是小程序、H5网页,还是APP端ÿ…...

学习threejs,使用MeshBasicMaterial基本网格材质
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshBasicMaterial 二…...
Kafka Connect 功能介绍
Kafka Connect 是一款用于在 Apache Kafka 和其他系统之间进行数据传输的工具,它提供了以下功能: 1. 通用框架 标准化集成:Kafka Connect 提供了一个通用框架,用于将其他数据系统与 Kafka 集成,简化了连接器的开发、部署和管理。支持多种数据系统:可以快速定义连接器,将…...

从卡顿到丝滑:火山引擎DeepSeek-R1引领AI工具新体验
方舟大模型体验中心全新上线,免登录体验满血联网版Deep Seek R1 模型及豆包最新版模型:https://www.volcengine.com/experience/ark?utm_term202502dsinvite&acDSASUQY5&rcGO9H7M38 告别DeepSeek卡顿,探索火山引擎DeepSeek-R1的丝滑之旅 在A…...

Vulnhub-node靶机教学
本篇文章旨在为网络安全渗透测试靶机教学。通过阅读本文,读者将能够对渗透Vulnhub系列node靶机有一定的了解 一、信息收集阶段 靶机下载地址:https://www.vulnhub.com/entry/node-1,252 因为靶机为本地部署虚拟机网段,查看dhcp地址池设置。得…...

php处理图片出现内存溢出(Allowed memory size of 134217728 bytes exhausted)
错误: 最近做图片上传功能时发现上传某些图片时报内存溢出错误。如下所示: {"code": 0,"msg": "Allowed memory size of 134217728 bytes exhausted (tried to allocate 24576 bytes)","data": {"code&q…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...