lc622503 发表于 2007-6-18 10:20

关于变参数微分方程的解!

前段时间由于需要屡次发帖问这个问题
xjzuo楼主耐心的回答了一些问题,并写出了变参数微分方程的实例!
面对实例,我依葫芦画瓢,尽量将程序经过改进达到我要的效果。
因为我要模拟反应器,里面的反应以及组分都较复杂。
导致微分方程组变量是二维,方程也不止两个,而是很多个!
第一步将变量从一维到二维:
clear all
fun=inline('','t','y','flag','w');
x=;
tsp=;
y0=;
for i=1:10
   =ode45(fun,tsp,y0,[],x(i,:));
   plot(t,y)
end
以上就基本解决了变量问题;
在将方程从几组到更多组的变化时
显然将他们写进inline()中将使书写十分的不好看,且在此过程中一换行就出错,不知其因。于是想出了以下的方法解决问题:
function asmmuct
clear all
fun=inline('','t','y','flag','w');
x=;
tsp=;
y0=;
for i=1:10
   =ode45(fun,tsp,y0,[],x(i,:));
   plot(t,y)
end
function dydt=f(t,y)
f1=y(2)
f2=sin(w(2)*t)-2*w(1)*y(1)-3*y(2)
dydt=
但提示就是:
??? Error using ==> inline.feval
Not enough inputs to inline function.
使得我难以解决问题。
相信在面对稍复杂问题的处理当中,方程和变量的加多是大家都会面对。
只要将以上问题解决,基本就可以解决这一类问题
而变参数的积分问题也可以沿着这个思路加以解决

在面对问题以来,由于本人的急躁发了许多帖,都没有实质的进展,且有灌水之嫌,再次表示歉意!
希望各位积极解决刚才的问题
使得变参数的积分以及微分问题有个较为圆满的解决!

http://forum.vibunion.com/thread-42367-1-1.html
这是xizuo楼主的示例帖

studyboy 发表于 2007-6-18 10:27

参考
http://forum.vibunion.com/thread-18886-1-1.html

lc622503 发表于 2007-6-20 11:28

相信看过帖子的人不少吧

大家群策群力把问题解决吧

楼上推荐的帖子我也看了

如果是几个方程组我就将表达式直接写在inline的[]中,就可以运算了

现在是方程组较多,想将这一大堆表达式拿出来写

看上去就明了许多

但是就是在这个过程中遇到问题

还请各位多多帮助阿

lc622503 发表于 2007-6-21 14:41

一直在等待问题的答案

大家帮帮忙

独自在一个污水厂做课题

没有其他的交流途径

就靠这论坛拉
页: [1]
查看完整版本: 关于变参数微分方程的解!