假設我有一個在(n,m)的fortran中的矩陣A和(1,m)的向量。我想從A的所有行中減去向量B,而不使用循環。從矩陣中減去一個向量(按行)
截至目前我只能夠有一個循環做到這一點:
PROGRAM Subtract
IMPLICIT NONE
REAL, DIMENSION(250,5) :: A
INTEGER, DIMENSION(1,5) :: B
INTEGER :: i
B(1,1) = 1
B(1,2) = 2
B(1,3) = 3
B(1,4) = 4
B(1,5) = 5
CALL RANDOM_NUMBER(A)
do i=1,250
A(i,:) = A(i,:) - B(1,:)
end do
end program
但是,這是非常低效的。例如。在matlab中,可以使用函數reptmat在一行中完成。 任何建議更好的方式來做到這一點?
這確實是該帖子的副本。我搜索了論壇,但我們使用了非常不同的英語術語。 – phdstudent
當你知道答案時,搜索更容易。但這是重複系統的一個重點:表達同一個問題的不同方式指向一組答案。 – francescalus