回 帖 发 新 帖 刷新版面

主题:矩阵相乘,一行乘以一列可以吗

我计算一个矩阵G(N,3),另一个矩阵H(3,N),两者相乘以后得到的矩阵应该是HG(N,N)
HG=MATMUL(G,H),我想一列一列的乘,比如
HG=0.0
DO IA=1,3
HG=HG+MATMUL(G(:,IA),H(IA,:))
ENDDO
这样为什么会提示错误呢?我想应该是可以的啊。
错误    1     error #6241: The shapes of the arguments are inconsistent or nonconformable.   [MATMUL]    E:\chengxu\focus1\newproggg.f    320    
错误    2     error #6366: The shapes of the array expressions do not conform.    E:\chengxu\focus1\newproggg.f    320    

回复列表 (共3个回复)

沙发

我搞明白了,可以的,只是做点改动
    DO IA=1,3        
        DO IB=1,N

        HG(IB,IB)=HG(IB,IB)+G(IB,IA)*H(IA,IB) 
        
        ENDDO
        ENDDO
因为我只要对角线上的数值

板凳

遇到问题,先自己摸索,别那么着急发帖。。。

你都好几个帖子了,都是自己一会就解决了...何必呢

3 楼

看到你的回复,我本想再发个贴的,不发了,自己摸索下吧。

我来回复

您尚未登录,请登录后再回复。点此登录或注册