为什么 Asymptote 不能读取 3^x/x?

为什么 Asymptote 不能读取 3^x/x?

我在 Geogebra 中创建了 f(x)=3^x/x! 的图形,当我尝试将其导出为 Asymptote 代码时,我得到了以下结果:

 /* Geogebra to Asymptote conversion, documentation at artofproblemsolving.com/Wiki go to User:Azjps/geogebra */
import graph; size(23.cm); 
real labelscalefactor = 0.5; /* changes label-to-point distance */
pen dps = linewidth(0.7) + fontsize(10); defaultpen(dps); /* default pen style */ 
pen dotstyle = black; /* point style */ 
real xmin = -4.3, xmax = 18.7, ymin = -5.42, ymax = 6.3;  /* image dimensions */
pen qqwuqq = rgb(0.,0.39215686274509803,0.); pen cqcqcq = rgb(0.7529411764705882,0.7529411764705882,0.7529411764705882); pen svsvsv = rgb(0.1450980392156863,0.1450980392156863,0.1450980392156863); 
 /* draw grid of horizontal/vertical lines */
pen gridstyle = linewidth(0.7) + cqcqcq; real gridx = 1., gridy = 1.; /* grid intervals */
for(real i = ceil(xmin/gridx)*gridx; i <= floor(xmax/gridx)*gridx; i += gridx)
 draw((i,ymin)--(i,ymax), gridstyle);
for(real i = ceil(ymin/gridy)*gridy; i <= floor(ymax/gridy)*gridy; i += gridy)
 draw((xmin,i)--(xmax,i), gridstyle);
 /* end grid */ 

Label laxis; laxis.p = fontsize(10); 
xaxis(xmin, xmax,defaultpen+svsvsv, Ticks(laxis, Step = 1., Size = 2, NoZero),EndArrow(6), above = true); 
yaxis(ymin, ymax,defaultpen+svsvsv, Ticks(laxis, Step = 1., Size = 2, NoZero),EndArrow(6), above = true); /* draws axes; NoZero hides '0' label */ 
 /* draw figures */
real f1 (real x) {return 3^(x)/x!;} 
draw(graph(f1,0.010000190000000138,18.69), linewidth(2.) + qqwuqq); 
 /* dots and labels */
label("$f$", (0.,1.04), NE * labelscalefactor,qqwuqq); 
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle); 
 /* end of picture */

然而,在 Asymptote 中运行它时,编译器发现以下行存在问题:

real f1 (real x) {return 3^(x)/x!;}

有人能建议一种方法来纠正它吗?

相关内容