Pythonnumpy.roll
函数沿轴滚动array.示例:
from numpy import roll, array
x = array([[1,0,2],[2,1,9],[5,5,1]])
print(roll(x, 1, axis=0))
将矩阵x
变换为
array([[5, 5, 1],
[1, 0, 2],
[2, 1, 9]])
我try 在Fortran中执行此操作,方法是分割一个矩阵行并将其附加到现有矩阵:
program myfun
implicit none
integer, parameter :: N=3
real, dimension(N,N) :: m
integer :: i, j
m = 0
do i = 1, N
m(i, i) = 1.0
enddo
m(3,1) = 2
m(3,2) = 9
m(1,3) = 5
m(1,2) = 2
m(2,3) = 5
print *, '', [m(:,N), m]
end program myfun
这就产生了矩阵
[5, 5, 1]
[1, 0, 2]
[2, 1, 9]
[5, 5, 1] <- need to remove this row (how?)
这是在Fortran中执行numpy.roll
的最佳方式吗?如果是,我如何删除矩阵的最后一行?