全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1705 2
2014-09-25
悬赏 1 个论坛币 未解决
目前在看mata手册,非常不理解pointer的含义。求高手指点。pointer的意思是不是类似一个替换变量?或者可不可以理解成一个分块矩阵的代表,即将一个大矩阵的部分放入不同的pointer中啊?疑惑中。。。其中,手册当中举了一个例子Setting pointers equal to the value of expressions can be useful. In the following code fragment, we create n 5 x 5 matrices for later use:
pvec  = J(1, n, NULL)
for (i=1; i<=n; i++) pvec =&(J(5, 5, .))
但是我运行不出来 :
pvec  = J(1, n, NULL)                 <istmt>:  3499  n not foundr(3499);
: for (i=1; i<=n; i++) pvec =&(J(5, 5, .))                 <istmt>:  3499  n not foundr(3499);
: end
求解为什么?拜谢!!







二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-9-25 17:17:51
相当不错                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-25 17:57:32
刚才又自己看了一些,突然有点明白了。是不是因为J()函数本身必须在程序当中使用,即需要先定义一个函数。通过这个思路我使用了noteproblem的函数进行调试,发现可以通过,但是不能显示矩阵。刚在看struct和pointer似乎有些关联,还在继续阅读。希望大虾们能指点一下。


附有改的程序,不知是否有错求教:
mata
function noteproblem(matrix pvec)/*J函数只能作为程序里面的*/
{
pragma unset pvec
pvec  = J(1, n, NULL)
for (i=1; i<=n; i++) pvec[i] =&(J(5, 5, .))
}
end

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群