【发布时间】:2020-03-03 06:02:10
【问题描述】:
这是我试图理解的程序中的一个 sn-p。为了便于理解,我更改了变量名称。我在 MatLab 中没有做太多编码,所以我无法真正理解发生了什么。当我保留 a=magic(4) 并从这段代码中获得输出时,我认为它正在排序或其他东西,但其他输入似乎并非如此
a = [14 41 4 16;7 12 45 0;12 12 45 17; 3 2 1 15]
b=a(:)
c=zeros(4,4)
a 是一个 4x4 矩阵, b 是 a 的列向量, c 是一个 4X4 零矩阵。`
for kk = 1:length(b)
c(a==b(kk)) = kk;
end
c =
1 5 9 13
2 7 11 14
7 7 11 15
4 8 12 16
如果我尝试 a=magic(4),在哪里 一个=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
那么 c =
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
【问题讨论】:
-
a显示为 4x3... -
这段代码毫无意义。它将
a的每个唯一元素的最后一次出现的索引分配给与该元素对应的所有位置到c。 -
... 这会导致对具有所有唯一元素的数组进行“排序”,例如从
magic()获得的元素。 -
我对 4x3 阵列不好
-
我刚刚尝试了一个 4x4 矩阵,并对其进行了更新,此代码正在程序中使用,因此并非毫无意义
标签: matlab multidimensional-array