Yux*_*ang 5 arrays fortran fortran90
我想知道在Fortran中有更好(简洁)的方法来编写代码吗?我试图将a(3, 3)每个值乘以每个值b(3).我知道在Python中有np.multiply,但不确定Fortran.
!!! test.f90
program test
implicit none
integer, parameter :: dp=kind(0.d0)
real(dp) :: a(3, 3)=reshape([1, 2, 3, 4, 5, 6, 7, 8, 9], [3, 3]),&
b(3)=[1, 2, 3]
integer :: i
do i = 1, 3
a(:, i) = a(:, i) * b(i)
end do
write(*, *) a
end program test
Run Code Online (Sandbox Code Playgroud)
提前致谢!
表达方式
a * SPREAD(b,1,3)
Run Code Online (Sandbox Code Playgroud)
将产生与循环相同的结果.我会留给你和其他人来判断这是否比循环更简洁或更好.
| 归档时间: |
|
| 查看次数: |
814 次 |
| 最近记录: |