{VERSION 6 0 "IBM INTEL LINUX" "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 "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 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 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "courier" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Error" 7 8 1 {CSTYLE "" -1 -1 "" 0 1 255 0 255 1 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Plot" 0 13 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {PARA 0 "" 0 "" {TEXT 263 33 "Maple as a programming language \+ " }{TEXT -1 32 "(Last updated by JR, 8/19/2004) " }}{PARA 0 "" 0 "" {TEXT -1 34 "Copyright 2000-2004, SUNY Buffalo." }}{PARA 0 "" 0 "" {TEXT -1 4 "The " }{TEXT 264 3 "for" }{TEXT -1 6 " loop:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "for i from 1 to 3 do\n evalf(i*Pi );\nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+aEfTJ!\"*" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#$\"+3`=$G'!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#$\"+izxC%*!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 76 "Unfortunately Maple' s authors have chosen to give a loop index global scope." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "i;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\"%" }}}{PARA 0 "" 0 "" {TEXT -1 137 "As the designers of C++ fina lly concluded, this is almost always undesirable, \nso I recommend the practice of unassigning the loop index:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "for i from 1 to 3 do\n evalf(i*Pi);\nod; unassign(' i'):" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+aEfTJ!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+3`=$G'!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# $\"+izxC%*!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 46 "One of the most useful data structures is the " }{TEXT 257 8 "sequence" }{TEXT -1 40 ": a comma-separated list of expressions :" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "s:=1,seven,x^2;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"sG6%\"\"\"%&sevenG*$)%\"xG\"\"#F& " }}}{PARA 0 "" 0 "" {TEXT -1 36 "Elements can be accessed as follows: " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "s[2];" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%&sevenG" }}}{PARA 0 "" 0 "" {TEXT -1 34 "My very fav orite Maple command is " }{TEXT 258 3 "seq" }{TEXT -1 28 ": for gener ating sequences." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "seq(eval f(i*Pi),i=1..3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%$\"+aEfTJ!\"*$\"+3 `=$G'F%$\"+izxC%*F%" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "seq(A[i],i=0..7);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6*&%\"AG6#\"\"!&F$6#\"\"\"&F$6#\"\"#&F$6#\"\"$&F$6#\"\"%& F$6#\"\"&&F$6#\"\"'&F$6#\"\"(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "seq(i^2,i=[2,10,-7]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%\"\"%\"$+\"\"#\\" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "plots[displa y](seq(plot(sin(n*x),x=0..Pi/2),n=1..3));" }}{PARA 13 "" 1 "" {GLPLOT2D 284 132 132 {PLOTDATA 2 "6'-%'CURVESG6$7S7$$\"\"!F)F(7$$\"3N GK5j*))QU$!#>$\"3PsLeI+ABMF-7$$\"3DXXYUk*HS'F-$\"3[DS+L@i)R'F-7$$\"3F=$\"3r)*)ys&)4p%>F=7$$\"3kHX [TMk\"G#F=$\"3G3RBS#)*=E#F=7$$\"3Saq%HF=$\"3=7dd?+e/HF=7$$\"3)pq'4OKt)G$F=$\"3c0jx$Rp(HKF=7$$\"3#f/ N#RTo*e$F=$\"3ML>uye38NF=7$$\"3Ut79wN[GRF=$\"3V3zj5M@GQF=7$$\"3/VrOc6q%F=7$$\"31\\,oR/A[_F=$\"3SMGBr+f5]F=7$$\"3tvW/X(*RG,:eF=7$$\"3.n3p46^WlF=$\"33g0zi&Qs3'F=7$$\"3oHyF.C6noF=$\"3h +)=j,t*RjF=7$$\"3(*zx.5Ir.sF=$\"3Sz3MFxj'f'F=7$$\"3'pz!QUu\"G^(F=$\"3$ [8q$y.wDoF=7$$\"3@\"3@7LGi%yF=$\"3wm47uKelqF=7$$\"3)3\"HIT&[D>)F=$\"3M (RvZssjI(F=7$$\"3gv)\\AI@S\\)F=$\"3C>#p\"po&)3vF=7$$\"3vn()=V,i>))F=$ \"3&4zeG%\\()>xF=7$$\"3'G:[dg&*f:*F=$\"31()\\)y]!GHzF=7$$\"3sSt6rL2&[* F=$\"3g&H%*=Uja7)F=7$$\"3mka(*HIZ.)*F=$\"3%3R7+w2pI)F=7$$\"3Em\"[l:+d, \"!#<$\"3Q?Zs+w\\)\\)F=7$$\"3d!3XyEmu/\"F_u$\"3Ih!)R3tfh')F=7$$\"3rJ_* >P$Q\"3\"F_u$\"3VZPF_)*3E))F=7$$\"3.M\"G%4t676F_u$\"3jW#3Hj\"Qm*)F=7$$ \"3co*Q4iq'*z.@\"F_u$\"3M'Q,up+vN*F=7$$\"34Q$[)>&*oU7F_u$\"3NZ!)zP7am%* F=7$$\"3I^lOFY^w7F_u$\"3-w%)pSt5q&*F=7$$\"3`!)f6EA448F_u$\"3-KPDS[]f'* F=7$$\"3=;T7EvSU8F_u$\"3B\"='y#[C.u*F=7$$\"3a_wiepWv8F_u$\"3$oY$>Q\"*z 4)*F=7$$\"3U$obdw1eS\"F_u$\"3\"4Wi\"*p+U')*F=7$$\"3s$)o#3`-1W\"F_u$\"3 aZ!3__n`\"**F=7$$\"3.#*)4zFC5x7F=7$F6$\"3uj\\&zl:$Q>F=7$F;$\"3Cu8dI&>^f#F =7$FA$\"3ocpql\")3PKF=7$FF$\"3T_Q-H+J>QF=7$FK$\"3#R%HaWVb1WF=7$FP$\"3G $Q%R38h%*\\F=7$FU$\"3n7YQHSrebF=7$FZ$\"3SAL3d;N8hF=7$Fin$\"3L8-L];KylF =7$F^o$\"3&)o;%pdyJ2(F=7$Fco$\"3vMF!G&3SPvF=7$Fho$\"3OXo3Fmy^zF=7$F]p$ \"3k'H\\SkE&)H)F=7$Fbp$\"3xeS>\"zgCn)F=7$Fgp$\"3V4)p:u-`&*)F=7$F\\q$\" 3]r)GX,KPC*F=7$Faq$\"3g%=bi)[bh%*F=7$Ffq$\"3\"[$*yP28!f'*F=7$F[r$\"3)y Z(oQ$\\e!)*F=7$F`r$\"3S$[qrF\\b\"**F=7$Fer$\"3oay-H/tw**F=7$Fjr$\"2=ph s(z)*****F_u7$F_s$\"3%[)R;[K3x**F=7$Fds$\"3UUtNf;==**F=7$Fis$\"3HE&H`Q (39)*F=7$F^t$\"3+X:Z\"\\jGm*F=7$Fct$\"30mgST*4EZ*F=7$Fht$\"3!zN=9Gx%\\ #*F=7$F]u$\"38s%p_&>%y&*)F=7$Fcu$\"3)Gm)z?ccd')F=7$Fhu$\"3')Qt,M!G%)H) F=7$F]v$\"3:$)[Y%*G)*RzF=7$Fbv$\"3oF()3\\G%Q^(F=7$Fgv$\"3C[5_!3p=3(F=7 $F\\w$\"3e?A7m[5+mF=7$Faw$\"32>#RZ[775'F=7$Ffw$\"3p#y&y)=n;b&F=7$F[x$ \"3]E\"yy[\\$)*\\F=7$F`x$\"351v_'o$e5WF=7$Fex$\"3'4Lm#)*eM3QF=7$Fjx$\" 3+JREpFBSKF=7$F_y$\"3>E2Nv4buDF=7$Fdy$\"3DAKY>3]o>F=7$Fiy$\"3a?196Z)RJ \"F=7$F^z$\"3wlK?Q9s?oF-7$Fcz$\"3*QhSKD$z*G'!#EFgz-F$6$7SF'7$F+$\"36=l 'yTh`-\"F=7$F1$\"3f4^$4l2\"4>F=7$F6$\"3U;cp`9U%)GF=7$F;$\"3_*)HL_UxOQF =7$FA$\"3.DBy\"3`cu%F=7$FF$\"3[Y)y1PUba&F=7$FK$\"3*\\e!**[K!GK'F=7$FP$ \"3c?o>YhYkqF=7$FU$\"3D6kE,1bLxF=7$FZ$\"3)*ywr(=m;M)F=7$Fin$\"3Hz&[RQ \\\\!))F=7$F^o$\"3$y5F7;30C*F=7$Fco$\"3%e%)p')f$)=e*F=7$Fho$\"3QuPb\\[ a;)*F=7$F]p$\"3#*HA<\\I[Z**F=7$Fbp$\"3=wysiE$*****F=7$Fgp$\"3$p/pcs$>c **F=7$F\\q$\"3y;[YNM0/)*F=7$Faq$\"3vFS&Ro(zz&*F=7$Ffq$\"3N`nfJ*Q$R#*F= 7$F[r$\"3/sJVV]WE))F=7$F`r$\"36pQs,&RwI)F=7$Fer$\"3=#>,'o(>lv(F=7$Fjr$ \"3y^2%y!f\\(3(F=7$F_s$\"3Zf,!yG]wJ'F=7$Fds$\"3y>j58hr\"f&F=7$Fis$\"3 \\q6vyK`cZF=7$F^t$\"37L0#Q-, n!4#*>F=7$F]u$\"3!eE)y;I;N%*F-7$Fcu$!3Ab?K\"e)\\h!)!#@7$Fhu$!3ooeBJxxB 5F=7$F]v$!3)G!f]jOIN>F=7$Fbv$!3pnGf0ub\\jF=7$F[x$!3IA?* z'))3tqF=7$F`x$!3FeY3$ePJu(F=7$Fex$!3K%*f3a'G8L)F=7$Fjx$!3)*)G]\"fe$)* z)F=7$F_y$!3!HH)3m'yoC*F=7$Fdy$!3jb+H6Zbh&*F=7$Fiy$!3_=Uo*[p_!)*F=7$F^ z$!3U3>m%*oiZ**F=7$Fcz$F][lF)Fgz-%+AXESLABELSG6%Q\"x6\"Q!Fi]m-%%FONTG6 #%(DEFAULTG-%%VIEWG6$;F($\"+Fjzq:!\"*F^^m" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 65 "Associati ve arrays can be created simply by assigning an element:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "for i from 0 to 3 do\n A[i]:=i*x; \nod;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"AG6#\"\"!F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"AG6#\"\"\"%\"xG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"AG6#\"\"#,$*&F'\"\"\"%\"xGF*F*" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>&%\"AG6#\"\"$,$*&F'\"\"\"%\"xGF*F*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 50 "A sequence enclosed by square brackets is a Maple " } {TEXT 256 4 "list" }{TEXT -1 1 ":" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "[%];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%$\"+aEfTJ!\" *$\"+3`=$G'F&$\"+izxC%*F&" }}}{PARA 0 "" 0 "" {TEXT -1 98 "Lists can b e used as vectors: simple arithmetic (usually) distributes over them a s you might hope," }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "u:=[2,x ,y];\n7*u;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"uG7%\"\"#%\"xG%\"yG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"#9,$*&\"\"(\"\"\"%\"xGF(F(,$*& F'F(%\"yGF(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "v:=[3,4,5] ;\nu+v;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"vG7%\"\"$\"\"%\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"\"&,&\"\"%\"\"\"%\"xGF',&F$F'%\"yG F'" }}}{PARA 0 "" 0 "" {TEXT -1 33 "though sometimes you need to use \+ " }{TEXT 265 6 "expand" }{TEXT -1 34 " to get Maple to do what you wan t:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "t*v;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#*&%\"tG\"\"\"7%\"\"$\"\"%\"\"&F%" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 12 "expand(t*v);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,$*&\"\"$\"\"\"%\"tGF'F',$*&\"\"%F'F(F'F',$*&\"\"&F'F(F'F'" }} }{PARA 0 "" 0 "" {TEXT -1 97 "and, there is a nasty bug in Maple 6, fi xed in Maple 7, that gets the following just plain wrong:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "w:=[sin(t),4*t,5];\nexpand(2*w);\n[ 1,2,3]+2*w;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"wG7%-%$sinG6#%\"tG, $*&\"\"%\"\"\"F)F-F-\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,$*&\" \"#\"\"\"-%$sinG6#%\"tGF'F',$*&\"\")F'F+F'F'\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,&*&\"\"#\"\"\"-%$sinG6#%\"tGF'F'F'F',&*&\"\")F'F+F'F 'F&F'\"#8" }}}{PARA 0 "" 0 "" {TEXT -1 10 "and while " }{TEXT 260 4 "d iff" }{TEXT -1 25 " distributes over lists, " }{TEXT 259 3 "int" } {TEXT -1 10 " does not:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "r :=[t,t^2,t^3];\ndiff(r,t);\nint(r,t);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rG7%%\"tG*$)F&\"\"#\"\"\"*$)F&\"\"$F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"\"\",$*&\"\"#F$%\"tGF$F$,$*&\"\"$F$)F(F'F$F$" }} {PARA 8 "" 1 "" {TEXT -1 52 "Error, (in int) wrong number (or type) of arguments\n" }}}{PARA 0 "" 0 "" {TEXT -1 43 "Conditional execution is achieved with the " }{TEXT 261 3 "if " }{TEXT -1 10 "construct:" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "a:=3;\nif(a=3) then\n prin t(hello);\nfi;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG\"\"$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%&helloG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "if(a>3) then\n print(hello);\nelse\n print(goodby e);\nfi;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%(goodbyeG" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 81 "Sometimes, it's c onvenient to use expressions as functions in the following way:" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "f:=x^2-x*y^2;\ng:=diff(f,x); \nsubs(x=2,y=3,g);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,&*$)%\"xG \"\"#\"\"\"F**&F(F*)%\"yGF)F*!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%\"gG,&%\"xG\"\"#*$)%\"yGF'\"\"\"!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"&" }}}{PARA 0 "" 0 "" {TEXT -1 67 "Other times, you may find \+ it more convenient to use true functions:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "f:=(x,y)->x^2-x*y^2;\ng:=D[1](f);\ng(2,3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6$%\"xG%\"yG6\"6$%)operatorG%&arrowG F),&*$)9$\"\"#\"\"\"F2*&F0F2)9%F1F2!\"\"F)F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGf*6$%\"xG%\"yG6\"6$%)operatorG%&arrowGF),&9$\"\"# *$)9%F/\"\"\"!\"\"F)F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"&" }}} {PARA 0 "" 0 "" {TEXT -1 45 "Functions can be made from expressions us ing " }{TEXT 262 7 "unapply" }{TEXT -1 1 ":" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 32 "F:=x^2-x*y^2;\nf:=unapply(F,x,y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"FG,&*$)%\"xG\"\"#\"\"\"F**&F(F*)%\"yGF)F*!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6$%\"xG%\"yG6\"6$%)operatorG %&arrowGF),&*$)9$\"\"#\"\"\"F2*&F0F2)9%F1F2!\"\"F)F)F)" }}}{PARA 0 "" 0 "" {TEXT -1 98 "Procedures are similar to functions, and are suitabl e for functions that require multiple lines of" }}{PARA 0 "" 0 "" {TEXT -1 94 "code for their evaluation. The last-evaluated expression \+ is the return value of the procedure." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "f:=proc(x,y)\n foo;\n bar;\n x^2-x*y^2;\nend;\n g:=D[1](f);\ng(2,3);\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6$% \"xG%\"yG6\"F)F)C%%$fooG%$barG,&*$)9$\"\"#\"\"\"F2*&F0F2)9%F1F2!\"\"F) F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGf*6$%\"xG%\"yG6\"F)F),&9 $\"\"#*$)9%F,\"\"\"!\"\"F)F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"& " }}}{PARA 0 "" 0 "" {TEXT -1 120 "Avoiding the annoying \"cannot dete rmine if this expression is true or false\" error in functions that h ave conditionals:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 104 "g1:=pr oc(x,xi) \n if x < xi then cos(xi)*sin(x) else sin(xi)*cos(x) end i f\nend proc:\ng1(1,2),g1(1,Pi);" }}{PARA 8 "" 1 "" {TEXT -1 78 "Error, (in g1) cannot determine if this expression is true or false: -Pi < - 1\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "g1(a,b);" }}{PARA 8 " " 1 "" {TEXT -1 77 "Error, (in g1) cannot determine if this expression is true or false: a-b < 0\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 320 "g2:=proc(x,xi) # (avoids \"cannot determine if this expression is true or false\" error)\n if type(evalf(x),numeric) and type(evalf (xi),numeric) then\n if evalf(x)< evalf(xi) then cos(xi)*sin(x) el se sin(xi)*cos(x) end if\n else\n 'g'(x,xi) # return function \+ unevaluated\n fi:\nend proc:\ng2(1,2),g2(1,Pi),g2(a,b);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6%*&-%$cosG6#\"\"#\"\"\"-%$sinG6#F(F(,$F)!\"\"-%\" gG6$%\"aG%\"bG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 266 12 "One la st tip" }}{PARA 0 "" 0 "" {TEXT -1 127 "When typing nested commands, I find it saves a great deal of tedious debugging if I always close my \+ parentheses before typing " }}{PARA 0 "" 0 "" {TEXT -1 86 "the thing \+ enclosed by them. E.g. type \"seq()\", then backspace and put in the c ontents." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 " 8 }{VIEWOPTS 1 1 0 3 4 1802 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }