【发布时间】:2016-05-25 03:15:00
【问题描述】:
您好,我在向量化以下 Matlab 代码段时遇到问题
for i=1:n;
vec(i) = mat(index(i),i);
end;
其中 index 是 1:n 的排列。
这种形式的代码非常慢。我在 Matlab 中检查了一些关于矢量化技巧的注释,但无济于事,但我可能遗漏了一些明显的东西。提前致谢!
【问题讨论】:
标签: matlab vector vectorization
您好,我在向量化以下 Matlab 代码段时遇到问题
for i=1:n;
vec(i) = mat(index(i),i);
end;
其中 index 是 1:n 的排列。
这种形式的代码非常慢。我在 Matlab 中检查了一些关于矢量化技巧的注释,但无济于事,但我可能遗漏了一些明显的东西。提前致谢!
【问题讨论】:
标签: matlab vector vectorization
您可以使用index和1:n获取mat的相关部分。
vec = mat(index, 1:n);
如果n实际上是mat中的列数,你可以简单地这样做:
vec = mat(index,:);
【讨论】:
n 确实是mat 中的列数,我确实错过了明显的!第一个解决方案似乎工作得更快。谢谢