立即学习:https://edu.youkuaiyun.com/course/play/24708/278799?utm_source=blogtoedu
描述矩阵
尝试
A=rand(3,5)
B=size(A) 大小
C=length(A) 最大维的长度
比如:
A=rand(3,5)
它有3行5列
第一维:行维,即行向,也即垂直方向,维数为3,
第二维:列维,即列向,也即水平方向,维数为5
第三维:页,类似课本的一页一页,每一页是个平面,可以放一个类似A的二维矩阵
第四维:没有其他名字了,就是一个抽象的概念
第五维:类似第四维。
假设我利用ones函数得到一个矩阵b=ones(4,5,3);
那么这个4就对应矩阵第一维的维数,如上所言,就是说b有4行
同理5就是说有5列,
3就是说有3页
ndims(A) %维数 矩阵2维,数组1维
numel(A) 元素的个数
判断矩阵是否为空 isempty
判断A是否为空的一个函数
为空的话返回值为:1,不为空返回为:0
判断矩阵是否为标量 isscalar
该函数用于判断输入参数是否是一个标量。在matlab中所谓标量,即1行1列的矩阵。
如果矩阵A是一行一列的,则返回逻辑1(true),否则返回逻辑0(false)。
判断矩阵是否为矢量 isvector
函数功能:在MATLAB中,该函数用于判断给定的输入参数是否是一个向量。
在MATLAB中所谓向量, 即一个1行n列或n行1列的矩阵。
语法格式:
TF = isvector(A)
如果A是一个向量, 返回逻辑1(true),否则返回逻辑0(false)。
判断矩阵是否为矩阵 ismatrix
A是一个矩阵, 返回逻辑1(true),否则返回逻辑BD)。
issorted
函数用来判断数组是否已经有序。
当 A 的元素按升序排列时,TF = issorted(A) 将返回逻辑标量值 1(true);否则,返回 0(false)。
D=repmat(3, size(A))
size(A) 这个表示矩阵A的大小,如果矩阵A是4*5,则D矩阵就是4*5,但注意并不是原来的数
3表示都用3来表示
size(A, 2)表示取矩阵A的列数。如果A是多维矩阵,则表示的仍然是取每个二维矩阵的列数。
% 如果A是2维矩阵(行向量或列向量可看为行数或列数为1的矩阵)
A=[1, 2, 3; 4, 2, 3];
col = size(A, 2); % 计算结果为col=3,因为矩阵A的列数为3
% 如果A是多维矩阵(以3维矩阵为例)
A(:, :, 1)=[1, 2, 3; 4, 2, 3];
A(:, :, 2)=[4, 2, 2; 6, 2, 4];
col = size(A, 2); % col的值仍然为3,因为三维矩阵A的每个2维矩阵都有3列
size(a)
表示求取矩阵a的各维大小,拿上面的例子来说吧,
那么size(a)返回的是向量[2,3]表示矩阵a第一维大小是2,即有2行,第二维大小为3,表示有两列。
size(a,1)返回矩阵a的第一维的大小,如上面的a,那么size(a,1)的值是2,即第一维大小为2。
size(a,2)返回矩阵a的第二维的大小,如上面的a,那么size(a,2)的值是3,即第二维大小为3。
间隔提取:
matlab中E=A(:,[1:3:5])的意思是: 就是提取矩阵A的第一列和第四列数据组成一个新的矩阵E
(:,这个是列提取
1:3:5 从1开始间隔为3到5结束 。 1:1:5间隔为1,从1到5结束。
行提取
E=A([1:3:5],:) 同理
直接提取:
列提取 E=A(:,[1,3,6]) 这是直接对列提取 :1,3,6列
行提取 E=A([1,3,6],:) 这是直接对行提取 :1,3,6 行