需要强调的是,MATLAB R2012a 是一个非常古老的版本(发布于2012年),目前早已停止更新和支持。强烈建议您尽可能使用更新的版本(如 R2025b 或更新版),因为新版本在性能、功能、兼容性和社区支持上都有巨大优势。

如果您因为某些特殊原因(如学校/公司旧项目、硬件限制等)必须使用 R2012a,这份教程将能帮助您快速上手。
第一部分:MATLAB R2012a 基础入门
什么是 MATLAB?
MATLAB 的名字来源于 "MATrix LABoratory"(矩阵实验室),它是一种高性能的第四代编程语言和交互式环境,主要用于:
- 数值计算:解决复杂的数学问题。
- 数据可视化:创建图表、曲线图、三维图形等。
- 编程与算法开发:编写脚本和函数来自动化任务。
- 仿真与建模:特别是使用 Simulink 进行动态系统仿真。
- 数据分析与探索:处理和分析大规模数据集。
其核心特点是基于矩阵的操作,这使得它在处理线性代数问题时非常简洁高效。
MATLAB R2012a 工作界面
启动 MATLAB R2012a 后,您会看到以下几个主要窗口:

- Command Window (命令窗口):这是您与 MATLAB 进行交互的主要地方,您可以在这里直接输入命令并查看结果,输入
2+2然后按回车,会得到ans = 4。 - Current Folder (当前文件夹):显示当前 MATLAB 工作路径下的文件和文件夹,您可以在这里看到
.m脚本文件、.mat数据文件等,双击文件即可打开。 - Workspace (工作区):显示当前工作内存中的所有变量,您可以看到变量的名称、值、大小和数据类型,您可以创建、修改和删除变量。
- Command History (命令历史记录):记录您在命令窗口中输入过的所有命令,您可以双击历史命令来重新执行它们,这对于调试和重复操作非常有用。
第一个程序:脚本文件
脚本文件是包含一系列 MATLAB 命令的文本文件,扩展名为 .m,当您运行脚本时,MATLAB 会按顺序执行其中的所有命令。
步骤:
- 在 Current Folder 窗口中,点击 "New Script" (新建脚本) 按钮。
- 这会打开 Editor (编辑器) 窗口。
- 输入以下代码:
% 这是一个简单的脚本,用于绘制正弦波
% 清除工作区和命令窗口
clear;
clc;
% 创建一个从 0 到 4π 的向量,步长为 0.1
x = 0:0.1:4*pi;
% 计算正弦值
y = sin(x);
% 绘制图形
plot(x, y);
和坐标轴标签'正弦波图形');
xlabel('x');
ylabel('sin(x)');
grid on; % 添加网格
- 点击编辑器窗口的 "Save" (保存) 按钮,将其命名为
my_first_script.m。 - 在编辑器窗口中点击 "Run" (运行) 按钮,或在命令窗口中输入
my_first_script并按回车。
结果: 您会看到一个包含正弦波图形的新窗口弹出,这就是您的第一个 MATLAB 程序!
第二部分:核心概念与基础语法
变量与数据类型
- 变量赋值:使用 符号,变量名区分大小写,必须以字母开头,不能包含空格和特殊字符。
a = 10; b = 'Hello'; c = [1, 2; 3, 4]; % 这是一个 2x2 的矩阵
- 基本数据类型:
double:双精度浮点数(默认数值类型)。single:单精度浮点数。int8,int16,int32,int64:有符号整数。uint8,uint16,uint32,uint64:无符号整数。char:字符或字符串。logical:逻辑值(true或false)。
矩阵与数组操作
MATLAB 的核心是矩阵,创建矩阵最简单的方式是使用方括号 []。

