gpt4 book ai didi

julia - 用反指数绘制回归线

转载 作者:行者123 更新时间:2023-12-01 16:02:56 25 4
gpt4 key购买 nike

我正在尝试绘制一条由 p/(1-p) = -41.828+0.9864x 建模的回归线,其中 p 是事件的概率,取决于 x。我只需要使用 julia 绘制它,这样总的趋势就很清楚了。我已将模型重新排列为 p=1/(exp(41.828-0.9864x)+1),但是,每当我使用 julia 绘制它时,它都会返回错误。我在下面附上了我的代码,以及随后的错误。已经尝试了所有我能想到的方法来解决错误,但我无法...任何帮助将不胜感激!对于我第一次使用这个网站所犯的任何格式错误,我深表歉意,但我试着按照要求去做。

using PyPlot , Distributions , StatsBase, DataFrames
xlin = float(linspace(-50.0,50,1000)); y=1.0/float(exp(41.828-0.9864*
(float(xlin)))+1.0)
PyPlot.plot(xlin, y, color="red", linewidth=2.0, linestyle="--")
title("Regression Line Plot");
PyPlot.grid(-25:7:125);
ylabel("Y");
xlabel("X");

这会返回错误:

MethodError: no method matching /(::Float64, ::Array{Float64,1})
Closest candidates are:
/(::Float64, ::Float64) at float.jl:246
/(::PyCall.PyObject, ::Any) at
/home/juser/.julia/v0.5/PyCall/src/PyCall.jl:702
/(::Real, ::Complex{T<:Real}) at complex.jl:182
...

最佳答案

它与plot 命令无关。错误在这一行:

y=1.0/float(exp(41.828-0.9864*(float(xlin)))+1.0)

您需要 ./ 而不是 /,因为您正在尝试执行逐元素操作。此外,没有理由一直调用 float。所以只是

y = 1.0 ./ exp(41.828 .- 0.9864 .* xlin) .+ 1.0 

应该这样做。对于其中一个操作数是标量的那些操作,您不需要所有的点,但您需要为初始除法做,并且恕我直言,它使正在发生的事情更清楚。

关于julia - 用反指数绘制回归线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44158434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com