欧洲央行基于MATLAB平台开发的BEAR(贝叶斯估计、分析和回归)工具箱是一个综合(面板)VAR模型工具箱,它通过图形交互(GUI)和Excel的输入-输出实现VAR模型的估计、预测,极大简化了用户操作。
BEAR工具箱的下载地址:
BEAR工具箱的介绍:
BEAR的GUI界面
BEAR的输出结果图
BEAR在mac系统上运行会出现如下报错:
Error using copyfile
cp: /Users/SEYI/Downloads/toolbox 4.2/files/results.xlsx: No such file or directory
Error in initexcel (line 7)
copyfile(sourcefile,destinationfile);
Error in bear_toolbox_main_code (line 109)
initexcel;
报错原因:
GUI中输入的模型设定参数会被写入files文件夹下一个名为results.xlsx的Excel文件中,该Excel文件接下来会被相应程序复制到results文件夹下,并重新命名为results_uesr.xlsx以替换resuls文件夹下原有的results_uesr.xlsx文件(即初始化参数设定)。
GUI输入的参数在写入Excel文件时使用了xlswrite函数,该函数在macOS系统无法导出xlsx文件。files文件夹下因此不存在results.xlsx文件。结果就出现cp: /Users/SEYI/Downloads/toolbox 4.2/files/results.xlsx: No such file or directory的错误
解决办法:
参考Dynare论坛上一位网友给出的办法。在mathworks官网下载xlwrite函数文件(下载地址),将其保存BEAR工具箱的文件夹中。
修改files文件夹下所有使用xlswrite函数的m文件,将其替换为xlwrite函数。以files文件下的excelrecord1.m为例:该文件的倒数二行代码为:
xlswrite([pref.datapath '\results\' pref.results_sub '.xlsx'],estimationinfo,'estimation info','C2');
将上述代码修改如下:
xlwrite([pref.datapath '\results\' pref.results_sub '.xlsx'],estimationinfo,'estimation info','C2');
- 由于files文件夹中使用xlswrite函数的文件不止一个(大概十来个,其中,excelrecord1.m-excelrecord9.m均使用了xlswrite函数),因此需要通过运行-报错逐个找出并进行替换。