【发布时间】:2021-05-04 04:44:48
【问题描述】:
我在运行下面的代码时遇到了一些问题,它给了我错误 索引超出数组维度。索引值 3 超出数组“a”的有效范围 [1-2]。如果 a(i)> 0,则“TEST/TEST”(第 18 行)出错 此代码是计算标量参考调控器的参数 k 的代码。 Hx 和 Hv 是矩阵 A、B、C、D 的最大允许输出集(MAS),希望能从大家那里得到一些帮助来修复这个代码。
function v = SRG_new(v_previous, r)
A=[0 1;-275.5 -21.22];
B=[0;1];
C=[11.02 275.5];
D=0;
I=eye(2);
Hx=(C*A);
Hv= C*((I-A)*((I-A)^-1)*B+D);
s=350; %s=max_output
a=Hx*(r-v_previous);
b=s-Hx-Hv*v_previous;
k=1;
for i=1:100
if a(i)> 0
k=min(k, b(i)/a(i));
end
end
k=max(k,0);
v=v_previous + k*(r-v_previous);
end
【问题讨论】: