【问题标题】:Fortran - Insert Matrices into Other Matrices [duplicate]Fortran - 将矩阵插入其他矩阵[重复]
【发布时间】:2021-07-01 15:26:15
【问题描述】:

我还没有编写代码,但是我将在 Fortran 中编写 Gauss-Seidel 算法,用于求解非常大的矩阵(实际上是启动多网格方法,但这与此无关)。作为其中的一部分,我希望将矩阵插入到其他矩阵中。

在 MATLAB 中这很简单,例如:

A=[1,2;3,4]
B=[A,A;A,A]

输出:

B =

1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4

作为 4x4 矩阵。

但是我在使用 Fortran 时遇到了困难。

请忽略上下文 - 我不需要 GS/MG 方法的帮助,我只需要嵌入矩阵的帮助(也适用于其他主题),如果可能的话!

【问题讨论】:

  • 到目前为止,您在 Fortran 中尝试了什么?请展示你的尝试。

标签: matrix fortran


【解决方案1】:

这可以通过数组切片来完成,例如

integer :: A(2,2)
integer :: B(4,4)

A(1,:) = [1, 2]
A(2,:) = [3, 4]

B(1:2,1:2) = A
B(3:4,1:2) = A
B(1:2,3:4) = A
B(3:4,3:4) = A

are proposals 在未来的 Fortran 标准中为此引入更好的语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    相关资源
    最近更新 更多