matlab求解微分方程 急用

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:38:32
syms y;
global a;
global b ;
global c;
global e ;
global f ;
z1=dsolve('Dy=1-a [1+(-b*y)^c]^(e/2)/f*{1-(-b*y)^(c-1)*[1+(-b*y)^c]^(-e)}^2')

matlab中[]和{}有特殊用法,所以上面的有点问题。
可改为:
z1=dsolve('Dy=1-a*(1+(-b*y)^c)^(e/2)/f*(1-(-b*y)^(c-1)*(1+(-b*y)^c)^(-e))^2')

另外,给你一个例子看吧:
a=1;
dsolve('Dy=a*t','t')

得到的结果是:
ans = 1/2*a*t^2+C1
从这个例子中,可以看出虽然上面a=1,但是dsolve中不会将其用a的值代入。

补充楼上回答,用eval(ans) 会把a=1代入结果表达式.