SUB_WAVELET/Fortran/SUB_conv_valid.f90

34 lines
549 B
Fortran
Raw Normal View History

2025-04-17 17:31:56 +08:00
!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(validģʽ<C4A3><CABD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե)
<><D2AA>m>=n
!z<>Ĵ<EFBFBD>С = m-n+1
SUBROUTINE conv_valid(m,x,n,y,z)
implicit none
integer :: m,n
real*8 :: x(m),y(n),z(m-n+1)
real*8 :: temp(m+n-1)
integer :: i,j
!z = 0
!do i=1,m-n+1
! do j=1,n
! z(i) = z(i)+x(i+j-1)*y(j)
! end do
!end do
z = 0
temp = 0
do i=1,m
do j=1,n
temp(i+j-1) = temp(i+j-1)+x(i)*y(j)
end do
end do
z = temp(n:m)
end subroutine