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

net*_*bug 2 matlab

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

x = {'23','3','None'}
new_x = {23,3,NaN}
Run Code Online (Sandbox Code Playgroud)

Tho*_*ing 5

您可以尝试cellfun使用str2double,例如,

>> cellfun(@str2double,x,"UniformOutput", false)
ans =
{
  [1,1] = 23
  [1,2] = 3
  [1,3] = NaN
}
Run Code Online (Sandbox Code Playgroud)

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

>> num2cell(str2double(x))
ans =
{
  [1,1] = 23
  [1,2] = 3
  [1,3] = NaN
}
Run Code Online (Sandbox Code Playgroud)

  • `str2double(x)` 有效 (3认同)