楼主: maximus11111
4848 11

[mata问题求助] Mata 中作图 [推广有奖]

  • 3关注
  • 2粉丝

已卖:14份资源

副教授

8%

还不是VIP/贵宾

-

威望
0
论坛币
7014 个
通用积分
5.1650
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
13377 点
帖子
450
精华
0
在线时间
981 小时
注册时间
2006-10-29
最后登录
2025-11-21

楼主
maximus11111 发表于 2009-12-28 19:37:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问有没有人知道mata中如何作图呢?
假如我模拟循环得到一组结果,都存储在mata中,如何调用出来画图呢?
实在不知道这么弄啊。。。求高人
二维码

扫码加我 拉你入群

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

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

关键词:MATA Mat 请问有没有 有没有人 不知道 MATA

本帖被以下文库推荐

沙发
sungmoo 发表于 2009-12-28 21:25:58
http://www.pinggu.org/bbs/thread-547419-1-1.html

可能先要调入stata中然后画图。

藤椅
maximus11111 发表于 2009-12-29 11:19:30
e,搞不定,好像不知道怎么将模拟过程得到的结果赋值给某一特定的矩阵变量,比如对某一结果模拟了1000次得到一个结果,再I++了,这样又得到一个结果,这个怎么赋值给一特定矩阵呢?
现在唯一的解决办法就是对着屏幕复制黏贴,不过数据量大的话要搞死人啊,比如1000次。。。靠,一屏幕才多少数据啊。。。

板凳
sungmoo 发表于 2009-12-29 12:22:46
可否把你的模拟过程贴出来?

报纸
maximus11111 发表于 2010-1-3 18:36:10
哦,前几天出差,我的代码是下面的:
mata
     A=uniform(1000,1):>=0.95
     B=uniform(1000,1):>=0.9
     C=uniform(1000,1):>=0.85
for (q=1;q<=200;q++){
n=uniform(1000,q)  
k=J(1000,1,0)
for (j=1;j<=rows(n);j++) {
     for (i=1;i<=cols(n);i++) {
     if (n[j,i]>=0&n[j,i]<0.5){
      k[j,1]=k[j,1]+A[j,1]
      }
     else if (n[j,i]>=0.5&n[j,i]<0.85){
        k[j,1]=k[j,1]+B[j,1]
       }
    else if (n[j,i]>=0.85&n[j,i]<1){
       k[j,1]=k[j,1]+C[j,1]
       }
      }
   }
mean(k/cols(n))
}
end

各位同学请勿乱用......谢谢!

地板
sungmoo 发表于 2010-1-3 20:44:22
那么,你想画出什么样的图呢?

7
maximus11111 发表于 2010-1-3 20:58:03
就把结果画出线图好了阿,次数为横坐标,结果为纵座标...这样哈哈..

8
sungmoo 发表于 2010-1-3 21:48:54
maximus11111 发表于 2010-1-3 20:58 就把结果画出线图好了阿,次数为横坐标,结果为纵座标...这样哈哈..
*试一下

clear
set obs 200
g m=.
mata
A=uniform(1000,1):>=0.95
B=uniform(1000,1):>=0.9
C=uniform(1000,1):>=0.85
for (q=1;q<=200;q++){
n=uniform(1000,q)  
k=J(1000,1,0)
for (j=1;j<=rows(n);j++) {
     for (i=1;i<=cols(n);i++) {
     if (n[j,i]>=0&n[j,i]<0.5) k[j,1]=k[j,1]+A[j,1]
     else if (n[j,i]>=0.5&n[j,i]<0.85) k[j,1]=k[j,1]+B[j,1]
     else if (n[j,i]>=0.85&n[j,i]<1) k[j,1]=k[j,1]+C[j,1]
     }
}
st_store(q,1,mean(k/cols(n)))
}
end
g n=_n
n sc m n
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 20 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 20  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

9
maximus11111 发表于 2010-1-3 22:05:18
en,可以了,太强了哈哈..n line m n这样的第一个n什么意思啊??

10
sungmoo 发表于 2010-1-3 22:07:25
maximus11111 发表于 2010-1-3 22:05 n line m n这样的第一个n什么意思啊??
noisly,显示运行结果(即使使用run)

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

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