字符串匹配算法详解

小麦大叔 2021-04-25 00:00
希望看到文章的你们,能够在今年的研究生考试中超常发挥。
愿你们都能考上自己心仪的学校,为你们的备考生涯划上一个完美的句号。做为你们的师兄有几句话想对你们说,希望这些话能对你们有一些帮助。
马上就要考试了,不要再继续啃难题了,看一些自己做过的题,曾经做错的题。因为我认为这个时候做难题,会比较打击自信心。考研的前一天我对自己十分有信心,但是不知道那天抽什么疯,做了一套特别难的数学模拟题,果不其然做的一塌糊涂,因为这套题让我怀疑自身实力,影响了考试心态。
不要放弃!无论考场上发生什么,也不要放弃,保持平常心,完成所有考试,当时我考外语的时候就感觉发挥极差,甚至有点不想去参加下面的考试,如果当时我没有参加剩下的考试,肯定就考不上了。所以一定一定要完成所有考试。
愿你们都能够成功上岸,你们真的很不容易,加油,必胜!另外咱们的文章视频中有送给你们的小彩蛋,大家快去看呀。





为保证代码严谨性,文中所有代码均在 leetcode 刷题网站 AC ,大家可以放心食用。

皇上生辰之际,举国同庆,袁记菜馆作为天下第一饭店,所以被选为这次庆典的菜品供应方,这次庆典对于袁记菜馆是一项前所未有的挑战,毕竟是第一次给皇上庆祝生辰,稍有不慎就是掉脑袋的大罪,整个袁记菜馆内都在紧张的布置着。此时突然有一个店小二慌慌张张跑到袁厨面前汇报,到底发生了什么事,让店小二如此慌张呢?

袁记菜馆内

店小二:不好了不好了,掌柜的,出大事了。

袁厨:发生什么事了,慢慢说,如此慌张,成何体统。(开店开久了,架子出来了哈)

店小二:皇上按照咱们菜单点了 666 道菜,但是咱们做西湖醋鱼的师傅请假回家结婚了,不知道皇上有没有点这道菜,如果点了这道菜,咱们做不出来,那咱们店可就完了啊。

(袁厨听了之后,吓得一屁股坐地上了,缓了半天说道)

袁厨:别说那么多了,快给我找找皇上点的菜里面,有没有这道菜!

找了很久,并且核对了很多遍,最后确认皇上没有点这道菜。菜馆内的人都松了一口气

通过上面的一个例子,让我们简单了解了字符串匹配,下面我们一起来详细了解一下吧。

字符串匹配:设 S 和 T 是给定的两个串,在主串 S 中找到模式串 T 的过程称为字符串匹配,如果在主串 S 中找到模式串 T ,则称匹配成功,函数返回 T 在 S 中首次出现的位置,否则匹配不成功,返回  -1。

例:

在上图中,我们试图找到模式串 T = baab,在主串 S = abcabaabcabac 中第一次出现的位置,即为红色阴影部分, T 第一次在 S 中出现的位置下标为 4 ( 字符串的首位下标是 0 ),所以返回 4。如果模式串 T 没有在主串 S 中出现,则返回 -1。

解决上面问题的算法我们称之为字符串匹配算法,今天我们来介绍三种字符串匹配算法,大家记得打卡呀,说不准面试的时候就问到啦。

BF算法(Brute Force)

这个算法很容易理解,就是我们将模式串和主串进行比较,一致时则继续比较下一字符,直到比较完整个模式串。不一致时则将模式串后移一位,重新从模式串的首位开始对比,重复刚才的步骤下面我们看下这个方法的动图解析,看完肯定一下就能搞懂啦。

通过上面的代码是不是一下就将这个算法搞懂啦,下面我们用这个算法来解决下面这个经典题目吧。

leetcdoe 28. 实现 strStr()

题目描述

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。

示例 1:

输入: haystack = "hello", needle = "ll" 输出: 2

示例 2:

