如何在 Matlab 中将字符串单元格数组转换为 int 和 NaN?

Posted

技术标签:

【中文标题】如何在 Matlab 中将字符串单元格数组转换为 int 和 NaN?【英文标题】:How to convert string cell array to int and NaN in Matlab? 【发布时间】:2021-03-25 22:02:59 【问题描述】:

我有一个字符串元胞数组,其中包含数字和 None 值的混合。我想将 None 转换为 NaN,将 numbers 转换为 int。

x = '23','3','None'
new_x = 23,3,NaN

【问题讨论】:

【参考方案1】:

您可以尝试cellfunstr2double,例如,

>> cellfun(@str2double,x,"UniformOutput", false)
ans =

  [1,1] = 23
  [1,2] = 3
  [1,3] = NaN

或其他选项(感谢@Luis Mendo)

>> num2cell(str2double(x))
ans =

  [1,1] = 23
  [1,2] = 3
  [1,3] = NaN

【讨论】:

@ThomasIsCoding 啊,我没有注意到结果必须是单元格数组

以上是关于如何在 Matlab 中将字符串单元格数组转换为 int 和 NaN?的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:将单元格数组转换为单个单元格数组

如何将 Matlab 单元字符串数组转换为 .NET 字符串数组

如何将字符串数字的单元格数组转换为数值向量[重复]

如何在配置单元中将字符串转换为数组?

如何在谷歌脚本中将文本作为日期插入单元格? (符合时区转换)

从 MATLAB 中字符串的开头和结尾删除 '''