matlab求解微分方程 急用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求解微分方程 急用
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')
答
补充楼上回答,用eval(ans) 会把a=1代入结果表达式.
答
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的值代入.