自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(399)
  • 资源 (4)
  • 收藏
  • 关注

原创 【频域分析及处理】4. FFT 采样频率和采样点数的选取

5、为了保证频率和幅度的准确性(博主理解为在该段采样时间内获取的原信号周期为整数倍,频谱尽可能不泄露),需满足。4、基2-FFT要求点数N为2的指数倍(不考虑补零或截断,采样点数直接等于FFT运算点数),因此可得到大于。1、根据奈奎斯特采样定理保证不混叠且能还原出原信号信息,确定最小采样频率。2、频率分辨率为100Hz,最小采样总时间。的N的可取值序列。......

2022-07-15 18:11:13 13265 7

原创 【C++ STL哈希容器】unordered_map 无序映射

【C++ STL有序关联容器】map 映射,除了和排序规则相关的一些定义。查看已定义 umap 容器存储元素的个数,并通过正向迭代器输出各元素。int main()//创建空 umap 容器//向 umap 容器添加新键值对umap.emplace("Python教程", "http://c.biancheng.net/python/");umap.emplace("Java教程", "http://c.biancheng.net/java/");

2024-08-28 21:46:27 1023

原创 【C++ STL哈希容器】unordered_set 无序集合

【C++ STL有序关联容器】set 集合。查看已定义 uset 容器存储元素的个数,并通过正向迭代器输出各元素。int main()//创建一个空的unordered_set容器//给 uset 容器添加数据//查看当前 uset 容器存储元素的个数//遍历输出 uset 容器存储的所有元素iter!

2024-08-28 21:31:28 1082

原创 Matlab 中 fftshift 与 ifftshift

当信号长度是偶数时:fftshift 和 ifftshift 的输出结果相等。

2024-07-03 10:52:17 1026

原创 12. MySQL 日志

例如,当用户 root 登录到 MySQL 服务器后,就会在日志文件里记录该用户的登录事件、执行操作等信息。当 MySQL 服务器运行时出错,出错信息就会被记录到日志文件里。如果 MySQL 数据库意外停止,可以通过二进制日志文件来查看用户执行了哪些操作,对数据库服务器文件做了哪些修改,然后根据二进制日志文件中的记录来恢复数据库服务器。例如,一个查询操作比较频繁的 MySQL 中,记录通用查询日志和慢查询日志要花费很多的时间。二进制日志中记录着大量的信息,如果很长时间。

2024-06-06 21:30:31 1087

原创 11. MySQL 备份、恢复

mysqldump 命令备份的文件并非一定要求后缀名为.sql,备份成其他格式的文件也是可以的。例如,后缀名为.txt的文件。通常情况下,建议备份成后缀名为.sql 的文件,这是因为后缀名为.sql的文件给人第一感觉就是与数据库有关的文件。如果使用备份了所有的数据库,那么恢复时不需要指定数据库。因为,其对应的 sql 文件中含有 CREATE DATABASE 语句,可以通过该语句创建数据库。如 MyISAM 不支持热备,支持温备和冷备;MySQL 中进行不同方式的备份还要考虑存储引擎是否支持,

2024-06-06 11:52:02 1012

原创 10. MySQL 用户

通常标准的发行版不支持 ssl,读者可以使用 SHOW VARIABLES LIKE “have_openssl” 语句来查看是否具有 ssl 功能。如果 have_openssl 的值为 DISABLED,那么则不支持 ssl 加密功能。即使 password_expired 为“Y”即用户密码过期,用户也可以使用密码登录 MySQL,但是不允许做任何操作。例如,如果数据库管理员觉得某个用户不应该拥有 DELETE 权限,那么就可以删除 DELETE 权限。user 表中的安全列。

2024-06-05 17:12:50 996

原创 9. MySQL事务、字符集

以银行转账事务事务为例。在事务开始之前,所有账户余额的总额处于一致状态。在事务进行的过程中,一个账户余额减少了,而另一个账户余额尚未修改,此时,所有账户余额的总额处于不一致状态。当转账成功后,即另一个账户余额增加后,即事务完成以后,账户余额的总额再次恢复到一致状态。以银行转账事务为例,如果该事务提交了,则这两个账户的数据将会更新。如果由于某种原因,事务在成功更新这两个账户之前终止了,则不会更新这两个账户的余额,并且会撤销对任何账户余额的修改,事务不能部分提交。

2024-06-04 22:52:14 869

原创 8. MySQL 存储过程、存储函数、触发器

SHOW CREATE 语句能查询存储过程的集体定义。基本语法SHOW CREATE PROCEDURE 存储过程名;实例使用 SHOW CREATE 查询名为 showstuscore 的存储过程的状态。查询结果显示了存储过程的定义和字符集信息等。基本语法DECLARE 关键字是用来声明变量的;var_name参数是变量的名称,这里可以同时定义多个变量;type参数用来指定变量的类型;

