选择结构又可以叫做分支结构,它根据给定的条件是否成立,决定程序运行的方向。在不同的条件下执行不同的操作。

MATLAB可以用来实现选择结构的语句有三种:if语句、switch语句、try语句

一.if语句

1.if语句

1.1条件为矩阵的情况

if语句的条件可以是一个矩阵。

如果条件中的矩阵中没有0这个元素,那么表示条件为真;如果有0这个元素,表示条件为假。

 让我们来看一个例子:

如果条件为真时,我们输出字符串条件为真,否则就不输出字符串。

将下面的程序放入脚本文件中:

if [1 2 3 4]disp('条件成立')
end

 

 运行程序后的结果:

如果是矩阵中含有0呢?那是什么情况呢?

if [1 2 3 0]disp('条件成立')
end

 

  运行程序后的结果:

我们会发现命令行窗口中不显示条件成立,表示我们的条件为假。

 1.2条件为数值的情况

与其他编程语言类似,我们通常情况下会将条件语句中的条件设置为一个数值。当条件结果为0时,表示该条件不成立;条件结果为非0时,表示该条件成立,执行if中的语句。

条件成立执行if中的语句;条件不成立执行if语句后面的语句。

我们来看一个例子:如果矩阵中的元素都是整数,那么输出整个矩阵。

x=[10 10 20];
if fix(x)==xdisp(x)
end

 运行脚本后:

1.3if语句的应用 

我们来看一道数学题,输入一个数值后,计算相应的函数值:

这道题目,如何使用if语句实现呢?

 

%第一步输入一个数字
x=input('请输入一个数字:');
%第二步x=10
if x==10y=cos(x+1)+sqrt(x*x+1);%y=cos(x+1)+sqrt(x^2+1)disp(y);%显示函数的数值
end
%第三步x不等于10
if x~=10y=x*sqrt(x+sqrt(x));disp(y)
end

运算结果: 

 

2.if-else语句

if-else语句,若if中的条件为真则执行if中的语句,如果为假则执行else中的语句。

我们来看一个例子,如果输入的数字是1,则显示该数字,否则提示显示错误:

x=input('请输入一个数字:');
if x==1disp(x)
elsedisp('输入错误')
end

运行结果:

 

 那么,对于这道数学题我们使用if-else如何实现呢?

%输入一个数字
x=input('请输入一个数字:');if x==10y=cos(x+1)+sqrt(x*x+1);%y=cos(x+1)+sqrt(x^2+1)disp(y);%显示函数的数值
elsey=x*sqrt(x+sqrt(x));disp(y)
end

运行结果:

3.if-elseif-else语句

输入一个字符,如果是数字,那么就输出它的平方;如果是大写字母,那么就输出该字母的小写字母;如果是小写字母,就输出该字母的大写字母;如果不是数字、大写字母、小写字母,就输出该字符。

ch=input('请输入一个字符:','s');
if ch>='A'&&ch<='Z'disp(lower(ch))
elseif ch>='a'&&ch<='z'disp(upper(ch))
elseif ch>='0'&&ch<='9'disp(str2double(ch)^2)%此处使用str2double函数是为了提高输出效能
elsedisp(ch)
end

运行结果:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86425.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86425.shtml
英文地址,请注明出处:http://en.pswp.cn/web/86425.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ehcache、Caffeine、Spring Cache、Redis、J2Cache、Memcached 和 Guava Cache 的主要区别

主流缓存技术 Ehcache、Caffeine、Spring Cache、Redis、J2Cache、Memcached 和 Guava Cache 的主要区别&#xff0c;涵盖其架构、功能、适用场景和优缺点等方面&#xff1a; Ehcache 类型: 本地缓存&#xff08;JVM 内存缓存&#xff09; 特点: 轻量级&#xff0c;运行在 JV…

谷歌浏览器截图全屏扩展程序

以下是一些支持跟随鼠标滚轮滚动截图的谷歌全屏截图扩展程序插件&#xff1a; GoFullPage&#xff1a;这是一款专门截取整个网页的截图插件。安装后&#xff0c;点击浏览器右上角的图标或使用快捷键AltShiftP&#xff0c;插件就会自动开始滚动并捕获当前访问的网站&#xff0c…

专线服务器具体是指什么?

专线服务器主要是指在互联网或者是局域网中&#xff0c;为特定用户或者是应用程序所提供的专用服务器设备&#xff0c;专线服务器与传统的共享服务器相比较来说&#xff0c;有着更高的安全性和更为稳定的网络连接&#xff0c;下面我们就来共同了解一下专线服务器的具体内容吧&a…

Jenkins JNLP与SSH节点连接方式对比及连接断开问题解决方案

一、JNLP vs SSH 连接方式优缺点对比 对比维度JNLP&#xff08;Java Web Start&#xff09;SSH&#xff08;Secure Shell&#xff09;核心原理代理节点主动连接Jenkins主节点&#xff0c;通过加密通道通信&#xff0c;支持动态资源分配。Jenkins通过SSH协议远程登录代理节点执…

Git - Commit命令

git commit 是 Git 版本控制系统中核心的提交命令&#xff0c;用于将暂存区&#xff08;Stage/Index&#xff09;中的修改&#xff08;或新增/删除的文件&#xff09;永久记录到本地仓库&#xff08;Repository&#xff09;&#xff0c;生成一个新的提交记录&#xff08;Commit…

Android System WebView Canary:探索前沿,体验最新功能

