楼主: sandy12208
1482 5

[问答] 请大家帮我看看此程序是否matlab程序,若是,错误在哪里? [推广有奖]

  • 0关注
  • 2粉丝

硕士生

60%

还不是VIP/贵宾

-

威望
0
论坛币
175 个
通用积分
2.9100
学术水平
-2 点
热心指数
-2 点
信用等级
-2 点
经验
1737 点
帖子
148
精华
0
在线时间
92 小时
注册时间
2006-12-3
最后登录
2023-2-22

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大侠,请你们帮我判断一下以下程序是否用matlab编程?若是,为何在matlab软件中运行时会出错?如何修正此错误?谢谢大家了先!!!

%先定义方差协方差矩阵sigma

A=cholesky(sigma);

Iterations=10000;

theta=zeros(Iteration,5);

y=zeros(5,1);cgpi=zeros(6,1);ex=zeros(7,1);nr=zeros(6,1);spi=zeros(6,1);

rgdp=zeros(6,1);

y(1)=-4.1254;

cgpi(1:2)=[104.4,110.60];

ex(1:3)=[9.2033,10.8357,11.8377];

nr(1:2)=[2.25,2.25];

rgdp(1:2)=[8.9,10.7];rgdp(6)=6;

spi(1:2)=[28.94,30.94];

for i=1:Iterations

     for t=1:3

        r=normrnd(0,1,6,1);

        e=transpose(A)*r;

        rgdp(t+2)=3.083+1.3917*rgdp(t+1)-0.6946*rgdp(t)+e(5);

        end

      for t=1:4

      r=normrnd(0,1,6,1)

       e=transpose(A)*r;                     (此处的transpose表示矩阵的转置)

        cgpi(t+2)=33.1521+1.2533*cgpi(t+1)-0.5483*cgpi(t)+e(2);

        ex(t+3)=1.1657*ex(t+1)-0.7189*ex(t+1)+0.5885*ex(t)+e(3);

nr(t+2)=1.4657*nr(t+1)-0.476*nr(t)+e(4);

spi(t+2)=4.6564+1.5136*spi(t+1)-0.6989*spi(t)+e(6);

y(t+1)=-4.5088+0.046*cgpi(t+2)-0.009*ex(t+3)+0.2429*nr(t+2)-0.1539*rgdp(t+2)-0.0138*spi(t+2) +0.732*y(t)+e(1);

end

theta(i,:)=[cgpi(6),ex(7),nr(6),spi(6),y(5)];

end

p=exp(theta(:,5))/(1+exp(theta(:,5)));

pquantile=sort(p);

m=mean(p)

pq=[pquantile(9000),pquantile(9500),pquantile(9900)]

subplot(2,2,1);

hist(theta(:,5),-6:0.11:0);

subplot(2,2,2);
hist(p,0:0.01:0.3);

二维码

扫码加我 拉你入群

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

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

关键词:MATLAB程序 MATLAB matla atlab Lab 程序 matlab

沙发
laomeng 发表于 2012-9-17 16:01:46 |只看作者 |坛友微信交流群
首先,这个程序可以在matlab中运行,但是不知道楼主说的错误是哪个,你计算的时候,sigma的值是多少

使用道具

藤椅
sandy12208 发表于 2012-9-18 20:30:29 |只看作者 |坛友微信交流群
二楼的这位大侠,请问我的这程序,首先运行时,出现
??? Error using ==> sigma
Not enough input arguments.

Error in ==> Untitled at 2
A=cholesky(sigma);
因此,我不知道这是什么意思,应该如何修改?谢谢大侠了!

使用道具

板凳
sandy12208 发表于 2012-9-21 08:47:10 |只看作者 |坛友微信交流群
请版主能否帮我看看以下程序错误如何修改?谢谢了!这是一个蒙特卡洛模拟程序,我不太懂matlab,就将别人的程序拿来在matlab中运行,出现错误,所以不知如何修改。敬请版主指教!

使用道具

报纸
andrew3335 发表于 2012-9-25 16:53:41 |只看作者 |坛友微信交流群
我以前弄过简单的monte carlo所以大概能看明白点。
sigma是一个协方差矩阵,用来生成模拟分布的方差的。楼主能不能说的详细一点你想解决什么问题。
如果你手头有的是一个投资组合的收益矩阵,先把他dlog一下,然后再sigma=cov(你dlog的那个矩阵)

如果还需要帮助的话,麻烦楼主把你想要解决的问题说的详细一点。

使用道具

地板
remlus 发表于 2013-1-30 13:52:56 |只看作者 |坛友微信交流群
signa需要定义。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 16:32