楼主: hiderm
3877 4

[编程问题求助] 为什么在mat list 命令后面的程序不能识别 暂元了? [推广有奖]

已卖:5227份资源

院士

59%

还不是VIP/贵宾

-

威望
1
论坛币
59505 个
通用积分
4044.5148
学术水平
253 点
热心指数
332 点
信用等级
219 点
经验
76220 点
帖子
2202
精华
1
在线时间
2767 小时
注册时间
2006-6-3
最后登录
2025-9-20

楼主
hiderm 发表于 2014-6-1 09:16:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

原本的程序时这样的:

local T = 10
mat B = J(`T'-1,`T',0)
mat B[1,1] = -1*I(`T'-1)
mat B1 = B
mat list B1

但是,我在第一个mat 命令后添加了一条显示矩阵B的命令之后,后面的mat 命令就被stata告知 出错:invalid syntax r(198)

local T = 10
mat B = J(`T'-1,`T',0)
mat list B     
mat B[1,1] = -1*I(`T'-1)    //
mat B1 = B
mat list B1

请问各位坛友:这是怎么回事啊?


二维码

扫码加我 拉你入群

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

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

关键词:list Mat IST invalid SYNTAX 程序

[b][color=Red]提请应助者注意:请不要上传draft或者wp版本,谢谢!因为这些版本我自己用谷歌搜索就可以搜到并免费下载

沙发
蓝色 发表于 2014-6-1 10:10:50
我这里执行没有问题


. local T = 10

. mat B = J(`T'-1,`T',0)

. mat list B     

B[9,10]
     c1   c2   c3   c4   c5   c6   c7   c8   c9  c10
r1    0    0    0    0    0    0    0    0    0    0
r2    0    0    0    0    0    0    0    0    0    0
r3    0    0    0    0    0    0    0    0    0    0
r4    0    0    0    0    0    0    0    0    0    0
r5    0    0    0    0    0    0    0    0    0    0
r6    0    0    0    0    0    0    0    0    0    0
r7    0    0    0    0    0    0    0    0    0    0
r8    0    0    0    0    0    0    0    0    0    0
r9    0    0    0    0    0    0    0    0    0    0

. mat B[1,1] = -1*I(`T'-1)    //

. mat B1 = B

. mat list B1

B1[9,10]
     c1   c2   c3   c4   c5   c6   c7   c8   c9  c10
r1   -1    0    0    0    0    0    0    0    0    0
r2    0   -1    0    0    0    0    0    0    0    0
r3    0    0   -1    0    0    0    0    0    0    0
r4    0    0    0   -1    0    0    0    0    0    0
r5    0    0    0    0   -1    0    0    0    0    0
r6    0    0    0    0    0   -1    0    0    0    0
r7    0    0    0    0    0    0   -1    0    0    0
r8    0    0    0    0    0    0    0   -1    0    0
r9    0    0    0    0    0    0    0    0   -1    0

.
end of do-file
已有 1 人评分论坛币 收起 理由
admin_kefu + 100 热心帮助其他会员

总评分: 论坛币 + 100   查看全部评分

藤椅
hiderm 发表于 2014-6-1 10:17:02
多谢蓝色版主回复,可否请您试着这么操作一下:
在do文件编辑器中,先选取前三行命令,然后点击执行按钮
local T = 10
mat B = J(`T'-1,`T',0)
mat list B

待结果窗口输出结果后,再选取mat B[1,1] = -1*I(`T'-1)  ,然后点击执行按钮

好像这样就不行了。
[b][color=Red]提请应助者注意:请不要上传draft或者wp版本,谢谢!因为这些版本我自己用谷歌搜索就可以搜到并免费下载

板凳
蓝色 发表于 2014-6-1 10:42:03
local 定义的是局部变量,程序停下就不在其作用了
所以,出现问题
你可以用 globel  定义 T
这样就没有问题
已有 1 人评分经验 论坛币 学术水平 热心指数 收起 理由
crystal8832 + 10 + 10 + 1 + 1 观点有启发

总评分: 经验 + 10  论坛币 + 10  学术水平 + 1  热心指数 + 1   查看全部评分

报纸
hiderm 发表于 2014-6-1 19:17:32
蓝色 发表于 2014-6-1 10:42
local 定义的是局部变量,程序停下就不在其作用了
所以,出现问题
你可以用 globel  定义 T
多谢指教,我去看看macro 的帮助文件。
[b][color=Red]提请应助者注意:请不要上传draft或者wp版本,谢谢!因为这些版本我自己用谷歌搜索就可以搜到并免费下载

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

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