在移动互联网时代&#xff0c;WebView作为Android系统的核心组件之一&#xff0c;承担着在原生应用中显示Web内容的重要任务。它不仅为用户提供了便捷的网页浏览体验&#xff0c;还为开发者提供了强大的混合式开发能力。Android System WebView Canary&#xff08;金丝雀版本&a…

kubernetes架构原理

目录 一. 为什么需要 Kubernetes 1. 对于开发人员 2. 对于运维人员 3. Kubernetes 带来的挑战 二. Kubernetes 架构解析 1. master 节点的组件 2. Node 节点包含的组件 3. kubernetes网络插件 三. kubeadm块速安装kubernetes集群 1. 基础环境准备(此步骤在三个节点都执…

服务器的安装与安全设置 域环境的搭建和管理 Windows基本配置 网络服务常用网络命令的应用 安全管理Windows Server 2019

高等职业教育计算机网络技术专业实训指导书 2025年目 录 实训的目的和意义 实训的具体目标及主要内容 实训完成后需要提交的内容 项目一 服务器的安装与安全设置 项目二 域环境的搭建和管理 项目三 Windows基本配置 项目四 网络服务 项目五 常用网络命令的应用 项目六…

Springcloud解决jar包运行时无法拉取nacos远程配置文件

问题描述 springcloud微服务&#xff0c;在idea中运行代码&#xff0c;能够正常拉去nacos上的配置文件&#xff0c;打包后&#xff0c;通过jar包启动 java -jar xxx.jar&#xff0c;出现错误&#xff1a;java.nio.charset.MalformedlnputException: Input length 1 问题原因…

【Leetcode刷题随笔】01. 两数之和

1. 题目描述 给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素不能使用两遍。 示例: 给定 nums [2, 7, 11,…

【机器学习深度学习】多层神经网络的构成

目录 一、神经网络模型的结构化组成方式 1. 最底层&#xff1a;神经网络模型 (Model) 2. 中间层&#xff1a;单个神经网络层 (Layer) 3. 最顶层&#xff1a;训练参数的细节 (Parameters & Variables) 二、关键理解要点 三、类比理解 场景一&#xff1a;工厂运作 场…

设计模式:揭秘Java原型模式——让复杂对象的创建不再复杂

原型模式 原型模式介绍 定义: 原型模式(Prototype Design Pattern)用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象相同的新对象。 西游记中的孙悟空&#xff0c;拔毛变小猴&#xff0c;孙悟空这种根据自己的形状复制出多个身外化身的技巧&…

Go语言-文件操作

基本介绍 文件是数据源&#xff0c;数据库也是一种特殊的文件。 Go语言中os.File结构体封装了文件的相关操作。 打开和关闭文件 -----打开文件----- file, err : os.Open("D:/111.txt") if err ! nil{fmt.Println("err ", err) }此时file就是一个指针&…

【电力物联网】云–边协同介绍

(꒪ꇴ꒪ )&#xff0c;Hello&#xff0c;我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的技术…

《深入解析 C#(第 4 版)》推荐

《深入解析 C#&#xff08;第 4 版&#xff09;》推荐 在 C# 语言不断演进的技术浪潮中&#xff0c;《深入解析 C#&#xff08;第 4 版&#xff09;》犹如一座灯塔&#xff0c;为开发者照亮探索的道路。无论是经验丰富的老程序员&#xff0c;还是初入 C# 领域的新手&#xff0c…

【网络】Linux 内核优化实战 - net.core.netdev_max_backlog

目录 Linux 内核参数 net.core.netdev_max_backlog 详解一、参数概述二、参数功能与作用2.1 核心功能2.2 网络数据包处理流程 三、查看当前参数值3.1 通过 sysctl 命令3.2 直接读取 /proc/sys 文件 四、修改参数值4.1 临时修改&#xff08;立即生效&#xff0c;重启后失效&…

Nuitka 打包Python程序

文章目录 Nuitka 打包Python程序&#x1f680; **一、Nuitka 核心优势**⚙️ **二、环境准备&#xff08;Windows 示例&#xff09;**&#x1f4e6; **三、基础打包命令****单文件脚本打包****带第三方库的项目** &#x1f6e0;️ **四、高级配置选项****示例&#xff1a;完整命…

自动获取文件的内存大小怎么设置?批量获取文件名和内存大小到Excel中的方法

在对重要数据进行备份或迁移操作前&#xff0c;为确保备份全面无遗漏&#xff0c;且合理规划目标存储设备的空间&#xff0c;会将文件名和内存提取到 Excel。比如&#xff0c;某个部门要将旧电脑中的文件迁移到新服务器&#xff0c;提前整理文件信息&#xff0c;能清晰知道所需…

创建型设计模式——单例模式

单例设计模式 什么是创建型设计模式有哪些创建型设计模式 单例设计模式实现方法饿汉式单例懒汉式单例实现方法 CSDN——C单例模式详解 单例设计模式是一种创建型设计模式 什么是创建型设计模式 创建型设计模式&#xff0c;就是通过控制对象的创建方式来解决设计问题。 有哪…

html 照片环 - 图片的动态3D环绕

html 照片环 - 图片的动态3D环绕 引言一、源码二、图转base64参考链接 引言 效果展示&#xff1a; 一、源码 原始图片的base64编码字符太多了&#xff0c;博客放不下&#xff0c;将图片缩小后的加入html的源码如下&#xff1a; <!DOCTYPE html> <html><hea…