arrays - 多维数组上的 Fortran 操作 - 求和示例
问题描述
我试图弄清楚如何对多维数组中的元素子集进行简单的代数运算,并将结果分配给另一个具有相同维度的数组。
program hello
IMPLICIT NONE
REAL,DIMENSION(10,10,2,1) :: tmp1=2
REAL,DIMENSION(10,10,2,1) :: tmp2=1
INTEGER,DIMENSION(2) :: myind=(/1,2/)
此操作仅返回一个值
Print *, sum(tmp1(:,:,itree,:))
虽然这会返回正确的结果,但是我希望得到与第二次操作相同的结果,也许我正在以 R 的方式思考。
Print *, tmp1(:,:,1,:)+tmp1(:,:,2,:)
end program Hello
如何实现第二次操作的结果并将其分配给另一个多维数组?想象一下,我的索引很大,所以我无法在操作中输入每个术语。
解决方案
推荐阅读
- sql - 参考之前的迭代在 SQL 中创建循环
- spring - 使用 @requestBody 时发布请求返回 400
- amazon-web-services - RDS 流量的应用服务器(EC2)安全组入站规则
- ios - Unity xcode 构建失败,因为未加载 UnityFramework 库?
- f# - FS0001 应该是“int32”,而是“单位”
- powershell - powershell : 不支持给定路径的格式
- asp.net-mvc - 如何使用引导程序输入行名然后在部分中行
- graphics - (D)SFML自动更新形状位置
- r - 在 Linux 中更改 R 库目录
- python - Python强制变量不要通过引用传递