Error handling 将MATLAB翻译成Julia时遇到边界错误

Error handling 将MATLAB翻译成Julia时遇到边界错误,error-handling,julia,translation,Error Handling,Julia,Translation,我正在将我的MATLAB脚本翻译成Julia,但遇到了一个边界错误 我不知道怎么修,请帮我一把 这是原始代码 t0=0;%初始时间 倾向=10;%结束时间 h=.05;%时间步长 t=t0:h:tend; n_步数=长度(t)-1; y0=1; f=零(尺寸(t)); y1=[y0,f(1,end-1)]; 对于ii=1:n_步数 f(ii)=3+exp(-t(ii))-2*y1(ii); y1(ii+1)=y1(ii)+f(ii)*h; 结束 绘图(t,y1,'b-','linewidth',

我正在将我的MATLAB脚本翻译成Julia,但遇到了一个边界错误

我不知道怎么修,请帮我一把

这是原始代码

t0=0;%初始时间
倾向=10;%结束时间
h=.05;%时间步长
t=t0:h:tend;
n_步数=长度(t)-1;
y0=1;
f=零(尺寸(t));
y1=[y0,f(1,end-1)];
对于ii=1:n_步数
f(ii)=3+exp(-t(ii))-2*y1(ii);
y1(ii+1)=y1(ii)+f(ii)*h;
结束
绘图(t,y1,'b-','linewidth',1.5)
网格化
xlabel('\it')
ylabel('\it y(t)')
下面是我写的

using Plots

t0 = 0;
tend = 10;
h = .05;
t = t0:h:tend;
n_steps = length(t) - 1;
y0 = 1;
f = zeros(Float64, size(t));
y1 = [y0, f[1, end - 1]]; # here is where BoundsError occurs

for ii = 1:n_steps
    f[ii] = 3 + exp(-t[ii]) - 2 * y1[ii]
    y1[ii + 1] = y1[ii] + f[ii] * h
end

plot(t, y1, line = (:path, 3), lw = 1.5)

f
是一个向量,您正在尝试索引到第二维度
end-1
为零,导致边界错误。请注意,
t
是一个一维(列ish)向量,这首先导致了这种情况。谢谢。我忘了MATLAB把每个对象都当作矩阵。