0

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

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

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

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

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

4

1 回答 1

1

好吧,通过查看xlsread 的 matlab 参考资料,您可以使用以下格式

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

然后您将在num中拥有一个数据矩阵,在txt中拥有不可读的数据,即您的文本标题,而在raw中,您将拥有所有未处理的数据。(包括文本标题)。

所以我想你可以使用原始数组,或者numtxt的组合。

对于您的其他问题,如果您的费率是从其他来源“拉取”的,您可以使用

=IFERROR(RATE DATA,"")

然后会有一个空白而不是错误代码#N\A

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

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

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

于 2012-10-10T11:53:32.533 回答