Нашла скрипт для исследования функции и построения графика:
Код | #!/usr/bin/ruby =begin Исследование функций с помощью производной =end preamble="\\documentclass[12pt]{amsart}\n"+ "\\usepackage{epsfig}\n"+ "\\usepackage[koi8-r]{inputenc}\n"+ "\\usepackage[russian]{babel}\n"+ "\\thispagestyle{empty}\n\\newcounter{varno}\n"+ "\\begin{document}\n\\def\\Ev{четная}\n"+ "\\def\\Od{нечетная}\n\\def\\Nt{общего вида}\n"+ "\\def\\Nn{пересечений нет}\n" print preamble f=File.new("graphics") n, task = 0, f.readlines task.each{ |i| i.chop! pr=i.split("&") # формируем массив, но разделитель уже не пробел n+=1 print "\\setcounter{varno}{#{n}}\n {\\bf \\Roman{varno}}. " print "Исследуйте функцию \n { $y(x)=#{pr[0]}$}\n", "с помощью производной и постройте эскиз ее графика.\n", "\\bigskip\n\n" print "\n\\if{% спрячем все вычисления в TeX-комментарий\n", "<*\n y[x\_]=#{pr[0]};\n", "y0=y[0];\n", "ry=If[ Reduce[y[x]==0, x]===False, \"\\mbox{ \\Nn}\",", " Reduce[y[x]==0, x]];\n", "Display[\"g#{n}.eps\", Plot[y[x],{x,#{pr[1]},#{pr[2]}}],", "\"EPS\"];\n", "l1=Limit[y[x], x-\>Infinity];\n", "l2=Limit[y[x], x-\>-Infinity];\n", "eo=If[y[x]===y[-x], \"\\Ev\", If[y[x]===-y[-x],", " \"\\Od\", \"\\Nt\"]]\n", "dy[x\_]=Simplify[D[y[x], x]];\n", "rdy=Reduce[dy[x]==0,x];\n", "ldy=x/. Solve[dy[x]==0,x];\n", "fld=y/@ldy;\n", "e1=If[l1==-Infinity||l2==-Infinity,-Infinity,", "If[l1<Min[fld], l1, Min[fld]]]\n ", "e2=If[l1==Infinity||l2==Infinity,Infinity,", " If[l2>Max[fld], l2, Max[fld]]]\n ", "z1=If[l1==-Infinity||l2==-Infinity,\"\(\",", "If[l1<Min[fld], \"\(\",\"\[\"]]\n ", "z2=If[l1==Infinity||l2==Infinity, \")\",", " If[l2>Max[fld], \")\",\"]\"]]\n *>\n", "}\\fi\n\n" print "\\noindent\\begin{tabular}{lr}\n", "\\parbox{0.44\\textwidth}{\n\n" print "\\noindent\n1. $E(y)=<*z1*><*e1*>;<*e2*><*z2*>$.\n", "\\medskip\n\n" print "\\noindent\n2. Четность/нечетность:\\\\", "$y(-x)=<*Simplify[y[-x]]*>$.\n\n" print "Функция <*eo*>.\n\\smallskip\n\n" print "\\noindent\n3. Поведение в граничных ", "точках области определения\\\\ \n", "при $x\\rightarrow\\infty \\quad\\phantom{-} y\\rightarrow \n", "<*l1*>$\\\\ \n", "при $x\\rightarrow -\\infty \\quad y\\rightarrow \n", "<*l2*>$\\\\ [2pt]\n\\smallskip\n\n }&\n", "\\parbox{0.56\\textwidth}{\n\\begin{picture}(100,70)\n", "\\put(0,-20){\\noindent", "\\includegraphics[scale=.72]{g#{n}.eps}}\n ", "\\end{picture}\n }\n\\\\ \n\\end{tabular}\n\n" print "\\noindent\n4. Пересечение с осью OY:\n", " при $x=0,\\quad y=<*y0*>$.\n\n" print "\\noindent\n5. Пересечение с осью OX: ", "$ #{pr[0]} =0$ при \\\\ $<*ry*>$.\n\n" print "\\noindent\n6. Производная $(#{pr[0]})^\\prime=", "<*dy[x]*>$.\n\\medskip\n\n" print "\\noindent\n7. Критические точки функции: ", " $<*rdy*>$.\n\\medskip\n\n" print "\\noindent\n8. Значения в критических точках $<*fld*>$.\n" print "\\bigskip\n\n" } print "\\end{document}"
|
http://www.chair36.msiu.ru/science/science/articles/1/html/node60.html
Автор написал описание так, что не могу понять как это все запустить. Прошу, помогите пожалуйста! |