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

R语言如何计算向量和平方展开对应的矩阵形式

R语言实现向量求和平方展开为矩阵的方法

你要的运算本质是向量的外积运算,R有内置函数可以直接实现,不需要手动编写逻辑:

  • 方法1:使用outer()通用外积计算函数
    只需指定两个输入向量,运算函数为乘法即可:
    # 示例数值向量
    v <- c(1,2,3,4)
    res_mat <- outer(v, v, FUN = "*")
    
    输出结果如下:
    [,1] [,2] [,3] [,4]
    [1,]    1    2    3    4
    [2,]    2    4    6    8
    [3,]    3    6    9   12
    [4,]    4    8   12   16
    
    该结构完全符合你要求的矩阵形式,对矩阵所有元素求和sum(res_mat)的结果和sum(v)^2完全相等,对应平方展开的计算结果。
  • 方法2:使用tcrossprod()交叉乘积函数
    针对数值向量/矩阵的专属运算函数,计算效率更高,调用后可以得到完全一致的结果:
    res_mat2 <- tcrossprod(v)
    

如果需要输出你示例中的符号表达式形式矩阵,可以结合符号运算包实现,以Ryacas包为例:

library(Ryacas)
# 定义符号向量
v_sym <- yac_symbol(c("a", "b", "c", "d"))
res_sym <- tcrossprod(v_sym)
# 输出符号矩阵
res_sym

内容的提问来源于stack exchange,提问作者H.Hung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:18:00