2024-06-04 11:48:58 1268

原创 7. MySQL 视图、索引

如果在表中查询的列有一个索引,MySQL 能快速到达索引列的位置去搜寻数据,而不必查看所有数据;否则,数据库系统将读取每条记录的所有信息进行匹配。因此,使用索引可以很大程度上提高数据库的查询速度,有效的提高数据库系统的性能。可以把索引比作新华字典的音序表。例如,要查“库”字,如果不使用音序,就需要从字典的 400 页中逐页来找。但是,如果提取拼音出来,构成音序表,就只需要从 10 多页的音序表中直接查找。是一种特殊的数据库结构,由数据表中的一列或多列组合而成(view 的视图,通过视图 product。

2024-06-02 21:32:29 976

原创 6. MySQL 查询、去重、别名

例如,从一个文件中提取电话号码,查找一篇文章中重复的单词、替换文章中的敏感语汇等,这些地方都可以使用正则表达式。在实际应用中经常需要对查询结果进行排序,比如,在网上购物时,可以将商品按照价格进行排序;这个子查询语句产生语法错误的原因在于主查询语句的 FROM 子句是一个子查询语句,因此应该为子查询结果集指定别名。,因为笛卡尔积中容易存在大量的不合理数据,简单来说就是容易导致查询结果重复、混乱。字段定义别名之后,会返回给客户端显示,显示的字段为字段的别名。多表查询遵循的算法就是以上提到的笛卡尔积,

2024-06-01 21:56:35 1075

原创 5. MySQL 运算符和函数

例如,学生表中存在一个 birth 字段,这个字段表示学生的出生年份。如果想得到这个学生的实际年龄,可以使用 MySQL 中的算术运算符用当前的年份减学生出生的年份,求出的结果就是这个学生的实际年龄了。

2024-05-31 19:26:07 1226

原创 4. MySQL 约束

例如,在数据表中存放年龄的值时,如果存入 200、300 这些无效的值就毫无意义了。因此,使用约束来限定表中的数据范围是很有必要的。

2024-05-31 15:26:17 949

原创 3. MySQL 数据表的基本操作

比如,在电脑中创建一个空文件夹,如果要把“Hello 普罗米修斯”存放到文件夹中,必须把它写在 Word 文档、记事本或其它能存放文本的文档中。这里的空文件夹就相当于数据库,存放文本的文档就相当于数据表。

2024-05-29 11:28:21 931

原创 2. MySQL 数据类型和存储引擎

InnoDB 存储引擎除了可以有效地降低由于删除和更新导致的锁定,还可以确保事务的完整提交(Commit)和回滚(Rollback),对于类似计费系统或者财务系统等对数据准确性要求比较高的系统,InnoDB 都是合适的选择。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询以外,还包括很多的更新、删除操作,那么 InnoDB 存储引擎是比较合适的选择。将所有数据保存在 RAM 中,所以该存储引擎的数据访问速度快,但是。,则适合使用 MEMORY 存储引擎。

2024-05-28 21:41:14 855

原创 1. MySQL 数据库的基本操作

在 MySQL 数据库中存在系统数据库和自定义数据库,系统数据库是在安装 MySQL 后系统自带的数据库,自定义数据库是由用户定义创建的数据库。

2024-05-28 10:32:43 1163

原创 【C 数据结构】堆排序

i 个关键字,同时也大于第 2。

2024-05-08 20:34:41 988

原创 【C 数据结构-动态内存管理】5. 内存紧缩(内存碎片化处理)

文章目录【 1. 堆 】【 2. 分配算法 】【 3. 回收算法 】【 1. 堆 】无论是边界标识法还是伙伴系统,都是将空闲的存储空间链接成一个链表,即可利用空间表,对存储空间进行分配和回收。本节介绍另外一种动态内存管理的方法,使用这种方式在整个内存管理过程中,不管哪个时间段,所有未被占用的空间都是地址连续的存储区,这些 地址连续的未被占用的存储区 在编译程序中称为 堆。假设存储区的初始状态如上图所示,若采用本节介绍的方法管理这块存储区,当 B 占用块运行完成同时所占的存储空间释放后,存储区的状

2024-05-07 22:03:22 516

原创 【C 数据结构-动态内存管理】4. 无用单元收集(垃圾回收机制)

例如,在C语言中,用户可以通过 malloc 和 free 两个功能函数来动态申请和释放存储空间,当用户使用 malloc 申请的空间使用完成后,没有使用 free 函数进行释放,那么该空间就会成为无用单元。:假设使用 malloc 申请了一块存储空间,有。是一块用户不再使用,但是系统无法回收的存储空间。,当其中一个指针完成使命后,私自将该存储空间使用。所有的存储空间无论是处于使用还是空闲的状态,,数据结构中称这种访问为悬挂访问。

2024-05-07 21:39:41 586

原创 【C 数据结构-动态内存管理】3. 伙伴系统管理动态内存

2m2021222m。

2024-05-07 20:54:26 914

原创 【C 数据结构-动态内存管理】2. 边界标识法管理动态内存

【代码】【C 数据结构-动态内存管理】2. 边界标识法管理动态内存。

2024-05-07 20:26:38 999

原创 【C 数据结构-动态内存管理】1. 动态内存管理机制

内存碎片通过利用数据结构,内存碎片化的问题能够得到有效的解决,从而我们能更有效地利用内存。

2024-05-06 22:39:22 1013

原创 线性卷积和圆周卷积

时域乘积(点乘) = 频域圆周卷积除以长度N的傅里叶逆变换。频域圆周卷积 = 时域乘积(点乘)的傅里叶变换乘以长度N。当圆周卷积的长度=线性卷积的结果的长度时,二者等价。时域圆周卷积 = 频域乘积(点乘)的傅里叶逆变换。频域乘积(点乘) = 时域圆周卷积的傅里叶变换。时域的圆周卷积相当于在频域进行了点乘。

2024-05-03 17:58:59 1211

原创 【C 数据结构-图】3. 深度优先搜索、广度优先搜索

文章目录【 1. DFS 深度优先搜索 】1.1 基本原理1.2 C 实现【 2. BFS 广度优先搜索 】2.1 基本原理2.2 C 实现对存储的图中的顶点进行遍历搜索,常用的遍历方式有两种:深度优先搜索和广度优先搜索。【 1. DFS 深度优先搜索 】1.1 基本原理 深度优先搜索的过程 类似于树的先序遍历,首先从例子中体会深度优先搜索。例如下图是一个无向图,采用深度优先算法遍历这个图的过程为:首先任意找一个未被遍历过的顶点,例如从 V1 开始,由于 V1 率先访问过了,所以,需要标记

2024-04-29 17:23:39 1562

原创 【C 数据结构-图】2. 图的存储结构

例如:存储下图中的两张图时,除了存储图中各顶点本身具有的数据外,还需要使用二维数组存储任意两个顶点之间的关系。解决了邻接表不方便计算有向图顶点入度的问题。中顶点的入度和出度只需从数组中。,以表示距离无穷远,根本无法到达。可以提高无向图中操作顶点的效率。,而无法计算该顶点的入度。

2024-04-29 11:10:15 822

原创 【C 数据结构-图】1. 图的相关基础

连通图是在无向图的基础上对图中顶点之间的连通做了更高的要求。

2024-04-25 22:41:01 1174 1

原创 【C 数据结构-树】5. 回溯算法

回溯算法的求解过程实质上是。

2024-04-24 22:36:33 421

原创 【C 数据结构-树】4. 哈夫曼树

例如在一棵树中,规定根结点所在层数为1层,那么从根结点到第 i 层结点的路径长度为 i - 1。上图中从根结点到结点 c 的路径长度为 4-1=3。通常记作 WPL。例如上图中所示的这颗树的带权路径长度为:WPL = 7 * 1 + 5 * 2 + 2 * 3 + 4 * 3。:指的是从根结点到该结点之间的路径长度与该结点的权的乘积。:在一棵树中,一个结点到另一个结点之间的通路,称为路径。:给每一个结点赋予一个新的数值,被称为这个结点的权。例如,上图中结点 a 的权为 7,结点 b 的权为 5。

2024-04-24 22:24:37 869

原创 【C 数据结构-树】3. 普通树

前面学了二叉树的存储结构,本节学习如何存储具有普通树结构的数据。例如下图所示为普通树存储结构。

2024-04-24 21:43:42 975

原创 【C 数据结构-树】2. 二叉树

性质 3 的计算方法为:对于一个二叉树来说,除了度为 0 的叶子结点和度为 2 的结点,剩下的就是度为 1 的结点(设为。同时,对于每一个结点来说都是由其父结点分支表示的,假设树中分枝数为 B,那么总结点数。例如,图 1a) 就是一棵二叉树,而图 1b) 则不是。而分枝数是可以通过 n1 和 n2 表示的,即。两种方式得到的 n 值组成一个方程组,就可以得出。所以,n 用另外一种方式表示为。使用顺序表(数组)存储二叉树。顺序存储只适用于完全二叉树。满二叉树也是完全二叉树。每个结点的度都为 2。

