函数是可以获取输入参数并返回输出参数的M文件。 M文件的名称和函数应相同。函数在其自己的工作空间(也称为本地工作空间)中的变量上执行, 与你在MATLAB命令提示符下访问的工作空间(称为基本工作空间)分开。

函数文件就像FORTRAN中的程序或子例程, PASCAL中的操作, 以及C中的函数。

函数文件以函数定义行开头, 该行具有定义明确的输入和输出记录。没有此行, 文件将开发为脚本文件。

句法

function [output variables] =function_name(input variables);

其中function_name必须与用于写入函数的文件名(不带.m扩展名)相同。例如, 如果函数的名称为projectile, 则必须将其编写并存储在名为projectile.m的文件中。函数定义行看起来略有不同, 具体取决于是否没有输出, 单个输出还是多个输出。

例子

Function Definition LineFile Name

function [rho, H, F]=motion(x, y, t);motion.m

function [theta] = angleTH(x, y);angleTH.m

function theta=THETA(x, y, z);THETA.m

function []=circle (r);circle.m

function circle (r);circle.m

M文件函数剖析

这个简单的函数介绍了M文件的基本部分。

function f = fact(n) Function definition line

% Compute a factorial value. H1 line

% FACT(N) returns the factorial of N, Help text

% generally indicated by N!

% put simply, FACT(N) is PROD(1:N). Comment

f = prod(1:n); Function body

下表简要定义了每个M文件部分。函数和脚本都可以具有所有这些元素, 但函数定义行仅适用于函数。

M文件元素

Description

函数定义行(仅函数)

它定义了函数名称, 以及输入和输出参数的数量和顺序。

H1 line

程序的单行摘要定义, 当你在整个目录上请求帮助或使用lookfor时显示。

Help text

程序的更详细定义, 当你请求特定函数的帮助时与H1行一起显示

函数或脚本主体

执行实际评估并将值分配给任何输出参数的程序代码。

Comments

程序主体中描述程序内部工作的文本。

函数定义行

函数定义行通知MATLAB M文件包含函数, 并指定函数的参数调用顺序。事实函数的函数定义行是

函数名称

函数名称以字母开头, 并且包括字母数字字符和下划线, 或者它的长度不得超过最大长度(由函数名lengthmax返回)。因为变量必须具有相同的规则, 所以我们可以使用isvarname函数来分析函数名称是否有效:

isvarname myfun

包含MATLAB函数的文本文件的名称由带有扩展名.m的函数名称组成。例如,

average.m

如果文件名和函数定义行名称不同, 则忽略内部(函数)名称。因此, 如果average.m是定义名为computeAverage的函数的文件, 我们将通过键入以下内容来调用该函数

average

函数参数

如果函数具有多个输出值, 请将输出参数列表括在方括号中。输入参数放在函数名称后的括号内。使用逗号分隔多个输入或输出参数。这是具有三个输入和三个输出的函数名称范围的声明:

functions [x, y, z] = sphere(theta, phi, rho)

If there is no outputs, leave output blank

function printresults(x)

or use empty square brackets:

function [] = printresults(x)

H1线

H1行是第一条帮助文本行, 是紧随函数定义行之后的注释行。因为它由注释文本组成, 所以H1行以百分号%开头。对于平均函数, H1线是

% AVERAGE Mean of vector elements.

这是用户在MATLAB提示符下键入help function_name时出现的文本的第一行。此外, lookfor函数搜索并仅显示H1行。由于此行提供了有关M文件的基本摘要信息, 因此有必要使其具有尽可能的描述性。

帮助文字

我们可以通过在M文件程序的开头在一个或多个连续的注释行上输入帮助文本来为M文件创建在线帮助。 MATLAB将检查紧随H1线之后, 以%开头的第一组连续行, 以作为该函数的在线帮助文​​本。没有%作为最左边的字符的第一行将结束帮助。

平均函数的帮助文本为

% AVERAGE(X), where X is the vector, is the mean of vector items.

% Nonvector input results in an error.

当我们在命令提示符下键入help function_name时, MATLAB将显示H1行, 然后显示这些函数的在线帮助文​​本。帮助系统将忽略此帮助块之后出现的任何注释行。

函数或脚本主体

函数主体包括执行计算并为输出参数分配值的所有MATLAB代码。函数体中的语句可以包含函数调用, 流控制语句和交互式输入和输出之类的编程方法, 评估, 赋值, 注释和空白行。

例如, 平均函数的主体包括许多简单的编程语句:

[m, n] = size(x);

if (~((m == 1) | (n == 1)) | (m == 1 & n == 1)) % Flow control error('Input must be a vector') % Error message displays

end

y = sum(x)/length(x); % Calculation and assignment

注释

