题主给出的微分方程组,在高版本matlab中求解其方程组,建议按下列方法来得到其通解。
syms S1(t) S2(t) S3(t) kS Da a %声明变量
DS1=diff(S1,1);DS2=diff(S2,1);DS3=diff(S3,1); %求一阶导数
[S1,S2,S3]=dsolve(DS1+DS2+DS3==0,DS1==kS,DS2==6*Da/(a*a),'t') %求通解
运行上述代码,可以得到如下结果。
追问感谢回答,对我很有帮助。可能之前程序没写不清楚,有错的地方。变量里边a是a(t),与时间有关,DS2=6*Da/(a*a)中Da是对a(t)求一阶导,kS是应该是k*S3。结果算出来还是有int和什么ignoreanalytic...能帮忙再看一下吗?谢谢
因为变量数大于方程数,所以其结果是这样的。
措施:要么增加再一个方程,要么明确a(t)表达式。