本节主要介绍MATLAB函数的编写与调制
主要内容包括:
1.MATLAB 语言函数的基本结构;
2.可变输入输出个数的处理;
3.匿名函数与 inline() 函数;
4.伪代码与代码保密处理代码保密。
MATLAB下提供了两种源程序文件格式。其中一种是普通的ASCII 码构成的文件,在这样的文件中包含一族由MATLAB语言所支持的语句,它类似于DOS 下的批处理文件,这种文件称作M-脚本文件(M-script,本书中将其简称为M-文件),它的执行方式很简单,用户只需在 MATLAB的提示符 >> 下键入该 M-文件的文件名,这样 MATLAB 就会自动执行该M文件中的各条语句。M-文件只能对 MATLAB 工作空间中的数据进行处理,文件中所有语句的执行结果也完全返回到工作空间中。M-文件格式适用于用户所需要立即得到结果的小规模运算。
MATLAB 语言函数的基本结构
MATLAB 的 M-函数是由 function 语句引导的,其基本结构如下:
function [返回变量列表] = 函数名 (输入变量列表)
注释说明语句段,由百分号%引导
输入、返回变量格式的检测
函数体语句
可变输入输出个数的处理
介绍单元数组的一个重要应用 ―― 如何建立起无限个输入或返回变量的函数调用格式。应该指出的是,当前很多 MATLAB 语言函数均采用本方法编写。
匿名函数与 inline() 函数
匿名函数的基本格式为:
f = @(变量列表)函数内容,例如, f = @(x,y)sin(x.^2+y.^2)
伪代码与代码保密处理
MATLAB 的伪代码(pseudo code)技术的目的有两个:一是能提高程序的执行速度,因为采用了伪代码技术,MATLAB将 .m 文件转换成能立即执行的代码,所以在程序实际执行时,省去了再转换的过程,从而能使得程序的速度加快。
1.
编写一个函数生成Hilbert矩阵
要求:
若只给出一个输入参数,则自动生成一个方阵
在函数中给出合适的帮助信息
检测输入和返回变量的个数
2.
conv()可以计算两个多项式的积,时使用varargin实现任意多个多项式的积