You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言不使用for循环计算累加和的正确实现方法求助

R语言无for循环实现目标双重求和的修正方案

原代码错误原因

  • 直接对i、j向量执行逐元素运算,只会按向量位置一一对应计算,不会遍历所有i、j的组合,不符合双重求和的运算逻辑
  • 长度不一致的向量运算时R会自动循环补齐短向量,最终计算的项和目标公式要求完全不符

正确实现代码

使用outer()函数生成所有i、j组合的运算结果后直接求和,全程无for循环:

i <- 1:10
j <- 1:5
# outer遍历所有i,j配对计算,sum直接对全矩阵求和得到最终结果
result <- sum(outer(i, j, FUN = function(x, y) x^5/(10 + y^x)))

实现逻辑说明

outer(X, Y, FUN)会将X的每一个元素与Y的每一个元素两两配对,传入自定义函数做运算,返回维度为length(X) × length(Y)的结果矩阵,再调用sum()对矩阵所有元素求和,即可得到目标公式的双重求和结果。

内容的提问来源于stack exchange,提问作者cornermountain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:15:04