keywords: MATLAB 命令窗口, 向量和矩阵操作, 基本数学运算, 文件和路径管理
MATLAB 作为一款强大的科学计算软件,掌握其基本操作是高效使用 MATLAB 的前提。本章我们将详细探讨 MATLAB 的几个基础方面:命令窗口的使用、向量和矩阵的创建与运算、基本数学运算,以及文件和路径管理。这些内容是 MATLAB 编程的基石,深入理解并熟练运用将使你受益匪浅。
2.1 MATLAB 的命令窗口
命令窗口是我们与 MATLAB 交互的主要方式。在这里,我们可以直接输入命令,执行计算并查看结果。让我们先来了解几个常用的命令。
2.1.1 基本操作命令
clc
: 清空命令窗口的内容clear
: 清空工作区变量who
和whos
: 显示当前工作区的变量信息diary
: 记录命令窗口内容到文件
下面通过一个具体的例子,演示这几个命令的使用:
>> x = 1:5; % 创建变量x
>> y = rand(1,5); % 创建变量y
>> who % 显示工作区变量
Your variables are:
x y
>> whos % 显示详细信息
Name Size Bytes Class Attributes
x 1x5 40 double
y 1x5 40 double
>> diary on % 开始记录
>> x+y % 执行一些操作
ans =
1.8147 2.9058 3.1270 4.9134 5.6324
>> diary off % 停止记录
>> clear % 清空工作区
>> clc % 清空命令窗口
使用diary on
和diary off
可以方便地记录我们在命令窗口中的操作,日后回顾代码或整理笔记时会非常有用。
2.1.2 常用快捷键
MATLAB 提供了许多快捷键,可以大大提高我们的操作效率。以下是一些常用的快捷键:
↑
和↓
: 调出历史命令Tab
: 自动补全命令或文件名Ctrl+C
: 终止当前执行的命令Ctrl+D
: 删除当前行Ctrl+R
: 注释/取消注释当前行
试试在命令窗口中使用这些快捷键,体会它们带来的便利吧。
2.1.3 命令历史记录
MATLAB 会自动保存我们在命令窗口中执行过的命令。我们可以通过以下方式来查看和利用历史命令:
- 使用
↑
和↓
箭头键浏览历史命令 - 使用
history
命令查看完整的历史记录 - 双击历史记录中的某行命令,将其复制到命令行中
例如:
>> history
1 x = 1:5;
2 y = rand(1,5);
3 who
4 whos
5 diary on
6 x+y
7 diary off
8 clear
9 clc
10 history
善用历史命令可以让我们少敲很多重复的代码,提高效率。
2.2 向量和矩阵操作
在 MATLAB 中,向量和矩阵是最基本也是最常用的数据类型。下面我们来学习如何创建和操作向量与矩阵。
2.2.1 创建向量和矩阵
- 使用方括号
[]
创建向量:
>> v1 = [1 2 3 4 5] % 行向量
v1 =
1 2 3 4 5
>> v2 = [1; 2; 3; 4; 5] % 列向量
v2 =
1
2
3
4
5
- 使用分号
;
分隔行,逗号,
或空格分隔列:
>> A = [1 2 3; 4 5 6; 7 8 9] % 3x3矩阵
A =
1 2 3
4 5 6
7 8 9
- 使用
zeros
、ones
、eye
等函数快速创建特殊矩阵:
>> zeros(2,3) % 全零矩阵
ans =
0 0 0
0 0 0
>> ones(2,2) % 全一矩阵
ans =
1 1
1 1
>> eye(3) % 单位矩阵
ans =
1 0 0
0 1 0
0 0 1
2.2.2 访问向量和矩阵元素
- 使用
()
访问向量或矩阵的单个元素:
>> v1(3) % 访问v1的第3个元素
ans = 3
>> A(2,3) % 访问A的第2行第3列元素
ans = 6
- 使用
:
访问整行或整列:
>> A(2,:) % 访问A的第2行
ans =
4 5 6
>> A(:,3) % 访问A的第3列
ans =
3
6
9
2.2.3 向量和矩阵的基本运算
- 加减运算:
>> v1 + v1
ans =
2 4 6 8 10
>> A - ones(3)
ans =
0 1 2
3 4 5
6 7 8
- 数乘和乘方:
>> 2*v1
ans =
2 4 6 8 10
>> A.^2 % 矩阵逐元素平方
ans =
1 4 9
16 25 36
49 64 81
- 转置:
>> v1'
ans =
1
2
3
4
5
>> A' % 矩阵转置
ans =
1 4 7
2 5 8
3 6 9
2.2.4 矩阵分解与求解
- 特征值与特征向量:
>> [V,D] = eig(A)
V =
-0.2320 -0.7858 0.4082
-0.5253 0.0868 -0.8165
-0.8187 0.6123 0.4082
D =
16.1168 0 0
0 1.0000 0
0 0 -2.1168
- 矩阵求逆:
>> inv(A)
ans =
-1.7778 1.3333 0
1.3333 -2.2222 1.0000
0 1.0000 -0.5556
- 求解线性方程组:
>> A = [1 2; 3 4];
>> b = [5; 11];
>> x = A\b % 等价于x = inv(A)*b
x =
1
2
以上只是矩阵运算的冰山一角,MATLAB 提供了非常丰富的矩阵操作函数,大家可以在使用中进一步探索。
2.3 基本数学运算
MATLAB 提供了各种数学函数,可以方便地进行数值计算。
2.3.1 标量运算
- 四则运算:
>> 1 + 2
ans = 3
>> 5 - 3
ans = 2
>> 2 * 4
ans = 8
>> 10 / 5
ans = 2
- 乘方和开方:
>> 2^3
ans = 8
>> sqrt(16)
ans = 4
2.3.2 向量和矩阵运算
- 逐元素运算:
>> [1 2 3] + [4 5 6]
ans =
5 7 9
>> [1 2; 3 4] .* [5 6; 7 8] % 矩阵逐元素相乘
ans =
5 12
21 32
- 矩阵乘法:
>> [1 2; 3 4] * [5 6; 7 8]
ans =
19 22
43 50
2.3.3 数学函数的使用
MATLAB 内置了大量数学函数,包括三角函数、指数函数、统计函数等。下面列举几个常用的函数:
- 三角函数:
>> sin(pi/6)
ans = 0.5000
>> cos(pi/3)
ans = 0.5000
>> tan(pi/4)
ans = 1
- 指数和对数:
>> exp(1)
ans = 2.7183
>> log(10)
ans = 2.3026
>> log10(100)
ans = 2
- 统计函数:
>> mean([1 2 3 4 5])
ans = 3
>> max([1 2 3 4 5])
ans = 5
>> sum([1 2 3 4 5])
ans = 15
MATLAB 的数学函数非常丰富,大家可以在使用过程中查阅文档,灵活运用。
2.4 文件和路径管理
在实际应用中,我们通常需要读写外部文件,或者在不同路径下操作。接下来我们就来学习 MATLAB 的文件和路径管理。
2.4.1 文件的读取和写入
- 使用
xlsread
读取 Excel 文件:
>> data = xlsread('example.xlsx');
>> data(1:5,:) % 查看前5行数据
ans =
1.0000 2.0000 3.0000
4.0000 5.0000 6.0000
7.0000 8.0000 9.0000
10.0000 11.0000 12.0000
13.0000 14.0000 15.0000
- 使用
csvread
读取 CSV 文件:
>> data = csvread('example.csv');
>> data(1:5,:) % 查看前5行数据
ans =
1.0000 2.0000 3.0000
4.0000 5.0000 6.0000
7.0000 8.0000 9.0000
10.0000 11.0000 12.0000
13.0000 14.0000 15.0000
- 使用
save
和load
保存、加载 MAT 文件:
>> v = 1:10;
>> save test.mat v; % 保存变量v到test.mat文件
>> clear % 清空工作区
>> load test.mat % 从文件加载变量
>> v
v =
1 2 3 4 5 6 7 8 9 10
2.4.2 路径的设置和管理
- 使用
cd
命令切换当前工作目录:
>> cd 'C:\Users\MATLAB' % Windows系统
>> cd '/home/MATLAB' % Linux系统
>> pwd % 显示当前路径
ans =
'C:\Users\MATLAB'
- 使用
addpath
和rmpath
管理搜索路径:
>> addpath 'C:\Users\MATLAB\functions' % 添加路径
>> rmpath 'C:\Users\MATLAB\functions' % 移除路径
>> path % 显示所有搜索路径
MATLABPATH
C:\Users\MATLAB
C:\Program Files\MATLAB\R2021b\toolbox\...
2.4.3 文件格式的转换
有时我们需要在不同文件格式之间转换数据,MATLAB 提供了一些便捷的函数:
- 将矩阵写入文本文件:
>> A = magic(5);
>> dlmwrite('matrix.txt', A) % 写入文本文件
- 将数据写入 Excel:
>> xlswrite('output.xlsx', A) % 写入Excel文件
- 将图形保存为图像文件:
>> plot(1:10)
>> saveas(gcf, 'figure.png') % 保存当前图形为PNG格式
文件读写在数据分析和结果展示中非常常用,掌握这些操作可以大大提高我们的工作效率。
本章小结
本章我们系统学习了 MATLAB 的基本操作,包括:
- 命令窗口的使用,如常用命令、快捷键和历史记录等。
- 向量和矩阵的创建、访问、运算以及分解求解。
- 基本数数学运算,包括标量运算、向量矩阵运算和常用数学函数。
- 文件读写和路径管理,涉及常见的文本、MAT、Excel 等文件格式。
通过本章的学习,相信大家已经能够灵活运用 MATLAB 进行基本的数值计算和数据操作了。这些内容是我们学习 MATLAB 的基础,在后续的章节中,我们将基于这些基本操作,学习更加高级和专业的内容,解决实际的科学和工程问题。
MATLAB 是一个非常强大的工具,它的功能远不止我们在本章所涉及的。希望大家能够在学习和实践中不断探索,挖掘 MATLAB 的更多特性,用编程的思维去认识这个世界,去解决各种有趣的问题。
让我们携手前行,一起进入 MATLAB 更精彩的世界吧!