gpt4 book ai didi

r - 在 R 中的线性和非线性方程之间的交点处查找 x 值

转载 作者:行者123 更新时间:2023-12-01 08:29:10 24 4
gpt4 key购买 nike

我有两个函数:一个用于直线 (y),另一个用于曲线 (hnc)。我想确定两个函数相交的一个 x 值

sigma = 0.075
mu = 0
r=0.226
theta=0.908
H=0.16

hnc <- function(x) (1/(sigma*sqrt(2*pi)))*(exp(-(x^2)/(2*(sigma^2))))
y <- function(x) 2*pi*x+(pi*r^2/((360/theta)/H))

curve(hnc,0,r,n=100,col="blue")
plot(y,0,r,add=T,col="red")

我曾尝试使用 nleqslv 包,但这会导致两个不同的 x 值不一致(可能是因为我使用不正确)

int <- function(x){
z <- numeric(2)
z[1] <- (1/(sigma*sqrt(2*pi)))*(exp(-(x[1]^2)/(2*(sigma^2))))
z[2] <- 2*pi*x[2]+(pi*r^2/((360/theta)/H))
z}

nleqslv(c(0.14,0.14),int,method="Broyden")

任何帮助将不胜感激!

谢谢,埃里克

最佳答案

使用 optimize 如果单个变量似乎工作良好,则在此处找到函数的最小值

xx <- optimize(function(x) abs(hnc(x)-y(x)), c(.10,.20))$minimum
abline(v=xx, lty=2)

enter image description here

关于r - 在 R 中的线性和非线性方程之间的交点处查找 x 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24795311/

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