如何在matlab中使用此代码进行人工智能

时间:2012-05-12 18:50:35

标签: matlab

我从昨晚开始尝试使用此代码,但我无法理解这段代码在做什么。实际上我是matlab编程的初学者

 load('79.mat')
 trainingData=d79;
 colormap(gray);
 colormap(grey);
 x=reshape(d79(1234,:),28,28);
 y = x(:,28:-1:1); 
 pcolor(y');

请帮助我理解这段代码。 :/

1 个答案:

答案 0 :(得分:2)

这很简单。这是一个逐行的解释:

  1. 从数据文件中加载数据
  2. 将加载的数据放入名为trainingData
  3. 的变量中
  4. 设置绘图的颜色表
  5. 获取加载矩阵的第1234行,将其转换为28乘28的矩阵,并将其存储在变量x中。因此,例如,在较小的尺度上,[5 6 7 8]被转换为矩阵[5 7; 6 8]如果你想将该矩阵重塑为2乘2。
  6. 反转x的列顺序并将其放入y。所以最后一列成为第一列,倒数第二列成为第二列,等等。
  7. 这是y
  8. 中包含的值的棋盘图

    编辑在第5和第6行包含更多细节:

    重新整形线假设有一行编号为1234,并且该行中有784(28 * 28)个元素。通过获取前28个元素,使它们成为新矩阵的第一列,然后获取接下来的28个元素,使它们成为第二列,以及其他26个元素,它需要该行,并从中生成28x28矩阵。倍。最终矩阵是名称x

    对于y行,就像我说的那样,它只是反转x的列,它将最后一列放在第一列,倒数第二列放在第二列,依此类推,直到第一列为止x作为y的最后一列。