r - 使用 for 循环在 R 中求解矩阵
问题描述
我正在尝试解决 RI 中的矩阵有 3 个这样的矩阵Uf[11,3]
,Uft[3,11]
和AT[3,3]
。对于前两个 11 行和列表示我要使用的 11 个不同的值。最后我需要达到 11 个不同的“D”
values.D = (11/3) * Uft * AT * Uf
但是如果我用 for 循环尝试这个,我有 [11,11] 矩阵。所以这是问题所在,我怎样才能得到 [11,1] 或 [1,11] 矩阵来查看我的 D 结果。当我尝试此代码时,我也收到此错误“下标越界”。
for (i in 1:11) {
print((1/3) * 11 * Uft[[,i]] %*% Uf[[i, ]] %*% AT[[,]])
}
应该有 11 个 ui 向量来计算“D”数据。但是我有 (3,11) 矩阵而不是 11 个 ui 向量。
***Here is my Ut matrix(combination of ui).Uft is transpose of Uf.
现在我想使用 Uft 的每一行和 Uf 的每一列和所有 AT 来计算 11 个不同的“D”。
解决方案
我认为您有几个语法错误需要检查:
- 您应该使用
[]
而不是[[]]
矩阵索引 drop = FALSE
应该设置
例如
for (i in 1:11) {
print(11 / 3 * Uft[, i, drop = FALSE] %*% Uf[i, , drop = FALSE] %*% AT)
}
推荐阅读
- dart - 如何在飞镖程序中从用户那里获取控制台整数输入?
- python - 来自字符串末尾的非贪婪 Python 正则表达式
- python-3.x - Snakemake 在规则 A 是规则 B 的依赖项时拒绝解包输入函数,但在规则 A 是最终规则时接受它
- apache-spark - 使用 spark 读取 sql server 日志文件(ldf)
- python - 在 MetPy 中计算多个垂直水平的涡度
- pharo - 必须声明临时变量而不是绑定的原因是什么?
- html - 当“顶部”值更改时,文本不会留在父 div 中
- c++ - Qt5对QInputDialog和QMessageBox的未识别引用..错误
- python - 使用 Python 获取 SVN 存储库的根目录
- ansible - 如何遍历列表的字典并将变量传递给 Ansible 角色?