r - 如何使用 R 求解两个未知数的方程组?
问题描述
我有两个方程。它们如下:
( 1 - 0.25 ^ {1/alpha} ) * lambda = 85
( 1 - 0.75 ^ {1/alpha} ) * lambda = 11
我想通过求解上述两个方程来计算alpha
和的值。lambda
我如何使用 R 来做到这一点?
解决方案
一种方法是通过引入损失函数将其转化为优化问题:
loss <- function(X) {
L = X[1]
a = X[2]
return(sum(c(
(1 - 0.25^(1/a))*L - 85,
(1 - 0.75^(1/a))*L - 11
)^2))
}
nlm(loss, c(-1,-1))
如果从返回的结果nlm()
接近于minimum
零,那么estimate
将是一个包含 lambda 和 alpha 的向量。当我尝试这个时,我得到了一个通过嗅探测试的答案:
> a = -1.28799
> L = -43.95321
> (1 - 0.25^(1/a))*L
[1] 84.99999
> (1 - 0.75^(1/a))*L
[1] 11.00005
推荐阅读
- sap-business-technology-platform - 如何使用功能集 A 自动对帐户进行用户管理?
- c++ - 获取所有服务及其 exe 路径
- javascript - 如何使用复选框过滤器过滤输出 例如:-在电影搜索应用程序中,例如标题是 ex 并且类型 chekbox 是 React 中的电影/系列
- postgresql - 如何使用 BLAST 等算法存储和搜索 dna 序列?
- ruby-on-rails - PLESK,Rails 应用程序:ExecJS::RuntimeUnavailable:找不到 JavaScript 运行时
- c++ - 如何使用 libquantum 库进行编译
- r - 在一个图中创建多个圆环图
- python - 如何根据获得的百分比整数值(0-100)打印给定的字符串?
- ios - IOS设备键盘在单击事件时未打开itext插入带有Angular 9的fabricjshammerjs
- laravel - Laravel 视图命名