【发布时间】:2010-05-02 16:00:43
【问题描述】:
我有一个由 1 和 0 组成的 1 x N 双精度数组。我想将所有 1 映射到符号“-3”和“3”,并将所有 0 映射到符号“-1”和“1” .下面是我的代码。由于我的阵列约为 1 x 800 万,因此需要很长时间。如何加快速度?
[row,ll] = size(Data);
sym_zero = -1;
sym_one = -3;
for loop = 1 : row
if Data(loop,1) == 0
Data2(loop,1) = sym_zero;
if sym_zero == -1
sym_zero = 1;
else
sym_zero = -1;
end
else
Data2(loop,1) = sym_one;
if sym_one == -3
sym_zero = 3;
else
sym_zero = -3;
end
end
end
【问题讨论】:
-
从您的代码看来,您有一个 N × 1 数组。
-
另外,MATLAB 问题编号 1234!
-
预分配!检查我的答案:)
标签: optimization matlab