一、MATLAB
工作窗中的部分通用指令
quit 关闭和退出MATLAB
clc 擦除MATLAB
工作窗中的所有显示内容
clf擦除MATLAB
的当前图形窗中的图形
clear清除内存中的变量和函数
pack收集内存碎片以扩大内存空间
dir列出指定目录下的文件和子目录清单
cd改变当前工作子目录
disp在运行中显示变量和文字内容
type显示所有指定文件的全部内容
echo控制运行文件指令是否显示的开关
hold控制当前图形窗对象是否被刷新
二、语句与变量
2.1
Predefined variables系统预定义的变量
eps计算机的最小正数在pc
机上它等于2−52
pi圆周率π 的近似值3.14159265358979
inf
或 Inf无穷大
NaN
不定量
i,j
虚数单位定义i = j
= −1
flops 浮点运算次数用于统计计算量
说明1
它们是在MATLAB
启动时自定义的
2.2表达式由下列算符构成并按习惯的优先次序进行运算
+
加法 减法 *
乘法 /
右除 \
左除 ^
乘方
设置两种除法是为了方便矩阵的运算对标量而言两者作用相同
2.3函数:MATLAB
的强大功能可函数中略见一斑本质上讲分为三类
[1]
内部函数
[2]
系统附带各种工具包中的M 文件所提供的大量函数
[3]
用户自己增加的函数这一特点是其他许多软件平台无法比拟的
2.4显示格式
在缺省的状态下MATLAB
以短格式short
格式显示计算结果可以用
MATLAB 命令窗口中format
指令来改变数字的显示格式由于MATLAB
以双精度执行所有运算显示格式的设置仅影响矩阵的显示不影响矩阵的
计算与存储
如果矩阵的所有元素都是整数则矩阵以不带小数点的格式显示如果有一
个元素不是整数则有几种输出格式默认格式为short 格式只显示5
位
有效数字其他的显示格式可显示更多的有效数字还可用科学表示法
[例]
x=[4/3
1.2345e-6]
默认short 格式
format
short e 短格式科学表示
x
format
long 长格式
x
format
long e 长格式科学表示
x
format
bank 银行格式
x
format
hex 十六进制格式
x
format
+ +格式用于显示大矩阵的紧凑格式+ 空格分别表示正
数负数和零
另外还有一种命令为format
compact(紧凑格式) 它消去了矩阵之间的间隔行这样可在一屏中显示更多的信息。
2.5
图形是MATLAB 的主要特色之一MATLAB
图形指令具有自然简洁灵活及易扩充的特点MATLAB 的指令很多这里仅介绍几个简单的绘图指令。
t=0:0.1:15*pi; %
t为0至15*pi,
步进0.1
x=(10*pi-t).*sin(t); % 按表达式算x
y=(10*pi-t).*cos(t); % 按表达式算y
z=t; %
z轴数据为t
plot3(x,y,z,’-k’,LineWidth’,3); %用x, y,
z数据画三维曲线,线是黑色(k) 实线 (-),宽度为3,(应为LineWidth而不是LineWidth)grid on; %显示
三、MATLAB
的数值计算功能
3.1利用M
文件创建和保存矩阵:本节方法既适用于数值矩阵又适用于符号矩阵
[例1]
创建和保存矩阵AM
的matrix.m
文件生成过程
步骤1
使用DOS
的编辑器edit
,Windows 的书写器(write) 记事本notepad
或其他字处理软件如Word 等编辑如下AM=[1 2 3;3 4
5],可是在matlab中直接创建。
步骤2
把此内容以纯文本方式ASCII 保存在用户自己的目录下名为matrix.m 的文件中
步骤3
在MATLAB
指令窗中只要键入matrix 矩阵AM
就会自动生成于MATLAB 工作内存中即产生一个名为AM
的变量供显示和调用。
[例2]把矩阵AR 保存到文件大他data.mat
步骤1
在矩阵AR
存在于MATLAB 内存空间的前提下键入save data
AR
步骤2
在下次进入MATLAB 后需要矩阵AR
时键入如下边可将data.mat 中的内容读入MATLAB
内存空间load
data;说明MATLAB 默认扩展名为.mat
默认路径为matlab\bin 子目录用户如
把data.mat
登陆在指定目录可用如下命令保存或调入
save
c:\mydir\data AR
load
c:\mydir\data AR
3.2矩阵的标识:矩阵的元素子矩阵可以通过标识向量冒号的标识来援引和赋值
b=[1 2
3 4 5; 6 7 8 9 10 ;11 12 13 14 15]
b23=b(2,3)
b1=b(1:2,[1 3 5])
b2=b([3
1],:)
b([1
3],[2 4])=zeros(2)
3.3矩阵运算和数组运算
矩阵运算和数组运算是Matlab 的数值运算中的两大类运算矩阵运算是按矩阵运算法则进行的运算数组运算无论是何种运算操作都是对元素逐个进行矩阵运算和数组运算指令对照汇总矩阵运算指令指令含义数组运算指令。
指令含义:
A'
矩阵转置A.+B 对应元素相加
A+B
矩阵相加A.-B 对应元素相减
A-B
矩阵相减A.*B 同维数组对应元素相乘
s+B
标量加矩阵s.*A
A 的每个元素乘s
s-B,B-s 标量矩阵相减A./B
A 的元素被B
的对应元素除
A*B
矩阵相乘B.\A B的元素被A 的对应元素除
A/B A
右除B
s./B, B.\s s
分别被B
的元素除
B\A
A 左除B
A.^n A 的每个元素自乘n
次
inv(A)矩阵求逆log(A)
对A
的每个元素求对数
A^n矩阵的n 次幂sqrt(A)
对A
的每个元素求平方根
f(A)求A 的各个元素的函数值
3.4
基本矩阵函数
基本矩阵函数指令
函数指令指令含义函数指令指令含义
cond(A)矩阵的条件数最大奇异值除以最小奇异值
svd(A)矩阵的奇异值分解
det(A)方阵的行列式trace(A) 矩阵的迹
dot(A,B)矩阵的点积expm((A) 矩阵指数e A
eig(A)矩阵的特征值expm1(A)
用Pade
近似求e
A
norm(A,1) 矩阵1-范数expm2(A)
用Taylor
级数近似求e A
精度稍差但对任何方阵适用
norm(A)矩阵的2-范数expm3(A)
用矩阵分解求e A
仅当独立调整向量数目等于秩时适用
norm(A,inf)矩阵的无穷范数logm(A)
矩阵对数
ln(A)norm(A,'fro') 矩阵的f-范数全部奇异值平方和的正平方根
sqrtm(A)平方根矩阵rank(A)矩阵的秩非零奇异值的个数
rcond(A)矩阵的倒条件数funm(A,'fn') A
阵的一般矩阵函数
3.5 线性方程组的直接解法
线性方程组Ax=b A
是n
×m
的系数矩阵
1)
当n=m
且非奇异时此方程称为恰定方程Properly DeterminedEquation
2)
当n>m
时此方程称为超定方程Overdetermined Equation
3)
当n时此方程称为欠定方程Underdetermined Equation
3.5.1 矩阵逆和除法解恰定方程组
1
采用求逆运算x=inv(A)*b; 2 采用左除运算x=A\b
说明:由于MATLAB 遵循IEEE
算法所以即使A
阵奇异该运算也照样进行但在运算结束时一方面给出警告Warning:Matrix is singular to working precision 另一方面所得逆阵的元素都是Inf 无穷大.
1
当A
为病态时也给出警告信息
2
在MATLAB
中inv
指令不很有用MATLAB 推荐尽量使用除运算少用逆运算
说明
1