num2str:
函数功能:
把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出。在matlab命令窗口中键入doc num2str或help num2str即可获得该函数的帮助信息。
语法格式:
str = num2str(A)
把数组A中的数转换成字符串表示形式。
str = num2str(A, precision)
把数组A转换成字符串形式表示,precision表示精度, 比如precision为3表示保留最多3位有效数字, 例如0.5345转换后为0.534,1.2345转换后为1.23。即从左边第一个不为0的数开始保留3个数值。
str = num2str(A, format)
按format指定格式进行格式化转换,通常'%11.4g'是默认的。
比如:
>> A = [1, 2, 3];
>> B = num2str(A);
>> fprintf('%s', B)
1 2 3>>
>> C = [1.564, 0.12345];
>> D = num2str(C, 3)
D =
1.56 0.123
>> D = int32(1)
D =
1
>> num2str(D, '%.10f')
ans =
1.0000000000%这里就保留小数点后10,这和大多数的编程语言类似
num2cell:
num2cell 指令可将一数值阵列转换成异质阵列, 其使用语法为:
C = num2cell(A, dim)
其中 dim 是代表 「被切割」的维度,若不指定,则将每个元素视为异质阵列里面的一个 1×1 矩阵
当然方便理解,小编我也举了俩个例子:
一:将数值阵列转换成异质阵列(cont)
>> A = [1 2 3;4 5 6] % 建立一个数值阵列 A
A =
1 2 3
4 5 6
>> C = num2cell(A) % 将数值阵列 A 转成异质阵列 C
C =
[1] [2] [3]
[4] [5] [6]
>>
或建立文件num2cell.m
A = [1 2 3;4 5 6]; % 建立一个数值阵列 A
C = num2cell(A) % 将数值阵列 A 转成异质阵列 C
运行
C =
[1] [2] [3]
[4] [5] [6]
二:
可以先建立一个文件(关于num2cell.m):
A = [1 2 3;4 5 6]; % 建立的一个数值阵列 A
D = num2cell(A, 1) % 1 代表「横列被切割」
D =
运行
[2x1 double] [2x1 double] [2x1 double
运行结果如图:
cell2strucrt:
这个函数呢其实就是将元胞数组转换为结构体数组。 (元胞数组不懂的小可爱们可以直接去搜搜哟!!!我挺懒的,在这就不多解释了)(其实元胞数组就是cell函数)
structArray = cell2struct(cellArray, fields, dim) 通过元胞数组 cellArray 中包含的信息创建一个结构体数组 structArray。
fields参数指定结构体数组的字段名称。此参数是一个字符数组、字符向量元胞数组或字符串数组。
dim参数向 MATLAB® 指示创建结构体数组时要使用的元胞数组的轴。使用数值double指定dim。
要使用从元胞数组的 N 行中获取的字段创建一个结构体数组,在fields参数中指定N个字段名称,在dim参数中指定数字 1。要使用从元胞数组的M列中获取的字段创建一个结构体数组,请在fields参数中指定M个字段名称,在dim参数中指定数字2。
structArray 输出是具有N个字段的结构体数组,其中 N 等于fields输入参数中的字段数。生成的结构体中的字段数必须等于沿要转换的维度dim的元胞数。
mat2cell:
首先我们可以在程序中选中“mat2cell”-右键单击-关于“mat2cell”的帮助/或者按F1去查看具体用法。(我这好水,啊哈哈哈哈)
通过介绍我们可以知道这个函数的作用就是把一个数组(或者叫矩阵)分成不同大小的块(或者叫细胞元,cell)。
形式如下:
c = mat2cell(x,m,n)
其中,有三个参数,第一个参数是想要分解的原始矩阵x,第二个和第三个参数一般都是集合的形式,表示分解的尺度。
举个小例子:
c = mat2cell(x, [10, 20, 30], [25, 25])
x大小为[60,50],[10,20,30] 是将对应行数60分成10,20和30,[25,25]是将对应列数50分成25和25。