读取从excel到Matlab的数字和非数字数据之间的混合

时间:2012-10-10 11:18:30

标签: excel matlab

我有一个矩阵,第一列包含日期,第一行包含字母/数字(例如16年)。

其余单元格包含每天的费率,这是双精度数字。

现在我相信xlsread()只能处理数字数据,所以我想我需要其他东西或功能组合?

我希望能够将excel中的表读入MATLAB作为一个数组或者struct(),以便我可以将所有数据保存在一起。

另一个问题是某些费率是'#N / A'。我希望保留存储这些值的单元格,但希望将值更改为blank=" "。 做这个的最好方式是什么?它可以作为输入过程的一部分吗?

1 个答案:

答案 0 :(得分:1)

嗯,通过查看matlab reference for xlsread,您可以使用格式

[num,txt,raw] = xlsread(FILENAME)

然后您将在 num 数据矩阵中,在 txt 中显示不可读的数据,即您的文本标题,以及原始您将对所有数据进行未处理。 (包括文本标题)。

所以我猜你可以使用原始数组,或 num txt 的组合。

对于您的其他问题,如果您从某些其他来源“提取”费率,则可以使用

=IFERROR(RATE DATA,"")

然后会出现空白而不是错误代码#N\A

另一种解决方案(仅适用于Windows)将使用xlsread()格式,该格式允许在导入的数据上运行函数,

[num,txt,raw,custom] = xlsread(filename,sheet,xlRange,'',functionHandler)

让函数用空白点替换NaN值。 (并且您将在自定义数组中)输出