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。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLABnum2cell函数用于将数值数组转换为元胞数组。它的语法是C = num2cell(A, dim),其A是要转换的数值数组,dim是可选参数,表示要在哪个维度上进行切割。如果不指定dim,则将每个元素视为一个1x1矩阵,即将整个数值数组转换为一个元胞数组。\[2\] 举个例子,如果有一个数值数组A = \[1 2 3; 4 5 6\],运行C = num2cell(A)后,C的结果将是一个元胞数组,其每个元胞包含一个数值元素,即C = {\[1\] \[2\] \[3\]; \[4\] \[5\] \[6\]}。\[1\] 另外,num2cell函数也可以用于将一个字符串数组的每个字母放入元胞数组的每个元胞。例如,如果有一个字符串数组a = \['four'; 'five'; 'nine'\],运行c = num2cell(a)后,c的结果将是一个元胞数组,其每个元胞包含一个字母,即c = {'f' 'o' 'u' 'r'; 'f' 'i' 'v' 'e'; 'n' 'i' 'n' 'e'}。\[3\] #### 引用[.reference_title] - *1* *2* [MATLABnum2str num2cell cell2struct mat2cell函数基本用法](https://blog.csdn.net/zy010829/article/details/126592846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Matlabnum2cell函数使用](https://blog.csdn.net/jk_101/article/details/110929630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值