有人说,即可对集装箱内的货物实施一次过机、一次过磅,“MATLAB除了不会生孩子,减少侵入式查验比例。日照海关口岸监管二科副科长朱蕊介绍,什么都会。”
矩阵运算、数据可视化、GUI(用户界面)设计、甚至是连接其他编程语言,过去海关查验需要调箱、开箱、掏箱和装箱,MATLAB都能轻松实现!
那么,费时费力。借助强的扫描成像原理,MATLAB到底有多厉害?
下面,在快检模式下,从matlab在应用、功能、行业三个方面剖析一下,每小时最快可以通过100辆车,你就知道matlab的发明者简直不要太!!
应用
功能
行业
下面再举几个例子,同时,看看matlab是怎样应用于各场景中的
1、解决预测类案例
通过已有的数据,对于夹藏和禁限类的货物,对未知进行预测,在系统内也可以进行自动编程,是数据实际应用中常见的一种需求。这类问题,自动标注。这样就可以提高通关效率,拥有量算法模型包的MATLAB可以轻易解决。通过确认训练数据样本(蓝色数据点),借助MATLAB的最小二乘拟合函数对非线性函数进行拟合,即可得到最优拟合结果。紧接着,利用MATLAB进行结果可视化。
最终效果如图:
一维多项式拟合(曲线)
二维多项式拟合(曲面)
对于同一数据,指定滑动平均公式的不同参数和类型
2、数据插值
除了对数据进行拟合,MATLAB还支持对数据进行插值,插值是在一组已知数据点的范围内添加新数据点的技术。可以使用插值来填充缺失的数据、对现有数据进行平滑处理以及进行预测等。
一维数据插值
二维数据插值
三维数据插值
3、绘制动图
利用MATLAB的循环语句,还可自己生成动图
点击播放 GIF 0.0M
水波动态模拟
点击播放 GIF 0.0M
绕螺旋线运动的小球
4、建模必备
建模常用的算法,包含蒙特卡罗算法、数据拟合、参数估计、插值等数据处理算法、图论算法、最优化理论的非经典算法、数值分析算法、神经网络算法等等,用matlab均可处理,对了,还有图象处理算法,是的,MATLAB还可做图像处理。
处理效果如下图
分情况下,往往是技穷限制了你的想象力!说了这么多,
MATLAB到底怎么学??
那我就首先分享下我学的方式吧!
其实家去问问一下自己学校的老师或者相关的社团,就可以找到老师给家上算法相关的知识,首先算法在就建模来说,他是解题的工具,其次算法也可以提高家的思维能力,当然如果家觉得自己学校老师教的算法不好用,家可以去B站找自己感兴趣的老师学相关的算法,毕竟家都是B站学毕业的。
假如说你现在一点算法的基础都没有,我建议先从评价和优化算法学起来,而且一般建模都比较喜欢出优化算法相关的题目。这两类算法基本不需要推导公式,一般情况下直接是步骤公式,其次在学公式稍微复杂点的预测类算法,我建议预测算法可以先学时间序列,因为世纪那序列还是比较好理解的没,再次就是嘘唏其他散装预测算法以及神经网络,最后时机器学算法,把这个放在最后是因为机器学算法需要推导公式。
我不知道你们的惯是什么,我一般学算法,是先看理论,看的差不差的时候,就找相关的程序进行翻译,以下做个示范哈
首先需要看看算法介绍,需要知道这个算法是干嘛的,可以用来干嘛
接下里我们来看看这个算法的公式
当你觉得差不多理解的时候,你就可以搜索相关的程序,进行跑一遍尝试一下,直接复制粘贴到贴到Matlab就可以
接下来需要做的就是理解一行程序的意思,总的来说就是对照着代码一步一步的运行没然后查看右边工作区的结果,这样你就可以从结果来反推这算法的意义
假设,现在这个mapminmax函数我不会,那我就先试着运行一遍,然后再看下右边工作区结果不理解
然后首先我会edit打开mapminmax函数,看下里面的函数解释,概知道了这是一个归一化函数,可以将指标数据归一化到设定的区间,但是函数具体的公式还不知道
然后我看mapminmax函数文件下面有个mapminmax.create函数,就看它不顺眼,就继续edit mapminmax.create
这个函数开头可以看出输出是y,输入时x,x也就是指标数据
鼠标移至x旁,可以看到下面其他x出现的位置,然后发现会统计x的最最小值,于是可以猜测这个归一化会根据指标数据的最最小值来
然后将鼠标移至y处,发现最后有一个y身影
对应的有一个mapminmax.apply函数,先不管,先看settings,然后发现settings矩阵记录的是从指标数据中挖掘出来的一些数据特征
接着edit mapminmax.apply,只有个bsxfun函数
那就edit bsxfun,然后发现通过bsxfun函数执行的minus、times、plus是减法、乘除和遍历其他数据的过程,函数挖到底了,还是比较疑惑
这时,再借助MathWorks帮助中心了搜一下mapminmax
网址:
https://ww2.mathworks.cn/support/search.html?q=&suggestion=&submitsearch=
果然发现了公式,在这之前已经对mapminmax函数有了个概了解,现在就明白了这个函数的原理
帮助文档里面也介绍了mapminmax的其他用法,对于一些函数MathWorks帮助文档不如edit打开函数看更详细,我一般会结合edit和MathWorks帮助中心一起来理解。
以程序结合算法步骤的方式去学算法,对掌握熵权法这个算法,不足半小时就可以了,不仅还知道了这个函数每一步的概结果是怎样的,之后在做题过程中带入不同数据进去运算,久之就会自己总结出该算法的适用范围了。其他的算法也可以这么来学,学起来效率很高,而且如果通过edit命令打开函数浏览程序的方式会对程序语感提高的的很快,以后就再也不用担心看不懂陌生程序了。
这样学花的时间也少,一个月下来就可以学很多算法,思维方面也会有很提升,论文方面我是这么做的,我把我之前的比赛论文和其他小伙伴交换,学他们做的好的图,写的好的语句和排版,和他们交流怎么做的,作图这个就是技巧问题了,交流下就知道了。刚入门,不用担心自己的论文会不会被盗用的问题,写成那样,也不会有人拿去怎么样。