楼主: esthermoon
5819 5

请教matlab在mcmc中的使用问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
106 点
帖子
3
精华
0
在线时间
24 小时
注册时间
2010-12-22
最后登录
2021-6-6

楼主
esthermoon 发表于 2011-1-17 14:53:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
function [Vbeta,betanew] = Vbtane(X,betaold,B0,bkeep)
Vbeta = zeros(11,11,5);
betanew = zeros(size(betaold));
for j = 1:5
    for i =1:263
        Vbeta(:,:,j) = Vbeta(:,:,j) + exp(X(i,:)*betaold(:,j)+bkeep(i,j))*X(i,:)'*X(i,:);
    end
    Vbeta(:,:,j) = inv(inv(B0(:,:,j))+Vbeta(:,:,j));
    betanew(:,j) = mvnrnd(betaold(:,j),Vbeta(:,:,j));
end
end

这是我写的求多元正态随机数的一个程序,可运行的结果总是错的
??? Error using ==> mvnrnd at 118
SIGMA must be a symmetric positive semi-definite matrix.
Error in ==> Vbtane at 9
    betanew(:,j) = mvnrnd(betaold(:,j),Vbeta(:,:,j));
给的提示是Vbeta不是对称半正定矩阵,可我用特征值检验过,是半正定的,请问是怎么回事,请教高手,不甚感谢~!
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB atlab matla mcmc Atl 请教 请教 MATLAB MATLAB mcmc mcmc

沙发
luoxitc 发表于 2011-1-17 15:12:41
对称性呢?

藤椅
esthermoon 发表于 2011-1-17 15:34:53
对称性我也检查了,是对称的
  0.1910    0.1698    0.1666    0.1787    0.0023   -0.0022    0.0048    0.0131   -0.0017     0.0011   -0.0027
    0.1698    0.2857    0.2549    0.1735   -0.0004   -0.1003    0.0173   -0.0035   -0.0004     -0.0006   -0.0010
    0.1666    0.2549    0.3049    0.1726   -0.0041   -0.0928    0.0036    0.0063   -0.0001     -0.0008   -0.0010
    0.1787    0.1735    0.1726    0.1976   -0.0056   -0.0017    0.0254    0.0082   -0.0010     0.0010   -0.0024
    0.0023   -0.0004   -0.0041   -0.0056    0.0099   -0.0058   -0.0057   -0.0007   -0.0011    -0.0006   -0.0002
   -0.0022   -0.1003   -0.0928   -0.0017   -0.0058    0.1026   -0.0011    0.0042   -0.0001    -0.0023   -0.0013
    0.0048    0.0173    0.0036    0.0254   -0.0057   -0.0011    0.8142    0.0136    0.0003      -0.0025   -0.0005
    0.0131   -0.0035    0.0063    0.0082   -0.0007    0.0042    0.0136    0.1053    0.0002      -0.0054   -0.0007
   -0.0017   -0.0004   -0.0001   -0.0010   -0.0011   -0.0001    0.0003    0.0002    0.0002     -0.0002    0.0000
    0.0011   -0.0006   -0.0008    0.0010   -0.0006   -0.0023   -0.0025   -0.0054   -0.0002     0.0073    0.0000
   -0.0027   -0.0010   -0.0010   -0.0024   -0.0002   -0.0013   -0.0005   -0.0007    0.0000     0.0000    0.0001

板凳
esthermoon 发表于 2011-1-17 15:41:05
补充一下,我把betanew(:,j) = mvnrnd(betaold(:,j),Vbeta(:,:,j));单独拉出来做,也不行,总提示错误

报纸
xxxx09 发表于 2012-2-29 10:29:45
请问楼主解决这个问题了吗? 我也遇到同样的问题了
80 字节以内
不支持自定义 Discuz! 代码

地板
danchaof 发表于 2018-8-7 18:08:49
xxxx09 发表于 2012-2-29 10:29
请问楼主解决这个问题了吗? 我也遇到同样的问题了
什么意思 可以详细一点儿吗

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 04:26