用matlab求解一个二元的多项式,我这边有一个多项表达式r(x,T),该表达式中含有2个已经定义的变量x和T,然后对该表达式求关于T的偏导diff(r,T),得出一个仍含这2个变量的偏导表达式dfT,再使该表达式dfT=0,然后根据这个等式可以得到一个x关于T的表达式,即x用含有T的多项式来表达,然而在最后一步求解这个等式时出现错误,我换了一种方法,对x赋值,这样能得出T的具体数值,重复多次,然后根据多次结果再得到相关式,可是仍出现错误。
syms x T
a=3.46exp(-4)exp[(-77.5/8.314)(1/T-1/555)]{[(5*(1-x)p0)/(5-2x)]^0.5}{[(20(1-x)p0)/(5-2x)]^0.5};
b=1-(5xp0)/(5-2x){[(10xp0)/(5-2x)]^2}/{[5(1-x)p0]/(5-2x){[(20(1-x)p0)/(5-2x)]^4}137(T^3.998)exp(158.7/(8.314T)]};
c={0.44exp[(6.2/8.314)(1/T-1/555)](20(1-x)p0)/(5-2x)}^0.5;
d={0.88exp[(10/8.314)(1/T-1/555)][5(1-x)p0]/(5-2x)}^0.5;
e=0.5exp[(-22.4/8.314)(1/T-1/555)](10xp0)/(5-2x)/{[(20*(1-x)p0)/(5-2x)]^0.5};
r=a*b/[(1+c+d+e)^2];
dfT = diff(r,T);
pretty(dfT);
eq1=dfT1==0; 原
solve(eq1,x);
dfT1=subs(dfT,x,0.05); 改
eq1=dfT1==0;
solve(eq1,T);
从标记“原”的步骤开始,是最初的代码,后来根据他人建议,我将x赋值了再进行计算T的具体值,这样多次操作能得到多组x和T的数据组,然而赋值之后与赋值前原先的代码,均为solve函数前的可以run,到最后的solve这里,出现error,赋值前的error没太看懂,赋值后修改的代码,显示Unable to find explicit solution
有没有懂的朋友说一下如何解决这个问题?