MATLAB入门到精通(三)

专题三 MATLAB程序流程控制

在MATLAB中,程序文件的扩展名为.m,所有程序文件也成为m文件。

程序文件分为脚本文件和函数文件,其中国脚本文件是可以在命令行窗口直接执行的文件,也叫命令文件。

函数文件是定义一个函数,不能直接执行,必须以函数调用的方式来调用它。

文件的建立

  1. 用命令按钮创建文件。

在这里插入图片描述

  1. 用edit命令创建文件

    >>edit test
    

    在当前文件夹下创建了一个test.m的文件,输入并打开matlab进行编辑

3.1 顺序结构程序
  1. 数据的输入

    A=input(“请输入变量A的值”);

  2. 数据的输出

    disp(输出项)

  3. 程序的暂停

    pause(延迟秒数)

    若要强行终止程序的运行可以使用Ctrl+C命令

3.2 用if语句实现选择结构
  1. 单分支if语句

    语句格式:

    if 条件

    ​ 语句组

    end

    当条件是标量时,非0表示条件成立,0表示条件不成立。

    当条件是矩阵时,如果矩阵非空且不包含零元素,则条件成立否则不成立

  2. 双分支if语句

    语句格式:

    if 条件

    ​ 语句组1

    else

    ​ 语句组2

    end

  3. 多分支if语句

    语句格式:

    if 条件1

    ​ 语句组1

    else if 条件2

    ​ 语句组2

    ……

    elseif 条件m

    ​ 语句组m

    else

    ​ 语句组n

    end

3.3 用switch语句实现选择结构

语句格式:

switch 表达式

​ case 结果表达式1

​ 语句组1

​ case 结果表达式2

​ 语句组2

​ ……

​ case 结果表达式m

​ 语句组m

​ otherwise

​ 语句组n

end

switch表达式应该是一个其值可以列举的表达式

case结果表为switch表达式的取值,当取值有多个时,用单元数据表示。

3.4 用for语句实现循环结构

格式:

​ for 循环变量=表达式1:表达式2:表达式3

​ 循环体语句

​ end

表达式1的值为初值,表达式2的值为步长,表达式3的值为终值

for语句针对向量的每一个元素执行一次循环体

退出循环后,循环变量的值就是向量中最后的元素值

当向量为空时,循环体一次也不执行

按照MATLAB的定义,for语句的循环变量也可以是一个列向量,其格式为:

for循环变量=矩阵表达式

​ 循环体语句

end

3.5 用while语句实现循环结构

格式:

while 条件

​ 循环体语句

end

break和continue语句:

break语句用来跳出循环体,结束整个循环。

continue语句用来结束本次循环,接着进行下一次是否执行循环的判断。

循环的嵌套

如果一个循环结构的循环体又包含一个循环结构,就称为循环的嵌套,或称为多重循环结构。

3.6 函数文件的定义与调用

函数文件的基本结构

function 输出形参表=函数名(输入形参表)

注释说明部分

函数体语句

当有多个形参时,形参之间用逗号分隔,组成形参表。当输出形参多于一个时,应该用方括号括起来,构成一个输出矩阵。

函数文件名通常由函数名再加上扩展名m组成,函数文件名与函数名也可以不相同。

举例:编写函数文件,求半径为r的圆的面积和周长。

function [s,p]=fcircle(r)
s=pi*r*r;
p=2*pi*r;

函数调用

调用格式:

[输出实参表]=函数名[输入实参表]

在调用函数时,函数输入输出参数称为实际参数,简称实参。

我们在MATLAB命令行窗口调用前面的fcircle函数

>>[s,p]=fcircle(10)

匿名函数

基本格式:

函数句柄变量=@(匿名函数输入参数)匿名函数表达式

函数句柄变量相当于这个匿名函数的别名,@是创建这个句柄函数的运算符

在这里插入图片描述

除了可以给函数表达式定义函数句柄,我们也可以给已存在的函数定义函数句柄,并利用函数句柄来调用函数。

在这里插入图片描述

3.7 函数的递归调用

如果在一个函数的定义中调用了其他函数,这就是函数的嵌套调用,如果调用的函数是自己本身称为函数的递归调用。

  • 直接递归调用

    在一个函数中直接调用这个函数本身

  • 间接递归调用

    通过嵌套调用其他函数,在其他函数中又调用这个函数本身

3.8 函数参数用与变量的作用域

函数参数的可调性

在调用函数时,MATLAN有两个预定义变量:

nargin:输入实参的个数

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

局部变量:在程序中只在特定过程或函数中可以访问的变量

全局变量:作用域是整个MATLAB工作空间,也就是全程有效,所有的函数都可以对它进行存取和修改

全局变量定义格式:global 变量名

在这里插入图片描述

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值