matlab之zeros函数、size、class的语法与举例说明(附代码)

目录

一、zeros函数语法与举例说明

二、size的使用方法

三、class的使用方法

四、文章参考


一、zeros函数语法与举例说明

(1)X = zeros——返回标量0

X = zeros

 示例:

 

 (2)X = zeros(n)——返回一个 n×n 的全零矩阵

零矩阵:

示例:创建一个由零值组成的  3×3  矩阵

X = zeros(3)

(3)X = zeros(sz)——返回一个由零组成的数组,其中大小向量 sz 定义 size(X)

根据现有数组克隆大小:创建一个由零组成的,大小与现有数组相同的数组

示例1:zeros([2 3]) 将返回一个 2×3 矩阵

示例2:创建一个大小与A数组相同的数组

X = zeros([2 3])

 

A = [3 9; 1 5; 2 6];
sz = size(A);
X = zeros(sz)

(4)X = zeros(sz1,...szN)——返回由零组成的 sz1×...×szN 数组,其中 sz1,...,szN 代表每个维度的大小

由零组成的多维数组:

示例1:zeros(2,5) 将返回一个 2×5 矩阵

示例2:zeros(2,3,4)返回一个三维数组

X = zeros(2,5)

 

X = zeros(2,3,4);
size(X)

 

(5)X = zeros(___,typename) ——返回一个由零组成且数据类型为 typename 的数组

指定零数据类型:

示例1:zeros('int8') 将返回一个 8 位整数标量 0,可以使用上述语法中的任何输入参数

示例2:创建一个由零组成的 1×3 向量,其元素为 32 位无符号整数

X = zeros('int8')

 

X = zeros(1,3,'uint32')

 

(6) X = zeros(___,'like',p) ——返回一个与 p 类似的由零值组成的数组,具有与 p 相同的数据类型(类)、稀疏度和复/实性,可以指定 typename 或 'like',但不能同时指定二者

根据现有数组克隆复/实性

示例:创建一个非实数值而是与现有数组类似的复数标量 0(首先创建一个复数向量,接着创建一个是类如p的复数的标量0)

P = [1+2i 4i];
X = zeros('like',p)

 根据现有数组克隆稀疏性:

示例:首先创建一个 10×10 稀疏矩阵,接着创建一个由零组成的类如 p 的 2×3 稀疏矩阵

p = sparse(10,10,pi);
X = zeros(2,3,'like',p)

 根据现有数组克隆大小和数据类型:

示例:创建一个由 8 位无符号整数组成的 2×3 数组(首先创建p数组,接着创建一个与 p 具有相同大小和数据类型的由零组成的数组)

p = uint([1 3 5; 2 4 6]);
X = zeros(size(p),'like',p);
class(X)

二、size的使用方法

size():表示获取矩阵的行数和列数

(1)sz=size(A)——当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数

(2)[r,c]=size(A)——当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c

(3)size(A,n)——如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的列数

(4)szdim=size(A,dim)——当 dim 为正整数标量时,szdim = size(A,dim) 返回维度 dim 的长度。您还可以将 dim 指定为正整数向量,以一次查询多个维度长度。例如,size(A,[2 3]) 以 1×2 行向量 szdim 形式返回 A 的第二个维度和第三个维度的长度

(5)szdim=size(A,dim1,dim2,...,dimN)——以行向量 szdim 形式返回维度 dim1,dim2,…,dimN 的长度

(6)[sz1,...,szN]=size(___)——分别返回 A 的查询维度的长度

示例:如果 A 是一个2×3矩阵,则 size(A) 返回向量 [2 3];如果 A 是表或时间表,则 size(A) 返回由表中的行数和变量数组成的二元素行向量

A = rand(2,3);
ze = size(A)

 

 示例:四维数组的大小—创建一个随机四维数组并返回其大小

A = rand(2,3,4,5);
sz = size(A)

 查询A的第二个维度的长度:

sedim2 = size(A,2)

 

 查询A的最后一个维度的长度:

szdimlast = size(A,ndims(A))

 

可通过指定向量维度参数,一次查询多个维度长度

示例1:求 A 的第一个维度和第三个维度的长度

示例2:求 A 的第二个维度至第四个维度的长度

示例3:使用单独的输入参数列出查询的各个维度

szdim13 = size(A,[1 3])
szdim23 = size(A,2:4)
sedim24 = size(A,2,3,4)

使用单独的参数返回各个维度长度:

示例:创建一个随机矩阵,并分别返回行数和列数

A = rand(4,3);
[numRows,numCols] = size(A)

 

表大小:

示例: 创建一个包含 5 行和 4 个变量的表,并计算该表的大小

LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

A = table(Age,Height,Weight,BloodPressure,'RowNames',LastName);
sz = size(A)

 

注意:length()=max(size()).

三、class的使用方法

语法:className = class(obj)——返回obj的类的名称

Java对象的类:

示例:获取 Java® 对象的类名

jObject = java.lang.String('Java string');
className = class(jObject);
disp(className)

 

变量的类:

示例:确定变量的类 

h = @sin;
className = class(h);
disp(className)

 

obj——对象或文字,指定为变量或表达式

示例: class(date)

输出参数:className——类的名称,以字符向量形式返回

四、文章参考

(1)zeros:创建全零数组 - MATLAB zeros - MathWorks 中国

(2)size:数组大小 - MATLAB size - MathWorks 中国

(3)class:对象的类 - MATLAB class - MathWorks 中国

猜你喜欢

转载自blog.csdn.net/m0_53096519/article/details/133619856
今日推荐