Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
165 views

Roots, The Fzero Function MATLAB

The document discusses MATLAB's fzero function for finding roots of nonlinear equations. It provides examples of using fzero to find the root of various functions, including sine and a custom function fx3. It also discusses using MATLAB's roots and poly functions to find and check roots of polynomials, and provides examples of defining polynomial coefficients, finding roots, and checking residuals.

Uploaded by

emongoloide
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
165 views

Roots, The Fzero Function MATLAB

The document discusses MATLAB's fzero function for finding roots of nonlinear equations. It provides examples of using fzero to find the root of various functions, including sine and a custom function fx3. It also discusses using MATLAB's roots and poly functions to find and check roots of polynomials, and provides examples of defining polynomial coefficients, finding roots, and checking residuals.

Uploaded by

emongoloide
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Thefzerofunction

AnotherpopularrootfindingfunctioninMATLABisthefzerofunction.

Definition:fzeroisMATLABssinglevariablenonlinearzerofindingfunction.

fzerohasmanyusefulsyntaxforms,obtaincompletelistbygettingonlinehelp

>>helpfzero

x=fzero(FUN,X0)

FUNisafunctionnamepassedintofzeroasastringcorrespondingtoanexisting
functionfilecontain

X0isascalarvalueusedforaninitialguessattheroot

Hereisalistingofafunctiontobeusedwithfzero

function f = fx3(x)
% fx3 Evaluate f(x) = x - x^(1/3) - 2
f = x - x^(1/3) - 2;
Locate the root graphically (approx.)
fplot('fx3',[05])

Thisshowsthatthereisarootclosetox=3.5
Nowrepeatfplotbyrefiningtherangeofx
Usebisectwiththeappropriateinterval
Rewritefx3toonethathasaderivativeofftheusetheNewtonRaphson
function

1|P a g e

Herearesomecommonusefulsyntaxexamples:

>>r=fzero('fx3',2)
r=
3.5214

ThisissimilarsyntaxtotheoneusedinbisectandNewtonfunctions

>>r=fzero(@fx3,2)
r=
3.5214
Herethe@signreplacesthestringsyntax

>>r=fzero(@sin,2)
r=
3.1416

Here@sintellsMATLABtoevaluatetherootofthesinefunctionclosetoaninitial
guessof2.SoMATLABcorrectlyconvergestothevalueof

Experimentwithothersyntaxformsoffzero.

2|P a g e

ComputingrootsofpolynomialswithMATLAB

>>helproots
ROOTSFindpolynomialroots.
ROOTS(C)computestherootsofthepolynomialwhosecoefficients
aretheelementsofthevectorC.IfChasN+1components,
thepolynomialisC(1)*X^N+...+C(N)*X+C(N+1).

Note:LeadingzerosinCarediscardedfirst.Then,leadingrelative
zerosareremovedaswell.Thatis,ifdivisionbytheleading
coefficientresultsinoverflow,allcoefficientsuptothefirst
coefficientwhereoverflowoccurredarealsodiscarded.Thisprocessis
repeateduntiltheleadingcoefficientisnotarelativezero.

Considerthreebasicsecondorderpolynomialsp1,p2andp3.

p1=x23x+2
p2=x210x+25
p3=x217x+72.5

Sincethesearesecondorderfunctionstheirrootscanreadilybecomputedusing
thequadraticformula.ComputationofrootswithMATLABispretty
straightforward.Defineanarrayconsistingofthecoefficientsofxindescending
orderoftheexponentsofx.Ifthereisamissingcoefficientofthepowerofx,
insertazeroinitsplace.

e.g.z=x6x4+11x33x2+37isrepresentedasfollowsinMATLAB
z=[101113037];zerosforthenonexistent5thordertermandthelinear
term.

Herearethearraysforp1,p2andp3.

>>p1=[132];
>>p2=[11025];
>>p3=[11772.5];
3|P a g e

Computationoftherootsisaccomplishedwiththeaidofthebuiltinroots
function.

>>roots(p1)
ans=
2
1
>>roots(p2)
ans=
5
5
>>roots(p3)
ans=
8.5000+0.5000i
8.50000.5000i

InverserootoperationswithMATLAB

Giventherootsofapolynomialestablishthecorrespondingpolynomialusingthe
builtinpolycommand.Usetherootsofp3asanexample

>>r=[8.5000+0.5000i,8.50000.5000i]
r=
8.5000+0.5000i8.50000.5000i
>>pr=poly(r)
pr=
1.000017.000072.5000

Determinetheresidualobtainedwhenyoucomputethevalueofthepolynomial
bysubstitutingbackitsrootswiththebuiltinpolyvalfunction.

4|P a g e

Syntaxispolyval(p,r);pisthearraywithcoefficientsthatdefinethepolynomial
andristhearraywithrootsofp.

>>res=polyval(p3,r)
res=
0 0

Residualshouldbezerosincebynecessitywearesolvingf(x)=0;however
residualmaybeasmallnonzerovaluethatresultsduetoroundoffdamage.

Illustration:

Giventheexpression:2x2+10x=144/x,determinethevalueofxthatmakesthe
expressiontrue.

Solution:

Rewritetheequationintothestandardformandseektherootsofthefunctionin
theformf(x)=0

Transformedequationthenis:

f(x)=2x3+10x2144

>>p4=[2100144]
p4=
2100144

>>r4=roots(p4)
r4=
4.0000+2.8284i
4.00002.8284i
3.0000

5|P a g e

>>polyval(p4,r4)
ans=
1.0e012*
0.05680.0853i
0.0568+0.0853i
0.1137

Theresidualisasmallcomplexnumberwhichispracticallyzero

Otherinclassdiscussionsanddemonstrations

6|P a g e

You might also like