>_<:矩阵构造数据结构
1.简单矩阵构造函数
最简单的方法是采用矩阵构造符“[]”。构造1´n矩阵(行向量)时,能够将各元素依次放入矩阵构造符[]内,而且以空格或者逗号分隔;构造m´n矩阵时,每行如上处理,而且行与行之间用分号分隔。spa
2.特殊矩阵构造ip
在MATLAB中还提供一些函数用来构造特殊矩阵,这些函数以下表所示。it
(1)ones(n) 或ones(m,n)产生mXn全为1的矩阵 (2)zeros(n) 或 zeros(m,n)产生mXn全为0的矩阵 (3)eye(n)产生nXn的单位矩阵 (4)diag(v)将向量v转化为一个对角矩阵 (5)magic(n)产生nXn的模方矩阵[每行每列之和相等] (6)rand(n)或 rand(m,n)产生mXn的随机矩阵,其中随机数分布服从0~1的均匀分布 (7)randn(n) 或 randn(m,n)产生mXn的随机矩阵,其中随机数服从标准高斯分布[均值为0方差为1] (8)randperm(n)产生1~n的随机排列3.向量构造随机数
最简单的方法是采用向量构造符“:”,其经常使用的用法以下。扩展
(1)a:b 返回以a为起点,以1为步长,且全部取值在a与b之间的向量。 (2)a:s:b 返回以a为起点,以s为步长,且全部取值在a与b之间的向量。
>_<:矩阵大小的改变数据类型
1.矩阵的合并引用
矩阵的合并就是把两个或者两个以上的矩阵链接成一个新矩阵。矩阵构造符[] 可用于构造矩阵,并能够做为一个矩阵合并操做符。方法
Ø 表达式C=[A B]在水平方向合并矩阵A和B [具备相同行数的两个矩阵,合并为一个新矩阵,不然不行] Ø 表达式C=[A;B]在竖直方向合并矩阵A和B [具备相同列数的两个矩阵,合并为一个新矩阵,不然不行]操做符“:”能够用来表示矩阵的多个元素。若A是二维矩阵,其主要用法以下:
Ø A(:,:) 返回矩阵A的全部元素。 Ø A(i,:) 返回矩阵A第i行的全部元素。 Ø A(i,k1:k2) 返回矩阵A第i行的自k1到k2列的全部元素。 Ø A(:,j) 返回矩阵A第j列的全部元素。 Ø A(k1:k2,j) 返回矩阵A第j列的自k1到k2行的全部元素。若A是多维矩阵,也能够经过相似的方法实现对其访问。
>_<:矩阵信息的获取
一、矩阵尺寸信息
Ø size(X)或size(X,dim)返回各个方向的长度,以向量的方式存储;后一个是返回指定方向的长度 Ø length(x)返回各个方向中最长长度 Ø ndims(A)矩阵的维数 Ø numel(A)矩阵的元素个数二、元素的数据类型[is---略]
三、矩阵的数据结构[is---略]
四、矩阵结构的改变
Ø reshape(A,m,n)把A从新排列为mXn的矩阵[按照长列向量的顺序重排元素] Ø rot90(A)或rot90(A,k)逆时针旋转矩阵900或k*900 Ø fliplr(A)以竖直方向为轴作镜像 Ø filpud(A)以水平方向为轴作镜像 Ø flipdim(A,dim)以指定轴作镜像[1水平、2竖直] Ø transpose(A)矩阵的转秩至关于B=A.' Ø ctranspose(A)矩阵的共轭转秩至关于B=A'>_<:稀疏矩阵
Ø 在MATLAB中,能够用满矩阵存储方式和稀疏矩阵存储方式来存储矩阵。 Ø 若一个矩阵只有少数的元素非零,称为稀疏矩阵。稀疏矩阵非零元素及其对应的下标来表示。 Ø 用户能够建立双精度、复数和逻辑等类型的稀疏矩阵。二、查看稀疏矩阵
MATLAB提供一些函数用于查看稀疏矩阵的信息,以下表所示:
Ø nnz(X)返回非零值个数 Ø nonzeros(A)返回非0值 Ø nzmax(S)返回用于存储非零值的空间长度
[matlab自带的稀疏矩阵矩阵west0479:导入load west0479 能够用spy(west0479)图形化显示稀疏矩阵非零值分布
三、稀疏矩阵的运算规则
在MATLAB中的各类命令和函数均可以用于稀疏矩阵的运算,而且遵循以下的一些约定。
Ø 把矩阵变为标量或者定长向量的函数老是给出满矩阵; Ø 对于标量或者定长向量变换到矩阵的函 数,如函数zeros()、ones()、eye()、rand()等老是给出满矩阵;