全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
2512 2
2013-09-14
在做利率期限结构时,我用MacCulloch的样条函数编程:
函数:
复制代码
实验结果:
赋值:
m=[1,2,3,4,5,6,7,8,9,10];
d=[0;1;4;8];
j=2;
f(m(2),d,j)
得到结果:1.3333.
使用循环后:
f=0;
for q=1:10
    f=f+f(m(q),d,j);
end
报错:??? Subscript indices must either be real positive integers or logicals.

再单独运行:f(m(2),d,j)
报错:??? Index exceeds matrix dimensions.

配置:
matlab7.11.0(R2010b),32位。电脑:win7 (32位)。

       请问各位大侠,问题出在哪里呢?m是1*10的向量,循环是从第1个到第10个值,下标是这里出现问题的吗?另外如果设置的函数有问题,那么在第一次单独运行f(m(2),d,j)是正常的,循环过后再运行却报错。我是程序菜鸟,这个还是我个人意义上的第一次编程,请大家费心了。谢谢各位了




二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-14 16:44:44
不用回复了,我已经解决了。是设置函数的变量名和调用的变量名起了冲突。谢谢大家了
二维码

扫码加我 拉你入群

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

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

2013-11-27 15:16:41
for i=1:length(m)
p(i)=f(m(i),d,j)
end
sum(p)

p=0
for i=1:length(m)
p=p+f(m(i),d,j)
end
结果得出来了,但??? Error using ==> f
the second step is wrong,这个我就不知道怎么回事了
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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