-
创建向量(一维矩阵):
% 行向量 row_vec = [1, 2, 3, 4]; % 列向量 col_vec = [1; 2; 3; 4];
-
创建矩阵(二维矩阵):
A = [1, 2, 3; 4, 5, 6; 7, 8, 9];
-
访问元素:使用
行号, 列号的索引,从 1 开始。% 获取 A 矩阵的第 2 行第 3 列的元素 element = A(2, 3); % 结果是 6
-
冒号运算符 :非常强大,用于创建序列或提取子矩阵。
% 创建从 1 到 10 的步长为 1 的向量 v = 1:10; % 创建从 0 到 2π 的步长为 0.1 的向量 x = 0:0.1:2*pi; % 提取 A 矩阵的第 2 行的所有列 row_2 = A(2, :); % 提取 A 矩阵的第 1 列的所有行 col_1 = A(:, 1); % 提取 A 矩阵的子矩阵 (第 2 到 3 行, 第 1 到 2 列) sub_A = A(2:3, 1:2);
常用内置函数
- 数学函数:
sin,cos,tan,exp,log,sqrt,abs等。 - 矩阵函数:
size(A):返回矩阵A的维度[行数, 列数]。length(A):返回向量A的长度,或矩阵A中最大维度的长度。sum(A):对矩阵A的所有元素求和。mean(A):计算矩阵A所有元素的平均值。max(A):找出矩阵A中的最大值。A':计算矩阵A的转置。inv(A):计算矩阵A的逆(要求A是方阵且可逆)。
- 创建特殊矩阵:
zeros(m, n):创建一个 m 行 n 列的全零矩阵。ones(m, n):创建一个 m 行 n 列的全一矩阵。eye(n):创建一个 n x n 的单位矩阵。
控制流
if-elseif-else条件语句:score = 85; if score >= 90 disp('优秀'); elseif score >= 80 disp('良好'); elseif score >= 60 disp('及格'); else disp('不及格'); endfor循环:% 计算 1 到 10 的和 sum = 0; for i = 1:10 sum = sum + i; end disp(['总和为: ', num2str(sum)]);while循环:% 找到小于 100 的最大 2 的幂 n = 1; while n < 100 n = n * 2; end disp(['结果是: ', num2str(n/2)]); % 循环结束时 n 已经超过了 100
第三部分:数据可视化
plot 函数
plot 是最基本、最常用的绘图函数。
基本用法:plot(x, y)
x:x 轴的数据向量。y:y 轴的数据向量。
常用图形修饰命令:'字符串')`:添加图形标题。
xlabel('字符串'):添加 x 轴标签。ylabel('字符串'):添加 y 轴标签。legend('字符串1', '字符串2', ...):添加图例。grid on:显示网格。hold on:保持当前图形,以便在其上叠加绘制新的图形,使用hold off来关闭此模式。
示例:绘制多条曲线
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
figure; % 创建一个新的图形窗口
plot(x, y1, 'r-', x, y2, 'b--'); % 红色实线,蓝色虚线'正弦与余弦函数');
xlabel('x');
ylabel('y');
legend('sin(x)', 'cos(x)');
grid on;
第四部分:函数
函数是封装可重用代码的基本单元,函数文件必须以 .m 为扩展名,并且文件名必须与函数名相同。
函数文件结构:
function [输出参数1, 输出参数2, ...] = 函数名(输入参数1, 输入参数2, ...)
% 函数的第一行是函数定义行
% 紧随其后的是 H1 行(可选),用于 `lookfor` 命令搜索
% ...(可选的帮助文本)
% 以下是函数体,包含实现功能的代码
% ... 代码 ...
end
示例:创建一个计算平均值的函数
-
创建一个新文件,命名为
my_mean.m。 -
输入以下代码:
function avg = my_mean(v) % 计算一个向量的平均值 % 输入 v: 一个数值向量 % 输出 avg: 向量的平均值 sum = 0; for i = 1:length(v) sum = sum + v(i); end avg = sum / length(v); end -
保存文件。
-
在命令窗口中调用它:
>> my_data = [1, 5, 3, 9, 2]; >> my_avg = my_mean(my_data) my_avg = 4
第五部分:Simulink 简介 (R2012a)
Simulink 是 MATLAB 的重要组成部分,用于基于框图的动态系统建模、仿真和分析。
- 启动 Simulink:在命令窗口输入
simulink并回车,或点击工具栏上的 Simulink 图标。 - 创建新模型:在 Simulink 浏览器窗口中,点击 "Blank Model"。
- 构建模型:
- 在库浏览器中,找到所需的模块(Sources 库中的
Sine Wave,Sinks 库中的Scope,Math Operations 库中的Sum)。 - 将模块拖拽到模型窗口中。
- 用鼠标连接模块的输出端口和输入端口,形成信号流。
- 在库浏览器中,找到所需的模块(Sources 库中的
- 运行仿真:点击工具栏上的 "Run" 按钮。
- 查看结果:双击
Scope模块,会弹出一个示波器窗口,显示仿真结果。
一个简单的 Simulink 示例: 连接一个正弦波发生器到一个示波器,运行仿真,你就能在示波器上看到正弦波。
第六部分:学习资源与注意事项
针对 R2012a 的资源
- 官方文档(归档):MathWorks 官网提供了旧版本的文档,这是最权威的资料。
- MATLAB R2012a Documentation: https://www.mathworks.com/help/releases/R2012a/index.html
- Simulink R2012a Documentation: https://www.mathworks.com/help/releases/R2012a/simulink/index.html
- 书籍:寻找 2012 年或之前出版的 MATLAB 入门书籍,MATLAB从入门到精通》等旧版,这些书的例子和语法与 R2012a 完全兼容。
重要注意事项
-
兼容性问题:
- 语法兼容性:R2012a 的语法与新版基本兼容,但新版引入了许多更简洁的语法(如
string类型、函数式数组等),在旧版中无法使用。 - 工具箱兼容性:很多新的工具箱(如 Deep Learning Toolbox)在 R2012a 中完全不可用。
- 第三方库兼容性:几乎所有现代的第三方库都不支持 R2012a。
- 语法兼容性:R2012a 的语法与新版基本兼容,但新版引入了许多更简洁的语法(如
-
性能与安全性:
- 性能落后:新版本在矩阵运算、并行计算等方面有巨大优化,R2012a 的速度会慢很多。
- 安全漏洞:旧版本没有安全更新,存在已知的漏洞,不适合处理敏感数据或在连接互联网的环境中运行。
-
学习建议:
- 先学新版,再兼容旧版:如果您是初学者,强烈建议您先安装一个新版 MATLAB(R2025b 或更新的版本)进行学习,掌握了新版的核心思想后,再回到 R2012a 会非常容易,因为基础概念是相通的。
- 专注于基础:在 R2012a 中,请专注于学习最核心、最稳定的概念:矩阵操作、基本语法、脚本和函数、数据可视化和 Simulink 基础,这些内容在各个版本中都是通用的。
希望这份详细的指南能帮助您顺利地学习和使用 MATLAB R2012a!
