MATLAB求解一阶导数等于零的情况

2025-02-25 11:41:09
推荐回答(1个)
回答1:

其实楼主的方法基本没有问题,只是solve函数这块表达有问题,直接把求导后的式子s传过来就行了,默认是整个式子为0。‘s=0’反而给弄错了。改成这样:

syms y

s=(y^(-1)/(y^(-1)+y^0+y^4))*log(y^(-1)/(y^(-1)+y^0+y^4))+(y^0/(y^(-1)+y^0+y^4))*log(y^0/(y^(-1)+y^0+y^4))+(y^4/(y^(-1)+y^0+y^4))*log(y^4/(y^(-1)+y^0+y^4));

s=diff(s)

a=solve(s,'y')

b=double(a)

就可以正确运行了。