专题三MATLAB程序流程控制-1

简介: 专题三MATLAB程序流程控制

一、顺序结构程序

1、脚本文件和函数文件

  • 脚本文件:可以在命令行窗口直接执行的文件,也叫命令文件。
  • 函数文件:定义一个函数,不能直接执行,而必须以函数调用的方式来调用它。


2、文件的建立

(1)用命令按钮创建

(2)用edit命令创建


(3)例子

脚本文件

  • 建立脚本文件f1.m
  • 在命令行窗口运行脚本文件
  • 函数文件:
  • 建立函数文件f1.m
  • 在命令行窗口调用函数文件


3、顺序结构

(1)数据的输入

A=input()

(2)数据的输出

disp(输出项)


(3) 程序的暂停

pause(延迟秒数),若省略秒数,则直接暂停程序,指导用户按下任意键之后才会继续。

若强行中止程序的运行可以用Ctrl+C。

(4)例子

有一线段AB,A的坐标为(1,1) ,B的坐标为(4.5,4.5),求AB的长度及黄金分割点C的长度。



二、用if语句实现选择结构


1、单分支if语句

  • 语句格式:
    if 条件
    语句组
    end
  • 当条件结果为标量时,非零表示条件成立,零表示条件不成立。
  • 当条件结果为矩阵时,如果矩阵为非空,且不包含零元素,则条件成立,否则不成立。
    例如:[1,2;0,4]表示条件时,条件不成立;[12;3,4]表示条件时,条件成立。


2、双分支if语句

  • 语句格式:
    if 条件
    语句组1
    else
    语句组2
    end
  • 例子:输入一个整数,若为奇数则输出其平方根,否则输出其立方根


3、多分支if语句

  • 语句格式:
    if 条件1
    语句组1
    elseif 条件2
    语句组2

……
elseif 条件m
语句组m
else
语句组n
end

  • 例子:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符,则输出其对应数的平方,若为其他字符则原样输出。


三、用switch语句实现选择结构

1、语句格式

switch 表达式

case 结果表1

语句组1

case 结果表2

语句组2

……

case 结果表m

语句组m

otherwise

语句组n

end


  • switch表达式应该是一个其值可以列举的表达式
  • case结果表为switch表达式的取值,当取值有多个时,用单元数据表示

例子1

输入一个英文单词,判断它是否以元音字母开头


四、用for语句实现循环结构

1、for语句

  • 语句格式:
    for 循环变量=表达式1:表达式2:表达式3
    循环体语句
    end
    (表达式1为初值,表达式2为步长,表达式3为终值)
  • for语句针对向量的每一个元素执行一次循环体。
  • 退出循环之后,循环变量的值就是向量中最后的元素值。
  • 当向量为空时,循环体一次也不执行。


2、例子:求圆周率Π

(1)利用无穷级数展开式求Π的近似值

用向量求和的方式实现程序:


(2)利用定积分的近似值求Π的近似值

(3)利用蒙特卡洛法求Π的近似值


3、for语句更一般的格式

for 循环变量=矩阵表达式

循环体语句

end


执行过程中,是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直到各列元素处理完毕。

例如:

for [1,2,3,4] 执行4次

for [1;2;3;4] 执行1次

目录
相关文章
|
9月前
|
编解码 算法 异构计算
基于FPGA的NC图像质量评估verilog实现,包含testbench和MATLAB辅助验证程序
在Vivado 2019.2和Matlab 2022a中测试的图像质量评估算法展示了效果。该算法基于NC指标,衡量图像与原始图像的相似度,关注分辨率、色彩深度和失真。提供的Verilog代码段用于读取并比较两个BMP文件,计算NC值。
|
4月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
9月前
|
算法 调度
电网两阶段鲁棒优化调度模型(含matlab程序)
电网两阶段鲁棒优化调度模型(含matlab程序)
|
5月前
|
监控 算法 安全
基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序
本项目展示了基于FPGA的火焰识别算法,可在多种应用场景中实时检测火焰。通过颜色模型与边缘检测技术,结合HSV和YCbCr颜色空间,高效提取火焰特征。使用Vivado 2019.2和Matlab 2022a实现算法,并提供仿真结果与测试样本。FPGA平台充分发挥并行处理优势,实现低延迟高吞吐量的火焰检测。项目包含完整代码及操作视频说明。
|
8月前
|
存储 算法 计算机视觉
m基于FPGA的FIR低通滤波器实现和FPGA频谱分析,包含testbench和滤波器系数MATLAB计算程序
在Vivado 2019.2平台上开发的系统,展示了数字低通滤波器和频谱分析的FPGA实现。仿真结果显示滤波效果良好,与MATLAB仿真结果一致。设计基于FPGA的FIR滤波器,利用并行处理和流水线技术提高效率。频谱分析通过离散傅里叶变换实现。提供了Verilog核心程序以示例模块工作原理。
83 4
基于广义Benders分解法的综合能源系统优化规划(matlab程序)
基于广义Benders分解法的综合能源系统优化规划(matlab程序)
|
9月前
|
数据挖掘
考虑时空相关性的风电功率预测误差建模与分析(matlab程序)
考虑时空相关性的风电功率预测误差建模与分析(matlab程序)
|
9月前
|
算法 SoC
基于多目标粒子群算法的配电网储能选址定容(含MATLAB程序)
基于多目标粒子群算法的配电网储能选址定容(含MATLAB程序)
|
9月前
|
算法
考虑源荷不确定性的微网优化(含matlab程序)
考虑源荷不确定性的微网优化(含matlab程序)
基于蒙特卡洛法的电动汽车充电负荷计算matlab程序
基于蒙特卡洛法的电动汽车充电负荷计算matlab程序