楼主: adxt123
1749 2

[mata问题求助] mata中关于pointer的问题。mata手册不理解之处1 [推广有奖]

  • 1关注
  • 1粉丝

已卖:377份资源

本科生

50%

还不是VIP/贵宾

-

威望
0
论坛币
1823 个
通用积分
26.1691
学术水平
2 点
热心指数
12 点
信用等级
0 点
经验
987 点
帖子
57
精华
0
在线时间
92 小时
注册时间
2013-10-1
最后登录
2017-4-29

楼主
adxt123 发表于 2014-9-25 16:02:56 |AI写论文
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
求解为什么?拜谢!!







关键词:pointer Point inter MATA Inte following useful create

沙发
大寿星 发表于 2014-9-25 17:17:51
相当不错                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 

藤椅
adxt123 发表于 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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-25 03:12