我试图减去矩阵的向量.换句话说,假设我有A元素矩阵
x1 x2 x3 x4
y1 y2 y3 y4
z1 z2 z3 z4
Run Code Online (Sandbox Code Playgroud)
我希望能够减去矢量
x1
y1
z1
Run Code Online (Sandbox Code Playgroud)
和
x2
y2
z2
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?我试过了
implict none
real, dimension(3,4) :: A
real,dimension(3) :: vector
vector(1)=A(1,1)-A(1,2)
vector(2)=A(2,1)-A(2,2)
vector(3)=A(3,1)-A(3,2)
Run Code Online (Sandbox Code Playgroud)
然而,这是相当粗糙的.此外,如果我需要计算几个总和或残差,这种方法是不切实际的,特别是当矩阵非常大时.我希望能够更优雅地做到这一点.
有没有办法在矩阵中指定向量?或者有一种迂回的方式来做到这一点?
[start]:[end][:stride]您可以通过(Fortran 2008 Standard,Cl. 6.5.3“数组元素和数组部分”:R621)指定数组切片。要选择沿指定维度的所有元素,请选择例如A(:,1)。您的差异如下:
implicit none
real, dimension(3,4) :: A
real,dimension(3) :: vector
vector(:)=A(:,1)-A(:,2)
Run Code Online (Sandbox Code Playgroud)
甚至
vector=A(:,1)-A(:,2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |