i m in trouble about global function

4 Ansichten (letzte 30 Tage)
관 윤
관 윤 am 28 Jan. 2021
Bearbeitet: Walter Roberson am 28 Jan. 2021
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

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 28 Jan. 2021
Bearbeitet: Walter Roberson am 28 Jan. 2021
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.

Weitere Antworten (0)

Kategorien

Mehr zu Variables finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by