以下命令
syms x real;
f = @(x) log(x^2)*exp(-1/(x^2));
fp(x) = diff(f(x),x);
fpp(x) = diff(fp(x),x);
和
solve(fpp(x)>0,x,'Real',true)
返回结果
求解([0.0 < (8.0*exp(-1.0/x^2))/x^4 - (2.0*exp(-1.0/x^2))/x^2 - (6.0*log(x^2) *exp(-1.0/x^2))/x^4 + (4.0*log(x^2)*exp(-1.0/x^2))/x^6], [x == RD_NINF..RD_INF ])
这不是我所期望的。
第一个问题:是否可以强制 Matlabsolve
返回所有解决方案的集合?
(这与这个问题有关。)此外,当我尝试求解方程时
solve(fpp(x)==0,x,'Real',true)
返回
答案=
-1.5056100417680902125994180096313
我不满意,因为没有返回所有解决方案(它们大约是从 WolframAlpha 获得的 -1.5056、1.5056、-0.5663 和 0.5663)。
我知道vpasolve
通过一些初步的猜测可以处理这个问题。但是,我不知道我通常如何找到初始猜测值来获得所有解决方案,这是我的第二个问题。
欢迎其他解决这些问题的解决方案或建议。