2024-04-24 21:06:54 1274

原创 【C 数据结构-树】1. 树的相关基础

如果一个结点没有父结点,那么这个结点就是整棵树的根结点。对于具有同一个根结点的各个子树,相互之间不能有交集。单个结点也是一棵树,根结点就是它本身。

2024-04-23 21:57:21 1195

原创 【C++ STL容器适配器】priority_queue 优先级队列

每当有新元素进入,它都会根据既定的排序规则找到优先级最高的元素,并将其移动到队列的队头;同样,当 priority_queue 从队头移除出一个元素之后,它也会再找到当前优先级最高的元素,并将其移动到队头。容器适配器模拟的也是队列这种存储结构,但是,riority_queue 容器适配器中元素的存和取,遵循的并不是 First in,First out(先入先出)原则,而是。,因此访问元素的唯一方式是遍历容器,通过不断移除访问过的元素,去访问下一个元素。

2024-04-23 10:00:21 1044

原创 【C++ STL序列容器】array 数组

各个元素的值是不确定的(array 容器不会做默认初始化操作)普通数组的基础上添加了一些成员函数和全局函数。,且效率并没有因此变差。

2024-04-22 21:54:41 1143

原创 【C++ STL序列容器】list 双向链表

普通数组,则 begin() 函数返回的是指向数组第一个元素的指针,同样 end() 返回指向数组中最后一个元素之后一个位置的指针。容器包含的 begin() 和 end() 成员函数的功能完全相同。必须保证新旧容器存储的元素类型一致。

