【问题标题】:unable to multiply matrix in matlabmatlab中的矩阵不能相乘
【发布时间】:2021-06-09 12:36:05
【问题描述】:

美好的一天!

我正在尝试将两个矩阵相乘:

z = [64 x 1] ;属性复杂。

顶部 = [32 x 64]

两个矩阵类都是双的,但是当我尝试运行程序时,最后一行出现错误

矩阵尺寸必须一致。

代码如下:

clear all; clc;
load('eeg.mat'); 

load('top.mat');

N = 64;
M = 32;


Psi = dftmtx(N);
z = Psi * VarName1;
y = z * top;

我想要的输出是 [32 x 1]

【问题讨论】:

    标签: matlab matrix matrix-multiplication


    【解决方案1】:

    您似乎拥有y = z * top 的产品size(z) == [64, 1]size(top) == [32, 64]。这两个矩阵的大小不适合按此顺序相乘,因为“内部”维度必须一致,但在您的情况下是 1 ~= 32(请参阅 https://en.wikipedia.org/wiki/Matrix_multiplication#Definition)。你可能想要的是

    y = top * z
    

    【讨论】:

    • 我多么笨拙!非常感谢您回答我的问题。
    猜你喜欢
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多