数组索引必须是正整数或逻辑值

1次查看(最近30天)
詹姆斯·卡特
詹姆斯·卡特 2021年1月28日
编辑: 斯蒂芬。 2021年1月29日
“删除”
1评论
斯蒂芬。
斯蒂芬。 2021年1月29日
从谷歌缓存中检索到的James Carter最初的问题:
数组索引必须是正整数或逻辑值
我知道,当你创建这种循环时,你的数组必须是正整数,然而在这个赋值中,我们必须循环取非整数的值,比如0。这个循环的重要部分是允许和在0和1之间有不同的值,包括0和1。其中一个要点是,为了使X3d的最小值等于e3 = 2,为了使X3u成为最大值,theta为0/eps。非常感谢任何关于如何修复代码和启用循环的帮助。
步骤1:定义所有变量
e1 = 1;
e2 = 3;
e3 = 2;
概率= 0.5;
俄文= 1.1;
Rd = 0.90;
γ= 1.5;
每股收益= 10 ^ -10
X1 = e1;
X2 = linspace (e2、e1 *俄文+ e2,100);
θ= linspace (eps, 1100);
α= linspace (0, 1100);
v2_MAX = -10 ^ 20;
IVector = linspace (1100100);
KVector = linspace (eps, 1100);
JVector = linspace (0, 1100);
%%步骤2:创建周期2中获取value函数的循环
i = IVector
k = KVector
反对(2 k) =θ(k) * X2(我);
j = JVector
X3u = max (X2 (i) * (1-theta (k)) *(α(j) *俄文+(1α(j))) + e3);
X3d = min (X2 (i) * (1-theta (k)) *(α(j) * Rd +(1α(j))) + e3);
u3u = (X3u ^ (1-gamma)) / (1-gamma);
u3d = (X3d ^ (1-gamma)) / (1-gamma);
u2 = (con (2 k) ^ (1-gamma)) / (1-gamma);
v2 = u2 +(Prob*u3u+(1-Prob)*u3d);
如果v2 > v2_MAX
v2_MAX = v2;
α(2,)=α(j);
θ(2,)=θ(k);
结束
结束
结束
结束

登录评论。

答案(1)

马特·J
马特·J 2021年1月29日
编辑:马特·J 2021年1月29日
i = 1:10 0
k = 1:10 0
θ=θ(k);
反对(2 k) =θ* X2(我);
j = 1:10 0
α=α(1,j);
X3u = max (X2(我)* (1-Theta) *(α*俄文+(1α))+ e3);
X3d = min (X2(我)* (1-Theta) *(α* Rd +(1α))+ e3);
...

下载188bet金宝搏


释放

R2020b

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!