【发布时间】:2013-08-05 15:28:34
【问题描述】:
我有一个使用四个索引 i、j、k 和 l 创建的矩阵。我使用以下方案来创建矩阵,
for i = 1:N
for j = 1:2
for k = 1:2
for l = 1:N
Matrix(l,2(j+2*i-3)+k) = Value
end
end
end
end
当我这样做时,它会产生一个如下变化的矩阵:
Columns
i = 1 i = 1 i = 1 i = 1 i = 2 i = 2 i = 2 i = 2 ...
j = 1 j = 1 j = 2 j = 2 j = 1 j = 1 j = 2 j = 2 ...
k = 1 k = 2 k = 1 k = 2 k = 1 k = 2 k = 1 k = 2 ...
l = 1
l = 2
.
.
.
很遗憾,我将其编入了错误的索引,需要对其进行更改。我不想改变任何计算。我需要一个代码,将上述矩阵更改为以下内容:
Columns
l = 1 l = 1 l = 2 l = 2 l = 1 l = 1 l = 2 l = 2 ...
k = 1 k = 2 k = 1 k = 2 k = 1 k = 2 k = 1 k = 2 ...
i = 1 j = 1
i = 1 j = 2
i = 2 j = 1
i = 2 j = 2
.
.
.
换句话说,代码看起来像,
for i = 1:N
for j = 1:2
for k = 1:2
for l = 1:N
Matrix(New Index) = Matrix(Old Index)
end
end
end
end
我该怎么做?谢谢。
【问题讨论】:
-
我想有一个很好的理由,为什么你不想再次运行代码但使用正确的索引?
-
是的。计算复杂,涉及叠加、多次坐标变换、2种高斯积分。
-
我假设您已经知道正确的索引?也就是说你知道新索引和旧索引的关系吗?
-
我不知道这种关系。这就是我想要找到的。