专题三MATLAB程序流程控制

专题三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
  • 例子:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符,则输出其对应数的平方,若为其他字符则原样输出。ype_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70)

三、用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次
在这里插入图片描述

五、用while语句实现循环结构

1、语句格式

while 条件
循环体语句
end
(while语句多用于循环次数不确定的情况,而对于循环次数确定的情况,用for语句更方便)

  • 例子:从键盘输入若干个数,当输入0时候结束,求这些数的和,以及平均数
    在这里插入图片描述

2、break语句和continue语句

break语句用来跳出循环体,结束整个循环。
continue语句用来结束本次循环,接着进行下一次是否执行循环的判断。
例:求[100,200]之间第一个能被21整除的整数
在这里插入图片描述

3、循环的嵌套

例:用筛选法求出某自然数范围内的全部素数
在这里插入图片描述
在这里插入图片描述

六、函数文件的定义与调用

1、函数文件的基本结构

function 输出形参表=函数名(输入形参表)
注释说明部分
函数体语句
(当有多个形参时,形参之间用逗号分隔,组成形参表。当输出形参表多于一个时,应该用方括号括起来,构成一个输出矩阵)

2、函数调用

  • 调用格式
    [输出实参表]=函数名(输入实参表)
    (在调用函数时,函数输入输出参数称为实参。)
    例子:编写函数文件,求半径为r的圆的面积和周长
    在这里插入图片描述

3、匿名函数

基本格式

  • 函数句柄变量=@(匿名函数输入参数)匿名函数表达式
    在这里插入图片描述
  • 函数句柄变量=@函数名
    (函数名为内部函数或者自定义函数)
    在这里插入图片描述

4、例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、函数的递归调用

1、函数的嵌套调用

在函数的定义中调用其他的函数,即函数的嵌套调用。

2、函数的递归调用

若函数调用它自身,则称为函数的递归调用。如:
function f=fact(n)
……
fact(n-1)
……
(1)直接递归调用
在这里插入图片描述
(2)间接递归调用
在这里插入图片描述
(3)例1:利用函数的递归调用,求n!
在这里插入图片描述
在这里插入图片描述
(2)验证斐波那契数列的性质
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、函数参数与变量的作用域

1、函数参数的可调性

nargin——输入实参的个数
nargout——输出实参的个数
例子:
在这里插入图片描述

2、全局变量和局部变量

  • 局部变量:在程序中只在特定过程或函数中可以访问的变量
  • 全局变量:作用域是整个MATLAB 工作空间,全程有效,所有的函数都可以对它进行存取和修改。
    定义格式:global 变量名
    在这里插入图片描述

九、总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲谈社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值