无法在matlab中乘以矩阵

unable to multiply matrix in matlab

美好的一天!

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

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

顶部 = [32 x 64]

两个矩阵 class 都是双矩阵,但是当我尝试 运行 程序时,我在最后一行遇到错误

Matrix dimensions must agree.

代码如下:

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]

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

y = top * z