- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线版
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据导出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策语句
- MATLAB - if 语句结束
- MATLAB - if else 语句
- MATLAB - if...elseif else 语句
- MATLAB - 嵌套 if 语句
- MATLAB - switch 语句
- MATLAB - 嵌套 switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - for 循环
- MATLAB - while 循环
- MATLAB - 嵌套循环
- MATLAB - break 语句
- MATLAB - continue 语句
- MATLAB - end 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - return 语句
- MATLAB - 无返回值函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - filter 函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级顺序
- MATLAB - map 函数
- MATLAB - mean 函数
- MATLAB - 结束函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - try...catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 二维线图
- MATLAB - 三维图
- MATLAB - 格式化绘图
- MATLAB - 对数坐标轴图
- MATLAB - 绘制误差条
- MATLAB - 绘制三维等高线图
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 二维数组插值
- MATLAB - 三维数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换函数
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 二维逆余弦变换
- MATLAB - 向坐标轴添加图例
- MATLAB - 面向对象
- MATLAB - 面向对象编程
- MATLAB - 类和对象
- MATLAB - 函数重载
- MATLAB - 运算符重载
- MATLAB - 用户定义类
- MATLAB - 复制对象
- MATLAB - 代数
- MATLAB - 线性代数
- MATLAB - 高斯消元法
- MATLAB - 高斯-约当消元法
- MATLAB - 简化行阶梯形
- MATLAB - 特征值和特征向量
- MATLAB - 积分
- MATLAB - 积分
- MATLAB - 二重积分
- MATLAB - 梯形法则
- MATLAB - 辛普森法则
- MATLAB - 其他
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 矩阵的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用资源
- MATLAB - 快速指南
- MATLAB - 有用资源
- MATLAB - 讨论
MATLAB - 结束函数
“end”关键字用作 MATLAB 中语句的终止符,例如“for”、“while”、“switch”、“try”、“if”和“parfor”结构。如果没有“end”语句,这些结构将保持不完整,等待进一步输入。每个“end”都与其最近的前一个未匹配的“for”、“while”、“switch”、“try”、“if”或“parfor”语句配对,以确保代码闭包和结构完整性。
此外,“end”关键字在各种情况下也扩展到函数。它在增强代码可读性和确保一致的编码实践方面发挥着关键作用。“end”的必要性出现在特定场景中:
函数文件 - 当 MATLAB 文件包含多个函数时,如果其中一个函数以 end 结尾,则该文件中每个函数都必须以 end 结尾。这确保了文件中清晰一致的结构。
嵌套函数 - 如果文件包含一个或多个嵌套函数的函数,则文件中的每个函数都必须以 end 结尾。此做法维护了函数的层次结构,并使代码更井井有条。
包含局部函数的脚本 - 对于包含一个或多个局部函数的 MATLAB 脚本,重要的是每个函数都必须以 end 结尾。此做法确保脚本的局部函数被正确封装和结构化,以便更好地维护代码。
以下是常用 end 的不同类型的函数示例和解释:
基本 Matlab 函数中的 End 关键字
在基本 MATLAB 函数中,使用 end 来标记函数块的结尾。
function result = myFunction(input) % Function code here result = input * 2; end % End of the function
此处,end 表示函数块的终止,用于关闭函数定义。
Matlab 中嵌套函数中的 End 关键字
您可以在其他函数中定义函数。在这种情况下,使用 end 来表示内部函数的结尾。
function result = outerFunction(input) % Function code here result = innerFunction(input); function resultInner = innerFunction(innerInput) % Inner function code here resultInner = innerInput + 1; end % End of the inner function end % End of the outer function
在此示例中,end 用于表示内部和外部函数的结尾。
Matlab 中局部函数或子函数中的 End 关键字
局部函数或子函数对于将复杂代码分解成更小、更易于管理的组件特别有用。这是一个父函数中局部函数的示例:
function result = myParentFunction(input) % Main function code here intermediateResult = myLocalFunction(input); result = intermediateResult * 2; % Local function definition function localResult = myLocalFunction(localInput) % Local function code here localResult = localInput + 1; end % End of the local function end % End of the parent function
在此示例中:
- myParentFunction 是父函数。
- myLocalFunction 是在父函数内定义的局部函数。
end 关键字用于表示父函数和局部函数的结尾。
使用 End 终止 if 语句和 for 循环
end 关键字可以用于 if 语句和 for 循环中,如下所示:
a = [0 0 4 4 0 0 0 4 0]; for k = 1:length(a) if a(k) == 0 a(k) = 2; end end
a(k) = 2; 后面的 "end" 表示当条件 a(k) == 0 为真时要执行的代码块的结论。它表示 if 语句中应执行的代码段的结尾。
for 循环中的 end 关键字表示 for 循环代码段的结尾。
使用以下代码检查输出:
使用 End 终止 Switch 块
以下示例显示了如何使用 end 关键字来终止 switch 块
age = 15; switch choice case 1 disp('Age: 15') case 20 disp('Age: 20') otherwise disp('Age not defined') end
使用 End 关键字访问向量的元素
让我们首先创建一个向量,如下所示:
A = [1:20]
执行后的输出为:
>> A = [1:20] A = Columns 1 through 16: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 20: 17 18 19 20
如果您想访问从第 10 个元素到最后一个元素,可以使用 end 关键字,如下所示:
B = A(10:end)
在 matlab 命令窗口中执行上述代码的输出如下:
>> B = A(10:end) B = 10 11 12 13 14 15 16 17 18 19 20
使用 End 关键字访问矩阵的最后一行
让我们首先创建一个矩阵,如下所示
A = magic(3)
在 matlab 命令窗口中执行后的矩阵如下:
>> A = magic(3) A = 8 1 6 3 5 7 4 9 2
现在要获取最后一行,我们可以使用 end 关键字,如下所示:
B = A(end,:)
相同的 B 的输出如下:
>> B = A(end,:) B = 4 9 2
使用 End 关键字访问矩阵的最后一列
我们将使用以下矩阵 A
A = 8 1 6 3 5 7 4 9 2
要获取最后一列,我们可以使用 end 关键字,如下所示:
B = A(:,end)
在 matlab 命令窗口中执行相同的代码,输出为:
>> B = A(:, end) B = 6 7 2