我有一个矩阵,第一列包含日期,第一行包含字母/数字(例如16年)。
其余单元格包含每天的费率,这是双精度数字。
现在我相信xlsread()
只能处理数字数据,所以我想我需要其他东西或功能组合?
我希望能够将excel中的表读入MATLAB作为一个数组或者struct()
,以便我可以将所有数据保存在一起。
另一个问题是某些费率是'#N / A'。我希望保留存储这些值的单元格,但希望将值更改为blank=" "
。
做这个的最好方式是什么?它可以作为输入过程的一部分吗?
答案 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
值。 (并且您将在自定义数组中)输出