我有一个包含通用数据格式(CDF)数据的txt文件。 Matlab具有读取此功能的功能,但它不起作用。我假设因为扩展名是.txt而不是.cdf。 当我尝试阅读时,我得到:
???使用==>时出错cdfinfoc 从CDF库发出错误:“NOT_A_CDF_OR_NOT_SUPPORTED:已命名的CDF已损坏或 当前库版本不支持。“
==>中的错误cdfinfo在170 tmp = cdfinfoc(filename);
==>中的错误cdfread在184 info = cdfinfo(filename);
有没有办法欺骗Matlab并阅读它或者我是否需要将txt转换为.cdf?如果是这样,我该怎么做?
谢谢!
编辑:我尝试阅读的文件来自此链接:http://www.ee.washington.edu/research/pstca/pf14/ieee14cdf.txt
这表示数据在CDF中:http://www.ee.washington.edu/research/pstca/pf14/pg_tca14bus.htm
答案 0 :(得分:1)
如果它实际上是一个txt文件(因为它包含你可以阅读的文本数据),那么它实际上不是CDF格式。您可以尝试使用makeCDF或其他工具将文本数据转换为CDF文件。
如果这对您不起作用,您需要发布有关文件实际格式的更多信息。该文本文件可以包含任何内容。也许提供一些示例线?
修改强>
查看您的文件后,这是一种不相关的格式,恰好也称为CDF。您可以在此处找到此格式的阅读器:Read IEEE Common Data Format (CDF) (Power systems, Load Flow)
答案 1 :(得分:0)
在这两种情况下,我认为它实际上已经崩溃的地方是对图书馆的调用:
fmt = cdflib.getFormat(cdfid);
请参阅:cdflib.getFormat,特别是这些行:
此函数对应于CDF库C API例程 CDFgetFormat。
要使用此功能,您必须熟悉CDF C界面。 阅读CDF Web site上的CDF文档。
无论如何,这不仅仅是因为文件扩展名;我通过复制MATLAB example.cdf
,将其重命名为example.txt
并在两者上调用cdfinfo
来测试这一点。没有错误,返回的数据是相同的,除了明显的文件名/修改日期。