r - Excel求解器在R中复制
问题描述
我目前正在使用 R/R 闪亮的项目,我想让我的程序更快......
这里我们有一个需要很多时间的功能:
fjeu=function(d){
res <- sqrt(((A*cos(d)+sqrt(P3.GX.X^2+P3.GX.Y^2)*cos(atan2(P3.GX.X,P3.GX.Y)-asin(A*sin(d)/B)))-C3.GN.X)^2+((A*sin(d)+sqrt(P3.GX.X^2+P3.GX.Y^2)*sin(atan2(P3.GX.X,P3.GX.Y)-asin(A*sin(d)/B)))-C3.GN.Y)^2)-A
return(res)
}
在此示例中,“n”是一个样本编号,可以介于 100 和 1'000'000 之间。在 100 到 1'000 之间,没问题,代码差不多快,但是当我尝试使用 100'000 或 1'000'000 时,它非常慢。
在我的代码中,我调用了这个函数 360 次(使用角度 -> 从 0 到 360)。
该函数来自一个excel文件,我在其中进行了计算和求解器,但求解器使它更快。
这是我调用函数的代码:
angles <- seq(0, 2*pi, by = (2*pi)/360)
matjeu <- t(matrix(rep(angles), nr=length(angles), nc=n))
exc_max <- apply(apply(matjeu, 2, fjeu), 1, max)
请帮我!
解决方案
推荐阅读
- rust - 无法理解 Rust 中 Vector 的行为
- r - 如何将动物园对象列表转换为数据框?
- azure - 将多个用户更新到 ADGroup
- excel - 有没有办法让 worksheetfunction.randbetween 在一段时间内工作?
- javascript - 正则表达式不匹配具有 10 个连续数字的字符串。数字可以用空格分隔。所有其他字符串都返回一个匹配项
- django - Django Forms - 如何将复选框链接到布尔字段
- php - 如何在 laravel DB::table 查询中 preg_replace 内容?
- ios - 忽略 IOS 中设置的设计时间约束
- c++ - C++ - 什么影响调用堆栈的顺序?
- javascript - 不能在 axios 中使用 localhost url?