矩阵的基本命令和功能
MATLAB命令 | 功能 | 效果 |
---|---|---|
A’ | 矩阵A的转置 | |
A+B | 矩阵A和矩阵B的和 | |
A-B | 矩阵A减矩阵B | |
A*B | 矩阵A乘以矩阵B | |
k*A | 数看乘以矩阵A | 当k等于3时 |
det(A) | A的行列式 | |
rank(A) | A的秩 | |
inv(A) | A的逆 | |
B/A | B左乘A的逆;A右除B,即B*inv(A) | |
A\B | B右乘A的逆;A左除B,即inv(A)*B | |
A^n | A的n次幂 | 当n=2时 |
A.*B | A与B的对应元素相乘 | |
a3=A(3,:) | A的第三列生成一个行向量 | |
b2=B(:,2) | B的第2列生成一个列向量 | |
A(始行:步长:终行,始列:步长:终列) | A的某几行、某几列上交叉元素生成A的子矩阵 | |
zeros(6) | 生成6阶的零矩阵 | |
eye(4) | 生成4阶单位阵 | |
a1*a2‘ | 两个向量的内积 |
常用的函数列表
MATLAB函数 | 功能 | 格式 | 效果 |
---|---|---|---|
ones | 生成全1阵 | y=ones(n) %生成n×n的全1阵 y=ones(m,n) %生成m×n的全1阵 |
|
rand | 生成均匀分布随机矩阵 | y=rand(n) %生成n×n的随机矩阵 其元素在(0,1)内 y=ones(m,n) %生成m×n的随机矩阵 |
|
randn | 生成正态分布随机矩阵 | y=randn(n) %生成n×n的正态分布随机矩阵 y=ones(m,n) %生成m×n的正态分布随机矩阵 |
|
linspace | 产生线性等分向量 | y=linspace(a,b) %产生100个线性等分点 y=linspace(a,b,n) %产生n个线性等分点 |
当a=3,b=2,n=5时 |
logspace | 产生对数等分向量 | y=logspace(a,b) %在()之间产生50个对数等分向量 y=logspace(a,b,n) %在()之间产生n个对数等分向量 |
当a=3,b=2,n=5时 |
numel | 计算矩阵中元素的个数 | n=numel(A) %返回矩阵A的元素的个数 | |
blkdiag | 产生以输入元素为对角线元素阵 | out=blkdiag(a,b,c,d…) %产生以a,b,c,d,…为对角线元素的矩阵 | 当a=3,b=2,c=4,d=8时 |
hadamard | 生成hadamard矩阵 | H=hadamard(n) %返回n阶hadamard矩阵 | 当n=2时 |
Hankel | 生成Hankel方阵 | H=hankel( c ) %第1列元素为c,反三角以下元素为0 H=hankel(c,r) %第1列元素为c,最后1行元素为r,如果c的最后一个元素与r的第1个元素不同,交叉位置取为c的最后一个元素 |
|
hilb | 生成Hilbert矩阵 | H=hilb(n) %返回n阶Hilbert矩阵,H(i,j)=1/(i+j-1) | |
invhilb | 生成逆Hilbert矩阵 | H=invhilb(n) %产生n阶逆Hilbert矩阵 | |
magic(n) | 生成Magic矩阵 | M=magic(n) %产生n阶魔方矩阵 |
向量的范数norm,使用格式和具体的数学含义分别为:
使用格式 | 数学含义 | 效果 |
---|---|---|
n=norm(X) | X为向量,求欧几里德范数即 \vert \vert X\vert \vert _2=\sqrt{\sum\vert X_k \vert^2}∣∣X∣∣2=∑∣Xk∣2 | |
n=norm(X,inf) | 求∞范数,即\vert \vert X\vert \vert=max(abs(X))∣∣X∣∣=max(abs(X)),即 | |
n=norm(X,1) | 求1范数,即 \vert \vert X\vert \vert _1=\sum\vert X_k \vert∣∣X∣∣1=∑∣Xk∣ | |
n=norm(X,-inf) | 求向量-X的元素的绝对值的最小值,即\vert \vert X\vert \vert=min(abs(X))∣∣X∣∣=min(abs(X)) | |
n=norm(X,p) | 求p-范数,即\vert \vert X\vert \vert _p=\sqrt[p]{\sum\vert X_k \vert ^p}∣∣X∣∣p=p∑∣Xk∣p, 所以norm(X,2)=norm(X) | 当p=2时 |
n=norm(A) | A为矩阵,求欧几里德范数 ,等于A的最大奇异值\vert \vert A\vert \vert_2∣∣A∣∣2 | |
n=norm(A,1) | 求A的列范数\vert \vert A\vert \vert_1∣∣A∣∣1 ,等于A的列向量的1-范数的最大值 | |
n=norm(A,2) | 求A的欧几里德范数\vert \vert A\vert \vert_2∣∣A∣∣2 ,和norm(A)相同 | |
n=norm(A,inf) | 求行范数\vert \vert A\vert \vert_\infty∣∣A∣∣∞ ,等于A的行向量的1-范数的最大值,即:max(sum(abs(A’))) | |
n=norm(A,‘fro’) | 求矩阵A的Frobenius范数\vert \vert A\vert \vert _F=\sqrt{\sum\sum\vert A_{ij}\vert^2}∣∣A∣∣F=∑∑∣Aij∣2 ,即sqrt(sum(diag(A’*A))),不能用矩阵p-范数 |
矩阵的其它有关运算,包括矩阵的特征值、特征向量、矩阵初等变换的实现、向量组线性相关性的判定、矩阵条件数的计算、矩阵的LU分解等内容
使用格式 | 功能 | 效果 |
---|---|---|
D=eig(A) | 求A的特征值,得到一个由特征值构成的向量D | |
[X,D]=eig(A) | A的特征向量矩阵X及A的特征之组成的对角阵D | |
Q=orth(A) | 将非奇异矩阵A正交化为Q, Q’*Q=1 | |
A([i,j],:)=A([j,i],:) |