Matlab的核心用途是快速算法实现与思路验证。
Matlab自身提供了门类齐全且标准统一的各种函数类库。通过不同门类的函数类库可以快速地构建实现自己希望构建的算法。在此基础上,通过仿真来验证算法的正确性和有效性。
因此,只要你的工作范围中包含算法实现和思路验证的部分,都可以使用Matlab来进行实现和验证。Matlab通常的开发形式也是基于基础类库构建自身程序。
当前,Matlab也可以直接将自身程序自动转换为C语言程序或verilog程序,下载到硬件进行验证。但是这种转换效率较低并且很多函数无法实现直接转换。因此更推荐将Matlab程序自己改写为C或Verilog程序的方法进行执行验证。
MATLAB是一款主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的软件。
Matlab优点:
1.高效的数值计算功能。目前其他编程语言以及其他类似的数学软件无可替代;
2.完备的计算结果和编程可视化功能。这一点其他软件,无可替代;
3.接近数学表达式的自然化m语言。非常易于学习和掌握;Matlab软件就是一个编程开发环境,自带的m语言简单易用,有编程开发经验的人应该是非常容易掌握的,支持面向对象编程。
4.功能丰富的应用工具箱与Help系统,目前Matlab的工具箱总数很多,覆盖了数学,统计,仿真,电子,生物信息学,金融,测试等等各个方面。
但是注意,matlab只是一个工具。它仿真你的构思。前提是你要有一定的构思。纯matlab是找不到任何工作的。必须要有相关的专业知识、设计思想。所以要一方面好好学习理论知识,尽最大可能结合实际,另一方面灵活运用matlab实现自己的设计。
具体的功能示例:
可以做小游戏,可以进行精确的数学计算(高数,概率,线代方程,尤其擅长矩阵),三维建模画出立体图形,与C++,Python等混合编程,用simulink3danimation做3D机械运动模型,较高级别的电路仿真,可以与精密仪器结合计算数据并绘制图像,可以做音乐,哈哈甚至可以用来修图等等多种功能。
自动化专业,硬件方向等离不开Matlab。
下面是它各领域的工具箱:(来自知乎的某位大牛,忘记具体出处了)
序号
工具箱
备注
数学、统计与优化
1
SymbolicMathToolbox
符号数学工具箱
2
PartialDifferentialEuqationToolbox
偏微分方程工具箱
3
StatisticsToolbox
统计学工具箱
4
CurveFittingToolbox
曲线拟合工具箱
5
OptimizationToolbox
优化工具箱
6
GlobalOptimizationToolbox
全局优化工具箱
7
NeuralNetworkToolbox
神经网络工具箱
8
Model-BasedCalibrationToolbox
基于模型矫正工具箱
信号处理与通信
9
SignalProcessingToolbox
信号处理工具箱
10
DSPSystToolbox
DSP[size=+0]系统工具箱
11
CommunicationsSystToolbox
通信系统工具箱
12
WaveletToolbox
小波工具箱
13
Fixed-PointToolbox
定点运算工具箱
14
RFToolbox
射频工具箱
15
PhasedArraySystToolbox
相控阵系统工具箱
控制系统设计与分析
16
ControlsystToolbox
控制系统工具箱
17
SystIndentificationToolbox
系统辨识工具箱
18
FuzzyLogicToolbox
模糊逻辑工具箱
19
RobustControlToolbox
鲁棒控制工具箱
20
ModelPredictiveControlToolbox
模型预测控制工具箱
21
AerospaceToolbox
航空航天工具箱
图像处理与计算机视觉
22
ImageProcessingToolbox
图像处理工具箱
23
ComputerVisionSystToolbox
计算机视觉工具箱
24
ImageAcquisitionToolbox
图像采集工具箱
25
MappingToolbox
地图工具箱
测试与测量
26
DataAcquisitionToolbox
数据采集工具箱
27
InstrumentControlToolbox
仪表控制工具箱
28
ImageAcquisitionToolbox
图像采集工具箱
29
OPCToolbox
OPC[size=+0]开发工具
30
VehicleNetworkToolbox
车载网络工具箱
计算金融
31
FinancialToolbox
金融工具箱
32
EconometricsToolbox
计算经济学工具箱
33
DatafeedToolbox
数据输入工具箱
34
Fixed-IncomeToolbox
固定收益工具箱
35
FinancialDerivativesToolbox
衍生金融工具箱
计算生物
33
BioinformaticsToolbox
生物信息工具箱
34
SimBiology
生物学工具箱
并行计算
35
ParallelComputingToolbox
并行计算工具箱
36
MATLABDistributedComputingServer
MATLAB[size=+0]分布式计算服务器
数据库访问与报告
37
DatabaseToolbox
数据库工具箱
38
MATLABReportGenerator
MATLAB[size=+0]报告生成
MATLAB[size=+0]代码生成
39
MATLABCoder
MATLAB[size=+0]代码生成
40
FilterDesignHDLCoder
[size=+0]滤波器设计HDL[size=+0]代码生成
MATLAB[size=+0]应用发布
41
MATLABCompiler
MATLAB[size=+0]编译器混合编程
42
MATLABBuilderNE
forMicrosoft.NetFramework
43
MATLABBuilderJA
forJavaLanguage
44
MATLABBuilderEX
forMicrosoftExcel
45
SpreadsheetLinkEX
forMicrosoftExcel
Simulink模块
序号
工具箱
备注
信号处理与通信
1
DSPSystToolbox
DSP[size=+0]系统工具箱
2
CommunicationsSystToolbox
通信系统工具箱
3
ComputerVisionSystToolbox
计算机视觉工具箱
4
SimRF
RF[size=+0]模块集功能
控制系统设计与分析
5
SimulinkControlDesign
Simulink[size=+0]控制器设计
6
SimulinkDesignOptimization
Simulink[size=+0]设计优化
7
AerospaceBlockset
航空航天模块
物理建模
8
Simscape
物理模型仿真模块组
9
SimMechanics
机构动态仿真模块组
10
SimDriveline
传动系统系统仿真模块组
11
SimHydraulics
液压仿真模块组
12
SimRF
RF[size=+0]仿真模块组
13
SimElectronics
电子仿真模块组
14
SimPowerSysts
动力系统仿真模块组
基于事件的建模
15
Stateflow
16
SimEvents
快速原型和硬件再回路仿真
17
xPCTarget
18
xPCTargetEmbeddedOption
19
Real-TimeWindowsTarget
仿真绘图与报告
20
Simulink3DAnimation
21
GaugesBlockset
22
SimulinkReportGenerator
验证、确认和测试
23
SimulinkVerficationandValidation
24
SimulinkDesignVerifier
25
SystTest
26
EDASimulatorLink
27
SimulinkCodeInspector
定点建模
28
SimulinkFixedPoint
代码生成
29
SimulinkCoder
30
EmbeddedCoder
31
SimulinkHDLCoder
32
SimulinkPLCCoder
33
DoQualificationKit
forDO-178
34
IECCertificationKit
forISO26262andIEC61508
MATLAB编程?
在我是半吊子码农的时候(现在0.55吊子吧)最看不起两样东西。一个R一个Matlab。但我现在发现,matlab和github这两样就是两个大军火库。搞懂了你就发现里面简直啥武器都有。
matlab的意义在于,你可以调用全世界最聪明的人写的代码。
他的缺点,贵。大。不过你如果熟练用python的package话,倒是可以。python在矩阵方面优化的也没有matlab好。
为了能够给出一个相对比较准确并有意义的答案,于是我爬取了智联招聘平台上在27个主要城市中与MATLAB相关的职位。考虑到目前是招聘淡季的原因,因此总共爬取了4485条招聘信息。
什么职业需要用到MATLAB
将这4485条招聘信息做成词云之后,不难发现,最醒目的两个词分别是工程师与算法工程师,而这也是完全符合MATLAB目标用户的定位,MATLAB是为工程师和科学家量身定制的,用更少的时间实践更多的想法。
除此以外,MATLAB需求较为明显的职位特点还包括:
软件
数据
图像
研发
控制
量化
测试
嵌入式
机器学习
仿真
通信
等等。
MATLAB是电子信息类工程师的必备的工具软件,MATLAB所覆盖的领域非常广泛,数字信号处理,图像分析,数据挖掘,通讯,仿真,机器学习,控制等等都会用到matlab,可以肯定的是80%的电子信息类工作都会用到matlab,但是很少有公司只要求会matlab,所以建议:
一、除了matlab,还必须掌握微控制器,这样才能找到控制系统方面的工作。
二、基于matlab,向信息处理方面发展,熟练掌握数字信号处理、图像处理、小波变换、神经网络等分析方法,可以找信息处理方面的工作。
三、基于matlab,向建模、仿真方面发展,寻求在某个领域的发展。
四、基于matlab,向深度学习、数据挖掘等领域发展,寻求在某个领域的应用和工作。