Plot 如何使用Julia中的Gadfly以一般形式绘制2D函数?

Plot 如何使用Julia中的Gadfly以一般形式绘制2D函数?,plot,graph,julia,gadfly,Plot,Graph,Julia,Gadfly,从中,我学会了如何以“确定性形式”(如y=a0x+a1x^2+a2x^3…)绘制函数。我想知道如何以一般形式绘制函数(比如ax+by+c=0) 对于一般形式的简单函数,我们可以将其转换为“确定性形式”,然后将数学函数转换为Julia函数(如ax+by+c=0到y=(ax+c)/(-b))。然而,对于某些复杂函数,编写Julia函数并不容易 例如: 有没有一种方法可以使用Gadfly来绘制此函数?建议在本文档中使用以一般形式绘制函数 我已经在我的例子中尝试过了,效果非常好 例如,在有关问题的函数中

从中,我学会了如何以“确定性形式”(如y=a0x+a1x^2+a2x^3…)绘制函数。我想知道如何以一般形式绘制函数(比如ax+by+c=0)

对于一般形式的简单函数,我们可以将其转换为“确定性形式”,然后将数学函数转换为Julia函数(如ax+by+c=0到y=(ax+c)/(-b))。然而,对于某些复杂函数,编写Julia函数并不容易

例如:

有没有一种方法可以使用Gadfly来绘制此函数?

建议在本文档中使用以一般形式绘制函数

我已经在我的例子中尝试过了,效果非常好

例如,在有关问题的函数中:

假设参数列表为

para=[1.27274,0.625272,1.18109,-2.01996,-0.917423,-1.43166,0.124006,-0.365534,-0.357239,-0.175131,-1.45816,-0.0509896,-0.615555,-0.274707,-1.19282,-0.242188,-0.206006,-0.0447305,-0.277784,-0.295378,-0.456357,-1.0432,-0.0277715,-0.29661,-0.01558,-0.32738,-

换句话说,a0=1.27274,a1=0.625272,以此类推

然后我们可以使用下面的代码来绘制图形

function decision(x1::Float64, x2::Float64, a::Array{Float64})
    dot(a, [1, x1^1*x2^0, x1^0*x2^1, x1^2*x2^0, x1^1*x2^1, x1^0*x2^2, 
               x1^3*x2^0, x1^2*x2^1, x1^1*x2^2, x1^0*x2^3, x1^4*x2^0, x1^3*x2^1,
               x1^2*x2^2, x1^1*x2^3, x1^0*x2^4, x1^5*x2^0, x1^4*x2^1, x1^3*x2^2,
               x1^2*x2^3, x1^1*x2^4, x1^0*x2^5, x1^6*x2^0, x1^5*x2^1, x1^4*x2^2, 
               x1^3*x2^3, x1^2*x2^4, x1^1*x2^5, x1^0*x2^6])
end

plot(z = (x1,x2) -> decision(x1, x2, para), 
              x = linspace(-1.0, 1.5, 100),
              y = linspace(-1.0, 1.5, 100),
              Geom.contour(levels = [0.0]))


要使
levels=[0.0]
起作用,我们需要显式地提供参数
x,y,z

,您可以尝试隐式方程。jl