MATLAB中num2str num2cell cell2struct mat2cell函数的基本用法

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值