- Fortran 教程
- Fortran - 首頁
- Fortran - 概述
- Fortran - 環境設定
- Fortran - 基本語法
- Fortran - 資料型別
- Fortran - 變數
- Fortran - 常量
- Fortran - 運算子
- Fortran - 決策
- Fortran - 迴圈
- Fortran - 數值
- Fortran - 字元
- Fortran - 字串
- Fortran - 陣列
- Fortran - 動態陣列
- Fortran - 派生資料型別
- Fortran - 指標
- Fortran - 基本輸入輸出
- Fortran - 檔案輸入輸出
- Fortran - 過程
- Fortran - 模組
- Fortran - 內建函式
- Fortran - 數值精度
- Fortran - 程式庫
- Fortran - 程式設計風格
- Fortran - 除錯程式
- Fortran 資源
- Fortran - 快速指南
- Fortran - 有用資源
- Fortran - 討論
Fortran - 向量和矩陣乘法函式
下表介紹了向量和矩陣乘法函式
| 函式 | 說明 |
|---|---|
| dot_product(vector_a, vector_b) | 此函式返回長度相同的兩個輸入向量的標量積。 |
| matmul (matrix_a, matrix_b) | 它返回兩個矩陣的矩陣相乘,即符合 (m, k) 和 (k, n) 的維度 |
例子
以下示例演示了點積
program arrayDotProduct
real, dimension(5) :: a, b
integer:: i, asize, bsize
asize = size(a)
bsize = size(b)
do i = 1, asize
a(i) = i
end do
do i = 1, bsize
b(i) = i*2
end do
do i = 1, asize
Print *, a(i)
end do
do i = 1, bsize
Print *, b(i)
end do
Print*, 'Vector Multiplication: Dot Product:'
Print*, dot_product(a, b)
end program arrayDotProduct
編譯並執行以上程式碼後,它將生成以下結果
1.00000000 2.00000000 3.00000000 4.00000000 5.00000000 2.00000000 4.00000000 6.00000000 8.00000000 10.0000000 Vector Multiplication: Dot Product: 110.000000
例子
以下示例演示了矩陣乘法
program matMulProduct
integer, dimension(3,3) :: a, b, c
integer :: i, j
do i = 1, 3
do j = 1, 3
a(i, j) = i+j
end do
end do
print *, 'Matrix Multiplication: A Matrix'
do i = 1, 3
do j = 1, 3
print*, a(i, j)
end do
end do
do i = 1, 3
do j = 1, 3
b(i, j) = i*j
end do
end do
Print*, 'Matrix Multiplication: B Matrix'
do i = 1, 3
do j = 1, 3
print*, b(i, j)
end do
end do
c = matmul(a, b)
Print*, 'Matrix Multiplication: Result Matrix'
do i = 1, 3
do j = 1, 3
print*, c(i, j)
end do
end do
end program matMulProduct
編譯並執行以上程式碼後,它將生成以下結果
Matrix Multiplication: A Matrix 2 3 4 3 4 5 4 5 6 Matrix Multiplication: B Matrix 1 2 3 2 4 6 3 6 9 Matrix Multiplication: Result Matrix 20 40 60 26 52 78 32 64 96
fortran_arrays.htm
廣告