问题标签 [uniroot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
267 浏览

r - 如何求解 R 和 uniroot 函数中的非线性方程

我怎样才能找到 x 的值使用 R 的方程

a(x^b)+k*log(1+(x^c))+log(1-(u^(1/d)))=0 对于值

u=0.1,c=0.8,k=1.2,d=1.5,a=0.9,b=1 他们得到的答案是 0.0539。但我没有得到这个答案。

0 投票
0 回答
136 浏览

r - nsga2 约束 - R 中的 mco 包

我的目标函数考虑椭圆弧长。在目标函数中,我使用 uniroot 为 nsga提供的半长a和弧角找到半短轴b 。

我编写了一个约束函数来确保提供给 uniroot 的限制是相反的符号......但它不起作用。程序崩溃是因为 f() 值不是相反的符号。

我已经将程序简化为下面的示例......希望能帮助它工作。谢谢你。

0 投票
1 回答
85 浏览

r - 用r求解两边都有变量的方程

0.5Q+30 = -0.2Q+100

0.5q+0.2q=100-30

70=0.7q

q=70/0.7

q=100

0.5*100+30

=80

是否有一个软件包可以解决两边都有变量的方程?

0 投票
1 回答
201 浏览

r - 源代码中的 uniroot() 函数在修改后不起作用;无法找出错误

我试图找出 R 中两条曲线相交的坐标。输入数据是两条曲线的经验点的坐标。我的解决方案是使用函数curve_intersect()。我需要为 2000 次复制(即 2000 对曲线)执行此操作。所以我把数据放在两个列表中。每个列表包含 1000 个数据帧,每个数据帧中有一条曲线的 x 和 y 坐标。

这是我的数据:数据

下面是我使用的代码。

我在下面收到此错误消息。

由于函数 curve_intersect() 可以成功地应用于两个列表中的某些单独的数据帧。我运行了以下代码,以便准确查看是哪对数据帧导致进程失败。

然后,我收到以下消息,这意味着该进程成功运行,直到它到达数据对#460。所以我检查了那个单独的数据对。

我绘制了数据对#460。

查找交点的坐标

然后我去修改curve_intersect()的源代码。原始源代码是

我修改了uniroot()第三个 if 语句的部分。c(min(curve1$x), max(curve1$x))我没有用作的参数,而是uniroot()使用lower = -100000000, upper = 100000000. 修改后的函数是

我试图改变lower =, upper =参数的值。那没起效。我收到了相同的错误消息,如下所示。

我还尝试possibly(fun, NA)从 tidyverse 包中使用,希望该过程即使出现错误消息也可以运行。我用的时候没用

(1)possibly(curve_intersect(), NA)或 (2)possibly(uniroot(), NA)

出现了相同的错误消息。

为什么我有错误信息?有什么可能的解决方案?提前致谢。

0 投票
0 回答
145 浏览

r - R uniroot:从具有多个参数的函数中求解 uniroot 中的未知变量

我正在尝试使用 uniroot 函数获取日志内变量的值。在我想求解的方程的函数中,我打算有一个向量参数,以便我可以将该向量中的值乘以每个日志。

我已经尝试过这个线程中显示的方法:在 R 中的 uniroot 中调用具有多个参数的函数, 但没有成功。请帮忙。谢谢你。

0 投票
2 回答
40 浏览

r - 逐行求解X

我将从我已经做过的开始。我正在寻找一种通过更改每行的bs参数来求解方程f的方法, Qn是常数。我知道 apply() 适用于此类问题,但这似乎对我不起作用。我想找到的变量没有给出唯一的解决方案。

使用这些参数,假设b = 0.5s = 0.01使用 uniroot() 我得到以下信息。这就是我想要的结果。

(那些较低较高的值似乎对我很有效)

现在我需要为大型数据集解决此功能。

这是我想要的输出。

0 投票
1 回答
57 浏览

r - 模拟中的 Uniroot

我试图找到生成函数的累积和为 0(或最接近 0 的值)的值。我有一个简单的计算:x - y(1-z) 其中 z 是关键变量。问题是 x 和 y 是模拟的,因此它们不会保持不变。这是可重现的示例:

我知道由于函数的值 x 和 y 不断变化,uniroot 将找不到解决方案。有谁知道在这种情况下我能做什么?提前致谢!

0 投票
0 回答
14 浏览

uniroot - 使用 uniroot 函数获取 YTM 的问题

我正在尝试计算到期收益率,但下面函数的答案很奇怪......我正在寻找的正确答案...... get_ytm(100,3,0.04,4,108.8516) ---> 0.01

谁能解决我的误解?

0 投票
0 回答
26 浏览

r - R中的uniroot内的uniroot

我需要做的是:我需要找到根(y),如下所示:

问题是function2被定义为:

因此,我在 uniroot 中有一个 uniroot。调试我看到函数2(x)中x的值作为覆盖所有范围1的值的向量传递。因此我无法找到最终的单个结果,但出现错误。

错误消息:
(f()端点处的值不是相反的符号
另外:警告消息:
1:如果(is.na(f.lower))停止(“f.lower = f(lower)是NA”) :
条件的长度 > 1 并且只使用第一个元素)

我该如何解决这个问题?

非常感谢。

0 投票
1 回答
156 浏览

r - 使用 uniroot 查找根目录

我正在尝试使用该函数找到以下函数的根(基于 Gamma ( gamma()) 函数)uniroot()

这个函数给了我下面的情节:

曲线图显示在 x ~ 0.3 处发散的值

在我看来,这个函数的根接近 0.33,但是该uniroot()函数没有找到根,返回以下结果:

uniroot(fx2, interval = c(0, 0.3), theta = 3) 中的错误:端点处的 f() 值不是相反的符号

我如何找到这个函数的根?还有其他算法更准确的软件包吗?