转载matlab矩阵数组常⽤操作
⼀、
length            返回矩阵最长维的的长度    ndims      返回维数          numel      返回矩阵元素个数
size              返回每⼀维的长度,[rows,cols]=size(A)
矩阵块操作
1、repmat() 数组块状复制
2、blkdiag()对⾓块⽣成函数
3、kron()直积
⼆、矩阵元素的提取与替换
(1)提取
A(i, j) :矩阵 A 中,位于第 i 横列、第 j 直⾏的元素
⽤冒号(:), 取出⼀整列或⼀整⾏
⽤ end 这个保留字来代表某⼀维度的最⼤值
A(:, end) - 矩阵 A 的最后⼀个直⾏
a(n,:):提取矩阵中某⼀⾏的元素,
提取矩阵中某⼀列:a(:,n)
提取矩阵中的多⾏/列元素a([n,m],:)    a(:,[n,m])
提取矩阵中多⾏多列交叉点上的元素
(2)替换/删除:
A(2, :) = [] – 删除A矩阵的第⼆列
A(:, [2 4 5]) = [] - 删除 A 矩阵的第⼆、四、五直⾏
三、矩阵元素的重排和复制排列
1)矩阵元素的重排
B=reshape(A,m,n):返回的是⼀个m*n矩阵B,矩阵B的元素就是矩阵A的元素,若矩阵A的元素不是m*n个则提⽰错误。B=reshape(A,m,n,p):返回的是⼀个多维的数组B,数组B中的元素个数和矩阵A中的元素个数相等
B=reshape(A,…,[],…):可以默认其中的⼀个维数
B=reshape(A,siz) : 由向量siz指定数组B的维数,要求siz的各元素之积等于矩阵A的元素个数
2)矩阵的复制排列函数是repmat
B=repmat(A,n):返回B是⼀个n*n块⼤⼩的矩阵,每⼀块矩阵都是A
B=repmat(A,m,n):返回值是由m*n个块组成的⼤矩阵,每⼀个块都是矩阵A。
B=repmat(A,[m,n,p,…]):返回值B是⼀个多维数组形式的块,每⼀个块都是矩阵Amatlab二进制字符串转数组
3)、矩阵的翻转和旋转
rot90 旋转矩阵90度,逆时针⽅向
fliplr 沿垂轴翻转矩阵
flipud 沿⽔平轴翻转矩阵
transpose 沿主对⾓线翻转矩阵
四、向量的创建
1)直接输⼊:
2)⽤“:”⽣成向量
a=J:K ⽣成的⾏向量是a=[J,J+1,…,K]
a=J:D:K ⽣成⾏向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)
3)函数linspace ⽤来⽣成数据按等差形式排列的⾏向量
x=linspace(X1,X2):在X1和X2间⽣成100个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。
x=linspace(X1,X2,n): 在X1和X2间⽣成n个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。
4)函数logspace⽤来⽣成等⽐形式排列的⾏向量
X=logspace(x1,x2) 在x1和x2之间⽣成50个对数等分数据的⾏向量。构成等⽐数列,数列的第⼀项x(1)=10x1,x(50)=10x2  X=logspace(x1,x2,n) 在x1和x2之间⽣成n个对数等分数据的⾏向量。构成等⽐数列,数列的第⼀项x(1)=10x1,x(n)=10x2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。