首页 文章

Matlab FRED数据导入(获取错误)

提问于
浏览
0

我总是使用matlab来获取FRED数据,但现在我无法再获取它了 . 一个简单的代码如:

c = fred('http://research.stlouisfed.org/fred2/');
d = fetch(c,'DEXUSEU');

得到错误:索引超出矩阵维度 .

fred / fetch中的错误(第93行)d.Data = [datenum(str2num(tmp(:,1:4)),str2num(tmp(:,6:7)),str2num(tmp(:,9:10) )))str2num(tmp(:,11:end))]; %#好

调试fetch函数,它创建的url是正常的,但在第48行,当它使用urlread时,结果是:

301已永久移动永久移动文档已移至此处 .

有什么建议吗?

谢谢

1 回答

  • 1

    看起来FRED不喜欢非HTTPS请求 . 我在Matlab 2015a中报告了同样的错误,但是如果你将url更改为 https ,它就可以了 .

    c = fred('https://research.stlouisfed.org/fred2/');
    d = fetch(c,'DEXUSEU');
    

    如果您使用Matlab从FRED请求的网址并将其粘贴到Chrome中,您会收到有效的回复(我猜测Chrome正在做一些事情,以便在Matlab放弃时提供301错误为您提供的链接) . 他们仍然允许来自其API服务的非HTTPS请求,但基本Matlab fetch 函数不使用实际的FRED API .

    更新:我刚从FRED收到以下电子邮件:

    FRED API需要HTTPS . 从2015年8月18日开始,FRED API将需要HTTPS请求 . 此更改将有助于提供与FRED API的安全通信 . 自动重定向会将HTTP请求转发到HTTPS . 我们建议您更新代码中的URL . API目前支持HTTPS,允许您使用此安全协议测试应用程序 . 如果您有任何问题或疑虑,请通过STLS.RSRCHWebmaster@stls.frb.org或314-444-FRED(3733)与我们联系 . 感谢您使用FRED和FRED API . 真诚的,FRED团队

相关问题