给迪迦来把大狙 2022-12-27 15:22 采纳率: 0%
浏览 113

错误使用 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

  • 写回答

1条回答 默认 最新

  • heart_6662 2022-12-27 21:52
    关注

    望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
    你的代码错误的原因是在第 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
    望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月27日

悬赏问题

  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 在rhel8中安装qemu-kvm时遇到“cannot initialize crypto:unable to initialize gcrypt“报错”
  • ¥15 arbotix没有/cmd_vel话题
  • ¥20 找能定制Python脚本的
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