当前位置:服务支持 >  软件文章 >  MATLAB函数使用方法与技巧总结

MATLAB函数使用方法与技巧总结

阅读数 19
点赞 0
article_banner

在matlab中,M文件分为脚本文件和函数文件。如果M文件的第一个可执行语句以function开头,那这个M文件就是函数文件。函数文件内定义的变量为局部变量,只在函数文件内部起作用,当函数文件执行完后,这些内部变量将被清除。函数的主要目的是方便代码的重复多次调用同一段代码


1、基本格式

函数创建格式
function [y1,…,yN] = myfun(x1,…,xM)

说明:

  1. “myfun”的名称必须和文件名称一致,否则会报错。

  2. 此处输入变量和输出变量必须有限个且全部罗列。

  3. 在函数里,对输入变量都要应用,对输出变量都要赋值

function s = asum(a)s=sum(sum(a));


基础知识 --Matlab函数使用总结的图1

斐波那契数列的函数实现

function s = fibonacc(n)if n == 0s = 0;elseif n == 1s = [0 1];elses =zeros(1, n+1);s(1) = 0;s(2) = 1;for i = 2:ns(i+1) = s(i) + s(i-1);endend

基础知识 --Matlab函数使用总结的图2


2、规范化函数文件

推荐函数文件由函数声明行、H1行、在线帮助文本区、编写和修改记录、函数主体等几个部分组成。格式如下:

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

函数声明行由关键字function引导,指明这是一个函数文件,并定义函数名、输入参数和输出参数。

函数名应当与文件名一致(保存函数文件时会默认以函数名作为文件名予以保存),如果两者不一致,MATLAB将以文件名为准,以后调用时使用文件名调用该函数。

在脚本文件中编写函数时,需以end结尾;独立的函数文件不需以end结尾。

MATLAB中的函数文件名必须以字母开头,可以是字母、下划线、数字的任意组合,但不可以超过31个字符。

H1行:紧随函数声明行之后的以“%”开头的第一注释行。H1行包括大写的函数名和函数功能简要描述,采用lookfor命令可在命令行窗口显示H1行的信息。建议在编写H1注释行时,尽量采用英文表述,这是为了之后的使用过程中关键词检索的方便。

在线帮助文本区

包括H1行以及H1行之后的连续的以“%”开头的注释行。通常包括函数输入变量和输出变量的含义以及调用说明。采用help命令可在命令行窗口显示在线帮助文本区的信息。

编写和修改记录

与在线帮助文本区以一个空行相隔。该行以“%”开头,记录了编写及修改函数文件的作者、日期、版本等内容,以方便后来的使用查询或修改。

函数主体

应与编写和修改记录以一个空行相隔。这部分内容包括了所有实现该函数文件功能的MATLAB指令。

function output = calculate(a, b, show)% calculate for calculate the sum of a and b% 输入参数:%   a: 求和变量1%   b: 求和变量2%   show: 是否在命令行输出结果,show=1,输出结果,其他情况不输出% 输出参数:%   output:a和b之和% 调用说明:%   calculate(a,b):求得参数a和b之和%   calculate(a,b,show):求得参数a和b之和,并在命令行输出结果output% 版本号V1.0,编写于2020年10月25号,修改于2020年10月25号,作者:domi
if nargin > 3error('输入变量过多!');elseif nargin == 2show = 0;endoutput = a + b;if show == 1outputend


基础知识 --Matlab函数使用总结的图3

函数参数指令集

nargin:表示一个变量,指定调用函数所带参数的个数

nargout:表示一个变量,指定调用函数所返回的参数的个数


3、Matlab函数文件中全局变量的使用


使用全局变量关键字global% 在函数头部将被调用的变量定义为全局变量global X% 在其它文件需要使用变量X的时候,也在头部表明X为全局变量global X

举个栗子

function s = test(a)global x  % x是全局变量,能够使用函数外的数值s = a + x;

基础知识 --Matlab函数使用总结的图4

文章来源:算法工程师的学习日志


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空