0%

MATLAB之程序流程控制与函数

本节主要介绍了MATLAB中函数的定义调用以及三种基本的程序运行结构,以及函数相关的定义与调用。

顺序结构程序

1.文件的建立

  • 用命令按钮创建文件
    image-20221111124011062
  • 用edit命令创建文件:edit 文件名

2.脚本文件与函数文件

  • 脚本文件
    image-20221111125023125

  • 函数文件
    image-20221111125529258

3.数据的输入

  • A=input(提示信息) %此时只能输入数值,不能输入字符串

  • A=input(提示信息,'s') %输入的东西将当成字符串存储起来

    image-20221111141909298

4.数据的输出

  • disp(输出项)

    image-20221111142213387

5.程序的暂停

  • pause(暂停的秒数)

选择结构

  • if语句

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    %输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应
    %的大写字母;若为数字字符则输出对应的数的平方,若为其他字符则原样输出
    c=input('Please enter a char:','s');
    if c>='A' && c<='Z'
    disp('大写字母转小写字母:')
    disp(lower(c))
    elseif c>='a' && c<='z'
    disp("小写字母转大写字母:")
    disp(upper(c))
    elseif c>='0' && c<='9'
    disp("数字字符输出对应的数的平方:")
    disp(str2double(c)^2) %将字符串转化为浮点型
    else
    disp(c)
    end %结束需加end
  • switch语句

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    %PM2.5数值在[0,35)空气质量为优,
    %[35,75)为良,[75,115)为轻度污染,
    % [115,150)为中度污染,
    % [150,250)为重度污染,
    % 大于等于250为严重污染。
    % 编写程序,输入PM2.5数值,输出空气质量等级。
    g=input('请输入PM2.5值:');
    switch fix(g)
    case num2cell(0:34) %将0~34的一个数组整体,变成单个的个体
    disp('空气质量优');
    case num2cell(35:74)
    disp('空气质量良好');
    case num2cell(75:114)
    disp('空气质量轻度污染');
    case num2cell(115:149)
    disp('空气质量中度污染');
    case num2cell(150:249)
    disp('空气质量重度污染');
    otherwise %注意matlab中使用otherwise表示其他
    disp('空气质量严重污染');
    end %也需添加结束符end

循环结构

1.for语句

  • 格式:

    for 循环变量=初值:步长:终值

    循环体语句

    end

  • 例:用蒙特卡洛法求$\pi$

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    %利用蒙特卡洛法求π的近似值
    s=0;
    n=input('输入随机投掷的次数:(次数越多越准确)n=');
    for i=1:n %有点像python中的遍历了
    x=rand(1);
    y=rand(1);
    if x*x+y*y<=1
    s=s+1;
    end
    end
    pai=s/n*4;
    disp(pai)

2.while语句

  • 格式:

    while 条件

    循环体语句

    end

  • 例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    %从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。
    msum=0;
    n=0;
    x=input('Enter a number (end in 0):');
    while x~=0 %x不等于0时
    msum=msum+x;
    n=n+1;
    x=input('Enter a number (end in 0):');
    end %结束符end别忘了
    if n>0
    mean=msum/n;
    end
    disp(msum);
    disp(mean);

函数文件的定义与调用

1.函数文件的基本结构

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

  • return语句表示结束函数的执行。通常在函数文件中也可以不使用return语句,那么被调用函数执行完成后会自动返回

  • 例:

    image-20221111155246922

2.匿名函数

  • 格式:

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

    函数句柄变量=@函数名 %这里的函数名可以是内部函数或自定义函数

  • 例:

    image-20221111160019289

    image-20221111160115764


函数的递归调用

image-20221111162644607


函数参数的可调性

  • nargin:输入实参的个数
  • nargout:输出实参的个数

image-20221111163746681

欢迎来到ssy的世界