• MATLAB的M文件


    M文件可分为脚本M文件(简称脚本文件)函数M文件(简称函数文件)两大类,其特点和适用领域均不同。

    脚本文件

    脚本文件是由MATLAB语句构成的文本文件,以.m为扩展名。运行命令文件的效果等价于从MATLAB命令窗口中按顺序逐条输入并运行文件中的指令,类似于DOS下的批处理文件。脚本文件运行过程所产生的变量保留在MATLAB的工作空间中,脚本文件也可以访问MATLAB当前工作空间的变量,其他脚本文件和函数可以共享这些变量。因此,脚本文件常用于主程序的设计。

    例题

    编写脚本文件,对数a、b、c进行排序,并按从大到小的顺序输出。

    % compareABC.m
    a = input("Enter a:");
    b = input("Enter b:");
    c = input("Enter c:");
    
    sort([a,b,c],'descend')
    

    image.png

    1. 选择好工作目录
    2. 新建一个脚本文件命名为compareABC.m
    3. 在脚本文件中编写代码
    4. 点击运行按钮
    5. 在命令行窗口作输入输出
    6. 查看工作区的变量情况

    函数文件**

    函数文件是M文件的另一种类型,它也是由MATLAB语句构成的文本文件,并以.m为扩展名MATLAB的函数文件必须以关键字function语句引导,其基本结构如下:

    function [返回参数1,返回参数2,....] = 函数名(输入参数1,输入参数2,...)
    % 注释说明语句段,由%引导
    输入、返回变量格式的检测语句
    函数体语句
    

    函数文件具有如下特点。
    (1)函数名由读者自定义,与变量的命名规则相同。
    (2)保存的文件名必须与定义的函数名一致。
    (3)读者可通过返回参数及输入参数来实现函数参数的传递,但返回参数和输入参数并不是必须的。返回参数如果多于1个,则应该用中括号“[]”将它们括起来;输入参数列表必须用小括号“()”括起来,即使只有一个输入参数。
    (4)注释语句段的每行语句都应该用%引导,%后面的内容不执行。用户可用help命令显示出注释语句的内容,用于函数使用前的信息参考。
    (5)如果函数较复杂,则正规的参数格式检测是必要的。如果输入或返回参数格式不正确,则应该给出相应的提示。
    (6)函数中输入和返回参数的实际个数分别有MATLAB内部保留变量nargin和nargour给出,只要运行了该函数,MATLAB将自动生成这两个变量,因此用户编程时可直接使用。
    (7)与一般高级语言不同的是,函数文件末尾处不需要使用end命令。

    例题

    编写函数文件,实现一个n行m列矩阵,使得该矩阵第i行第j列元素值为1/(i+j-1)。要求在编写的函数中实现如下几点:
    (1)如果只给出一个输入,则会自动生成一个方阵;
    (2)在函数中给出合适的注释信息;
    (3)检测输入和返回变量的个数,如果有错误则给出错误信息。

    % makeMatrix.m   函数文件
    function A = makeMatrix(n, m)
    % makeMatrix 
    % 实现一个n行m列矩阵,使得该矩阵第i行第j列元素值为1/(i+j-1)
    % A = makeMatrix(n,m) 创建一个n行m列矩阵
    % A = makeMatrix(n) 创建一个n阶方阵
    
    if nargout > 1
       error('Too many output arguments!');
    end 
    if nargin == 1
        m = n;
    elseif (nargin ==0) ||(nargin > 2)
        error('Wrong number of input arguments!');
    end
        A = zeros(n,m);
    for i = 1:n
        for j = 1:m
            A(i,j) = 1/(i+j-1);
        end
    end
    end
    
    
    
    % callfunction.m 脚本文件
    A = makeMatrix(2,3); %调用函数
    disp(A)
    

    image.png

  • 相关阅读:
    ZooKeeper简介
    Kylin简介
    MVC之Ajax
    mvc扩展HtmlHelper功能
    history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
    在ASP.NET MVC中,使用Bundle来打包压缩js和css
    OAuth的MVC实现(微软)
    自定义Exception:MVC抛出自定义异常,并以Json方式返回
    Ubuntu 下常用命令
    科技界、IT届的外号
  • 原文地址:https://www.cnblogs.com/sinlearn/p/12908665.html
Copyright © 2020-2023  润新知