我从昨晚开始尝试使用此代码,但我无法理解这段代码在做什么。实际上我是matlab编程的初学者
load('79.mat')
trainingData=d79;
colormap(gray);
colormap(grey);
x=reshape(d79(1234,:),28,28);
y = x(:,28:-1:1);
pcolor(y');
请帮助我理解这段代码。 :/
答案 0 :(得分:2)
这很简单。这是一个逐行的解释:
x
中。因此,例如,在较小的尺度上,[5 6 7 8]被转换为矩阵[5 7; 6 8]如果你想将该矩阵重塑为2乘2。x
的列顺序并将其放入y
。所以最后一列成为第一列,倒数第二列成为第二列,等等。y
。编辑在第5和第6行包含更多细节:
重新整形线假设有一行编号为1234,并且该行中有784(28 * 28)个元素。通过获取前28个元素,使它们成为新矩阵的第一列,然后获取接下来的28个元素,使它们成为第二列,以及其他26个元素,它需要该行,并从中生成28x28矩阵。倍。最终矩阵是名称x
。
对于y
行,就像我说的那样,它只是反转x
的列,它将最后一列放在第一列,倒数第二列放在第二列,依此类推,直到第一列为止x
作为y
的最后一列。