matlab中使用elseif和if嵌套的对比
% 目标:
% 判定成绩等级
%定义变量
% 输入:分数grade
%清除变量或指令
clc;
% 允许用户输入参数
disp ('该功能练习if语句');
disp ('输入你的成绩,系统将判定等级. ');
grade = input ('输入分数: '); %根据分数情况讨论
if grade > 95.0 %等级A
disp('你的成绩是A等! ');
elseif grade > 86.0 %等级B
disp('你的成绩是B等! ');
elseif grade > 76.0 %等级C
disp('你的成绩是C等! ');
elseif grade > 66.0 %等级D
disp('你的成绩是D等! ');
else %等级E
disp('你的成绩是E等! ');
end
方法二:使用if 嵌套同样达到成绩判定功能:
% 判定成绩等级
%定义变量
% 输入:分数grade
%清除变量或指令
clc;
% 允许用户输入参数
disp ('该功能练习if语句');
disp ('输入你的成绩,系统将判定等级. ');
grade = input ('输入分数: '); %根据分数情况讨论
if grade > 95.0 %等级A
disp('你的成绩是A等! ');
else
if grade > 86.0 %等级B
disp('你的成绩是B等! ');
else
if grade > 76.0 %等级C
disp('你的成绩是C等! ');
else
if grade > 66.0 %等级D
disp('你的成绩是D等! ');
else %等级E
disp('你的成绩是E等! ');
end
end
end
end
因此,我们可以很显然的看到使用elseif比使用if嵌套更简洁明了,程序可读性更好,也利于调试,所以倾向用elseif
end总是和上一个最近的if匹配,所以,如果在第二种方法中意外丢失一个end时,编译器自己也不容易定位到错误位置,开发人员不得不自己重新排查
因此,推荐多个elseif的从句 ,而少用多个if嵌套的情况
matlab中使用elseif和if嵌套的对比的更多相关文章
- Matlab中函数定义方法
Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件 ...
- matlab中同一文件定义子函数的方法
在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法: 1.嵌套定义 myfunc1会和主函数共享变量名.这种情况 ...
- matlab中disp函数的使用
disp函数直接将内容输出在Matlab命令窗口中, 关键是看disp函数怎么把字符和数字在一起进行显示. matlab中disp()就是屏幕输出函数,类似于c语言中的printf()函数 %%以下是 ...
- MATLAB中的结构数组
MATLAB中的结构数组 结构数组: 结构是包含一组记录的数据类型,而记录则是存储在相应的字段中.结构的字段可以是任意一种MATLAB数据类型的变量或者对象.结构类型的变量也可以是一维的.二维的或多维 ...
- MATLAB中的FOR循环问题
做量化操作的时候经常需要使用到matlab编写策略或者计算多因子,for循环非常慢,自己找了一些matlab中for循环的优化方法,for的部分每处理一个大矩阵都要花费大量的时间,这是不可避免需要遇到 ...
- matlab中help所有函数功能的英文翻译
doc funname 在帮助浏览器中打开帮助文档 help funname 在命令窗口打开帮助文档 helpbrowser 直接打开帮助浏览器 lookfor funname 搜索某个关键字相关函数 ...
- $ 一步一步学Matlab(3)——Matlab中的数据类型
小学时候我们就知道,数学中有自然数.整数.分数.小数等等很多种类型的数.到了中学,我们又发现了其实还有无理数.复数这些有些特殊的数.到了大学学了高等数学之后,我们又知道了其实还存在着无穷大.无穷小这样 ...
- Matlab 中实用数据结构之 containers.Map
概要 熟悉 Python 的都知道字典 Dict 类型数据结构功能的强大,Matlab 中虽然有表结构,但是其列名必须是亦变量名类型的字符串,如果我想用数字开头的字符串作键值,其表结构就无能为力了 ...
- Matlab 中 Data-driven 风格的 API 设计
设计 所谓 data-driven API,指的是用户可以把"操作"作为参数,传入函数,像下面这种: stream = dataStream('load', 'example.cs ...
随机推荐
- CSS 弹性盒子布局
学习地址:https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Flexible_Box_Layout
- libusb 开发者指南-牛胜超(转)
源:libusb 开发者指南 libusb Developers Guidelibusb 开发者指南 原作者:Johannes Erdfelt翻译者:牛胜超 Table of Contents目录 P ...
- UVa 594 - One Little, Two Little, Three Little Endians
题目大意:大小端模式的转换.所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中.与此相对,所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内 ...
- spring mvc自定义注解--登录时密码加密注解
1,定义注解名称接口 /** * 使用该注解不用再MD5转换了 * * @author adonis * */ @Target(ElementType.PARAMETER) @Retention(Re ...
- DevExpress控件学习总结2(转)
1.TextEditor(barEditItem)取文本string editValue = barEditItem1.EditValue.ToString(); //错误,返回null string ...
- iOS 之 设置控件在视图中心位置
_qrImgView.bounds = CGRectMake(0, 0, sizeImg, sizeImg); _qrImgView.center = CGPointMake(CGRectGetWid ...
- 十二生肖&天干地支
看相:http://baike.baidu.com/view/833122.htm?fr=aladdin 八字:http://baike.baidu.com/view/17127.htm?fr=ala ...
- jQuery按键事件响应的Demo
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- redhat6 + 11G RAC 双节点部署
一.配置网络环境 node1 [root@node1 ~]#vi/etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME= ...
- Cisco VPN Client Error 56解决
Cisco VPN Client Error 56解决 VPN Client报错 650) this.width=650;" style="width:575px;height:1 ...