2024-04-22 21:23:59 758

原创 【C 数据结构】队列

设计出两个结构体,一个结构体Node表示结点,其中包含有一个data域和next指针,其中data表示数据,其可以是简单的类型(如int,double等等),也可以是复杂的结构体(struct类型)。当进行动态创建队列的时候,也只不过是向后继续不断的申请内存空间,即使前面出队操作释放掉了前面的空间,但是指针依旧会向后进行移动,直到达到系统预留给程序的内存上界被强行终止。设计另一个结构体,其包括了两个分别永远指向队列的队尾和队头的指针,我们主要的操作只对这两个指针进行操作。

2024-04-18 17:21:46 987

原创 中缀表达式求值

【代码】中缀表达式求值。

2024-04-17 20:42:40 348

原创 【C 数据结构】栈

【代码】【C 数据结构】栈。

2024-04-15 11:09:11 835

原创 【C 数据结构】循环链表

在init重创建的结点next指向空,而在主函数调用创建之后手动 将head头结点的next指针指向自身。找到需要删除的结点,将其前一个结点的next指针直接指向删除结点的下一个结点。问题就是获取到链表的节点数同时也需要完成一次遍历才可以达成目标。在原有的双向链表的基础上,将尾部结点和头部结点进行互相连接。循环链表的尾指针指向的是链表的开头。

2024-04-11 11:33:27 725

原创 【C 数据结构】双向链表

双链表删除结点时,只需遍历链表找到要删除的结点,然后将该节点从表中摘除即可。每个节点存在前后两个指针,分别指向前驱节点和后继节点。

2024-04-11 10:14:59 747

原创 【C 数据结构】静态链表

数据全部存储在数组中(和顺序表一样),但存储位置是随机的,数据之间的逻辑关系通过一个整形变量(称为"游标",和指针功能类似)维持(和链表类似)a[0] 是备用链表的第一个节点,我们知道它的位置,操作它的直接后继节点相对容易,无需遍历备用链表。备用链表最后1个节点的游标为 0 即指向表头,备用链表第1个节点存有值,则表明数据已存满。

2024-04-11 09:32:10 1100

qemu-7.0.0.tar.xz

qemu-7.0.0.tar.xz

2024-02-11

matlab 应用教程,矩阵操作、画图相关

matlab 矩阵数组

2023-03-28

MATLAB dft 实现代码

MATLAB dft 实现代码 已验证通过

2023-03-03

《数字信号处理1》学习笔记-思维导图

博主学习数字信号处理整理的的学习笔记(思维导图模式,可用XMIND、幕布等软件打开),内容如下: 1. 离散序列及离散系统 2. 周期采样 3. 离散傅里叶变换 DFT 4. 快速傅里叶变换 FFT 5. 有限脉冲响应滤波器 FIR 6. 无限脉冲响应滤波器 IIR

2023-02-25

《自动控制系统》学习笔记_思维导图.rar

《自动控制系统》学习笔记_思维导图,可用思维导图软件打开

2021-10-25

《数据域测试与仪器》_学习笔记_思维导图.rar

《数据域测试与仪器》学习笔记_思维导图,可用思维导图软件打开

2021-10-25

51单片机汇编指令巧记.mm

51单片机汇编指令思维导图文件,可用思维导图软件打开

2021-10-25

误差与不确定度mm文件.rar

误差与不确定度知识 整理,可用思维导图文件打开

2021-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除