【问题标题】:Matlab: get numeric values from tableMatlab:从表中获取数值
【发布时间】:2015-05-19 21:20:35
【问题描述】:

我使用“readtable”命令将 Excel 中的工作表导入 matlab:

TABLE = readtable(Excel.FN, 'sheet', Excel.Sheet);

该表同时包含数值和字符串。 如果我尝试访问数值,我无法将它们设为双精度值。

TABLE{j,i} = '0.00069807'

仍然是一个单元格。

cell2num(TABLE{j,i}) = NaN   
cell2mat(TABLE{j,i}) = 0.00069807,

但这是一个字符。所以我用

str2num(cell2mat(TABLE{j,i}))

获取数值。必须有更简单的方法。请告诉我命令。

【问题讨论】:

  • 您尝试过使用xlsread 吗?您可以将数字和文本存储到非常方便的单独变量中。否则你可能想试试str2double,它在元胞数组上运行

标签: matlab


【解决方案1】:

如果你不坚持readtablexlsread 会更适合你。使用此功能加载的数据更加“matlab 友好”。

我不确定readtable 是否有更简单的解决方案。我认为这正是您不使用“原始”数据(例如 CSV 或简单文本文件)所需要付出的代价。

【讨论】:

  • 我在大部分程序中都使用命令 xlsread,但是,我希望 readtable 对用户更友好。我仍然相信存在从表中获取数值的命令。否则 matlab 函数无法绘制它们。也许我必须以旧格式(即 '97)保存 Excelfile。我明天试试。最佳乔纳斯
  • 您可以尝试将其保存为 CSV(Excel 可以这样做,但我不确定结果)并使用 csvread 或...设计您自己的函数并调用该函数而不是 something2anything .
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 2020-04-01
  • 1970-01-01
  • 2012-02-03
  • 2011-11-29
  • 1970-01-01
相关资源
最近更新 更多