全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5681 21
2009-07-26
悬赏 500 个论坛币 未解决
matrix_function.rar
大小:(523 Bytes)

 马上下载

本附件包括:

  • matrix_function.m


%matrix_function.m
%
%Used when  past expectations are present
%
%This program uses the strings A_j,B_j,C_j,F_j,G_j, and it_name to
%construct MATLAB anonymous functions for calculations involving
%A_j,B_j,C_j,F_j and G_j for any j
%
%THIS VERSION: 0.1 October 30, 2007
%
%Copyright: Alexander Meyer-Gohde
%
%You are free to use/modify/redistribute this program so long as original
%authorship credit is given and you in no way impinge on its free
%distribution
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


for matj=[65,66,67,70,71]
eval(sprintf('eval([''target=%s_j;''])',char(matj)))
eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))
end


请高手指点迷津:红色部分的代码为什么错了?怎样修改?

Error in ==> ..\linlagex\matrix_function.m
On line 23  ==> eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))

这是matlab的提示。

M文件在附件中。

我要对货币政策的模型进行数值模拟。模型中要求解前瞻性变量,我找到求解的代码(这仅仅是求解文件中的一个),但是运行的时候总是出错。我对matlab了解不是很多,但是这些模型深刻而完美地体现了经济运行规律,我必须对它们求解。技术问题,一个难关,很是头痛。

   为了使问题更加清楚,我把求解程序包附上,而且附上一个例子。请高手告诉我,究竟什么地方出错啊?  怎样改正?

linlagex.rar

大小:22.43 KB

 马上下载

example.rar

大小:1.06 KB

 马上下载

本附件包括:

  • example.m

input_example_mankiw_reis_2006.rar

大小:1.58 KB

 马上下载

本附件包括:

  • input_example_mankiw_reis_2006.m

二维码

扫码加我 拉你入群

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

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

全部回复
2009-7-26 11:20:23
你的程序我见过。
源程序应该是这样的(没有斜杆'\'的),不知道你的怎么变了,我怀疑是你从网页上拷贝的时候出问题了。

for matj=[65,66,67,70,71]
eval(sprintf('eval([''target=%s_j;''])',char(matj)))
eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))
end
二维码

扫码加我 拉你入群

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

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

2009-7-26 12:27:48
另外也有可能是你的进口程序不对。
有一些量还没有定义,这里就是 it_name, target这两个量了。
你可以检查一下workspace里面有没有这两个变量。
在command window直接输入it_name或者target,然后回车即可。
二维码

扫码加我 拉你入群

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

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

2009-7-26 12:28:06
是复制的时候出错了,才会有斜杠,我已经改正了。原始的M文件你可以在附件中找到。我把求解的文件包附上,请问我的例子怎样运行啊?
       先感谢啦!真是救命恩人啊!
二维码

扫码加我 拉你入群

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

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

2009-7-26 12:31:54
it_name和target在我使用的例子里面(已经附上)已经含有,已经定义了:
it_name =
J_1
>> target
target =
[zeros(6,6)]
二维码

扫码加我 拉你入群

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

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

2009-7-26 18:03:23
我用的是matlab7,且没有安装完整。
运行你提供的代码,在你所说的地方并没有出现错误。
运行到后面确实是有地方出错了,因我安装的matlab7 没有ordeig函数。
我将ordeig用eig代替,但其求解的特征值有问题,这可能导致后续程序出错,
因此我最终无法完全运行你的程序,很遗憾。

请注意,原作者使用的是matalb 2007ra版本,你最好采用该版本以上的matlab。
而且他也提供了相应的例子,如果你能够正常运行他的例子,请检查你自己的"例子.m"程序。

特别地,matlab对中文支持不是很好,你的文件名也不用要中文名了。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群