我从昨晚开始就在尝试这段代码,但我不明白这段代码在做什么。实际上我是matlab编程的初学者
load('79.mat')
trainingData=d79;
colormap(gray);
colormap(grey);
x=reshape(d79(1234,:),28,28);
y = x(:,28:-1:1);
pcolor(y');
请帮助我理解这段代码。:/
我从昨晚开始就在尝试这段代码,但我不明白这段代码在做什么。实际上我是matlab编程的初学者
load('79.mat')
trainingData=d79;
colormap(gray);
colormap(grey);
x=reshape(d79(1234,:),28,28);
y = x(:,28:-1:1);
pcolor(y');
请帮助我理解这段代码。:/
这很简单。以下是逐行解释:
x
. 因此,例如,在较小的范围内,[5 6 7 8] 被转换为矩阵 [5 7; 6 8] 如果您想将该矩阵重塑为 2×2。x
并将其放入y
. 所以最后一列变成第一列,倒数第二列变成第二列,以此类推。y
。编辑以包含第 5 行和第 6 行的更多详细信息:
重塑线假设有一行编号为 1234,并且该行中有 784 (28*28) 个元素。它取出该行,并从中制作一个 28x28 矩阵,方法是取出前 28 个元素,将它们放入新矩阵的第一列,然后取出接下来的 28 个元素,使其成为第二列,依此类推,再增加 26 个次。最后的矩阵是 names x
。
对于这一y
行,就像我说的那样,它只是反转 的列x
,将最后一列放在第一位,将倒数第二列放在第二位,依此类推,直到 的第一列x
作为 的最后一列y
。