Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Sage Math中绘制Python函数_Python_Plot_Sage - Fatal编程技术网

在Sage Math中绘制Python函数

在Sage Math中绘制Python函数,python,plot,sage,Python,Plot,Sage,我一直在尝试使用Sage Math绘制1和一些非负数x的算术几何平均值,但我正在努力使plot函数接受Python函数作为输入: plot(agm(1,x), (x,0,5)) 产生以下错误: TypeError: Cannot evaluate symbolic expression to a numeric value. 其中agm(x,y)的定义如下: def agm(x,y): x,y = RDF(x),RDF(y) a = (x+y)/2 g = sqrt(

我一直在尝试使用Sage Math绘制
1
和一些非负数
x
的算术几何平均值,但我正在努力使
plot
函数接受Python函数作为输入:

plot(agm(1,x), (x,0,5))
产生以下错误:

TypeError: Cannot evaluate symbolic expression to a numeric value.
其中
agm(x,y)
的定义如下:

def agm(x,y):
    x,y = RDF(x),RDF(y)
    a = (x+y)/2
    g = sqrt(x*y)
    diff = a-g
    while diff > (1/10**11):
        newa = (a + g)/2
        newg = sqrt(a*g)
        a,g = newa,newg
        diff = a - g
    return a
我曾尝试在绘图时用
x
替换
x.n()
,但这并没有改变任何事情

如何绘制此Python函数?

如果运行此代码

没有
RDF
它会给我一个绘图。使用
RDF
它会失败


在Sage
RDF
中是一个真正的双字段。在Python中,浮点数已经是双倍的,如果这是您想要了解的。

@DavidG上面的示例是最小的、完整的和可验证的。“有什么问题吗?”大卫,我注意到你从来没有回答过任何关于圣人数学的问题,所以我想我应该解释一下。Sage是一套完整的数学程序,因此不需要包含单独的软件包。你可以在这里运行上面的代码:是的,你是对的。使用提供的链接并运行代码,错误似乎出现在
x,y=RDF(x),RDF(y)
行,但我只知道这些。在这个问题中包含整个错误消息可能会很好?这是您想要的吗?在这种情况下,lambda是非常好的注释。