如何做网站管理维护,龙岗网站建设方案,中铁三局招聘事件,企业网站建站价格更新#xff1a;我做了一些测试,Jonas的解决方案对于一系列不同大小的输入向量来说是最快的.特别是,正如angainor指出的那样,解决方案可以很好地扩展到大尺寸 – 这是一个重要的测试,因为通常是大尺寸的问题促使我们在SO上提出这些问题.感谢Jonas和tmpearce的解决方案 – 基于…更新我做了一些测试,Jonas的解决方案对于一系列不同大小的输入向量来说是最快的.特别是,正如angainor指出的那样,解决方案可以很好地扩展到大尺寸 – 这是一个重要的测试,因为通常是大尺寸的问题促使我们在SO上提出这些问题.感谢Jonas和tmpearce的解决方案 – 基于大尺寸问题解决方案的效率,我给Jonas一个答案.我的问题我有这个列向量Vec [0; 1; 2; -1; -3; 0; 0; 2; 1; -1];我想将大于1的每个元素转换为长度等于元素值的序列.同样,我想将每个小于-1的元素转换为减1的序列.因此我的输出矢量应如下所示VecLong [0; 1; 1; 1; -1; -1; -1; -1; 0; 0; 1; 1; 1; -1];请注意,每个2已更改为两个1,而-3已更改为三个-1.目前,我解决了这样的问题VecTemp Vec;VecTemp(VecTemp 0) 1;VecLong NaN(sum(abs(VecTemp)), 1);c 1;for n 1:length(Vec)if abs(Vec(n)) 1VecLong(c) Vec(n);c c 1;elseVecLong(c:c abs(Vec(n))) sign(Vec(n));c c abs(Vec(n));endend这感觉不是很优雅.有谁能建议更好的方法注意您可以假设Vec仅包含整数值.提前感谢所有建议.