MATLAB 是面向矩阵运算的交互式计算环境,把数值计算、绘图和常用算法收在一起。实验室刚测完几百组数据,要画温度曲线再做最小二乘拟合时,用 C 语言或 Java 从读取、循环到接绘图库往往很费事,同类任务在 MATLAB 里通常用更短的命令就能做完。

MATLAB 是什么

MATLAB 全称 Matrix Laboratory(矩阵实验室)。它既是一门以矩阵为基本运算对象的语言,也是一套交互式计算环境:标量、向量、表格状数据,在内部都按矩阵(或矩阵的特例)来处理。

  • 一个数 42 是 1×1 矩阵
  • 一行成绩 [90 85 92] 是 1×3 行向量
  • 一张 3×3 的表是 3×3 矩阵

因为数据结构贴近线性代数写法,许多公式可以几乎按教科书形式输入。对整批数据做同一运算时,常常一条命令即可,而不必手写逐元素循环。

常见用途

领域典型场景
数学计算解方程、积分、矩阵运算、微分方程
数据可视化二维 / 三维绘图
统计与数据分析均值方差、回归、聚类、假设检验
信号与图像滤波、傅里叶变换、图像处理
控制系统传递函数、状态空间、仿真
金融与生物等量化建模、计算生物、药物分析等

凡是读入数据、做数值计算再出图的工作流,MATLAB 及其工具箱里通常能找到现成函数。

解释执行

MATLAB 是解释型环境:在命令窗口输入一行,回车后立即执行并返回结果,不必像 C 语言那样先编译再运行。探索算法、试参数时,改一行就能看到反馈。

5 + 5
3 ^ 2
sin(pi / 2)

回车后得到:

ans = 10
ans = 9
ans = 1

pi 是内置圆周率。ans 存放最近一次未赋给其它变量的计算结果,后面还会反复用到。

动手试一试

在 MATLAB 或 Octave 命令窗口按下面步骤操作,熟悉交互方式:

  • 输入 sqrt(100),查看返回值
  • 输入 ans * 2,确认它引用了上一步结果
  • 输入 format long 后再输入 pi,观察显示位数变化
  • 执行 my_pi = pi,再输入 whos,看工作区里多了什么