[已解决] 关于Ode求解微分方程组的问题

[复制链接]
wandoy 发表于 2021-9-9 08:19:15
想请教一下各位,如何在使用ode函数对微分方程组求解的过程中改变某个参数?
如,在求解下面函数的过程中,我希望A能够在t=2.5的时候由1突变为2,请问该如何操作呢?

A = 1;
B = 2;
tspan = [0 5];
y0 = [0 0.01];
[t,y] = ode23(@(t,y) odefcn(t,y,A,B), tspan, y0);
plot(t,y(:,1),'-o',t,y(:,2),'-.');

function dydt = odefcn(t,y,A,B)
dydt = zeros(2,1);
dydt(1) = y(2);
dydt(2) = (A/B)*t.*y(1);
end

最佳答案


TouAkira 发表于 2021-9-9 08:25:03
把A的赋值写到odefcn函数内部,不要用外部参数传入,然后写个if条件语句控制赋值。
回复此楼

1 条回复


TouAkira 发表于 2021-9-9 08:25:03
把A的赋值写到odefcn函数内部,不要用外部参数传入,然后写个if条件语句控制赋值。
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表