{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE " Dark Red Emphasis " -1 256 "Times" 1 12 128 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "Green Emphasis" -1 257 "Times" 1 12 0 128 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Maroon Emphasis" -1 258 "Times" 1 12 128 0 128 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Purple Emphasis" -1 259 "Times" 1 12 102 0 230 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "Red Emphasis" -1 260 "Times" 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 263 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" 260 265 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "Blue Emphasis" -1 266 "Times" 0 0 0 0 255 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Grey Emphasis" -1 267 "Times" 1 12 96 52 84 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 275 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 276 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 278 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 279 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 } {CSTYLE "" -1 280 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 128 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 3 0 3 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 128 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Text Ou tput" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 2 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 12 1 {CSTYLE "" -1 -1 "Ti mes" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 } {PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 15 2 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 258 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 57 "A procedure for solving two point boundary value problems" }}{PARA 0 "" 0 "" {TEXT -1 37 "by Peter Ston e, Nanaimo, B.C., Canada" }}{PARA 0 "" 0 "" {TEXT -1 19 "Version: 25. 3.2007" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " ;" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 5 "load " }{TEXT 0 7 "desolve" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 17 "The Maple m-file " } {TEXT 267 7 "DEsol.m" }{TEXT -1 32 " is required by this worksheet. " }}{PARA 0 "" 0 "" {TEXT -1 121 "It can be read into a Maple session by a command similar to the one that follows, where the file path gives \+ its location." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "read \"K:\\ \\Maple/procdrs/DEsol.m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 33 "load root-finding procedures etc." }} {PARA 0 "" 0 "" {TEXT -1 17 "The Maple m-file " }{TEXT 267 7 "roots.m " }{TEXT -1 38 " contains the code for the procedures " }{TEXT 0 6 "se cant" }{TEXT -1 5 " and " }{TEXT 0 7 "findmax" }{TEXT -1 25 " used in \+ this worksheet. " }}{PARA 0 "" 0 "" {TEXT -1 121 "It can be read into \+ a Maple session by a command similar to the one that follows, where th e file path gives its location." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "read \"K:\\\\Maple/procdrs/roots.m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 "; " }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 40 "A utility routine for compar ing values: " }{TEXT 0 14 "comparewithfcn" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 64 "This utility routine is required b y examples in a later section." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 21 "comparewithfcn: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 274 18 "Calling Sequence:\n" }} {PARA 0 "" 0 "" {TEXT 275 2 " " }{TEXT -1 36 " comparewithfcn( pts, f ,options )" }}{PARA 0 "" 0 "" {TEXT -1 44 " comparewithfcn( pts , fx, x , options ) " }{TEXT 277 1 "\n" }{TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 23 17 " pts - " }{TEXT 278 18 "a list of points " }{XPPEDIT 18 0 "[[x[1], y[1]], [x[2], y[2] ] .. [x[n], y[n]]];" "6#7$7$&%\"xG6#\"\"\"&%\"yG6#F(;7$&F&6#\"\"#&F*6# F07$&F&6#%\"nG&F*6#F6" }{TEXT 279 1 "." }}{PARA 0 "" 0 "" {TEXT -1 5 " " }}{PARA 0 "" 0 "" {TEXT 23 15 " f or fx - " }{TEXT -1 87 " \+ a function of one variable or an expression fx defining a function \+ of one variable." }}{PARA 0 "" 0 "" {TEXT -1 6 " " }}{PARA 0 "" 0 "" {TEXT 23 17 " x - " }{TEXT 276 65 "the independent va riable is required when the 2nd argument is an " }{TEXT -1 10 "express ion" }{TEXT 280 4 " fx." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 23 3 " " }{TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 12 "Description:" }} {PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 14 "comparewithf cn" }{TEXT -1 78 " tabulates the list of points vertically as the firs t two columns of a matrix." }}{PARA 0 "" 0 "" {TEXT -1 263 "The values of the 2nd components are compared with the values obtained by applyi ng the given function to the corresponding 1st components, and listing these \"exact values\" in the 3rd column of the matrix. The absolute \+ or relative error is given in the 4th column." }}{PARA 0 "" 0 "" {TEXT -1 68 "Alternatively, the same information can be printed out li ne by line." }}{PARA 0 "" 0 "" {TEXT -1 128 "The maximum of the absolu te or relative errors is given. When the absolute error is tabulated, \+ the mean absolute error is given." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 257 "" 0 "" {TEXT -1 8 "Options:" }}{PARA 0 "" 0 "" {TEXT -1 22 "mode=linebyline/matrix" }}{PARA 0 "" 0 "" {TEXT -1 106 "With the opti on \"mode=linebyline\" the information is printed out line by line. Th is is the default option." }}{PARA 0 "" 0 "" {TEXT -1 112 "With the op tion \"mode=matrix\" the tabulated information is given in a matrix as a return value of the procedure." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 25 "errtype=relative/absolute" }}{PARA 0 "" 0 "" {TEXT -1 152 "This option determines whether the absolute or rela tive error is given. The default is \"errtype=relative\" in which case the relative error is tabulated." }}{PARA 0 "" 0 "" {TEXT -1 73 "\"er rtype=RELATIVE\" and \"errtype=REL\" are equivalent to \"errtype=relat ive\"" }}{PARA 0 "" 0 "" {TEXT -1 75 "\"errtype=ABSOLUTE\" and \"errt ype=ABS\" are equivalent to \"errtype=absolute\"." }}{PARA 0 "" 0 "" {TEXT -1 43 "\"errtype\" can also be typed as \"errortype\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 4 "Note" }{TEXT -1 77 ": If the true value of the function is zero, the relative error is infinite. " }}{PARA 0 "" 0 "" {TEXT -1 113 "The maximum relative e rror is computed for the remaining relative errors, ignoring any infin ite relative errors. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 16 "How to activate:" } {TEXT 266 1 "\n" }{TEXT -1 154 "To make the procedure active open the \+ subsection, place the cursor anywhere after the prompt [ > and press \+ [Enter].\nYou can then close up the subsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 30 "comparewithfcn: implementation" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "comparewithfcn" {MPLTEXT 1 0 6115 "comparewithfcn:=\nproc(pts,f)\n local xx,y1,y2,r,i,j,n,rows,fn ,x,prec,prcsn,saveDigits,\n startoptions,Options,md,t,maxerr,format1 ,format2,g,e,zero,\n proctype,ertyp,xmax,prec1,prec2,vars,averr;\n\n proctype := false;\n if nargs<2 then\n error \"invalid argum ents; the basic syntax is 'comparewithfcn([[x1,y1],..,[xn,yn]],f(x),x) ' or 'comparewithfcn([[x1,y1],..,[xn,yn]],f)'\"\n end if;\n if not type(pts,listlist) then\n error \"the 1st argument, %1, is inval id .. it should be a list of points\",pts;\n end if;\n if nargs>2 \+ and not type(args[3],equation) then\n x := args[3];\n if not type(x,name) then\n error \"the 3rd optional argument must be the name of the independent variable\"\n end if;\n startopt ions := 4;\n vars := indets(f,name) minus indets(f,realcons);\n \+ if vars<>\{x\} then \n if not type(f,algebraic) or not has (indets(f),\{Int,Sum\}) then\n error \"the 2nd argument, %1 , is invalid .. it should be an expression which depends only on the s ingle variable %2\",f,x;\n end if;\n end if;\n else\n \+ if type(f,procedure) or (type(f,`@`) and type(\{op(f)\},set(proced ure))) then\n proctype := true;\n startoptions := 3;\n else\n error \"the 2nd argument, %1, is invalid .. it sh ould be a function of one variable or an expression in the one variabl e given as a 3rd argument\",f;\n end if;\n end if; \n\n # G et the options.\n md := 0;\n ertyp := 1;\n if nargs>=startoption s then\n Options :=[args[startoptions..nargs]];\n if not typ e(Options,list(equation)) then\n error \"each optional argumen t must be an equation\"\n end if;\n if hasoption(Options,'mo de','md','Options') then\n if not (md='linebyline' or md='matr ix') then\n error \"\\\"mode\\\" must be 'matrix' or 'lineb yline'\"\n end if;\n if md='linebyline' then md := 0 e lse md := 1 end if;\n end if;\n if hasoption(Options,'errtyp e','ertyp','Options') or \n hasoption(Options,'errortype','ert yp','Options') then\n if not member(ertyp,\{'absolute','ABSOLU TE','ABS','relative','RELATIVE','REL'\}) then\n error \"\\ \"errtype\\\" option must be 'absolute' <-> 'ABSOLUTE' <-> 'ABS' or 'r elative' <-> 'RELATIVE' <-> 'REL'\"\n end if;\n if mem ber(ertyp,\{'absolute','ABSOLUTE','ABS'\})\n then ertyp := 0 e lse ertyp := 1 end if;\n end if;\n if nops(Options)>0 then\n error \"%1 is not a valid option for %2\",op(1,Options), proc name;\n end if;\n end if;\n n := nops(pts);\n prcsn := 0;\n \n # Check the data and find its maximum precision.\n for i to n d o\n if nops(pts[i])<>2 then\n error \"the 1st argument mu st be a list of points, where each point is itself a list with two mem bers\"\n end if;\n t := pts[i,1];\n if type(t,float) an d type(t,numeric) then\n prec1 := length(convert(op(1,t),strin g));\n elif type(t,realcons) then\n prec1 := Digits;\n \+ else\n error \"the 1st argument must be a list of points, w here each point is itself a list of two real numbers\"\n end if; \n t := pts[i,2];\n if type(t,float) and type(t,numeric) the n\n prec2 := length(convert(op(1,t),string));\n elif type (t,realcons) then\n prec2 := Digits;\n else\n err or \"the 1st argument must be a list of points, where each point is it self a list of two real numbers\"\n end if;\n prec := max(pr ec1,prec2);\n if prec>prcsn then prcsn := prec end if;\n end do ;\n saveDigits := Digits;\n Digits := prcsn;\n prec := trunc(prc sn/2);\n \n if proctype then\n fn := f;\n else\n fn := unapply(evalf(f),x);\n end if;\n rows := NULL;\n maxerr := 0;\n averr := 0;\n zero := false;\n format1 := cat(\"%\",convert(prc sn+3,string),\".\",convert(prcsn-1,string),g);\n format2 := cat( \"%\",convert(prec+3,string),\".\",convert(prec-1,string),e);\n\n fo r i from 1 to n do\n xx := evalf(pts[i,1]);\n y1 := evalf(pt s[i,2]);\n y2 := traperror(evalf(fn(xx)));\n if y2=lasterror or not type(y2,numeric) then\n error \"function failed to eva luate to a real floating point number at %1\",xx;\n end if;\n \+ \n if ertyp=0 then\n r := evalf(abs(y1-y2));\n \+ averr := averr+r;\n if r>maxerr then\n maxerr := r; \n xmax := xx;\n end if;\n else\n if y 2<>0 then\n r := evalf(abs(y1-y2)/abs(y2));\n if r>maxerr then\n maxerr := r;\n xmax := xx ;\n end if;\n else\n zero := true;\n \+ r := infinity;\n end if;\n end if;\n\n if md =0 then\n printf(format1,xx);\n printf(` `);\n \+ printf(format1,y1);\n printf(` function val: `);\n \+ printf(format1,y2);\n if ertyp=0 then\n printf(` \+ abs err: `);\n printf(format2,r);\n else\n \+ printf(` rel err: `);\n if y2<>0 then\n \+ printf(format2,r)\n else\n printf(infinit y);\n end if;\n end if;\n printf(`\\n`);\n \+ else\n rows := rows,[xx,y1,y2,r];\n end if;\n end \+ do;\n \n print(``);\n if ertyp=0 then\n printf(` \+ Maximum absolute error: `);\n else\n printf(` M aximum relative error: `); \n end if;\n printf(format2,maxerr );\n\n if maxerr<>0 then\n printf(`\\n obtained fo r the input value: `);\n printf(format1,xmax);\n end if;\n \n if ertyp=1 and zero then\n printf(`\\n excluding \+ any cases where the function value is zero.`);\n end if;\n\n if er typ=0 then\n averr := averr/n;\n print(``);\n printf(` \+ Mean absolute error: `);\n printf(format2,averr); \+ \n end if;\n\n Digits := saveDigits;\n if md=1 then\n prin t(``);\n if ertyp=0 then\n return array([[x,\"discrete va lue\",\"function value\",\"absolute err\"],rows]);\n else\n \+ return array([[x,\"discrete value\",\"function value\",\"relative e rr\"],rows]);\n end if;\n else\n return NULL;\n end if; \nend proc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 34 "Examples appear in a later section" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 47 "A procedure fo r solving two point BV problems: " }{TEXT 0 9 "desolveFD" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " } {TEXT 0 9 "desolveFD" }{TEXT -1 59 " gives a numerical solution to the boundary value problem: " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {XPPEDIT 18 0 "d^2*y/(d*x^2)+f(x);" "6#,&*(%\"dG\"\"#%\"yG \"\"\"*&F%F(*$%\"xGF&F(!\"\"F(-%\"fG6#F+F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx+g(x)*y = k(x);" "6#/,&*&%#dyG\"\"\"%#dxG!\"\"F'*&-%\"gG6#% \"xGF'%\"yGF'F'-%\"kG6#F." }{TEXT -1 22 " , y(a) = c, y(b) = d," }} {PARA 0 "" 0 "" {TEXT -1 85 "\nby a finite difference method, (making \+ use of extrapolation to infinity if desired)." }}{PARA 0 "" 0 "" {TEXT -1 55 "Both discrete and continuous solutions can be obtained." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 16 "desolveFD: usage" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 261 18 "Calling Sequence:\n" }}{PARA 0 "" 0 "" {TEXT 262 2 " " } {TEXT -1 22 " desolveFD(\{de,bc\}) " }}{PARA 0 "" 0 "" {TEXT -1 29 " desolveFD(\{de,bc\},y(x) )" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 257 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }}{PARA 0 "" 0 "" {TEXT 23 11 " de - " }{TEXT -1 70 " a 2nd order linear differential equation described using \"diff \":" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 91 " \+ diff(y(x),x$2) + f(x)*diff(y(x),x) + g(x)*y(x) = k(x)" }}{PARA 0 "" 0 "" {TEXT -1 28 " \+ " }}{PARA 0 "" 0 "" {TEXT -1 73 " \+ or one which can be rearranged in this form." }}{PARA 0 "" 0 "" {TEXT -1 6 " " }}{PARA 0 "" 0 "" {TEXT 23 13 " bc - " } {TEXT 263 95 " boundary conditions given in the form y(a) = c, y(b) \+ = c, where y is the dependent variable." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 23 3 " " }{TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 12 "D escription:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 9 "desolveFD" }{TEXT -1 139 " uses a f inite difference method to obtain a solution for the boundary value pr oblem given by a 2nd order differential equation of the form" }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+f(x);" "6#,&* (%\"dG\"\"#%\"yG\"\"\"*&F%F(*$%\"xGF&F(!\"\"F(-%\"fG6#F+F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx+g(x)*y = k(x);" "6#/,&*&%#dyG\"\"\"%#dxG! \"\"F'*&-%\"gG6#%\"xGF'%\"yGF'F'-%\"kG6#F." }{TEXT -1 1 "," }}{PARA 0 "" 0 "" {TEXT -1 77 "over a given interval x = a to x = b with boundar y values y(a) = c, y(b) = d." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 92 "The numerical solution can be in the form of a \+ list of points along the solution curve with " }{TEXT 259 14 "equally \+ spaced" }{TEXT -1 32 " values of the first coordinate." }}{PARA 0 "" 0 "" {TEXT -1 60 "The procedure can also return points along the graph of the " }{TEXT 259 10 "derivative" }{TEXT -1 17 " of the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The pro cedure " }{TEXT 0 9 "desolveFD" }{TEXT -1 19 " can also return a " } {TEXT 259 19 "continuous solution" }{TEXT -1 51 " in the form of a num erical procedure as follows. \n" }}{PARA 0 "" 0 "" {TEXT -1 3 "A l" } {TEXT 259 18 "ocal Taylor series" }{TEXT -1 388 " for the solution is \+ constructed at each of the points of a discrete solution by obtaining \+ a sequence of higher derivatives of the solution. These higher derivat ives are calculated using the analytical derivatives of the functions \+ f(x), g(x) and k(x) with reference to the given differential equation \+ and in conjunction with values for the first derivative which are comp uted numerically." }}{PARA 0 "" 0 "" {TEXT 0 9 "desolveFD" }{TEXT -1 67 " can also return the derivative of the solution in continuous form ." }}{PARA 0 "" 0 "" {TEXT -1 86 "The order of the Taylor series appro ximations can be controlled by the option \"order\"." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 8 "Options:" }{TEXT -1 1 " \n" }}{PARA 0 "" 0 "" {TEXT -1 46 "output=points/derivpts/localtaylor/ derivtaylor" }}{PARA 15 "" 0 "" {TEXT -1 32 "With the option \"output= points\" " }{TEXT 0 9 "desolveFD" }{TEXT -1 11 " returns a " }{TEXT 259 17 "discrete solution" }{TEXT -1 91 " consisting of a list of poin ts along the solution curve with equally spaced x coordinates." }} {PARA 15 "" 0 "" {TEXT -1 34 "With the option \"output=derivpts\" " } {TEXT 0 9 "desolveFD" }{TEXT -1 137 " returns a list of points along t he graph of the derivative of the solution.\n\"output=derivative_point s\" is the same as \"output=derivpts\"." }}{PARA 15 "" 0 "" {TEXT -1 37 "With the option \"output=localtaylor\" " }{TEXT 0 9 "desolveFD" } {TEXT -1 196 " returns a continuous solution in the form of a numerica l procedure which can be evaluated at any number x in the interval for the solution.\n\"output=procedure\" is the same as \"output=localtayl or\"." }}{PARA 15 "" 0 "" {TEXT -1 38 "With the option \"output=derivt aylor\" " }{TEXT 0 9 "desolveFD" }{TEXT -1 149 " returns the derivati ve of the solution in the form of a numerical procedure which can be e valuated at any number x in the interval for the solution." }}{PARA 15 "" 0 "" {TEXT -1 38 "With the option \"output=points_pair\", " } {TEXT 0 9 "desolveFD" }{TEXT -1 11 " returns a " }{TEXT 259 4 "pair" } {TEXT -1 4 " of " }{TEXT 259 22 "discrete set of points" }{TEXT -1 101 " for both the solution and its derivative, which are computed sim ultaneously by the adaptive process." }}{PARA 15 "" 0 "" {TEXT -1 41 " With the option \"output=procedure_pair\", " }{TEXT 0 9 "desolveFD" } {TEXT -1 11 " returns a " }{TEXT 259 4 "pair" }{TEXT -1 4 " of " } {TEXT 259 19 "numerical functions" }{TEXT -1 139 " for both the soluti on and its derivative, which are constructed simultaneously.\n\"output =proc_pair\" is the same as \"output=procedure_pair\"." }}{PARA 0 "" 0 "" {TEXT -1 100 "\nContinous solutions are obtained by using local T aylor series at the points of a discrete solution." }}{PARA 0 "" 0 "" {TEXT -1 52 "The default for this option is \"output=localtaylor\"." } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 112 "steps=n \nThe number of steps used to cover the interval for discrete solution s given by \"output=points/derivpts\"." }}{PARA 0 "" 0 "" {TEXT -1 30 "The default value is steps=20." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 153 "For continuous solutions given by \"outp ut=localtaylor\" and \"output=derivtaylor\" the number of steps is det ermined by the width of the interval as follows" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "PIEC EWISE([\"steps=trunc((b-a)*10)\", `when Digits` < `15`],[\"steps=trunc ((b-a)*25)\", when*15 <= Digits and Digits < 22],[\"steps=trunc((b-a)* 40)\", when*22 <= Digits]);" "6#-%*PIECEWISEG6%7$Q6steps=trunc((b-a)*1 0)6\"2%,when~DigitsG%#15G7$Q6steps=trunc((b-a)*25)6\"31*&%%whenG\"\"\" \"#:F3%'DigitsG2F5\"#A7$Q6steps=trunc((b-a)*40)6\"1*&F2F3F7F3F5" } {TEXT -1 2 " ," }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 42 "unless it is fixed by setting this option." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 243 "extrapolate=n\nIf n is positive (and less than or equal to 5), this option causes the num ber of steps to be doubled n times and the method of \"extrapolation t o infinity\" is then used to give an improved result with the original number of steps." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 265 7 "Warning" }{TEXT -1 152 ": When using the higher settings \+ for this option, with a large number of steps, the calculation may be \+ time consuming, and also take up a lot of memory." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 211 "The default is \"extrapo late=0\" for the discrete solutions given by \"output=points/derivs\", that is, no extrapolation is performed, and \"extrapolate=2\" for th e continuous solutions given by \"output=localtaylor\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 96 "For continuous solut ions given by \"output=localtaylor\" and \"output=derivtaylor\" the d efault is:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "PIECEWISE([\"extrapolate=3\", `when Digits` \+ < `15`],[\"extrapolate=4\", when*15 <= Digits and Digits < 22],[\"extr apolate=5\", when*22 <= Digits]);" "6#-%*PIECEWISEG6%7$Q.extrapolate=3 6\"2%,when~DigitsG%#15G7$Q.extrapolate=46\"31*&%%whenG\"\"\"\"#:F3%'Di gitsG2F5\"#A7$Q.extrapolate=56\"1*&F2F3F7F3F5" }{TEXT -1 2 " ," }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 42 "unless it is fixed by setting this option." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 7 "order=n" }}{PARA 0 "" 0 "" {TEXT -1 198 "T his option only affects the output with the option \"output=localtaylo r\" and determines the order of the local Taylor series approximations constructed. The order must be between 2 and 50 inclusive." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 96 "For continuous \+ solutions given by \"output=localtaylor\" and \"output=derivtaylor\" \+ the default is:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "PIECEWISE([\"order=12\", `when Digits` < `15`],[\"order=16\", when*15 <= Digits and Digits < 22],[\"order=20 \", when*22 <= Digits]);" "6#-%*PIECEWISEG6%7$Q)order=126\"2%,when~Dig itsG%#15G7$Q)order=166\"31*&%%whenG\"\"\"\"#:F3%'DigitsG2F5\"#A7$Q)ord er=206\"1*&F2F3F7F3F5" }{TEXT -1 2 " ," }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 42 "unless it is fixed by setting this op tion." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 15 " info=true/false" }}{PARA 0 "" 0 "" {TEXT -1 97 "With the option \"info =true\" some information is given concerning the progress of the compu tation." }}{PARA 0 "" 0 "" {TEXT -1 83 "Specifically, it indicates whe ther extrapolation is being used, and to what extent." }}{PARA 0 "" 0 "" {TEXT -1 63 "It also gives the size of each tridiagonal system bein g solved." }}{PARA 0 "" 0 "" {TEXT -1 54 "The default is \"info=false \"which gives no information." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 16 "How to a ctivate:" }{TEXT -1 155 "\nTo make the procedure active open the subse ction, place the cursor anywhere after the prompt [ > and press [Ente r].\nYou can then close up the subsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 25 "desolveFD: implementation" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "finitediff" {MPLTEXT 1 0 26651 "desolveFD : = proc()\n local ff,x,fx,gx,kx,fn,gn,kn,alpha,beta,a,b,c,n,m,n0,h,hh ,hs,h2,\n xx,A,hf,i,j,k,i2p,u,t,v0,v1,v2,v3,v4,v5,w,xseq,fseq,gse q,\n kseq,xvals,fvals,gvals,kvals,origxvals,lastn,saveDigits,\n \+ Options,numsteps,incdrvs,outpt,xtrplt,d,d0,d1,d2,d3,d4,d5,\n \+ fa,ga,ka,fb,gb,kb,v0m,d0m,v0p,d0p,v1m,d1m,v1p,d1p,v2m,d2m,\n v2p, d2p,v3m,d3m,v3p,d3p,v4m,d4m,v4p,d4p,v5m,d5m,v5p,d5p,dm,\n dp,ext, y,dy,yvals,dvals,dn,dx,drvs,soln,ordr,fixsteps,\n fixextrap,fixor der,de,ic0,ic1,x0,y0,x1,y1,diffs,df,df1,\n df2,df3,dff,yx,x2,yx2, x3,pol,aa,bb,cc,vars,c0,c1,c2,\n tt,lsic,rsic,w0,w1,w2,loctaylor, insertinlist,TridiagSolve,\n startopts,yy,ee,prntflg,drval,sgn,de rivs,nvars,orderDE;\n\ninsertinlist := proc(alist::list,x,i::posint)\n [op(1..i-1,alist),x,op(i..nops(alist),alist)] \nend proc: # of in sertinlist\n\nTridiagSolve := proc(A::Matrix,b::Vector)\n local m,n, k,beta,v,gam,j;\n\n m := LinearAlgebra['RowDimension'](A);\n if m< >3 then\n error \"the matrix must have 3 rows\"\n end if;\n n := LinearAlgebra['ColumnDimension'](A);\n if n<3 then\n error \+ \"the matrix must have at least 3 columns\"\n end if;\n k := Linea rAlgebra['Dimension'](b);\n if k<>n then\n error \"non matching dimensions for matrix and vector\"\n end if;\n\n v := Vector(n); \n gam := Vector(n);\n beta := A[2,1]; \n if beta=0 then\n \+ error \"a zero pivot element has been encountered\"\n end if;\n v[ 1] := b[1]/beta;\n\n # Perform LU decomposition and forward substitu tion.\n for j from 2 to n do\n gam[j] := A[1,j-1]/beta;\n beta \+ := A[2,j] - A[3,j]*gam[j];\n if beta = 0 then\n error \"a z ero pivot element has been encountered\"\n end if;\n v[j] := ( b[j] - A[3,j]*v[j-1])/beta;\n end do;\n \n # Perform the back sub stitution.\n for j from n-1 by -1 to 1 do\n v[j] := v[j] - gam[ j+1]*v[j+1];\n end do;\n v;\nend proc: # of TridiagSolve\n\nloctay lor :=\n proc(x_taylor::realcons)\n local xk,yk,jF,jM,jS,n,h,j,dat a,fn,xx,saveDigits,\n sum,term,fact,dk,uk;\n options `Copyr ight 2002 by Peter Stone`;\n \n data := _SOLN;\n\n saveDigits := Digits;\n Digits :=\n min(max(trunc(evalhf(Digits)),trunc(Digits* 4/3)),Digits+10);\n\n xx := evalf(x_taylor);\n n := nops(data);\n \+ if xx>data[n,1] or xx1 do\n jM := trunc((jF+jS)/2);\n if xx>=dat a[jM,1] then jF := jM else jS := jM end if;\n end do;\n if jM = n \+ then jF := n-1; jS := n end if;\n \n # If closer to next node go t o next node.\n if xx>(data[jF,1]+data[jS,1])/2 then jF := jF+1 end i f;\n\n # Get the data needed from the list.\n xk := data[jF,1];\n \+ h := xx-xk;\n fact := evalf(1);\n\n if _DERIV then\n uk := \+ data[jF,3];\n sum := uk; \n for j from 1 to nops(data[jF]) -3 do\n fact := fact*h/j;\n dk := data[jF,j+3];\n \+ term := dk*fact;\n sum := sum + term;\n end do;\n \+ Digits := saveDigits;\n return evalf(sum);\n else\n yk : = data[jF,2];\n sum := yk; \n for j from 1 to nops(data[jF ])-2 do\n fact := fact*h/j;\n dk := data[jF,j+2];\n \+ term := dk*fact;\n sum := sum + term;\n end do;\n \+ Digits := saveDigits;\n return evalf(sum);\n end if;\nend p roc: # of loctaylor\n \n # start of main procedure desolveFD\n if nargs>0 then \n ff := args[1]\n else\n error \"at least o ne argument must be supplied\"\n end if;\n if type(ff,\{set(equati on),list(equation)\}) and nops(ff)=3 then\n ff := map(_u -> if ha s(_u,D@@2) then convert(_u,diff) else _u end if,ff);\n de := op(1 ,ff);\n ic0 := op(2,ff);\n ic1 := op(3,ff);\n if not ha s(de,diff) then\n de := op(2,ff);\n ic0 := op(1,ff);\n end if;\n if not has(de,diff) then\n de := op(3,ff) ;\n ic1 := op(2,ff);\n end if;\n else\n error \"th e 1st argument, %1, is invalid .. it should be a set (or list) of 3 eq uations\",ff;\n end if;\n\n startopts := 2;\n if nargs>1 then\n \+ ee := args[2];\n if type(ee,function) and nops(ee)=1 then\n \+ yy := op(0,ee);\n xx := op(1,ee);\n if type(xx ,name) and type(yy,name) then\n startopts := 3;\n e lse\n error \"the 2nd argument, %1, has an incorrect form f or the dependent variable\",ee;\n end if;\n end if;\n e nd if;\n \n # Check out the derivatives in the DE.\n derivs := i ndets(de,'specfunc(anything,diff)');\n if derivs=\{\} then\n er ror \"the 1st argument, %1, is invalid .. it should be a set (or list) containing a differential equation and two boundary conditions\",ff; \n end if;\n nvars := nops(indets(derivs,name));\n if nvars<>1 t hen\n if nvars=0 then\n error \"there is a problem with t he independent variable occurring in the derivative(s)\";\n else \n error \"there should only be one independent variable in th e differential equation\"\n end if;\n end if;\n nvars := nops (indets(derivs,anyfunc(name)));\n if nvars<>1 then\n if nvars=0 then\n error \"there is a problem with the dependent variable occurring in the derivative(s)\"\n else\n error \"there \+ should only be one dependent variable in the differential equation\"\n end if;\n end if;\n\n orderDE := nops(derivs);\n if orderD E=1 then\n error \"the differential equation should have order 2 \" \n elif orderDE>2 then\n error \"there are too many derivati ves in the differential equation .. note that the differential equatio n should have order 2\"\n end if;\n\n (df2,df1) := selectremove(_U ->has([op(_U)],diff),derivs);\n if nops(df2)<>1 or nops(df1)<>1 then \n error \"the derivatives, %1, do not make sense\",derivs;\n \+ end if; \n (df2,df1) := (op(df2),op(df1));\n\n # Get the arguments in the derivatives.\n if type(df1,function) and op(0,df1)=diff and \+ nops(df1)=2 then\n yx := op(1,df1);\n if not type(yx,anyfunc (name)) then\n error \"the 1st argument %1, in the derivative, %2, is invalid .. it should be the 'unknown' dependent variable\",yx, df1;\n end if; \n x := op(2,df1);\n if not type(x,name) then\n error \"the 2nd argument %1, in the derivative, %2, is invalid .. it should be the dependent variable\",x,df1;\n end if ; \n else\n error \"the derivative, %1, does not make sense\",d f1;\n end if;\n\n if type(df2,function) and nops(df2)=2 and op(0,d f2)='diff' then\n (df3,x3) := selectremove(has,\{op(df2)\},diff); \n if nops(df3)<>1 or nops(x3)<>1 then \n error \"the der ivative, %1, does not make sense\",df2;\n end if;\n (df3,x3) := (op(df3),op(x3));\n if type(df3,function) and nops(df3)=2 and op(0,df3)='diff' then\n yx2 := op(1,df3);\n if not ty pe(yx2,anyfunc(name)) then\n error \"the 1st argument %1, i n the derivative, %2, is invalid .. it should be the 'unknown' depende nt variable\",yx2,df3;\n end if; \n x2 := op(2,df2);\n if not type(x2,name) then\n error \"the 2nd argume nt %1, in the derivative, %2, is invalid .. it should be the dependent variable\",x2,df3;\n end if; \n if not x2=x3 then\n \+ error \"the 2nd arguments, %1 and %2 in the derivatives %3 a nd %4 should be the same\",x2,x3,df2,df3;\n end if;\n els e\n error \"the derivative, %1, does not make sense\",df3;\n \+ end if\n else\n error \"the derivative, %1, does not make s ense\",df2;\n end if;\n\n # Arguments in the 2 derivatives must be the same.\n if x2<>x or yx2<>yx then\n error \"the differentia l equation contains inconsistent arguments\"\n end if;\n\n y := op (0,yx);\n vars := indets(de,name);\n if member(y,vars) then\n \+ error \"%1 and %2 cannot both appear in the differential equation\",y x,y;\n end if;\n if op(1,yx)<>x then\n error \"the derivative s do not make sense\"\n end if;\n\n if startopts=3 then \n if x<>xx or y<>yy then\n error \"cannot solve the the differenti al equation for %1\",ee;\n end if;\n end if;\n\n # Form a pol ynomial by substituting for the derivatives.\023\n pol := subs(yx=w0 ,subs(diff(yx,x)=w1,\n subs(diff(yx,x$2)=w2,de)));\n \+ pol := w2-expand(rhs(isolate(pol,w2)));\n\n if not type(pol,polyno m(anything,[w0,w1,w2])) then\n error \"the DE is not linear\"\n \+ end if;\n\n if degree(pol,w2)<>1 or not member(degree(pol,w1),\{0,1 \})\n or not member(degree(pol,w0),\{0,1\}) then \n error \"the DE is not linear\"\n end if;\n \n # Coeffici ents of DE are polynomial coefficients.\n c2 := traperror(coeff(pol, w1,1));\n if c2=lasterror or member(w0,indets(c2,name)) or\n me mber(w2,indets(c2,name)) then \n error \"the DE is not linear\"\n end if;\n c1 := traperror(coeff(pol,w0,1));\n if c1=lasterror o r member(w1,indets(c1,name))\n or member(w2,indets(c1,name)) then \n error \"the DE is not linear\"\n end if;\n c0 := traperror (coeff(pol,w1,0));\n if c0=lasterror then error \"the DE is not line ar\" end if;\n kx := simplify(w2+c1*w0-c0);\n if member(w0,indets( kx,name)) or member(w2,indets(kx,name))\n then error \"the DE is \+ not linear\"\n end if;\n fx := simplify(c2);\n gx := simplify(c1 );\n\n # Get the boundary values.\n lsic := lhs(ic0);\n if type( lsic,function) and op(0,lsic)=y and nops(lsic)=1 \n \+ and type(op(1,lsic),algebraic) then\n a := op(1,lsic);\n \+ else\n error \"a boundary condition is not decipherable\"\n en d if;\n if not type(a,realcons) or has(a,infinity) then\n error \"boundary condition values for independent variable must be finite r eal constants\"\n end if;\n rsic := rhs(ic0);\n if type(rsic,rea lcons) and not has(rsic,infinity) then\n alpha := rsic;\n else \n error \"boundary condition values for dependent variable must \+ be finite real constants\"\n end if;\n lsic := lhs(ic1);\n if ty pe(lsic,function) and op(0,lsic)=y and nops(lsic)=1 \n \+ and type(op(1,lsic),algebraic) then\n b := op(1,lsic); \n else\n error \"a boundary condition is not decipherable\"\n \+ end if;\n if not type(b,realcons) or has(b,infinity) then\n e rror \"boundary condition values for independent variable must be fini te real constants\"\n end if;\n rsic := rhs(ic1);\n if type(rsic ,realcons) and not has(rsic,infinity) then\n beta := rsic;\n el se\n error \"boundary condition values for dependent variable mus t be finite real constants\"\n end if;\n\n sgn := signum(0,a-b,0); \n if sgn=0 then\n error \"impossible boundary conditions\";\n \+ elif sgn=1 then # swap over\n tt := b; b := a; a := tt;\n \+ tt := beta; beta := alpha; alpha := tt;\n end if;\n\n if not type( indets(fx,name) minus \{x\},set(realcons)) then\n error \"the 1st function, %1, must depend only on the variable %2\",fx,x;\n end if; \n if not type(indets(gx,name) minus \{x\},set(realcons)) then\n \+ error \"the 2nd function, %1, must depend only on the variable %2\", gx,x; \n end if;\n if not type(indets(kx,name) minus \{x\},se t(realcons)) then\n error \"the 3rd function, %1, must depend onl y on the variable %2\",kx,x; \n end if;\n\n # Get the options .\n # Set the default values to start with.\n numsteps := 20;\n \+ fixsteps := false;\n xtrplt := 0;\n fixextrap := false;\n fixord er := false;\n incdrvs := false;\n outpt := 'localtaylor';\n ord r := 12;\n prntflg := false;\n if nargs>=startopts then\n Opt ions := [args[startopts..nargs]];\n if not type(Options,list(equa tion)) then\n error \"each optional argument must be an equati on\"\n end if;\n if hasoption(Options,'output','outpt','Opti ons') then\n if not member(outpt,\{'points','derivative_points ','derivpts','points_pair','localtaylor','procedure','derivtaylor','de riv_procedure','deriv_proc','procedure_pair','proc_pair','taylor_pair' \}) then\n error \"\\\"output\\\" must be 'points','derivat ive_points','derivpts','localtaylor', 'procedure','derivtaylor','point s_pair','taylor_pair','procedure_pair' or 'proc_pair'\"\n end \+ if;\n if outpt='procedure' then outpt := 'localtaylor'\n \+ elif outpt='deriv_procedure' or outpt='deriv_proc' then\n \+ outpt := 'derivtaylor';\n elif outpt='procedure_pair' or out pt='taylor_pair' then\n outpt := 'proc_pair';\n eli f outpt='derivative_points' then\n outpt := 'derivpts';\n \+ end if; \n if member(outpt,\{'localtaylor','derivtaylor ','proc_pair'\}) then\n xtrplt := 3;\n end if;\n \+ end if;\n if hasoption(Options,'steps','numsteps','Options') t hen\n if not type(numsteps,posint) or numsteps<4 then\n \+ error \"\\\"steps\\\" must be an integer greater than 3\"\n \+ end if;\n fixsteps := true;\n end if;\n if hasopt ion(Options,'extrapolate','xtrplt','Options') then\n if not t ype(xtrplt,nonnegint) or xtrplt>5 then\n error\"\\\"extrap olate\\\" must be an integer between 0 and 5 inclusive\"\n end if;\n fixextrap := true;\n end if;\n if hasoption(O ptions,'order','ordr','Options') then\n if not type(ordr,posin t) or ordr<2 or ordr>50 then\n error \"\\\"order\\\" must b e a positive integer between 2 and 50 inclusive\"\n end if;\n \+ fixorder := true;\n end if;\n if hasoption(Options,i nfo,'prntflg','Options') then\n if prntflg<>true then prntflg \+ := false end if; \n end if;\n if nops(Options)>0 then\n \+ error \"%1 is not a valid option for %2\",op(1,Options), procname; \n end if;\n end if;\n\n if member(outpt,\{'derivpts','points _pair','localtaylor',\n 'derivtaylor', 'proc_pair'\}) then\n # Derivatives are required.\n incdrvs \+ := true;\n end if;\n\n if not fixextrap and \n member(outpt,\{ 'localtaylor','derivtaylor','proc_pair'\}) then\n if Digits<15 th en xtrplt := 3\n elif Digits<22 then xtrplt := 4\n else xtrp lt := 5 end if;\n end if;\n if member(outpt,\{'localtaylor','deriv taylor','proc_pair'\}) then\n if not fixorder then\n if D igits<15 then ordr := 12\n elif Digits<22 then ordr := 16\n \+ else ordr := 20 end if;\n end if;\n if prntflg then\n \+ print(`constructing order`,ordr,`local Taylor series approxima tions`);\n end if;\n end if;\n\n # Increase precision for the computation by about 33%.\n saveDigits := Digits;\n \n Digits : =\n min(max(trunc(evalhf(Digits)),trunc(Digits*4/3)),Digits+10);\n\n # Increase precision further if derivatives are to calculated.\n \+ if incdrvs then Digits := Digits+trunc(xtrplt*saveDigits/5) end if; \n \n # procedures to evaluate the three coefficient functions\n f n := subs(\{_FX=evalf(fx),_X=x\},\n proc(_X)\n local val; \n val := traperror(evalf(_FX));\n if val=lasterror or not typ e(val,numeric) then\n error \"evaluation of 1st function faile d at %1\",evalf(_X,saveDigits);\n end if;\n val;\n end \+ proc);\n gn := subs(\{_FX=evalf(gx),_X=x\},\n proc(_X)\n l ocal val; \n val := traperror(evalf(_FX));\n if val=lasterro r or not type(val,numeric) then\n error \"evaluation of 2nd fu nction failed at %1\",evalf(_X,saveDigits);\n end if;\n val; \n end proc);\n kn := subs(\{_FX=evalf(kx),_X=x\},\n proc( _X)\n local val; \n val := traperror(evalf(_FX));\n if \+ val=lasterror or not type(val,numeric) then\n error \"evaluati on of 3rd function failed at %1\",evalf(_X,saveDigits);\n end if; \n val;\n end proc);\n\n if outpt='localtaylor' and not fi xsteps then\n if Digits < 15 then m := 10\n elif Digits < 22 then m := 25\n else m := 40 end if;\n numsteps := trunc(abs (b-a)*m)\n end if;\n n := numsteps-1;\n h := evalf((b-a)/numstep s);\n n0 := n;\n u := array(1..n);\n if incdrvs then\n d := array(1..n);\n fa := fn(a);\n ga := gn(a);\n ka := kn( a);\n fb := fn(b);\n gb := gn(b);\n kb := kn(b);\n en d if;\n if prntflg then\n if xtrplt=0 then\n print(`app lying finite difference method with no extrapolation`);\n else\np rint(`applying finite difference method with extrapolation at level`,x trplt);\n end if;\n end if; \n for j from 0 to xtrplt do\n \+ hs := h*h;\n hh := evalf(h/2);\n h2 := h + h; \n \+ \n if j=0 then\n # Set up lists of x and function values. \n xseq := NULL;\n fseq := NULL;\n gseq := NUL L;\n kseq := NULL;\n xx := a;\n for i from 1 to n do\n xx := xx + h;\n xseq := xseq,xx;\n \+ fseq := fseq,fn(xx);\n gseq := gseq,gn(xx);\n \+ kseq := kseq,kn(xx);\n end do:\n xvals := [xseq];\n \+ fvals := [fseq];\n gvals := [gseq];\n kvals := [ kseq];\n origxvals := xvals;\n else\n # Insert th e new entries in the lists \n for i from 0 to lastn do\n \+ i2p := i+i+1;\n xx := a + i2p*h;\n xvals : = insertinlist(xvals,xx,i2p);\n fvals := insertinlist(fvals ,fn(xx),i2p);\n gvals := insertinlist(gvals,gn(xx),i2p);\n \+ kvals := insertinlist(kvals,kn(xx),i2p);\n end do; \n end if;\n \n # Compute diag entries of the tridiag ( compact) coeff matrix A.\n A := Matrix(3,n);\n for i from 1 t o n do\n A[2,i] := evalf(-2 + hs*gvals[i]);\n end do:\n\n \+ # Compute the required values of h/2*f(x).\n hf := Vector(n); \n for i from 1 to n do\n hf[i] := evalf(fvals[i]*hh);\n \+ end do;\n\n # Compute the super-diagonal entries (1 + h/2*f(x)) \n # and the sub-diagonal entries (1 - h/2*f(x)) of A.\n for \+ i from 1 to n-1 do\n A[1,i] := evalf(1 + hf[i]);\n A[3 ,i+1] := evalf(1 - hf[i+1]);\n end do;\n\n # Set up the vector w, using the boundary conditions.\n w := Vector(n);\n w[1] : = evalf(hs*kvals[1]-(1 - hf[1])*alpha);\n for i from 2 to n-1 do w [i] := hs*kvals[i] end do;\n w[n] := evalf(hs*kvals[n]-(1 + hf[n]) *beta);\n\n # Solve the tridiagonal system A.u=w.\n if prntf lg then\n print(`solving a tridiagonal system with`,n,`equatio ns`);\n end if;\n UseHardwareFloats:=false;\n t := Trid iagSolve(A,w);\n UseHardwareFloats:=false;\n if j=0 then\n \+ v0 := t;\n if incdrvs then\n d0 := array(1.. n0); \n d0[1] := (v0[2]-alpha)/h2; \n \+ for i from 2 to n0-1 do\n d0[i] := (v0[i+1]-v0[i-1])/ h2;\n end do;\n d0[n0] := (beta-v0[n0-1])/h2; \+ \n\n # Extend the solution at the ends of the interva l.\n v0m := ((2-hs*ga)*alpha-(1+hh*fa)*v0[1]+hs*ka)/(1-hh*f a);\n v0p := ((2-hs*gb)*beta-(1-hh*fb)*v0[n]+hs*kb)/(1+hh*f b);\n \n # Calculate the derivatives.\n \+ d0m := (v0[1]-v0m)/h2;\n d0p := (v0p-v0[n])/h2;\n \+ end if; \n elif j=1 then \n v1 := t;\n \+ if incdrvs then\n d1 := array(1..n0); \n fo r i from 1 to n0 do\n k := 2*i;\n d1[i] := (v1[k+1]-v1[k-1])/h2;\n end do;\n\n # Extend th e solution at the ends of the interval.\n v1m := ((2-hs*ga) *alpha-(1+hh*fa)*v1[1]+hs*ka)/(1-hh*fa);\n v1p := ((2-hs*gb )*beta-(1-hh*fb)*v1[n]+hs*kb)/(1+hh*fb);\n \n # \+ Calculate the derivatives.\n d1m := (v1[1]-v1m)/h2;\n \+ d1p := (v1p-v1[n])/h2;\n end if; \n elif j=2 th en\n v2 := t;\n if incdrvs then\n d2 := arr ay(1..n0); \n for i from 1 to n0 do\n \+ k := 4*i;\n d2[i] := (v2[k+1]-v2[k-1])/h2;\n \+ end do;\n \n # Extend the solution at the ends of the interval.\n v2m := ((2-hs*ga)*alpha-(1+hh*fa)*v2[1] +hs*ka)/(1-hh*fa);\n v2p := ((2-hs*gb)*beta-(1-hh*fb)*v2[n] +hs*kb)/(1+hh*fb);\n \n # Calculate the derivati ves at the ends.\n d2m := (v2[1]-v2m)/h2;\n d2p \+ := (v2p-v2[n])/h2;\n end if;\n elif j=3 then\n v3 := t;\n if incdrvs then\n d3 := array(1..n0); \+ \n for i from 1 to n0 do\n k := 8*i;\n \+ d3[i] := (v3[k+1]-v3[k-1])/h2;\n end do;\n \+ \n # Extend the solution at the ends of the interval. \n v3m := ((2-hs*ga)*alpha-(1+hh*fa)*v3[1]+hs*ka)/(1-hh*fa) ;\n v3p := ((2-hs*gb)*beta-(1-hh*fb)*v3[n]+hs*kb)/(1+hh*fb) ;\n \n # Calculate the derivatives.\n \+ d3m := (v3[1]-v3m)/h2;\n d3p := (v3p-v3[n])/h2;\n \+ end if;\n elif j=4 then\n v4 := t;\n if incdrvs t hen\n d4 := array(1..n0); \n for i from 1 to n0 do\n k := 16*i;\n d4[i] := (v4[k+1]-v4 [k-1])/h2;\n end do;\n\n # Extend the solution a t the ends of the interval.\n v4m := ((2-hs*ga)*alpha-(1+hh *fa)*v4[1]+hs*ka)/(1-hh*fa);\n v4p := ((2-hs*gb)*beta-(1-hh *fb)*v4[n]+hs*kb)/(1+hh*fb);\n \n # Calculate th e derivatives.\n d4m := (v4[1]-v4m)/h2;\n d4p := (v4p-v4[n])/h2;\n end if;\n else # j=5\n v5 := t ;\n if incdrvs then\n d5 := array(1..n0); \+ \n for i from 1 to n0 do\n k := 32*i;\n \+ d5[i] := (v5[k+1]-v5[k-1])/h2;\n end do;\n\n \+ # Extend the solution at the ends of the interval.\n \+ v5m := ((2-hs*ga)*alpha-(1+hh*fa)*v5[1]+hs*ka)/(1-hh*fa);\n \+ v5p := ((2-hs*gb)*beta-(1-hh*fb)*v5[n]+hs*kb)/(1+hh*fb);\n \+ \n # Calculate the derivatives.\n d5m := (v5[1] -v5m)/h2;\n d5p := (v5p-v5[n])/h2;\n end if;\n \+ end if;\n lastn := n;\n n := n + n + 1;\n h := evalf(h /2); # Halve the step-size.\n end do;\n if xtrplt=0 then\n fo r i from 1 to n0 do\n u[i] := v0[i];\n end do;\n if in cdrvs then\n for i from 1 to n0 do\n d[i] := d0[i];\n end do;\n dm := d0m;\n dp := d0p;\n end \+ if;\n elif xtrplt=1 then\n ext := (x1,x0) -> (4*x1-x0)/3; \+ \n for i from 1 to n0 do\n u[i] := evalf(ext(v1[2*i],v0[i ]));\n end do;\n if incdrvs then \n for i f rom 1 to n0 do\n d[i] := evalf(ext(d1[i],d0[i]));\n \+ end do;\n dm := evalf(ext(d1m,d0m));\n dp := evalf(ex t(d1p,d0p));\n end if;\n elif xtrplt=2 then\n ext := (x2,x 1,x0) -> (64*x2-20*x1+x0)/45;\n for i from 1 to n0 do\n u[i ] := evalf(ext(v2[4*i],v1[2*i],v0[i]));\n end do;\n if incdr vs then \n for i from 1 to n0 do\n d[i] := evalf(ext(d2[i],d1[i],d0[i]));\n end do;\n dm := eval f(ext(d2m,d1m,d0m));\n dp := evalf(ext(d2p,d1p,d0p));\n e nd if;\n elif xtrplt=3 then\n ext := (x3,x2,x1,x0) -> (4096*x3- 1344*x2+84*x1-x0)/2835;\n for i from 1 to n0 do\n u[i] := e valf(ext(v3[8*i],v2[4*i],v1[2*i],v0[i]));\n end do;\n if inc drvs then \n for i from 1 to n0 do\n d[i] \+ := evalf(ext(d3[i],d2[i],d1[i],d0[i]));\n end do;\n dm := evalf(ext(d3m,d2m,d1m,d0m));\n dp := evalf(ext(d3p,d2p,d1p ,d0p));\n end if;\n elif xtrplt=4 then\n ext := (x4,x3,x2, x1,x0) ->\n (1048576*x4-348160*x3+22848*x2-340*x1+x0)/7229 25;\n for i from 1 to n0 do\n u[i] := evalf(ext(v4[16*i],v3 [8*i],v2[4*i],v1[2*i],v0[i]));\n end do;\n if incdrvs then\n for i from 1 to n0 do\n d[i] := evalf(ext(d4[i],d3 [i],d2[i],d1[i],d0[i]));\n end do;\n dm := evalf(ext(d 4m,d3m,d2m,d1m,d0m));\n dp := evalf(ext(d4p,d3p,d2p,d1p,d0p)); \n end if;\n else # xtrplt=5\n ext := (x5,x4,x3,x2,x1,x0) \+ -> (1073741824*x5-357564416*x4+\n 23744512*x3-371008*x2 +1364*x1-x0)/739552275;\n for i from 1 to n0 do\n u[i] := e valf(ext(v5[32*i],v4[16*i],v3[8*i],v2[4*i],v1[2*i],v0[i]));\n end do;\n if incdrvs then\n for i from 1 to n0 do\n \+ d[i] := evalf(ext(d5[i],d4[i],d3[i],d2[i],d1[i],d0[i]));\n \+ end do;\n dm := evalf(ext(d5m,d4m,d3m,d2m,d1m,d0m));\n \+ dp := evalf(ext(d5p,d4p,d3p,d2p,d1p,d0p));\n end if;\n end if; \n\n if outpt='points' then\n Digits := saveDigits;\n retu rn evalf([[a,alpha],\n op(zip((x,y)->[x,y],origxvals,convert(u, list))),[b,beta]]);\n elif outpt='derivpts' then\n Digits := sa veDigits;\n return evalf([[a,dm],\n op(zip((x,y)->[x,y],or igxvals,convert(d,list))),[b,dp]]);\n elif outpt='points_pair' then \n return evalf([[a,alpha],\n op(zip((x,y)->[x,y],origxv als,convert(u,list))),[b,beta]]),\n evalf([[a,dm],\n \+ op(zip((x,y)->[x,y],origxvals,convert(d,list))),[b,dp]]);\n else # member(outpt,\{'localtaylor','derivtaylor','proc_pair'\})\n # \+ Obtain formulas for all the derivatives.\n dn := array(2..ordr); \n dx := array(2..ordr);\n dx[2] := kx-fx*diff(y(x),x)-gx*y( x); \n dn[2] := unapply(evalf(subs(\{y(x)=y,diff(y(x),x)=dy\},dx[ 2])),x,y,dy);\n for i from 3 to ordr do\n dx[i] := simpli fy(subs(diff(y(x),x$2)=dx[2],\n \+ diff(dx[i-1],x)));\n dn[i] := unapply(evalf(subs(\{y(x)=y,dif f(y(x),x)=dy\},\n dx[i])),x,y,d y); \n end do;\n xvals := [a,op(origxvals),b];\n yv als := [alpha,op(convert(u,list)),beta];\n dvals := [dm,op(conver t(d,list)),dp];\n \n # Evaluate the derivatives and collect \+ the data.\n soln := NULL;\n for j from 1 to n0+2 do\n \+ drvs := xvals[j],yvals[j],dvals[j];\n # Calculate the higher derivatives.\n for i from 2 to ordr do\n drval := \+ traperror(evalf(dn[i](xvals[j],yvals[j],dvals[j])));\n if d rval = lasterror or not type(drval,numeric) then\n error \"evaluation of higher derivative failed at %1\", evalf(xvals[j],save Digits)\n end if;\n drvs := drvs,drval;\n \+ end do;\n soln := soln,[drvs];\n end do;\n Digits \+ := saveDigits;\n if outpt='localtaylor' then\n return sub s(\{_SOLN=[soln],_DERIV=false\},eval(loctaylor));\n elif outpt='d erivtaylor' then\n return subs(\{_SOLN=[soln],_DERIV=true\},ev al(loctaylor));\n else # outpt='proc_pair' \n return subs (\{_SOLN=[soln],_DERIV=false\},eval(loctaylor)),\n subs (\{_SOLN=[soln],_DERIV=true\},eval(loctaylor));\n end if; \n en d if; \nend proc: # of desolveFD" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 48 "Examples are given in the sections which follow." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 0 9 "desolveFD" }{TEXT -1 19 ": discrete examples" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 4 "Note" }{TEXT -1 22 " : The utility routine " }{TEXT 0 14 "comparewithfcn" }{TEXT -1 5 " . . " }{HYPERLNK 17 "comparewithfcn" 1 "" "comparewithfcn" }{TEXT -1 30 " is needed for these examples." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 1" }}{PARA 0 " " 0 "" {TEXT -1 19 " The SHM equation " }{XPPEDIT 18 0 "d^2*y/(d*x^2) +y = 0;" "6#/,&*(%\"dG\"\"#%\"yG\"\"\"*&F&F)*$%\"xGF'F)!\"\"F)F(F)\"\" !" }{TEXT -1 30 " with the boundary conditions " }{XPPEDIT 18 0 "y(0) \+ = 0" "6#/-%\"yG6#\"\"!F'" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "y(1) = 1 " "6#/-%\"yG6#\"\"\"F'" }{TEXT -1 18 " has the solution " }{XPPEDIT 18 0 "y(x) = sin(x)/sin(1);" "6#/-%\"yG6#%\"xG*&-%$sinG6#F'\"\"\"-F*6# F,!\"\"" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ndsolve(\{de,bc\},y(x));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6#\"\"\" F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%\"yG6#%\"xG*&-%$sinG6#\"\"\"! \"\"-F*F&F," }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 4 "Note" }{TEXT -1 16 ": The procedure " }{TEXT 0 14 "comparewithf cn" }{TEXT -1 31 " is used here with the option \"" }{TEXT 267 17 "err ytype=absolute" }{TEXT -1 43 "\" to give the absolute error at each po int." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 184 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1;\n soln := desolveFD(\{de,bc\},y(x),steps=20,extrapolate=0,output=points, info=true);\ncomparewithfcn(soln,sin(x)/sin(1),x,errtype=absolute);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$ G6$F-\"\"#\"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/ -%\"yG6#\"\"!F*/-F(6#\"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Xapp lying~finite~difference~method~with~no~extrapolationG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"#>%*equation sG" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%solnG777$$\"\"!F(F'7$$\"+++++ ]!#6$\"+;5sRfF,7$$\"+++++5!#5$\"+t#fk=\"F27$$\"+++++:F2$\"+'H!)fx\"F27 $$\"+++++?F2$\"+o81hBF27$$\"+++++DF2$\"+(yR-%HF27$$\"+++++IF2$\"+2w17N F27$$\"+++++NF2$\"+d_6vSF27$$\"+++++SF2$\"+?^(zi%F27$$\"+++++XF2$\"+W] Ep^F27$$F+F2$\"+1=j(p&F27$$\"+++++bF2$\"+*[a<@'F27$$\"+++++gF2$\"+&yZ. r'F27$$\"+++++lF2$\"+6_;#>(F27$$\"+++++qF2$\"+DA+cwF27$$\"+++++vF2$\"+ L#*p+\")F27$$\"+++++!)F2$\"+$\\W^_)F27$$\"+++++&)F2$\"+#*oFG*)F27$$\"+ ++++!*F2$\"+*f)34$*F27$$\"+++++&*F2$\"+%eFmm*F27$$\"\"\"F(Fdq" }} {PARA 6 "" 1 "" {TEXT -1 81 " 0 0 function va l: 0 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .05 .059397210 function val: .059395000 abs \+ err: 2.2100e-06" }}{PARA 6 "" 1 "" {TEXT -1 81 " .1 .1186 45927 function val: .118641544 abs err: 4.3835e-06" }}{PARA 6 "" 1 "" {TEXT -1 81 " .15 .17759803 function val: \+ .177591545 abs err: 6.4843e-06" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .2 .236106137 function val: .23609766 abs err: 8. 4764e-06" }}{PARA 6 "" 1 "" {TEXT -1 81 " .25 .294023979 \+ function val: .294013654 abs err: 1.0324e-05" }}{PARA 6 "" 1 " " {TEXT -1 81 " .3 .351206761 function val: .3511947 67 abs err: 1.1993e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " .35 \+ .407511526 function val: .407498076 abs err: 1.3449e-05 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .4 .462797512 functio n val: .462782852 abs err: 1.4660e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " .45 .516926504 function val: .516910912 a bs err: 1.5592e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " .5 .5 69763181 function val: .569746964 abs err: 1.6217e-05" }} {PARA 6 "" 1 "" {TEXT -1 81 " .55 .621175449 function va l: .621158945 abs err: 1.6504e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " .6 .671034779 function val: .671018352 abs \+ err: 1.6427e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " .65 .7192 16521 function val: .719200563 abs err: 1.5958e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " .7 .765600223 function val: \+ .765585147 abs err: 1.5076e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .75 .810069923 function val: .810056166 abs err: 1. 3757e-05" }}{PARA 6 "" 1 "" {TEXT -1 81 " .8 .852514449 \+ function val: .852502468 abs err: 1.1982e-05" }}{PARA 6 "" 1 " " {TEXT -1 81 " .85 .892827689 function val: .8928179 57 abs err: 9.7325e-06" }}{PARA 6 "" 1 "" {TEXT -1 81 " .9 \+ .93090886 function val: .930901866 abs err: 6.9941e-06 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .95 .966662758 functio n val: .966659005 abs err: 3.7534e-06" }}{PARA 6 "" 1 "" {TEXT -1 81 " 1 1 function val: 1 a bs err: 0.0000e-01" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 " " 1 "" {TEXT -1 48 " Maximum absolute error: 1.6504e-05" }}{PARA 6 "" 1 "" {TEXT -1 57 " obtained for the input va lue: .55 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 " " 1 "" {TEXT -1 45 " Mean absolute error: 1.0189e-05" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 110 "The poin ts of the discrete numerical solution can be plotted along with the gr aph of the analytical solution. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 88 "plot([sin(x)/sin(1),soln],x= 0..1,color=[red,black],\n style=[line,point],symbol=circle);" }} {PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6'-%'CURVESG6%7S7$ $\"\"!F)F(7$$\"3emmm;arz@!#>$\"3q*yjv,e,f#F-7$$\"3[LL$e9ui2%F-$\"36L&> \"GG)G%[F-7$$\"3nmmm\"z_\"4iF-$\"3_;9,-j=utF-7$$\"3[mmmT&phN)F-$\"3,\" )*QrQy)=**F-7$$\"3CLLe*=)H\\5!#=$\"3svK4FQpW7FB7$$\"3gmm\"z/3uC\"FB$\" 3gAZ-]@dy9FB7$$\"3%)***\\7LRDX\"FB$\"3-*Q/!op7?FB7$$\"3w***\\i5`h(=FB$\"3eUL?pRb;AFB7$$\"3WLLL3En$4#FB$ \"3Y4(>e]s*pCFB7$$\"3qmm;/RE&G#FB$\"3%4!QWa'>Ap#FB7$$\"3\")*****\\K]4] #FB$\"3]_jY#yI7%HFB7$$\"3$******\\PAvr#FB$\"3YCN[]v))*=$FB7$$\"3)***** *\\nHi#HFB$\"3+A_/_,5GMFB7$$\"3jmm\"z*ev:JFB$\"3$[arE6HJk$FB7$$\"3?LLL 347TLFB$\"3wjqJ\"*)4r*QFB7$$\"3,LLLLY.KNFB$\"3'34pS_@26%FB7$$\"3w***\\ 7o7Tv$FB$\"3)z0r\")G7tN%FB7$$\"3'GLLLQ*o]RFB$\"3e!*\\_XyztXFB7$$\"3A++ D\"=lj;%FB$\"3\">(\\TL/G4[FB7$$\"31++vV&R$=(yVJ]FB7$$\"3W LL$e9Ege%FB$\"31(*3Ip@(4E&FB7$$\"3GLLeR\"3Gy%FB$\"3#G6yL2J'paFB7$$\"3c mm;/T1&*\\FB$\"3?$zqQA@Bp&FB7$$\"3&em;zRQb@&FB$\"3I>)y?/<4#fFB7$$\"3\\ ***\\(=>Y2aFB$\"3f?*=+My8a'FB7$$\"3'*)***\\i_QQgFB$\"3[hKK4KyZnFB7$ $\"3@***\\7y%3TiFB$\"3_i))e*fsY%pFB7$$\"35****\\P![hY'FB$\"3M7$G3UQ*fr FB7$$\"3kKLL$Qx$omFB$\"3OO0I#3u-N(FB7$$\"3!)*****\\P+V)oFB$\"3W=xu!*z< ]vFB7$$\"3?mm\"zpe*zqFB$\"3#44!H%>$GGxFB7$$\"3%)*****\\#\\'QH(FB$\"3S0 WFE;h>zFB7$$\"3GKLe9S8&\\(FB$\"3/&>LubHj4)FB7$$\"3R***\\i?=bq(FB$\"3'R /2pwVvF)FB7$$\"3\"HLL$3s?6zFB$\"35\"[GzWs6X)FB7$$\"3a***\\7`Wl7)FB$\"3 &pHw(zM6H')FB7$$\"3#pmmm'*RRL)FB$\"3?)R!zO-r'z)FB7$$\"3Qmm;a<.Y&)FB$\" 3wmz$p])=k*)FB7$$\"3=LLe9tOc()FB$\"3z*GYd\"zHE\"*FB7$$\"3u******\\Qk\\ *)FB$\"3%)>Sn!y,_+P)3M%*FB7$$\"3ImmmmxGp $*FB$\"3=`6zs%4ad*FB7$$\"3A++D\"oK0e*FB$\"3;1$)odd%>s*FB7$$\"3A++v=5s# y*FB$\"3el^wKt8e)*FB7$$\"\"\"F)Fbz-%'COLOURG6&%$RGBG$\"*++++\"!\")F(F( -%&STYLEG6#%%LINEG-F$6%77F'7$$\"3G+++++++]F-$\"3$)*****f,@(RfF-7$$\"3/ +++++++5FB$\"3%******HFfk=\"FB7$$\"3%**************\\\"FB$\"37+++'H!)f x\"FB7$$\"35+++++++?FB$\"31+++o81hBFB7$$\"3++++++++DFB$\"3A+++(yR-%HFB 7$$\"3))**************HFB$\"34+++2w17NFB7$$\"3w*************\\$FB$\"3) )*****pD:^2%FB7$$\"3A+++++++SFB$\"3A+++?^(zi%FB7$$\"35+++++++XFB$\"3') *****R/l#p^FB7$$\"3++++++++]FB$\"3u*****f!=j(p&FB7$$\"3U+++++++bFB$\"3 $)******)[a<@'FB7$$\"3w**************fFB$\"3S+++&yZ.r'FB7$$\"3A+++++++ lFB$\"31+++6_;#>(FB7$$\"3a**************pFB$\"3Q+++DA+cwFB7$$\"3++++++ ++vFB$\"3]+++L#*p+\")FB7$$\"3U+++++++!)FB$\"3x*****H\\W^_)FB7$$\"3w*** **********\\)FB$\"3(******>*oFG*)FB7$$\"3A+++++++!*FB$\"3_+++*f)34$*FB 7$$\"3a*************\\*FB$\"3W+++%eFmm*FBFaz-Fez6&FgzF)F)F)-F\\[l6#%&P OINTG-%'SYMBOLG6#%'CIRCLEG-%+AXESLABELSG6$Q\"x6\"Q!F^bl-%%VIEWG6$;F(Fb z%(DEFAULTG" 1 2 4 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 " Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 70 "A more accurate solution can be obtained by increasing \+ the value the \"" }{TEXT 267 11 "extrapolate" }{TEXT -1 89 "\". Increa sing the value by 1 roughly doubles the number of linear equations to \+ be solved." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 173 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1; \nsoln:=desolveFD(\{de,bc\},y(x),extrapolate=1,output=points,info=true ):\ncomparewithfcn(soln,sin(x)/sin(1),x,errtype=absolute);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\" \"#\"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6 #\"\"!F*/-F(6#\"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~ finite~difference~method~with~extrapolation~at~levelG\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"#>%*eq uationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~sy stem~withG\"#R%*equationsG" }}{PARA 6 "" 1 "" {TEXT -1 81 " 0 \+ 0 function val: 0 abs err: 0.0000e-01 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .05 .059395000 functio n val: .059395000 abs err: 2.1000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .1 .118641543 function val: .118641544 a bs err: 5.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .15 .1 77591545 function val: .177591545 abs err: 6.0000e-10" }} {PARA 6 "" 1 "" {TEXT -1 81 " .2 .23609766 function va l: .23609766 abs err: 8.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .25 .294013653 function val: .294013654 abs \+ err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .3 .3511 94766 function val: .351194767 abs err: 1.2000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .35 .407498075 function val: \+ .407498076 abs err: 1.3000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .4 .462782851 function val: .462782852 abs err: 1. 4000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .45 .516910911 \+ function val: .516910912 abs err: 1.5000e-09" }}{PARA 6 "" 1 " " {TEXT -1 81 " .5 .569746962 function val: .5697469 64 abs err: 1.6000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .55 \+ .621158943 function val: .621158945 abs err: 1.6000e-09 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .6 .67101835 functio n val: .671018352 abs err: 1.6000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .65 .719200561 function val: .719200563 a bs err: 1.6000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .7 .7 65585145 function val: .765585147 abs err: 1.5000e-09" }} {PARA 6 "" 1 "" {TEXT -1 81 " .75 .810056165 function va l: .810056166 abs err: 1.3000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .8 .852502467 function val: .852502468 abs \+ err: 1.2000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .85 .8928 17956 function val: .892817957 abs err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .9 .930901865 function val: \+ .930901866 abs err: 8.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .95 .966659005 function val: .966659005 abs err: 5. 0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " 1 1 \+ function val: 1 abs err: 0.0000e-01" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 "" 1 "" {TEXT -1 48 " Ma ximum absolute error: 1.6000e-09" }}{PARA 6 "" 1 "" {TEXT -1 57 " \+ obtained for the input value: .5 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 "" 1 "" {TEXT -1 45 " Me an absolute error: 1.0100e-09" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 63 "We can construct the points for the deriv ative of the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 183 "de := diff(y(x),x$2)+y(x)=0;\nbc : = y(0)=0,y(1)=1;\nderiv := desolveFD(\{de,bc\},steps=20,extrapolate=2, output=derivpts,info=true):\ncomparewithfcn(deriv,cos(x)/sin(1),x,errt ype=absolute);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$- %\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6#\"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~difference~method~with~extrapol ation~at~levelG\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tr idiagonal~system~withG\"#>%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"#R%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"#z%*eq uationsG" }}{PARA 6 "" 1 "" {TEXT -1 81 " 0 1.188395106 \+ function val: 1.188395106 abs err: 0.0000e-01" }}{PARA 6 "" 1 " " {TEXT -1 81 " .05 1.186909921 function val: 1.1869099 22 abs err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .1 \+ 1.18245808 function val: 1.18245808 abs err: 0.0000e-01 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .15 1.17505071 functio n val: 1.17505071 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .2 1.164706324 function val: 1.164706325 a bs err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .25 1.1 5145078 function val: 1.15145078 abs err: 0.0000e-01" }} {PARA 6 "" 1 "" {TEXT -1 81 " .3 1.135317208 function va l: 1.135317208 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .35 1.116345934 function val: 1.116345935 abs \+ err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .4 1.0945 84377 function val: 1.094584378 abs err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .45 1.070086929 function val: 1 .07008693 abs err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .5 1.042914821 function val: 1.042914822 abs err: 1. 0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .55 1.01313597 \+ function val: 1.01313597 abs err: 0.0000e-01" }}{PARA 6 "" 1 " " {TEXT -1 81 " .6 .980824805 function val: .9808248 06 abs err: 2.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .65 \+ .94606209 function val: .94606209 abs err: 1.0000e-10 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .7 .908934712 functio n val: .908934712 abs err: 1.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .75 .869535471 function val: .869535471 a bs err: 2.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .8 .8 27962844 function val: .827962844 abs err: 0.0000e-01" }} {PARA 6 "" 1 "" {TEXT -1 81 " .85 .784320741 function va l: .784320741 abs err: 1.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .9 .738718244 function val: .738718244 abs \+ err: 2.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .95 .6912 69337 function val: .691269337 abs err: 2.0000e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " 1 .642092616 function val: \+ .642092616 abs err: 2.0000e-10" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# %!G" }}{PARA 6 "" 1 "" {TEXT -1 48 " Maximum absolute err or: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 57 " obtained \+ for the input value: .05 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6# %!G" }}{PARA 6 "" 1 "" {TEXT -1 45 " Mean absolute error: 3.4762e-10" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 94 "Points for the derivative can be obtained along with points for the solution via the option ''" }{TEXT 267 18 "output=points_pair" } {TEXT -1 3 "''." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 224 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y( 1)=1;\n(pts,pts2) := desolveFD(\{de,bc\},output=points_pair,extrapolat e=2):\nplot([pts$3,pts2$3],style=point,color=[black$3,blue$3],\n \+ symbol=map(op,[[circle,diamond,cross]$2]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"F* F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F (6#\"\"\"F." }}{PARA 13 "" 1 "" {GLPLOT2D 369 305 305 {PLOTDATA 2 "6+- %'CURVESG6%777$$\"\"!F)F(7$$\"3G+++++++]!#>$\"3ykN@:+]RfF-7$$\"3/+++++ ++5!#=$\"3)**3itV:k=\"F37$$\"3%**************\\\"F3$\"3KKE[_a\"fx\"F37 $$\"35+++++++?F3$\"3]a3&Qgw4O#F37$$\"3++++++++DF3$\"3N#H#GVl8SHF37$$\" 3))**************HF3$\"3%G.\\DnZ>^$F37$$\"3w*************\\$F3$\"3M(Q@ ;w!)\\2%F37$$\"3A+++++++SF3$\"3>\"4\"p^F37$$\"3++++++++]F3$\"3+FJiO'pup&F37$$\"3U+++++++bF3$\"3!QiR rW*e6iF37$$\"3w**************fF3$\"3A9:(*=N=5nF37$$\"3A+++++++lF3$\"3Q *)>gEc+#>(F37$$\"3a**************pF3$\"3ev+pl9&el(F37$$\"3++++++++vF3$ \"3Q&H/Kmh05)F37$$\"3U+++++++!)F3$\"3!eX^_nC]_)F37$$\"3w************* \\)F3$\"3d.vNl&z\"G*)F37$$\"3A+++++++!*F3$\"3TzhDc'=!4$*F37$$\"3a***** ********\\*F3$\"3!>Sd&[+fm'*F37$$\"\"\"F)Ffq-%'COLOURG6&%$RGBGF)F)F)-% 'SYMBOLG6#%'CIRCLEG-F$6%F&Fhq-F]r6#%(DIAMONDG-F$6%F&Fhq-F]r6#%&CROSSG- F$6%777$F($\"3_1zx0^R)=\"!#<7$F+$\"3#yyZ8#*4p=\"F`s7$F1$\"3sP]C!3eC=\" F`s7$F7$\"35RRv420v6F`s7$F<$\"3cNIWCjqk6F`s7$FA$\"3)GN)))z2X^6F`s7$FF$ \"3pBz/3sJN6F`s7$FK$\"34Z\"\\W$fM;6F`s7$FP$\"3erfRxVe%4\"F`s7$FU$\"3eI yWHp3q5F`s7$FZ$\"3AqlY@[\"H/\"F`s7$Fin$\"3C$=r&pf885F`s7$F^o$\"3q>)GQ0 [#3)*F37$Fco$\"3ww![)**3ig%*F37$Fho$\"3+JQh?rM*3*F37$F]p$\"3_N&=sqa`p) F37$Fbp$\"3Mz$3bVG'z#)F37$Fgp$\"3;*fcYS2K%yF37$F\\q$\"3ELm&*RC=(Q(F37$ Faq$\"3!=-FjO$p7pF37$Ffq$\"3;4FMfh#4U'F3-Fiq6&F[rF(F($\"*++++\"!\")F\\ r-F$6%F\\sF]wFbr-F$6%F\\sF]wFgr-%+AXESLABELSG6$Q!6\"Fiw-%&STYLEG6#%&PO INTG-%%VIEWG6$%(DEFAULTGFbx" 1 5 0 1 10 0 2 9 1 4 2 1.000000 44.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Exampl e 2" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 258 "" 0 " " {TEXT -1 36 "Consider the boundary value problem " }}{PARA 256 "" 0 "" {TEXT -1 3 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+dy/dx+y = 0;" "6#/,( *(%\"dG\"\"#%\"yG\"\"\"*&F&F)*$%\"xGF'F)!\"\"F)*&%#dyGF)%#dxGF-F)F(F) \"\"!" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F' " }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(1) = 1" "6#/-%\"yG6#\"\"\"F'" } {TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 123 "Since the differential equation is linear and homogeneous with constant coefficients, an ana lytical solution can be found. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 129 "de := diff(y(x),x$2)+diff(y (x),x)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ndesolve(\{de,bc\},y(x),info=true ):\ng := unapply(simplify(rhs(%)),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"-F(6$F*F-F2F*F 2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F( 6#\"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%8auxiliary~equation~.~. ~G/,(*$)%\"mG\"\"#\"\"\"F*F(F*F*F*\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%+roots~.~.~G,&#\"\"\"\" \"#!\"\"*&^##F&F'F&\"\"$F+F&,&#F&F'F(*&^##F(F'F&F,F+F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%6general~s olution~.~.~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%\"yG6#%\"xG,&*(&% \"CG6#\"\"\"F--%$expG6#,$*&\"\"#!\"\"F'F-F4F--%$sinG6#,$*(F3F4\"\"$#F- F3F'F-F-F-F-*(&F+6#F3F-F.F--%$cosGF7F-F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Afrom~the~initial~condit ions~.~.~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/\"\"!&%\"CG6#\"\"#" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#/\"\"\"*&-%$expG6##!\"\"\"\"#F$,&*&&% \"CG6#F$F$-%$sinG6#,$*&F+F*\"\"$#F$F+F$F$F$*&&F/6#F+F$-%$cosGF3F$F$F$ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%-so~that~.~.~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/&%\"CG6#\"\" \"*&-%$expG6##F'\"\"#F'-%$sinG6#,$*&F-!\"\"\"\"$F,F'F3" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/&%\"CG6#\"\"#\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGf*6#%\"xG6\"6$%)ope ratorG%&arrowGF(*(-%$expG6#,&#\"\"\"\"\"#F2*&#F2F3F29$F2!\"\"F2-%$sinG 6#,$*&F3F7\"\"$F1F2F7-F96#,$*&F1F2*&F=F1F6F2F2F2F2F(F(F(" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 159 "A discrete numeri cal solution can be found by the finite difference method. We start wi th 20 steps ( this is the default number of steps) and extrapolate onc e." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 157 "de := diff(y(x),x$2)+diff(y(x),x)+y(x)=0;\nbc := y(0 )=0,y(1)=1;\nsoln := desolveFD(\{de,bc\},extrapolate=1,output=points,i nfo=true);\ncomparewithfcn(soln,g(x),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"-F(6$F*F-F2 F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/ -F(6#\"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~di fference~method~with~extrapolation~at~levelG\"\"\"" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"#>%*equationsG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wit hG\"#R%*equationsG" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%solnG777$$\" \"!F(F'7$$\"+++++]!#6$\"+_VpP\"*F,7$$\"+++++5!#5$\"+Agu!y\"F27$$\"++++ +:F2$\"+m\")4,EF27$$\"+++++?F2$\"+N(*4vLF27$$\"+++++DF2$\"+SU7.TF27$$ \"+++++IF2$\"+q!Rcy%F27$$\"+++++NF2$\"+t(*>BaF27$$\"+++++SF2$\"+,WW;gF 27$$\"+++++XF2$\"+Kz3mlF27$$F+F2$\"+un\"H2(F27$$\"+++++bF2$\"+lLyPvF27 $$\"+++++gF2$\"+u3ghzF27$$\"+++++lF2$\"+7!Q`M)F27$$\"+++++qF2$\"+jR,!p )F27$$\"+++++vF2$\"+OMp'**)F27$$\"+++++!)F2$\"+]=[m#*F27$$\"+++++&)F2$ \"+a1_+&*F27$$\"+++++!*F2$\"+&y#)**p*F27$$\"+++++&*F2$\"+u#og')*F27$$ \"\"\"F(Fdq" }}{PARA 6 "" 1 "" {TEXT -1 79 " 0 0 \+ function val: 0 rel err: infinity" }}{PARA 6 "" 1 "" {TEXT -1 81 " .05 .091376944 function val: .091376 945 rel err: 1.9699e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .1 \+ .178074602 function val: .178074606 rel err: 1.8532e-0 8" }}{PARA 6 "" 1 "" {TEXT -1 81 " .15 .260109817 functi on val: .260109822 rel err: 1.9223e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .2 .337509974 function val: .33750998 \+ rel err: 1.7777e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .25 \+ .410312424 function val: .410312431 rel err: 1.7304e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .3 .478563907 function \+ val: .478563915 rel err: 1.6090e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .35 .542319977 function val: .542319985 r el err: 1.4936e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .4 .6 0164444 function val: .601644449 rel err: 1.4294e-08" }} {PARA 6 "" 1 "" {TEXT -1 81 " .45 .656608793 function va l: .656608802 rel err: 1.3098e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .5 .707291677 function val: .707291686 rel \+ err: 1.2300e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .55 .7537 78337 function val: .753778345 rel err: 1.0879e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .6 .796160087 function val: \+ .796160095 rel err: 9.5458e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .65 .834533801 function val: .834533809 rel err: 8. 9871e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .7 .869001396 \+ function val: .869001403 rel err: 7.7100e-09" }}{PARA 6 "" 1 " " {TEXT -1 81 " .75 .899669344 function val: .8996693 49 rel err: 6.1134e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .8 \+ .926648185 function val: .92664819 rel err: 4.9641e-09 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .85 .950052065 functio n val: .950052069 rel err: 3.9998e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .9 .969998279 function val: .969998281 r el err: 2.1650e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .95 .9 86606827 function val: .986606829 rel err: 1.6217e-09" }} {PARA 6 "" 1 "" {TEXT -1 81 " 1 1 function va l: 1 rel err: 1.0000e-10" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 "" 1 "" {TEXT -1 48 " Maximum relati ve error: 1.9699e-08" }}{PARA 6 "" 1 "" {TEXT -1 57 " obt ained for the input value: .05 " }}{PARA 6 "" 1 "" {TEXT -1 67 " excluding any cases where the function value is zero ." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 110 "Th e points of the discrete numerical solution can be plotted along with \+ the graph of the analytical solution. " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 87 "plot([g(x),soln],x=0..1, color=[red,black],\n style=[line,point],symbol=circle);" }} {PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6'-%'CURVESG6%7S7$ $\"\"!F)F(7$$\"3emmm;arz@!#>$\"38=#*Gz'36/%F-7$$\"3[LL$e9ui2%F-$\"3?oB 5K.#[[(F-7$$\"3nmmm\"z_\"4iF-$\"3f\"eX<,;x7\"!#=7$$\"3[mmmT&phN)F-$\"3 :Oi*\\G#[#>#F:7$$\"3%)***\\7LRDX\"F:$\"3R()\\%\\OD__#F:7$$\"3]mm\"z R'ok;F:$\"3gXIA'3O6'GF:7$$\"3w***\\i5`h(=F:$\"3mC9AUUo(=$F:7$$\"3WLLL3 En$4#F:$\"3zSTy0)y\\^$F:7$$\"3qmm;/RE&G#F:$\"3SM%*)o\"H1'z$F:7$$\"3\") *****\\K]4]#F:$\"3?!Gq^`kW5%F:7$$\"3$******\\PAvr#F:$\"3q6+v93h0WF:7$$ \"3)******\\nHi#HF:$\"3!e)R_n+1l'>IdF:7$$\"3'GLLLQ*o]RF:$\"3UEjzP\")))ff F:7$$\"3A++D\"=lj;%F:$\"35'H'p(QIT?'F:7$$\"31++vV&RY2aF:$\"3/Gc\"*z7([X(F:7$$\"39mm;zXu9cF:$\"3cI=e`*R' QwF:7$$\"3l******\\y))GeF:$\"3HZymq87@yF:7$$\"3'*)***\\i_QQgF:$\"3i*o$ eq$oC*zF:7$$\"3@***\\7y%3TiF:$\"3gm?ma#p::)F:7$$\"35****\\P![hY'F:$\"3 `oF$R0-1K)F:7$$\"3kKLL$Qx$omF:$\"39%3pOW>dY)F:7$$\"3!)*****\\P+V)oF:$ \"3?K]mMZn8')F:7$$\"3?mm\"zpe*zqF:$\"3\"\\PV*e9eT()F:7$$\"3%)*****\\# \\'QH(F:$\"3!G/2>.#zu))F:7$$\"3GKLe9S8&\\(F:$\"3![3>a[))Q**)F:7$$\"3R* **\\i?=bq(F:$\"3br9+Ev)>6*F:7$$\"3\"HLL$3s?6zF:$\"3u&H!\\=^@@#*F:7$$\" 3a***\\7`Wl7)F:$\"3a3mQ@x/H$*F:7$$\"3#pmmm'*RRL)F:$\"3;!>@!4\\oE%*F:7$ $\"3Qmm;a<.Y&)F:$\"3S?27%*3J?&*F:7$$\"3=LLe9tOc()F:$\"3v%\\(R,h.2'*F:7 $$\"3u******\\Qk\\*)F:$\"3;sPC/hU\"o*F:7$$\"3CLL$3dg6<*F:$\"3k%>WwQL0w *F:7$$\"3ImmmmxGp$*F:$\"36*f8^j.e#)*F:7$$\"3A++D\"oK0e*F:$\"3/K\\>Z,y* ))*F:7$$\"3A++v=5s#y*F:$\"3u')>Cg+nX**F:7$$\"\"\"F)Fbz-%'COLOURG6&%$RG BG$\"*++++\"!\")F(F(-%&STYLEG6#%%LINEG-F$6%77F'7$$\"3G+++++++]F-$\"3O+ ++_VpP\"*F-7$$\"3/+++++++5F:$\"3))*****>-Y2y\"F:7$$\"3%************** \\\"F:$\"3))*****f;)4,EF:7$$\"35+++++++?F:$\"3/+++N(*4vLF:7$$\"3++++++ ++DF:$\"34+++SU7.TF:7$$\"3))**************HF:$\"37+++q!Rcy%F:7$$\"3w** ***********\\$F:$\"3M+++t(*>BaF:7$$\"3A+++++++SF:$\"3b*****4SWk,'F:7$$ \"35+++++++XF:$\"3')*****>$z3mlF:7$$\"3++++++++]F:$\"3')*****Rx;H2(F:7 $$\"3U+++++++bF:$\"3N+++lLyPvF:7$$\"3w**************fF:$\"3%******R(3g hzF:7$$\"3A+++++++lF:$\"3!)*****>,Q`M)F:7$$\"3a**************pF:$\"3]* ****H'R,!p)F:7$$\"3++++++++vF:$\"3[*****fV$p'**)F:7$$\"3U+++++++!)F:$ \"39+++]=[m#*F:7$$\"3w*************\\)F:$\"3z*****Rl?0]*F:7$$\"3A+++++ ++!*F:$\"3y*****\\y#)**p*F:7$$\"3a*************\\*F:$\"3a+++u#og')*F:F az-Fez6&FgzF)F)F)-F\\[l6#%&POINTG-%'SYMBOLG6#%'CIRCLEG-%+AXESLABELSG6$ Q\"x6\"Q!F^bl-%%VIEWG6$;F(Fbz%(DEFAULTG" 1 2 4 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 3" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 37 "Consider the 2 point boundary problem" }}{PARA 256 "" 0 "" {TEXT -1 3 " " } {XPPEDIT 18 0 "d^2*y/(d*x^2)+3;" "6#,&*(%\"dG\"\"#%\"yG\"\"\"*&F%F(*$% \"xGF&F(!\"\"F(\"\"$F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx+2 = sin( x);" "6#/,&*&%#dyG\"\"\"%#dxG!\"\"F'\"\"#F'-%$sinG6#%\"xG" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(0) = 1" "6#/-%\"yG6#\"\"!\"\"\"" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(1) = 0" "6#/-%\"yG6#\"\"\"\"\"!" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 57 " involving a 2nd order linear diffe rential equation with " }{TEXT 259 21 "constant coefficients" }{TEXT -1 39 ". An analytical solution can be found. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 293 "de := diff( y(x),x$2)+3*diff(y(x),x)+2*y(x)=sin(x);\nbc := y(0)=1,y(1)=0;\ndesolve (\{de,bc\},y(x),info=true);\ng := unapply(rhs(%),x);\n# procedure to e valuate coefficients of an expression numerically\nevalf_coeff := (u,d )->frontend(evalf[d],[u],[\{`+`,`*`,realcons\},\{\}]):\n'g(x)'=evalf_c oeff(g(x),14);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$- %\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&\"\"$F2-F(6$F*F-F2F2*&F1F2F*F2F2-%$ sinGF," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!\"\"\" /-F(6#F+F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%8auxiliary~equation~.~. ~G/,(*$)%\"mG\"\"#\"\"\"F**&\"\"$F*F(F*F*F)F*\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%+roots~.~.~G! \"\"!\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%F-FEF-F0*&F+F-F:F-F-F%\"gGf *6#%\"xG6\"6$%)operatorG%&arrowGF(,**&#\"\"$\"#5\"\"\"-%$cosG6#9$F1!\" \"*&#F1F0F1-%$sinGF4F1F1*&#F1F0F1**,(*&F/F1-F36#F1F1F1-F:FAF6*&\"#8F1- %$expG6#!\"#F1F6F1-FFFAF1,&F1F6-FF6#F6F1F6-FF6#,$F5F6F1F1F6*&F8F1**,(* &FDF1FKF1F6*&F/F1F@F1F1FBF6F1FIF1FJF6-FF6#,$*&\"\"#F1F5F1F6F1F1F1F(F(F (" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%\"gG6#%\"xG,**&$\"/++++++I!#9 \"\"\"-%$cosGF&F-!\"\"*&$\"/++++++5F,F--%$sinGF&F-F-*&$\"/6bm6#R@%F,F- -%$expG6#,$F'F0F-F0*&$\"/^l;@R@ " 0 "" {MPLTEXT 1 0 175 "de := diff(y(x),x$2)+3*diff(y(x),x)+2*y(x)=sin(x);\n bc := y(0)=1,y(1)=0;\nsoln := desolveFD(\{de,bc\},steps=40,extrapolate =2,output=points,info=true):\ncomparewithfcn(soln,g(x),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\" \"#\"\"\"*&\"\"$F2-F(6$F*F-F2F2*&F1F2F*F2F2-%$sinGF," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!\"\"\"/-F(6#F+F*" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$%hnapplying~finite~difference~method~with~extrap olation~at~levelG\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~ tridiagonal~system~withG\"#R%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"#z%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$f\"%* equationsG" }}{PARA 6 "" 1 "" {TEXT -1 81 " 0 1 \+ function val: 1.000000001 rel err: 1.0000e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .025 .929044409 function val: .9290 4441 rel err: 7.5346e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .05 \+ .862112257 function val: .862112257 rel err: 1.0439e -09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .075 .799008459 func tion val: .79900846 rel err: 1.1264e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .1 .739547401 function val: .739547402 rel err: 2.7044e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .125 \+ .683552464 function val: .683552465 rel err: 1.0241e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .15 .630855579 function \+ val: .630855579 rel err: 3.1703e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .175 .581296804 function val: .581296805 r el err: 1.5483e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .2 .5 34723918 function val: .534723918 rel err: 7.4805e-10" }} {PARA 6 "" 1 "" {TEXT -1 81 " .225 .490992038 function va l: .490992039 rel err: 1.2220e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .25 .449963255 function val: .449963255 rel \+ err: 2.2224e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .275 .4115 06285 function val: .411506285 rel err: 9.7204e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .3 .37549614 function val: \+ .37549614 rel err: 1.0653e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .325 .341813814 function val: .341813815 rel err: 1. 4628e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .35 .310345988 \+ function val: .310345989 rel err: 1.6111e-09" }}{PARA 6 "" 1 " " {TEXT -1 81 " .375 .280984743 function val: .2809847 43 rel err: 7.1178e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .4 \+ .25362729 function val: .25362729 rel err: 1.1828e-09 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .425 .228175719 functio n val: .228175719 rel err: 1.3148e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .45 .204536753 function val: .204536754 r el err: 9.7782e-10" }}{PARA 6 "" 1 "" {TEXT -1 81 " .475 .1 82621517 function val: .182621517 rel err: 2.1903e-09" }} {PARA 6 "" 1 "" {TEXT -1 81 " .5 .162345317 function va l: .162345317 rel err: 1.8479e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .525 .143627434 function val: .143627434 rel \+ err: 1.3925e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .55 .1263 90924 function val: .126390924 rel err: 2.3736e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .575 .110562431 function val: \+ .110562432 rel err: 2.7134e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .6 .096072008 function val: .096072008 rel err: 2. 4981e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .625 .082852944 \+ function val: .082852944 rel err: 4.5864e-09" }}{PARA 6 "" 1 " " {TEXT -1 81 " .65 .070841606 function val: .0708416 06 rel err: 2.5409e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .675 \+ .059977286 function val: .059977286 rel err: 2.6677e-09 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .7 .05020205 functio n val: .050202050 rel err: 1.9920e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .725 .041460607 function val: .041460607 r el err: 3.8591e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .75 .0 33700173 function val: .033700173 rel err: 2.6706e-09" }} {PARA 6 "" 1 "" {TEXT -1 81 " .775 .026870345 function va l: .026870345 rel err: 3.3494e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .8 .020922987 function val: .020922988 rel \+ err: 1.0515e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .825 .0158 12116 function val: .015812116 rel err: 1.2649e-09" }}{PARA 6 "" 1 "" {TEXT -1 81 " .85 .011493792 function val: \+ .011493792 rel err: 2.3491e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .875 .007926020 function val: .007926021 rel err: 2. 7126e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .9 .005068654 \+ function val: .005068654 rel err: 2.5056e-08" }}{PARA 6 "" 1 " " {TEXT -1 81 " .925 .002883303 function val: .0028833 03 rel err: 5.5839e-08" }}{PARA 6 "" 1 "" {TEXT -1 81 " .95 \+ .001333247 function val: .001333247 rel err: 7.6505e-08 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .975 .000383354 functio n val: .000383354 rel err: 4.3980e-07" }}{PARA 6 "" 1 "" {TEXT -1 83 " 1 0 function val: 1.000000000e-10 \+ rel err: 1.0000e+00" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 "" 1 "" {TEXT -1 48 " Maximum relative error: 1.0000e+0 0" }}{PARA 6 "" 1 "" {TEXT -1 57 " obtained for the input value: 1 " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 110 "The points of the discrete numerical solution can b e plotted along with the graph of the analytical solution. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "pl ot([g(x),soln],x=0..1,color=[red,black],\n style=[line,point],symbol= circle);" }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6'-%'C URVESG6%7S7$$\"\"!F)$\"\"\"F)7$$\"3emmm;arz@!#>$\"3#p@R,&)e!z$*!#=7$$ \"3[LL$e9ui2%F/$\"3C\"fXUOpQ'))F27$$\"3nmmm\"z_\"4iF/$\"3;6l_%[]7J)F27 $$\"3[mmmT&phN)F/$\"3[$H)>+!RCy(F27$$\"3CLLe*=)H\\5F2$\"3Ia:kgnO#G(F27 $$\"3gmm\"z/3uC\"F2$\"3#4&pge!e6%oF27$$\"3%)***\\7LRDX\"F2$\"3%GL_;/='f$F27$$\"3?LLL347TLF2$\"3x)HD8FO4I$F27$$\"3,LLLLY.KNF2$\"3)fu WH<#okIF27$$\"3w***\\7o7Tv$F2$\"3>+o,mv=0GF27$$\"3'GLLLQ*o]RF2$\"3%>ur RG%p)e#F27$$\"3A++D\"=lj;%F2$\"3%H)y*ozR[O#F27$$\"31++vV&Rona!o>F27$$\"3GLLeR\"3Gy%F2$\"3;6'4q f*o)z\"F27$$\"3cmm;/T1&*\\F2$\"37ED[EIIF;F27$$\"3&em;zRQb@&F2$\"3+yB\\ S!z6Y\"F27$$\"3\\***\\(=>Y2aF2$\"3%>'>tf4.E8F27$$\"39mm;zXu9cF2$\"3gRW qBZb*=\"F27$$\"3l******\\y))GeF2$\"3Wy)*eFo[e5F27$$\"3'*)***\\i_QQgF2$ \"3_Q2\"4nMhR*F/7$$\"3@***\\7y%3TiF2$\"3-()oW#=@.L)F/7$$\"35****\\P![h Y'F2$\"3x/D=&yd*RsF/7$$\"3kKLL$Qx$omF2$\"38x/CTz=SjF/7$$\"3!)*****\\P+ V)oF2$\"3!)=4R49UfaF/7$$\"3?mm\"zpe*zqF2$\"3w\"zIj;O'HZF/7$$\"3%)***** \\#\\'QH(F2$\"3(\\O1p#f%H+%F/7$$\"3GKLe9S8&\\(F2$\"3-7a\"o5=UQ$F/7$$\" 3R***\\i?=bq(F2$\"3Db\"[\">k'>!GF/7$$\"3\"HLL$3s?6zF2$\"3+>)Ge_>PH#F/7 $$\"3a***\\7`Wl7)F2$\"3tJ)))>_BM#=F/7$$\"3#pmmm'*RRL)F2$\"3lzozbTfF9F/ 7$$\"3Qmm;a<.Y&)F2$\"3_TIx%yq\"y5F/7$$\"3=LLe9tOc()F2$\"3y0My3afWy!#?7 $$\"3u******\\Qk\\*)F2$\"37/:)[RQ*)e&Fjx7$$\"3CLL$3dg6<*F2$\"3PLt$pN#= -NFjx7$$\"3ImmmmxGp$*F2$\"3;YK-x-km?Fjx7$$\"3A++D\"oK0e*F2$\"3\">^LpH% yL'*!#@7$$\"3A++v=5s#y*F2$\"3hn#\\^)3g;IF_z7$F*$!3O\"*GchvbvF!#M-%'COL OURG6&%$RGBG$\"*++++\"!\")F(F(-%&STYLEG6#%%LINEG-F$6%7KF'7$$\"39++++++ +DF/$\"3g*******3W/H*F27$$\"3G+++++++]F/$\"32+++lD7@')F27$$\"3s******* ******\\(F/$\"3k*****>f%3!*zF27$$\"3/+++++++5F2$\"3i*****H,uaR(F27$$\" 3+++++++]7F2$\"3=+++RY_NoF27$$\"3%**************\\\"F2$\"3$)*****zyb&3 jF27$$\"3))************\\+++\\G1:TF27$$\"3))**************HF2$\"3 =+++)Rh\\v$F27$$\"37++++++]KF2$\"3F+++W\"Q\"=MF27$$\"3w*************\\ $F2$\"3&******R))fM5$F27$$\"3+++++++]PF2$\"3&******\\UZ)4GF27$$\"3A+++ ++++SF2$\"3G+++'*GFODF27$$\"3))************\\UF2$\"33+++\">d Q%H&G)F/7$$\"3A+++++++lF2$\"3e+++A1;%3(F/7$$\"3W++++++]nF2$\"39+++a&Gx *fF/7$$\"3a**************pF2$\"3\")********\\??]F/7$$\"3y************ \\sF2$\"37+++921YTF/7$$\"3++++++++vF2$\"35+++^s,qLF/7$$\"3A++++++]xF2$ \"3')*****4[Mqo#F/7$$\"3U+++++++!)F2$\"3')*****zu)H#4#F/7$$\"3c******* *****\\#)F2$\"3')*****zh67e\"F/7$$\"3w*************\\)F2$\"3++++.#z$\\ 6F/7$$\"3+++++++]()F2$\"3$******\\G?g#zFjx7$$\"3A+++++++!*F2$\"3%)**** *H2a'o]Fjx7$$\"3W++++++]#*F2$\"39+++RJI$)GFjx7$$\"3a*************\\*F2 $\"3%******z>ZKL\"Fjx7$$\"3y************\\(*F2$\"3()*****RJPN$QF_z7$F* F(-Fjz6&F\\[lF)F)F)-Fa[l6#%&POINTG-%+AXESLABELSG6$Q\"x6\"Q!Fdhl-%'SYMB OLG6#%'CIRCLEG-%%VIEWG6$;F(F*%(DEFAULTG" 1 2 4 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 4" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 27 "The boundary v alue problem " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 3 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)-x;" "6#,&*(%\"dG\"\"#% \"yG\"\"\"*&F%F(*$%\"xGF&F(!\"\"F(F+F," }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx+y = 0;" "6#/,&*&%#dyG\"\"\"%#dxG!\"\"F'%\"yGF'\"\"!" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F'" }{TEXT -1 2 " , " }{XPPEDIT 18 0 "y(1) = 1" "6#/-%\"yG6#\"\"\"F'" }{TEXT -1 1 " " }} {PARA 0 "" 0 "" {TEXT -1 25 "has the trivial solution " }{XPPEDIT 18 0 "y(x)=x" "6#/-%\"yG6#%\"xGF'" }{TEXT -1 28 ", as can readily be chec ked." }}{PARA 0 "" 0 "" {TEXT -1 8 "Maple's " }{TEXT 0 6 "dsolve" } {TEXT -1 24 " can find this solution." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 110 "de := diff(y(x),x$2)-x* diff(y(x),x)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ndsolve(\{de,bc\},y(x)):\ng := unapply(rhs(%),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%% diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&F-F2-F(6$F*F-F2!\"\"F*F2\" \"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6# \"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGf*6#%\"xG6\"6$%)oper atorG%&arrowGF(9$F(F(F(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 121 "Even without any extraploation, a discrete numeri cal solution obtained by the finite difference method exhibits no erro r." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 166 "de := diff(y(x),x$2)-x*diff(y(x),x)+y(x)=0;\nbc := y (0)=0,y(1)=1;\nsoln := desolveFD(\{de,bc\},extrapolate=0,output=points ):\ncomparewithfcn(soln,g(x),x,errtype=absolute);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*& F-F2-F(6$F*F-F2!\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bc G6$/-%\"yG6#\"\"!F*/-F(6#\"\"\"F." }}{PARA 6 "" 1 "" {TEXT -1 81 " 0 \+ 0 function val: 0 abs err: 0.0 000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .05 .05 \+ function val: .05 abs err: 0.0000e-01" }}{PARA 6 "" 1 " " {TEXT -1 81 " .1 .1 function val: .1 \+ abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .15 \+ .15 function val: .15 abs err: 0.0000e-01 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .2 .2 functio n val: .2 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .25 .25 function val: .25 a bs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .3 .3 function val: .3 abs err: 0.0000e-01" }} {PARA 6 "" 1 "" {TEXT -1 81 " .35 .35 function va l: .35 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .4 .4 function val: .4 abs \+ err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .45 .45 \+ function val: .45 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .5 .5 function val: \+ .5 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " \+ .55 .55 function val: .55 abs err: 0. 0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .6 .6 \+ function val: .6 abs err: 0.0000e-01" }}{PARA 6 "" 1 " " {TEXT -1 81 " .65 .65 function val: .65 \+ abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .7 \+ .7 function val: .7 abs err: 0.0000e-01 " }}{PARA 6 "" 1 "" {TEXT -1 81 " .75 .75 functio n val: .75 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .8 .8 function val: .8 a bs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .85 .8 5 function val: .85 abs err: 0.0000e-01" }} {PARA 6 "" 1 "" {TEXT -1 81 " .9 .9 function va l: .9 abs err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " .95 .95 function val: .95 abs \+ err: 0.0000e-01" }}{PARA 6 "" 1 "" {TEXT -1 81 " 1 1 \+ function val: 1 abs err: 0.0000e-01" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 "" 1 "" {TEXT -1 48 " \+ Maximum absolute error: 0.0000e-01" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 6 "" 1 "" {TEXT -1 45 " Mean absolute \+ error: 0.0000e-01" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 0 9 "desolveFD" }{TEXT -1 21 " : continuous examples" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" } }}{PARA 0 "" 0 "" {TEXT -1 69 "A problem with constructing continuous \+ solutions using the procedure " }{TEXT 0 9 "desolveFD" }{TEXT -1 70 " \+ is that the accuracy of the resulting solution cannot be guaranteed. \+ " }}{PARA 0 "" 0 "" {TEXT -1 102 "However, we can get some idea of how well it performs by making comparisons with analytical solutions." }} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 1" }}{PARA 0 "" 0 "" {TEXT -1 35 "Consider the differential equation " }{XPPEDIT 18 0 "d^2* y/(d*x^2)+y = 0;" "6#/,&*(%\"dG\"\"#%\"yG\"\"\"*&F&F)*$%\"xGF'F)!\"\"F )F(F)\"\"!" }{TEXT -1 30 " with the boundary conditions " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F'" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "y(1) = 1" "6#/-%\"yG6#\"\"\"F'" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 17 "The solution is " }{XPPEDIT 18 0 "y(x) = sin(x)/sin(1); " "6#/-%\"yG6#%\"xG*&-%$sinG6#F'\"\"\"-F*6#F,!\"\"" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ndsolve(\{de,bc \},y(x));\ng := unapply(rhs(%),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%#deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"F*F2\"\"!" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6#\"\"\"F. " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%\"yG6#%\"xG*&-%$sinG6#\"\"\"!\" \"-F*F&F," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGf*6#%\"xG6\"6$%)ope ratorG%&arrowGF(*&-%$sinG6#\"\"\"!\"\"-F.6#9$F0F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 298 "The commands below construct a continu ous numerical solution which agrees with the analytical solution to th e extent that the error graph shows differences between the values of \+ the numerical and analytical solutions of only a few units in the last decimal place when working in 10 digit precision." }}{PARA 0 "" 0 "" {TEXT -1 20 "The option used is \"" }{TEXT 267 18 "output=localtaylor " }{TEXT -1 6 "\" or \"" }{TEXT 267 16 "output=procedure" }{TEXT -1 3 "\". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 80 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ng n := desolveFD(\{de,bc\},y(x));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%# deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6#\"\"\"F." }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 37 "The value of the numerical procedure " }{TEXT 267 2 "gn" }{TEXT -1 143 " which \+ provides a continuous solution for the boundary value problem can be c ompared with that of the analytial solution at specific values of " } {TEXT 268 1 "x" }{TEXT -1 17 " between 0 and 1." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "xx := evalf( sqrt(5)/3);\nevalf(gn(xx));\nevalf(g(xx));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#xxG$\"+B*fNX(!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# $\"+jJ4g!)!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+kJ4g!)!#5" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 47 "The graph of the continuous numerical solution " }{TEXT 267 2 "gn" }{TEXT -1 90 " appears to be identical to the graph of the analytical solution e xcept that the graph of " }{TEXT 267 2 "gn" }{TEXT -1 17 " only exists for " }{TEXT 269 1 "x" }{TEXT -1 22 " in the interval from " } {XPPEDIT 18 0 "x=0" "6#/%\"xG\"\"!" }{TEXT -1 4 " to " }{XPPEDIT 18 0 "x=1" "6#/%\"xG\"\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "plot(['gn'(x),g(x)],x=-. 2..1.2,color=[red,green],thickness=[1,2]);" }}{PARA 13 "" 1 "" {GLPLOT2D 431 290 290 {PLOTDATA 2 "6&-%'CURVESG6%7N7$$\"+NIeJm!#8$\"+X -%4)yF*7$$\"+pwgg:!#7$\"+jxha=F07$$\"+Mq0eCF0$\"+2+9@HF07$$\")k]bL!#5$ \"++*fw)RF07$$\"+0,e?=!#6$\"+p*[M;#FA7$$\"*d4cI$F;$\"+[[lFRFA7$$\"*\\V hE'F;$\"+`?yTuFA7$$\"*_;9J*F;$\"+We'\\5\"F;7$$\"+m%p$*>\"F;$\"+v+\">U \"F;7$$\"+b/L,:F;$\"+*yyux\"F;7$$\"+D8`/=F;$\"+tk(G8#F;7$$\"+X:s'4#F;$ \"+3m^tCF;7$$\"+e#e?O#F;$\"+N(G5y#F;7$$\"+s#pvn#F;$\"+jX7WJF;7$$\"+([[ [%HF;$\"+<,G\\MF;7$$\"+axvbKF;$\"+UO8,QF;7$$\"+P^'4`$F;$\"+v*G&4TF;7$$ \"+a7\"H$QF;$\"+,$)HWWF;7$$\"+i`V?TF;$\"+yjJfZF;7$$\"+0mV?WF;$\"+em!Q3 &F;7$$\"+'RJfp%F;$\"+vrwx`F;7$$\"+Z(*3$*\\F;$\"+s9E!p&F;7$$\"+ePv,`F;$ \"+=;`4gF;7$$\"+(oY/d&F;$\"+)z1GG'F;7$$\"+7CkgeF;$\"+)*4&Gd'F;7$$\"+\" *HWghF;$\"+&ezm'oF;7$$\"+o$RPX'F;$\"+(Rj\"[rF;7$$\"+&p=vt'F;$\"+QLm9uF ;7$$\"+asg_qF;$\"+m=c.xF;7$$\"+Q$GdL(F;$\"+*4Nm&zF;7$$\"+E0-QwF;$\"+V+ !)>#)F;7$$\"+y@%>\"zF;$\"+#\\'y^%)F;7$$\"*!4T6#)!\"*$\"+mp9)p)F;7$$\"* i(=$\\)Fhu$\"+.W$G#*)F;7$$\"*\\Dxy)Fhu$\"+9@7]\"*F;7$$\"*4!pv!*Fhu$\"+ =^mk$*F;7$$\"*NirP*Fhu$\"+#**[4e*F;7$$\"*&f^n'*Fhu$\"+0q-\"y*F;7$$\"+0 -)f\")*F;$\"+,e:!))*F;7$$\"*YWW'**Fhu$\"+*)o5x**F;7$$\"+Smkt**F;$\"+(* R/$)**F;7$$\"+?)[G)**F;$\"+^E(*))**F;7$$\"++50#***F;$\"+ZG*[***F;7$%*u ndefinedGF^y-%'COLOURG6&%$RGBG$\"*++++\"!\")$\"\"!FgyFfy-%*THICKNESSG6 #\"\"\"-F$6%7S7$$!35+++++++?!#=$!3G`1&Qgw4O#Fbz7$$!3%omm;%)R[p\"Fbz$!3 U(Ro/e5X+#Fbz7$$!3fLLe>;KH9Fbz$!3g#47d5@Gp\"Fbz7$$!3$omm\"4'=28\"Fbz$! 3)RD;!\\*y3M\"Fbz7$$!3/ommTEO,$)!#>$!3gAN\\6>(R&)*Fg[l7$$!3aNL$eMD)4`F g[l$!3`=sh'p0sI'Fg[l7$$!3))pm;HtGODFg[l$!3>**pi3$)y8IFg[l7$$\"3'e&*** \\P1bN$!#?$\"3O/DKq)fw)RFg\\l7$$\"3&)GL$3d4cI$Fg[l$\"3;\\#3%\\[lFRFg[l 7$$\"3s(***\\([VhE'Fg[l$\"3O=_%*\\?yTuFg[l7$$\"3:lmm;lT6$*Fg[l$\"3:k#[ P%e'\\5\"Fbz7$$\"39LL$eYp$*>\"Fbz$\"3*y%\\bu+\">U\"Fbz7$$\"3^*****\\XI 8]\"Fbz$\"3]y?&))yyux\"Fbz7$$\"3Y*****\\KJX!=Fbz$\"3,'=YDZwG8#Fbz7$$\" 3%)*****\\a@n4#Fbz$\"33B$)33m^tCFbz7$$\"3iKL3d#e?O#Fbz$\"3qip$QtG5y#Fb z7$$\"3-mmmr#pvn#Fbz$\"3mK#GAcCT9$Fbz7$$\"3Kmmm'[[[%HFbz$\"3c%)))p;,G \\MFbz7$$\"3w)**\\PvddD$Fbz$\"33\"Hv7kL6!QFbz7$$\"3clmmO^'4`$Fbz$\"3(> 9cX(*G&4TFbz7$$\"3I***\\PD6H$QFbz$\"3X*\\=7I)HWWFbz7$$\"3V***\\7ON/7%F bz$\"3-]!ytP;$fZFbz7$$\"3&fmmTgO/U%Fbz$\"3whGXdm!Q3&Fbz7$$\"3[mmT&RJfp %Fbz$\"3mwrHurwx`Fbz7$$\"3'GLLeu*3$*\\Fbz$\"3ID!*Qq9E!p&Fbz7$$\"3uJL3d Pv,`Fbz$\"3vg%ythJ&4gFbz7$$\"31***\\ioY/d&Fbz$\"3/e+%oz1GG'Fbz7$$\"3;K L$3TU1'eFbz$\"3qMS^'*4&Gd'Fbz7$$\"31*******)HWghFbz$\"3?#*zM%ezm'oFbz7 $$\"3m(***\\n$RPX'Fbz$\"3MCJ0'Rj\"[rFbz7$$\"3z***\\Pp=vt'Fbz$\"3%o%ocO Lm9uFbz7$$\"3K)***\\_sg_qFbz$\"3\">ScX'=c.xFbz7$$\"3zkmmO$GdL(Fbz$\"3W P&=$)4Nm&zFbz7$$\"3&******\\_?!QwFbz$\"3=w8NU+!)>#)Fbz7$$\"3#4L$3x@%> \"zFbz$\"37$p\"G\"\\'y^%)Fbz7$$\"3x*****\\*3T6#)Fbz$\"31Vc%>'p9)p)Fbz7 $$\"3_kmT?w=$\\)Fbz$\"3]&p`MSMG#*)Fbz7$$\"3-++v)[Dxy)Fbz$\"3)))>!\\8@7 ]\"*Fbz7$$\"33mmm\"4!pv!*Fbz$\"3yp.))=^mk$*Fbz7$$\"3Y)**\\PMirP*Fbz$\" 3e==z()*[4e*Fbz7$$\"3OMLL`f^n'*Fbz$\"3Ia\\!o+F5y*Fbz7$$\"3GKL$eXWW'**F bz$\"3?_\"of)o5x**Fbz7$$\"3cm;/C9*e-\"!#<$\"3WTDiqwG;5Fggl7$$\"3++++R, &H0\"Fggl$\"3$QyrrZ\"eK5Fggl7$$\"3smm\"*zC'R3\"Fggl$\"3C/+V)eD.0\"Fggl 7$$\"3ELLL(G+<6\"Fggl$\"3q,g9%)3Ml5Fggl7$$\"3****\\PvXFT6Fggl$\"3aS4\\ _sW!3\"Fggl7$$\"3!***\\iU4ep6Fggl$\"33%yW,6@S4\"Fggl7$$\"3%*********** ***>\"Fggl$\"3Vlt:)oIw5\"Fggl-F`y6&FbyFfyFcyFfy-Fiy6#\"\"#-%+AXESLABEL SG6$Q\"x6\"Q!Fajl-%%VIEWG6$;$!\"#!\"\"$\"#7Fijl%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 253 "Plotting with 20 digit precision we see that the error graph shows differences between the values of the numerical and analytical solutions are smal l enough that the only differences occuring with 10 digit arithmetic w ould be caused by rounding errors. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "evalf(plot('gn'(x)-g(x),x=0 ..1,color=blue),20);" }}{PARA 13 "" 1 "" {GLPLOT2D 334 153 153 {PLOTDATA 2 "6&-%'CURVESG6#7at7$$\"\"!F)F(7$$\"5mmmmm;arz@!#@$!$i$F-7$ $\"5LLLL$e9ui2%F-$!$K'F-7$$\"5mmmmm\"z_\"4iF-$!$A*F-7$$\"5lmmmmT&phN)F -$!%W7F-7$$\"5LLLLe*=)H\\5!#?$!$e\"FB7$$\"5mmmm\"z/3uC\"FB$!$%=FB7$$\" 5++++DJ$RDX\"FB$!$3#FB7$$\"5mmmm\"zR'ok;FB$!$H#FB7$$\"5++++D1J:w=FB$!$ a#FB7$$\"5LLLLL3En$4#FB$!$\"HFB7$$\"5mmmm;/RE&G#FB$!$P$FB7$$\"5+++++D. &4]#FB$!$$QFB7$$\"5+++++vB_&FB7$$\"5*****\\7 y?X:!RFB$!$8&FB7$$\"5LLLLL$Q*o]RFBFip7$$\"5mmm;H#GF&eSFB$!$$\\FB7$$\"5 *******\\7=lj;%FB$!$![FB7$$\"5++]i!*y5?zTFB$!$z%FB7$$\"5+++Dcwp.#>%FB$ !$x%FB7$$\"5++D1RD\\X)>%FB$!$w%FB7$$\"5++](=U(G([?%FB$!$\"\\FB7$$\"5++ vo/B3H6UFBF^x7$$\"5+++](=x3x@%FB$!$!\\FB7$$\"5+++v=n0QVUFB$!$)[FB7$$\" 5++++]iB0pUFB$!$([FB7$$\"5+++]7`fR?VFB$!$$[FB7$$\"5*******\\PaR)fYFBFjo7$$\"5KLL$3F9NE&FB$!$(\\FB7$$\"5LLLLLe,]6`FB$!$,&FB7$$\"5** ***\\P%)f!\\N`FBFdp7$$\"5mmm;aQ5[f`FBFip7$$\"5****\\PfeiZr`FBFip7$$\"5 LLLeky9Z$Q&FBF^q7$$\"5***\\(=n)3p%*Q&FBF^q7$$\"5mm;zp)pmaR&FBFdt7$$\"5 LLeRs3VY,aFB$!$M&FB7$$\"5*******\\(=>Y2aFBFg_l7$$\"5LLL$e*[K56bFB$!$T& FB7$$\"5mmmm;zXu9cFB$!$Y&FB7$$\"5******\\(oR!GocFB$!$\\&FB7$$\"5LLLLe9 i\"=s&FB$!$_&FB7$$\"5*****\\PM7%e[dFB$!$`&FB7$$\"5mmm;HK?NvdFB$!$b&FB7 $$\"5LLLe9T*>@!eFB$!$N&FB7$$\"5**********\\y))GeFB$!$J&FB7$$\"5++++Dcl jLfFBF_t7$$\"5********\\i_QQgFBF^x7$$\"5+++](=-N(RhFB$!$q%FB7$$\"5**** ***\\7y%3TiFB$!$D%FB7$$\"5+++]P4kh`jFB$!$$RFB7$$\"5********\\P![hY'FB$ !$h$FB7$$\"5mmmmT5FEnlFB$!$L$FB7$$\"5KLLLL$Qx$omFB$!$8$FB7$$\"5mmmm;z) Qjx'FBFfdl7$$\"5*********\\P+V)oFBFfdl7$$\"5mmm\"Hd&\\@LpFBFfdl7$$\"5L LL$ek`H@)pFBFfdl7$$\"5m;z%\\!fQC))pFBFfdl7$$\"5***\\iS;=eV*pFBFfdl7$$ \"5L$3xJU]s/+(FB$!$;$FB7$$\"5mm;H#o#oe1qFBF]fl7$$\"5LL3_+sa\")=qFBF]fl 7$$\"5*****\\(=hN->tFB$!$G$FB7$$\"5LLLeR(>#=WtFB$!$I$FB7$$\"5****\\PfL3Mp tFBFdhl7$$\"5mmm;zp%*\\%R(FBFdhl7$$\"5*****\\(=Un\"[W(FBF]gl7$$\"5KLLL e9S8&\\(FB$!$2$FB7$$\"5*******\\i?=bq(FB$!$h#FB7$$\"5mmm;H2FO3yFB$!$V# FB7$$\"5KLLLL3s?6zFB$!$;#FB7$$\"5mmm;zpe()=!)FB$!$'=FB7$$\"5*******\\7 `Wl7)FB$!$c\"FB7$$\"5KLL$e*[ACI#)FB$!$>\"FB7$$\"5lmmmmm*RRL)FB$!#%*FB7 $$\"5kmmmTge)*R%)FB$!#pFB7$$\"5lmmm;a<.Y&)FB$!#WFB7$$\"5KLLLe9tOc()FB$ \"#6FB7$$\"5mmm;H#e0I&))FB$\"#RFB7$$\"5**********\\Qk\\*)FB$\"#nFB7$$ \"5LL$3_]k)[j*)FB$\"#rFB7$$\"5mmmT5SMLx*)FB$\"#vFB7$$\"5LL3-jPeD%)*)FB $\"#yFB7$$\"5****\\i:N#y6**)FB$\"#!)FB7$$\"5mm\"H#oK15)**)FB$\"#\")FB7 $$\"5LLL$3-.B]+*FB$\"#`FB7$$\"5*****\\7.i7F.*FB$\"#]FB7$$\"5mmmmT5ASg! *FB$\"#[FB7$$\"5******\\i!R\"y:\"*FB$\"#XFB7$$\"5KLLL$3dg6<*FB$\"#TFB7 $$\"5)******\\(oTAq#*FB$\"#OFB7$$\"5lmmmmmxGp$*FB$\"#GFB7$$\"5)**\\7GQ d!\\#Q*FBFj`m7$$\"5JL$e*)4Q$p&R*FBFj`m7$$\"5)*\\7.d%y%H-%*FB$\"#dFB7$$ \"5lmT5:)='*)3%*FBFeam7$$\"5J$3xJ " 0 "" {MPLTEXT 1 0 217 "de := diff( y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ng_n := desolveFD(\{de,bc\},ex trapolate=1,steps=50,output=localtaylor);\ng := x -> sin(x)/sin(1); \+ evalf(plot('g_n'(x)-g(x),x=0..1,color=blue,numpoints=100),15) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$-%\"yG6#%\"xG- %\"$G6$F-\"\"#\"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bc G6$/-%\"yG6#\"\"!F*/-F(6#\"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %\"gGf*6#%\"xG6\"6$%)operatorG%&arrowGF(*&-%$sinG6#\"\"\"!\"\"-F.6#9$F 0F(F(F(" }}{PARA 13 "" 1 "" {GLPLOT2D 361 191 191 {PLOTDATA 2 "6&-%'CU RVESG6#7d[m7$$\"\"!F)F(7$$\"0IHHHz?k#!#<$\"&5S(F-7$$\"0geeeeTG&F-$\"'= ![\"F-7$$\"0DBBB)>0mF-$\"'A]=F-7$$\"0!zyyyBEzF-$\"'E?AF-7$$\"0B??qdne) F-$\"&`S#!#;7$$\"0b___xsC*F-$\"&.f#FD7$$\"0sooVPvd*F-$\"&Go#FD7$$\"0)[ [[tz2**F-$\"&`x#FD7$$\"055gs0Q-\"FD$!&dx%FD7$$\"0srrrJo0\"FD$!&Ko%FD7$ $\"0...`.m^\"FD$!&dR$FD7$$\"0MMMMvj(>FD$!&\"3@FD7$$\"0$QQ)31\\B#FD$!&U Q\"FD7$$\"0LLL$oV$\\#FD$!%+mFD7$$\"023e?-Fi#FD$!%!)HFD7$$\"0#GGyv'>v#F D$\"$R'FD7$$\"0>?XE+m\"GFD$\"%\\CFD7$$\"0dd2&HB\")GFD$\"%fUFD7$$\"0DwQ H\\N\"HFD$\"%l^FD7$$\"0%\\*pjle%HFD$\"%qgFD7$$\"0j8,)>=yHFD$\"%upFD7$$ \"0KKKK)\\5IFD$!&r%oFD7$$\"0BBBB()4`$FD$!&4R&FD7$$\"09999w90%FD$!&V$RF D7$$\"0&\\\\*p$[5VFD$!&&4KFD7$$\"0vvvD\"\\pXFD$!&Z[#FD7$$\"0;;m.&**)p% FD$!&A7#FD7$$\"0ccc\"))\\G[FD$!&)f8coF D$!&3r$FD7$$\"0&\\\\\\HH=pFD$!&p`$FD7$$\"0qppWt$\\pFD$!&,X$FD7$$\"0XWW %RX!)pFD$!&KO$FD7$$\"0>>>WM:,(FD$!')p3\"FD7$$\"0%RRR\\hUqFD$!'Jy5FD7$$ \"0'eee3\"pb(FD$!&([$*FD7$$\"0yxxx172)FD$!&R\"zFD7$$\"02111IvK)FD$!&() >(FD7$$\"0NMMM`Qe)FD$!%%['!#:7$$\"0][[)\\,7()FD$!%EhF`[l7$$\"0kiiiw,%) )FD$!%odF`[l7$$\"0rppWdU!*)FD$!%*e&F`[l7$$\"0ywwEQ$o*)FD$!%6aF`[l7$$\" 0JI!y'y.+*FD$!&\")G\"F`[l7$$\"0&QQ)3>C.*FD$!&#z7F`[l7$$\"0QP()\\fW1*FD $!&.F\"F`[l7$$\"0\"444**\\'4*FD$!&9E\"F`[l7$$\"0TTT\"*>Qi*FD$!&Y6\"F`[ l7$$\"0>>>*R6:5F`[l$!%z'*F`[l7$$\"0#HHzrLQ5F`[l$!%K!*F`[l7$$\"0mmmOg:1 \"F`[l$!%'Q)F`[l7$$\"0``.'>e77F`[l$!&5<\"F`[l7$$\"0MLL8L)Q7F`[l$!&\")4\"F`[l7$$\"0544H%3 l7F`[l$!&_-\"F`[l7$$\"0)ppp)4#y7F`[l$!%)))*F`[l7$$\"0'[[[aL\"H\"F`[l$! %B&*F`[l7$$\"0$==Voh%H\"F`[l$!%K%*F`[l7$$\"0!)yyB)*yH\"F`[l$!%U$*F`[l7 $$\"0xvDjz6I\"F`[l$!&=n\"F`[l7$$\"0uss-hWI\"F`[l$!&Gm\"F`[l7$$\"0omm\" Q-68F`[l$!&Zk\"F`[l7$$\"0hggg'e<8F`[l$!&li\"F`[l7$$\"0_^^J#=o8F`[l$!&m [\"F`[l7$$\"0UUU-y(=9F`[l$!&lM\"F`[l7$$\"0ZZ(**3vT9F`[l$!&JG\"F`[l7$$ \"0___xBZY\"F`[l$!&&>7F`[l7$$\"000I@5iZ\"F`[l$!&w=\"F`[l7$$\"0ed2l'p([ \"F`[l$!&e:\"F`[l7$$\"0%Qjp)RM\\\"F`[l$!&+9\"F`[l7$$\"055&)3$=*\\\"F`[ l$!&T7\"F`[l7$$\"0B[zpa?]\"F`[l$!&s&=F`[l7$$\"0O'Q2j#\\]\"F`[l$!&$\\=F `[l7$$\"0]Co\"zz2:F`[l$!&9%=F`[l7$$\"0jii_p1^\"F`[l$!&M$=F`[l7$$\"0#== oMIl:F`[l$!&Ho\"F`[l7$$\"0,,,TP*>;F`[l$!&B`\"F`[l7$$\"0wwwYyIk\"F`[l$! &'o9F`[l7$$\"0____>im\"F`[l$!&[S\"F`[l7$$\"0SSS0!zx;F`[l$!&HP\"F`[l7$$ \"0GGGeg$*o\"F`[l$!&4M\"F`[l7$$\"0DD]@`Ap\"F`[l$!&IL\"F`[l7$$\"0AAs%e9 &p\"F`[l$!&^K\"F`[l7$$\"0>>%z%Q!)p\"F`[l$!&qJ\"F`[l7$$\"0;;;6J4q\"F`[l $!&N/#F`[l7$$\"055gP;nq\"F`[l$!&x-#F`[l7$$\"0///k,Dr\"F`[l$!&=,#F`[l7$ $\"0IHHuQjw\"F`[l$!&T'=F`[l7$$\"0baa%eF`[l$!&FA#F`[l7$$\"0'f4A?d. >F`[l$!&Y@#F`[l7$$\"01c=*)G&4>F`[l$!&%)>#F`[l7$$\"0;;;w&[:>F`[l$!&@=#F `[l7$$\"0ONN!3xn>F`[l$!&&R?F`[l7$$\"0baa%e0??F`[l$!&m*=F`[l7$$\"0xvvq \\\\/#F`[l$!&'G=F`[l7$$\"0)pppN%)p?F`[l$!&3w\"F`[l7$$\"0fd2]!H#3#F`[l$ !&ns\"F`[l7$$\"0>==VPZ4#F`[l$!&Ep\"F`[l7$$\"0N$ek\"\\y4#F`[l$!&To\"F`[ l7$$\"0][t*3'45#F`[l$!&WR#F`[l7$$\"0l8,jsS5#F`[l$!&gQ#F`[l7$$\"0!)yGO% =2@F`[l$!&vP#F`[l7$$\"054%GyS8@F`[l$!&1O#F`[l7$$\"0RRRHJ'>@F`[l$!&QM#F `[l7$$\"0766cz:<#F`[l$!&G?#F`[l7$$\"0$GGGy_BAF`[l$!&<1#F`[l7$$\"0ih6>! QZAF`[l$!&p*>F`[l7$$\"0TSSbK7F#F`[l$!&@$>F`[l7$$\"0!)zateJG#F`[l$!&(** =F`[l7$$\"0>>p\"\\3&H#F`[l$!&t'=F`[l7$$\"00zAYm!)H#F`[l$!&$f=F`[l7$$\" 0!*Qw+[5I#F`[l$!&3c#F`[l7$$\"0v)*HbHSI#F`[l$!&Fb#F`[l7$$\"0fe$)46qI#F` [l$!&[a#F`[l7$$\"0Hy!*=uHJ#F`[l$!&(GDF`[l7$$\"0)zzzs$*=BF`[l$!&D^#F`[l 7$$\"0777F$RqBF`[l$!&PP#F`[l7$$\"0EEEE\\=U#F`[l$!&\\B#F`[l7$$\"0XW%>Md [CF`[l$!&F;#F`[l7$$\"0jiid(HvCF`[l$!&04#F`[l7$$\"0=nahy>[#F`[l$!&D2#F` [l7$$\"0trYlf')[#F`[l$!&W0#F`[l7$$\"0+uU<+?\\#F`[l$!&a/#F`[l7$$\"0FwQp S`\\#F`[l$!&j.#F`[l7$$\"0byM@\"o)\\#F`[l$!&t-#F`[l7$$\"0#33L<--DF`[l$! &#=FF`[l7$$\"0\"**[6QQ:DF`[l$!&Co#F`[l7$$\"0**)*)*)euGDF`[l$!&lk#F`[l7 $$\"0TSS!GFvDF`[l$!&>_#F`[l7$$\"0#===(*z@EF`[l$!&sR#F`[l7$$\"0TT\"*)[# pk#F`[l$!&)HBF`[l7$$\"0,,,1]?n#F`[l$!&AE#F`[l7$$\"0!3eXEh%o#F`[l$!&'GA F`[l7$$\"0gg5Bvrp#F`[l$!&\\>#F`[l7$$\"0bIu(eJ+FF`[l$!&b(GF`[l7$$\"0]+Q _cMq#F`[l$!&t'GF`[l7$$\"0Xq,<(f1FF`[l$!&*eGF`[l7$$\"0SSl\"yt4FF`[l$!&0 &GF`[l7$$\"0I!G4\">gr#F`[l$!&P$GF`[l7$$\"0???S+Bs#F`[l$!&r\"GF`[l7$$\" 0AAA#R@uFF`[l$!&!zEF`[l7$$\"0CCCWFh#GF`[l$!&2a#F`[l7$$\"0#==o5_^GF`[l$ !&IZ#F`[l7$$\"0SRRp9p(GF`[l$!&`S#F`[l7$$\"0!)y.5jK)GF`[l$!&%)Q#F`[l7$$ \"0>=o]6'*)GF`[l$!&:P#F`[l7$$\"0!z.5dy#*GF`[l$!&JO#F`[l7$$\"0fdK\"*ff* GF`[l$!&YN#F`[l7$$\"0Hxk6M\"**GF`[l$!&hM#F`[l7$$\"0)pp>$3B!HF`[l$!&b,$ F`[l7$$\"0xvD80]\"HF`[l$!&?)HF`[l7$$\"0baa%>qFHF`[l$!&%[HF`[l7$$\"0GFF ATo(HF`[l$!&'=GF`[l7$$\"0+++]!)f-$F`[l$!&))o#F`[l7$$\"0(pp%*3E`IF`[l$! &nh#F`[l7$$\"0%RR*GT03$F`[l$!&Xa#F`[l7$$\"0>o!)Qht3$F`[l$!&k_#F`[l7$$ \"0VUn[\"=%4$F`[l$!&%3DF`[l7$$\"0czg`\"f(4$F`[l$!&&*\\#F`[l7$$\"0o;ae, 55$F`[l$!&g:$F`[l7$$\"0!QvM;T/JF`[l$!&r9$F`[l7$$\"0\"44%o@y5$F`[l$!&\" QJF`[l7$$\"0SR9)=Y@JF`[l$!&D5$F`[l7$$\"0)yyy?5NJF`[l$!&n1$F`[l7$$\"0[Z ZPFT=$F`[l$!&$QHF`[l7$$\"0222n_JB$F`[l$!&)4GF`[l7$$\"0YXX:D$fKF`[l$!&6 u#F`[l7$$\"0%QQQw\\&G$F`[l$!&Cn#F`[l7$$\"0WV$f2/#H$F`[l$!&`l#F`[l7$$\" 0...)Qe)H$F`[l$!&\"QEF`[l7$$\"0%GySa&=I$F`[l$!&AG$F`[l7$$\"0ji7+F^I$F` [l$!&QF$F`[l7$$\"0VU$o2]$F`[l$!&VS$F`[l7$$\"0?pJK4S]$F`[l$!& fR$F`[l7$$\"0')4mK]s]$F`[l$!&wQ$F`[l7$$\"0^]+L\"\\5NF`[l$!&#zLF`[l7$$ \"098QMbM_$F`[l$!&fM$F`[l7$$\"0wvvN>k`$F`[l$!&FJ$F`[l7$$\"0UTT'=@&e$F` [l$!&r=$F`[l7$$\"0222P/Sj$F`[l$!&:1$F`[l7$$\"0\\[[[0&fOF`[l$!&e*HF`[l7 $$\"0!**)*)f1]o$F`[l$!&-$HF`[l7$$\"0DDv(=Q\"p$F`[l$!&Q\"HF`[l7$$\"0hgg :dxp$F`[l$!&t*GF`[l7$$\"0GG`zW4q$F`[l$!&O^$F`[l7$$\"0'ffMC8/PF`[l$!&a] $F`[l7$$\"0kjQ2?tq$F`[l$!&t\\$F`[l7$$\"0JJJr20r$F`[l$!&\"*[$F`[l7$$\"0 ---FeKs$F`[l$!&oX$F`[l7$$\"0tss#)3gt$F`[l$!&UU$F`[l7$$\"0yxx#G(ey$F`[l $!&tH$F`[l7$$\"0$GGGotNQF`[l$!&-<$F`[l7$$\"0qp>KQ='QF`[l$!&P5$F`[l7$$ \"0dcc\")Rz)QF`[l$!&s.$F`[l7$$\"0UnB]-7*QF`[l$!&)GIF`[l7$$\"0Gy!*=lW*Q F`[l$!&/-$F`[l7$$\"09*yvys(*QF`[l$!&A,$F`[l7$$\"0++Dc!*4!RF`[l$!&Ih$F` [l7$$\"0s@f$f^2RF`[l$!&mf$F`[l7$$\"0VV$48/9RF`[l$!&,e$F`[l7$$\"0(o=c?4 FRF`[l$!&ua$F`[l7$$\"0III!G9SRF`[l$!&X^$F`[l7$$\"0VVV[?/*RF`[l$!&yQ$F` [l7$$\"0dcc;)pSSF`[l$!&5E$F`[l7$$\"0666E1k1%F`[l$!&i>$F`[l7$$\"0mllN9@ 4%F`[l$!&98$F`[l7$$\"0Z(\\oyK&4%F`[l$!&K7$F`[l7$$\"0HH/QT&)4%F`[l$!&^6 $F`[l7$$\"05hB*[v,TF`[l$!&.q$F`[l7$$\"0$HH/%o\\5%F`[l$!&@p$F`[l7$$\"0c c\"GaR6TF`[l$!&jn$F`[l7$$\"0@??XAy6%F`[l$!&.m$F`[l7$$\"0[Z(*\\w18%F`[l $!&#GOF`[l7$$\"0vuuaIN9%F`[l$!&jf$F`[l7$$\"0kjj)4_%>%F`[l$!&#pMF`[l7$$ \"0___U6bC%F`[l$!&AM$F`[l7$$\"0!44%))Q*oUF`[l$!&PG$F`[l7$$\"0HHHMmBH%F `[l$!&`A$F`[l7$$\"03%GvZH&H%F`[l$!&\"=KF`[l7$$\"0))Qw?B#)H%F`[l$!&1@$F `[l7$$\"0o$**R;:,VF`[l$!&+y$F`[l7$$\"0[[B2!3/VF`[l$!&Gx$F`[l7$$\"03eq$ p$*4VF`[l$!&$ePF`[l7$$\"0nnU$F`[l7$$\"0[ZZsQ1Z%F`[l$!&GO$F`[l7$$\"0DCC9aY\\%F`[l$!&P I$F`[l7$$\"0%Qjpgl(\\%F`[l$!&hH$F`[l7$$\"0VVo*zl+XF`[l$!&z%QF`[l7$$\"0 .`S#*fO]%F`[l$!&2%QF`[l7$$\"0ii7&=m1XF`[l$!&L$QF`[l7$$\"0\"=o0dm7XF`[l $!&)=QF`[l7$$\"0,,,cp'=XF`[l$!&U!QF`[l7$$\"0RR*osnIXF`[l$!&^x$F`[l7$$ \"0yxx(\\oUXF`[l$!&fu$F`[l7$$\"0hhh'e*Qf%F`[l$!&:i$F`[l7$$\"0XXXv1^k%F `[l$!&p\\$F`[l7$$\"0<==V9'pYF`[l$!&uV$F`[l7$$\"0!444@7%p%F`[l$!&xP$F`[ l7$$\"0**\\(ob=(p%F`[l$!&.P$F`[l7$$\"044%G!\\-q%F`[l$!&Q!RF`[l7$$\"0=o !)[7Lq%F`[l$!&l*QF`[l7$$\"0FFx%fP1ZF`[l$!&#*)QF`[l7$$\"0YXq'G]7ZF`[l$! &W(QF`[l7$$\"0jjjyH'=ZF`[l$!&)fQF`[l7$$\"0++]i$)3t%F`[l$!&0$QF`[l7$$\" 0OOOYPJu%F`[l$!&6!QF`[l7$$\"0cccrivz%F`[l$!&1n$F`[l7$$\"0xww'z)>&[F`[l $!&,a$F`[l7$$\"0ssA5_b([F`[l$!&O[$F`[l7$$\"0oooB;\"**[F`[l$!&qU$F`[l7$ $\"0=$p`<1-\\F`[l$!&A%RF`[l7$$\"0n<0F2]!\\F`[l$!&`$RF`[l7$$\"0pJVTl]F`[l$!&jb$F`[l7$$\"0\"==V@gx]F`[l$!&u_$F`[l7 $$\"0vE*[gp$3&F`[l$!&H^$F`[l7$$\"0qrY&**y*3&F`[l$!&&)\\$F`[l7$$\"05&F`[l$!&E(RF`[l7$$\"0ST\"*Q`j7&F`[l$!&e\"RF`[l7$ $\"0@@@,H2:&F`[l$!&#fQF`[l7$$\"0OOO@bS?&F`[l$!&^t$F`[l7$$\"0^^^T\"Qd_F `[l$!&5h$F`[l7$$\"055&)G%))o_F`[l$!&Te$F`[l7$$\"0po=;(Q!G&F`[l$!&tb$F` [l7$$\"0)za)fQhG&F`[l$!&Ra$F`[l7$$\"0FF_.!*=H&F`[l$!&1`$F`[l7$$\"0#pc` dw%H&F`[l$!&R_$F`[l7$$\"0d1>ZTwH&F`[l$!&r^$F`[l7$$\"0@Y-><0I&F`[l$!&K* RF`[l7$$\"0'ee3HR.`F`[l$!&n)RF`[l7$$\"0..`l)RE`F`[l$!&S$RF`[l7$$\"0??? S/%\\`F`[l$!&9)QF`[l7$$\"0AAA71=S&F`[l$!&9w$F`[l7$$\"0CCC%y?aaF`[l$!&7 k$F`[l7$$\"0666@ioY&F`[l$!&Ah$F`[l7$$\"0)zzzl^zaF`[l$!&Ke$F`[l7$$\"0TT TwVe[&F`[l$!&(oNF`[l7$$\"0&[[[4<#\\&F`[l$!&Vb$F`[l7$$\"0cc1aM`\\&F`[l$ !&pa$F`[l7$$\"0GGG8)\\)\\&F`[l$!&'RNF`[l7$$\"0++]sh;]&F`[l$!&W*RF`[l7$ $\"0srrJD[]&F`[l$!&t)RF`[l7$$\"0YXX0M,`&F`[l$!&/$RF`[l7$$\"0>>>zUab&F` [l$!&M(QF`[l7$$\"0'\\\\*>Fgg&F`[l$!&&fPF`[l7$$\"0rqqg6ml&F`[l$!&bk$F`[ l7$$\"0QPi=6#pcF`[l$!&rh$F`[l7$$\"00/aw5=o&F`[l$!&()e$F`[l7$$\"0Q()\\b 5\")o&F`[l$!&Xd$F`[l7$$\"0rqXM5Wp&F`[l$!&/c$F`[l7$$\"0Qi$R-c(p&F`[l$!& Kb$F`[l7$$\"00aT852q&F`[l$!&m)RF`[l7$$\"0rX*G+'Qq&F`[l$!&(zRF`[l7$$\"0 QPP#*4qq&F`[l$!&G(RF`[l7$$\"0rq?34At&F`[l$!&q\"RF`[l7$$\"0///C3uv&F`[l $!&8'QF`[l7$$\"0]\\\\CDe!eF`[l$!&Uv$F`[l7$$\"0&\\\\\\ACaeF`[l$!&rk$F`[ l7$$\"0JIbEFt'eF`[l$!&!=OF`[l7$$\"0ml:G7/)eF`[l$!&\"*e$F`[l7$$\"0L$e*y ap)eF`[l$!&Yd$F`[l7$$\"0,,wH(\\$*eF`[l$!&+c$F`[l7$$\"0%)4;bon*eF`[l$!& Hb$F`[l7$$\"0o=c!)R+!fF`[l$!&T'RF`[l7$$\"0_F'f5J.fF`[l$!&p&RF`[l7$$\"0 POOJ#e1fF`[l$!&*\\RF`[l7$$\"022dM_F$fF`[l$!&J*QF`[l7$$\"0yxxPA*efF`[l$ !&k$QF`[l7$$\"0TSSD1)3gF`[l$!&!GPF`[l7$$\"0...8!pegF`[l$!&&>OF`[l7$$\" 010!Q_\"=2'F`[l$!&5f$F`[l7$$\"032dMS\\3'F`[l$!&Cc$F`[l7$$\"04e&**G]\"4 'F`[l$!&#[NF`[l7$$\"054MXl!)4'F`[l$!&R`$F`[l7$$\"0hM.tY85'F`[l$!&E#RF` [l7$$\"06gs+GY5'F`[l$!&d\"RF`[l7$$\"0i&=%G4z5'F`[l$!&(3RF`[l7$$\"0766c !>6hF`[l$!&=!RF`[l7$$\"0;:lxSu8'F`[l$!&g%QF`[l7$$\"0>>>*4pjhF`[l$!&,z$ F`[l7$$\"0VUU_;7@'F`[l$!&*)o$F`[l7$$\"0mll0U(eiF`[l$!&we$F`[l7$$\"0\"4 44K(=F'F`[l$!&(fNF`[l7$$\"0<;;O/]G'F`[l$!&<`$F`[l7$$\"0zyy$*p:H'F`[l$! &x^$F`[l7$$\"0UTT^N\")H'F`[l$!&P]$F`[l7$$\"0tsAI=9I'F`[l$!&$pQF`[l7$$ \"00//4,ZI'F`[l$!&C'QF`[l7$$\"0ON&yQ)zI'F`[l$!&d&QF`[l7$$\"0nmmmm7J'F` [l$!&)[QF`[l7$$\"0=<<(*GvL'F`[l$!&Tz$F`[l7$$\"0onnF\"zjjF`[l$!&%RPF`[l 7$$\"0000q+TT'F`[l$!&Xj$F`[l7$$\"0UUU75WY'F`[l$!&&HNF`[l7$$\"0SSl'o&pZ 'F`[l$!&M]$F`[l7$$\"0QQ)3O]*['F`[l$!&rZ$F`[l7$$\"0(GT%HSE\\'F`[l$!&1Z$ F`[l7$$\"0P()*zpx&\\'F`[l$!&RY$F`[l7$$\"0'=clO\"*)\\'F`[l$!&uX$F`[l7$$ \"0OO6N]?]'F`[l$!&)*z$F`[l7$$\"0N&GAPK3lF`[l$!&ry$F`[l7$$\"0MMM4(f9lF` [l$!&Vx$F`[l7$$\"0II!y0pRlF`[l$!&Ks$F`[l7$$\"0EEE1%yklF`[l$!&?n$F`[l7$ $\"0lkka/sh'F`[l$!&_c$F`[l7$$\"0....D'pmF`[l$!&!eMF`[l7$$\"0FE^K&p\"o' F`[l$!&NV$F`[l7$$\"0]\\*>cw$p'F`[l$!&)3MF`[l7$$\"0JbO>$y'p'F`[l$!&ES$F `[l7$$\"06htw+)*p'F`[l$!&kR$F`[l7$$\"0#p1T$=Gq'F`[l$!&\\r$F`[l7$$\"0ts Z\"f$eq'F`[l$!&)3PF`[l7$$\"0M%=i5(=r'F`[l$!&pp$F`[l7$$\"0'ff4i!zr'F`[l $!&[o$F`[l7$$\"0UU#*zY?u'F`[l$!&oj$F`[l7$$\"0*)))))Q(=mnF`[l$!&')e$F`[ l7$$\"0122#Rj:oF`[l$!&,\\$F`[l7$$\"0DDDX!3loF`[l$!&:R$F`[l7$$\"0STT;H( yoF`[l$!&UO$F`[l7$$\"0cdd(yP#*oF`[l$!&pL$F`[l7$$\"0ghO0!z&*oF`[l$!&,L$ F`[l7$$\"0kl:B-#**oF`[l$!&MK$F`[l7$$\"0op%4Wh-pF`[l$!&ih$F`[l7$$\"0stt eEg!pF`[l$!&&4OF`[l7$$\"0!==V4&G\"pF`[l$!&kf$F`[l7$$\"0*)*)*)Hv'>pF`[l $!&Ie$F`[l7$$\"0@AAssp%pF`[l$!&+`$F`[l7$$\"0aaa9qU(pF`[lFd[q7$$\"0rqqI ,P-(F`[l$!&1Q$F`[l7$$\"0(oooC8tqF`[l$!&VG$F`[l7$$\"0<;Tiqd3(F`[l$!&)fK F`[l7$$\"0YX&z(3%)4(F`[l$!&]B$F`[l7$$\"0z-%=$o:5(F`[l$!&K]$F`[l7$$\"06 gs&ys/rF`[lF`ao7$$\"0WmHG(F`[l$!&)eJF`[l7$$\"0IIIDt))G(F `[l$!&x9$F`[l7$$\"0(o=\"yE=H(F`[l$!&?9$F`[l7$$\"0VV$4.y%H(F`[l$!&l8$F` [l7$$\"0++v$Qt(H(F`[l$!&48$F`[l7$$\"0cccO(o+tF`[l$!&NP$F`[l7$$\"0#GGy9 ]7tF`[l$!&;N$F`[l7$$\"0444f:VK(F`[l$!&*HLF`[l7$$\"0hhh\"Q%zM(F`[l$!&jG $F`[l7$$\"0999/s:P(F`[l$!&EC$F`[l7$$\"0ttt)e%>U(F`[l$!&'\\JF`[l7$$\"0L LLt>BZ(F`[l$!&j0$F`[l7$$\"0uvDL<[[(F`[l$!&K.$F`[l7$$\"0<==$\\J(\\(F`[l $!&,,$F`[l7$$\"0xG;LR/](F`[l$!&gA$F`[l7$$\"0QR9tjN](F`[l$!&/A$F`[l7$$ \"0**\\78)o1vF`[l$!&[@$F`[l7$$\"0fg5`7)4vF`[l$!KF`[l7$$\"0\"=oI81;v F`[l$!&!)>$F`[l7$$\"0-..85B_(F`[l$!&o=$F`[l7$$\"0(yyG`IZvF`[l$!&=9$F`[ l7$$\"0tss_+Bd(F`[l$!&r4$F`[l7$$\"0JJJrudi(F`[l$!&4+$F`[l7$$\"0!**)*)* )[#zwF`[l$!&[!HF`[l7$$\"0bb0[Z^o(F`[l$!&T*GF`[l7$$\"0@@@1Y5p(F`[l$!&O) GF`[l7$$\"0./HN&*Rp(F`[l$!&#yGF`[l7$$\"0'ooVY%pp(F`[l$!&H(GF`[l7$$\"0p pW$R*)*p(F`[l$!&w'GF`[l7$$\"0`__AVGq(F`[l$!&v0$F`[l7$$\"0%QQ)QSYr(F`[l $!&o.$F`[l7$$\"0:::bPks(F`[l$!&j,$F`[l7$$\"0yxx(=.]xF`[l$!&_(HF`[l7$$ \"0SSS?EOx(F`[l$!&S$HF`[l7$$\"0JJJ6s!GyF`[l$!&!RGF`[l7$$\"0AAA-=D)yF`[ l$!&Tu#F`[l7$$\"0TTmnf'))yF`[l$!&Lt#F`[l7$$\"0hg5L,[*yF`[l$!&Es#F`[l7$ $\"0?q#e@(y*yF`[l$!&sr#F`[l7$$\"0!)za)H%4!zF`[l$!&&zGF`[l7$$\"0S*o7Q,/ zF`[l$!&U(GF`[l7$$\"0**)*)RY32zF`[l$!&!pGF`[l7$$\"0QP([zO>zF`[l$!&$[GF `[l7$$\"0vvvD^;$zF`[l$!&v#GF`[l7$$\"0___(y@czF`[l$!&gy#F`[l7$$\"0HHH\\ %y!)zF`[l$!&Yu#F`[l7$$\"0566E*RH!)F`[l$!&Bm#F`[l7$$\"0$HHHS,y!)F`[l$!& +e#F`[l7$$\"0As4f[X3)F`[l$!&!pDF`[l7$$\"0^^E:$3\"4)F`[l$!&!eDF`[l7$$\" 0;\"\\L/N%4)F`[l$!&Bb#F`[l7$$\"0\"3L9xh(4)F`[l$!&qa#F`[l7$$\"0Xq^*\\)3 5)F`[l$!&7o#F`[l7$$\"055gF_T5)F`[l$!&fn#F`[l7$$\"0po$*R@s6)F`[l$!&Xl#F `[l7$$\"0FFF_!HI\")F`[l$!&Kj#F`[l7$$\"0XW%p(Gk:)F`[l$!&0f#F`[l7$$\"0ih h,nD=)F`[l$!&xa#F`[l7$$\"0)yyy\\0N#)F`[l$!&=Y#F`[l7$$\"0999%Ha(G)F`[l$ !&gP#F`[l7$$\"0X%pvC^$H)F`[l$!&hO#F`[l7$$\"0vu*4?[*H)F`[l$!&lN#F`[l7$$ \"0\"\\6xnY-$)F`[l$!&JY#F`[l7$$\"01bUa^aI)F`[l$!&%eCF`[l7$$\"0@&R6jV3$ )F`[l$!&PX#F`[l7$$\"0NN&y5U6$)F`[l$!&!\\CF`[l7$$\"0'f4Z,OB$)F`[l$!&,V# F`[l7$$\"0dcc@*HN$)F`[l$!&8T#F`[l7$$\"0yxFNx\"f$)F`[l$!&OP#F`[l7$$\"0* *)*)*[bIQ)F`[l$!&fL#F`[l7$$\"0===`qPV)F`[l$!&fD#F`[l7$$\"0PPPd&[%[)F`[ l$!&c<#F`[l7$$\"0AAAUrMe)F`[l$!&q5#F`[l7$$\"0jii7t2p)F`[l$!&Q%>F`[l7$$ \"0LLL$*=Oy)F`[l$!&7'=F`[l7$$\"0#===dD!*))F`[l$!&_q\"F`[l7$$\"0???!** \\!**)F`[l$!&()e\"F`[l7$$\"0kjj$ex*3*F`[l$!&#\\9F`[l7$$\"0aaauI\"*=*F` [l$!&.J\"F`[l7$$\"0OOOYm/H*F`[l$!&V<\"F`[l7$$\"0tssi!)yR*F`[l$!&6+\"F` [l7$$\"0qpp*)oj\\*F`[l$!%^()F`[l7$$\"0cccY*e$f*F`[l$!%6pF`[l7$$\"0NNNl ;vp*F`[l$!%ZcF`[l7$$\"0555g<7!)*F`[l$!%!\\$F`[l7$$\"0'fff`H%*)*F`[l$!% >CF`[l7$$\"\"\"F)F(-%'COLOURG6&%$RGBGF(F($\"*++++\"!\")-%+AXESLABELSG6 $Q\"x6\"Q!F]^u-%%VIEWG6$;F(F`]u%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 93 "We can construct a numerical pr ocedure for the solution which is accurate to about 30 digits." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 117 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ngn30 := evalf (desolveFD(\{de,bc\},output=localtaylor,info=true),30); " }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"# \"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\" \"!F*/-F(6#\"\"\"F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%3constructing~ orderG\"#?%Clocal~Taylor~series~approximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~difference~method~with~extrapolation ~at~levelG\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiag onal~system~withG\"#R%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%% Bsolving~a~tridiagonal~system~withG\"#z%*equationsG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$f\"%*equations G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wi thG\"$>$%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tr idiagonal~system~withG\"$R'%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"%z7%*equationsG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "xx := sqrt(2)/2;\nevalf(gn30(xx),34);\nevalf(g(xx),34);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#xxG,$*&\"\"#!\"\"F'#\"\"\"F'F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"CZf'R^\"\\K'opDa$*e`-s(!#M" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"C[f'R^\"\\K'opDa$*e`-s(!#M" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 92 "A numerical procedure may be constructed for the derivative of the solution via the option \"" }{TEXT 267 18 "output=derivtaylor" }{TEXT -1 2 "\"." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "de := diff (y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ndgn := desolveFD(\{de,bc\},o utput=derivtaylor);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,&-%%dif fG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6#\"\"\"F." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 103 "The numerical proce dure for the derivative of the solution can be compared with the analy tical formula." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "evalf(dgn(2/3));\nevalf(D(g)(2/3));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+WdWR$*!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#$\"+WdWR$*!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 105 "Numerical procedures for both the solution and derivativ e can be obtained simultaneously via the option \"" }{TEXT 267 21 "out put=procedure_pair" }{TEXT -1 7 "\" (or \"" }{TEXT 267 18 "output=tayl or_pair" }{TEXT -1 5 " or \"" }{TEXT 267 16 "output=proc_pair" }{TEXT -1 4 "\" )." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 170 "de := diff(y(x),x$2)+y(x)=0;\nbc := y(0)=0,y(1)=1; \n(gn2,dgn2) := desolveFD(\{de,bc\},output=procedure_pair);\nplot(['gn 2(x)','dgn2(x)'],x=0..1,color=[red,COLOR(RGB,.5,0,1)]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%#deG/,&-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"# \"\"\"F*F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\" \"!F*/-F(6#\"\"\"F." }}{PARA 13 "" 1 "" {GLPLOT2D 402 371 371 {PLOTDATA 2 "6&-%'CURVESG6$7S7$$\"\"!F)F(7$$\"+;arz@!#6$\"+FB7$$\"+1J:w=FB$\"+pRb;AFB7$$\"+ 3En$4#FB$\"+0D(*pCFB7$$\"+/RE&G#FB$\"+a'>Ap#FB7$$\"+D.&4]#FB$\"+#yI7%H FB7$$\"+vB_Y2 aFB$\"+p6d%Q*f rFB7$$\"+#Qx$omFB$\"+\"3u-N(FB7$$\"+u.I%)oFB$\"+!*z<]vFB7$$\"+(pe*zqFB $\"+$>$GGxFB7$$\"+C\\'QH(FB$\"+D;h>zFB7$$\"+8S8&\\(FB$\"+c&Hj4)FB7$$\" +0#=bq(FB$\"+mPax#)FB7$$\"+2s?6zFB$\"+ZC<^%)FB7$$\"+IXaE\")FB$\"+zM6H' )FB7$$\"+l*RRL)FB$\"+N-r'z)FB7$$\"+`<.Y&)FB$\"+1&)=k*)FB7$$\"+8tOc()FB $\"+:zHE\"*FB7$$\"+\\Qk\\*)FB$\"+!y,s*FB7$$\"+<5s#y*FB$\"+K t8e)*FB7$$\"\"\"F)Fbz-%'COLOURG6&%$RGBG$\"*++++\"!\")F(F(-F$6$7S7$F($ \"+1^R)=\"!\"*7$F+$\"+/G6)=\"Fa[l7$F1$\"+BzS(=\"Fa[l7$F6$\"+(*\\5'=\"F a[l7$F;$\"+,&[U=\"Fa[l7$F@$\"+L)e==\"Fa[l7$FF$\"+:7;z6Fa[l7$FK$\"+M.)e <\"Fa[l7$FP$\"+3o'><\"Fa[l7$FU$\"+D4an6Fa[l7$FZ$\"+qOWi6Fa[l7$Fin$\"+j $)\\d6Fa[l7$F^o$\"+MGU^6Fa[l7$Fco$\"+IMyW6Fa[l7$Fho$\"+oq(y8\"Fa[l7$F] p$\"+]fV5Fa[l7$F_s$\"+&H$RI5Fa[l7$F ds$\"+&fS)=5Fa[l7$Fis$\"+o>%f+\"Fa[l7$F^t$\"+$)fi@**FB7$Fct$\"+V'=Cy*F B7$Fht$\"+#=TOk*FB7$F]u$\"+)*H\"\\[*FB7$Fbu$\"+e%)=Q$*FB7$Fgu$\"+)p9t< *FB7$F\\v$\"+D?%y-*FB7$Fav$\"+OlZg))FB7$Ffv$\"++aH*p)FB7$F[w$\"+U)[q_) FB7$F`w$\"+Hr*\\N)FB7$Few$\"+q))3r\")FB7$Fjw$\"+y0Q!*zFB7$F_x$\"+zk--y FB7$Fdx$\"+Mew6wFB7$Fix$\"+<_'RV(FB7$F^y$\"+\"[unA(FB7$Fcy$\"+&R`%QqFB 7$Fhy$\"+2CiMoFB7$F]z$\"+TCnOmFB7$Fbz$\"+fh#4U'FB-%&COLORG6&Fgz$\"\"&! \"\"F)Fcz-%+AXESLABELSG6$Q\"x6\"Q!F\\el-%%VIEWG6$;F(Fbz%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 2" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 258 "" 0 "" {TEXT -1 35 "Consider the boundary value problem" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+dy/dx+y = 0;" "6#/,(*(% \"dG\"\"#%\"yG\"\"\"*&F&F)*$%\"xGF'F)!\"\"F)*&%#dyGF)%#dxGF-F)F(F)\"\" !" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F'" } {TEXT -1 2 ", " }{XPPEDIT 18 0 "y(1) = 1" "6#/-%\"yG6#\"\"\"F'" } {TEXT -1 1 "." }}{PARA 258 "" 0 "" {TEXT -1 53 "We can find an analyti cal solution for this problem. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 119 "de := diff(y(x),x$2)+diff(y (x),x)+y(x)=0;\nbc := y(0)=0,y(1)=1;\ndesolve(\{de,bc\},y(x)):\ng := u napply(simplify(rhs(%)),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/ ,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"-F(6$F*F-F2F*F2\"\"!" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6#\"\"\"F. " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGf*6#%\"xG6\"6$%)operatorG%&a rrowGF(*(-%$expG6#,&#\"\"\"\"\"#F2*&#F2F3F29$F2!\"\"F2-%$sinG6#,$*&F3F 7\"\"$F1F2F7-F96#,$*&F1F2*&F=F1F6F2F2F2F2F(F(F(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 9 "desolveFD" }{TEXT -1 65 " can be used to construct a numerical proc edure for the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 205 "de := diff(y(x),x$2)+diff(y(x),x)+ y(x)=0;\nbc := y(0)=0,y(1)=1;\ngn := desolveFD(\{de,bc\},y(x));\nplot( ['gn(x)',g(x)],x=-.2..1.2,color=[COLOR(RGB,.5,0,1),aquamarine],\n \+ thickness=[1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"-F(6$F*F-F2F*F 2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F( 6#\"\"\"F." }}{PARA 13 "" 1 "" {GLPLOT2D 434 297 297 {PLOTDATA 2 "6&-% 'CURVESG6%7N7$$\"+NIeJm!#8$\"+\\WgU7!#77$$\"+pwgg:F-$\"+iK!H#HF-7$$\"+ Mq0eCF-$\"+:Cp,YF-7$$\")k]bL!#5$\"+8>(*yiF-7$$\"+0,e?=!#6$\"+$p79Q$FA7 $$\"*d4cI$F;$\"+:'*f$4'FA7$$\"*\\VhE'F;$\"+)QKx8\"F;7$$\"*_;9J*F;$\"+s @7k;F;7$$\"+m%p$*>\"F;$\"+2%GM6#F;7$$\"+b/L,:F;$\"+A\">Kg#F;7$$\"+D8`/ =F;$\"+B,,yIF;7$$\"+X:s'4#F;$\"+>Y]>NF;7$$\"+e#e?O#F;$\"+h;%o!RF;7$$\" +s#pvn#F;$\"+?fp]VF;7$$\"+([[[%HF;$\"+FBd7ZF;7$$\"+axvbKF;$\"+C$Rt6&F; 7$$\"+P^'4`$F;$\"+Y*>7Y&F;7$$\"+a7\"H$QF;$\"+mI3BeF;7$$\"+i`V?TF;$\"+/ _z_hF;7$$\"+0mV?WF;$\"+n0^\"['F;7$$\"+'RJfp%F;$\"+v6vpnF;7$$\"+Z(*3$* \\F;$\"+D-?mqF;7$$\"+ePv,`F;$\"+K2VetF;7$$\"+(oY/d&F;$\"+T\"f**f(F;7$$ \"+7CkgeF;$\"+)zZv%yF;7$$\"+\"*HWghF;$\"+:g0*3)F;7$$\"+o$RPX'F;$\"+z** [6$)F;7$$\"+&p=vt'F;$\"+e#yQ^)F;7$$\"+asg_qF;$\"+%)30C()F;7$$\"+Q$GdL( F;$\"+5*f+!*)F;7$$\"+E0-QwF;$\"+wW![2*F;7$$\"+y@%>\"zF;$\"+`Wf@#*F;7$$ \"*!4T6#)!\"*$\"+@Otp$*F;7$$\"*i(=$\\)Fhu$\"+/qc(\\*F;7$$\"*\\Dxy)Fhu$ \"+:'[%>'*F;7$$\"*4!pv!*Fhu$\"+0)Qss*F;7$$\"*NirP*Fhu$\"+N>HG)*F;7$$\" *&f^n'*Fhu$\"+z,Y9**F;7$$\"+0-)f\")*F;$\"+/*oV&**F;7$$\"*YWW'**Fhu$\"+ X;^\"***F;7$$\"+Smkt**F;$\"+ZNs$***F;7$$\"+?)[G)**F;$\"+b\\#f***F;7$$ \"++50#***F;$\"+ye6)***F;7$%*undefinedGF^y-%&COLORG6&%$RGBG$\"\"&!\"\" \"\"!\"\"\"-%*THICKNESSG6#Fgy-F$6%7S7$$!35+++++++?!#=$!3-r)[%)>cB7%Faz 7$$!3%omm;%)R[p\"Faz$!3uGz9'HI`W$Faz7$$!3fLLe>;KH9Faz$!3'>nM\"3XBqGFaz 7$$!3$omm\"4'=28\"Faz$!3Vi`8`&)4RAFaz7$$!3/ommTEO,$)!#>$!3!y(pEy]a?;Fa z7$$!3aNL$eMD)4`Ff[l$!3ie*R5-&o@5Faz7$$!3))pm;HtGODFf[l$!3cp+GZJF9[Ff[ l7$$\"3'e&***\\P1bN$!#?$\"3[pfhm=(*yiFf\\l7$$\"3&)GL$3d4cI$Ff[l$\"3GO- &ph*f$4'Ff[l7$$\"3s(***\\([VhE'Ff[l$\"3?f8k(QKx8\"Faz7$$\"3:lmm;lT6$*F f[l$\"3+c9\"Faz$\"3-**GM1%GM6#Faz7$$\"3^***** \\XI8]\"Faz$\"3%oCUB7>Kg#Faz7$$\"3Y*****\\KJX!=Faz$\"3Qj\\NB,,yIFaz7$$ \"3%)*****\\a@n4#Faz$\"3I(***f=Y]>NFaz7$$\"3iKL3d#e?O#Faz$\"3XMxxf;%o! RFaz7$$\"3-mmmr#pvn#Faz$\"3])y!p>fp]VFaz7$$\"3Kmmm'[[[%HFaz$\"3'=/4hKs Dr%Faz7$$\"3w)**\\PvddD$Faz$\"3wbR9C$Rt6&Faz7$$\"3clmmO^'4`$Faz$\"3]\" *\\!f%*>7Y&Faz7$$\"3I***\\PD6H$QFaz$\"3y^V6mI3BeFaz7$$\"3V***\\7ON/7%F az$\"3]L3'H?&z_hFaz7$$\"3&fmmTgO/U%Faz$\"3#GCSlc5:['Faz7$$\"3[mmT&RJfp %Faz$\"3!zrAX<^(pnFaz7$$\"3'GLLeu*3$*\\Faz$\"35tz7C-?mqFaz7$$\"3uJL3dP v,`Faz$\"3]_hqI2VetFaz7$$\"31***\\ioY/d&Faz$\"3+&y619f**f(Faz7$$\"3;KL $3TU1'eFaz$\"3sD)HnzZv%yFaz7$$\"31*******)HWghFaz$\"3S()pK9g0*3)Faz7$$ \"3m(***\\n$RPX'Faz$\"3Q2eHy**[6$)Faz7$$\"3z***\\Pp=vt'Faz$\"3H/bBd#yQ ^)Faz7$$\"3K)***\\_sg_qFaz$\"3;]r<$)30C()Faz7$$\"3zkmmO$GdL(Faz$\"3vb$ 4#4*f+!*)Faz7$$\"3&******\\_?!QwFaz$\"33=*y^Z/[2*Faz7$$\"3#4L$3x@%>\"z Faz$\"3^fvs_Wf@#*Faz7$$\"3x*****\\*3T6#)Faz$\"3wS=6>Otp$*Faz7$$\"3_kmT ?w=$\\)Faz$\"3[lnL/qc(\\*Faz7$$\"3-++v)[Dxy)Faz$\"3brC?9'[%>'*Faz7$$\" 33mmm\"4!pv!*Faz$\"3.dx(f!)Qss*Faz7$$\"3Y)**\\PMirP*Faz$\"3/JHBL>HG)*F az7$$\"3OMLL`f^n'*Faz$\"3\"Rz:/=gW\"**Faz7$$\"3GKL$eXWW'**Faz$\"3/*3xV k6:***Faz7$$\"3cm;/C9*e-\"!#<$\"3\"Ffgl$ \"3X:ADQ@#R-\"Ffgl-%'COLOURG6&Fby$\")p:#R%!\")$\")`B)e)F\\jl$\")fqkdF \\jl-Fiy6#\"\"#-%+AXESLABELSG6$Q\"x6\"Q!Fhjl-%%VIEWG6$;$!\"#Fey$\"#7Fe y%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 " Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 252 "Plotting with 20 digit precision we see that the error graph shows differences between the values of the numerical and analy tical solutions are small enough that the only differences occuring wi th 10 digit arithmetic would be caused by rounding errors." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "eval f(plot('gn(x)'-g(x),x=0..1,color=blue),20);" }}{PARA 13 "" 1 "" {GLPLOT2D 402 196 196 {PLOTDATA 2 "6&-%'CURVESG6#7jr7$$\"\"!F)F(7$$\"5 mmmmm;arz@!#@$!%I5F-7$$\"5LLLL$e9ui2%F-$!%c*F:7$$\"5++++]PL4bDF:$!$U*F:7$$\"5+++++] jB4EF:$!$&)*F:7$$\"5++++]i$zLm#F:$!$'**F:7$$\"5+++++vB_)fYF:Fjt7$$\"5KLL$3F9*[,4ZF:$!%Y6F:7$$\"5KLek`mPJ@ ZF:Fjt7$$\"5KLLe9TEhLZF:$!%S6F:7$$\"5KL$ek.R5#eZF:F]w7$$\"5LLLLeR\"3Gy %F:F]w7$$\"5****\\i:N,M4[F:Fbw7$$\"5mmm\"H28se$[F:F]w7$$\"5LL$3-j7/C'[ F:F]w7$$\"5******\\(=7O*))[F:$!%[6F:7$$\"5LLL3-8,+U\\F:$!%Z6F:7$$\"5mm mm;/T1&*\\F:Fcy7$$\"5mmm;/^7I0^F:$!%h6F:7$$\"5mmmm\"zRQb@&F:$!%q6F:7$$ \"5*******\\(=>Y2aF:$!%'=\"F:7$$\"5mmmm;zXu9cF:$!%07F:7$$\"5********** \\y))GeF:$!%=7F:7$$\"5********\\i_QQgF:$!%G7F:7$$\"5*******\\7y%3TiF:$ !%U7F:7$$\"5********\\P![hY'F:$!%_7F:7$$\"5mmmmT5FEnlF:$!%e7F:7$$\"5KL LLL$Qx$omF:$!%p7F:7$$\"5mmmm;z)Qjx'F:$!%!H\"F:7$$\"5*********\\P+V)oF: $!%38F:7$$\"5mm\"H#=?!Hl*oF:$!%08F:7$$\"5LL$ek`md(3pF:$!%18F:7$$\"5*** \\(oa5j)4#pF:$!%48F:7$$\"5mmm\"Hd&\\@LpF:$!%:8F:7$$\"5****\\P4YAndpF:$ !%98F:7$$\"5LLL$ek`H@)pF:$!%;8F:7$$\"5m;z%\\!fQC))pF:$!%B8F:7$$\"5*** \\iS;=eV*pF:$!%E8F:7$$\"5L$3xJU]s/+(F:$!%%H\"F:7$$\"5mm;H#o#oe1qF:$!%& H\"F:7$$\"5LL3_+sa\")=qF:$!%#H\"F:7$$\"5*****\\(=#=WtF:$!%a7F:7$$\"5mmm;zp%*\\%R(F:$ !%Z7F:7$$\"5L$e9T)G\"*y+uF:$!%.7F:7$$\"5***\\i!*yyyqS(F:$!%,7F:7$$\"5m ;/,%pWoLT(F:$!%17F:7$$\"5LL$e*)f5e'>uF:Fecl7$$\"5mmT&)3CuBKuF:$!%-7F:7 $$\"5*****\\(=Un\"[W(F:Fjz7$$\"5mm;aQy`(*puF:$!%+7F:7$$\"5KLLLe9S8&\\( F:F_el7$$\"5mmm;aQ?V@vF:Fecl7$$\"5********\\i+tZvF:Fjcl7$$\"5LLL$ek3GS d(F:$!%(>\"F:7$$\"5mmmmT5hK+wF:$!%*>\"F:7$$\"5******\\PMTiEwF:Fecl7$$ \"5LLLLLe@#Hl(F:Fbfl7$$\"5*****\\7.\"F:7$$\"5mmm;H#=?#zwF: F_el7$$\"5****\\7G)o%z&o(F:F]gl7$$\"5LLL3F%>pBp(F:$!%$>\"F:7$$\"5mm;/E +P%*)p(F:F]fl7$$\"5*******\\i?=bq(F:$!%#>\"F:7$$\"5mm;/^J$H7t(F:$!%*= \"F:7$$\"5LLL3xc/%pv(F:Fhgl7$$\"5mmT5S>gzpxF:$!%&>\"F:7$$\"5****\\7.#e ^Ey(F:Fehl7$$\"5m;ajMj$z!*y(F:$!%\">\"F:7$$\"5LLe9mWr]&z(F:Fehl7$$\"5* *\\il(f#\\$>!yF:$!%!=\"F:7$$\"5mmm;H2FO3yF:$!%x6F:7$$\"5*****\\7y&\\yf yF:$!%i6F:7$$\"5KLLLL3s?6zF:$!%W6F:7$$\"5*******\\7`Wl7)F:Fbr7$$\"5lmm mmm*RRL)F:$!$y*F:7$$\"5lmmm;a<.Y&)F:$!$'*)F:7$$\"5KLLLe9tOc()F:$!$%zF: 7$$\"5**********\\Qk\\*)F:$!$+(F:7$$\"5KLLL$3dg6<*F:$!$v&F:7$$\"5lmmmm mxGp$*F:$!$,&F:7$$\"5JLL$eRA5\\Z*F:$!$`%F:7$$\"5)******\\7oK0e*F:$!$x$ F:7$$\"5)*********\\oi\"o*F:$!$6$F:7$$\"5)******\\(=5s#y*F:$!$P#F:7$$ \"5******\\P40O\"*)*F:$!$;\"F:7$$\"\"\"F)F(-%'COLOURG6&%$RGBGF(F($\"*+ +++\"!\")-%+AXESLABELSG6$Q\"x6\"Q!Ff_m-%%VIEWG6$;F(Fi^m%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "xx := evalf(Pi^2/20);\ngn(xx);\nevalf(evalf(g(xx),13));\n" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#xxG$\"+-A![$\\!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+alA4q!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+ alA4q!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 3" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 26 "The boundary value problem" }}{PARA 256 "" 0 "" {TEXT -1 3 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+3;" "6#,&*(%\"dG\"\"#%\"yG\"\"\" *&F%F(*$%\"xGF&F(!\"\"F(\"\"$F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx +2 = sin(x);" "6#/,&*&%#dyG\"\"\"%#dxG!\"\"F'\"\"#F'-%$sinG6#%\"xG" } {TEXT -1 3 ", " }{XPPEDIT 18 0 "y(0) = 1" "6#/-%\"yG6#\"\"!\"\"\"" } {TEXT -1 3 ", " }{XPPEDIT 18 0 "y(1) = 0" "6#/-%\"yG6#\"\"\"\"\"!" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 28 "can be solved analytical ly. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 282 "de := diff(y(x),x$2)+3*diff(y(x),x)+2*y(x)=sin(x);\n bc := y(0)=1,y(1)=0;\ndsolve(\{de,bc\},y(x)):\ng := unapply(rhs(%),x); \n# procedure to evaluate coefficients of an expression numerically\ne valf_coeff := (u,d)->frontend(evalf[d],[u],[\{`+`,`*`,realcons\},\{\}] ):\n'g(x)'=evalf_coeff(g(x),14);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% #deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&\"\"$F2-F(6$F*F-F 2F2*&F1F2F*F2F2-%$sinGF," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/- %\"yG6#\"\"!\"\"\"/-F(6#F+F*" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%\"gG f*6#%\"xG6\"6$%)operatorG%&arrowGF(,**&#\"\"$\"#5\"\"\"-%$cosG6#9$F1! \"\"*&#F1F0F1-%$sinGF4F1F1*&F8F1*(-%$expG6#,$*&\"\"#F1F5F1F6F1,**&\"#8 F1-%%coshG6#F1F1F6*&FEF1-%%sinhGFHF1F1*&F/F1-F3FHF1F1-F:FHF6F1,*-FG6#F BF1-FKFQF6FFF6FJF1F6F1F1*&#F1F0F1*(-F>6#,$F5F6F1,**&F/F1FMF1F1FNF6*&FE F1FPF1F6*&FEF1FRF1F1F1FOF6F1F6F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#/-%\"gG6#%\"xG,**&$\"/++++++I!#9\"\"\"-%$cosGF&F-!\"\"*&$\"/++++++5F ,F--%$sinGF&F-F-*&$\"/bl;@R@ " 0 "" {MPLTEXT 1 0 196 "de := diff(y(x),x$2)+3*diff (y(x),x)+2*y(x)=sin(x);\nbc := y(0)=1,y(1)=0;\ngn := desolveFD(\{de,bc \},y(x),output=procedure);\nplot(['gn(x)',g(x)],x=-.2..1.2,\n co lor=[black,coral],thickness=[1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&\"\"$F2-F(6$F* F-F2F2*&F1F2F*F2F2-%$sinGF," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6 $/-%\"yG6#\"\"!\"\"\"/-F(6#F+F*" }}{PARA 13 "" 1 "" {GLPLOT2D 431 274 274 {PLOTDATA 2 "6&-%'CURVESG6%7N7$$\"+NIeJm!#8$\"+89k!)**!#57$$\"+pwg g:!#7$\"+;3\\a**F-7$$\"+Mq0eCF1$\"+IXRG**F-7$$\")k]bLF-$\"+fCN-**F-7$$ \"+0,e?=!#6$\"+(38#z%*F-7$$\"*d4cI$F-$\"+n:Yq!*F-7$$\"*\\VhE'F-$\"+BF' oH)F-7$$\"*_;9J*F-$\"+HwrbvF-7$$\"+m%p$*>\"F-$\"+(H5i%pF-7$$\"+b/L,:F- $\"+&oOeI'F-7$$\"+D8`/=F-$\"+$*e))3dF-7$$\"+X:s'4#F-$\"+*=aZ<&F-7$$\"+ e#e?O#F-$\"+RIvAZF-7$$\"+s#pvn#F-$\"+$z4RA%F-7$$\"+([[[%HF-$\"+@+OKQF- 7$$\"+axvbKF-$\"+()ek5MF-7$$\"+P^'4`$F-$\"+N7(f1$F-7$$\"+a7\"H$QF-$\"+ ph%pr#F-7$$\"+i`V?TF-$\"+D:M6CF-7$$\"+0mV?WF-$\"+3zo=@F-7$$\"+'RJfp%F- $\"+gY>s=F-7$$\"+Z(*3$*\\F-$\"+rY%)G;F-7$$\"+ePv,`F-$\"+.5S*R\"F-7$$\" +(oY/d&F-$\"+6F\"z@\"F-7$$\"+7CkgeF-$\"+uQ))R5F-7$$\"+\"*HWghF-$\"+*oI Yu)FA7$$\"+o$RPX'F-$\"+def(H(FA7$$\"+&p=vt'F-$\"+3!R$\\gFA7$$\"+asg_qF -$\"+<@&y#[FA7$$\"+Q$GdL(F-$\"+o=:pQFA7$$\"+E0-QwF-$\"+Y8w\")HFA7$$\"+ y@%>\"zF-$\"+T%3?H#FA7$$\"*!4T6#)!\"*$\"+m0#[l\"FA7$$\"*i(=$\\)Fhu$\"+ \\I8g6FA7$$\"*\\Dxy)Fhu$\"+f))G]uF17$$\"*4!pv!*Fhu$\"+z6!yL%F17$$\"*Ni rP*Fhu$\"+^Ss@!#97$$\"+Smkt**F-$\"+x$ynY\"F^x7$$\"+?)[G) **F-$\"+=-;KH9F`z$\" 3[03Imhp$\\\"Fcz7$$!3$omm\"4'=28\"F`z$\"39mGN)3+qP\"Fcz7$$!3/ommTEO,$) !#>$\"3oY7-)[frE\"Fcz7$$!3aNL$eMD)4`Ff[l$\"35cb+E5+l6Fcz7$$!3))pm;HtGO DFf[l$\"3QEV1_vIw5Fcz7$$\"3'e&***\\P1bN$!#?$\"3CtrSfCN-**F`z7$$\"3&)GL $3d4cI$Ff[l$\"3iI8dm:Yq!*F`z7$$\"3s(***\\([VhE'Ff[l$\"3#o;+KsioH)F`z7$ $\"3:lmm;lT6$*Ff[l$\"3-x+6IwrbvF`z7$$\"39LL$eYp$*>\"F`z$\"3u/w/(H5i%pF `z7$$\"3^*****\\XI8]\"F`z$\"3a@4,&oOeI'F`z7$$\"3Y*****\\KJX!=F`z$\"3q( Q;H*e))3dF`z7$$\"3%)*****\\a@n4#F`z$\"3))\\y*))=aZ<&F`z7$$\"3iKL3d#e?O #F`z$\"3D(*zHSIvAZF`z7$$\"3-mmmr#pvn#F`z$\"3L11=$z4RA%F`z7$$\"3Kmmm'[[ [%HF`z$\"3`D:M6CF`z7$$\"3&fmmTgO/U%F`z$\"3wW7O3zo=@F`z 7$$\"3[mmT&RJfp%F`z$\"3oSVWgY>s=F`z7$$\"3'GLLeu*3$*\\F`z$\"3!33p@nW)G; F`z7$$\"3uJL3dPv,`F`z$\"3MAg\"R+,%*R\"F`z7$$\"31***\\ioY/d&F`z$\"3N.JA 6F\"z@\"F`z7$$\"3;KL$3TU1'eF`z$\"3t6%G](Q))R5F`z7$$\"31*******)HWghF`z $\"3nD%3WpIYu)Ff[l7$$\"3m(***\\n$RPX'F`z$\"3%z`K!fef(H(Ff[l7$$\"3z*** \\Pp=vt'F`z$\"3iXXU8!R$\\gFf[l7$$\"3K)***\\_sg_qF`z$\"3i$GaA7_y#[Ff[l7 $$\"3zkmmO$GdL(F`z$\"3Q^asr=:pQFf[l7$$\"3&******\\_?!QwF`z$\"33.2^[8w \")HFf[l7$$\"3#4L$3x@%>\"zF`z$\"3%>t0LW3?H#Ff[l7$$\"3x*****\\*3T6#)F`z $\"3%o=ubd?[l\"Ff[l7$$\"3_kmT?w=$\\)F`z$\"3+@A][I8g6Ff[l7$$\"3-++v)[Dx y)F`z$\"3%>0lV())G]uFf\\l7$$\"33mmm\"4!pv!*F`z$\"3YE(HP;,yL%Ff\\l7$$\" 3Y)**\\PMirP*F`z$\"3gW3o*3Cx,#Ff\\l7$$\"3OMLL`f^n'*F`z$\"3?k!>0xb^K'!# @7$$\"3GKL$eXWW'**F`z$\"3S/YCzQZ>@!#A7$$\"3cm;/C9*e-\"Fcz$\"3yOS0sYfe; F^gl7$$\"3++++R,&H0\"Fcz$\"3QyWrXr&f9*F^gl7$$\"3smm\"*zC'R3\"Fcz$\"3W* [h))[C'[CFf\\l7$$\"3ELLL(G+<6\"Fcz$\"3'G/Z,Z<0R%Ff\\l7$$\"3****\\PvXFT 6Fcz$\"3,Oa$H`/6,(Ff\\l7$$\"3!***\\iU4ep6Fcz$\"3*RKk$p@J,5Ff[l7$$\"3%* *************>\"Fcz$\"3a)eC.a)ot8Ff[l-Fby6&Fdy$\"*++++\"!\")$\")AR!)\\ F\\jl$FeyFey-Fgy6#\"\"#-%+AXESLABELSG6$Q\"x6\"Q!Fgjl-%%VIEWG6$;$!\"#! \"\"$\"#7F_[m%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 216 "The numerical procedure for the solution is accurate enough for use with 10 digit precision. In fact, values o btained from the numerical solution can be more accurate than those ob tained from the analytical solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 93 "xx := evalf(sqrt(3)/5);\ne valf(gn(xx),13);\nevalf(g(xx),13);\nevalf(gn(xx),10);\nevalf(g(xx),10) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#xxG$\"+;;5kM!#5" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#$\".!)fkDt9$!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\".!)fkDt9$!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+YcKZJ!#5" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+mcKZJ!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 152 "By increasing the number of steps, it is possible to obtain a continuous solution which is acc urate to about 30 digits. The computation my take a while." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 171 "de \+ := diff(y(x),x$2)+3*diff(y(x),x)+2*y(x)=sin(x);\nbc := y(0)=1,y(1)=0; \n(gn,dgn) := evalf(desolveFD(\{de,bc\},steps=75,\n \+ output=proc_pair,info=true),30):" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&\"\"$F2-F(6$F*F -F2F2*&F1F2F*F2F2-%$sinGF," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$ /-%\"yG6#\"\"!\"\"\"/-F(6#F+F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%3co nstructing~orderG\"#?%Clocal~Taylor~series~approximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~difference~method~with~ex trapolation~at~levelG\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolvin g~a~tridiagonal~system~withG\"#u%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$\\\"%*equationsG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wit hG\"$*H%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tri diagonal~system~withG\"$*f%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"%*>\"%*equationsG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\" %*R#%*equationsG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 128 "xx := Pi^2/20;\nevalf(evalf(gn(xx),35),30); \nevalf(evalf(g(xx),35),30);\nevalf(evalf(dgn(xx),35),30);\nevalf(eval f(D(g)(xx),35),30);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#xxG,$*&\"#?! \"\"%#PiG\"\"#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?ur0'4GCGj$ 4Rwzu;!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?ur0'4GCGj$4Rwzu;!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$!?LNFeoy)3O\"\\\"Hlr&z!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$!?LNFeoy)3O\"\\\"Hlr&z!#I" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 4" }{TEXT 271 39 " .. work ing with a continuous solution " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 36 "Consider the boundary value \+ problem:" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "d^2*y/(d *x^2) = x*y;" "6#/*(%\"dG\"\"#%\"yG\"\"\"*&F%F(*$%\"xGF&F(!\"\"*&F+F(F 'F(" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(-2) = -1" "6#/-%\"yG6#,$\"\"# !\"\",$\"\"\"F)" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(2) = 1" "6#/-%\"yG 6#\"\"#\"\"\"" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 8 "Maple's " }{TEXT 0 6 "dsolve" }{TEXT -1 62 " can find an analytical solution involving the Airy functions." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 127 "de := diff(y(x),x$2)=x*y(x);\nbc := y(-2)=-1,y(2)=1;\ndsolve(\{de ,bc\},y(x)):\ng := unapply(evalf(rhs(%),15),x);\nplot(g(x),x=-2..2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/-%%diffG6$-%\"yG6#%\"xG-%\"$G 6$F,\"\"#*&F,\"\"\"F)F2" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-% \"yG6#!\"#!\"\"/-F(6#\"\"#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"gGf*6#%\"xG6\"6$%)operatorG%&arrowGF(,&*&$\"0K%yFi=vP!#9\"\"\"-%'Air yAiG6#9$F1!\"\"*&$\"0V')yr9=V$!#:F1-%'AiryBiGF4F1F1F(F(F(" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6%-%'CURVESG6$7S7$$!\"#\"\" !$!+++++5!\"*7$$!+$Q6G\">F-$!+=X>(=\"F-7$$!+M!\\p$=F-$!+-+7O8F-7$$!+)) Qj^>;F-7$$!+C2G!e\"F-$!+BiKJ*eu\"=F-7$$!+oU)*=9F-$!+hah))=F-7$$!+Ta7M8F-$!+_QDV>F-7$ $!+e(Q&\\7F-$!+ej:z>F-7$$!+d4`i6F-$!++=l(*>F-7$$!+QW*e3\"F-$!+z,N**>F- 7$$!*q)>'***F-$!+#4gg)>F-7$$!*]5*H\"*F-$!+Sg&y&>F-7$$!*I\"3&H)F-$!+z)p z\">F-7$$!*Twp`(F-$!+As5s=F-7$$!*P;bj'F-$!+5552=F-7$$!*Zh=(eF-$!+wyLW< F-7$$!*G\\N)\\F-$!+gz(Qm\"F-7$$!*ZUs>%F-$!+2X9(e\"F-7$$!*GRXL$F-$!+amC )\\\"F-7$$!*$=/8DF-$!+XK659F-7$$!*U&*el\"F-$!+P9h:8F-7$$!)Wn(o)F-$!+H) )QF7F-7$$!(eV(>F-$!+l%)\\J6F-7$$\")f`@')F-$!+wp(=.\"F-7$$\"*nZ)H;F-$!+ Rx)oX*!#57$$\"*Ky*eCF-$!+s/EO&)Fjs7$$\"*S^bJ$F-$!+MKE+wFjs7$$\"*0TN:%F -$!+1\"eBq'Fjs7$$\"*7RV'\\F-$!+Yl5_eFjs7$$\"*:#fkeF-$!+&[Z.$\\Fjs7$$\" *`4Nn'F-$!+/l.ATFjs7$$\"*],s`(F-$!+rLvyKFjs7$$\"*zM)>$)F-$!+D)R0`#Fjs7 $$\"*qfa<*F-$!+(eTrs\"Fjs7$$\"*1O0)**F-$!*\\4\"=)*Fjs7$$\"+#G2A3\"F-$! *$Gx$4#Fjs7$$\"+$)G[k6F-$\"*OjHW&Fjs7$$\"+7yh]7F-$\"+^n5Q8Fjs7$$\"+()f dL8F-$\"+7\"oV6#Fjs7$$\"+-FT=9F-$\"+CsVGHFjs7$$\"+Epa-:F-$\"+0-PlPFjs7 $$\"+Sv&)z:F-$\"+>+cpXFjs7$$\"+GUYo;F-$\"+8D0XbFjs7$$\"+2^rZF-$\"+U$3Qn)Fjs7$$\"\"#F*$ \"+)*********Fjs-%'COLOURG6&%$RGBG$\"#5!\"\"$F*F*F`[l-%+AXESLABELSG6$Q \"x6\"Q!Fe[l-%%VIEWG6$;F(Fez%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 44 "We can find the zero of this so lution using " }{TEXT 0 6 "fsolve" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "fsolve(g(x), x=0..2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+EO206!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 60 "Alternatively, a \+ special root-finding procedure may be used." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "secant(g(x),x=1..1 .2,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~1~~- >~~~G$\".'z$)Q306!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximatio n~2~~->~~~G$\".'=WO206!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approxi mation~3~~->~~~G$\".^kit]5\"!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7a pproximation~4~~->~~~G$\".^kit]5\"!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+EO206!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 97 "We can also find this zero using a continuous numerical s olution obtained by using the procedure " }{TEXT 0 9 "desolveFD" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 119 "de := diff(y(x),x$2)=x*y(x);\nbc := y(-2)=-1,y( 2)=1;\ngn := desolveFD(\{de,bc\},y(x));\nplot('gn(x)',x=-2..2,color=ma genta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/-%%diffG6$-%\"yG6#% \"xG-%\"$G6$F,\"\"#*&F,\"\"\"F)F2" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %#bcG6$/-%\"yG6#!\"#!\"\"/-F(6#\"\"#\"\"\"" }}{PARA 13 "" 1 "" {GLPLOT2D 399 272 272 {PLOTDATA 2 "6&-%'CURVESG6#7S7$$!\"#\"\"!$!\"\"F *7$$!+$Q6G\">!\"*$!+=X>(=\"F07$$!+M!\\p$=F0$!+-+7O8F07$$!+))Qj^>;F07$$!+C2G!e\"F0$!+BiKJ*eu\"=F07$$!+oU)*=9F0$!+hah))=F07$$!+Ta7M8F0$!+`QDV>F07$$!+e(Q&\\7F 0$!+ej:z>F07$$!+d4`i6F0$!++=l(*>F07$$!+QW*e3\"F0$!+y,N**>F07$$!*q)>'** *F0$!+#4gg)>F07$$!*]5*H\"*F0$!+Sg&y&>F07$$!*I\"3&H)F0$!+y)pz\">F07$$!* Twp`(F0$!+As5s=F07$$!*P;bj'F0$!+5552=F07$$!*Zh=(eF0$!+wyLW%F0$!+2X9(e\"F07$$!*GRXL$F0$!+amC)\\\"F07$$! *$=/8DF0$!+WK659F07$$!*U&*el\"F0$!+P9h:8F07$$!)Wn(o)F0$!+H))QF7F07$$!( eV(>F0$!+l%)\\J6F07$$\")f`@')F0$!+wp(=.\"F07$$\"*nZ)H;F0$!+Wx)oX*!#57$ $\"*Ky*eCF0$!+t/EO&)Fjs7$$\"*S^bJ$F0$!+OKE+wFjs7$$\"*0TN:%F0$!+0\"eBq' Fjs7$$\"*7RV'\\F0$!+[l5_eFjs7$$\"*:#fkeF0$!+%[Z.$\\Fjs7$$\"*`4Nn'F0$!+ -l.ATFjs7$$\"*],s`(F0$!+sLvyKFjs7$$\"*zM)>$)F0$!+G)R0`#Fjs7$$\"*qfa<*F 0$!+*eTrs\"Fjs7$$\"*1O0)**F0$!+?&4\"=)*!#67$$\"+#G2A3\"F0$!+JGx$4#F]w7 $$\"+$)G[k6F0$\"+dL'HW&F]w7$$\"+7yh]7F0$\"+^n5Q8Fjs7$$\"+()fdL8F0$\"+8 \"oV6#Fjs7$$\"+-FT=9F0$\"+EsVGHFjs7$$\"+Epa-:F0$\"+0-PlPFjs7$$\"+Sv&)z :F0$\"+=+cpXFjs7$$\"+GUYo;F0$\"+8D0XbFjs7$$\"+2^rZF0$\"+V$3Qn)Fjs7$$\"\"#F*$\"\"\"F*- %+AXESLABELSG6$Q\"x6\"Q!F^[l-%'COLOURG6&%$RGBG$\"*++++\"!\")$F*F*Fd[l- %%VIEWG6$;F(Ffz%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "fsolve('fn'(x),x=1.1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+EO206!\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 40 "Now consider the boundary value problem:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "d ^2*y/(d*x^2) = sinh(x)*y;" "6#/*(%\"dG\"\"#%\"yG\"\"\"*&F%F(*$%\"xGF&F (!\"\"*&-%%sinhG6#F+F(F'F(" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(-2) = \+ -1" "6#/-%\"yG6#,$\"\"#!\"\",$\"\"\"F)" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(2) = 1" "6#/-%\"yG6#\"\"#\"\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 " " {TEXT -1 8 "Maple's " }{TEXT 0 6 "dsolve" }{TEXT -1 37 " cannot find an analytical solution.\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 80 "de := diff(y(x),x$2)=sinh(x)*y(x);\nbc := y(-2)=-1,y(2)=1;\ndsolve (\{de,bc\},y(x));\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/-%%diffG 6$-%\"yG6#%\"xG-%\"$G6$F,\"\"#*&-%%sinhGF+\"\"\"F)F4" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#!\"#!\"\"/-F(6#\"\"#\"\"\"" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 162 "Since th is boundary value problem is very similar to the last problem, a conti nuous solution computed as before will probably have similar error cha racteristics. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 147 "de := diff(y(x),x$2)=sinh(x)*y(x);\nbc := y(-2) =-1,y(2)=1;\ngn2 := desolveFD(\{de,bc\},y(x),info=true);\nplot('gn2(x) ',x=-2..2,color=COLOR(RGB,.5,0,1));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%#deG/-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F,\"\"#*&-%%sinhGF+\"\"\"F)F4" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#!\"#!\"\"/-F(6#\"\" #\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%3constructing~orderG\"#7%C local~Taylor~series~approximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $%hnapplying~finite~difference~method~with~extrapolation~at~levelG\"\" $" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wi thG\"#**%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tr idiagonal~system~withG\"$*>%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$*R%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$*z%*e quationsG" }}{PARA 13 "" 1 "" {GLPLOT2D 476 286 286 {PLOTDATA 2 "6&-%' CURVESG6#7W7$$!\"#\"\"!$!\"\"F*7$$!+#p0k&>!\"*$!+^z!fC\"F07$$!+$Q6G\"> F0$!+\"yBO[\"F07$$!+3-)[(=F0$!+q#3Ho\"F07$$!+M!\\p$=F0$!+BG\\u=F07$$!+ ))Qj^'***F0$!+B?2uPF07 $$!*]5*H\"*F0$!+Y3)[u$F07$$!*I\"3&H)F0$!+>h!*)o$F07$$!*Twp`(F0$!+4\"4t h$F07$$!*P;bj'F0$!+R!y*4NF07$$!*Zh=(eF0$!+*3oHS$F07$$!*G\\N)\\F0$!+>P5 jKF07$$!*ZUs>%F0$!+Zc-GJF07$$!*GRXL$F0$!+T]EqHF07$$!*$=/8DF0$!+(Q0I\"G F07$$!*U&*el\"F0$!+/=zVEF07$$!)Wn(o)F0$!+MK\\&[#F07$$!(eV(>F0$!++pE8BF 07$$\")f`@')F0$!+\"GPV8#F07$$\"*nZ)H;F0$!+*e$oz>F07$$\"*Ky*eCF0$!+Y&3[ \"=F07$$\"*S^bJ$F0$!+L]sZ;F07$$\"*0TN:%F0$!+Gy>)[\"F07$$\"*7RV'\\F0$!+ u:3Q8F07$$\"*:#fkeF0$!+9/tw6F07$$\"*`4Nn'F0$!+2$zn.\"F07$$\"*],s`(F0$! +H,$)F0$!+d'\\#pwFaw7$$\"*qfa<*F0$!+EK)QM'Faw7$$\"*1O 0)**F0$!+X@QT^Faw7$$\"+#G2A3\"F0$!+GK(f#RFaw7$$\"+$)G[k6F0$!+e:rsFFaw7 $$\"+7yh]7F0$!+ul7%f\"Faw7$$\"+()fdL8F0$!+i)e)oZ!#67$$\"+-FT=9F0$\"+Sz !)*f'Fey7$$\"+Epa-:F0$\"+1Jx'z\"Faw7$$\"+Sv&)z:F0$\"+ic4lGFaw7$$\"+GUY o;F0$\"+*fo*RTFaw7$$\"+2^rZF0$\"+wH%p@)Faw7$$\"\"#F*$\"\"\"F*-%+AXESLABELSG6$Q\"x6\"Q!Fb \\l-%&COLORG6&%$RGBG$\"\"&F,F*F]\\l-%%VIEWG6$;F(Fj[l%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 31 "The following c alculation with " }{TEXT 0 6 "fsolve" }{TEXT -1 94 " computes the zero of the solution, which we can be fairly confident is correct to 10 di gits. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "fsolve('gn2'(x),x=1.4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"++2 " 0 "" {MPLTEXT 1 0 174 "de := \+ diff(y(x),x$2)=sinh(x)*y(x);\nbc := y(-2)=-1,y(2)=1;\ngn3 := evalf(des olveFD(\{de,bc\},y(x),info=true),15);\nevalf(plot('gn2(x)-gn3(x)',x=-2 ..2,color=COLOR(RGB,.5,0,1)),20);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %#deG/-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F,\"\"#*&-%%sinhGF+\"\"\"F)F4" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#!\"#!\"\"/-F(6#\"\"# \"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%3constructing~orderG\"#;%Cl ocal~Taylor~series~approximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ %hnapplying~finite~difference~method~with~extrapolation~at~levelG\"\"% " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wit hG\"$f\"%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tr idiagonal~system~withG\"$>$%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$R'%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"%z7%*e quationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~s ystem~withG\"%fD%*equationsG" }}{PARA 13 "" 1 "" {GLPLOT2D 642 272 272 {PLOTDATA 2 "6&-%'CURVESG6#7du7$$!\"#\"\"!$F*F*7$$!5LLLLL$Q6G\">!# >$!#wF/7$$!5mm;/^')*p!3>F/$\"#@F/7$$!5+++vo*eGL!>F/$\"$=\"F/7$$!5mmTgF \"*y&4!>F/$\"$n\"F/7$$!5LL$ekG>(e)*=F/$!$$fF/7$$!5++DJX%\\;i*=F/$!$Z&F /7$$!5mmm;/'zXQ*=F/$!$,&F/7$$!5LLLeR-IO%)=F/$!$=$F/7$$!5++++v3-)[(=F/$ !$M\"F/7$$!5ML$3F>\")Q,(=F/$!#UF/7$$!5nmmT5:uRl=F/$\"#]F/7$$!5ML3Fp;n- j=F/$\"#'*F/7$$!5++]7G=glg=F/$\"$U\"F/7$$!5nm\"zp)>`Ge=F/$!$D&F/7$$!5M LL$e9i9f&=F/$!$z%F/7$$!5+++D\"y#=VY=F/$!$'HF/7$$!5nmmm;M!\\p$=F/$!$7\" F/7$$!5++++Dh9H%z\"F/$\"#fF/7$$!5LLLLL))Qj^F/7$$!5LLLL$3yO5]\"F/$\"% 'Q#F/7$$!5mmmm;C0,g9F/$\"%yFF/7$$!5++++]nU)*=9F/$\"%\\JF/7$$!5mmmm;a[b w8F/$\"%dNF/7$$!5LLLL$3WDTL\"F/$\"%nRF/7$$!5mmmm;*4K=H\"F/$\"%cVF/7$$! 5++++]d(Q&\\7F/$\"%%p%F/7$$!5MLLL3d[.17F/$\"%x\\F/7$$!5nmmmmc4`i6F/$\" %I_F/7$$!5++++](p7U7\"F/$\"%;aF/7$$!5LLLLLQW*e3\"F/$\"%?bF/7$$!5mmm;H< ,6v5F/$\"%!\\&F/7$$!5++++D'zDV1\"F/$\"%faF/7$$!5LL$e*)frH;1\"F/$\"%]aF /7$$!5mmm\"HdjL*e5F/$\"%mbF/7$$!5++](oabPi0\"F/$\"%fbF/7$$!5LLL$3_ZTN0 \"F/$\"%abF/7$$!5+++vo9$\\\"[5F/$\"%TbF/7$$!5mmmm;arvU5F/$\"%GbF/7$$!5 +++]7LG(>.\"F/$\"%.bF/7$$!5LLLL37&)=@5F/$\"%xaF/7$$!5mm;H#=V#\\=5F/$\" %+cF/7$$!5+++Dc^jz:5F/$\"%&e&F/7$$!5LL$3-8F+J,\"F/$\"%pbF/7$$!5mmm;/\" >//,\"F/$\"%_bF/7$$!5LLL3_I?,05F/Fdv7$$!4+++++q)>'***F/$\"%*[&F/7$$!5+ +++++Y0j&*!#?$\"%u`F/7$$!4+++++]5*H\"*F/$\"%%G&F/7$$!5+++++vOtx!*Fg[l$ \"%d_F/7$$!5+++++]obD!*Fg[l$\"%G_F/7$$!5++++]P%o%***)Fg[l$\"%\"Q&F/7$$ !5+++++D+Qt*)Fg[l$\"%t`F/7$$!5++++]7;HZ*)Fg[l$\"%l`F/7$$!5++++++K?@*)F g[l$\"%c`F/7$$!5+++++]&\\o\"))Fg[l$\"%@`F/7$$!5++++++f\\7()Fg[l$\"%'G& F/7$$!5+++++v!>.m)Fg[l$\"%p_F/7$$!5+++++]A93')Fg[l$\"%^_F/7$$!5++++]PQ 0#e)Fg[l$\"%3aF/7$$!5+++++Da'fb)Fg[l$\"%,aF/7$$!5++++]7q()H&)Fg[l$\"%' R&F/7$$!5++++++')y.&)Fg[l$\"%*Q&F/7$$!5+++++]\\V*R)Fg[lFf]l7$$!4+++++I \"3&H)F/$\"%R`F/7$$!5lmmm;a)Gg\"zFg[lFd_l7$$!4LLLL$3k(p`(F/$\"%yaF/7$$ !5++++](QYi3(Fg[l$\"%;bF/7$$!4nmmmmO;bj'F/$\"%nbF/7$$!5qmmmm;*)o`iFg[l $\"%bcF/7$$!4nmmmmYh=(eF/$\"%wdF/7$$!5PL$3x1r,T%eFg[l$\"%vdF/7$$!5.++v oa>M;eFg[l$\"%udF/7$$!5qm;zp)>#e)y&Fg[l$\"%')eF/7$$!5PLL$3FWA3w&Fg[l$ \"%$)eF/7$$!5qmm\"H2$HI0dFg[l$\"%xeF/7$$!5.+++v=My\\cFg[l$\"%reF/7$$!5 qmm;z%RW(QbFg[l$\"%feF/7$$!5NLLL$3P0xU&Fg[l$\"%YeF/7$$!5ommm\"HKFc?&Fg [l$\"%sfF/7$$!4++++]F\\N)\\F/$\"%%4'F/7$$!5MLL$eR#4E&)[Fg[l$\"%'3'F/7$ $!5ommm\"Hdspy%Fg[l$\"%wgF/7$$!5NLLeR(RGyt%Fg[l$\"%rgF/7$$!5-++](=A%o) o%Fg[l$\"%mgF/7$$!5NL$e9T87Tm%Fg[l$\"%jgF/7$$!5pmmTNY+aRYFg[l$\"%hgF/7 $$!5-+]Pfez'\\h%Fg[l$\"%fgF/7$$!5NLLL$3(eR!f%Fg[l$\"%jhF/7$$!5qmm;z>v5 #\\%Fg[l$\"%BhF/7$$!5.+++vo\">QR%Fg[l$\"%#3'F/7$$!5qmm\"HK*\\nWVFg[l$ \"%igF/7$$!5PLL$3x\"3`&H%Fg[l$\"%SgF/7$$!5qm;z%*H(e4F%Fg[l$\"%IgF/7$$! 5.++v=UmQYUFg[l$\"%?gF/7$$!5PL$3FWb9=A%Fg[l$\"%4gF/7$$!4nmmmmYUs>%F/$ \"%'4'F/7$$!5PLL$3xc/%*3%Fg[l$\"%dgF/7$$!5.+++vomc\")RFg[l$\"%>gF/7$$! 5PLL3F>xkFRFg[l$\"%**fF/7$$!5qmm;zp(GP(QFg[l$\"%zfF/7$$!5PL$3_]Hpn%QFg [l$\"%pfF/7$$!5.++DJ?)4)>QFg[l$\"%ffF/7$$!5qm;HdX.&Gz$Fg[l$\"%agF/7$$! 5NLLL$3(3*ew$Fg[l$\"%]gF/7$$!5-++](=(H0eOFg[l$\"%LgF/7$$!5ommm\"H2:-b$ Fg[l$\"%F/$\"%k_F/7$$\"3nmmm;f`@')F/$\"%L\\F/7$$\"4++++]nZ)H;F/ $\"%nYF/7$$\"4nmmmmJy*eCF/$\"%mVF/7$$\"4+++++S^bJ$F/$\"%hSF/7$$\"4++++ +0TN:%F/$\"%'z$F/7$$\"4++++]7RV'\\F/$\"%%e$F/7$$\"4+++++:#fkeF/$\"%7MF /7$$\"4LLLLL`4Nn'F/$\"%2KF/7$$\"4+++++],s`(F/$\"&1.$Fg[l7$$\"4nmmm;zM) >$)F/$\"&!>HFg[l7$$\"4+++++qfa<*F/$\"&/y#Fg[l7$$\"4LLLL$eg`!)**F/$\"&/ j#Fg[l7$$\"5++++]#G2A3\"F/$\"&\"zCFg[l7$$\"5LLLLL$)G[k6F/$\"&\"fBFg[l7 $$\"5++++]7yh]7F/$\"&oE#Fg[l7$$\"5nmmmm')fdL8F/$\"'P0A!#@7$$\"5nmmmm,F T=9F/$\"'qg@F`fm7$$\"5++++v8)z/Y\"F/$\"&76#Fg[l7$$\"5LLLL$e#pa-:F/$\"& [3#Fg[l7$$\"5mmmTg_2@7:F/$\"&&*3#Fg[l7$$\"5+++]PzX(=_\"F/$\"&Z4#Fg[l7$ $\"5mm;/w#\\1n_\"F/$\"&v4#Fg[l7$$\"5LLLe91%Q:`\"F/$\"&.5#Fg[l7$$\"5mmT &QGOaR`\"F/$\"&>5#Fg[l7$$\"5++]7`>.PO:F/$\"&L5#Fg[l7$$\"5LLeRAwiyQ:F/$ \"&[5#Fg[l7$$\"5mmmm\"HB-7a\"F/$\"&A0#Fg[l7$$\"5LLL$ek))H0c\"F/$\"&l1# Fg[l7$$\"5+++++Sv&)z:F/$\"&C3#Fg[l7$$\"5LLLL37#4?g\"F/$\"&B.#Fg[l7$$\" 5mmmm;%)3;C;F/$\"&^'>Fg[l7$$\"5LLL$3-sO_j\"F/$\"&&z>Fg[l7$$\"5++++DcDJ Y;F/$\"&W*>Fg[l7$$\"5LLL3Fu/&=l\"F/$\"&@+#Fg[l7$$\"5mmm;H#R)Qd;F/$\"&, ,#Fg[l7$$\"5LL$3-8Nd,m\"F/$\"&Q*=Fg[l7$$\"5+++DJ5j#Hm\"F/$\"&()*=Fg[l7 $$\"5mm;HKp_pl;F/$\"&P!>Fg[l7$$\"5LLLLLGUYo;F/$\"&'3>Fg[l7$$\"5nmmmm1^ rZ\"Fg[l7$$\"5++++]2%)38>F/$\"%,*)Fg[l7$$\"5++++v.Uac>F/$\"%$3&Fg[l7$$ \"\"#F*F+-%+AXESLABELSG6$Q\"x6\"Q!Fd_n-%&COLORG6&%$RGBG$\"\"&!\"\"F*\" \"\"-%%VIEWG6$;F(F^_n%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 120 "This error curve suggests that the first numerical solution should certainly give values which are correct to \+ 10 digits." }}{PARA 0 "" 0 "" {TEXT -1 106 "Recalculating the zero usi ng each of the two numerical solutions and using 20 digit precision gi ves . . . " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 85 "Digits := 20:\nsecant('gn2'(x),x=1.3..1.4);\nsecant ('gn3'(x),x=1.3..1.4);\nDigits := 10:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"5#Qu+6(*pq\"p8!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"57g25r*p q\"p8!#>" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 150 "These calculations suggest that the zero of the solution is 1.369 17069971101, correct to 15 digits, which gives 1.369170700 when rounde d to 10 digits." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 95 "An alternative approach to checking the accuracy of the f irst numerical solution is as follows." }}{PARA 0 "" 0 "" {TEXT -1 102 "By finding a numerical procedure for the derivative of the soluti on we can estimate the derivative at " }{XPPEDIT 18 0 "x=0" "6#/%\"xG \"\"!" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 129 "de := diff(y(x),x$2)=sinh(x)*y(x);\nbc : = y(-2)=-1,y(2)=1;\ndgn2 := desolveFD(\{de,bc\},y(x),output=derivtaylo r);\nevalf(dgn2(-2),13);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/-%% diffG6$-%\"yG6#%\"xG-%\"$G6$F,\"\"#*&-%%sinhGF+\"\"\"F)F4" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#!\"#!\"\"/-F(6#\"\"#\"\"\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$!.dR7(3Dd!#7" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 173 "We now have initial cond itions which can be used to find a continuous numerical solution by an adaptive Runge-Kutta method applicable to second order differential e quations." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 162 "de := diff(y(x),x$2)=sinh(x)*y(x);\nic := y(-2)=-1,D (y)(-2)=-5.725087123957;\ngn4 := desolve(\{de,ic\},y(x),x=-2..2,type=n umeric,method=rk45);\nplot('gn4(x)',x=-2..2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F,\"\"#*&-%%sinhG F+\"\"\"F)F4" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#icG6$/-%\"yG6#!\"#! \"\"/--%\"DG6#F(F)$!.dR7(3Dd!#7" }}{PARA 13 "" 1 "" {GLPLOT2D 456 274 274 {PLOTDATA 2 "6%-%'CURVESG6$7fn7$$!+c`F(*>!\"*$!+0`e:5F*7$$!+72b%*> F*$!+VL9J5F*7$$!+og#=*>F*$!+uPnY5F*7$$!+B95*)>F*$!+oiF *$!+*3'4$4\"F*7$$!+YG?y>F*$!+k,!R7\"F*7$$!+pUIn>F*$!+$y]^=\"F*7$$!+#p0 k&>F*$!+^z!fC\"F*7$$!+Q&3Y$>F*$!+Z['eO\"F*7$$!+$Q6G\">F*$!+\"yBO[\"F*7 $$!+3-)[(=F*$!+q#3Ho\"F*7$$!+M!\\p$=F*$!+BG\\u=F*7$$!+))Qj^'***F*$!+B?2 uPF*7$$!*]5*H\"*F*$!+Y3)[u$F*7$$!*I\"3&H)F*$!+>h!*)o$F*7$$!*Twp`(F*$!+ 4\"4th$F*7$$!*P;bj'F*$!+R!y*4NF*7$$!*Zh=(eF*$!+*3oHS$F*7$$!*G\\N)\\F*$ !+>P5jKF*7$$!*ZUs>%F*$!+Zc-GJF*7$$!*GRXL$F*$!+T]EqHF*7$$!*$=/8DF*$!+(Q 0I\"GF*7$$!*U&*el\"F*$!+/=zVEF*7$$!)Wn(o)F*$!+MK\\&[#F*7$$!(eV(>F*$!++ pE8BF*7$$\")f`@')F*$!+#GPV8#F*7$$\"*nZ)H;F*$!+*e$oz>F*7$$\"*Ky*eCF*$!+ Y&3[\"=F*7$$\"*S^bJ$F*$!+M]sZ;F*7$$\"*0TN:%F*$!+Gy>)[\"F*7$$\"*7RV'\\F *$!+v:3Q8F*7$$\"*:#fkeF*$!+9/tw6F*7$$\"*`4Nn'F*$!+2$zn.\"F*7$$\"*],s`( F*$!+I,$)F*$!+e'\\#pwFix7$$\"*qfa<*F*$!+GK)QM'Fix7$$ \"*1O0)**F*$!+Y@QT^Fix7$$\"+#G2A3\"F*$!+IK(f#RFix7$$\"+$)G[k6F*$!+g:rs FFix7$$\"+7yh]7F*$!+wl7%f\"Fix7$$\"+()fdL8F*$!+\"))e)oZ!#67$$\"+-FT=9F *$\"+?z!)*f'F][l7$$\"+Epa-:F*$\"+/Jx'z\"Fix7$$\"+Sv&)z:F*$\"+fc4lGFix7 $$\"+GUYo;F*$\"+(fo*RTFix7$$\"+2^rZF*$\"+tH%p@)Fix7$$\"\"#\"\"!$\"+'*********Fix-%'COLOU RG6&%$RGBG$\"#5!\"\"$Fd]lFd]lF^^l-%+AXESLABELSG6$Q\"x6\"Q!Fc^l-%%VIEWG 6$;$!\"#Fd]lFb]l%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "secant('gn4'(x),x=1.3..1.4);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"++2 " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 8 "Example " }{TEXT 272 26 "5 .. an example for which " }{TEXT 0 6 "dsolve" }{TEXT 273 38 " cannot obtain an analytical solution " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 258 "" 0 "" {TEXT -1 35 "Consider the boun dary value problem" }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+exp(x);" "6#,&*(%\"dG\"\"#%\"yG\"\"\"*&F%F(*$%\"xGF&F(! \"\"F(-%$expG6#F+F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx+(x+1)*y = x ^3;" "6#/,&*&%#dyG\"\"\"%#dxG!\"\"F'*&,&%\"xGF'F'F'F'%\"yGF'F'*$F,\"\" $" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F'" } {TEXT -1 2 ", " }{XPPEDIT 18 0 "y(5) = 1" "6#/-%\"yG6#\"\"&\"\"\"" } {TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 107 "Numerical procedures f or both the solution and its derivative can be found by the finite dif ference method." }}{PARA 0 "" 0 "" {TEXT -1 8 "Maple's " }{TEXT 0 6 "d solve" }{TEXT -1 53 " cannot find an analytical solution for this prob lem." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 208 "de := diff(y(x),x$2)+exp(x)*diff(y(x),x)+(x+1)*y(x)= x^3;\nbc := y(0)=0,y(5)=1;\n(gn,dgn) := desolveFD(\{de,bc\},steps=50,o utput=proc_pair,info=true);\nplot(['gn'(x),'dgn'(x)],x=0..5,color=[red ,COLOR(RGB,.5,0,1)]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%d iffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&-%$expGF,F2-F(6$F*F-F2F2*&,& F-F2F2F2F2F*F2F2*$)F-\"\"$F2" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG 6$/-%\"yG6#\"\"!F*/-F(6#\"\"&\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 %%3constructing~orderG\"#7%Clocal~Taylor~series~approximationsG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~difference~method~w ith~extrapolation~at~levelG\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%B solving~a~tridiagonal~system~withG\"#\\%*equationsG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"#**%*equationsG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wit hG\"$*>%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tri diagonal~system~withG\"$*R%*equationsG" }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6&-%'CURVESG6$7jn7$$\"\"!F)F(7$$\"+sUkCF!#6$! +7#*)p9%!#57$$\"+X&)G\\aF-$!+8aMw\")F07$$\"+b@#F;7$$\"+uq8Q?F0$!+]^[ /GF;7$$\"+NnNrDF0$!+z_@=MF;7$$\"+(RwX5$F0$!+?H>zRF;7$$\"+%eI8k$F0$!+-c h*[%F;7$$\"+sZ3yTF0$!+S*z\\%\\F;7$$\"+hyG7ZF0$!+'3NLM&F;7$$\"+]4\\Y_F0 $!+dCC(o&F;7$$\"+U-/PiF0$!+)eWO='F;7$$\"+^%o)\\nF0$!+*fy3P'F;7$$\"+fmp isF0$!+U$HF^'F;7$$\"+EV1$z(F0$!+yD'Rh'F;7$$\"+#*>VB$)F0$!+dulrmF;7$$\" +y`w(e)F0$!+BF4&o'F;7$$\"+j()4_))F0$!+j;())o'F;7$$\"+\\@V;\"*F0$!+bXT$ o'F;7$$\"+Mbw!Q*F0$!+4_:pmF;7$$\"+#HkX#**F0$!+6U/9mF;7$$\"+0j$o/\"F;$! +/`cFlF;7$$\"+_>jU6F;$!+tDQ6jF;7$$\"+j^Z]7F;$!+prJ%*fF;7$$\"+)=h(e8F;$ !+Lc?EcF;7$$\"+Q[6j9F;$!+dNx[_F;7$$\"+\\z(yb\"F;$!+]:\"G!\\F;7$$\"+b/c q;F;$!+>w5-XF;7$$\"+F;$!+9SYSNF;7$$\"+\"f#=$3#F;$!+#=LyC$F;7$$\"+t(pe=#F;$!+WDc*)HF;7$$ \"+uI,$H#F;$!+NWOQFF;7$$\"+rSS\"R#F;$!+L=o@DF;7$$\"+`?`(\\#F;$!+31p+BF ;7$$\"++#pxg#F;$!+(G#3$3#F;7$$\"+g4t.FF;$!+@yB->F;7$$\"+!Hst!GF;$!+a?% [r\"F;7$$\"+ERW9HF;$!+>%4!H:F;7$$\"+KE>>IF;$!+`+;a8F;7$$\"+#RU07$F;$!+ B(H5>\"F;7$$\"+?S2LKF;$!+l+T;5F;7$$\"+$p)=MLF;$!+H&z-l)F07$$\"+*=]@W$F ;$!+OL#*)3(F07$$\"+]$z*RNF;$!+M%o7s&F07$$\"+kC$pk$F;$!+>RovUF07$$\"+3q cZPF;$!+np_hHF07$$\"+/\"fF&QF;$!+R*zVj\"F07$$\"+0OgbRF;$!+upK=QF-7$$\" +nAFjSF;$\"+UxvF))F-7$$\"+&)*pp;%F;$\"+XyVc?F07$$\"+ye,tUF;$\"+ZM`7KF0 7$$\"+fO=yVF;$\"+nev:VF07$$\"+E>#[Z%F;$\"+NE:#H&F07$$\"+(G!e&e%F;$\"+* R@!ojF07$$\"+&)Qk%o%F;$\"+j5$>H(F07$$\"+UjE!z%F;$\"+xj!zB)F07$$\"+60O \"*[F;$\"+:;H1\"*F07$$\"\"&F)$\"\"\"F)-%'COLOURG6&%$RGBG$\"*++++\"!\") F(F(-F$6$7en7$F($!+BJCV:F^_l7$F=$!+]#)Gm8F^_l7$FB$!+*\\\"G%G\"F^_l7$FG $!+G?n*>\"F^_l7$FL$!+7\"))=5\"F^_l7$FQ$!+6y\">+\"F^_l7$FV$!+$R(y(**)F; 7$Fen$!+s/)*ozF;7$Fjn$!+OL%e%pF;7$F_o$!+%>S>$fF;7$$\"+'flF;7 $Ffw$\"+UqPY=F;7$F[x$\"+DZ@rQ;F;7$Fjx$ \"+:zc\"e\"F;7$F_y$\"+G>]A:F;7$Fdy$\"+VR9s9F;7$Fiy$\"+_mj?9F;7$F^z$\"+ oWgv8F;7$Fcz$\"+'[SyK\"F;7$Fhz$\"+jc2%G\"F;7$F][l$\"+-JPR7F;7$Fb[l$\"+ qhd'>\"F;7$Fg[l$\"+;-k_6F;7$F\\\\l$\"+Ce566F;7$Fa\\l$\"+$\\)Qp5F;7$Ff \\l$\"+\"fd(G5F;7$F[]l$\"+\"z82#**F07$F`]l$\"+JA*z]*F07$Fe]l$\"+&y3g9* F07$Fj]l$\"+pyrn()F07$F_^l$\"+g^F8%)F07$Fd^l$\"+ai'4/)F0-%&COLORG6&F[_ l$Fe^l!\"\"F)Fg^l-%+AXESLABELSG6$Q\"x6\"Q!F^[m-%%VIEWG6$;F(Fd^l%(DEFAU LTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1 " "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 104 "A check on the accuracy of these numerical solutions can be ma de by recalculating with higher precision." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 157 "de := diff(y(x),x $2)+exp(x)*diff(y(x),x)+(x+1)*y(x)=x^3;\nbc := y(0)=0,y(5)=1;\n(gn2,dg n2) := evalf(desolveFD(\{de,bc\},steps=50,output=proc_pair,info=true), 15);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\" xG-%\"$G6$F-\"\"#\"\"\"*&-%$expGF,F2-F(6$F*F-F2F2*&,&F-F2F2F2F2F*F2F2* $)F-\"\"$F2" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F */-F(6#\"\"&\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%3constructing~o rderG\"#;%Clocal~Taylor~series~approximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~difference~method~with~extrapolation ~at~levelG\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiag onal~system~withG\"#\\%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6% %Bsolving~a~tridiagonal~system~withG\"#**%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$*>%*equatio nsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~ withG\"$*R%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~ tridiagonal~system~withG\"$*z%*equationsG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 180 "The following error curves sho w that the first pair of numerical procedures for the solution and its derivative will give values which are (for the most part) correct to \+ 10 digits." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 103 "evalf(plot(['gn(x)-gn2(x)','dgn(x)-dgn2(x)'],x=0.. 5,\n color=[blue,magenta]),20);" }}{PARA 13 "" 1 "" {GLPLOT2D 484 324 324 {PLOTDATA 2 "6&-%'CURVESG6$7dy7$$\"\"!F)F(7 $$\"5MLLLL3x&)*3\"!#?$\"'[ak!#>7$$\"5nmmm\"H2P\"Q?F-$\"(UaT\"F07$$\"5M LLL$eRwX5$F-$\"(*o*Q#F07$$\"5NLLL$3x%3yTF-$\"($R)f$F07$$\"5ommm\"z%4\\ Y_F-$\"(m44&F07$$\"5NLLLeR-/PiF-$\"(hM%pF07$$\"5-+++DcmpisF-$\"(sD6*F0 7$$\"5OLLLe*)>VB$)F-$\")q\")[6F07$$\"5.+++DJbw!Q*F-$\")CT'Q\"F07$$\"5n mmm;/j$o/\"F0$\"),8x:F07$$\"5+]iS;=*H)\\5F0$\")'\\Vd\"F07$$\"5MLe9;KN# G0\"F0$\")hb'p\"F07$$\"5n;a)eh9jU6F0$\")^4i;F07$$\"5n;a)3C0-g9 \"F0$\")$[/m\"F07$$\"5++vVt_@P\\6F0$\")(y(e;F07$$\"5M$e*)fIDUF:\"F0$\" )^po9F07$$\"5nm;aQ`B6c6F0$\")+Ur9F07$$\"5MLek.aD&G;\"F0$\")cnw9F07$$\" 5+++voaFfp6F0$\")cn\"[\"F07$$\"5ML$e*)f:tI=\"F0$\")R#4\\\"F07$$\"5nmm; HdNb'>\"F0$\")c>*\\\"F07$$\"5++]PfeR.57F0$\")7_1:F07$$\"5MLLe*)fV^B7F0 $\")9$H^\"F07$$\"5++voagXDI7F0$\")I!e^\"F07$$\"5nm;z>hZ*pB\"F0$\")tX=: F07$$\"5+]PM_h[OS7F0$\")Tq>:F07$$\"5MLe*[='\\tV7F0$\")!)*3_\"F07$$\"5n ;zWN\"F0$!(1'[b\"F0$!)fo@JF07$$\"5nTg_s,m\"\\b\"F0$!)) *\\5JF07$$\"5MLL$e*[z(yb\"F0$!).S*4$F07$$\"5nm;/Ev&[ge\"F0$!)\"H!)*HF0 7$$\"5+++Dc,#>Uh\"F0$!)@%R!HF07$$\"5nmTNr9XIG;F0$!)%y%fGF07$$\"5ML$eky #)*QU;F0$!)`l;GF07$$\"5+vVB:c6\"fk\"F0$!)*)>1GF07$$\"5n;/,W%[K%\\;F0$! )1%ez#F07$$\"5Mekys7Q&Hl\"F0$!)?DNVF07$$\"5++Dc,T^Zc;F0$!)B3LVF07$$\"5 M$e9\"f(z\"[=-6v\"F0$!)D!zo%F07$$\"5nmmT&)3_3aF0$!)yQ[TF07$$\"5MLLe9;0?E>F0$!))p$yUF07$$\"5+]Pf3QNMK>F 0$!))zkI%F07$$\"5nmTg-gl[Q>F0$!)c&HL%F07$$\"5+v$4'*42e:%>F0$!)))fXVF07 $$\"5M$e9m>eHY%>F0$!)[&yN%F07$$\"5n\"z>OH4,x%>F0$!)3tpVF07$$\"5++]i!Rg s2&>F0$!)<))>;F07$$\"5MLekyZ'eI'>F0$!)RCPF0$!)8.W =F07$$\"5++]iSmTI-?F0$!)G#[/#F07$$\"5MLLe9TOEH?F0$!)JC0AF07$$\"5n;H2$) 4N+O?F0$!)'*yRAF07$$\"5,+Dc^yLuU?F0$!)pHsAF07$$\"5n\"H2eGJ8h/#F0$!)I\" yG#F07$$\"5M$3_+sC$[\\?F0$!);&GI#F07$$\"5,voHa\"=`G0#F0$\")zLt6F07$$\" 5nm;a)e6Bi0#F0$\")Hma6F07$$\"5ML3_D`Gqp?F0$\")#HV3\"F07$$\"5,++]i!f#=$ 3#F0$\")_a?5F07$$\"5+++v$fQa)3@F0$\"(g@F0$\")+HJOF07$$\"5++](=U(Q.t@F0$\")C[fOF07$$ \"5,++](=xpe=#F0$\")+'Go$F07$$\"5nm;a8(fbE@#F0$\")`8=PF07$$\"5MLLeRA9W RAF0$\")'f\"QPF07$$\"5nmTg-NV$GD#F0$\")t]wYF07$$\"5,+]ilZsAmAF0$\")B_- [F07$$\"5MLekGg,izAF0$\")Ij5\\F07$$\"5nmmm\"H28IH#F0$\")Zx-]F07$$\"5om ;a8A3h6tsK9N#F0$\")hXkRF0 7$$\"5omTN'fW2XN#F0$\")*\\,+%F07$$\"5o;H#oK)olgBF0$\")jynSF07$$\"5om;H d?j!oO#F0$\")]lITF07$$\"5om\"H#=&>0\"zBF0$\")1:VUF07$$\"5nmm;zpSS\"R#F 0$\").jRVF07$$\"5ML$ek`1OzT#F0$\")`Z,XF07$$\"5,++v$41oWW#F0$\")vI7YF07 $$\"5Me9TQgXyZCF0$\")L@BYF07$$\"5n;H2$)f55^CF0$\")q-@?F07$$\"5,vVtFfvT aCF0$\")6sS?F07$$\"5MLeRseStdCF0$\")Lff?F07$$\"5,](=`#F0$\")A#zJ#F07$$\"5MLe9;#)4()QDF0$\")f;IBF 07$$\"5M3-8+$*eJUDF0$\")mvNBF07$$\"5M$e9TQ!3wXDF0$\")<,TBF07$$\"5Me*)4 o9d?\\DF0$\")Y%fM#F07$$\"5MLL3_D1l_DF0$!'u[$)F07$$\"5ML$eRA\"*4-e#F0$! (s)=9F07$$\"5MLL$e*)>pxg#F0$!(e;#=F07$$\"5nm;/,>Ww>EF0$!(\\R&>F07$$\"5 ,++D1R'f#F07$ $\"5M$ek`TF^Fl#F0$!)rP(R\"F07$$\"5nmmm;z+vbEF0$!)!H!>9F07$$\"5MLL3F>0u zEF0$!)N$4c\"F07$$\"5,++]Pf4t.FF0$!)s=e;F07$$\"5nmT5lDho;FF0$!)*\\mp\" F07$$\"5ML$3F>HT'HFF0$!)pIFY\"y#F0$!)jSdST$GF0$!)qi\")=F07$$\"5nmT5lv@$3%GF0$!)&o(*)=F07$$\" 5ML$ekG:Cv%GF0$!)7s'*=F07$$\"5n;a8ZT,(3&GF0$!)-P>6F07$$\"5,+D\"y+8;U&G F0$!)F*\\7\"F07$$\"5M$e*[o=@cdGF0$!)1DI6F07$$\"5nmm;H2\"34'GF0$!)O;N6F 07$$\"5MLLe9;gn()GF0$!)'oS;\"F07$$\"5,++++DRW9HF0$!)RQz6F07$$\"5,+++DJ E>>IF0$!(&)GL%F07$$\"5++v=<^8'=.$F0$!(o\"yUF07$$\"5++]P4r+`WIF0$!(cOB% F07$$\"5+v=U2^spZIF0$!(^QA%F07$$\"5+](oa5Vk30$F0$!'pu*)F07$$\"5+Dc^.6; .aIF0$!'(oM)F07$$\"5++Dc,\"z)>dIF0$!']fxF07$$\"5+]il(4:LN1$F0$!'G'p'F0 7$$\"5+++v$4^n)pIF0$!'#ow&F07$$\"5++]7y]\\?&4$F0$!'%44$F07$$\"5,++]i!R U07$F0$!'\"\\b\"F07$$\"5++D19W)3Y8$F0$!'j65F07$$\"5++]il(Hv'[JF0$!&k<' F07$$\"5+Dc^.6>>_JF0$\"'b*R'F07$$\"5+]iSTC&3d:$F0$\"'pOnF07$$\"5+voHzP ^AfJF0$\"'yYqF07$$\"5++v=<^t$*F07$$\"5,++ +v=S2LKF0$\"'f3**F07$$\"5MLL$3_NJOG$F0$\"(!)Q&zF-7$$\"5ommmm\"p)=MLF0$ \"(_c7)F-7$$\"5,+++](=]@W$F0$\"($pyZF-7$$\"5MLL$e*[$z*RNF0$\"(U;r#F-7$ $\"5,+++]iC$pk$F0$\"(72i\"F-7$$\"5omm;H2qcZPF0$\"(oQ-\"F-7$$\"5,++]7. \"fF&QF0$\"'v:ZF-7$$\"5ommm;/OgbRF0$\"((35K!#@7$$\"5,++]ilAFjSF0$\"(]Y ?#Fg`o7$$\"5NLLLL$)*pp;%F0$\"')\\`\"F-7$$\"5NLLL3xe,tUF0$\"'jp5F-7$$\" 5omm;HdO=yVF0$\"&!HuF-7$$\"5,++++D>#[Z%F0$\"&J6&F-7$$\"5ommmT&G!e&e%F0 $\"&;S$F-7$$\"5NLLLL$)Qk%o%F0$\"&o:#F-7$$\"5-++]iSjE!z%F0$\"&TA\"F-7$$ \"5-++]P40O\"*[F0$\"%v_F-7$$\"\"&F)F(-%'COLOURG6&%$RGBGF(F($\"*++++\"! \")-F$6$7][l7$F($\"'^NC!#=7$F+$\"'y$f\"Fedo7$F2$\"&ya'Fedo7$F7$!&\"e\\ Fedo7$F<$!(&**))=F07$FA$!(STd$F07$FF$!(lj`&F07$FK$!(NEl(F07$FP$!)$=4_* F-7$$\"5.++v$fL:&*Q)F-$!)%H[^*F-7$$\"5qmm;H#o)fb%)F-$!)'*f2&*F-7$$\"5P LLekG?o@&)F-$!*KKb-\"F-7$$\"5.++++v`w(e)F-$!*'RiF5F-7$$\"5PLL$3x1K*>() F-$!*[L8.\"F-7$$\"5qmmmTg()4_))F-$!+*=@W.\"Fg`o7$$\"5PLLL$e9Kk6*F-$!*f b(Q5F-7$FU$!*!)z1/\"F-7$$\"5P$3_]M&Hv9%*F-$!*8b2/\"F-7$$\"5qmT5lv.u[%* F-$!*G\"zS5F-7$$\"5.]i:&yzFF[*F-$!*!yyS5F-7$$\"5PL$3_+A:n^*F-$!)0M3&)F -7$$\"5.+DJXk+p%e*F-$!)3#zd)F-7$$\"5qmmT&)3\\m_'*F-$!(T_k)F07$$\"5.+]i l(f9')y*F-$!(HJx)F07$$\"5PLL$ekGkX#**F-$!(d?*))F07$$\"5++]iSmjk>5F0$!( (G.\"*F07$FZ$!(H&z#*F07$Fin$!(FoH*F07$F^o$!(JJs#F07$Fco$!(yO!GF07$Fho$ !(tN)GF07$F]p$!(!RTIF07$Fbp$!(fl>$F07$Fgp$!(T*)\\$F07$F\\q$!(72z$F07$F aq$!(wCM%F07$Ffq$!(j?&[F07$F[r$!(@/#\\F07$F`r$!(tz)\\F07$Fer$\"(3@=)F0 7$Fjr$\"(#)*))zF07$F_s$\"($*og(F07$Fds$\"(M/B(F07$Fis$\"(@X\\'F07$F^t$ \"(\\8y&F07$Fct$\"(q44&F07$Fht$\"((RBWF07$F]u$\"(h\")4%F07$Fbu$\"(;'yP F07$Fgu$\"(r4i$F07$F\\v$\"(NZY$F07$Fav$\"(#*)4LF07$Ffv$\")&)HkBF07$F[w $\")4:'4#F07$F`w$\")@eV=F07$Few$\")T:B(R\\\"F07$Fix$\")tSm9F07$F^y$\")U:/RF07$Fcy$\")^naQF07$ Fhy$\")hc0QF07$F]z$\")@ZRMF07$Fbz$\")eY&4$F07$Fgz$\")FoJHF07$F\\[l$\") >LtFF07$Fa[l$\")ueMFF07$Ff[l$\")!yhp#F07$F[\\l$\"):5eEF07$F`\\l$\")!3d t%F07$Fe\\l$\")qNIYF07$Fj\\l$\")omEXF07$F_]l$\")b\"R;%F07$Fd]l$\")\"*o AQF07$Fi]l$\")>-gOF07$F^^l$\")_d-NF07$Fc^l$\")+zDMF07$Fh^l$\")aG]LF07$ F]_l$\")0,8LF07$Fb_l$\")e/#z$F07$Fg_l$\")$=Fw$F07$F\\`l$\")0fLPF07$Fa` l$\")IGmMF07$Ff`l$\")TP;KF07$F[al$\"),\"y4$F07$F`al$\")qU$)HF07$Feal$ \")+[bHF07$Fjal$\")XzFHF07$F_bl$\"((G:gF07$Fdbl$\"(SoI'F07$Fibl$\"(2R( oF07$F^cl$\"(#y>uF07$Fccl$\"(6q6*F07$Fhcl$\")j3f5F07$F]dl$\")k*[7\"F07 $Fbdl$\")tr&=\"F07$Fgdl$\"))p,?\"F07$F\\el$\")>L97F07$Fael$!)Zn`VF07$F fel$!)V=TUF07$F[fl$!)o&3-%F07$F`fl$!)*fm!QF07$Fefl$!)@f()GF07$Fjfl$!)G J)3#F07$F_gl$!)SGILTWF07$Ffjl$!)O/!=%F07$F[[m$!)a( G0%F07$F`[m$!)S)z#RF07$Fe[m$!)'Q`!QF07$Fj[m$!*4^.+\"F07$F_\\m$!)+$>6*F 07$Fd\\m$!)&=:G)F07$$\"5MLek.HW#)))>F0$!)G'pV(F07$Fi\\m$!)*Q!emF07$$\" 5nmTgx.Ry:?F0$!)GySfF07$F^]m$!)3Q\"G&F07$Fc]m$!)]As\\F07$Fh]m$!)Nz1$F07$Fe`m$!)VX@H F07$Fj`m$!)`X\"y#F07$F_am$\")S->FF07$Fdam$\")P(*3EF07$Fiam$\")pc,DF07$ F^bm$\")tv'R#F07$Fcbm$\")I`-?F07$Fhbm$\")A/Y;F07$F]cm$\")F,65F07$Fbcm$ \"(\"RN]F07$$\"5nT&Q`0l*yUAF0$\"(])zWF07$$\"5,]P4ryy8YAF0$\"(n/%RF07$$ \"5Me*[oo5'[\\AF0$\"(;oT$F07$Fgcm$\"*JAH,\"F07$$\"5M$e9T8zI&fAF0$\")MY -%*F07$F\\dm$\")JS:()F07$Fadm$\")<7`uF07$Ffdm$\")I^GjF07$$\"5omTg_Z>J0 BF0$\")b,1aF07$F[em$\")\\czXF07$$\"5om\"zWnp4*HBF0$\")#41%QF07$F`em$\" )SA\"=$F07$Feem$\")\"Qz-$F07$Fjem$\")U0zGF07$F_fm$\"*T,==\"F07$Fdfm$\" *4d,9\"F07$Fifm$\"*zo.1\"F07$F^gm$\")7e])*F07$Fcgm$\");/q%)F07$Fhgm$\" )=`VsF07$$\"5,+D\"yv1qYS#F0$\")X$f2'F07$F]hm$\")rt_]F07$$\"5nmT5:j??JC F0$\")RBeTF07$Fbhm$\")->yLF07$Fghm$\")3`*>$F07$F\\im$\")l)\\1'F07$Faim $\")\"oG\"eF07$Ffim$\")[LpbF07$F[jm$\")`)p5&F07$F`jm$\")D%fn%F07$Fejm$ \")@M+RF07$Fjjm$\")8jGKF07$F_[n$\")CcFEF07$Fd[n$\")'zE6#F07$Fi[n$\")d/ %)=F07$F^\\n$\")n!Hn\"F07$Fc\\n$\")\\_t:F07$Fh\\n$\"),3y9F07$F]]n$\")* QkQ\"F07$Fb]n$!),JDDF07$Fg]n$!)YNa\"F07$Fa^n$!)W$3, \"F07$Ff^n$!(/S[)F07$F[_n$!(6)fxF07$F`_n$!(d!*3(F07$Fe_n$!(mDx'F07$Fj_ n$!(p!okF07$F_`n$!)y#GQ(F07$Fd`n$!)2jfqF07$$\"5,+](=#*HXxm#F0$!)PS')eF 07$Fi`n$!)r5&)[F07$$\"5nm;HKRdt\"p#F0$!)c[KSF07$F^an$!)::3LF07$Fcan$!) hV\\EF07$Fhan$!)!)3+@F07$F]bn$!)33h=F07$Fbbn$!)!4Lk\"F07$Fgbn$!)-%=a\" F07$F\\cn$!)?/X9F07$Facn$!)o7mhF07$Ffcn$!)!p5%eF07$$\"5ML3_v!z1&oFF0$! )kD%o%F07$F[dn$!)m$*GPF07$$\"5nm\"H2L7(QF07$$\"5+++Dc,6jSHF0$!(\"F07$$\"5+++voaa+$*HF0$\"(ae_(F07$Fggn$\"(v7z%F07$F\\ hn$\"(-O)QF07$Fahn$\"(7E<$F07$Ffhn$\"(o0-$F07$F[in$\")V%)[?F07$F`in$\" )k1<>F07$Fein$\")wP$z\"F07$Fjin$\")kSo:F07$F_jn$\")4Yq8F07$Fdjn$\"(U'= zF07$Fijn$\"(\"R4XF07$F^[o$\"(8vF$F07$Fc[o$\"(,3P#F07$Fh[o$\"(w<***F07 $F]\\o$\"(WB>*F07$Fb\\o$\"(AKX)F07$Fg\\o$\"(j+x(F07$F\\]o$\"(:db'F07$F a]o$\"(^,_&F07$Ff]o$\"(k$4FF07$F[^o$\"(%>e7F07$F`^o$\"'a,tF07$Fe^o$\"& M\"))F07$Fj^o$!'gl6F07$F__o$!&lc(F07$Fd_o$!&T>$F07$Fi_o$!&:f\"F07$F^`o $!&io(F07$Fc`o$!&>h%F07$Fi`o$!&?@#F07$F^ao$!&nH\"F07$Fcao$!%PlF07$Fhao $!%)H$F07$F]bo$!&@1$F-7$Fbbo$!&N.\"F-7$Fgbo$!%X(*F-7$F\\co$!%wEF-7$Fac o$!%58F-7$Ffco$!$\"eF--Fico6&F[doF\\doF(F\\do-%+AXESLABELSG6$Q\"x6\"Q! F^ir-%%VIEWG6$;F(Ffco%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 28 "The zero is very close to 4." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "fsolve('gn(x)',x=4);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+z4p()R!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "evalf(fsolve('gn2(x)',x=4),15);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#$\"0%Q3z4p()R!#9" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 9 "Example 6" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 "; " }}}{PARA 258 "" 0 "" {TEXT -1 35 "Consider the boundary value proble m" }}{PARA 256 "" 0 "" {TEXT -1 3 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+ x;" "6#,&*(%\"dG\"\"#%\"yG\"\"\"*&F%F(*$%\"xGF&F(!\"\"F(F+F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx+5*sin(4*x)*y = 0;" "6#/,&*&%#dyG\"\"\"% #dxG!\"\"F'*(\"\"&F'-%$sinG6#*&\"\"%F'%\"xGF'F'%\"yGF'F'\"\"!" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F'" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(10) = 1" "6#/-%\"yG6#\"#5\"\"\"" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 107 "Numerical procedures for both the s olution and its derivative can be found by the finite difference metho d." }}{PARA 0 "" 0 "" {TEXT -1 8 "Maple's " }{TEXT 0 6 "dsolve" } {TEXT -1 53 " cannot find an analytical solution for this problem." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 209 "de := diff(y(x),x$2)+x*diff(y(x),x)+5*sin(4*x)*y(x)=0;\nbc := y(0 )=0,y(10)=1;\n(gn,dgn) := desolveFD(\{de,bc\},steps=250,output=proc_pa ir,info=true);\nplot(['gn'(x),'dgn'(x)],x=0..10,color=[red,COLOR(RGB,. 5,0,1)]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG 6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&F-F2-F(6$F*F-F2F2*(\"\"&F2-%$sinG6#,$*& \"\"%F2F-F2F2F2F*F2F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$ /-%\"yG6#\"\"!F*/-F(6#\"#5\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%3 constructing~orderG\"#7%Clocal~Taylor~series~approximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~difference~method~with~ex trapolation~at~levelG\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolvin g~a~tridiagonal~system~withG\"$\\#%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$*\\%*equationsG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wit hG\"$***%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tr idiagonal~system~withG\"%**>%*equationsG" }}{PARA 13 "" 1 "" {GLPLOT2D 484 317 317 {PLOTDATA 2 "6&-%'CURVESG6$7gt7$$\"\"!F)F(7$$\"+ S&)G\\a!#6$\"+,&4mR\"!#57$$\"+3x&)*3\"F0$\"+^:*Qy#F07$$\"+ilyM;F0$\"+N I(\\9%F07$$\"+;arz@F0$\"+$yLjX&F07$$\"+!y%*z7$F0$\"+Vp^PvF07$$\"+XTFwS F0$\"+[')[W#*F07$$\"+oMrU^F0$\"+j'431\"!\"*7$$\"+\"z_\"4iF0$\"++pLR6FO 7$$\"+m6m#G(F0$\"+aIpv6FO7$$\"+S&phN)F0$\"+XH4&>\"FO7$$\"+GEP!*))F0$\" +u/x\"FO$\"+=b (yp#FO7$$\"+!4`oz\"FO$\"+'GFor#FO7$$\"+HkGB=FO$\"+\")3iFFFO7$$\"+o(>( \\=FO$\"+>k.IFFO7$$\"+1J:w=FO$\"+(3&)Rs#FO7$$\"+dG\"\\)>FO$\"+5PB8EFO7 $$\"+3En$4#FO$\"+.ad)Q#FO7$$\"+c#o%*=#FO$\"+UKuP@FO7$$\"+/RE&G#FO$\"+9 PS!)=FO7$$\"+9r5$R#FO$\"+sK&oi\"FO7$$\"+D.&4]#FO$\"+()f&HW\"FO7$$\"+PL 4bDFO$\"+^g#=Q\"FO7$$\"+]jB4EFO$\"+K72U8FO7$$\"+dyIOEFO$\"++@/I8FO7$$ \"+j$zLm#FO$\"+cR2B8FO7$$\"+q3X!p#FO$\"+8W*4K\"FO7$$\"+vB_])*z\"FO7$ $\"+,iI%[$FO$\"+[c\"Gw\"FO7$$\"+LY.KNFO$\"+SjR80\"FO7$$\"+1dSRTFO$\"+kw*y /\"FO7$$\"+\"=lj;%FO$\"+qC,Z5FO7$$\"+wp.#>%FO$\"+LQ**[5FO7$$\"+r(3x@%F O$\"+7;j`5FO7$$\"+n0QVUFO$\"+sJ\"31\"FO7$$\"+iB0pUFO$\"+j6Tq5FO7$$\"+` fR?VFO$\"+%3vi4\"FO7$$\"+V&RY2aFO$\"+$=,M2\"FO7$$\"+ [K56bFO$\"+0NG05FO7$$\"+yXu9cFO$\"+QS'fp*F07$$\"+([7:k&FO$\"+[CSf'*F07 $$\"+&R!GocFO$\"+#R\\ak*F07$$\"+/$[]p&FO$\"+Bdo`'*F07$$\"+8i\"=s&FO$\" +mZ`$o*F07$$\"+I?NvdFO$\"+S7.0)*F07$$\"+\\y))GeFO$\"+ssC+5FO7$$\"+bljL fFO$\"+1j(p0\"FO7$$\"+i_QQgFO$\"+X3JH6FO7$$\"+@]tRhFO$\"+X3P-7FO7$$\"+ !y%3TiFO$\"+&R$Hl7FO7$$\"+%f]tH'FO$\"+(\\U6H\"FO7$$\"+3kh`jFO$\"+=r=38 FO7$$\"+:$\\7FO7$$\"+u.I%)oFO$\"+4%\\&e5FO7$$\"+N&H@)pFO$\"+T^1v**F07 $$\"+(pe*zqFO$\"+.j=d&*F07$$\"+upp1rFO$\"+qlE#[*F07$$\"+`_VLrFO$\"+9F/ D%*F07$$\"+JNMX-\"FO7$$\"+0#=bq(FO$\"+8&4q9\"FO7$$\"+1FO3yFO$\"+jGI'>\"FO7$$\"+2 s?6zFO$\"+#oJ\\A\"FO7$$\"+tV7QzFO$\"+u?5G7FO7$$\"+Q:/lzFO$\"+LQLH7FO7$ $\"+.(e>*zFO$\"+E.gG7FO7$$\"+pe()=!)FO$\"+=_!fA\"FO7$$\"+*>5F2)FO$\"+2 sz97FO7$$\"+IXaE\")FO$\"+Jmj'>\"FO7$$\"+ZACI#)FO$\"+W0&f9\"FO7$$\"+l*R RL)FO$\"+0Mv$3\"FO7$$\"+ee)*R%)FO$\"+Sbh?5FO7$$\"+`<.Y&)FO$\"+C(H!*o*F 07$$\"+Uch)f)FO$\"+Bck*\\*F07$$\"+K&*>^')FO$\"+Mg\"GO*F07$$\"+x9\\x')F O$\"+j)p^J*F07$$\"+AMy.()FO$\"+MYm\"G*F07$$\"+n`2I()FO$\"+O]Oi#*F07$$ \"+8tOc()FO$\"+F&=sD*F07$$\"+Yko/))FO$\"+Hi/%G*F07$$\"+!e0I&))FO$\"+!G =hN*F07$$\"+9ZK,*)FO$\"+d*p.Z*F07$$\"+\\Qk\\*)FO$\"+!3aEi*F07$$\"+3ASg !*FO$\"+9V`35FO7$$\"+p0;r\"*FO$\"+!Q;O1\"FO7$$\"+mTAq#*FO$\"+&y'z66FO7 $$\"+lxGp$*FO$\"+r;a]6FO7$$\"+$**)4A%*FO$\"+i@zk6FO7$$\"+A-\"\\Z*FO$\" +C$yM<\"FO7$$\"+PeJ,&*FO$\"+j#fb<\"FO7$$\"+^9sF&*FO$\"+'fzg<\"FO7$$\"+ mq7a&*FO$\"+uw-v6FO7$$\"+!oK0e*FO$\"+7ZTs6FO7$$\"+[oi\"o*FO$\"+Y=()[6F O7$$\"+<5s#y*FO$\"+)H#)z5\"FO7$$\"#5F)$\"\"\"F)-%'COLOURG6&%$RGBG$\"*+ +++\"!\")F(F(-F$6$7aw7$F($\"+9(y[c#FO7$$\"+qUkCFF-$\"+x9ejDFO7$F+$\"+1 CKeDFO7$$\"+5G$R<)F-$\"+O%3ra#FO7$F2$\"+XT2GDFO7$F7$\"+6p4gCFO7$F<$\"+ o)RVM#FO7$FA$\"+vuU>?FO7$FF$\"+0`7k:FO7$$\"+1Q\\4YF0$\"+opVy7FO7$FK$\" +60tS**F07$$\"+IJ$fn&F0$\"+?FW+tF07$FQ$\"+e=NP]F07$$\"+zp!fu'F0$\"+t** [#G$F07$FV$\"+%ye5:#F07$$\"+8(\\oT(F0$\"+I*yD(>F07$$\"+f#Q5b(F0$\"+kwx O=F07$$\"+1oA&o(F0$\"+!*4\"Qu\"F07$$\"+``T>yF0$\"+I,n$p\"F07$$\"+YCz(3 )F0$\"+\"4c5s\"F07$Fen$\"+&)3*e\">F07$F_o$\"+](*)fA%F07$Fio$\"+83DI&)F 07$$\"+ac#))4\"FO$\"+_Ru)4\"FO7$F^p$\"+BJ2h8FO7$$\"+$e!)y>\"FO$\"+kv[H ;FO7$Fcp$\"+_')4#*=FO7$Fhp$\"+2E%zN#FO7$F]q$\"+i*)*Qg#FO7$$\"+9x0z9FO$ \"+\"\\'Q9EFO7$Fbq$\"+$on()f#FO7$$\"+\"[%4K:FO$\"+=%*GbDFO7$Fgq$\"+5+e #[#FO7$F\\r$\"+/hNYAFO7$Far$\"+;nc*)=FO7$$\"+O(>6p\"FO$\"+YzHp;FO7$Ffr $\"+Kq\\B9FO7$$\"+9k)Ru\"FO$\"+%p:]:\"FO7$F[s$\"+[Q3DF07$Fjs$!+;ljjoF-7$F_t$!+e=F*)QF07$$\"+WIM.>FO$!+k \"R\"QrF07$$\"+#)H`I>FO$!+AbdG5FO7$$\"+?Hsd>FO$!+(GqW#FO$!+k-D5jR&F07$Faw$!+hoXf;F07$F[x$\"+$)zn*z\"F07$$\"+,#*ppFFO$\"+iR@)y%F07$ F`x$\"+o??ktF07$$\"+^G0uGFO$\"+4Tfb%*F07$Fex$\"+:&R!*4\"FO7$$\"+a/#*\\ HFO$\"+!)*o%[6FO7$$\"+J7htHFO$\"+y8S%=\"FO7$$\"+4?I(*HFO$\"+&z0j?\"FO7 $$\"+'y#*4-$FO$\"+X?t87FO7$$\"+jNoWIFO$\"+gDL17FO7$$\"+TVPoIFO$\"+H[)Q =\"FO7$$\"+=^1#4$FO$\"+qMJY6FO7$Fjx$\"+54r$4\"FO7$F_y$\"+K=s-\"*F07$Fd y$\"+-,*G_'F07$F^z$\"+I<8]LF07$Fhz$!+=K>4?F-7$Fb[l$!+)G$=8LF07$F\\\\l$ !+/1$>M'F07$Fa\\l$!+&*)oE7*F07$Ff\\l$!+/I&4:\"FO7$$\"+WTb(e$FO$!+h$eRO \"FO7$F[]l$!+X=w'\\\"FO7$$\"+MN&pl$FO$!+f#Go^\"FO7$$\"+7M$3n$FO$!+()3j J:FO7$$\"+!H8Zo$FO$!+lW@T:FO7$$\"+oJf)p$FO$!+,,lX:FO7$$\"+YIZ7PFO$!+'o L]a\"FO7$$\"+CHNEPFO$!+PT[R:FO7$$\"+-GBSPFO$!+6:9H:FO7$F`]l$!+&*\\;9:F O7$Fe]l$!+IbY#H\"FO7$Fj]l$!+>*QHD*F07$Fd^l$!+II!**[%F07$Fh_l$\"+VDu7CF -7$F\\al$\"+\">G9>%F07$Ffal$\"+Iqf8sF07$$\"+%>6`U%FO$\"+x\"G5I)F07$$\" +WG))yWFO$\"+Ow&e)*)F07$$\"+p'oc]%FO$\"+%=BC;*F07$$\"+%\\aC`%FO$\"+P!H ;A*F07$$\"+>.CfXFO$\"+)*[]f\"*F07$F[bl$\"+$o!Ht*)F07$F`bl$\"+_vrAsF07$ Febl$\"+Bp2oRF07$Ficl$!+XrRjeF-7$F]el$!+wh3e^F07$Fbel$!+)*yX2()F07$Fge l$!+QuZ@5FO7$$\"+O)G&R_FO$!+&y1Z-\"FO7$$\"+w#>NE&FO$!+X8!y,\"FO7$$\"+; (4vG&FO$!+mPA,5FO7$$\"+d,]6`FO$!+!\\\\av*F07$$\"+P5[f`FO$!+*z^e**)F07$ F\\fl$!+=)H(ezF07$Fafl$!+,%yH2&F07$Fffl$!+s4%=z\"F07$Fjgl$\"+?MB5:F07$ Fdhl$\"+F(F07$$\"+,FsjgFO$\"+g co2tF07$$\"+T,1*3'FO$\"+94EjsF07$$\"+!e(R9hFO$\"+Hf*o8(F07$Fcil$\"+#p6 w#pF07$$\"++*4/>'FO$\"+z'y8E'F07$Fhil$\"+&G&Gy_F07$Fbjl$\"+-'**Q;#F07$ Ff[m$!+!\\\"Q-;F07$F[\\m$!+eYB=ZF07$F`\\m$!+!*f6zoF07$$\"+cxO&p'FO$!+A RGOsF07$$\"+I\"eBs'FO$!+f,%H\\(F07$$\"+/&[$\\nFO$!+f_J[wF07$$\"+y)Qjx' FO$!+#eINq(F07$$\"+_#HL!oFO$!+4vVhwF07$$\"+E'>.$oFO$!+&*GTEvF07$$\"+++ JdoFO$!+5L7/tF07$Fe\\m$!+17F,qF07$Fj\\m$!+Bc]]`F07$F_]m$!+YkZHJF07$Fc^ m$!+0K0PZF-7$Fg_m$\"+\\9Fa?F07$F\\`m$\"+frlYSF07$Fa`m$\"+v-;LaF07$$\"+ O?V@vFO$\"+LsKocF07$$\"+g+tZvFO$\"+TOnVeF07$$\"+%3GSd(FO$\"+R%\\f&fF07 $$\"+3hK+wFO$\"+n^I-gF07$$\"+KTiEwFO$\"+ZkS!)fF07$$\"+c@#Hl(FO$\"+!4a& ))eF07$$\"+!=?#zwFO$\"+6[!es&F07$Ff`m$\"+qp3#\\&F07$F[am$\"+9jqGRF07$F `am$\"+=Z*=`\"F07$Fdbm$!+P,Mi8F07$F^cm$!+jt7pRF07$$\"+*Q$Ry\")FO$!+'y> 9$\\F07$Fccm$!+vd3LcF07$$\"+xm;c#)FO$!+)R6p(eF07$$\"+164#G)FO$!+h21ZgF 07$$\"+Nb,3$)FO$!+o8PVhF07$Fhcm$!+#[po;'F07$$\"+Q9Xg$)FO$!+k+!y6'F07$$ \"+6H'pQ)FO$!+oN3)*fF07$$\"+&QuMT)FO$!+__*=\"eF07$F]dm$!+Lf7kbF07$$\"+ 0)3I\\)FO$!+4&ff!\\F07$Fbdm$!+hznqSF07$F`fm$\"+fzUnr!#77$Fjfm$\"+.\\^S >F07$Fdgm$\"+;H46NF07$$\"+GI-0!*FO$\"+5!o'3UF07$Figm$\"+bm4>ZF07$$\"+) z\"4)3*FO$\"+\"\\\")[*[F07$$\"+)Q\"y:\"*FO$\"+XSG8]F07$$\"+y4ZV\"*FO$ \"+\"4i92&F07$F^hm$\"+R%*3n]F07$$\"+ok#f>*FO$\"+%H(y3]F07$$\"+nBp?#*FO $\"+$Hy$)*[F07$$\"+n#eaC*FO$\"+#z0dt%F07$Fchm$\"+l5A@XF07$$\"+lfv>$*FO $\"++!e>%RF07$Fhhm$\"+XB,yJF07$Ffjm$!+\"H^:G\"F07$F[[n$!+>%yoH$F07$F`[ n$!+FA*yl%F07$$\"+*)3))4)*FO$!+gMmx[F07$$\"+i2/P)*FO$!+'z.6.&F07$$\"+N 1?k)*FO$!+4k(y6&F07$$\"+30O\"*)*FO$!+e!z(Q^F07$$\"+\"Q?&=**FO$!+c\\k&4 &F07$$\"+a-oX**FO$!+:7A\"*\\F07$$\"+F,%G(**FO$!+V>.H[F07$Fe[n$!+hKB8YF 0-%&COLORG6&F\\\\n$\"\"&!\"\"F)Fh[n-%+AXESLABELSG6$Q\"x6\"Q!Fi]q-%%VIE WG6$;F(Fe[n%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 104 "A check on the accuracy of these numeric al solutions can be made by recalculating with higher precision." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 157 "de := diff(y(x),x$2)+x*diff(y(x),x)+5*sin(4*x)*y(x)=0;\nbc := y(0 )=0,y(10)=1;\n(gn2,dgn2) := evalf(desolveFD(\{de,bc\},steps=250,output =proc_pair,info=true),15);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/, (-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\"\"#\"\"\"*&F-F2-F(6$F*F-F2F2*(\"\" &F2-%$sinG6#,$*&\"\"%F2F-F2F2F2F*F2F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!F*/-F(6#\"#5\"\"\"" }}{PARA 11 " " 1 "" {XPPMATH 20 "6%%3constructing~orderG\"#;%Clocal~Taylor~series~a pproximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~d ifference~method~with~extrapolation~at~levelG\"\"%" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$\\#%*equations G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wi thG\"$*\\%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~t ridiagonal~system~withG\"$***%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"%**>%*equationsG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wit hG\"%**R%*equationsG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 180 "The following error curves show that the first pair o f numerical procedures for the solution and its derivative will give v alues which are (for the most part) correct to 10 digits." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 104 "eval f(plot(['gn(x)-gn2(x)','dgn(x)-dgn2(x)'],x=0..10,\n \+ color=[blue,magenta]),20);" }}{PARA 13 "" 1 "" {GLPLOT2D 484 324 324 {PLOTDATA 2 "6&-%'CURVESG6$7cal7$$\"\"!F)F(7$$\"5lmmmmT&)G\\a!#@$! (vuu\"!#?7$$\"5LLLLL3x&)*3\"F0$!(zH%RF07$$\"5++++]ilyM;F0$!(f#=hF07$$ \"5mmmmm;arz@F0$!(l/Q)F07$$\"5*****\\7yD&y;CF0$!)=Z75F07$$\"5LLL$e*)4b Ql#F0$!)$ex>\"F07$$\"5mmmT5S\\#4*GF0$!)0xO7F07$$\"5*******\\7y%*z7$F0$ !)%=XT\"F07$$\"5mmm;ajW8-OF0$!)/p/;F07$$\"5LLLL$e9ui2%F0$!)A*ov\"F07$$ \"5*****\\il(R)GM%F0$!)YSM=F07$$\"5mmm;H2Q\\4YF0$!(l&f=!#>7$$\"5****\\ ilA()zUZF0$!(*o!)=Fbo7$$\"5LLL3-QO5w[F0$!(-,!>Fbo7$$\"5***\\7.d4cF%\\F 0$!(u\"4>Fbo7$$\"5mm;aQ`&3%4]F0$!(N)e=Fbo7$$\"5LL3x1651w]F0$!(A'p=Fbo7 $$\"5*******\\(oMrU^F0$!(,+)=Fbo7$$\"5mm\"HKk#fO4_F0$!(w**)=Fbo7$$\"5L L$e9TQ=gF&F0$!(^&**=Fbo7$$\"5***\\(ozT3nU`F0$!(K(3>Fbo7$$\"5mmm\"z%*HB $4aF0$!(E)>=Fbo7$$\"5****\\P%[@GEa&F0$!(C-%=Fbo7$$\"5LLL$3-8Lfn&F0$!(r \"f=Fbo7$$\"5*****\\P4'HaUfF0$!([Dx\"Fbo7$$\"5mmmmm\"z_\"4iF0$!(\"*Hn \"Fbo7$$\"5lmmmmm6m#G(F0$!(,\"G:Fbo7$$\"5lmmmmT&phN)F0$!(%*RL\"Fbo7$$ \"5ILL$3-js.*))F0$!(!o*H\"Fbo7$$\"5(******\\(=ddC%*F0$!(:/D\"Fbo7$$\"5 ILL3-jsn\"p*F0$!(3nD\"Fbo7$$\"5jmm;H2)y(e**F0$!(?`C\"Fbo7$$\"5++]i:N!) eA5Fbo$!(V:C\"Fbo7$$\"5LLLLe*=)H\\5Fbo$!(JED\"Fbo7$$\"5++++v=JN[6Fbo$! (9`I\"Fbo7$$\"5mmmm\"z/3uC\"Fbo$!(='=9Fbo7$$\"5LLLLe*ot*\\8Fbo$!(6Mf\" Fbo7$$\"5++++DJ$RDX\"Fbo$!(6Jx\"Fbo7$$\"5mmmm\"z4wb]\"Fbo$!(qo)=Fbo7$$ \"5LLLLekGhe:Fbo$!($H/?Fbo7$$\"5++++DJ'\\;h\"Fbo$!(@i8#Fbo7$$\"5mmmm\" zR'ok;Fbo$!(%zVCFbo7$$\"5+++++vIb</x\"Fbo$ !(q=&GFbo7$$\"5+++]i!4`oz\"Fbo$!(%3rIFbo7$$\"5mmmm;HkGB=Fbo$!(w,E$Fbo7 $$\"5+++vV)4.l$=Fbo$!((\\WKFbo7$$\"5LLL$3xw>(\\=Fbo$!(\\nA$Fbo7$$\"5++ ]PM-\"Gj&=Fbo$!()4Fbo$!(o0S$Fbo7$$\"5++D1*G,Qp\">Fbo$!(N!)Q$Fbo7$$\"5LLL3x \")H`I>Fbo$!(*ysLFbo7$$\"5++]7`>Hsd>Fbo$!(DeK$Fbo7$$\"5mmm;HdG\"\\)>Fb o$!(4#yJFbo7$$\"5*****\\7Gt#HR?Fbo$!(%[RHFbo7$$\"5LLLLL3En$4#Fbo$!(fKk #Fbo7$$\"5*****\\7._@w6#Fbo$!(.[L#Fbo7$$\"5mmm;HK/dT@Fbo$!(18.#Fbo7$$ \"5LLL3FW$>b;#Fbo$!(m&3?Fbo7$$\"5*******\\iDo%*=#Fbo$!(1,t\"Fbo7$$\"5L LL$3-3mtB#Fbo$!(1wX\"Fbo7$$\"5mmmm;/RE&G#Fbo$!(*>@7Fbo7$$\"5******\\P4 b=RBFbo$!(q%35Fbo7$$\"5LLLLe9r5$R#Fbo$!'\"QE)Fbo7$$\"5mmm;z>(GqW#Fbo$! 'RPqFbo7$$\"5+++++D.&4]#Fbo$!''*okFbo7$$\"5++++]PL4bDFbo$!'xscFbo7$$\" 5+++++]jB4EFbo$!'#*\\]Fbo7$$\"5++++DcyIOEFbo$!'zH]Fbo7$$\"5++++]i$zLm# Fbo$!'b[]Fbo7$$\"5+++]i:^\"pn#Fbo$!'=Y[Fbo7$$\"5++++vo3X!p#Fbo$!'>bYFb o7$$\"5+++DJX(=sp#Fbo$!'!Qc%Fbo7$$\"5+++](=i')Rq#Fbo$!'u@\\Fbo7$$\"5++ +vV)\\a2r#Fbo$!'fM[Fbo7$$\"5+++++vB_&)[Fbo7$$\"5++++v$*\\lcFFbo$!'7ZZFbo7$$\"5++++++ #*ppFFbo$!')yh%Fbo7$$\"5++++]7wy&z#Fbo$!'h*z%Fbo7$$\"5+++++Dg(=#GFbo$! 'Co\\Fbo7$$\"5+++++]G0uGFbo$!'Iq\\Fbo7$$\"5+++++v'Hi#HFbo$!'i/]Fbo7$$ \"5LLL$eky#*4-$Fbo$!'3Q[Fbo7$$\"5mmmm\"z*ev:JFbo$!'0)o%Fbo7$$\"5****\\ (=U_ER9$Fbo$!'E$o%Fbo7$$\"5LLL3_]r4sJFbo$!'VbZFbo7$$\"5***\\(=njC='=$F bo$!'d5\\Fbo7$$\"5mm;H#oxn-?$Fbo$!'L<\\Fbo7$$\"5**\\P%)RL/J2KFbo$!'?? \\Fbo7$$\"5LLeR(**3`V@$Fbo$!'oA\\Fbo7$$\"5m;z%\\lu&R@KFbo$!'[o`Fbo7$$ \"5******\\7.%Q%GKFbo$!'$GN&Fbo7$$\"5mmm\"HdlzZG$Fbo$!'-QfFbo7$$\"5LLL LL347TLFbo$!'9\\yFbo7$$\"5KLLLeR$\\))Q$Fbo$!'RU')Fbo7$$\"5KLLL$3xxlV$F bo$!']T#*Fbo7$$\"5KL$eRZ#QaUMFbo$!'`'>*Fbo7$$\"5KLLeky)4&[MFbo$!'(4:*F bo7$$\"5KL$3_D$fZaMFbo$!'\"[5*Fbo7$$\"5KLL$ek)>WgMFbo$!'-r'*Fbo7$$\"5K LL3F%4uBZ$Fbo$!'s7'*Fbo7$$\"5KLLL3-iI%[$Fbo$!'H]&*Fbo7$$\"5KLL$3xTq\"3 NFbo$!'yl&*Fbo7$$\"5LLLLLLY.KNFbo$!'c0&*Fbo7$$\"5*****\\7`9ave$Fbo$!'J s#)Fbo7$$\"5mmm;HdO2VOFbo$!'^lsFbo7$$\"5LLL3FpJf)p$Fbo$!'%o8'Fbo7$$\"5 *******\\7o7Tv$Fbo$!'2!*QFbo7$$\"5mmm;HK5S_QFbo$!'PDBFbo7$$\"5LLLLL$Q* o]RFbo$!'s*e\"Fbo7$$\"5*****\\7GL3Y+%Fbo$!'MM9Fbo7$$\"5mmm;H#GF&eSFbo$ !'Vb8Fbo7$$\"5****\\7.dn[&3%Fbo$!'<$\\\"Fbo7$$\"5LLL3xJiW7TFbo$!'*4k\" Fbo7$$\"5***\\iS\"pf#f7%Fbo$!'Sq:Fbo7$$\"5mm;/^1dSRTFbo$!'i/:Fbo7$$\"5 **\\7`>vb9YTFbo$!'))f6`U%Fbo$!'V`FFbo7$$\"5****\\7`>q4_WFbo$!'#>!GFbo7$$\"5m mm;zWG))yWFbo$!',HGFbo7$$\"5LL$3_+noc]%Fbo$!'FQFFbo7$$\"5*****\\7`\\aC `%Fbo$!'0\\GFbo7$$\"5mm;Hd?.CfXFbo$!'1pEFbo7$$\"5LLLL$e9Ege%Fbo$!'I\"R #Fbo7$$\"5KLL3FW;ANYFbo$!'z-AFbo7$$\"5KLL$3F9*[,4ZFbo$!'uT=Fbo7$$\"5KLek`mPJ@ZFbo$!'Zs=Fbo7$$\" 5KLLe9TEhLZFbo$!'U,>Fbo7$$\"5KL3_v::\"fu%Fbo$!'i\"*=Fbo7$$\"5KL$ek.R5# eZFbo$!'K\"*=Fbo7$$\"5K$3Fpw#)fVw%Fbo$!'2\"*=Fbo7$$\"5KLeR(\\E40x%Fbo$ !'x!*=Fbo7$$\"5K$ekyAqemx%Fbo$!'S!*=Fbo7$$\"5LLLLeR\"3Gy%Fbo$!'qo@Fbo7 $$\"5******\\(=7O*))[Fbo$!')*QJFbo7$$\"5mmmm;/T1&*\\Fbo$!'C<`Fbo7$$\"5 m;aj%e#R&>+&Fbo$!':#G&Fbo7$$\"5mmTg_ZP%)3]Fbo$!'7Z_Fbo7$$\"5m;Hd?pNt:] Fbo$!'97_Fbo7$$\"5mm;a)3RBE-&Fbo$!'*zq&Fbo7$$\"5mm\"zWU..k.&Fbo$!'mwcF bo7$$\"5mmmTgxE=]]Fbo$!'SUcFbo7$$\"5mmTN'4KiR1&Fbo$!'ux]Fbo$!'APdFbo7$$\"5m;/E+'yJY3&Fbo$!'+SdFbo7$$\"5mm\"H#o2;_\"4&Fbo$ !'NTdFbo7$$\"5m;z>OH9T)4&Fbo$!'LTdFbo7$$\"5mmm;/^7I0^Fbo$!'mPaFbo7$$\" 5mmm\"zW#)>/;&Fbo$!')*\\\\Fbo7$$\"5mmmm\"zRQb@&Fbo$!'K!G%Fbo7$$\"5LLLL Le,]6`Fbo$!'.vY2aFbo$!&?b(Fbo7$$\"5LL$3-8DsLV&Fb o$!&=m&Fbo7$$\"5mmmT&Qe#GfaFbo$!&O_%Fbo7$$\"5****\\iS;H>&[&Fbo$!&38%Fb o7$$\"5LLL$e*[K56bFbo$!&u2&Fbo7$$\"5***\\PM_TeS_&Fbo$!'^aVF07$$\"5mm;/ ^\"e8q`&Fbo$!'(=o$F07$$\"5**\\P%[Y;\"\\VbFbo$!'L4kF07$$\"5LLekyZ(o*\\b Fbo$!'*z/'F07$$\"5m;zW#4LYkb&Fbo$!'n*p&F07$$\"5*****\\iS\"R#Hc&Fbo$!'$ RO&F07$$\"5L$3_+s\\,%pbFbo$!'NS]F07$$\"5mmT&Q.3zed&Fbo$!'aGZF07$$\"5** \\ilZjmN#e&Fbo$!'!>v(F07$$\"5LL$e9mCM))e&Fbo$!'rMuF07$$\"5***\\i!*GT*y ,cFbo$!'TNoF07$$\"5mmmm;zXu9cFbo$!'H!G'F07$$\"5LLLLe9i\"=s&Fbo$!(%*4@ \"F07$$\"5**********\\y))GeFbo$!'FsFbo 7$$\"5++++DcljLfFbo$!'L=@Fbo7$$\"5+++D\"GtB)ffFbo$!'/4AFbo7$$\"5+++]P4 4,')fFbo$!'M8AFbo7$$\"5+++v$f3)>7gFbo$!'#*)G#Fbo7$$\"5********\\i_QQgF bo$!'x4AFbo7$$\"5+]P4YA'>Z/'Fbo$!':LAFbo7$$\"5++v=U#)R0^gFbo$!'-cAFbo7 $$\"5+]7GQU$)QdgFbo$!'QyAFbo7$$\"5++]PM-FsjgFbo$!'O3?Fbo7$$\"5++DcEA9R wgFbo$!'nm?Fbo7$$\"5+++v=U,1*3'Fbo$!'#=7#Fbo7$$\"5+]P%[@]%R&4'Fbo$!'F[ @Fbo7$$\"5++v$4@')G<5'Fbo$!'^nImq7'Fbo$!'\"=*=Fbo7$$\"5+++](=-N(RhF bo$!'O[>Fbo7$$\"5++](='Fbo$!'D;7Fb o7$$\"5++vV[@'yI?'Fbo$!'Fl7Fbo7$$\"5++]iSTtu:iFbo$!')3J\"Fbo7$$\"5+](= n8q\"3AiFbo$!&)o$*Fbo7$$\"5++D\"G81;%GiFbo$!&k_*Fbo7$$\"5+]i!*G@/vMiFb o$!&#y'*Fbo7$$\"5*******\\7y%3TiFbo$!&Y#)*Fbo7$$\"5+]7y+3!=\"[iFbo$!&4 )**Fbo7$$\"5++DcwM7:biFbo$!'485Fbo7$$\"5+]PM_hW=iiFbo$!&P8)Fbo7$$\"5++ ]7G)o<#piFbo$!&&[\")Fbo7$$\"5++vozTTG$G'Fbo$!&l<)Fbo7$$\"5+++DJ&f]tH'F bo$!&A?)Fbo7$$\"5++D\"G)[qT6jFbo$!&5[)Fbo7$$\"5++]PM-N[DjFbo$!&&o\")Fb o7$$\"5+]i:5Hn^KjFbo$!&?-)Fbo7$$\"5++v$fe&*\\&RjFbo$!&:)yFbo7$$\"5+](= 3 %Fbo7$$\"5LLeRZxBetlFbo$!'2mSFbo7$$\"5****\\7`W?!*zlFbo$!'3]SFbo7$$\"5 mmT&)e6\"F07$$\"5mm;z>hN->tFbo$!(t2R\"F07$$\"5LLLeR(>#=W tFbo$!(1rb\"F07$$\"5****\\PfL3MptFbo$!(,Xd\"F07$$\"5mmm;zp%*\\%R(Fbo$! ((p=Fb o7$$\"5********\\i+tZvFbo$!'P4>Fbo7$$\"5mmmmT5hK+wFbo$!'nH=Fbo7$$\"5** **\\iS;1!pg(Fbo$!'I_=Fbo7$$\"5LLLeRA^Z8wFbo$!';u=Fbo7$$\"5mm;aQG'\\+i( Fbo$!'8U:Fbo7$$\"5******\\PMTiEwFbo$!'pp:Fbo7$$\"5mmmTNYJxRwFbo$!'h@;F bo7$$\"5LLLLLe@#Hl(Fbo$!'ep;Fbo7$$\"5mmm;H#=?#zwFbo$!'oQ8Fbo7$$\"5**** ***\\i?=bq(Fbo$!&Fp*Fbo7$$\"5LLL3xc/%pv(Fbo$!&v\"pFbo7$$\"5mmm;H2FO3yF bo$!&5]%Fbo7$$\"5LL$3_D$Q2MyFbo$!&WR$Fbo7$$\"5*****\\7y&\\yfyFbo$!&y+$ Fbo7$$\"5LL3FW?0ksyFbo$!&7E%Fbo7$$\"5mm;H2$3'\\&)yFbo$!&_!QFbo7$$\"5L$ 3-)QkQ#>*yFbo$!&Qf$Fbo7$$\"5***\\7.dk^$)*yFbo$!&FR$Fbo7$$\"5m;H#=qUzZ! zFbo$!&+l(Fbo7$$\"5KLLLL3s?6zFbo$!&8H(Fbo7$$\"5mmm;zpe()=!)Fbo$!'Y+)Fbo$!'EePFbo7$$\"5****\\7`>yJ/#)Fbo$!' k:QFbo7$$\"5L$3-))o#*)z5#)Fbo$!'+TQFbo7$$\"5mm\"zWU.!G<#)Fbo$!'CkQFbo7 $$\"5**\\i:gT6wB#)Fbo$!'cnLFbo7$$\"5KLL$e*[ACI#)Fbo$!'\\2MFbo7$$\"5)** **\\7y5\"4#G)Fbo$!'*H\"HFbo7$$\"5lmmmmm*RRL)Fbo$!')*fAFbo7$$\"5kmm;a8H 'pQ)Fbo$!&m/)Fbo7$$\"5kmmmTge)*R%)Fbo$!&bz#Fbo7$$\"5kmTgxGPhY%)Fbo$!&a o#Fbo7$$\"5km;a8(fTKX)Fbo$!&4e#Fbo7$$\"5km\"z%\\l%p)f%)Fbo$!&<[#Fbo7$$ \"5kmmT&QL(\\m%)Fbo$\"%rDFbo7$$\"5km;HdqIvz%)Fbo$\"&aA(F07$$\"5kmm;H2) 3I\\)Fbo$\"':Q6F07$$\"5kmm\"H2G?&>&)Fbo$\"'t!Q#F07$$\"5lmmm;a<.Y&)Fbo$ \"'tI;F07$$\"5J$e*)fIgM$=')Fb o$\"'^o=F07$$\"5lm;HK*e2\\i)Fbo$!'di:F07$$\"5JLe*[=c`!Q')Fbo$!'Vc5F07$ $\"5)*****\\PM&*>^')Fbo$!&i/'F07$$\"5JL$3F%z9\\x')Fbo$!'V3OF07$$\"5lmm \"zWU$y.()Fbo$!'hskF07$$\"5JL3_+(RHpr)Fbo$!'kViF07$$\"5)***\\7`p`2I()F bo$!'-TgF07$$\"5J$3F%zb$[mt)Fbo$!'v[fF07$$\"5lm\"Hd?M@Ku)Fbo$!'PP))F07 $$\"5)*\\7.KGVz\\()Fbo$!'u&y)F07$$\"5KLLLe9tOc()Fbo$!'yP()F07$$\"5mmm; H#e0I&))Fbo$!(P7I\"F07$$\"5**********\\Qk\\*)Fbo$!(\\/p\"F07$$\"5mmmT5 SMLx*)Fbo$!([.t\"F07$$\"5LLL$3-.B]+*Fbo$!(wxy\"F07$$\"5*****\\7.i7F.*F bo$!(PSz\"F07$$\"5mmmmT5ASg!*Fbo$!'yL,MFbo7$$\"5)*****\\PMR%H$Fbo7$$\"5)******\\(=5s#y* Fbo$!'w@GFbo7$$\"5******\\P40O\"*)*Fbo$!'%Hp\"Fbo7$$\"#5F)F(-%'COLOURG 6&%$RGBGF(F($\"*++++\"!\")-F$6$7b]l7$F($!(!=4NFbo7$F+$!(5qJ$Fbo7$F2$!( u>\"GFbo7$F7$!(OZZ#Fbo7$F<$!(h()4#Fbo7$FP$!(>H_\"Fbo7$FZ$!(<'=8Fbo7$Fi n$!(?2[\"Fbo7$F^o$!(&=\\;Fbo7$Fdo$!(B-_\"Fbo7$Fio$!(kER\"Fbo7$F^p$!(v& H8Fbo7$Fcp$!(\">\\;Fbo7$Fhp$!(7xe\"Fbo7$F]q$!)yyE:F07$F[s$!)?7Fbo7$Fj]l$\"'\"3!yFbo7$F_^l$\"'@rNFbo7$ Fd^l$\"'N)R%Fbo7$Fi^l$\"'aehFbo7$Fc_l$\"'BV))Fbo7$F]`l$\"(;*p8Fbo7$Fb` l$\"(Z4#=Fbo7$Fg`l$\"(zZ=#Fbo7$F\\al$\"(O\\R#Fbo7$Faal$\"(\\(yFFbo7$Ff al$\"(E\"GEFbo7$F[bl$\"(.D^#Fbo7$F`bl$\")%[c<#F07$Febl$\")J#p$=F07$F_c l$\")YOQ:F07$F]el$\")(H*G7F07$Fegl$\"(Ujv'F07$F_hl$\"'0<HOFbo$!'umNFbo7$$\"5L$3F%H=P8OOFbo$!'2\\KFbo7 $Fg_m$!'=THFbo7$F\\`m$!'0HAFbo7$Fa`m$\"&Pv\"Fbo7$Ff`m$\"'!)*H%Fbo7$F[a m$\"(D>&yF07$Feam$\"(u)ejF07$F]dm$\")VXPTF-7$Fbdm$\"(bV.#F07$Fgdm$\"&X *zF07$F[fm$!(:h)HF07$F_gm$!(nI\"eF07$$\"5KL3FW?]K)f%Fbo$!(:4c&F07$$\"5 KL$3_]*Qi5YFbo$!(7rJ&F07$$\"5K$3xcBLtnh%Fbo$!(L!)>&F07$$\"5KLe9mpF#Hi% Fbo$!(2dp&F07$$\"5K$e9mp?s!HYFbo$!(`!ebF07$Fdgm$!(lGU&F07$$\"5KL$e*[$R >)fYFbo$!(1V!\\F07$Figm$!(g9?%F07$Fgim$!(R>G#F07$Fe[n$\"(=-&HF07$$\"5m mm\"H28se$[Fbo$\"(ilN&F07$Fj[n$\")87:oF-7$$\"5m;H#o27pb*[Fbo$\")T`kmF- 7$$\"5LLe9m>@?-\\Fbo$\"(a<2)F07$$\"5**\\(oa&=^$)3\\Fbo$\"(6d!zF07$$\"5 mm;zW<\"oa\"\\Fbo$\"(+fu(F07$$\"5***\\PM_6M(G\\Fbo$\"(CQW(F07$$\"5LLL3 -8,+U\\Fbo$\"()eXsF07$$\"5****\\Pf3@`o\\Fbo$\"(%oOoF07$F_\\n$\"(1x4&F0 7$Fd\\n$\"(J&)3&F07$Fi\\n$\"(<.3&F07$F^]n$\"(')G2&F07$Fc]n$\"(ha;#F07$ Fh]n$\"(w@Q#F07$F]^n$\"(oue#F07$Fg^n$!'Q,^F07$F[`n$!('f.OF07$$\"5mmT5S %*33>^Fbo$!(``*HF07$$\"5mm;/wP0'G8&Fbo$!(xjU#F07$$\"5m;/,Wf.vR^Fbo$!(T j:#F07$$\"5mm\"z>6=Sm9&Fbo$!(98G&F07$$\"5m;z%*z-+``^Fbo$!(aS$\\F07$F`` n$!(L%)f%F07$$\"5m;a)ehk4t;&Fbo$!((GuUF07$$\"5mmT&QyY*>u^Fbo$!(d9'RF07 $$\"5m;H#=&*G*3\"=&Fbo$!(A13'F07$$\"5mm;z>6\"zz=&Fbo$!'#[t&Fbo7$$\"5mm \"HdXve%F07$F]]o$!(y$4SF07$Fg]o$!(&psMF07$F[ _o$!(Y&oAF07$Fi`o$!'*>t\"F07$Fgbo$\"(,0n%F07$Fedo$\")Q*['eF-7$F_eo$\"( 59+(F07$Fdeo$\"(;d+&F07$Fieo$\"($[4DF07$Fggo$\"&**>'F07$Feio$!(%z.bF07 $$\"5*****\\7.ds=o'Fbo$!(]0w%F07$$\"5mmm;HdxO&p'Fbo$!(zn2%F07$$\"5**** \\7y]`6-nFbo$!()=hnF07$$\"5LLL3FWH')3nFbo$!(tZM'F07$$\"5mm;/wP0h:nFbo$ !(Hb%fF07$$\"5*******\\78eBs'Fbo$!(9Hc&F07$$\"5LL$eRZs0\"HnFbo$!(4k>&F 07$$\"5mmm\"H#=L&et'Fbo$!(6b%[F07$$\"5****\\(=<\"4gUnFbo$!(>kH'F07$$\" 5LLL$3_][$\\nFbo$!(VY#fF07$$\"5*****\\(=#pVGw'Fbo$!(9zA&F07$Fjio$!(=.f %F07$$\"5LLLL3F'>.$oFbo$!(&\\9AF07$F_jo$\"'xnCF07$Fdjo$\"(_67#F07$Fijo $\"(spW&F07$$\"5***\\iS;=eV*pFbo$\"(:6+&F07$F^[p$\"('3!f%F07$$\"5**\\i ST\\6q7qFbo$\"('*oR%F07$$\"5LL3_+sa\")=qFbo$\"(\\:@%F07$$\"5m;ajf%zH\\ -(Fbo$\"(UBi&F07$Fc[p$\"()3'Q&F07$Fh[p$\"(q>%\\F07$F]\\p$\"(HN`%F07$Fb \\p$\"(!yo`F07$Fg\\p$\"()*=9&F07$F\\]p$\"(&HC\\F07$Fa]p$\"(Pcr%F07$Ff] p$\")BT\\AF-7$F[^p$\"'`\"f#F07$Fi_p$!(ex*=F07$$\"5mmm;aQ?V@vFbo$!(J%pC F07$F^`p$!(s\"3KF07$$\"5mmm\"zW2z3c(Fbo$!(At,$F07$$\"5LLL$ek3GSd(Fbo$! (KQ%GF07$$\"5mm;zW#f-1e(Fbo$!(QV!RF07$$\"5*****\\P%)4xre(Fbo$!(\"\\kPF 07$$\"5LL$3FWg^Pf(Fbo$!(c7j$F07$Fc`p$!([U]$F07$Fabp$!(Qo]$F07$F[cp$!(Q /X$F07$Fecp$!'/jLF07$F]fp$\"(v?W&F07$$\"5***\\i:5zlY#zFbo$\"(qJ!\\F07$ $\"5mm;zptV7QzFbo$\")3%*=WF-7$$\"5**\\i!R]m`[%zFbo$\")GfOmF-7$$\"5LL3- QcHe^zFbo$\")A#fI'F-7$$\"5m;a8sZAJezFbo$\")wm#*fF-7$$\"5*****\\i!R:/lz Fbo$\"*$y*ep&!#A7$$\"5L$ek./$3xrzFbo$\"*-KZT&Fg^u7$$\"5mm\"zW<7+&yzFbo $\")QL[^F-7$$\"5**\\Pf38%H_)zFbo$\")JB4kF-7$$\"5LL$3FWqe>*zFbo$\")G@0h F-7$$\"5***\\P4rGBDqFg^u7$Fhdq$!')p&fF07$F]eq$!(F%4:F07$$\"5LL$3_]k)[j*)Fbo$ !(D\"R9F07$Fbeq$!(%oz8F07$$\"5LL3-jPeD%)*)Fbo$!(#))*z\"F07$$\"5****\\i :N#y6**)Fbo$!($Q\\Dq\"F07$Fgeq$!(?!f;F07 $F\\fq$!([R/#F07$Fafq$!(EJd#F07$$\"5****\\(oa+ZU2*Fbo$!(ZBQ#F07$$\"5LL L3_+=4)3*Fbo$!(/Z@#F07$$\"5***\\(o/)>9]4*Fbo$!(O&Q@F07$$\"5mm;Hd&fO>5* Fbo$!(\"z[HF07$$\"5LLe*)4$**e)3\"*Fbo$!(;:#GF07$Fffq$!(Y?q#F07$$\"5mmT 5:)y.F7*Fbo$!(R)*e#F07$$\"5LL$3xc=E'H\"*Fbo$!(\"Q%[#F07$$\"5***\\7.Ke[ l8*Fbo$!('>&Q#F07$$\"5mmm\"H2)4ZV\"*Fbo$!(t!)>$F07$$\"5****\\7yvdJd\"* Fbo$!(/O!HF07$F[gq$!(aLk#F07$$\"5)**\\7.d/_t<*Fbo$!(5o`#F07$$\"5lm;Hd? Na$=*Fbo$!(REA$F07$$\"5JL3FW&*\\t*=*Fbo$!(=Z2$F07$$\"5)****\\7.ZEf>*Fb o$!(\"yMHF07$$\"5JL$3_+U4$3#*Fbo$!(Mpn#F07$$\"5lmm;zpBp?#*Fbo$!(+;#HF0 7$$\"5JLL3Fp#eaC*Fbo$!(#3)R#F07$F`gq$!(Jh)=F07$$\"5JLL$3x'fv>$*Fbo$!'$ 4u&F07$Fegq$\"'#G?)F07$$\"5JL$e*)4Q$p&R*Fbo$\"(7Vc#F07$Fjgq$\"(y8`%F07 $$\"5JLeRZ-=IN%*Fbo$\"(+8+%F07$$\"5lm;aj4Y][%*Fbo$\"(*[LNF07$$\"5J$e9; K,1^X*Fbo$\"(r0K$F07$$\"5)**\\(oz;uqh%*Fbo$\"(?Vd&F07$$\"5l;/wP?)3$o%* Fbo$\"(D-C&F07$F_hq$\"(?l#\\F07$$\"5)*\\i!Rvi6:[*Fbo$\")\"\\>j%F-7$$\" 5lm\"z>6.8\")[*Fbo$\")bLbVF-7$$\"5J$3_+ZV9Z\\*Fbo$\")Zd&4%F-7$$\"5)*** \\7GQeJ,&*Fbo$\"))\\dt&F-7$$\"5JL3FWX'=X^*Fbo$\")N7$3&F-7$Fdhq$\")Px3X F-7$$\"5J$e*[=cGKM&*Fbo$\")&*)zC%F-7$$\"5)**\\il(fU#4a*Fbo$\")o'='[F-7 $$\"5l;ajMjc_Z&*Fbo$\")>o\"f%F-7$$\"5JL$3Fp1FTb*Fbo$\")zoQVF-7$$\"5lmT &)3u)Htc*Fbo$\")q2!)QF-7$Fihq$\"(nU-$F07$Fciq$!(%eW9F07$Fgjq$!(#R))eF0 7$F\\[r$!(D*GBF07$Fa[r$\"(BJ`#F0-Fd[r6&Ff[rFg[rF(Fg[r-%+AXESLABELSG6$Q \"x6\"Q!F^bv-%%VIEWG6$;F(Fa[r%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 7" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 258 "" 0 "" {TEXT -1 35 "Consider the boundary value problem" }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+dy/dx+sinh(x)*y(x);" "6#,(*(%\"dG\"\"#%\"yG\"\"\"* &F%F(*$%\"xGF&F(!\"\"F(*&%#dyGF(%#dxGF,F(*&-%%sinhG6#F+F(-F'6#F+F(F(" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(0) = 1;" "6#/-%\"yG6#\"\"!\"\"\"" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(5) = 0;" "6#/-%\"yG6#\"\"&\"\"!" } {TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 107 "Numerical procedures f or both the solution and its derivative can be found by the finite dif ference method." }}{PARA 0 "" 0 "" {TEXT -1 8 "Maple's " }{TEXT 0 6 "d solve" }{TEXT -1 53 " cannot find an analytical solution for this prob lem." }}{PARA 0 "" 0 "" {TEXT -1 13 "The options \"" }{TEXT 267 5 "ste ps" }{TEXT -1 7 "\" and \"" }{TEXT 267 11 "extrapolate" }{TEXT -1 108 "\" are chosen so as to obtain procedures which give values wich are ( for the most part) correct to 10 digits." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 225 "de := diff(y(x),x$2) +diff(y(x),x)+sinh(x)*y(x)=0;\nbc := y(0)=1,y(5)=0;\n(gn,dgn) := desol veFD(\{de,bc\},steps=250,extrapolate=4,order=15,output=proc_pair,info= true);\nplot(['gn'(x),'dgn'(x)],x=0..5,color=[red,COLOR(RGB,.5,0,1)]); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-% \"$G6$F-\"\"#\"\"\"-F(6$F*F-F2*&-%%sinhGF,F2F*F2F2\"\"!" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!\"\"\"/-F(6#\"\"&F*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%%3constructing~orderG\"#:%Clocal~Taylo r~series~approximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplyin g~finite~difference~method~with~extrapolation~at~levelG\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$\\#%* equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~ system~withG\"$*\\%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bso lving~a~tridiagonal~system~withG\"$***%*equationsG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"%**>%*equations G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wi thG\"%**R%*equationsG" }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6&-%'CURVESG6$7bp7$$\"\"!F)$\"\"\"F)7$$\"+4x&)*3\"!#5$\"+ 5B'e7\"!\"*7$$\"+uq8Q?F/$\"+3#[OA\"F27$$\"+(RwX5$F/$\"+l\"Q/K\"F27$$\" +sZ3yTF/$\"+TkS.9F27$$\"+]4\\Y_F/$\"+7D,r9F27$$\"+U-/PiF/$\"+Iou>:F27$ $\"+fmpisF/$\"+\\OQb:F27$$\"+EV1$z(F/$\"+Vgln:F27$$\"+#*>VB$)F/$\"+*e' fv:F27$$\"+j()4_))F/$\"++!*4z:F27$$\"+Mbw!Q*F/$\"+\"[(4y:F27$$\"+#HkX# **F/$\"+:)pAd\"F27$$\"+0j$o/\"F2$\"+.Q[h:F27$$\"+GTt%4\"F2$\"+C$4ya\"F 27$$\"+_>jU6F2$\"+lLF2$\"+ym.!>'F/7$$\"+\"f#=$3#F2$\"+!4>OT%F/7$$\"+t(pe=#F2$\"+*[BG r#F/7$$\"+uI,$H#F2$\"+(3)[/**!#67$$\"+rSS\"R#F2$!+*G***Q[Fjs7$$\"+`?`( \\#F2$!+Z.A*)=F/7$$\"++#pxg#F2$!+Xs2oIF/7$$\"+g4t.FF2$!+YrD-QF/7$$\"+D ;bbFF2$!+F_#)pSF/7$$\"+!Hst!GF2$!+rH_SUF/7$$\"+*>ST$GF2$!+(\\B'*G%F/7$ $\"+3\"34'GF2$!+aAs6VF/7$$\"+>IF2$!+Xe5%*QF/7$$\"+7v')pIF2$!+[<]s NF/7$$\"+#RU07$F2$!+&>@4<$F/7$$\"+?S2LKF2$!+KF!*[?F/7$$\"+$p)=MLF2$!+W B+!y)Fjs7$$\"+*=]@W$F2$\"+PTM:PFjs7$$\"+]$z*RNF2$\"+$H:4M\"F/7$$\"+2fX $f$F2$\"+vOu^#F/7$$\"+!3hk#QF2 $\"+SXJ5@F/7$$\"+/\"fF&QF2$\"+@].$*>F/7$$\"+a8=/RF2$\"+7z>#o\"F/7$$\"+ 0OgbRF2$\"+0PUF2$!+=cjt5F/7$$\"+ye,tUF2$!+ENFO8F/7$$\"+ByI*H%F2$!+oM?9 9F/7$$\"+p(*fDVF2$!+DBla9F/7$$\"+TduQVF2$!+)zp/Y\"F/7$$\"+9<*=N%F2$!+- Jhc9F/7$$\"+(oP]O%F2$!+Au5V9F/7$$\"+fO=yVF2$!+@#[Z%F2$!+^N0<)*Fjs7$$\"+(G!e&e%F2$!+\\Ne$\\*!#77$$\"+'3 7^j%F2$\"+$[rj<$Fjs7$$\"+&)Qk%o%F2$\"+$*[26nFjs7$$\"+)\\\\5r%F2$\"+#*z 0(>)Fjs7$$\"+8^XPZF2$\"+[NcJ$*Fjs7$$\"+?zl]ZF2$\"+b?(Gv*Fjs7$$\"+F2'Qw %F2$\"+?k525F/7$$\"+NN1xZF2$\"+wsHG5F/7$$\"+UjE!z%F2$\"+6hkQ5F/7$$\"+8 J!H![F2$\"+^zHQ5F/7$$\"+&))Rb\"[F2$\"+cO#z-\"F/7$$\"+cm$\"+w0_OqF/7$FC$\"+)3h!3cF/7$FH$\"+S7>@UF /7$FM$\"+%)*=er#F/7$FW$\"+#)QL#3\"F/7$F[o$!+xf'R@'Fjs7$Feo$!+H\\oWCF/7 $F_p$!+M[])4%F/7$Fdp$!+:w,%*fF/7$Fip$!+vLf.zF/7$F^q$!+?8x6(*F/7$Fcq$!+ n'Q(G6F27$Fhq$!+*fi=I\"F27$F]r$!+L\"*eI9F27$Fbr$!+ECa^:F27$$\"+;0?E>F2 $!+'\\lFf\"F27$Fgr$!+n&f^i\"F27$$\"+UOEH?F2$!+W#e%\\;F27$F\\s$!+R,$3m \"F27$$\"+(Qa)3@F2$!+x>Oh;F27$$\"+#=EX8#F2$!+_qde;F27$$\"+xz>g@F2$!+] \"eBl\"F27$Fas$!+zIfU;F27$$\"+B9WRAF2$!+JlL5;F27$Ffs$!+U\\Kh:F27$F\\t$ !+:&\\bU\"F27$$\"+i!oWW#F2$!+fg6F8F27$Fat$!+v&\\5@\"F27$$\"+E1l_DF2$!+ $)*4B2\"F27$Fft$!+T\\Cg\"*F/7$$\"+!3]dl#F2$!+TdrowF/7$F[u$!+uRapgF/7$F `u$!+)o@$Fjs7$Fiv$\"+\"\\$p/DMf)F/7$Ffy$\"+<&[-r'F/7$F[z$\"+^>u*\\% F/7$Fez$\"+A&*41AF/7$F_[l$!+S&yD$>Fjs7$Fi[l$!+\\()p(o#F/7$Fc\\l$!+cC,B ]F/7$Fh\\l$!+?xw/qF/7$F]]l$!+N\"*3Z&)F/7$$\"+q2_#)RF2$!+()o9O\"*F/7$$ \"+OzV4SF2$!+(pPXb*F/7$$\"+>l*G-%F2$!+eDg&p*F/7$$\"+-^NOSF2$!+^cS*y*F/ 7$$\"+&o8)\\SF2$!+b!>[$)*F/7$Fb]l$!+Ga$4$)*F/7$$\"+E67:TF2$!+12BY$*F/7 $Fg]l$!+[>iA\")F/7$F\\^l$!+H2PshF/7$Fa^l$!+>*Ral$F/7$Ff^l$!+z.agAF/7$F [_l$!+KxG*4)Fjs7$Fe_l$\"+:y)3h'Fjs7$F_`l$\"+'f1Z6#F/7$Fd`l$\"+&px)3YF/ 7$Fi`l$\"+k%*\\lmF/7$$\"+<:^-XF2$\"+(3Azb(F/7$$\"+26?IXF2$\"+U\"*G&>)F /7$$\"+.f/WXF2$\"+tm#)3%)F/7$$\"+)p!*yb%F2$\"+dSA[&)F/7$$\"+$\\N,g#f\\F2$!+#>Q?c(F/ 7$$\"+G,%G(\\F2$!+QUx8xF/7$$\"+k+U')\\F2$!+Q8JkxF/7$F_fl$!+]'y:r(F/-%& COLORG6&Fdfl$F`fl!\"\"F)F+-%+AXESLABELSG6$Q\"x6\"Q!Fj_n-%%VIEWG6$;F(F_ fl%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 100 "The coordinates of the first maximum point on the grap h of the solution can be obtained as follows. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "xmax := seca nt('dgn'(x),x=.8..1);\ngn(xmax);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% %xmaxG$\"+0;I+!*!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+%pw#z:!\"* " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "findmax('gn'(x),x=1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$\"+0;I+!*!#5$\"+%pw#z:!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 104 "A check on the accuracy of these numer ical solutions can be made by recalculating with higher precision." }} {PARA 0 "" 0 "" {TEXT -1 41 "The following computation takes a while. \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 186 "de := diff(y(x),x$2)+diff(y(x),x)+sinh(x)*y(x)=0;\nbc := y(0) =1,y(5)=0;\n(gn2,dgn2) := evalf(desolveFD(\{de,bc\},steps=250,extrapol ate=5,order=20,\n output=proc_pair,info=true),15);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/,(-%%diffG6$-%\"yG6#%\"xG-%\"$G6$F-\" \"#\"\"\"-F(6$F*F-F2*&-%%sinhGF,F2F*F2F2\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#\"\"!\"\"\"/-F(6#\"\"&F*" }}{PARA 11 " " 1 "" {XPPMATH 20 "6%%3constructing~orderG\"#?%Clocal~Taylor~series~a pproximationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%hnapplying~finite~d ifference~method~with~extrapolation~at~levelG\"\"&" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"$\\#%*equations G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wi thG\"$*\\%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~t ridiagonal~system~withG\"$***%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~withG\"%**>%*equationsG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tridiagonal~system~wit hG\"%**R%*equationsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%Bsolving~a~tr idiagonal~system~withG\"%**z%*equationsG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 180 "The following error curves show t hat the first pair of numerical procedures for the solution and its de rivative will give values which are (for the most part) correct to 10 \+ digits." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 103 "evalf(plot(['gn(x)-gn2(x)','dgn(x)-dgn2(x)'],x=0..5, \n color=[blue,magenta]),20);" }}{PARA 13 "" 1 "" {GLPLOT2D 500 281 281 {PLOTDATA 2 "6&-%'CURVESG6$7[q7$$\"\"!F)F(7$$ \"5qmmmmT&)G\\a!#@$\"&]*e!#>7$$\"5MLLLL3x&)*3\"!#?$\"'*z9\"F07$$\"5,++ ]i!R(*Rc\"F4$\"'74;F07$$\"5nmmm\"H2P\"Q?F4$\"'f[?F07$$\"5,++]PMnNrDF4$ \"'KVB$)F4$\"'1wfF 07$$\"5.+++DJbw!Q*F4$\"'m$H'F07$$\"5PLL$ekGkX#**F4$\"'n;kF07$$\"5nmmm; /j$o/\"F0$\"'c6lF07$$\"5+++]7GTt%4\"F0$\"'prlF07$$\"5MLLL3_>jU6F0$\"'S 4mF07$$\"5nmm;HdNb'>\"F0$\"'%[i'F07$$\"5++++]i^Z]7F0$\"'E6mF07$$\"5+++ ++v\"=YI\"F0$\"'3olF07$$\"5++++](=h(e8F0$\"'<&\\'F07$$\"5++++]7!Q4T\"F 0$\"'h'R'F07$$\"5++++]P[6j9F0$\"'LqiF07$$\"5MLL$e*[z(yb\"F0$\"'WqfF07$ $\"5nmmm;a/cq;F0$\"'4)\\&F07$$\"5nmmmm;t,mF0$\"(h,m$F47$$\"5,++]i!f#=$3#F0$\"(@% fGF47$$\"5++++D\"=EX8#F0$\"(q3Y#F47$$\"5,++](=xpe=#F0$\"(em0#F47$$\"5M LLeRA9WRAF0$\"(<2j\"F47$$\"5nmmm\"H28IH#F0$\")me07F-7$$\"5ommTNr&3AM#F 0$\"(Uw?)F-7$$\"5nmm;zpSS\"R#F0$\"(81V%F-7$$\"5MLLL3_?`(\\#F0$!'$yA$F4 7$$\"5MLL$e*)>pxg#F0$!(fO,\"F47$$\"5,++]Pf4t.FF0$!(7W\\\"F47$$\"5nmm\" zWi^bv#F0$!(2pp\"F47$$\"5MLLLe*Gst!GF0$!(bM&=F47$$\"5,++vV)>ST$GF0$!(M j\">F47$$\"5nmm;H2\"34'GF0$!(\"Ql>F47$$\"5MLLe9;gn()GF0$!(J5+#F47$$\"5 ,++++DRW9HF0$!(5L-#F47$$\"5+++Dc,6jSHF0$!('\\J?F47$$\"5+++]7y#=o'HF0$! (xk-#F47$$\"5+++voaa+$*HF0$!(**z+#F47$$\"5,+++DJE>>IF0$!(5m(>F47$$\"5+ ++v$4^n)pIF0$!(s%z=F47$$\"5,++]i!RU07$F0$!(I`t\"F47$$\"5,+++v=S2LKF0$! (v0F\"F47$$\"5ommmm\"p)=MLF0$!(R+H(F-7$$\"5,+++](=]@W$F0$!(wS,\"F-7$$ \"5MLL$e*[$z*RNF0$\"'-5VF47$$\"5,+++]iC$pk$F0$\"'*4v)F47$$\"5MLLe*[t\\ sp$F0$\"(&*3,\"F47$$\"5omm;H2qcZPF0$\"(Rw3\"F47$$\"5MLL3F>grgPF0$\"((4 )4\"F47$$\"5,+++DJ]'Qx$F0$\"(iS5\"F47$$\"5nmm\"HK/9qy$F0$\"(yb5\"F47$$ \"5MLL$3_0j,!QF0$\"(LH5\"F47$$\"5nmmm;z5YEQF0$\"(^\\3\"F47$$\"5,++]7. \"fF&QF0$\"(\"3\\5F47$$\"5MLLek`8=/RF0$\"'&)\\$*F47$$\"5ommm;/OgbRF0$ \"'+KwF47$$\"5,++]ilAFjSF0$\"(CG#GF-7$$\"5NLLLL$)*pp;%F0$!(k%>AF-7$$\" 5OLL$3-$H**>UF0$!'tVWF47$$\"5NLLL3xe,tUF0$!'iFhF47$$\"5pm;a8AyI*H%F0$! '<&p'F47$$\"5-++v=n(*fDVF0$!'\\zqF47$$\"5pmTNrRduQVF0$!'U1sF47$$\"5NL$ eRAr\"*=N%F0$!'fxsF47$$\"5-+Dcw%oP]O%F0$!'D&H(F47$$\"5omm;HdO=yVF0$!'8 jsF47$$\"5,+](=UAVBS%F0$!'ctqF47$$\"5MLLe9\"z-lU%F0$!'I>nF47$$\"5nm;H2 eBm]WF0$!'#*phF47$$\"5,++++D>#[Z%F0$!(Lt]&F-7$$\"5MLL$3_5,-`%F0$!(V4\\ $F-7$$\"5ommmT&G!e&e%F0$!)0F]6!#A7$$\"5NLLLL$)Qk%o%F0$\"(*[BIF-7$$\"5- +]il(\\\\5r%F0$\"((fFRF-7$$\"5pmm\"z>6but%F0$\"(?%*e%F-7$$\"5NL$3-jsgQ w%F0$\"'X`]F47$$\"5-++]iSjE!z%F0$\"'t8`F47$$\"5-+](=<6.H![F0$\"'9X`F47 $$\"5-++D\"G))Rb\"[F0$\"'!RK&F47$$\"5-+]i!Rlw\"G[F0$\"'Zc_F47$$\"5-+++ +DM\"3%[F0$\"(sG7&F-7$$\"5-++v=np3m[F0$\"(o$=ZF-7$$\"5-++]P40O\"*[F0$ \"(2&eSF-7$$\"5,++voa-oX\\F0$\"(R4F#F-7$$\"\"&F)F(-%'COLOURG6&%$RGBGF( F($\"*++++\"!\")-F$6$7[q7$F($\"(WQ6\"F07$F2$\"'>\")**F07$F=$\"(Q80*F47 $FG$\"(ks1)F47$FQ$\"(w^6(F47$FV$\"(Sn='F47$Fen$\"(,'G`F47$Fjn$\"(%zHWF 47$F_o$\"(]E[$F47$Fdo$\")->6DF-7$F^p$\"(<7[\"F47$Fhp$\"'B&[&F47$Fbq$!' Jd_F47$F\\r$!(vKi\"F47$Ffr$!(LMo#F47$F[s$!'2LOF07$F`s$!'M?ZF07$Fes$!'4 !e&F07$Fjs$!''zY'F07$F_t$!'_9rF07$$\"5MLLe9TOEH?F0$!'J+uF07$Fdt$!';FwF 07$Fit$!'/$y(F07$F^u$!'CvyF07$$\"5nm;a8(fbE@#F0$!')\\*yF07$Fcu$!'n&*yF 07$$\"5,+]ilZsAmAF0$!'vvyF07$Fhu$!'$Q$yF07$F]v$!'I+xF07$Fbv$!'w)[(F07$ $\"5,++v$41oWW#F0$!'!4<(F07$Fgv$!'9dnF07$F\\w$!(5:f&F47$Faw$!(K#eUF47$ Ffw$!(].V$F47$F[x$!(Dv`#F47$Fex$!)6Kl:F-7$F_y$!'&ze&F47$Fiy$\"'*HT%F47 $Fcz$\"(-qU\"F47$Fhz$\"(7#\\BF47$F][l$\"(Qx?$F47$Fb[l$\"'YpZF07$$\"5ML L$3_NJOG$F0$\"'.e_F07$Fg[l$\"'ivbF07$$\"5MLLekyQoZLF0$\"'aJcF07$$\"5,+ +]il!z6O$F0$\"'(4n&F07$$\"5nmmTg_UnuLF0$\"'j'p&F07$$\"5MLLLeR%p\")Q$F0 $\"',5dF07$$\"5,++DcEYm,MF0$\"'v1dF07$$\"5nmm;a8)f^T$F0$\"'0*o&F07$$\" 5MLL3_+]lGMF0$\"'kdcF07$F\\\\l$\"'()4cF07$$\"5nmm\"H#oZ1\"\\$F0$\"(d:J &F47$Fa\\l$\"(iW\"[F47$$\"5nmm\"Hd!fX$f$F0$\"(it0%F47$Ff\\l$\"(Z\\4$F4 7$F[]l$\"(Qm/#F47$F`]l$\"(2!=*)F-7$Fd^l$!'UWNF47$F^_l$!(mid\"F47$Fc_l$ !(1Co#F47$Fh_l$!((*Qg$F47$$\"5MLLe*[$zV4SF0$!(zZJ%F47$F]`l$!(Sen%F47$$ \"5nmT&Q.[Mi2%F0$!(\\^q%F47$$\"5ML$3_]p'>*3%F0$!(S`r%F47$$\"5,+Dcw4*e@ 5%F0$!(Kyp%F47$$\"5omm\"zW7@^6%F0$!(.zl%F47$$\"5-+]i!RbX59%F0$!(Pp]%F4 7$Fb`l$!(.-E%F47$Fg`l$!(;vZ$F47$F\\al$!($QqBF47$Ffal$!)B/C5F-7$Fjbl$\" 'LxSF47$Fdcl$\"(\"\\*p\"F47$F^dl$\"(J!)z#F47$Fcdl$\"(`@q$F47$Fhdl$\"(& \\ySF47$$\"5-+]i:NK'zf%F0$\"(CU2%F47$$\"5NLLe*[=Y.h%F0$\"(u=/%F47$$\"5 pm;ajM\"HFi%F0$\"(*)[(RF47$$\"5-++]P%37^j%F0$\"(8)yQF47$$\"5pmmT&Q)z() fYF0$\"(kxe$F47$F^el$\"(&3vJF47$Fhel$\"(?x'>F47$Fbfl$\"(-\"RXF-7$Ffgl$ !(Lp4\"F47$F`hl$!(9(=CF47$$\"5,+]7.#Q?&=\\F0$!(&=%)HF47$Fehl$!(WoQ$F47 $$\"5++Dc,\">g#f\\F0$!(`j]$F47$$\"5++]PMF,%G(\\F0$!(IDe$F47$$\"5++v=nj +U')\\F0$!(vyh$F47$Fjhl$!(d+f$F4-F]il6&F_ilF`ilF(F`il-%+AXESLABELSG6$Q \"x6\"Q!Fc_n-%%VIEWG6$;F(Fjhl%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 46 "Solving two point BV problems numerically via " }{TEXT 0 6 "dsolve" }{TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 30 "Maple 7 and later versions of " }{TEXT 0 6 "dsolve" }{TEXT -1 66 " can be used to solve 2 point bounda ry value problems numerically." }}{PARA 0 "" 0 "" {TEXT -1 49 "For exa mple, consider the boundary value problem:" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2) = x*y;" "6#/*(%\"dG\"\"#%\"yG \"\"\"*&F%F(*$%\"xGF&F(!\"\"*&F+F(F'F(" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(-2) = -1" "6#/-%\"yG6#,$\"\"#!\"\",$\"\"\"F)" }{TEXT -1 2 ", \+ " }{XPPEDIT 18 0 "y(2) = 1" "6#/-%\"yG6#\"\"#\"\"\"" }{TEXT -1 1 "," } }{PARA 0 "" 0 "" {TEXT -1 26 "from the previous section." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 158 "de : = diff(y(x),x$2) =sinh(x)*y(x);\nbc := y(-2)=-1,y(2)=1;\nsol := dsolve (\{de,bc\},y(x),numeric,output=listprocedure,abserr=Float(5,-10)):\nfn := subs(sol,y(x));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#deG/-%%diffG 6$-%\"yG6#%\"xG-%\"$G6$F,\"\"#*&-%%sinhGF+\"\"\"F)F4" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bcG6$/-%\"yG6#!\"#!\"\"/-F(6#\"\"#\"\"\"" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "plot('fn'(x),x=-2..2);" }}{PARA 13 "" 1 "" {GLPLOT2D 360 172 172 {PLOTDATA 2 "6%-%'CURVESG6$7W7$$!\"#\"\"!$!+++++5!\"*7$$!+#p0k&>F-$!+^ z!fC\"F-7$$!+$Q6G\">F-$!+\"yBO[\"F-7$$!+3-)[(=F-$!+q#3Ho\"F-7$$!+M!\\p $=F-$!+BG\\u=F-7$$!+))Qj^'***F-$!+B?2uPF-7$$!*]5*H\"*F-$!+Y3)[u$F-7$$!*I\"3&H)F-$!+>h!*)o$F-7 $$!*Twp`(F-$!+4\"4th$F-7$$!*P;bj'F-$!+R!y*4NF-7$$!*Zh=(eF-$!+*3oHS$F-7 $$!*G\\N)\\F-$!+>P5jKF-7$$!*ZUs>%F-$!+Zc-GJF-7$$!*GRXL$F-$!+T]EqHF-7$$ !*$=/8DF-$!+(Q0I\"GF-7$$!*U&*el\"F-$!+/=zVEF-7$$!)Wn(o)F-$!+MK\\&[#F-7 $$!(eV(>F-$!++pE8BF-7$$\")f`@')F-$!+\"GPV8#F-7$$\"*nZ)H;F-$!+*e$oz>F-7 $$\"*Ky*eCF-$!+Y&3[\"=F-7$$\"*S^bJ$F-$!+L]sZ;F-7$$\"*0TN:%F-$!+Gy>)[\" F-7$$\"*7RV'\\F-$!+u:3Q8F-7$$\"*:#fkeF-$!+9/tw6F-7$$\"*`4Nn'F-$!+2$zn. \"F-7$$\"*],s`(F-$!+H,$)F-$!+d'\\#pwFaw7$$\"*qfa<*F-$ !+EK)QM'Faw7$$\"*1O0)**F-$!+X@QT^Faw7$$\"+#G2A3\"F-$!+GK(f#RFaw7$$\"+$ )G[k6F-$!+e:rsFFaw7$$\"+7yh]7F-$!+ul7%f\"Faw7$$\"+()fdL8F-$!+i)e)oZ!#6 7$$\"+-FT=9F-$\"+Sz!)*f'Fey7$$\"+Epa-:F-$\"+1Jx'z\"Faw7$$\"+Sv&)z:F-$ \"+ic4lGFaw7$$\"+GUYo;F-$\"+*fo*RTFaw7$$\"+2^rZF-$\"+wH%p@)Faw7$$\"\"#F*$\"+++++5F--%'CO LOURG6&%$RGBG$\"#5!\"\"$F*F*Fe\\l-%+AXESLABELSG6$Q\"x6\"Q!Fj\\l-%%VIEW G6$;F(Fj[l%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "fsolve('fn'(x),x=1.4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"++2 " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 5 "Tasks" }}{PARA 0 " " 0 "" {TEXT -1 127 "In questions 1 to 3, find both discrete and conti nuous numerical solutions for the following two point boundary value p roblems." }}{PARA 0 "" 0 "" {TEXT -1 3 "If " }{TEXT 0 6 "dsolve" } {TEXT -1 86 " can find an analytical solution, compare this solution w ith your numerical solutions." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q1" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2) = y;" "6#/*(%\"dG\"\" #%\"yG\"\"\"*&F%F(*$%\"xGF&F(!\"\"F'" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F'" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(1 ) = 1" "6#/-%\"yG6#\"\"\"F'" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 44 "____________________________________________" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "de := diff (y(x),x$2)=y(x) ;\nbc := y(0)=0,y(1)=1;\ndsolve(\{de,bc\},y(x));\ng := unapply(rhs(%),x);" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 159 "de := diff(y(x),x$2) = y(x);\nbc := y(0) =0,y(1)=1;\nsoln := desolveFD(\{de,bc\},y(x),output=points,\n \+ extrapolate=2,info=true):\ncomparewithfcn(soln,g(x),x);" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "plot( [soln,g(x)],x=0..1,style=[point,line],\n symbol=circle,color=[blu e,red]);" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 44 "__ __________________________________________" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q2" }} {PARA 0 "" 0 "" {TEXT -1 4 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)+x;" "6 #,&*(%\"dG\"\"#%\"yG\"\"\"*&F%F(*$%\"xGF&F(!\"\"F(F+F(" }{TEXT -1 1 " \+ " }{XPPEDIT 18 0 "dy/dx = 2*x;" "6#/*&%#dyG\"\"\"%#dxG!\"\"*&\"\"#F&% \"xGF&" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(0) = 0" "6#/-%\"yG6#\"\"!F' " }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(1) = 1" "6#/-%\"yG6#\"\"\"F'" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 44 "________________________ ____________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 111 "de := diff(y(x),x$2) + x*diff(y(x),x) = \+ 2*x;\nbc := y(0)=0,y(1)=1;\ndsolve(\{de,bc\},y(x));\ng := unapply(rhs( %),x);" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 175 "de := diff(y(x),x$2) + x*diff(y(x),x) = 2*x;\nbc := \+ y(0)=0,y(1)=1;\nsoln := desolveFD(\{de,bc\},y(x),output=points,\n \+ extrapolate=2,info=true):\ncomparewithfcn(soln,g(x),x);" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "pl ot([soln,g(x)],x=0..1,style=[point,line],\n symbol=circle,color=[ blue,red]);" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 57 "_______________________________________ __________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q3" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2)-2*x;" "6#,&*(%\"dG\"\"#%\"yG\"\" \"*&F%F(*$%\"xGF&F(!\"\"F(*&F&F(F+F(F," }{TEXT -1 1 " " }{XPPEDIT 18 0 "dy/dx+y = exp(x);" "6#/,&*&%#dyG\"\"\"%#dxG!\"\"F'%\"yGF'-%$expG6#% \"xG" }{TEXT -1 21 ", y(0) = 0, y(1) = 1 " }}{PARA 0 "" 0 "" {TEXT -1 44 "____________________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 44 "__ __________________________________________" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q4" }} {PARA 0 "" 0 "" {TEXT -1 60 "Find the zero of the solution to the boun dary value problem:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "d^2*y/(d*x^2) = arctan(x)*y;" "6#/* (%\"dG\"\"#%\"yG\"\"\"*&F%F(*$%\"xGF&F(!\"\"*&-%'arctanG6#F+F(F'F(" } {TEXT -1 3 ", " }{XPPEDIT 18 0 "y(-2) = -1" "6#/-%\"yG6#,$\"\"#!\"\", $\"\"\"F)" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "y(2) = 1" "6#/-%\"yG6#\"\" #\"\"\"" }{TEXT -1 1 "," }}{PARA 0 "" 0 "" {TEXT -1 28 " to about 10 d igit accuracy." }}{PARA 0 "" 0 "" {TEXT -1 57 "_______________________ __________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 57 "____________________ _____________________________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}} }}{MARK "4 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }