2017-05-12 25 views
0

我想绘制一个在IJulia笔记本上使用PyPlot的函数,但我一直在获取错误消息。在IJulia中使用PyPlot绘图方法错误

当我运行这段代码:

function gtest2(x) 
    6.34*(log2(1+exp(10.0*(x+0.5))))^0.8 
end 

using PyPlot 
x = -1.0:0.1:1.0; 
plot(x, gtest2(x)); 

我得到了这样的错误:

MethodError: no method matching ^(::Array{Float64,1}, ::Float64) Closest candidates are: ^(::Float64, ::Float64) at math.jl:355 ...

我试图定义的不同类型的变量在使用gtest2(x::Number)gtest2(x::Float64)定义我的功能,但我有相同的错误。

它使用linespace代替-1.0:0.1:1.0。据我所知,函数认为,在输入的格式不匹配的定义,但我不明白我在做什么错的,因为功能简单的工作:

function f(x) 
    x 
end 
plot(x,f(x)) 

为什么会出现在第一种情况下这些错误?

我在safari上使用IJulia笔记本0.5.1。

回答

0

的第一个定义工作也:

map(gtest2, x) 

gtest2.(x) 
+0

完美!谢谢 !! – user5035672