matlab 化简公式,都是符号,有这个功能吗~

a1=(u-1)/rb^2;
a2=1/ra;
b1=2(u+1);
b2=2r;
f1=q/d*(rb^2/8*(2*(u+1)lnrb+u+3)-(u+3)*rb^3/16);
f2=q/d*(rb^2/8*(2*ra*lnra+ra)-ra^3/16);
c1=(b2*f1-b1*f2)/(b2*a1-a2*b1);
c2=-q*rb^4/8/d;
c3=(a2*f1-a1*f2)/(b1*a2-a1*b2);
c4=-(c1*lnra+c2*ra^2*lnr+c3ra^2+c4+q*ra^4/64/d);
fr=c1*lnr+c2*r^2*lnr+c3r^2+c4+q*r^4/64/d;

最后要fr的总式~

matlab 可以化简公式,但你的语句c4=-(c1*lnra+c2*ra^2*lnr+c3ra^2+c4+q*ra^4/64/d);中c4没有初值,得不出结果。追问

怎么简化呢,新手,求赐教,c4没有初值,这个情况下要怎么办呢~

追答

syms u rb ra r q d c4 %定义符号变量
%请查看下c4=-(c1*lnra+c2*ra^2*lnr+c3ra^2+c4+q*ra^4/64/d);这句
%c4的表达式中有变量c4是否有误,如果有误则不必定义c4。
%另外MATLAB中*号不能省,ln用函数log()。
a1=(u-1)/rb^2;
a2=1/ra;
b1=2*(u+1);
b2=2*r;
f1=q/d*(rb^2/8*(2*(u+1)*log(rb)+u+3)-(u+3)*rb^3/16);
f2=q/d*(rb^2/8*(2*ra*log(ra)+ra)-ra^3/16);
c1=(b2*f1-b1*f2)/(b2*a1-a2*b1);
c2=-q*rb^4/8/d;
c3=(a2*f1-a1*f2)/(b1*a2-a1*b2);
c4=-(c1*log(ra)+c2*ra^2*log(r)+c3*ra^2+c4+q*ra^4/64/d);
fr=c1*log(r)+c2*r^2*log(r)+c3*r^2+c4+q*r^4/64/d;
fr=simple(fr)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-08
e和simplify
这两个函数的功能不太一样,但都是化简。你可以试一试!

祝你学习愉快!
相似回答