61ic电子在线 首页 技术 嵌入式系统 查看内容

从OS和API的角度来看什么是MATLAB

2017-8-22 16:57| 发布者: 61ic| 查看: 1100| 评论: 0|原作者: 61ic|来自: 61ic

摘要: MATLAB跟计算机语言的发展非常像。


最开始的计算机通过写一条一条的汇编指令来实现对计算机的操作。后来这个写起来太费劲了,根本不是人看的,所以就将汇编语言包装成了人所习惯的语言的形式,最流行的方式莫过于C语言了。但是C语言做出一个功能也很费劲。我刚开始学C语言的时候,想在黑白屏的控制台上做一个俄罗斯方块。最后的难点竟然卡在了如何做出那些图形上。后来才看到有个例子,它提供了一些函数,调用这些函数可以产生图形。有了这个,我再来开发俄罗斯方块,我就可以集中在俄罗斯方块的核心规则上了。即C语言对便捷地开发应用程序还是不够,再其基础上诞生了两个很重要的软件开发概念:OS和API。OS可以说是将计算机系统进行了一次重新的描述。事实上我们所做的软件从没有真正操作过硬件,我们做的只是组合汇编指令。OS将计算机的所有资源,所有的基本操作用软件框架的方式给你提供好了。以什么形式呢?API的方式,有了API,我读取键盘的按键值变成了Read_key()函数。用户点击鼠标变成了操作系统中的一个通知(事件),等着软件开发人员去处理。

MATLAB跟计算机语言的发展非常像。有时候,我甚至觉得它就像是Window+Visual Studio的合体。MATLAB软件设计的起源是一个为了减轻学算法学生负担的老师的一个idea。很多算法里面都有一些基本的算法,比如排序,矩阵求积,转置,积分等等。这个老师就把常见的算法写成了一个个的函数,学生只要关心自己的想法就行了,这些这些基本操作的实现上就不必让每个程序员都去花时间了。这个想法后来得到了发展,发扬光大了。它变成了一个非常庞大的算法方面的API平台。它不是什么API都做,只做算法以及跟算法相关的API。就像MathWorks公司对MATLAB软件的定位:Computer Language for Science and Engineering。

MATLAB提供的最核心内容是:m语言,解释m语言运行的引擎。在这个主干上发展出了一堆东西:各种算法领域的API,以及它们的帮助文档以及例子。

那么怎么看Simulink呢?计算机语言还有一个发展,图形化编程语言。用模块表示函数,连线表示数据传递关系,背后还有一些数据库作为支撑。用这套东西来表达一类跟时间相关的算法。所以我理解的Simulink是:利用图形化的计算机语言来建立一个跟时间有关的算法。算法还有很多别的称呼:模型,控制器,通信算法,估计器,滤波器。这些无不是跟时间有关的算法。

很多嵌入式的项目是这样一个运行流程:上电的时候首先进行一个基本的初始化。将变量,相关的寄存器配置好之后,进入一个死循环。死循环执行一个人任务或者不执行任务。然后接收到中断事件后对中断进行相应。由此实现其功能。Simulink的运行流程与此很想。当点击运行时,Simulink首先对模块所组成的模型进行初始化。然后进入一个循环。每次循环代表一个时间。执行一段时间即完成了整个模型的运行。

MATLAB软件每年都会更新两个版本, 比如2015年的两个版本:R2015a,R2015b。为何会有如此高频,而稳定频次的升级。MATLAB软件的升级与其他应用软件的升级有所不同。它的升级非常重要的一点是在将全世界最新的科学研究与工程领域的成果以软件模块的形式容纳进来。所以做工程与科学的专业人员,通过MATLAB来了解,接触工程与科学方面的前沿是很好的方式。只要应用是开放的,那么支持应用的API就是开放的,那么MATLAB就是一个不断生长的软件。

鲜花

握手

雷人

路过

鸡蛋

地址 :湖南省株洲市天元区利江花园
合作 Email: administration@61ic.com

  • 关注61ic官方微博
    了解最新动态

  • 关注61ic微信公众号
    这里有好玩的讯息

  • 加入61ic交流群
    不断在这里成长

© 2014-2017 HuNan 湖南索炜达电子科技有限公司 . All rights reserved.
湘公网安备 43020202000020号

Archiver|手机版|小黑屋||湘ICP备13001086号-2 QQ 
返回顶部