fortran90实现向量想成的函数
时间: 2023-11-18 19:04:51 浏览: 132
Fortran90中可以通过使用数组来实现向量乘法。下面是一个简单的向量乘法函数的例子:
```fortran
function dot_product(x, y)
integer, intent(in) :: n
real, dimension(n), intent(in) :: x, y
real :: dot_product
integer :: i
dot_product = 0.0
do i = 1, n
dot_product = dot_product + x(i) * y(i)
end do
end function
```
在上面的代码中,我们定义了一个名为 `dot_product` 的函数,它接受两个相同长度的实数数组 `x` 和 `y` 作为输入。函数使用 `do` 循环遍历数组并计算点积,即将数组中每个对应元素相乘并相加的结果。最后,函数返回计算出的点积值。
可以通过以下代码调用 `dot_product` 函数:
```fortran
program main
integer, parameter :: n = 3
real :: x(n), y(n), result
integer :: i
! Initialize x and y arrays
x = [1.0, 2.0, 3.0]
y = [4.0, 5.0, 6.0]
! Call dot_product function
result = dot_product(n, x, y)
! Print result
print *, "Dot product: ", result
end program
```
在上面的代码中,我们首先定义了两个长度为 3 的实数数组 `x` 和 `y`,并将它们初始化为 `[1.0, 2.0, 3.0]` 和 `[4.0, 5.0, 6.0]`。然后,我们调用 `dot_product` 函数,将数组长度 `n` 和数组 `x` 和 `y` 作为参数传递给函数。最后,我们打印计算出的点积值。
阅读全文