1.1 MATLAB的概述
MATLAB是美国MathWorks公司出品的商业数学软件,是用于算法开发、数据可视化、数据分析及数值计算的高级技术计算语言与交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB是面向工程师和科学家的最简单、最具生产力的软件之一。无论是分析数据、开发算法,还是创建模型,MATLAB都提供了鼓励探索和发现的环境。它将高级语言与针对迭代式工程和科学工作流进行调整的桌面环境相结合。
1.1.1 MATLAB精通数学
基于矩阵的MATLAB语言是世界上最自然的计算数学表示方法。MATLAB中的线性代数与教科书中的线性代数一样。这样可以简单、直接地捕获数学概念,意味着您的代码更容易编写、阅读和理解,而且更容易维护。
MATLAB深根于数值分析研究社区,因其无可挑剔的数值运算而广为人知。由350名工程师组成的MathWorks团队每天都对MATLAB代码库进行数百万次的测试,不断地验证其质量。
MATLAB执行艰苦工作,确保您的代码可以快速运行。数学运算分布到您的计算机上的多个内核中,库调用经过高度优化,所有代码均可即时编译。您可以将for循环更改为并行for循环或将标准数组更改为GPU或分布式数组,以并行方式运行算法。无须更改代码,即可在可无限扩展的公共云或私有云上运行并行算法。
MATLAB语言还提供了传统编程语言的功能,包括流控制、错误处理、面向对象编程、单元测试和源代码管理集成。
1.1.2 MATLAB 面向工程师和科学家设计
MATLAB调整后的界面环境更适合迭代式工程和科学工作流。它集成的工具支持同时探索数据和程序,让您以更短的时间评估更多的想法。
(1)可以采用交互方式预览、选择和预处理要导入的数据。
● 丰富的内置数学函数集为工程和科学分析提供支持。
● 2D和3D绘图函数可以实现数据的可视化,理解数据并交流结果。
● 使用MATLAB应用程序可以执行常见的工程任务,无须编程。将不同算法处理数据的方式可视化,并在您获得所需结果之前进行反复的迭代。
● 利用集成的编辑和调试工具可以快速试探多个选项,优化分析,并通过反复迭代找出最佳解决方案。
(2)可以将工作捕获为可共享的交互式描述。
● 由工程师和科学家编写的全面、专业的文档始终触手可及,确保您保持工作效率。可靠的实时技术支持人员能迅速回答您的问题。您还可以在MATLAB Central(一个面向MATLAB和Simulink用户的开放式交流平台)学习超过1 000 000名社区成员和MathWorks工程师的知识与经验。
● MATLAB和附加工具箱相互集成,并设计为协同工作。它们专门针对科学和工程应用提供了经过专业开发、严格测试、现场强化和完全归档的功能。
● 实时编辑器包括结果及生成这些结果的代码,用于加速探索性编程和分析,可以添加方程式、图像、超链接及格式化文本,以增强描述效果。
1.1.3 MATLAB 集成工作流
MATLAB会使从研究到生产的整个路径自动化,它可以实现以下功能。
● 构建和打包自定义MATLAB应用程序和工具箱,以便与其他MATLAB用户共享。
● 创建独立可执行文件,以便与其他没有MATLAB的人共享。
● 与C/C++、Java、.NET和Python集成。可以直接通过MATLAB调用这些语言,或者打包MATLAB算法和应用程序,以便在Web、企业和生成系统内部署。
● 将MATLAB算法转换为C、HDL和PLC代码,以便在嵌入式设备上运行。
● 部署MATLAB代码,以在生产Hadoop系统上运行。
MATLAB还是基于模型的设计的关键部分,该设计用于多域仿真、物理和离散事件仿真,以及验证和代码生成。探索Simulink、Simscape和Stateflow,以了解更多关于基于模型的设计的信息。