one equation with one unknown variable

조회 수: 5 (최근 30일)
Lojzika
Lojzika 2015년 3월 15일
댓글: Konstantinos Sofos 2015년 3월 15일
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.

채택된 답변

Konstantinos Sofos
Konstantinos Sofos 2015년 3월 15일
편집: Konstantinos Sofos 2015년 3월 15일
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

추가 답변 (1개)

Roger Stafford
Roger Stafford 2015년 3월 15일
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
John D'Errico
John D'Errico 2015년 3월 15일
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
Konstantinos Sofos 2015년 3월 15일
@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...

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by