MATLAB R2012a 基础入门教程
第一部分:初识 MATLAB
什么是 MATLAB?
MATLAB 的名字来源于 "MATrix LABoratory"(矩阵实验室),它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级编程语言和技术计算环境。

- 核心优势:强大的矩阵运算能力。
- 主要用途:工程计算、科学建模、算法分析、信号处理、图像处理、控制系统设计等。
MATLAB R2012a 工作界面
启动 MATLAB R2012a 后,你会看到以下几个主要窗口:
- Command Window (命令窗口):这是你与 MATLAB 交互的主要地方,你可以在这里直接输入命令,并立即看到结果。
- Current Folder (当前文件夹):显示当前 MATLAB 正在工作的文件夹,你可以在这里看到所有文件和文件夹,类似于 Windows 的资源管理器。
- Workspace (工作区):显示当前工作内存中所有变量的名称、值、大小和类型,你在命令窗口创建的变量都会出现在这里。
- Command History (命令历史记录):记录你在命令窗口输入过的所有命令,方便你重复使用之前的命令。
如何获取帮助?
MATLAB 自带非常强大的帮助文档,学会使用帮助是学习 MATLAB 的关键。
help命令:在命令窗口输入help加上函数名,可以查看该函数的简要帮助信息。help plot
doc命令:在命令窗口输入doc加上函数名,会打开一个详细的 HTML 帮助文档窗口,包含更丰富的示例和说明。doc plot
- 帮助浏览器:点击界面顶部的 Help 菜单,选择 Product Help...,可以打开独立的帮助浏览器,浏览所有文档。
第二部分:MATLAB 基础操作
变量与赋值
MATLAB 中的变量不需要预先声明类型,变量名区分大小写。
% 创建一个变量 a 并赋值为 5 a = 5; % 创建一个字符串变量 b = 'Hello, MATLAB'; % 创建一个复数变量 c = 3 + 4i;
基本运算符
MATLAB 支持所有标准的算术运算符。

| 运算符 | 描述 | 示例 |
|---|---|---|
| 加法 | 5 + 3 |
|
| 减法 | 10 - 4 |
|
| 乘法 | 2 * 6 |
|
| 除法 | 10 / 2 |
|
^ |
幂运算 | 2^3 (即 2 的 3 次方) |
sqrt() |
平方根 | sqrt(9) |
x = 10; y = 3; result = x / y + 2^y; % 结果为 10/3 + 8 ≈ 11.3333 disp(result);
向量和矩阵
这是 MATLAB 的核心,MATLAB 中的一切都是矩阵(标量是 1x1 矩阵,向量是 1xN 或 Nx1 矩阵)。
创建向量 (1D 数组)
% 创建一个行向量 v1 = [1, 2, 3, 4, 5]; % 创建一个列向量 v2 = [1; 2; 3; 4; 5]; % 使用冒号运算符创建等差序列 v3 = 1:2:9; % 从 1 开始,每次加 2,直到不超过 9,结果为 [1, 3, 5, 7, 9] v4 = linspace(1, 10, 5); % 在 1 到 10 之间创建 5 个等间距的点,结果为 [1, 3.25, 5.5, 7.75, 10]
创建矩阵 (2D 数组)
% 直接输入 A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % 结果: % 1 2 3 % 4 5 6 % 7 8 9 % 使用函数创建 B = zeros(2, 3); % 创建一个 2 行 3 列的全零矩阵 C = ones(3, 2); % 创建一个 3 行 2 列的全一矩阵 D = rand(2, 2); % 创建一个 2 行 2 列的随机矩阵 (0-1之间均匀分布)
矩阵索引

