MATLAB: I m in trouble about global function

global function

function [temperature] = findSpinodal(x2,omegaSolid)
[temperature,eval] = fsolve(@(temperature) x2-(x2)^2-1.9858775*temperature/(2*omegaSolid),650);
[temperature,eval] = fsolve(@(temperature) x2-(x2)^2-1.9858775*temperature/(2*omegaSolid),450);
end
is this mean "solve @(temparture) brrbrbrbrbrr starting from 650"
then why they're use eval in [temparture, eval] ^^; so hard

Best Answer

yes it does mean to try to find the temperature that makes the expression 0 and to start at 650.
However, you should just rewrite and solve directly.
x2-(x2)^2-1.9858775*temperature/(2*omegaSolid) == 0
x2-(x2)^2 == 1.9858775*temperature/(2*omegaSolid)
(x2-(x2)^2)*(2*omegaSolid) == 1.9858775*temperature
and so temperature is the left side divided by the 1.98 constant. No need to search.
Related Question