当前位置: 首页 > 知识库问答 >
问题:

嵌套for循环matlab或parfor循环

申宜
2023-03-14

我有一个嵌套的for循环,但是它会减慢一点处理速度,我如何才能使嵌套循环高效。我需要的是对于外循环的每个值,内循环继续其所有迭代。但是,我不认为它会像两个嵌套循环那样影响计算。我的第二个问题是,parfor循环会影响速度还是会支持我的现象?

我的代码:

n=2;
for i=1:500
for jj=1:n
    A{1}=['Obj' num2str(1)];
    A{2}=['Obj' num2str(2)];
end  
end

共有1个答案

唐腾
2023-03-14

您的嵌套循环并不依赖于循环参数,因此您可能需要重新格式化上面的代码。但是一般来说,只要你的迭代不相互依赖,并且迭代的次数足够大以支持初始化并行处理的延迟,那么parfor循环是允许的,并且它(分别)执行得更好。如果您正在处理某种类型的单元格或矩阵,并且您的嵌套循环覆盖了它的一个连接部分,那么您总是可以使用线性索引方法。例如

n=100;
s=0;
a=randi([1 n],n);
for i=1:n
   for j=1:n
       s=s+a(i,j);
   end
end

可以改写为

n=100;
s=0;
a=randi([1 n],n);
for i=1:n^2
    s=s+a(i);
end

但是,如果您的数组很大并且迭代不相互依赖,则通常最好利用“parfor”构造。

 类似资料:
  • 本文向大家介绍MATLAB嵌套循环,包括了MATLAB嵌套循环的使用技巧和注意事项,需要的朋友参考一下 示例 可以嵌套循环,以在另一个迭代任务中执行迭代任务。考虑以下循环: 我们使用2个迭代器来显示abc和中元素的所有组合1:m,从而得出: 我们还可以使用嵌套循环来组合每次要完成的任务和几次迭代中要完成的任务: 这里我们要计算所有的斐波那契数列,但是n每次只显示第一个元素,所以我们得到 我们可以做

  • 和其他编程语言一样, Java 允许循环嵌套。如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环。 嵌套循环既可以是 for循环嵌套 while 循环,也可以是 while 循环嵌套 do-while 循环 …… 即各种类型的循环都可以作为外层循环,也可以作为内层循环。 当程序遇到嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行——只是

  • 我对确定上述代码的BigO有点困惑。如果在最外层的循环中,则为(int x=1;x 然而,考虑到最外层循环迭代n 2次,这会改变bigO还是加法常数无关紧要的规则?最后,如果最内层循环迭代n 2次而不是n,会改变什么吗? 非常感谢。

  • 对Java来说很新鲜,我在大学的一个入门班做一个项目。我正在尝试做一个方法,在String数组中搜索输入的状态并返回索引。如果用户输入不在数组中的查询,我希望它要求一个新的状态来搜索。我的例外是说“变量statePotion可能尚未初始化。”下面是代码。 提前谢谢!

  • Python 不仅支持 if 语句相互嵌套,while 和 for 循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里面还有 while,甚至 while 中有 for 或者 for 中有 while 也都是允许的。 当 2 个(甚至多个)循环结构相互嵌套时,位于外层的循环结构常简称为 外层循环或 外循环,位于内层的循环结构常简

  • 这是我的代码。我遇到的问题是,我希望将HP在我的PHP代码中的数字转换为我的HP HTML代码,以及与Cylinder相同的内容。我已经想好了其他的东西,但说到这一部分我就卡住了