题主用dsolve函数求这个一阶常微分方程出现错误的原因是:使用dsolve函数的概念有误
dsolve(eqn,'a(0)=0','t')这个形式只能求解eqn所示表达式的微分方程,而题主的意图要将外部已知值代入eqn所示表达式中,所以应该这样来改写
T=?;kr20=?;B20=?;C20=?;De20=?;。。。。。。
kr=kr20*exp(-EuponR*(1/T-1/293));
B=B20*exp(-beta1*(1/T-1/293));
C=C20*exp(-beta2*(1/T-1/293));
De0=De20*exp(-beta3*(1/T-1/293));
De=De0*log(1/a);
kd=(B/a^1.5)+C*a^3;
syms a(t)
Da=diff(a,1)
a=dsolve(Da==(3*yita*pw*Cwfree)/((v+wg)*pc*r0))*(1/((1/kd-r0/De)+((r0/De)*(1-a)^(-1/3))+((1/kr)*(1-a)^(-2/3))),a(0)==0)