输入: haystack = "aaaaa", needle = "bba" 输出: -1

题目解析

其实这个题目很容易理解,但是我们需要注意的是一下几点,比如我们的模式串为 0 时,应该返回什么,我们的模式串长度大于主串长度时,应该返回什么,也是我们需要注意的地方。下面我们来看一下题目代码吧。

题目代码

我们看一下BF算法的另一种算法(显示回退),其实原理一样,就是对代码进行了一下修改,只要看完咱们的动图,这个也能够一下就能看懂,大家可以结合下面代码中的注释和动图进行理解。

BM算法(Boyer-Moore)

我们刚才说过了 BF 算法,但是 BF 算法是有缺陷的,比如我们下面这种情况

如上图所示,如果我们利用 BF 算法,遇到不匹配字符时,每次右移一位模式串,再重新从头进行匹配,我们观察一下,我们的模式串 abcdex 中每个字符都不一样,但是我们第一次进行字符串匹配时,abcde 都匹配成功,到 x 时失败,又因为模式串每位都不相同,所以我们不需要再每次右移一位,再重新比较,我们可以直接跳过某些步骤。如下图

我们可以跳过其中某些步骤,直接到下面这个步骤。那我们是依据什么原则呢?

坏字符规则

我们之前的 BF 算法是从前往后进行比较 ,BM 算法是从后往前进行比较,我们来看一下具体过程,我们还是利用上面的例子。

BM 算法是从后往前进行比较,此时我们发现比较的第一个字符就不匹配,我们将主串这个字符称之为坏字符,也就是 f ,我们发现坏字符之后,模式串 T 中查找是否含有该字符 f,我们发现并不存在 f,此时我们只需将模式串右移到坏字符的后面一位即可。如下图

那我们在模式串中找到坏字符该怎么办呢?见下图

此时我们的坏字符为 f , 我们在模式串中,查找发现含有坏字符  f ,我们则需要移动模式串 T ,将模式串中的 f 和坏字符对齐。见下图。

然后我们继续从右往左进行比较,发现 d 为坏字符,则需要将模式串中的 d 和坏字符对齐。

那么我们在来思考一下这种情况,那就是模式串中含有多个坏字符怎么办呢?

那么我们为什么要让最靠右的对应元素与坏字符匹配呢?如果上面的例子我们没有按照这条规则看下会产生什么问题。

如果没有按照我们上述规则,则会漏掉我们的真正匹配。我们的主串中是含有 babac 的,但是却没有匹配成功,所以应该遵守最靠右的对应字符与坏字符相对的规则。

我们上面一共介绍了三种移动情况,分别是下方的模式串中没有发现与坏字符对应的字符,发现一个对应字符,发现两个。这三种情况我们分别移动不同的位数,那我们是根据依据什么来决定移动位数的呢?下面我们给图中的字符加上下标。见下图

下面我们来考虑一下这种情况。

此时这种情况肯定是不行的,不往右移动,甚至还有可能左移,那么我们有没有什么办法解决这个问题呢?继续往下看吧。

好后缀规则

好后缀其实也很容易理解,我们之前说过 BM 算法是从右往左进行比较,下面我们来看下面这个例子。

这里如果我们按照坏字符进行移动是不合理的,这时我们可以使用好后缀规则,那么什么是好后缀呢?

BM 算法是从右往左进行比较,发现坏字符的时候此时 cac  已经匹配成功,在红色阴影处发现坏字符。此时已经匹配成功的  cac 则为我们的好后缀,此时我们拿它在模式串中查找,如果找到了另一个和好后缀相匹配的串,那我们就将另一个和好后缀相匹配的串 ,滑到和好后缀对齐的位置。

是不是感觉有点拗口,没关系,我们看下图,红色代表坏字符,绿色代表好后缀

上面那种情况搞懂了,但是我们思考一下下面这种情况

上面我们说到了,如果在模式串的头部没有发现好后缀,发现好后缀的子串也可以。但是为什么要强调这个头部呢?

