楼主: liumingwu2007
2652 2

[求助] matlab函数调用 [推广有奖]

  • 0关注
  • 3粉丝

已卖:503份资源

硕士生

94%

还不是VIP/贵宾

-

威望
0
论坛币
579 个
通用积分
0.7253
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
2654 点
帖子
141
精华
0
在线时间
230 小时
注册时间
2007-9-6
最后登录
2021-6-20

楼主
liumingwu2007 发表于 2008-6-17 18:13:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

我设计一个带有参数的M函数,但是调试中出现错误:局部变量值发生变化比配全局变量!奇怪的是,我设置的全上全局变量,请高人指点!谢谢!

详细如下:

***************************************

%(*设置模型基本的参数*)

%(*以parameter.m保存的M文件*)


Rf =1.198;
Pha = 0.05;
Delta = 0.2;
DeltaTOW = 0.4;

Dr = 0.0612;
DrTOW = 0.112;

DC =1;
DI = 1;

gg = 0.148;
Gama = 0.99;
Womiga = 0.6;

Beta = 0.98;
BBa = 1.0094;


NumOfStockShockPoints = 10;
NumOfHomeShockPoints = 10;
NumOfLaborShockPoints = 10;
ww = 10;

**************************************

%(*设置MC仿真格点*)

%(*以shocks_h.m保存*)


global NumOfHomeShockPoints H_Vec

R_H = 0.1;
SIGAMA_H = 0.02;
H_Vec = 1+R_H+sqrt(SIGAMA_H)*randn(1,NumOfHomeShockPoints);
H_Vec;

************************

%(*设置MC仿真劳动冲击格点*)

%(*以shocks_l.m保存*)


global NumOfLaborShockPoints L_Vec

SIGAMA_L = 0.148;
L_Vec =sqrt(SIGAMA_L)*randn(1,NumOfLaborShockPoints);
L_Vec;

****************************

%(*设置MC仿真股票收益冲击格点*)

%(*以shocks_h.s保存*)


global NumOfStockShockPoints S_Vec

R_S = 0.064;
SIGAMA_S = 0.08;

S_Vec = 1+R_S+sqrt(SIGAMA_S)*randn(1,NumOfStockShockPoints);
S_Vec;

************************************************************************************************

%(*set up an expected function*)
function  f1 = funrate(bb,ss,hhc,hhi)

global   Rf Pha Delta DeltaTOW Dr DrTOW DC DI H_Vec S_Vec L_Vec ww gg Gama Womiga Beta BBa

NumOfStockShockPoints NumOfHomeShockPoints NumOfLaborShockPoints
%(*财富增长率函数*)
parameter;
shocks_l;
shocks_s;
shocks_h;

ff1 = 0;
for i = 1:10
     for j = 1:10
       for k = 1:10
              ff1 = ff1+ Rf*bb+S_Vec(i)*ss+DC.*(H_Vec(j).*(1-Pha)-(1-Delta).*Dr)*hhc+DC.*DI.*(H_Vec(j).*(1-Pha)-(1-   DeltaTOW).*DrTOW)*hhi+(gg+L_Vec(k)).*1/(ww+1);
       end
     end
end;
ff2 = (ff1).^(1-Gama);
ff3 = ff2.*(H_Vec(j)).^(Womiga.*(Gama-1));
%(*期望函数)
ff4 = Beta.*BBa.*ff3;
f1 = -(1/NumOfStockShockPoints.*1/NumOfHomeShockPoints.*1/NumOfLaborShockPoints.*ff4);

*********************************************************

说明;我用的是MATLAB7.0;问题出的位置是最后的M函数funrate调用.

二维码

扫码加我 拉你入群

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

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

关键词:MATLAB matla atlab 函数调用 Lab MATLAB 函数

免费享用资源

沙发
liumingwu2007 发表于 2008-6-20 14:49:00
怎么没有人感兴趣呀!
免费享用资源

藤椅
fanglibing 发表于 2008-6-25 18:57:00
建议将你的程序简化,突出你的变量使用即可,我想可能是大家没有兴趣看这么长的代码吧

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 20:59