{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 }{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 "Headi ng 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 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 "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 "Autho r" -1 19 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 8 8 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 3 "" 0 "" {TEXT -1 39 "Prozeduren f\374r den Math ematikunterricht" }}{PARA 19 "" 0 "" {TEXT -1 95 "von Frauke Vollert-F rik, vollert-frik@t-online.de\nmit kleinen Anpassungen von Michael Sch \344ffler" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}} {SECT 0 {PARA 4 "" 0 "" {TEXT -1 23 "Prozedur \"extrempunkte\"" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 345 "Die Prozedur berechnet die Extrem punkte einer Funktion. Dabei sind nur Funktionen ohne Parameter zugela ssen. \nDie Extrem- und Sattelpunkte sind anschlie\337end in den Liste n \"Hochpunkte\", \"Tiefpunkte\" und \"Sattelpunkte\" \nenthalten und \+ k\366nnen so abgefragt werden.\nAufgerufen wird die Prozedur mit \"ext rempunkte(f)\", f muss dabei eine Funktion sein." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 728 "extrempunk te:=proc(f::algebraic)\nlocal mex,eps,a,U,LH,LT,LS;\nglobal Hochpunkte , Tiefpunkte, Sattelpunkte;\n\nDigits:=3;\nU:=select(type,indets(f(x)) ,name); \nif nops(U)>1 then print('unzul\344ssige_Funktion') \nelse\n \+ mex:=[solve(D(f)(x)=0,x)];\n eps:=0.1:\n LH:=NULL;LT:=NULL;LS:=N ULL;\n for a in mex do\n if Re(a)=a then \n if signum(D(f)(a- eps))>signum(D(f)(a+eps)) then LH:=LH,[H(evalf(a),evalf(f(a)))]\n \+ elif signum(D(f)(a-eps)) " 0 "" {MPLTEXT 1 0 383 "wertetabelle:=proc(f,xint::name=ra nge)\nlocal i,L,U, xmin, xmax ;\nglobal Werte;\n\nDigits:=3;\nU:=sele ct(type,indets(f(x)),name); \nif nops(U)>1 then print('unzul\344ssige_ Funktion')\nelse\n xmin:=evalf(op(1,rhs(xint)));\n xmax:=evalf(op( 2,rhs(xint)));\n L:=NULL;\n for i from xmin to xmax by 0.5 do\n \+ printf(\"%+-8g %+-.5a\\n\",i,f(i));\n end do:\n Werte:=[f(x),L] :\nend if;\nend proc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 22 "Prozedur \"nullstellen\"" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 319 "Die Prozedur berechnet die Nullstellen einer F unktion. Dabei sind nur Funktionen ohne Parameter zugelassen. \nDie Nu llstellen werden anschlie\337end angezeigt, bzw sind in der Liste \"N ullstellen\" enthalten und k\366nnen so abgefragt werden.\nAufgerufen \+ wird die Prozedur mit \"nullstellen(f)\", f muss dabei eine Funktion \+ sein." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 223 "nullstellen:=proc (f)\nlocal U ;\nglobal Nullstellen ;\n\nDigits:=3;\nU:=select(type,i ndets(f(x)),name); \nif nops(U)>1 then print('unzul\344ssige_Funktion' )\nelse\n Nullstellen:=[f(x),fsolve(f(x)=0,x)];\n f(x);\n\nend if; \nend proc:" }}}{PARA 4 "" 0 "" {TEXT -1 1 "\n" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 22 "Prozedur \"wendepunkte\"" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 295 "Die Prozedur berechnet die Wendepunkte einer Funktion. D abei sind nur Funktionen ohne Parameter zugelassen.\nDie Wendepunkte s ind anschlie\337end in der Liste \"Wendepunkte\" enthalten und k\366nn en so abgefragt werden.\nAufgerufen wird die Prozedur mit \"wendepunkt e(f)\", f muss dabei eine Funktion sein." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 459 "wendepunkte:=proc(f)\nlocal mwen,eps,a,U,LW;\nglob al Wendepunkte;\n\nDigits:=3;\nU:=select(type,indets(f(x)),name); \nif nops(U)>1 then print('unzul\344ssige_Funktion')\nelse\n mwen:=[solv e((D@@2)(f)(x)=0,x)];\n eps:=0.1:\n LW:=NULL;\n for a in mwen do \n if Re(a)=a then \n if signum((D@@2)(f)(a-eps))<>signum((D@@ 2)(f)(a+eps)) then LW:=LW,['W'(evalf(a),evalf(f(a)))]\n end if;\n \+ end if; \n end do;\n Wendepunkte:=[f(x),LW];\n f(x);\nend if ;\nend proc:" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 21 "Prozedur \"pols tellen\"" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 107 "Die Prozedur berechne t die Polstellen einer Funktion. Dabei sind nur Funktionen ohne Parame ter zugelassen. " }}{PARA 0 "" 0 "" {TEXT -1 184 "Die Polstellen sind \+ anschlie\337end in der Liste \"Polstellen\" enthalten und k\366nnen so abgefragt werden.\nAufgerufen wird die Prozedur mit \"polstellen(f)\" , f muss dabei eine Funktion sein." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 384 "polstellen:=proc(f)\nlocal U,mpol,LP, a;\nglobal Po lstellen ;\n\nDigits:=3;\nU:=select(type,indets(f(x)),name); \nif nop s(U)>1 then print('unzul\344ssige_Funktion')\nelse\n mpol:=[fsolve(d enom(f(x))=0,x)];\n LP:=NULL;\n for a in mpol do\n if limit(f( x),x=a)=numeric then print('unstetig_bei', a)\n else LP:=LP,a \n \+ end if;\n end do;\nPolstellen:=[f(x),LP];\nf(x)\nend if;\nend pr oc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 3 "" 0 "" {TEXT -1 0 " " }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 20 "Prozedur \"schaubild\"" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 692 "Die Prozedur zeigt das Schaubild \+ einer Funktion an. Anschlie\337end k\366nnen eine Wertetabelle (Liste \+ \"Werte\"), die Extrem- und Sattelpunkte (Listen \"Hochpunkte\", \n\"T iefpunkte\" bzw. \"Sattelpunkte\"), die Nullstellen (Liste \"Nullstell en\"), die Wendepunkte (Liste \"Wendepunkte\") sowie die Polstellen (L iste \"Polstellen\") abgefragt werden.\nDie Prozedur \"schaubild\" gre ift dabei auf die Prozeduren \"extrempunkte\", \"wertetabelle\", \"nul lstellen\", \"wendepunkte\" und \"polstellen\" zur\374ck.\nAufgerufen \+ wird die Prozedur mit \"schaubild(f, x=a..b, y = c..d)\", f muss dabe i eine Funktion sein, der x-Bereich geht von a bis b, der y-Bereich vo n c bis d.\nOptional k\366nnen von weitere Plotoptionen angef\374gt we rden.." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 287 "schaubild:=proc( f,xint::name=range,yint::name=range)\nlocal plotoptionen;\n\nplotoptio nen:=args[4..nargs];\nextrempunkte(f);\nnullstellen(f);\nwertetabelle( f,xint);\npolstellen(f);\nwendepunkte(f);\n\nplot(f(x), xint, yint, sc aling=constrained, thickness=5, discont=true, plotoptionen);\n\nend pr oc:" }}}}{PARA 3 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 25 "Prozedur \"tangentenwerte\"" }}{PARA 0 "" 0 "" {TEXT -1 157 "Diese Prozedur spuckt die Steigung und den \"Verschiebungswert\" \+ einer Tangente an eine Kurve der Funktion f aus. Die Eingabe erfolgt \+ \374ber tangentenwerte(f,5)." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 213 "tangentenwerte:=proc(f,XWERT)\nlocal U, Df, t ;\nglobal Tangente nwert ;\n\nDigits:=3;\nDf:= D(f);\nU:=select(type,indets(f(x)),XWERT) ;\nt:= x -> Df(XWERT)*(x-XWERT)+f(XWERT); \nTangentenwert:=[Df(XWERT), t(0)]:\nend proc:" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 24 "Prozedur \"schnittpunkte\"" }}{EXCHG {PARA 0 " " 0 "" {TEXT -1 327 "Die Prozedur berechnet die Schnittpunkte zweier F unktionen. Es sind nur Funktionen ohne Parameter zugelassen.\nDie Schn ittpunkte werden angezeigt, bzw. sind in der Liste \"Schnittpunkte\" e nthalten und k\366nnen so abgefragt werden.\nAufgerufen wird die Proze dur mit \"schnittpunkte(f, g)\", f und g m\374ssen dabei eine Funkti onen sein." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 448 "schnittpunkt e:=proc(f,g)\nlocal U, V, schnittst, SP, a ;\nglobal Schnittpunkte;\n \nDigits:=3;\n U:=select(type,indets(f(x)),name);\n V:=select(type,ind ets(g(x)),name);\n\nif nops(U)>1 then print('unzul\344ssige_Funktion', f);\nelif nops(V)>1 then print ('unzul\344ssige_Funktion', g)\nelse\n schnittst:=[fsolve(f(x)=g(x),x)]:\n SP:=NULL: \n for a \+ in schnittst do\n SP:=SP,[(a,f(a))]\n end do:\n Schnitt punkte:=[f(x),SP]; \n\nend if;\nend proc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 18 "Prozedur \"fl\344chen \"" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 569 "Mit der Prozedur k\366nnen \+ die Fl\344chen zwischen einer Kurve und der x-Achse oder zwischen zwei Kurven \374ber einem Intervall gef\344rbt werden.\nAufgerufen wird di e Prozedur mit \"fl\344chen(f, x= a..b, int = c..d)\", f muss dabei e ine Funktion sein. Statt nur einer Funktion f kann auch eine Liste vo n zwei Funktionen [f, g] eingegeben werden. Der Bereich in dem das Sch aubild gezeichnet wird geht von a bis b. Das Integrationsintervall rei cht von c bis d. Die Eingabe eines y-Bereichs von y_1 bis y_2 ist opt ional und kann als letztes Argument mit \"y= y1..y2\" eingegeben werde n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2323 "fl\344chen:=proc(fu nktionen::\{algebraic,list(algebraic)\},xbereich::name=range,intgrenze n::name=range,\n ybereich::name=range)\nlocal kurven, f \374llung, f\374llung1, f\374llung2:\n\nwith(plots):\n\nif nargs=4 the n\n\nif whattype(funktionen)=list then\n if nops(funktionen)=1 then\n \+ kurven:=plot (funktionen[1](x),x=rhs(xbereich),y=rhs(ybereich),color =red,thickness=5):\n f\374llung:=plot(funktionen[1](x),x=rhs(intgren zen),filled=true,color=blue):\n display(kurven,f\374llung,scaling=co nstrained)\n \n \n elif nops(funktionen)=2 then \n kurven:= p lot([funktionen[1](x),funktionen[2](x)],x=rhs(xbereich),y=rhs(ybereich ),color=red,thickness=5):\n f\374llung1:=plot([min(max(funktionen[1] (x),0),max(funktionen[2](x),0)),max(funktionen[1](x),funktionen[2](x), 0)],\n x=rhs(intgrenzen),filled=true, color=[white,blue]):\n f\374 llung2:=plot([max(min(funktionen[1](x),0),min(funktionen[2](x),0)),min (funktionen[1](x),funktionen[2](x),0)],\n x=rhs(intgrenzen),filled=t rue, color=[white,blue]):\n display(kurven,f\374llung1,f\374llung2,s caling=constrained); \n end if;\n\nelse\n kurven:=plot (funktionen(x) ,x=rhs(xbereich),y=rhs(ybereich),color=red,thickness=5):\n f\374llung: =plot(funktionen(x),x=rhs(intgrenzen),filled=true,color=blue):\n displ ay(kurven,f\374llung,scaling=constrained)\n\nend if;\n\nelif nargs=3 t hen\n\nif whattype(funktionen)=list then\n if nops(funktionen)=1 then \n kurven:=plot (funktionen[1](x),x=rhs(xbereich),y=rhs(ybereich),co lor=red,thickness=5):\n f\374llung:=plot(funktionen[1](x),x=rhs(intg renzen),filled=true,color=blue):\n display(kurven,f\374llung,scaling =constrained)\n \n \n elif nops(funktionen)=2 then \n kurven: = plot([funktionen[1](x),funktionen[2](x)],x=rhs(xbereich),color=red,t hickness=5):\n f\374llung1:=plot([min(max(funktionen[1](x),0),max(fu nktionen[2](x),0)),max(funktionen[1](x),funktionen[2](x),0)],\n x=rh s(intgrenzen),filled=true, color=[white,blue]):\n f\374llung2:=plot( [max(min(funktionen[1](x),0),min(funktionen[2](x),0)),min(funktionen[1 ](x),funktionen[2](x),0)],\n x=rhs(intgrenzen),filled=true, color=[w hite,blue]):\n display(kurven,f\374llung1,f\374llung2,scaling=constr ained); \n end if;\n\nelse\n kurven:=plot (funktionen(x),x=rhs(xberei ch),color=red,thickness=5):\n f\374llung:=plot(funktionen(x),x=rhs(int grenzen),filled=true,color=blue):\n display(kurven,f\374llung,scaling= constrained)\n\nend if;\n\nend if;\n\nend proc:" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 11 "" 1 "" {TEXT -1 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 24 " Die Datei \"Prozeduren.m\"" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 168 "In \+ dieser Datei werden die oben genannten Prozeduren gespeichert, so dass sie mit dem Befehl 'read \"Prozeduren.m\"' in jedes Maple-Arbeitsblat t eingelesen werden k\366nnen." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 135 "save schaubild, extrempunkt e, wertetabelle, wendepunkte, nullstellen, polstellen, schnittpunkte, \+ fl\344chen, tangentenwerte, \"Prozedur.m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "14 4 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }