one equation with one unknown variable
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Lojzika
am 15 Mär. 2015
Kommentiert: Konstantinos Sofos
am 15 Mär. 2015
Hello,
I want to solve equation with one unknown variable (x).
Matlab code: Editor: function y = f(x)
y=(18/5)*((1-x)^(-1/6))-(162/29)*((1-x)^(-1/9));
Command window: x=fzero(@f,[0,1])
(x should be between 0 and 1)
And the error is: ??? Error using ==> fzero at 283 The function values at the interval endpoints must differ in sign.
What should I do to solve that equation correctly?
And help will be appreciated.
0 Kommentare
Akzeptierte Antwort
Konstantinos Sofos
am 15 Mär. 2015
Bearbeitet: Konstantinos Sofos
am 15 Mär. 2015
Hi,
fzero checks that fun(x0(1)) and fun(x0(2)) have opposite signs, and errors if they do not. In you example the upper bound gives NaN
>> y=@(x)(18/5)*((1-x)^(-1/6))-(162/29)*((1-x)^(-1/9))
y =
@(x)(18/5)*((1-x)^(-1/6))-(162/29)*((1-x)^(-1/9))
>> y(0)
ans =
-1.9862
>> y(1)
ans =
NaN
Regards
0 Kommentare
Weitere Antworten (1)
Roger Stafford
am 15 Mär. 2015
I would recommend that you alter the interval:
x=fzero(@f,[0,.999999]);
There is an easier way of solving it. Substitute t = (1-x)^(-1/18) and get an equation in t, which can be easily solved. From that you can get back to a solution for x.
4 Kommentare
John D'Errico
am 15 Mär. 2015
I am confused as to why you would accept the other answer as this is so clearly the correct one. Oh well, Roger's answer got my vote.
Konstantinos Sofos
am 15 Mär. 2015
@John D'Errico could you explain us also why my answer is not valid or the correct one? Do we have any competition here or shall we try to provide our view? I am sorry for your comment...
Siehe auch
Kategorien
Mehr zu Computational Geometry 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!