MATLAB str char cell num格式互相转换

简介

关于如何str char cell num格式互相转换的例子很多,但是都很单一,有时候使用的时候需要查找很久才可以解决问题。这里就对这几种方法进行一个汇总。
之所以会涉及使用cell,是因为涉及字符串、数字在同一个“矩阵”中,这时候需要使用cell进行存储,在数据处理时候又需要进行cell转矩阵,因此掌握这些转换方法可以使得程序更加简洁高效。

在这里插入图片描述

使用到的语法

cell2mat   % 将cell转换为mat的char型 
str2num    % 将mat从char转换为double型 
str2double %推荐使用该函数而不是str2num
cellstr    %char转cell 
num2str    %doublechar 
num2cell   %double直接转cell

num2str

官方文档:https://ww2.mathworks.cn/help/matlab/ref/num2str.html
点评,该函数对矩阵,以行为单位进行转换为char型矩阵。

cellstr

官方文档:https://ww2.mathworks.cn/help/matlab/ref/cellstr.html?s_tid=srchtitle
将str数字转换为字符向量元胞数组。

用法:

seasons = ['Seasons'; cellstr(num2str(seasons))]

str2double

推荐使用str2double而不是str2num,是因为当cell中存储的str不是等大小时,str2num将会出错。
例如:

cellstr({'12', '123', '-9999'})

结果:

  1×3 cell 数组

    '12'    '123'    '-9999'

str2num效果:

str2num(cellstr({'12', '123', '-9999'}))
错误使用 str2num (line 31)
需要字符矢量或数组输入。

str2double效果:

str2double(cellstr({'12', '123', '-9999'}))

ans =

          12         123       -9999

str2double对于多维cell数组也可以直接转换为数字矩阵。

    aot  = str2num(cell2mat(data(:,7)));
    aot  = str2double(data(:,7));
  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值