小编use*_*131的帖子

在Fortran中使用MATMUL进行向量乘法

我试图将列向量(n,1)的一部分乘以另一行向量(1,n)的一部分.两个部分的长度相同.所以我应该得到一个矩阵(n,n).

这是我的简单代码:

PROGRAM test_pack_1
REAL :: m(1,10), x(10,1), y(10,10)

m = reshape( (/ 1, -1, 3, 2, 1, 2, -2, -2, 1, 0 /), (/ 1, 10 /))
x = reshape( (/ 1, 0, 1, 1, 0, 1, 1, 0, 1, 0 /), (/ 10, 1 /))

y(1:9,1:9) = MATMUL(x(1:9,1),m(1,1:9))


DO j = 1,10
PRINT* ;WRITE(*,*) y(:,j)
ENDDO
print *

END PROGRAM
Run Code Online (Sandbox Code Playgroud)

我正在使用:

ifort -g -debug -traceback -check all -ftrapuv test_cshift.f90
Run Code Online (Sandbox Code Playgroud)

我得到了:

test_cshift.f90(7): error #6241: The shapes of the arguments …
Run Code Online (Sandbox Code Playgroud)

arrays fortran vector matrix multiplying

5
推荐指数
1
解决办法
7457
查看次数

标签 统计

arrays ×1

fortran ×1

matrix ×1

multiplying ×1

vector ×1