matlab中for 用来重复指定次数的 for 循环

参考:https://ww2.mathworks.cn/help/matlab/ref/for.html?searchHighlight=for&s_tid=doc_srchtitle

for

用来重复指定次数的 for 循环

全页折叠

语法

for index = values
   statements
end
 

说明

示例

for index = values, statements, end 在循环中将一组语句执行特定次数。values 为下列形式之一:

  • initVal:endVal - index 变量从 initValendVal1 递增,重复执行 statements 直到 index 大于 endVal

  • initVal:step:endVal - 每次迭代时按值 stepindex 进行递增,或在 step 是负数时对 index 进行递减。

  • valArray - 每次迭代时从数组 valArray 的后续列创建列向量 index。例如,在第一次迭代时,index = valArray(:,1)。循环最多执行 n 次,其中 nvalArray 的列数,由 numel(valArray(1,:)) 给定。输入 valArray 可属于任何 MATLAB® 数据类型,包括字符向量、元胞数组或结构体。

 

示例

全部折叠

分配矩阵值

创建一个 10 阶 Hilbert 矩阵。

s = 10;
H = zeros(s);

for c = 1:s
    for r = 1:s
        H(r,c) = 1/(r+c-1);
    end
end
 
 

递减值

-0.2 为步长递增,并显示值。

for v = 1.0:-0.2:0.0
   disp(v)
end
     1

    0.8000

    0.6000

    0.4000

    0.2000

     0
 
 

执行指定值的语句

for v = [1 5 8 17]
   disp(v)
end
     1

     5

     8

    17
 
 

对每个矩阵列重复执行语句

for I = eye(4,3)
    disp('Current unit vector:')
    disp(I)
end
Current unit vector:
     1
     0
     0
     0

Current unit vector:
     0
     1
     0
     0

Current unit vector:
     0
     0
     1
     0
 
 

提示

  • 要以编程方式退出循环,请使用 break 语句。要跳过循环中的其余指令,并开始下一次迭代,请使用 continue 语句。

  • 避免在循环语句内对 index 变量赋值。for 语句会覆盖循环中对 index 所做的任何更改。

  • 要对单列向量的值进行迭代,首先将其转置,以创建一个行向量。

扩展功能

用法说明和限制:

  • 假设循环结束值等于或接近循环索引数据类型的最大值或最小值。在生成的代码中,循环索引的最后一次递增或递减可能会导致索引变量溢出。索引溢出可能导致无限循环。请参阅循环索引溢出 (MATLAB Coder)。

另请参阅

break | colon | continue | end | if | parfor | return | switch

在 R2006a 之前推出

原文地址:https://www.cnblogs.com/MCSFX/p/11700123.html