logo

第 2 章 MATLAB 基本操作

作者
Modified on
Reading time
7 分钟阅读:..评论:..

MATLAB 作为一款强大的科学计算软件,掌握其基本操作是高效使用 MATLAB 的前提。本章我们将详细探讨 MATLAB 的几个基础方面:命令窗口的使用、向量和矩阵的创建与运算、基本数学运算,以及文件和路径管理。这些内容是 MATLAB 编程的基石,深入理解并熟练运用将使你受益匪浅。

2.1 MATLAB 的命令窗口

命令窗口是我们与 MATLAB 交互的主要方式。在这里,我们可以直接输入命令,执行计算并查看结果。让我们先来了解几个常用的命令。

2.1.1 基本操作命令

  • clc: 清空命令窗口的内容
  • clear: 清空工作区变量
  • whowhos: 显示当前工作区的变量信息
  • 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 ondiary 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
  • 使用zerosoneseye等函数快速创建特殊矩阵:
>> 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
  • 使用saveload保存、加载 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'
  • 使用addpathrmpath管理搜索路径:
>> 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 的基本操作,包括:

  1. 命令窗口的使用,如常用命令、快捷键和历史记录等。
  2. 向量和矩阵的创建、访问、运算以及分解求解。
  3. 基本数数学运算,包括标量运算、向量矩阵运算和常用数学函数。
  4. 文件读写和路径管理,涉及常见的文本、MAT、Excel 等文件格式。

通过本章的学习,相信大家已经能够灵活运用 MATLAB 进行基本的数值计算和数据操作了。这些内容是我们学习 MATLAB 的基础,在后续的章节中,我们将基于这些基本操作,学习更加高级和专业的内容,解决实际的科学和工程问题。 MATLAB 是一个非常强大的工具,它的功能远不止我们在本章所涉及的。希望大家能够在学习和实践中不断探索,挖掘 MATLAB 的更多特性,用编程的思维去认识这个世界,去解决各种有趣的问题。 让我们携手前行,一起进入 MATLAB 更精彩的世界吧!