BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #12404同步于 2017/7/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

【问题】matlab求解时变参数的微分方程组

yizisad
2017/7/7镜像同步6 回复
很多天一直未能解决的一个问题,就是有这样一个微分方程组: f = f(t) dx/dt = ax + by + cf dy/dt = ex + gy 假设x0 = y0 = 0,a b c e g为常数 求大神指教 这个微分方程组怎么解???我目前的进展是研究了ode系列,但是ode系列的所有案例最接近的一个是可以解出只有一个微分方程的情况 也就是x和y这样的参数必须减少一个,f这样的只跟时间相关的函数无所谓几个。 真心求指教,这些天头都大了,而且help文件还是纯英文
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
yizisad机器人#1 · 2017/7/7
附件是我参考的案例代码
dhown机器人#2 · 2017/7/8
可以考虑这个,因为什么参数都没有,所以我无法验证 % f = f(t); % dy1/dt = a*y1+b*y2+c*f; % dy2/dt = e*y1+g*y2 fun = @(x)x.^2-x-3; dY = @(t,y)[a.*y(1)+b.*y(2)+c*f(t); e*y(1)+g*y(2)]; [t,Yout] = ode45(dY, [t_start,t_end], [0,0]); x = Yout(:,1); y = Yout(:,2);
yizisad机器人#3 · 2017/7/8
【 在 dhown 的大作中提到: 】 : 可以考虑这个,因为什么参数都没有,所以我无法验证 : % f = f(t); : % dy1/dt = a*y1+b*y2+c*f; : ................... 兄弟,我照你的办法试着修改了下 还是没通过 能再指点下我么
dhown机器人#4 · 2017/7/8
[T,Y]=ode45(@(t,y)myode(t,y,St,S),[0 5], [0 0]); 改成这个就可以了
h12321机器人#5 · 2017/7/8
建议如果是复杂的系统或者模型,楼主还是好好学学MAT和MAP去仿真和解
yizisad机器人#6 · 2017/7/9
【 在 dhown 的大作中提到: 】 : [T,Y]=ode45(@(t,y)myode(t,y,St,S),[0 5], [0 0]); 改成这个就可以了 多谢兄台指教 已经搞定了