Main Content

end

终止代码块或指示最大数组索引

语法

end

说明

示例

end 是终止 forwhileswitchtryifparfor 语句的关键字。若没有 end 语句,则 forwhileswitchtryifparfor 会等待进一步输入。end 的每个实例与先前最近的未成对的 forwhileswitchtryifparfor 语句配对使用。

示例

end 还终止声明的函数。虽然它有时是可选的,但使用 end 可提高代码可读性。在下列情况下,需要使用 end

  • 如果文件包含多个函数,并且其中一个函数用 end 终止,则文件中的每个函数都必须用 end 终止。

  • 如果文件包含具有一个或多个嵌套函数的函数,则该文件中的每个函数都必须用 end 终止。

  • 如果脚本包含一个或多个局部函数,则文件中的每个函数都必须用 end 终止。

示例

end 也表示数组的最后一个索引。例如,X(end)X 的最后一个元素,X(3:end) 选择 X 的第三个到最后一个元素。

示例

全部折叠

使用 end 关闭 if 语句和 for 循环。end 的第一个实例与 if 语句配对,第二个实例与 for 语句配对。

a = [0 0 1 1 0 0 0 1 0];
for k = 1:length(a)
    if a(k) == 0
        a(k) = 2;
    end
end

使用 end 终止 switch 块。

choice = 1;

switch choice
    case 1
        disp('Vote for no. 1')
    case 2
        disp('Vote for no. 2')
    otherwise
        disp('Abstain')
end
Vote for no. 1

在名为 calculateAverage.m 的文件中声明一个函数,并将其保存在当前文件夹中。使用 end 终止该函数。

function ave = calculateAverage(x)
    ave = sum(x(:))/numel(x); 
end

该函数接受一个输入数组,计算其元素的平均值,并返回标量。从命令行调用该函数。

z = 1:99;
ave = calculateAverage(z)
ave =

    50

创建向量 x

x = 1:15;

访问 x 的第五个至最后一个元素。

x(5:end)
ans = 1×11

     5     6     7     8     9    10    11    12    13    14    15

访问 x 的具有奇数索引的元素。

x(1:2:end)
ans = 1×8

     1     3     5     7     9    11    13    15

使用 end 访问矩阵 A 的最后一行。

A = magic(3)
A = 3×3

     8     1     6
     3     5     7
     4     9     2

B = A(end,:)
B = 1×3

     4     9     2

提示

  • 类可以重载 end 函数以实现特殊的行为。有关详细信息,请参阅 Overload end for Classes

  • 如果数组 X 已存在,您可以使用 end 来扩展数组大小并向该数组追加其他元素。例如,X(end+1) = 5X 的长度增加 1,并在 X 的末尾添加一个新元素。

  • 虽然 end 有时在函数文件中是可选的,但使用它可以提高代码可读性。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | | | | | |