endsub
注意,我们没有将每一次所得结果,直接传递给要返回数值的形式参数向量vector v1中的元素。如果那样作个话,那么在调用函数值前必须知道组对象中的序列个数,因此要正确地给出向量vector v1的大小。对应地,我们将结果存储在一个临时的暂存向量中,而在程序结束时的向量赋置于居中暂存向量复制到作为返回的形式参数变量中。这个形式参数向量的大小是根据需要自动调整的。
下面这个程序是构造显示单位根检验结果表格的程序: include c:\\evdata\\programs\\muroot load c:\\evdata\\macro group grp1 ff tb3 tb10 vector tstat
call muroot(grp1,tstat)
' get number of series in group scalar n = grp1.@count
' declare table and fill in headers table(6,n+1) adf
setcell(adf,1,1,\constant)\setline(adf,2)
setcell(adf,3,1,\setcell(adf,4,1,\setline(adf,5)
setcell(adf,6,1,\MacKinnon, Table 20.1)\' fill in cells for !i=1 to n
setcell(adf,3,!i+1,grp1.@seriesname(!i)) setcell(adf,4,!i+1,tstat(!i),3) next show adf
在程序第一段中,加载工作文件,建立一个包含3格序列的组对象,调用上面给出的子程序执行单位根检验。在程序的第二段中申明表格对象,在表格中填充表格的标题信息。在程序的第三个段中通过组内元素
的循环,取得序列名和t-统计量向量,并把它们置入表格的适当位置。注意,设置t-统计量仅仅显示3位小数。 The resulting table is depicted below: 下表展示的就是我们运行程序得到的表格:
相关推荐: