24小时热门版块排行榜    

查看: 485  |  回复: 2

花神之息

铜虫 (小有名气)

[求助] matlab解微分方程的问题 已有1人参与

对于常规的y'=f(y,t)常微分方程组可用ode系列解法器完成
现在本人想解这样一个方程组:
y1 = f(t);% 注意这是个代数方程或者一组时间序列数据
y2'=g1(y1,t);%2-4是微分方程
y3'=g2(y2,y3,y4,t);
y4'=g3(y3,y4,t);
或者说,要求解的微分方程组中有一个变量没有解析表达式也不可能有连续一介导(比如一个分段函数),那么这个方程怎么解呢。
( 注意,t都是不显含在方程组中的,并且y1不一定有解析表达式所以不可能通过代入消掉。)
这样能用ode解法器完成吗?怎么实现呢?求指教或者有兴趣的讨论下!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
如果y1是离散的,可以先把公式拟合出来,这样就有公式了。一般项数稍多的多项式即可达到很好的相关系数。
有了公式之后,ode解之。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-07-31 18:59:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

花神之息

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2014-07-31 18:59:06
如果y1是离散的,可以先把公式拟合出来,这样就有公式了。一般项数稍多的多项式即可达到很好的相关系数。
有了公式之后,ode解之。

谢谢.....
不过拟合并不是我的本意,这避开了主要问题;如果得到N组y1时间序列数据,拟合的话工作量大,而且并不能保证所有数据都能达到较好的相关性;
这几天我见过一个类似的程序,像是直接使用得到的数据作输入,不过小弟才疏学浅,没看懂啊,照葫芦画瓢解了一下....核心语句如下
.......
  inputfun = @(t) FPulse(t, duration, pulseHeight);%FPulse产生一个矩形波作为输入
  soldy = dde23(@(t,y,Z) ModelCore(t, y, Z, p, geno, inputfun),delays, yss, [0, tmax], yss);%体系(ModelCore)是一个延迟微分方程组,p,geno,都是前面定义了的参数,yss是初值.
........
3楼2014-08-04 20:59:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 花神之息 的主题更新
信息提示
请填处理意见