加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

算法究竟是什么,有什么用?

2021/10/13
568
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

软件的,经常提到算法这个词。而且大家都对算法推崇备至,今天简单聊一下算法究竟是干嘛的?解决什么问题?

首先从宏观上了解下,这个最好理解。我从几个案例来分析下,目的是让你知道为什么搞软件需要用到算法。

思考下面案例时,大家不妨把自己代入去替代CPU,或者说替代算法程序,去思考下如果是用你的脑子来思考决策,你会怎么做?实际上你的思考和决策的过程就是你大脑里的算法在运行。

案例1 路径规划问题。

已知一张地图,然后我们在A点,要去B点,应该走哪一条路?

大家都用过高德或者百度地图,对这种场景很熟悉的,这就是个典型的算法问题。这个问题的复杂之处就在于实际要考虑很多因素,譬如各路段的拥堵情况,譬如是否走高速,譬如我开车还是步行,这些条件都会作为算法要考虑的参数。

如果你要做一个导航产品,你能不研究路径规划算法吗?不搞定这块,你的产品怎么智能化起来?

案例2 手机手表计步功能问题。

现在智能手机和手表都带了计步器功能,准确度其实挺高的了,但是前几年刚出来时实际上精确度参差不齐。

实际上计步器就是通过各种传感器的数据,来综合处理判断这个人究竟有没有走步。可以使用到的传感器主要是陀螺仪加速度传感器。大家可以理解为就是个MPU6050,玩过四轴的同学都熟悉。

陀螺仪能告诉你姿态变化,加速度传感器能告诉你加速度变化,这两个值本身对你的运动都很敏感,传感器本身零度也很高。

但是问题是你怎么从这两个值能得到人到底走没走?走了几步?这就需要算法。你的算法效果越好则测到的步数越准,不会遗漏,也不会多算。而且还要考虑算法本身的复杂度,计算所需要的运算量,功耗等。

最好的算法的标准就是,消耗更少的输入数据和功耗,运算量,运算时间,得到最精准高效的结果。然而现实中不可能有各方面都最好的算法,总是要做一些取舍。

案例3 电动汽车电机控制器

电动汽车电机驱动,这个和传统的燃油车完全不同。大家如果开过两种车,做个对比就会发现“手感”是不同的。

传统燃油车的核心技术是发动机和变速箱,这个大家都听过。那为什么是这两个?难在哪里?你想想,汽车那么重,路况又复杂,燃油发动机产生的燃烧动能在变速箱和一系列加减速齿轮的作用下,要输出平稳的动力,让汽车能正常运行,这多难啊,这其实就是一套“机械实现的运动控制算法”。

电动车呢?也需要这一套算法,甚至需要考虑“动能回收”等更复杂的功能。难不难?在计算机领域算挺难的,但是和燃油发动机相比其实难度大大降低,这也是为什么汽车电动化有助于国产汽车崛起的一大原因。

电机控制的应用场景很多,譬如吹风筒,各种机器设备等场景和具体要求完全不同,所以需要应对的问题和算法策略也不同,这就是为什么需要很多开发电机控制算法的人。

还有很多案例,譬如电动车的电池充电问题,手机的自动锁屏自动检测人脸验证开锁问题,汽车的空气悬架问题,甚至喷水马桶怎么洗干净屁股的问题,等等都是算法问题。

所以做算法有很大需求,可以说智能化的本质,就是玩转传感器和算法。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
BSC014N06NSTATMA1 1 Infineon Technologies AG Power Field-Effect Transistor,
$4.2 查看
42815-0012 1 Molex Wire Terminal
$0.93 查看
16-02-0096 1 Molex Wire Terminal,
$0.06 查看

相关推荐

电子产业图谱

微信公众号《朱老师IT充电站》主笔。先后从事电子工程师、单片机软件工程师、嵌入式linux软件工程师、物联网软件工程师、架构师等工作,教育品牌<朱老师物联网大讲堂>创始人,畅销书作者。擅长U-Boot、linux kernel等嵌入式底层和系统层开发、架构设计。擅长汇编、C/C++、Java、C#等常用开发语言。被授予:IBM技术专家、华为云享专家、51CTO学院金牌讲师等称号。