第二章 MATLAB 入门
第二章 MATLAB 入门
2.1 工作窗和指令行的操作
- 通过菜单选项对工作窗进行控制
- 键盘输入控制指令
- quit:
- clc:擦除工作窗中显示内容
- clf:擦除图形窗中的图形
- clear:清楚变量和函数
- pack:收集内存碎片扩大内存空间
- dir:列出指定目录下的文件和子目录清单
- cd:改变当前工作子目录
- disp:(在运行中)显示变量和文字内容
- type:显示指定文件的全部内容
- echo:控制运行文件指令是否显示的开关
- hold:控制当前图形窗对象是否被刷新
MATLAB是一种交互式语言,也可编制程序。
>> 2 * sin(0.3 * pi) / (1 + sqrt(5))
ans =
0.5000
2.2 简单矩阵的输入
简单介绍矩阵的直接输入法。
MATLAB 中不必对矩阵维数声明,存储自动配置。
直接输入矩阵时,矩阵元素用空格或逗号分隔,矩阵行用;
隔离。整个矩阵放在方括号[]
内。
2.3 语句与变量
MATLAB 采用表达式语句。
常见形式有:
- 表达式:结果矩阵以
ans
命名,后续操作会刷新 - 变量=表达式
表达式中运算法号两侧允许有空格,但在复数或符号表达式中,避免“装饰性”空格。
区分大小写
2.4 Who、Whos 和永久变量
Who
和Whos
列出在MATLAB工作空间中驻留的变量名清单。Whos
在给出变量名的同时,还给出维数及性质。
在MATLAB工作内存中,还驻留几个系统定义变量,成为“永久变量”或“预定义变量”。
- eps
- pi
- inf / Inf
- i , j
- flops
2.5 数与表达式
MATLAB 的数值采用十进制表示,可带小数点或负号。
表达式有下列算法符构成,并按习惯的优先次序运算
+ - * / \ ^
设置/
右除、\
左除两种是为方便矩阵预算
2.6 复数和复矩阵
MATLAB 以i
和j
作为虚数单位。矩阵元素允许是复数、复变量和由它们组成的表达式。
2.7 函数
MATLAB 函数本质上分为三类:
- 内部函数
- 系统附带的工具包中的 M 文件所提供的大量函数
- 用户自己增加的函数
MATLAB 提供的通用数理类函数包括:
- 基本数学函数
- 特殊函数
- 基本矩阵函数
- 特殊矩阵函数
- 矩阵分解和分析函数
- 微分方程求解
- 多项式函数
- 非线性方程及其优化函数
- 数值积分函数
- 信号处理函数
2.8 显示格式
缺省状态下,MATLAB 以短格式(short格式)显示计算结果。
可用 MATLAB 命令窗口中 format
指令改变数字显示格式。
MATLAB 以双精度执行所有运算,显示格式的设置仅影响矩阵的显示,不影响矩阵的计算与存储。
2.9 变量的存储与调用
quit
和exit
指令都可退出 MATLAB 。结束 MATLAB 会删除工作空间中的变量。
推出前,可以保存工作空间,以备再次调出使用这些变量。
保存的指令格式:
-
save
:保存在磁盘上名为matlab.mat
的文件中 -
save [文件名] [变量名]
:指定变量保存至指定文件 - 2007b之后的版本调用格式变化
save '[variable] [A1]'
下次加载 MATLAB 时,可利用 load
指令将保存在文件中的变量恢复到工作空间。格式为:
-
load
: -
load [文件名] [变量名]
:
D:\Documents\MATLAB\matlab.mat
2.10 图形
仅介绍几个简单绘图指令,详见第六章
2.11 lp指令、lookfor指令及其他帮助指令
在 MATLAB 指令窗口,直接键入求助指令。
help
help 目录名
help 命令名/函数名/符号
help
的工作机理是把指定名字的那个 M 文件的第一段注释内容显示出来,以构成自己文件的在线求助。
lookfor
指令可以根据用户提供的完整或不完整的关键词,去搜索出一组与之有关的指令。
2.12 用户目录的建立和搜索路径
MATLAB 只能在启动时(由 mathabrc.m )设定的路径上搜索,不能与原定路径以外的其他目录交换信息。可用以下三种方法扩充:
- 在 MATLAB 指令窗键入:
CD C:/MYDIR
- 利用
path
指令扩展搜索路径:path(path, 'c:mydir')
- 在 MATLAB 环境下,键入:
pathtool
或者在 MATLAB 指令窗口菜单上File
中的Set path
项设置。
以下为代码及相关输出(图片)
%2.1 工作窗与指令行的操作
%交互式命令
2 * sin(0.3 * pi) / (1 + sqrt(5));
%2.2 简单矩阵的输入
%矩阵输入
A = [1,2,3;4,5,6;7,8,9;10,11,12];
%矩阵分行输入
B = [1 2 3 4
5 6 7 8
0 1 2 3];
%矩阵元素输入
C(1, 2) = 3; C(4, 4) = 6; C(4, 2) = 11;
%2.3 语句与变量
2001 / 81;
s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8;
%结尾分号使结果存储与s,并不输入
%2.4 Who、Whos 和永久变量
who
whos
s1 = 1 / 0;
a = inf / inf;
%2.5 数与表达式
x = 2 * pi / 3 + 2 ^ 3 / 5 - 0.3 * exp(-3);
%2.6 复数和复矩阵
z1 = 3 + 4 * 1i; z2 = 2 * exp(1i * pi / 6);
z = z1 * z2;
A1 = [1, 3; 2, 4] - 1i * [5, 8; 6, 9];
B1 = [1 + 5*1i, 2 + 6*1i; 3 + 8*1i, 4 + 9*1i];
C1 = A1 * B1;
%2.7 函数
z3 = 1233.344;
x = sqrt(log(z3));
%2.8 显示格式
x = [4/3 1.2345*exp(-6)];
format short e %科学表示
x
format long
x
format long e
x
format bank %银行格式
x
format hex %十六进制格式
x
%2.9 变量的存储与调用
save
save '[variable] [A1]'
%2.10 图形
%做多条曲线
t = 0 : pi / 50 : 4 * pi
y0 = exp(-t/3)
y = exp(-t/3) .* sin(3*t);
plot(t, y, t, y0, t, -y0)
grid
%三维曲面
x = -8:0.5:8;
y = x';
X = ones(size(y))*x;
Y = y*ones(size(x));
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(Z)
colormap([1, 0, 0])
%2.11 lp指令、lookfor指令及其他帮助指令
help
lookfor integral %积分相关的指令
lookfor fourier %傅立叶变换的相关指令

