错误使用 horzcat 要串联的数组的维度不一致。求各位解答

球球各位看看这是什么情况啊:
错误使用 horzcat
要串联的数组的维度不一致。

出错 Untitled (line 23)
dat = [(0:n)' t' y' yT' E']; % data matrix


R = 5e6;
L = 500e-6;
T = L/R;
f = @(t,y)((1/T)*(1 - y)); 
t0 = 0; y0 = 0; % initial condition point
tf = 240e-12; % t final 
h = 40e-12; 
n = (tf - t0)/h;
for i = 1:n
 K1=h*f(t0,y0);
 K2=h*f(t0+0.5*h,y0+0.5*K1);
 K3=h*f(t0+0.5*h,y0+0.5*K2);
 K4=h*f(t0+h,y0+K3);
 y1(i) = y0 + (1/6)*(K1 + 2*K2 + 2*K3 + K4);
 t1(i) = t0 + h;
 t0 = t1(i);
 y0 = y1(i); 
end
t = [0 t1]; y = [0 y1]; % add the initial condition point (0, -1)
yT = 1-exp(-t/T); % true solution
E = abs(yT - y); % true error
dat = [(0:n)' t' y' yT' E']; % data matrix

望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
你的代码错误的原因是在第 23 行的 dat 变量的定义中使用了不正确的语法。

正确的写法应该是:

dat = [(0:n)', t', y', yT', E']; % data matrix

完整代码如下:

R = 5e6;
L = 500e-6;
T = L/R;
f = @(t,y)((1/T)(1 - y));
t0 = 0; y0 = 0; % initial condition point
tf = 240e-12; % t final
h = 40e-12;
n = (tf - t0)/h;
for i = 1:n
K1=hf(t0,y0);
K2=hf(t0+0.5h,y0+0.5K1);
K3=hf(t0+0.5h,y0+0.5K2);
K4=hf(t0+h,y0+K3);
y1(i) = y0 + (1/6)(K1 + 2K2 + 2K3 + K4);
t1(i) = t0 + h;
t0 = t1(i);
y0 = y1(i);
end
t = [0 t1]; y = [0 y1]; % add the initial condition point (0, -1)
yT = 1-exp(-t/T); % true solution
E = abs(yT - y); % true error
dat = [(0:n)', t', y', yT', E']; % data matrix
望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!