Matplotlib IJulia中使用PyPlot的绘图方法错误
我试图在IJulia笔记本上使用PyPlot绘制一个函数,但我一直在获取错误消息 当我运行此代码时:Matplotlib IJulia中使用PyPlot的绘图方法错误,matplotlib,julia,ijulia-notebook,Matplotlib,Julia,Ijulia Notebook,我试图在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:没有匹配^(::数组{Float64,1},::Float64)的方法 最接近的候选人是:^(::Float64,::F
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:没有匹配^(::数组{Float64,1},::Float64)的方法
最接近的候选人是:^(::Float64,::Float64)在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 notebook 0.5.1。您的代码无法正确处理向量,因此您需要更改
gtest
使用
矢量化语法
function gtest2(x)
6.34*(log2.(1 + exp.(10.0*(x + 0.5)))).^0.8
end
或者更容易使用点矢量化,如下所示
plot(x, gtest2.(x));
要了解有关点矢量化的更多信息,请参阅文档中的以下内容:您的代码无法正确处理矢量,因此您需要更改
gtest
使用
矢量化语法
function gtest2(x)
6.34*(log2.(1 + exp.(10.0*(x + 0.5)))).^0.8
end
或者更容易使用点矢量化,如下所示
plot(x, gtest2.(x));
要了解有关点矢量化的更多信息,请参阅文档中的以下内容:第一个定义也适用于:
map(gtest2, x)
或
第一个定义也适用于:
map(gtest2, x)
或
它工作得很好!我会看这一页,谢谢!它工作得很好!我会看这一页,谢谢!