我们下面来看一下这种情况

但是当我们在头部发现好后缀的子串时,是什么情况呢?

下面我们通过动图来看一下某一例子的具体的执行过程

说到这里,坏字符和好后缀规则就算说完了,坏字符很容易理解,我们对好后缀总结一下

1.如果模式串含有好后缀,无论是中间还是头部可以按照规则进行移动。如果好后缀在模式串中出现多次,则以最右侧的好后缀为基准。

2.如果模式串头部含有好后缀子串则可以按照规则进行移动,中间部分含有好后缀子串则不可以。

3.如果在模式串尾部就出现不匹配的情况,即不存在好后缀时,则根据坏字符进行移动,这里有挺多文章没有提到,是个需要特别注意的地方,我是在这个论文里找到答案的,感兴趣的同学可以看下。

Boyer R S,Moore J S. A fast string searching algorithm[J]. Communications of the ACM,1977,10:762-772.

之前我们刚开始说坏字符的时候,是不是有可能会出现负值的情况,即往左移动的情况,所以我们为了解决这个问题,我们可以分别计算好后缀和坏字符往后滑动的位数(好后缀存在时),然后取两个数中最大的,作为模式串往后滑动的位数。

这破图画起来是真费劲啊。下面我们来看一下算法代码,代码有点长,我都标上了注释也在网站上 AC 了,如果各位感兴趣可以看一下,不感兴趣的话,理解坏字符和好后缀规则即可。可以直接跳到 KMP 部分


我们来理解一下我们代码中用到的两个数组,因为两个规则的移动位数,只与模式串有关,与主串无关,所以我们可以提前求出每种情况的移动情况,保存到数组中。

KMP算法(Knuth-Morris-Pratt)

我们刚才讲了 BM 算法,虽然不是特别容易理解,但是如果你用心看的话肯定可以看懂的,我们再来看一个新的算法,这个算法是考研时必考的算法。实际上 BM 和 KMP 算法的本质是一样的,你理解了 BM 再来理解 KMP 那就是分分钟的事啦。

我们先来看一个实例

注:为了让读者更容易理解,我们将指针移动改成了模式串移动,两者相对与主串的移动是一致的,重新比较时都是从指针位置继续比较。

通过上面的实例是不是很快就能理解 KMP 算法的思想了,我们继续往下看。

在上面的例子中我们提到了一个名词,最长公共前后缀,这个是什么意思呢?下面我们通过一个较简单的例子进行描述。

此时我们在红色阴影处匹配失败,绿色为匹配成功部分,则我们观察匹配成功的部分。

我们来看一下匹配成功部分的所有前后缀

我们的最长公共前后缀如下图,则我们需要这样移动

好啦,看完上面的图,KMP的核心原理已经基本搞定了,但是我们现在的问题是,我们应该怎么才能知道他的最长公共前后缀的长度是多少呢?怎么知道移动多少位呢?

刚才我们在 BM 中说到,我们移动位数跟主串无关,只跟模式串有关,跟我们的 bc,suffix,prefix 数组的值有关,我们通过这些数组就可以知道我们每次移动多少位啦,其实 KMP 也有一个数组,这个数组叫做 next 数组,那么这个 next 数组存的是什么呢?

next 数组存的咱们最长公共前后缀中,前缀的结尾字符下标。是不是感觉有点别扭,我们通过一个例子进行说明。

我们知道 next 数组之后,我们的 KMP 算法实现起来就很容易啦,另外我们看一下 next 数组到底是干什么用的。

剩下的就不用说啦,完全一致啦,咱们将上面这个例子,翻译成和咱们开头对应的动画大家看一下。

下面我们看一下代码,标有详细注释,大家认真看呀。

注:很多教科书的 next 数组表示方式不一致,理解即可


好啦好啦先就写这么多吧,累屁了,剩下的几种就先不写了,觉得这个文章对你有帮助的话,欢迎各位点赞,评论,在看,转发。哦,我还没评论功能。哈哈