访问矩阵中的元素使用 行号, 列号 的格式。
A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % 访问第 2 行,第 3 列的元素 element = A(2, 3); % element 的值为 6 % 访问第 1 整行 row1 = A(1, :); % row1 的值为 [1, 2, 3] % 访问第 2 整列 col2 = A(:, 2); % col2 的值为 [2; 5; 8]
第三部分:脚本与函数
创建脚本 (Script)
脚本是一系列 MATLAB 命令的集合,保存在 .m 文件中,当你运行脚本时,MATLAB 会按顺序执行其中的所有命令。
如何创建脚本:
- 点击工具栏的 New Script 按钮。
- 在打开的编辑器中输入代码。
- 点击 Save,并将其保存在你的当前文件夹中(命名为
my_first_script.m)。
示例脚本 (my_first_script.m):
% 这是一个简单的脚本,用于计算并绘制正弦波
% 清空命令窗口和工作区
clc;
clear;
% 创建一个从 0 到 4π 的向量,步长为 0.1
x = 0:0.1:4*pi;
% 计算正弦值
y = sin(x);
% 绘制图形
plot(x, y);
和坐标轴标签'正弦波图');
xlabel('x');
ylabel('sin(x)');
grid on; % 添加网格
运行脚本后,命令窗口会显示执行过程,并弹出一个图形窗口。
创建函数 (Function)
函数是接受输入参数、执行特定任务并返回输出值的独立代码块,它们是模块化编程的基础。
函数的基本结构:
function [输出参数1, 输出参数2, ...] = 函数名(输入参数1, 输入参数2, ...)
% 函数的第一行是函数签名
% 注释部分 (可选但推荐)
% 函数体 (代码)
% 将结果赋值给输出参数
end
示例函数 (calculate_average.m):
function [avg, sum_val] = calculate_average(numbers)
% 计算一个向量的平均值和总和
%
% 输入:
% numbers - 一个数值向量
%
% 输出:
% avg - 平均值
% sum_val - 总和
% 计算总和
sum_val = sum(numbers);
% 计算平均值
avg = sum_val / length(numbers);
end
如何调用函数: 在命令窗口或脚本中调用:
% 创建一个测试向量 my_data = [10, 20, 30, 40, 50]; % 调用函数,只获取平均值 mean_value = calculate_average(my_data); disp(['平均值是: ', num2str(mean_value)]); % 调用函数,同时获取平均值和总和 [mean_val, total_sum] = calculate_average(my_data); disp(['平均值是: ', num2str(mean_val), ',总和是: ', num2str(total_sum)]);
第四部分:数据可视化
基本绘图函数
plot 是最常用的绘图函数。
示例:绘制两条曲线
% 清空图形窗口
clf;
% 创建 x 数据
x = 0:0.01:2*pi;
% 创建 y1 和 y2 数据
y1 = sin(x);
y2 = cos(x);
% 绘制第一条曲线 (蓝色实线)
plot(x, y1, 'b-');
% 保持当前图形,以便在其上叠加新的曲线
hold on;
% 绘制第二条曲线 (红色虚线)
plot(x, y2, 'r--');
% 添加图例
legend('sin(x)', 'cos(x)');
和标签'正弦和余弦函数');
xlabel('x (弧度)');
ylabel('y值');
% 释放图形
hold off;
常用绘图选项:
'b': 蓝色'r': 红色'g': 绿色- 实线
- 虚线
- 点线
- 星号标记点
'o': 圆圈标记点
其他绘图函数
bar(x, y): 绘制条形图。scatter(x, y): 绘制散点图。histogram(y): 绘制直方图。surf(X, Y, Z): 绘制三维曲面图。
第五部分:控制流
MATLAB 使用与其他编程语言类似的结构来控制代码的执行流程。
if-elseif-else 语句
score = 85;
if score >= 90
disp('成绩: A');
elseif score >= 80
disp('成绩: B');
elseif score >= 70
disp('成绩: C');
else
disp('成绩: D 或 F');
end
for 循环
% 计算 1 到 10 的累加和
sum = 0;
for i = 1:10
sum = sum + i;
end
disp(['1到10的和是: ', num2str(sum)]);
while 循环
% 计算一个数的阶乘
n = 5;
factorial = 1;
i = 1;
while i <= n
factorial = factorial * i;
i = i + 1;
end
disp(['5的阶乘是: ', num2str(factorial)]);
第六部分:实用技巧与总结
- 分号 :在语句末尾使用分号可以禁止在命令窗口显示该语句的输出结果,对于大型矩阵或循环,使用分号可以避免输出刷屏。
clc:清空命令窗口。clear:清空工作区中的所有变量。who:列出工作区中的所有变量名。whos:列出工作区中所有变量的详细信息(名称、大小、字节、类型)。disp():在命令窗口显示文本或变量的值。num2str():将数字转换为字符串,方便与文本一起显示。
这份教程涵盖了 MATLAB R2012a 的最核心的基础知识,学习编程最好的方法就是多动手实践。
- 从模仿开始:尝试运行教程中的所有示例代码,并修改其中的参数,看看结果有什么不同。
- 解决小问题:尝试用 MATLAB 解决一些简单的数学问题,比如计算斐波那契数列、求解二次方程等。
- 逐步深入:掌握了基础后,可以开始学习更高级的主题,如文件 I/O、符号计算、Simulink 仿真等。
虽然 R2012a 版本老旧,但打好这个基础后,你将能够非常平滑地过渡到任何新版本的 MATLAB,祝你学习愉快!
