Fzero question : Error using fzero (line 308) Initial function value must be finite and real.
조회 수: 17 (최근 30일)
이전 댓글 표시
I tried my equation like below :
fzero(@(x) 20000/x(1-x)*(1+0.1*(1.523*(1-x)/x)^0.75)*0.005093-x(1-x)*9768.4, 0)
I didn`t touch anything with matlab. and I just tried that equation as soon as I opened my matlab program.
so I don`t know why there is an error like that.
please somebody help me... I`m a beginner of matlab.
thanks.
댓글 수: 0
채택된 답변
Matt J
2021년 4월 10일
편집: Matt J
2021년 4월 10일
Well you have divisions by x in your function, so naturally choosing x0=0 will not give you a finite initial value.
Also, you are missing multiplication signs in x(1-x).
댓글 수: 7
Walter Roberson
2021년 4월 10일
There are solutions at:
x = 1
x = infinity
x = -infinity
and where
219964813000029765632*x^2 - 229368329021979375*(-((1523*x)/1000 - 1523/1000)/x)^(3/4) - 2293683290219793750 == 0
This can be rewritten in terms of roots of a polynomial of degree 11
1198623577502935913088088084852730196833129872468381163324810188073588187284281229312*Z^11 - 49994593834998181651140818644901902039353356982740649636362466773093199957196800000*Z^9 + 781978009914558436529645975825514493802993999597042579585678618992312320000000000*Z^7 - 5436050945900176563164670547797245943390787108203736252765175808000000000000000*Z^5 + 14176112707271709760517705610597907789759117829653875038542283350216258359375*Z^3 - 15018436703543619216679515337288498307189584069440546124506300648775078125*Z^2 + 15018436703543619216679515337288498307189584069440546124506300648775078125*Z - 5006145567847873072226505112429499435729861356480182041502100216258359375 == 0
Three of the roots are of concern (fit within the un-re-written expression). Two of them are compex valued. The third one is about 0.12824155409435913712
The accuracy of this solution depends upon assuming that where you wrote decimals such as 0.005093 that they should be assumed to be exactly representatable, such as 5093/1000000 exactly -- that the value is not, for example, 0.005092845125 that got rounded to 0.005093.
추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!