注释行以百分号(%)开头。注释行可以出现在M文件的任何位置, 并且我们可以在代码行的末尾附加注释。例如,

%将所有向量元素相加。

y = sum(x)%使用求和函数。

除了注释行, 我们还可以在M文件中的任何位置插入空白行。空行将被忽略。但是, 空行可以表示M文件帮助文本条目的结尾。

matlab help函数用法,MATLAB函数用法相关推荐

  1. matlab repmate,MATLAB中“repmat”与“cat”函数的用法

    MATLAB中"repmat"与"cat"函数的用法 1. repmat函数 >> z=repmat(5,2,3) z = 5 5 5 5 5 5 ...

  2. matlab中find()函数用法

    一.基本用法 返回矩阵或向量中非零元素的索引 注意:matlab中下标从1开始 举例: (1)向量 返回非零元素下标 find(vector) x=[1 2 3 0 0 6 7 8 9]; find( ...

  3. matlab 调整灰度,matlab灰度图像调整及imadjust函数的用法详解

    matlab--imadjust函数作用: 对进行图像的灰度变换,即调节灰度图像的亮度或彩色图像的颜色矩阵 在MATLAB中,通过函数imadjust()进行图像灰度的调整,该函数调用格式如下: J= ...

  4. matlab fopen函数的用法,matlab中关于fread函数的用法

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中关于fread函数的用法 问题详情:用fread打开一个时,需要不需要把开放在某个特回答:必须在Matlab可以搜索的 ...

  5. matlab中bitget函数用法_Matlab函数大全

    目录 1.时间日期函数................................ ................................ ....................... ...

  6. MATLAB中var函数,mean函数的含义及用法详细解释

    MATLAB中var函数,mean函数的含义及用法详细解释 var函数语句 我们先来看var函数,MATLAB命令窗输入help var ,可以得到用到方差函数Syntax有: V = var(X); ...

  7. matlab中的fix,matlab fix函数用法

    matlab fix(x)和floor(x)的区别? 1)fix(n)的意义是取小于n的整数(是向零点舍入的意思是往零的方向上靠),这是一类应用在整数取值上的函数,就如同以前我们所研究的CSS布局HT ...

  8. matlab函数im2bw_im2bw(matlab中im2bw用法)

    MATLAB使用im2bw函数后,将一个32*16*3 unit的数组变成了31*10 的数组,. graythresh函数用法:使用最大类间方差法找到图片的一个合适的阈值(threshold).在使 ...

  9. matlab fspecial用法,Matlab 的fspecial函数用法

    Matlab 的fspecial函数用法 fspecial函数用于建立预定义的滤波算子,其语法格式为: h = fspecial(type) h = fspecial(type,para) 其中typ ...

  10. matlab中 trapz函数,trapz(matlab中trapz函数用法)

    采用梯形法求积分 下面两种用法等效 h=pi/200; t=0:h:pi/2; y=sin(t)+cos(2*t); z1=trapz(t,y) z2=trapz(y)*h z1 = 1.0000 z ...

最新文章

  1. Activity与Fragment的生命周期详解
  2. Java虚拟机——类加载机制
  3. 简明代码介绍类激活图CAM, GradCAM, GradCAM++
  4. js,html条码生成
  5. cacti安装FAQ
  6. 笔记--Spring in action
  7. html表ge模板_猿进化系列10——一文学会动态模板的套路
  8. eclipse图标含义
  9. Office online server 部署
  10. 数据结构笔记(二十一)--二叉树的遍历
  11. cisco端口排错步骤
  12. 手机wps可以写html吗,如何在手机版WPS Office文档中插入文本框
  13. 双绞线与计算机连接的接口是,rj45网络双绞线4根线接法详解
  14. oracle+归档时间设置,oracle 归档设置
  15. 人工智能轨道交通行业周刊-第12期(2022.8.29-9.4)
  16. 阿里某新员工感慨:入职阿里三个月生活一团糟,天天想离职
  17. nginx事件模型小结
  18. 编程王 kingofcoders.com
  19. java excel 多列排序_java poi处理excel多sheet并实现排序
  20. CSS中的z-index属性的使用

热门文章

  1. OpenSSH 搭建 SFTP 服务器
  2. 8款超好用的SVG编辑工具用起来
  3. mysql忘记密码怎样重置
  4. matlab振荡环节相频特性,自动控制理论—典型环节的频率特性
  5. python九九乘法表代码
  6. JAVA实现杨辉三角的三种方式
  7. java springboot房地产信息管理系统
  8. Matlab RRT算法三维轨迹规划及贪心算法轨迹优化
  9. 10个资源满满的网站,偷偷收藏起来吧!
  10. pcs7组态虚拟机中的服务器,pcs7组态虚拟机中的服务器(ECS700无法连接到组态服务器)...