—— The End —
推荐好文 点击蓝色字体即可跳转
这个项目差点就烂尾了...
这些知识点你都知道吗,测试你的C++入门程度
出去之后,好好做人!华为两年,苦乐参半!
前几天哪位老哥让我推荐C语言书籍来着?
被坑10万!竞业协议到底有多少坑?
那些年我写过的文章

原创不易,欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!


长按识别二维码添加我的微信





登录阅读全文
  • 字符串
  • 匹配算法
小麦大叔 一位热衷技术的攻城狮,懂点技术,会讲故事,交个朋友?
进入专栏
评论 (0)
  • 对话周祖成教授 - 清华大学与西门子EDA的合作之旅


  • 美光加码中国市场西安新厂预计明年下半年投产

    科创板日报 2024-03-28 246浏览
  • 台湾4月涨电价!大摩:晶圆代工厂电费将大增15%-25%,或影响晶圆代工涨价

    CINNOResearch 2024-03-27 209浏览
  • 再投43亿!美光西安厂总投资超110亿,员工突破4000人!

    飙叔科技洞察 2024-03-27 197浏览
  • 总投资630亿元!京东方国内首条第8.6代AMOLED生产线开工

    CINNOResearch 2024-03-27 193浏览
  • 台积电、英特尔年内建成2nm晶圆厂!苹果、英特尔及AMD等哄抢台积电3nm产能!

    飙叔科技洞察 2024-03-27 191浏览
  • 半导体产业正走出至暗时刻

    半导体工艺与设备 2024-03-28 180浏览
  • 传小米汽车今年量产7万辆,部分智驾供应商曝光

    52RD 2024-03-28 160浏览
  • 500亿芯片龙头易主!央企2万亿接手!

    感知芯视界 2024-03-27 159浏览
  • 万物皆可“生成”:谈谈英伟达打算怎么靠生成式AI赚钱

    黄烨锋 2024-03-28 23:13 0浏览
  • 2024国际绿色能源生态发展峰会:凝心聚力,建设绿色制造和服务体系

    Momo Zhong 2024-03-28 22:24 0浏览
  • 安森美为什么看好碳化硅?

    夏菲 2024-03-28 19:20 0浏览
  • Oracle NetSuite绿色双碳系统赋能企业ESG发展战略

    张河勋 2024-03-28 18:41 0浏览
  • PC需求疲弱,传联想在台湾公司裁员

    国际电子商情综合报道 2024-03-28 17:58 0浏览
  • 光充电锂硫电池研究新进展:光照1.5小时放电21小时

    综合报道 2024-03-28 17:25 19浏览
  • 斥资40亿美元!传SK海力士将赴美建HBM新封测厂

    国际电子商情综合报道 2024-03-28 16:42 0浏览
  • 共襄盛会 共谋发展:2024国际集成电路展览会暨研讨会盛大开幕

    ASPENCORE全球编辑群 2024-03-28 16:40 0浏览
  • 格科微临港工厂通过“智能工厂”认定

    2024-03-28 21:18 0浏览
  • IAR率先支持瑞萨首款通用RISC-V MCU,树立行业新标准

    IAR 2024-03-28 11:35 0浏览
  • 阿里云联发科联手为手机芯片适配大模型

    2024-03-28 11:25 0浏览
  • 中科院微电子所在厚膜氮化镓与多晶金刚石异质集成方面取得新进展

    中科院微电子所 2024-03-28 05:49 0浏览
  • Canalys:探索开放式耳机的机遇与挑战

    Canalys 2024-03-28 05:06 0浏览
  • BYO、FPGA开发板与商用,一文详解各类原型验证

    2024-03-27 10:38 6浏览
  • 射极跟随器 自举 如是观

    MrCU204 2024-03-24 90浏览
  • 2024了,如今的国产芯发展的怎么样了?

    神经硅 2024-03-18 105浏览
  • 当心学术项目诈骗!

    丙丁先生 2024-03-15 1458浏览
  • 论民生资源被资本主义裹挟到国外的下场

    丙丁先生 2024-03-11 722浏览
  • 整流二极管损坏的原因有哪些?

    MDD辰达半导体 2024-03-20 110浏览
  • 最近好颓废,谈研发日常

    丙丁先生 2024-03-14 131浏览
  • 开关电源中为什么要用快恢复二极管?

    MDD辰达半导体 2024-03-11 222浏览
  • 典型差分放大电路为何仿真结果总是失败呢?

    磊lee 2024-03-22 52浏览
  • 贴片LED没有之前的亮了,请问该怎么修(黄灯)

    youyeye 2024-03-13 1494浏览
  • 断电检测电路(用于统计断电关机那一刻到下一次上电开机的总时间)

    QWE4562009 2024-03-19 683浏览
  • 论民科在夹缝里生存的处境

    丙丁先生 2024-03-11 185浏览
  • 民科的经济基础与收入来源

    丙丁先生 2024-03-11 195浏览
  • 代理供应联发科MT8385/G500系列MT8395/G1200商显/IOT(广告机,闺蜜机,一体机)主控芯片

    young.river 2024-03-14 59浏览
  • 高功率MOS 丽隽SPTA65R160美林美深参数数据简介

    Merrillchip美林美深 2024-03-11 80浏览
  • 高效能量供应!离线式12W适配器方案与你的设备完美匹配

    思睿达小妹妹 2024-03-19 123浏览
  • 两台变压器零线能连接在一起吗?

    2024-03-26 88浏览
  • 分析限幅电路和钳位电路,是如何用二极管来实现的

    2024-03-26 113浏览
  • 吸引人的原理:电路原理图分析常见方法与少数知识者的妙手段!

    2024-03-26 90浏览
  • 选MOS管还是三极管?

    2024-03-28 37浏览
  • 钳位电路引出的BMS电源电压抬升问题是怎么回事?

    2024-03-28 41浏览
  • 三极管滤波是个什么鬼?

    2024-03-26 56浏览
  • 为什么STM32串口收发数据要使用DMA?

    2024-03-28 43浏览
  • STM32三种开发方式

    2024-03-26 75浏览
  • BUCK电路电磁干扰的来源

    2024-03-26 84浏览
  • 总结9种混合PCB布局技巧

    2024-03-28 48浏览
  • 三极管滤波是个什么鬼

    2024-03-26 108浏览
  • 一种STM32框架,实现RTOS的部分功能

    2024-03-26 75浏览
  • 为什么都喜欢用串口通讯?

    2024-03-26 63浏览
  • 为什么学习汇编?

    2024-03-26 43浏览
  • 电压kV为什么k要小写,原因你知道吗?

    2024-03-26 129浏览
  • ABB-ROBOT基础教程.ppt
  • Cadence16.6电路设计与仿真从入门到精通
  • 电容器选型及基本参数公式大全
  • 50家国产MCU厂商综合信息汇总
  • 电动车用48V转12V电源转换器分解图册
  • AD20常用快捷键
  • DXP 导出SMT坐标文件简述步骤.pdf
  • AC-DC、DC-DC转换器原理
  • 通用电子元器件命名规则
  • 天线设计和射频布局指南.pdf
  • 三相全波无刷直流电机及其驱动方法基础
  • 负载接地式数控半导体激光器恒流源设计
  • 纯电动汽车上下电详解.docx
  • 电路板常用的几种胶:红胶、黄胶、导热胶、硅酮胶和热熔胶.docx
  • 电动汽车动力电池管理系统设计_谭晓军著
  • 新规上路,你的产品进得了欧盟吗? (三)
    旨在减低电子垃圾的欧盟DIRECTIVE (EU) 2022/2380新规上路在即,未来你购买的电子3C产品未必会随附充电器,身为消费者该如何挑选?充电太慢或甚至无法充电的风险如何避免?厂商制造符合EN IEC 62680-1-3的连接器就真的符合欧盟新规了吗?潜在风险买了新手机搭配原有的充电器,却发现充电速度太慢而购买新的充电器,但接上新手机后却又发现无法充电,你是否也曾遇过这般状况?在「新规上路,你的产品进得了欧盟吗?(二)」中,百佳泰分享过支持Power Delivery的快充充电器(So
    百佳泰测试实验室 2024-03-28 16:21 65浏览
  • 飞书的全员信,回避了核心问题
    飞书今天的裁员,其实并不让人意外。 在一年前的字节跳动11周年年会上,字节跳动CEO梁汝波曾直接表示,该公司对飞书和火山引擎的研发投入不低于抖音和 TIKTOK,从现在来看,投资回报率不是很划算。 那之后,飞书裁员的传言始终没有停歇过。飞书CEO谢欣也需要亲自澄清飞书并没有8000人员工这一说。 而本周的全员信,乃至于坊间传言的千人裁员,算是时隔一年之后的对领导点名的Callback。 上一个被点名的业务板块,是当时已经盈利的朝夕光年。与飞书并列六大业务板
    锦缎研究院 2024-03-28 12:23 67浏览
  • 阻抗不连续对于USB产品带来的影响
    USB4产品具有较高的数据传输速度,因此在PCB的layout及connector的选用上务必格外小心。那该从何确认产品的质量好坏,最直接的方式便是用网络分析仪(Network Analyzer),针对USB4产品的高速信号线进行阻抗量测以及回波损耗的量测。潜在风险部分厂商设计自家产品时,layout的设计并未照着规范走,或者因预算考虑,选用未经认证的连接器等,这些因素都可能导致产品功能异常,如:数据传输速度降低、屏幕显示异常等。而通常这类产品在阻抗连续或回波损耗特性方面都表现得较差。实际案例下
    百佳泰测试实验室 2024-03-28 16:31 71浏览
  • PLC模拟量
    PLC中模拟量是指连续变化的物理量,常用于过程控制,如监控温度、压力和流量等参数。在PLC系统中,模拟量通常指的是那些可以连续变化的物理量,它们不同于数字量,后者通常是离散的、具有固定数量的状态。模拟量在工业自动化中扮演着重要角色,因为它们能够提供更精细的控制和监测能力。以下是关于PLC处理模拟量的几个关键点:识别和处理:PLC系统能够识别和处理模拟信号,将其转换为数字值以供程序使用。这一过程通常涉及到模拟到数字转换器(ADC)的使用。输入输出模块:PLC通过特定的模拟输入输出模块来读取和输出模
    丙丁先生 2024-03-27 12:59 122浏览
  • 串音干扰是什么?如何成为行车记录器影像失真的潜在威胁
    随着各种汽机车及交通运输系统的普及,行车纪录器在现代生活中扮演着重要的角色,并成为人们日常生活中不可或缺的一部分。不论是我们日常搭乘的公交车、游览车等公共交通工具,还是公司行号作为用于物流运输的大货车和拖车,可以说只要车在路上跑,十之八九都装有行车纪录器。行车纪录器除了能够实时追踪车辆的运动轨迹及周遭环境,时时刻刻纪录着车辆运输动态与周遭环境事务,它的附属价值功能还能更广阔地包含事故纪录、安全监控、防制诈欺、路线纪录及防盗功能等等。总括来说,行车纪录器在提升行车安全及保护车主权益等面向上来说绝对
    百佳泰测试实验室 2024-03-28 15:57 82浏览
  • PLC Modbus
    PLC Modbus是一种广泛应用于工业自动化领域的通信协议,用于PLC与其他设备之间的数据传输和控制。以下是实现PLC Modbus通信需要考虑的几个关键点:硬件设置:确保PLC配备了相应的通信模块,如RS485通信板,以及所需的接口硬件,如RS485总线设备。这些硬件组件需要正确安装和配置,以便能够进行物理层面的数据交换。参数匹配:在软件层面,需要设置正确的通信参数,包括波特率、数据位、停止位和奇偶校验等,以确保数据能够准确无误地传输。库存储地址:在使用Micro/WIN软件和S7-200
    丙丁先生 2024-03-27 12:51 89浏览
  • PLC轮询
    PLC轮询通常指的是在程序控制下,PLC依次对连接的多个设备进行访问和数据交换的过程。PLC(可编程逻辑控制器)轮询是工业自动化中常见的通信方式,尤其在使用Modbus等协议时。以下是实现PLC轮询的一些关键点:硬件配置:需要确保PLC配备了适当的通信模块,如CB1241(RS485)通信板,以及所需的接口硬件,如RS485总线设备。软件配置:在软件方面,需要设置通信参数,包括波特率、奇偶校验等,并初始化Modbus端口。这些参数需要与从站设备的设置相匹配。程序设计:PLC程序中通常会使用定时器
    丙丁先生 2024-03-27 12:53 103浏览
  • 中国最大MEMS代工企业扭亏为盈!净利1.04亿元增长241%!
    3月26日晚间,中国&全球领先的MEMS芯片代工企业赛微电子,发布了2023年财务报告,相较2022年巨亏7336万元,2023年成功扭亏为盈,主要财富数据方面:传感器专家网https://www.sensorexpert.com.cn专注于传感器技术领域,致力于对全球前沿市场动态、技术趋势与产品选型进行专业垂直的服务,是国内领先的传感器产品查询与媒体信息服务平台。基于传感器产品与技术,对广大电子制造从业者与传感器制造者提供精准的匹配与对接。报告期内,公司实现营业收入 129,968.27 万元
    传感器专家网 2024-03-28 09:35 54浏览
  • 精准探寻理想新姿态,SPL激光为你启航
    使用红外脉冲激光器基于“飞行时间法”(ToF) 的测量技术已被应用于各种各样的应用领域。它可以在消费和汽车应用领域(例如自动紧急刹车系统、激光雷达)找到,也已经大量采用在工业领域中,例如测距、3D 扫描、速度测量等。艾迈斯欧司朗红外脉冲激光器 SPL PL90AT03,具有高输出功率、小发光尺寸、高可靠性等优点,为提升量测距离、降低光学系统体积提供更优选择。方案优势及主要特性技术要点3. 光学设计SPL PL90AT03 的发散角在垂直和水平方向分别为 25° x 12° @FWHM  
    艾迈斯欧司朗 2024-03-27 18:26 109浏览
  • PLC模拟量滤波
    PLC模拟量滤波是为了提高信号的稳定性和准确性,常用的方法有限幅滤波法、中位值滤波法、算术平均滤波法等。在工业自动化控制中,PLC(可编程逻辑控制器)处理的模拟信号可能会受到各种电磁干扰,导致信号中含有噪声。为了确保控制系统的稳定性和可靠性,需要对模拟输入信号进行滤波处理。以下是一些常用的PLC模拟量输入滤波方法:限幅滤波法:这种方法通过设置一个最大允许偏差值,来判断连续两次采样值是否有效。如果当前值与上一次值的差值小于或等于这个偏差值,则认为当前值有效。中位值滤波法:这种方法适用于消除脉冲性质
    丙丁先生 2024-03-27 12:57 132浏览
  • PLC模拟量滤波平均值
    在PLC(可编程逻辑控制器)中,对模拟量进行滤波以计算平均值是一种常见的信号处理技术,用于减少噪声并提高测量数据的稳定性和准确性。以下是实现该功能的步骤和注意事项:采集样本:首先,需要连续采集一系列的模拟量样本。样本数量通常取决于信号的稳定性和所需的滤波程度。计算平均值:将所有采集到的样本值相加,然后除以样本数量,得到平均值。这个平均值可以有效地减少随机噪声的影响。选择滤波算法:可以使用不同的滤波算法来计算平均值,例如简单平均、加权平均或移动平均等。选择合适的算法取决于信号特性和系统要求。更新滤
    丙丁先生 2024-03-27 12:55 121浏览
  • PLC的5种通信
    PLC(可编程逻辑控制器)的通信方式通常包括以下五种:PPI通讯:这是西门子公司为S7-200系列PLC开发的一种通讯协议。它基于RS-485接口,并且是一种主-从协议,其中主站设备发送请求到从站设备,从站设备进行响应。串口通讯:基于串行通讯方式,常用的串口包括RS232和RS485。这种方式速度较慢,但适用于点对点通讯的场景。以太网通讯:这种通讯方式基于以太网,速度快,距离远,支持TCP/IP协议,适用于多点通讯和远程访问控制。CAN总线通讯:基于CAN协议,速度较快,距离较远,适用于多点通讯
    丙丁先生 2024-03-27 12:47 97浏览
  • 蔚小理的2023:理想赚翻,蔚来巨亏211亿,小鹏自救
    造车新势力的头部品牌“蔚小理”,交出了2023年成绩单,差距由此拉开。理想汽车凭借千亿营收、全年盈利成功上岸,挤进2023年中国新能源车销量排名第五。而蔚来、小鹏则走向另一面,亏损进一步扩大。2024年,新能源汽车市场的竞争将更加激烈,三大新势力头部企业也将根据市场变化进行战略调整。竞争还在继续,但局势与几年前已经完全不同。三大新势力2023年销量都同比增长,但赚钱的只有理想。造车新势力业绩冰火两重天理想汽车:卖出一辆车能赚3.1万元财报显示,2023年全年卖出了37.6万台车,营收达1239亿
    华尔街科技眼 2024-03-27 16:16 161浏览
  • 高速电路设计、完整性设计推荐书籍
    信号传输如今是越来越高速,伴随着的将是更多的信号完整性的问题。然而电源的完整性也影响着信号的完整性。这样的高速传输,以前不用太多考虑的EMI问题,也越来越被关注。 针对于这些问题,对于layout工程师而言,是增加了越来越多的难度,而相关的需要学习的知识也越来越多。     所以在此分享几本相关的书,也是比较经典的书,供大家充电。第一本《高速数字设计》作者:霍华德 约翰逊在高速数字电路信号完整性丛书中是一本宝典级别的书,人称黑魔书。也是很早出来的书,对以
    二月半 2024-03-28 09:10 48浏览
  • PLC高速计数器
    PLC高速计数器是用于精确测量和控制快速变化的信号,如编码器的脉冲输出等。PLC高速计数器是可编程逻辑控制器(PLC)中的一个高级功能,它能够处理比PLC的常规扫描周期更快的事件。这对于需要精确跟踪快速过程的应用至关重要,例如在制造业中跟踪机器的速度或者在自动化系统中监控包装流程。以下是关于PLC高速计数器的一些详细信息:工作模式:高速计数器有多种工作模式,包括单相计数器和双相计数器。单相计数器可以带有内部或外部方向控制,而双相计数器则可以提供增减计数时钟或者A/B相正交计数。功能与应用:高速计
    丙丁先生 2024-03-27 12:50 105浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦

天下网TXWEB新乡市建站公司珠海做网站吕梁市seo按天扣费河源市模板网站建设哪家好湛江模板网站建设公司大连品牌网站设计哪家好新乡seo排名哪家专业朔州seo排名哪家好九江网站设计哪家好北海市网站制作公司萍乡市营销网站建设报价南通市网站开发报价泰州市seo公司莆田网站开发哪家好铜川市seo推荐南宁网络推广哪家好晋中市seo按天扣费推荐珠海网页设计推荐舟山seo按天扣费哪家专业乐山市网站推广公司三亚网络推广多少钱雅安网站开发报价郴州网络推广价格韶关网站定制哪家专业亳州市网页设计哪家好汉中seo公司辽源市网站开发价格廊坊市seo按天扣费哪家好西宁网站优化推荐内江市seo按天扣费公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网TXWEB XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化