matlab与c的混合编程之入门
什么工作会用到MATLAB编程?
什么工作会用到MATLAB编程?
MATLAB是一款主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的软件。
Matlab优点:
1.高效的数值计算功能。目前其他编程语言以及其他类似的数学软件无可替代;
2.完备的计算结果和编程可视化功能。这一点其他软件,无可替代;
3.接近数学表达式的自然化m语言。非常易于学习和掌握;Matlab软件就是一个编程开发环境,自带的m语言简单易用,有编程开发经验的人应该是非常容易掌握的,支持面向对象编程。
4.功能丰富的应用工具箱与Help系统,目前Matlab的工具箱总数很多,覆盖了数学,统计,仿真,电子,生物信息学,金融,测试等等各个方面。
但是注意,matlab只是一个工具。它仿真你的构思。前提是你要有一定的构思。纯matlab是找不到任何工作的。必须要有相关的专业知识、设计思想。所以要一方面好好学习理论知识,尽最大可能结合实际,另一方面灵活运用matlab实现自己的设计。
具体的功能示例:
可以做小游戏,可以进行精确的数学计算(高数,概率,线代方程,尤其擅长矩阵),三维建模画出立体图形,与C ,Python等混合编程,用simulink 3d animation 做3D 机械运动模型,较高级别的电路仿真,可以与精密仪器结合计算数据并绘制图像,可以做音乐,哈哈 甚至可以用来修图 等等多种功能。
自动化专业,硬件方向等离不开Matlab。
下面是它各领域的工具箱:(来自知乎的某位大牛,忘记具体出处了)
序号
工具箱
备注
数学、统计与优化
1
Symbolic Math Toolbox
符号数学工具箱
2
Partial Differential Euqation Toolbox
偏微分方程工具箱
3
Statistics Toolbox
统计学工具箱
4
Curve Fitting Toolbox
曲线拟合工具箱
5
Optimization Toolbox
优化工具箱
6
Global Optimization Toolbox
全局优化工具箱
7
Neural Network Toolbox
神经网络工具箱
8
Model-Based Calibration Toolbox
基于模型矫正工具箱
信号处理与通信
9
Signal Processing Toolbox
信号处理工具箱
10
DSP System Toolbox
DSP[size 0]系统工具箱
11
Communications System Toolbox
通信系统工具箱
12
Wavelet Toolbox
小波工具箱
13
Fixed-Point Toolbox
定点运算工具箱
14
RF Toolbox
射频工具箱
15
Phased Array System Toolbox
相控阵系统工具箱
控制系统设计与分析
16
Control system Toolbox
控制系统工具箱
17
System Indentification Toolbox
系统辨识工具箱
18
Fuzzy Logic Toolbox
模糊逻辑工具箱
19
Robust Control Toolbox
鲁棒控制工具箱
20
Model Predictive Control Toolbox
模型预测控制工具箱
21
Aerospace Toolbox
航空航天工具箱
图像处理与计算机视觉
22
Image Processing Toolbox
图像处理工具箱
23
Computer Vision System Toolbox
计算机视觉工具箱
24
Image Acquisition Toolbox
图像采集工具箱
25
Mapping Toolbox
地图工具箱
测试与测量
26
Data Acquisition Toolbox
数据采集工具箱
27
Instrument Control Toolbox
仪表控制工具箱
28
Image Acquisition Toolbox
图像采集工具箱
29
OPC Toolbox
OPC[size 0]开发工具
30
Vehicle Network Toolbox
车载网络工具箱
计算金融
31
Financial Toolbox
金融工具箱
32
Econometrics Toolbox
计算经济学工具箱
33
Datafeed Toolbox
数据输入工具箱
34
Fixed-Income Toolbox
固定收益工具箱
35
Financial Derivatives Toolbox
衍生金融工具箱
计算生物
33
Bioinformatics Toolbox
生物信息工具箱
34
SimBiology
生物学工具箱
并行计算
35
Parallel Computing Toolbox
并行计算工具箱
36
MATLAB Distributed Computing Server
MATLAB[size 0]分布式计算服务器
数据库访问与报告
37
Database Toolbox
数据库工具箱
38
MATLAB Report Generator
MATLAB[size 0]报告生成
MATLAB[size 0]代码生成
39
MATLAB Coder
MATLAB[size 0]代码生成
40
Filter Design HDL Coder
[size 0]滤波器设计HDL[size 0]代码生成
MATLAB[size 0]应用发布
41
MATLAB Compiler
MATLAB[size 0]编译器 混合编程
42
MATLAB Builder NE
for Framework
43
MATLAB Builder JA
for Java Language
44
MATLAB Builder EX
for Microsoft Excel
45
Spreadsheet Link EX
for Microsoft Excel
Simulink模块
序号
工具箱
备注
信号处理与通信
1
DSP System Toolbox
DSP[size 0]系统工具箱
2
Communications System Toolbox
通信系统工具箱
3
Computer Vision System Toolbox
计算机视觉工具箱
4
SimRF
RF [size 0]模块集功能
控制系统设计与分析
5
Simulink Control Design
Simulink [size 0]控制器设计
6
Simulink Design Optimization
Simulink [size 0]设计优化
7
Aerospace Blockset
航空航天模块
物理建模
8
Simscape
物理模型仿真模块组
9
SimMechanics
机构动态仿真模块组
10
SimDriveline
传动系统系统仿真模块组
11
SimHydraulics
液压仿真模块组
12
SimRF
RF[size 0]仿真模块组
13
SimElectronics
电子仿真模块组
14
SimPowerSystems
动力系统仿真模块组
基于事件的建模
15
Stateflow
16
SimEvents
快速原型和硬件再回路仿真
17
xPC Target
18
xPC Target Embedded Option
19
Real-Time Windows Target
仿真绘图与报告
20
Simulink 3D Animation
21
Gauges Blockset
22
Simulink Report Generator
验证、确认和测试
23
Simulink Verfication and Validation
24
Simulink Design Verifier
25
System Test
26
EDA Simulator Link
27
Simulink Code Inspector
定点建模
28
Simulink Fixed Point
代码生成
29
Simulink Coder
30
Embedded Coder
31
Simulink HDL Coder
32
Simulink PLC Coder
33
Do Qualification Kit
for DO-178
34
IEC Certification Kit
for ISO 26262 and IEC 61508
matlabcpu利用率只有个位数,应该如何提高,运行速度特别慢?
1.尽量用矩阵运算代替循环
2.避免在循环中改变矩阵的维数和大小,矩阵中为零项很多时尝试使用稀疏矩阵,预先分配变量的存储空间,避免在使用时才开始定义
3.用代码分析器查找最耗时的代码
4.如果可以的话,可以试试并行计算(matlabpool),但因为并行计算对程序有很多限制,提升效率因程序不同效果也不同(CPU利用率低是因为默认使用单核运算,若要使用多核就需要并行)。
5.与c语言混合编程,将不可避免的循环运算交给c语言
暂时就想到这些了,可以根据以上几条中的关键词搜索相关的内容,祝成功:)