全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
17297 22
2014-08-25
悬赏 50 个论坛币 已解决
如题,在以前帖子中看到1.可将Excel中数据粘到stata的data editor 中,再执行命令“mkmat var*,mat(X)”即可得到矩阵X

2.计算手动输入的矩阵特征值和特征向量的命令为:
   mata
x=(1,2,3,4,5\1/3,1,5,3,4\ 1/2,1/5,1,3,2\1/3,1/3,1/3,1,5\1/5,1/4,1/2,1/5,1)   //手工输入5*5矩阵
p=.
l=.
eigensystem(x,p,l)
p   //显示特征向量
l    //显示特征值
end
我的是已经粘贴好的矩阵X,就没有执行手工输入矩阵的命令,直接执行下边的命令,结果出错了。请问如何解呀!求大神解救。

最佳答案

pkl 查看完整内容

好像要先讲stata中的矩阵转换成mata中的矩阵,现在mata中设置一个只有缺失值的矩阵,然后用st_view把stata中X矩阵的数据转换到mata中你设置的新矩阵中,然后就可以用求特征根的命令了。 思路是这样的,不知对你有没有帮助,自己查查help文档。 mata V=st_view(X, ., .) p=. l=. eigensystem(V, p,l)
二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-25 10:19:26
好像要先讲stata中的矩阵转换成mata中的矩阵,现在mata中设置一个只有缺失值的矩阵,然后用st_view把stata中X矩阵的数据转换到mata中你设置的新矩阵中,然后就可以用求特征根的命令了。
思路是这样的,不知对你有没有帮助,自己查查help文档。
mata
V=st_view(X, ., .)
p=.
l=.
eigensystem(V, p,l)
二维码

扫码加我 拉你入群

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

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

2014-8-25 21:33:16
pkl 发表于 2014-8-25 10:19
好像要先讲stata中的矩阵转换成mata中的矩阵,现在mata中设置一个只有缺失值的矩阵,然后用st_view把stata中 ...
非常感谢你,我好好学习一下。
二维码

扫码加我 拉你入群

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

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

2014-8-25 21:45:47
pkl 发表于 2014-8-25 10:19
好像要先讲stata中的矩阵转换成mata中的矩阵,现在mata中设置一个只有缺失值的矩阵,然后用st_view把stata中 ...
执行V=st_view(X, ., .)时错误提示是“X not found”。之前已经按步骤创建了X矩阵啊。看了help文件,仍然没弄好。能麻烦您再指点一下吗?多谢了。
二维码

扫码加我 拉你入群

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

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

2014-8-25 22:31:56
815102137 发表于 2014-8-25 21:45
执行V=st_view(X, ., .)时错误提示是“X not found”。之前已经按步骤创建了X矩阵啊。看了help文件,仍然 ...
不好意思,刚才弄错了,应该用v=st_matrix("x")把stata中矩阵转换到mata中,所以改写为:
v=st_matrix("x")
p=.
l=.
eigensystem(v, p,l)
p
l
结果为
p
                      -.723241249    .129430781 + .330324585i    .129430781 - .330324585i
  2 |                -.580525181                  .792993021                  .792993021
  3 |                -.284953867   -.007865144 - .383946807i   -.007865144 + .383946807i
  4 |                -.220148611    -.29553534 + .019452345i    -.29553534 - .019452345i
  5 |                 -.10123484    .008825556 + .100104836i    .008825556 - .100104836i
。。。
l
                               1                           2                           3
    +-------------------------------------------------------------------------------------
  1 |                 5.70476568   -.068718011 - 1.70348216i   -.068718011 + 1.70348216i
    +-------------------------------------------------------------------------------------
                               4                           5
     ---------------------------------------------------------+
  1      -.28366483 - .67491643i     -.28366483 + .67491643i  |
     ---------------------------------------------------------+
二维码

扫码加我 拉你入群

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

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

2014-8-26 09:16:33
pkl 发表于 2014-8-25 22:31
不好意思,刚才弄错了,应该用v=st_matrix("x")把stata中矩阵转换到mata中,所以改写为:
v=st_matrix(" ...
成功了!非常感谢你帮助我,谢谢!你太赞了!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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