一、脚本
在MATLAB中,M文件便是脚本文件。脚本文件是一串按照用户意愿排列而成的MATLAB指令集合
运行脚本文件(M文件)之后,,其运算过程中产生的所有变量都自动保存在MATLAB工作区中,这些数据可以由clear函数清除
脚本不能返回输出变量,但是其产生的数据可以供后续的计算使用,且能够提供图形输出
二、函数
若M文件的第一个可执行语句以function开始,则该文件就是函数文件,每一个函数文件都定义着一个函数
MATLAB自带的函数命令也大都由类似的函数文件定义
从使用看,函数是一个‘黑箱’,把数据输入进去,加工计算,再把结果输出。
从形式看,函数文件与脚本文件的不同之处在于:脚本文件的变量为命令空间变量,在文件执行后保存在命令工作空间;函数文件内定义的变量为局部变量,只在函数内部起作用,执行完之后内部变量被清除
函数文件通常由以下几部分组成:
- 函数定义行:由关键字function引导,指明这是一个函数文件,并定义函数名、输入参数与输出参数,函数定义行必须为文件的第一个可执行语句,函数名必须与文件名一样,函数名可以带多个参数或者不带参数,举例如下
12function [x,y,z] = sphere(theta,phi,rho)function printresults(x) - H1行:H1行是帮助文本的第一行,是函数定义下的第一行注释行,在lookfor时使用。一般来说,在编制M文件时,应在H1尽可能多的包含该函数的特征信息,尽量采用英文表述
123456789101112131415161718192021>> lookfor averagelocalavfit - Construct "average fit" modelmean - Average or mean value.HueSaturationValueExample - Compute Maximum Average HSV of Images with MapReduceemldemo_navg - Compute the average of every N elements of A and put them in B.affygcrma - Performs GC Robust Multi-array Average (GCRMA) procedure.affyrma - Performs Robust Multi-array Average (RMA) procedures.gcrma - performs GC Robust Multi-array Average (GCRMA) backgroundgcrmabackadj - performs GC Robust Multi-array Average (GCRMA) backgroundaveknt - Knot averages.movavg - Leading and lagging moving averages chart.macd - @FINTS/MACD Moving Average Convergence/Divergence (MACD).tsmovavg - calculates the (weighted) moving average of a vector of data.mbswal - Weighted Average Life of mortgage pool.crossoverintermediate - Weighted average of the parents.gaplotdistance - Averages several samples of distances between individuals.mean2 - Average or mean of matrix elements.averagePooling2dLayer - Average pooling layerelec_getPowerLossSummary - Calculates average power losses from apower_wind_dfig_data - data for detailed and average models of DFIG wind turbine exampleewmaplot - Exponentially weighted moving average chart. - 帮助文本:在函数定义行后面,连续的注释行不仅可以起到解释与提示作用,更重要的是为用户自己的函数文件建立在线查询信息,以供help命令在线查询时用
- 函数体:
- 注释:可放在行尾结束部分,也可另起一行,以%开头
三、M文件的一般结构
- 函数声明行
- H1行
- 在线帮助文本区
- 编写和修改记录
- 函数主体
转载请注明:燕骏博客 » MATLAB自学笔记(十二):MATLAB编程基础3-脚本和函数
赞赏作者微信赞赏支付宝赞赏