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 ...
随机推荐
- 自己实现的sax XML解析,可能会有误
package com.agatha.bean; public class OrderInfoBean { private String order_id; private String room_t ...
- C#设计模式(6)——原型模式
一.概念 二.模型 三.代码实现 ///火影忍者中鸣人的影分身和孙悟空的的变都是原型模式 class Client { static void Main(string[] args) { // 孙悟空 ...
- 转:css中overflow:hidden 不起作用了吗?
css中overflow:hidden 不起作用了吗? 有同学遇到这样的问题,现象是给元素设置了overflow:hidden,但超出容器的部分并没有被隐藏,难道是设置的hidden失效了吗?其实看似 ...
- VB.Net隐式转换和显式转换的方法(转)
VB.Net隐式转换和显式转换的方法(转) “隐式转换”不需要源代码中的任何特殊语法.在下面的示例中,在将 k 的值赋给 q 之前,Visual Basic 将该值隐式转换成单精度浮点值. Dim ...
- IOS开发-UI学习-沙盒机制&文件操作
苹果为软件的运行提供了一个沙盒机制 每个沙盒含有3个文件夹:Documents, Library 和 tmp.因为应用的沙盒机制,应用只能在几个目录下读写文件 Documents:苹果建议将程序中 ...
- UVa 10473 - Simple Base Conversion
题目大意:十进制与十六进制之间的相互转换. #include <cstdio> int main() { #ifdef LOCAL freopen("in", &quo ...
- SVN简明课程
Reference: http://www.cnblogs.com/wangkangluo1/archive/2011/08/11/2135312.html 1. 版本控制介绍 1.1. 什么是版本控 ...
- JavaWeb:EL & JSTL
EL:全名为 Expression Language 1.语法:${sessionScope.user.sex}(从Session 的范围中,取得用户的性别), 所有的EL 都是以 ${ 为起始,以 ...
- ExportExcel
package cn.com.jansh.core.util; import java.awt.print.Book; import java.io.BufferedInputStream; impo ...
- C标准I/O建立一个文件仓库
实现了 增删改查 创建了一个结构体 保存 num name cout price 代码 #include<stdio.h>#include<string.h>#include& ...